diff --git a/.gitmodules b/.gitmodules index a2dbf441..9aeab7b1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,8 @@ [submodule "cadline/backend/common_cadline_libraries"] path = cadline/backend/common_cadline_libraries url = ssh://git@git.cadline.hu:22222/cadline_web/cadcommonlib.git + branch = master [submodule "cadline/backend/maintenance"] path = cadline/backend/maintenance url = ssh://git@git.cadline.hu:22222/cadline_web/maintenance.git + branch = master diff --git a/cadline/backend/common_cadline_libraries b/cadline/backend/common_cadline_libraries index 423fec9b..6bd9cb2e 160000 --- a/cadline/backend/common_cadline_libraries +++ b/cadline/backend/common_cadline_libraries @@ -1 +1 @@ -Subproject commit 423fec9b929b381339d71623fc621a998a6e3e0f +Subproject commit 6bd9cb2e1c0844e57fa9cad83ba2baa6e056418d diff --git a/cadline/backend/maintenance b/cadline/backend/maintenance index 11f1a543..7e803623 160000 --- a/cadline/backend/maintenance +++ b/cadline/backend/maintenance @@ -1 +1 @@ -Subproject commit 11f1a543340bb7a2f03c3647dca03b7bd79783d0 +Subproject commit 7e8036235b05d493363791b46bb2ebdc33bb5f2e diff --git a/cadline/components/administrator/components/com_alworkshops/alworkshops.xml b/cadline/components/administrator/components/com_alworkshops/alworkshops.xml index 67681758..67953783 100644 --- a/cadline/components/administrator/components/com_alworkshops/alworkshops.xml +++ b/cadline/components/administrator/components/com_alworkshops/alworkshops.xml @@ -1,49 +1,49 @@ - - - com_alworkshops - 2017-04-14 - 2017 Zsolt Fekete - GNU General Public License version 2 or later; see LICENSE.txt - Zsolt Fekete - mcleod78@gmail.com - https://www.facebook.com/mcleod78 - CVS: 1.0.0 - Manage workshops - - - COM_ALWORKSHOPS - - COM_ALWORKSHOPS_CONTROL_PANEL_HELP - COM_ALWORKSHOPS_APPLICATIONS - COM_ALWORKSHOPS_COURSES - COM_ALWORKSHOPS_SESSIONS - COM_ALWORKSHOPS_SWITCH - COM_ALWORKSHOPS_ONLINE_SESSIONS - - - - access.xml - config.xml - controller.php - index.html - alworkshops.php - assets - helpers - models - views - - - en-GB/en-GB.com_alworkshops.ini - en-GB/en-GB.com_alworkshops.sys.ini - hu-HU/hu-HU.com_alworkshops.ini - hu-HU/hu-HU.com_alworkshops.sys.ini - - - - -
- -
-
-
-
+ + + com_alworkshops + 2017-04-14 + 2017 Zsolt Fekete + GNU General Public License version 2 or later; see LICENSE.txt + Zsolt Fekete + mcleod78@gmail.com + https://www.facebook.com/mcleod78 + CVS: 1.0.0 + Manage workshops + + + COM_ALWORKSHOPS + + COM_ALWORKSHOPS_CONTROL_PANEL_HELP + COM_ALWORKSHOPS_APPLICATIONS + COM_ALWORKSHOPS_COURSES + COM_ALWORKSHOPS_SESSIONS + COM_ALWORKSHOPS_SWITCH + COM_ALWORKSHOPS_ONLINE_SESSIONS + + + + access.xml + config.xml + controller.php + index.html + alworkshops.php + assets + helpers + models + views + + + en-GB/en-GB.com_alworkshops.ini + en-GB/en-GB.com_alworkshops.sys.ini + hu-HU/hu-HU.com_alworkshops.ini + hu-HU/hu-HU.com_alworkshops.sys.ini + + + + +
+ +
+
+
+
diff --git a/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxEducationController.class.php b/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxEducationController.class.php index f33c26be..904a9519 100644 --- a/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxEducationController.class.php +++ b/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxEducationController.class.php @@ -1,95 +1,95 @@ -pf]["_POST"] = $_POST; - if (!isset($_SESSION[$this->pf]['tableorder']) || trim($_SESSION[$this->pf]['tableorder']) == '') $_SESSION[$this->pf]['tableorder'] = 's.id DESC'; - - $se = &$_SESSION[$this->pf]['_POST']; - $felt = " AND `lang`='" . ($this->getLang() == 'hu-HU' ? 'hun' : 'eng') . "' "; - $arrIcons = array( - 'smallEnable' => array("onclick" => "javascript:if (confirm('Are you sure?')) {setField('','" . $this->pf . "_event','disable','" . $this->targetdiv . "');setField('" . $this->pf . "','" . $this->pf . "_value','REPLACE','" . $this->targetdiv . "');}", "img" => IconHelper::getIcon("smallEnable")), - 'smallDisable' => array("onclick" => "javascript:if (confirm('Are you sure?')) {setField('','" . $this->pf . "_event','enable','" . $this->targetdiv . "');setField('" . $this->pf . "','" . $this->pf . "_value','REPLACE','" . $this->targetdiv . "');}", 'img' => IconHelper::getIcon("smallDisable")), - 'smallEdit' => array("href" => "index.php?option=com_alworkshops&view=educationedit&id=REPLACE", "img" => IconHelper::getIcon("smallEdit"), "linkjoin" => "id", "alttext" => "Edit"), - ); - $_LANG = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . "/administrator/language/" . $this->getLang() . "/" . $this->getLang() . ".com_alworkshops.ini"); - - if (isset($_POST[$this->pf . '_event']) and trim($_POST[$this->pf . '_event']) > '') { - $event = trim(strtolower(addslashes((string)$_POST[$this->pf . '_event']))); - $value = trim(strtolower(addslashes((string)$_POST[$this->pf . '_value']))); - if ((int)$value > 0) { - switch ($event) { - case 'enable': { - MySqlHelper::getInstance()->query("UPDATE " . TABLE . " SET published='Y' WHERE id=" . $value); - break; - } - case 'disable': { - MySqlHelper::getInstance()->query("UPDATE " . TABLE . " SET published='N' WHERE id=" . $value); - break; - } - } - } - } - - if (isset($se['sid']) && $se['sid'] > "") { - if (strpos($se['sid'], "-")) { - $reszek = explode("-", $se['sid']); - $felt .= ((int)$reszek[0] < (int)$reszek[1] ? " AND id>=" . (int)$reszek[0] . " AND id<=" . (int)$reszek[1] : " AND id>=" . (int)$reszek[1] . " AND id<=" . (int)$reszek[0]); - } else { - $felt .= " AND id=" . (int)$se['sid']; - } - } - if (isset($se['tipus']) && $se['tipus'] != 'mind') $felt .= " AND `" . $se['tipus'] . "`='Y'"; - if (isset($se['alias']) && $se['alias'] > "") $felt .= " AND alias LIKE '%" . trim($se['alias']) . "%' "; - - $objTabla = new TableHelper(); - $objTabla->setParams(array('prefix' => $this->pf, 'tablewidth' => '100%', 'tablediv' => 'tablediv')); - $v = $objTabla->setSession(); - $objTabla->setColumn('id', array('header' => $_LANG['COM_ALWORKSHOPS_ID'], 'width' => '40px', 'format' => 'number', 'decimal' => 0, 'link' => 'index.php?option=com_alworkshops&view=educationedit&id=REPLACE')); - $objTabla->setColumn('options', array('header' => $_LANG['COM_ALWORKSHOPS_OPTIONS'], 'align' => 'right', 'width' => '70px', 'order' => false, 'addicons' => $arrIcons, 'linkjoin' => 'id')); - $objTabla->setQuery(array( - " - SELECT id, title, url, image, published, CONCAT(IF(published='N','smallDisable','smallEnable'),'|','smallEdit') AS options FROM " . TABLE . " s WHERE 1 " . $felt - . ((isset($v['tableorder']) and $v['tableorder'] > '') ? ' ORDER BY ' . $v['tableorder'] : '') - . ((isset($v['tableipp'])) ? ' LIMIT ' . ($v['tableipp'] > 0 ? ($v['tablepage'] - 1) * $v['tableipp'] : 0) . ',' . $v['tableipp'] : ''), " - SELECT COUNT(*) AS recordCount - FROM ( - SELECT id, title, url, image, published, CONCAT(IF(published='N','smallDisable','smallEnable'),'|','smallEdit') AS options FROM " . TABLE . " s WHERE 1 " . $felt . ") z;" - )); - //print_r($objTabla->arrQuery); - $objTabla->drawTable(TRUE); - } - - public function getLang() - { - if (!isset($this->lang)) { - $this->lang = (strpos($_SERVER['HTTP_HOST'], ".com") ? "en-GB" : "hu-HU"); - } - return $this->lang; - } -} - -$controller = new Controller(); -$controller->run(); -?> - - \ No newline at end of file diff --git a/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxOnlineSessionController.class.php b/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxOnlineSessionController.class.php index 189ce8ed..6e26224b 100644 --- a/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxOnlineSessionController.class.php +++ b/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxOnlineSessionController.class.php @@ -1,130 +1,130 @@ -pf]["_POST"]=$_POST; - if (isset($_POST['targetdiv'])) $this->targetdiv=$_POST['targetdiv']; - if (!isset($_SESSION[$this->pf]['tableorder']) || trim($_SESSION[$this->pf]['tableorder'])=='' ) $_SESSION[$this->pf]['tableorder']='s.id DESC'; - - $se=&$_SESSION[$this->pf]['_POST']; - - if($this->getLang() == 'hu-HU') { - $webinar = "webinariumok"; - } else { - $webinar = "webinars"; - } - $felt=" AND c.`alias`='{$webinar}' "; - - $arrIcons=array( - 'smallEnable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','disable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}","img"=>IconHelper::getIcon("smallEnable") ), - 'smallDisable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','enable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}",'img'=>IconHelper::getIcon("smallDisable") ), - 'smallEdit'=>array("href"=>"index.php?option=com_alworkshops&view=onlinesessionedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"id","alttext"=>"Edit" ), - ); - $_LANG=parse_ini_file($_SERVER['DOCUMENT_ROOT']."/administrator/language/".$this->getLang()."/".$this->getLang().".com_alworkshops.ini"); - - if (isset($_POST[$this->pf.'_event']) and trim($_POST[$this->pf.'_event'])>'') - { - $event=trim(strtolower(addslashes((string)$_POST[$this->pf.'_event']))); - $value=trim(strtolower(addslashes((string)$_POST[$this->pf.'_value']))); - if ((int)$value>0) - { - switch ($event) - { - case 'enable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='Y' WHERE id=".$value);break; } - case 'disable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='N' WHERE id=".$value);break; } - } - } - } - - if (isset($se['sid']) && $se['sid']>"") - { - if (strpos($se['sid'], "-")) - { - $reszek=explode("-", $se['sid']); - $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND id>=".(int)$reszek[0]." AND id<=".(int)$reszek[1] : " AND id>=".(int)$reszek[1]." AND id<=".(int)$reszek[0]); - } - else - { - $felt.=" AND id=".(int)$se['sid']; - } - } - if (isset($se['wid']) && $se['wid']>"") - { - if (strpos($se['wid'], "-")) - { - $reszek=explode("-", $se['wid']); - $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND courseid>=".(int)$reszek[0]." AND courseid<=".(int)$reszek[1] : " AND courseid>=".(int)$reszek[1]." AND courseid<=".(int)$reszek[0]); - } - else - { - $felt.=" AND courseid=".(int)$se['wid']; - } - } - if (isset($se['title']) && $se['title']>"") $felt.=" AND title LIKE '%".trim($se['title'])."%' "; - if (isset($se['start_date']) && $se['start_date']>"") $felt.=" AND session_date>='".trim($se['start_date'])."'"; - if (isset($se['finish_date']) && $se['finish_date']>"") $felt.=" AND session_date<='".trim($se['finish_date'])."'"; - if (isset($se['published']) && $se['published']!='A') $felt.=" AND published='".$se['published']."'"; - - $objTabla=New TableHelper(); - $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','tablediv'=>$this->targetdiv)); - $v=$objTabla->setSession(); - $objTabla->setColumn('id',array('header'=>'SID','width'=>'50px','format'=>'number','decimal'=>0,'link'=>'index.php?option=com_alworkshops&view=onlinesessionedit&id=REPLACE')); - $objTabla->setColumn('courseid',array('header'=>'CID','align'=>'center','width'=>'50px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('title',array('header'=>$_LANG['COM_ALWORKSHOPS_TITLE'],'width'=>'200px')); - $objTabla->setColumn('session_date',array('header'=>$_LANG['COM_ALWORKSHOPS_START_DATE'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('start_time',array('header'=>$_LANG['COM_ALWORKSHOPS_START_TIME'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('finish_time',array('header'=>$_LANG['COM_ALWORKSHOPS_FINISH_TIME'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('duration',array('header'=>$_LANG['COM_ALWORKSHOPS_DURATION'],'align'=>'center','width'=>'60px')); - $objTabla->setColumn('ordering',array('header'=>$_LANG['COM_ALWORKSHOPS_ORDERING'],'width'=>'70px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('published',array('header'=>$_LANG['COM_ALWORKSHOPS_PUBLISHED'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('options',array('header'=>$_LANG['COM_ALWORKSHOPS_OPTIONS'],'align'=>'right','width'=>'70px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'id')); - $objTabla->setQuery(array(" - SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options - FROM alworkshops_online_sessions s - LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid - WHERE 1 ".$felt - .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') - .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," - SELECT COUNT(*) AS recordCount - FROM ( - SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options - FROM alworkshops_online_sessions s - LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid - WHERE 1 ".$felt.") z;" - )); - $objTabla->drawTable(TRUE); - } - - public function getLang() - { - if (!isset($this->lang)) { $this->lang=(strpos($_SERVER['HTTP_HOST'],".com") ? "en-GB" : "hu-HU"); } - return $this->lang; - } -} - -$controller=new Controller(); -$controller->run(); -?> - - +pf]["_POST"]=$_POST; + if (isset($_POST['targetdiv'])) $this->targetdiv=$_POST['targetdiv']; + if (!isset($_SESSION[$this->pf]['tableorder']) || trim($_SESSION[$this->pf]['tableorder'])=='' ) $_SESSION[$this->pf]['tableorder']='s.id DESC'; + + $se=&$_SESSION[$this->pf]['_POST']; + + if($this->getLang() == 'hu-HU') { + $webinar = "webinariumok"; + } else { + $webinar = "webinars"; + } + $felt=" AND c.`alias`='{$webinar}' "; + + $arrIcons=array( + 'smallEnable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','disable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}","img"=>IconHelper::getIcon("smallEnable") ), + 'smallDisable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','enable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}",'img'=>IconHelper::getIcon("smallDisable") ), + 'smallEdit'=>array("href"=>"index.php?option=com_alworkshops&view=onlinesessionedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"id","alttext"=>"Edit" ), + ); + $_LANG=parse_ini_file($_SERVER['DOCUMENT_ROOT']."/administrator/language/".$this->getLang()."/".$this->getLang().".com_alworkshops.ini"); + + if (isset($_POST[$this->pf.'_event']) and trim($_POST[$this->pf.'_event'])>'') + { + $event=trim(strtolower(addslashes((string)$_POST[$this->pf.'_event']))); + $value=trim(strtolower(addslashes((string)$_POST[$this->pf.'_value']))); + if ((int)$value>0) + { + switch ($event) + { + case 'enable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='Y' WHERE id=".$value);break; } + case 'disable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='N' WHERE id=".$value);break; } + } + } + } + + if (isset($se['sid']) && $se['sid']>"") + { + if (strpos($se['sid'], "-")) + { + $reszek=explode("-", $se['sid']); + $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND id>=".(int)$reszek[0]." AND id<=".(int)$reszek[1] : " AND id>=".(int)$reszek[1]." AND id<=".(int)$reszek[0]); + } + else + { + $felt.=" AND id=".(int)$se['sid']; + } + } + if (isset($se['wid']) && $se['wid']>"") + { + if (strpos($se['wid'], "-")) + { + $reszek=explode("-", $se['wid']); + $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND courseid>=".(int)$reszek[0]." AND courseid<=".(int)$reszek[1] : " AND courseid>=".(int)$reszek[1]." AND courseid<=".(int)$reszek[0]); + } + else + { + $felt.=" AND courseid=".(int)$se['wid']; + } + } + if (isset($se['title']) && $se['title']>"") $felt.=" AND title LIKE '%".trim($se['title'])."%' "; + if (isset($se['start_date']) && $se['start_date']>"") $felt.=" AND session_date>='".trim($se['start_date'])."'"; + if (isset($se['finish_date']) && $se['finish_date']>"") $felt.=" AND session_date<='".trim($se['finish_date'])."'"; + if (isset($se['published']) && $se['published']!='A') $felt.=" AND published='".$se['published']."'"; + + $objTabla=New TableHelper(); + $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','tablediv'=>$this->targetdiv)); + $v=$objTabla->setSession(); + $objTabla->setColumn('id',array('header'=>'SID','width'=>'50px','format'=>'number','decimal'=>0,'link'=>'index.php?option=com_alworkshops&view=onlinesessionedit&id=REPLACE')); + $objTabla->setColumn('courseid',array('header'=>'CID','align'=>'center','width'=>'50px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('title',array('header'=>$_LANG['COM_ALWORKSHOPS_TITLE'],'width'=>'200px')); + $objTabla->setColumn('session_date',array('header'=>$_LANG['COM_ALWORKSHOPS_START_DATE'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('start_time',array('header'=>$_LANG['COM_ALWORKSHOPS_START_TIME'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('finish_time',array('header'=>$_LANG['COM_ALWORKSHOPS_FINISH_TIME'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('duration',array('header'=>$_LANG['COM_ALWORKSHOPS_DURATION'],'align'=>'center','width'=>'60px')); + $objTabla->setColumn('ordering',array('header'=>$_LANG['COM_ALWORKSHOPS_ORDERING'],'width'=>'70px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('published',array('header'=>$_LANG['COM_ALWORKSHOPS_PUBLISHED'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('options',array('header'=>$_LANG['COM_ALWORKSHOPS_OPTIONS'],'align'=>'right','width'=>'70px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'id')); + $objTabla->setQuery(array(" + SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options + FROM alworkshops_online_sessions s + LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid + WHERE 1 ".$felt + .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') + .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," + SELECT COUNT(*) AS recordCount + FROM ( + SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options + FROM alworkshops_online_sessions s + LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid + WHERE 1 ".$felt.") z;" + )); + $objTabla->drawTable(TRUE); + } + + public function getLang() + { + if (!isset($this->lang)) { $this->lang=(strpos($_SERVER['HTTP_HOST'],".com") ? "en-GB" : "hu-HU"); } + return $this->lang; + } +} + +$controller=new Controller(); +$controller->run(); +?> + + diff --git a/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxSessionController.class.php b/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxSessionController.class.php index f613b74b..fe5f175e 100644 --- a/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxSessionController.class.php +++ b/cadline/components/administrator/components/com_alworkshops/assets/ajax/AjaxSessionController.class.php @@ -1,130 +1,130 @@ -pf]["_POST"]=$_POST; - if (isset($_POST['targetdiv'])) $this->targetdiv=$_POST['targetdiv']; - if (!isset($_SESSION[$this->pf]['tableorder']) || trim($_SESSION[$this->pf]['tableorder'])=='' ) $_SESSION[$this->pf]['tableorder']='s.id DESC'; - - $se=&$_SESSION[$this->pf]['_POST']; - $felt=" AND sw.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' "; - - $arrIcons=array( - 'smallEnable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','disable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}","img"=>IconHelper::getIcon("smallEnable") ), - 'smallDisable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','enable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}",'img'=>IconHelper::getIcon("smallDisable") ), - 'smallEdit'=>array("href"=>"index.php?option=com_alworkshops&view=sessionedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"id","alttext"=>"Edit" ), - ); - $_LANG=parse_ini_file($_SERVER['DOCUMENT_ROOT']."/administrator/language/".$this->getLang()."/".$this->getLang().".com_alworkshops.ini"); - - if (isset($_POST[$this->pf.'_event']) and trim($_POST[$this->pf.'_event'])>'') - { - $event=trim(strtolower(addslashes((string)$_POST[$this->pf.'_event']))); - $value=trim(strtolower(addslashes((string)$_POST[$this->pf.'_value']))); - if ((int)$value>0) - { - switch ($event) - { - case 'enable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='Y' WHERE id=".$value);break; } - case 'disable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='N' WHERE id=".$value);break; } - } - } - } - - if (isset($se['sid']) && $se['sid']>"") - { - if (strpos($se['sid'], "-")) - { - $reszek=explode("-", $se['sid']); - $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND id>=".(int)$reszek[0]." AND id<=".(int)$reszek[1] : " AND id>=".(int)$reszek[1]." AND id<=".(int)$reszek[0]); - } - else - { - $felt.=" AND id=".(int)$se['sid']; - } - } - if (isset($se['wid']) && $se['wid']>"") - { - if (strpos($se['wid'], "-")) - { - $reszek=explode("-", $se['wid']); - $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND courseid>=".(int)$reszek[0]." AND courseid<=".(int)$reszek[1] : " AND courseid>=".(int)$reszek[1]." AND courseid<=".(int)$reszek[0]); - } - else - { - $felt.=" AND courseid=".(int)$se['wid']; - } - } - if (isset($se['title']) && $se['title']>"") $felt.=" AND title LIKE '%".trim($se['title'])."%' "; - if (isset($se['description']) && $se['description']>"") $felt.=" AND description LIKE '%".trim($se['description'])."%' "; - if (isset($se['start_date']) && $se['start_date']>"") $felt.=" AND session_date>='".trim($se['start_date'])."'"; - if (isset($se['finish_date']) && $se['finish_date']>"") $felt.=" AND session_date<='".trim($se['finish_date'])."'"; - if (isset($se['published']) && $se['published']!='A') $felt.=" AND published='".$se['published']."'"; - $felt .= " GROUP BY id"; - - $objTabla=New TableHelper(); - $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','tablediv'=>$this->targetdiv)); - $v=$objTabla->setSession(); - $objTabla->setColumn('id',array('header'=>'SID','width'=>'50px','format'=>'number','decimal'=>0,'link'=>'index.php?option=com_alworkshops&view=sessionedit&id=REPLACE')); - $objTabla->setColumn('switchid',array('header'=>'SID','align'=>'center','width'=>'50px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('courseid',array('header'=>'CID','align'=>'center','width'=>'50px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('title',array('header'=>$_LANG['COM_ALWORKSHOPS_TITLE'],'width'=>'200px')); - $objTabla->setColumn('session_date',array('header'=>$_LANG['COM_ALWORKSHOPS_START_DATE'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('start_time',array('header'=>$_LANG['COM_ALWORKSHOPS_START_TIME'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('finish_time',array('header'=>$_LANG['COM_ALWORKSHOPS_FINISH_TIME'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('duration',array('header'=>$_LANG['COM_ALWORKSHOPS_DURATION'],'align'=>'center','width'=>'60px')); - $objTabla->setColumn('description',array('header'=>$_LANG['COM_ALWORKSHOPS_SESSIONDESC'])); - $objTabla->setColumn('ordering',array('header'=>$_LANG['COM_ALWORKSHOPS_ORDERING'],'width'=>'70px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('published',array('header'=>$_LANG['COM_ALWORKSHOPS_PUBLISHED'],'align'=>'center','width'=>'80px')); - $objTabla->setColumn('options',array('header'=>$_LANG['COM_ALWORKSHOPS_OPTIONS'],'align'=>'right','width'=>'70px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'id')); - $objTabla->setQuery(array(" - SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options - FROM alworkshops_sessions s - LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid - LEFT OUTER JOIN alworkshops_switch sw ON sw.alias=c.alias - WHERE 1 ".$felt - .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') - .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," - SELECT COUNT(*) AS recordCount - FROM ( - SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options - FROM alworkshops_sessions s - LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid - LEFT OUTER JOIN alworkshops_switch sw ON sw.alias=c.alias - WHERE 1 ".$felt.") z;" - )); - $objTabla->drawTable(TRUE); - } - - public function getLang() - { - if (!isset($this->lang)) { $this->lang=(strpos($_SERVER['HTTP_HOST'],".com") ? "en-GB" : "hu-HU"); } - return $this->lang; - } -} - -$controller=new Controller(); -$controller->run(); -?> - - +pf]["_POST"]=$_POST; + if (isset($_POST['targetdiv'])) $this->targetdiv=$_POST['targetdiv']; + if (!isset($_SESSION[$this->pf]['tableorder']) || trim($_SESSION[$this->pf]['tableorder'])=='' ) $_SESSION[$this->pf]['tableorder']='s.id DESC'; + + $se=&$_SESSION[$this->pf]['_POST']; + $felt=" AND sw.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' "; + + $arrIcons=array( + 'smallEnable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','disable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}","img"=>IconHelper::getIcon("smallEnable") ), + 'smallDisable'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','enable','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}",'img'=>IconHelper::getIcon("smallDisable") ), + 'smallEdit'=>array("href"=>"index.php?option=com_alworkshops&view=sessionedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"id","alttext"=>"Edit" ), + ); + $_LANG=parse_ini_file($_SERVER['DOCUMENT_ROOT']."/administrator/language/".$this->getLang()."/".$this->getLang().".com_alworkshops.ini"); + + if (isset($_POST[$this->pf.'_event']) and trim($_POST[$this->pf.'_event'])>'') + { + $event=trim(strtolower(addslashes((string)$_POST[$this->pf.'_event']))); + $value=trim(strtolower(addslashes((string)$_POST[$this->pf.'_value']))); + if ((int)$value>0) + { + switch ($event) + { + case 'enable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='Y' WHERE id=".$value);break; } + case 'disable' : { MySqlHelper::getInstance()->query("UPDATE ".TABLE." SET published='N' WHERE id=".$value);break; } + } + } + } + + if (isset($se['sid']) && $se['sid']>"") + { + if (strpos($se['sid'], "-")) + { + $reszek=explode("-", $se['sid']); + $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND id>=".(int)$reszek[0]." AND id<=".(int)$reszek[1] : " AND id>=".(int)$reszek[1]." AND id<=".(int)$reszek[0]); + } + else + { + $felt.=" AND id=".(int)$se['sid']; + } + } + if (isset($se['wid']) && $se['wid']>"") + { + if (strpos($se['wid'], "-")) + { + $reszek=explode("-", $se['wid']); + $felt.=( (int)$reszek[0]<(int)$reszek[1] ? " AND courseid>=".(int)$reszek[0]." AND courseid<=".(int)$reszek[1] : " AND courseid>=".(int)$reszek[1]." AND courseid<=".(int)$reszek[0]); + } + else + { + $felt.=" AND courseid=".(int)$se['wid']; + } + } + if (isset($se['title']) && $se['title']>"") $felt.=" AND title LIKE '%".trim($se['title'])."%' "; + if (isset($se['description']) && $se['description']>"") $felt.=" AND description LIKE '%".trim($se['description'])."%' "; + if (isset($se['start_date']) && $se['start_date']>"") $felt.=" AND session_date>='".trim($se['start_date'])."'"; + if (isset($se['finish_date']) && $se['finish_date']>"") $felt.=" AND session_date<='".trim($se['finish_date'])."'"; + if (isset($se['published']) && $se['published']!='A') $felt.=" AND published='".$se['published']."'"; + $felt .= " GROUP BY id"; + + $objTabla=New TableHelper(); + $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','tablediv'=>$this->targetdiv)); + $v=$objTabla->setSession(); + $objTabla->setColumn('id',array('header'=>'SID','width'=>'50px','format'=>'number','decimal'=>0,'link'=>'index.php?option=com_alworkshops&view=sessionedit&id=REPLACE')); + $objTabla->setColumn('switchid',array('header'=>'SID','align'=>'center','width'=>'50px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('courseid',array('header'=>'CID','align'=>'center','width'=>'50px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('title',array('header'=>$_LANG['COM_ALWORKSHOPS_TITLE'],'width'=>'200px')); + $objTabla->setColumn('session_date',array('header'=>$_LANG['COM_ALWORKSHOPS_START_DATE'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('start_time',array('header'=>$_LANG['COM_ALWORKSHOPS_START_TIME'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('finish_time',array('header'=>$_LANG['COM_ALWORKSHOPS_FINISH_TIME'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('duration',array('header'=>$_LANG['COM_ALWORKSHOPS_DURATION'],'align'=>'center','width'=>'60px')); + $objTabla->setColumn('description',array('header'=>$_LANG['COM_ALWORKSHOPS_SESSIONDESC'])); + $objTabla->setColumn('ordering',array('header'=>$_LANG['COM_ALWORKSHOPS_ORDERING'],'width'=>'70px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('published',array('header'=>$_LANG['COM_ALWORKSHOPS_PUBLISHED'],'align'=>'center','width'=>'80px')); + $objTabla->setColumn('options',array('header'=>$_LANG['COM_ALWORKSHOPS_OPTIONS'],'align'=>'right','width'=>'70px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'id')); + $objTabla->setQuery(array(" + SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options + FROM alworkshops_sessions s + LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid + LEFT OUTER JOIN alworkshops_switch sw ON sw.alias=c.alias + WHERE 1 ".$felt + .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') + .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," + SELECT COUNT(*) AS recordCount + FROM ( + SELECT s.*,CONCAT(IF(s.published='N','smallDisable','smallEnable'),'|','smallEdit') AS options + FROM alworkshops_sessions s + LEFT OUTER JOIN alworkshops_courses c ON c.id=s.courseid + LEFT OUTER JOIN alworkshops_switch sw ON sw.alias=c.alias + WHERE 1 ".$felt.") z;" + )); + $objTabla->drawTable(TRUE); + } + + public function getLang() + { + if (!isset($this->lang)) { $this->lang=(strpos($_SERVER['HTTP_HOST'],".com") ? "en-GB" : "hu-HU"); } + return $this->lang; + } +} + +$controller=new Controller(); +$controller->run(); +?> + + diff --git a/cadline/components/administrator/components/com_alworkshops/assets/css/style.css b/cadline/components/administrator/components/com_alworkshops/assets/css/style.css index b6a6ed60..19191120 100644 --- a/cadline/components/administrator/components/com_alworkshops/assets/css/style.css +++ b/cadline/components/administrator/components/com_alworkshops/assets/css/style.css @@ -1,86 +1,86 @@ -#j-sidebar-container {display:inline-block;vertical-align:top;width:14.5%;height:300px;border:0px solid #000000;} -#j-main-container {display:inline-block;vertical-align:top;width:85%;border:0px solid #000000;} - -#j-main-container .pagination {margin:0px;padding:0px;display:inline;} -#j-main-container table.adminlist {width:100%;border-spacing:1px;background-color:#e7e7e7;color:#666;} -#j-main-container table.adminlist td, -#j-main-container table.adminlist th {padding:4px;} -#j-main-container table.adminlist thead th {text-align:center;background:#f0f0f0;color:#666;border-bottom:1px solid #999;border-left:1px solid #fff;} -#j-main-container table.adminlist thead a:hover { text-decoration: none; } -#j-main-container table.adminlist thead th img { vertical-align: middle; } -#j-main-container table.adminlist tbody th { font-weight: bold; } -#j-main-container table.adminlist tbody tr { background-color: #fff; text-align: left; } -#j-main-container table.adminlist tbody tr.row1 { background: #f9f9f9; border-top: 1px solid #fff; } -#j-main-container table.adminlist tbody tr.row0:hover td, -#j-main-container table.adminlist tbody tr.row1:hover td { background-color: #ffd ; } -#j-main-container table.adminlist tbody tr td { height: 25px; background: #fff; border: 1px solid #fff; } -#j-main-container table.adminlist tbody tr.row1 td { background: #f9f9f9; border-top: 1px solid #FFF; } -#j-main-container table.adminlist tfoot tr { text-align: center; color: #333; } -#j-main-container table.adminlist tfoot td, -#j-main-container table.adminlist tfoot th { background-color: #f3f3f3; border-top: 1px solid #999; text-align: center; } -#j-main-container table.adminlist td.order { text-align: center; white-space: nowrap; } -#j-main-container table.adminlist td.order span { float: left; display: block; width: 20px; text-align: center; } - -.j-sidebar-container.j-sidebar-hidden { - margin-left: 2vw !important; -} - - -#j-main-container .clear {clear:both;margin:0px;padding:0px;height:0px;width:0px;} -#j-main-container div.hasab {display:inline-block;width:340px;vertical-align:top;border:0px solid #000;} -#j-main-container div.hasab div.inputholder {display:block;height:38px;border:0px solid #ff0000;} -#j-main-container div.hasab div.inputholder label {display:inline-block;width:120px;font-weight:bold;border:0px solid #00ff00;} -#j-main-container div.hasab div.inputholder input[type="text"], -#j-main-container div.hasab div.inputholder select {display:inline;margin:0px;width:190px;} -#j-main-container div.hasab div.inputholder textarea {width:320px;height:260px;} -#j-main-container div.hasab div.inputholder input[type="file"] {width:190px;} -#j-main-container div.hasab div.inputholder fieldset {display:inline;width:190px;white-space:nowrap;border:0px solid #ff00ff;} -#j-main-container div.hasab div.inputholder fieldset label {width:50px;font-weight:normal;} - - -/* TableHelper */ -div.tableholder table { border: 1px solid #dddddd; font-size: 11px; } -div.tableholder table thead, div.tableholder table tfoot { background-color: #ddd; } -div.tableholder table thead tr td { padding-left: 3px; border-bottom: 1px solid #dddddd; white-space:nowrap; vertical-align:middle; } -div.tableholder table tfoot tr td { padding-left: 3px; border-top: 1px solid #dddddd; white-space:nowrap; vertical-align:middle; } -div.tableholder table thead tr th, -div.tableholder table tfoot tr th { white-space:nowrap; vertical-align:middle; } -div.tableholder table thead tr th span { display: block; float: left; text-align: center; margin-left:3px; float: left; height: 30px; line-height: 14px; font-weight: bold; } -div.tableholder table thead tr th div.shortlinks { display: inline-block; margin: 1px; width: 9px; height: 24px; float: right; } -div.tableholder table thead tr th div.shortlinks a.tableshort-up { display: block; text-decoration: none; width: 9px; height: 11px; background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-up.jpg) no-repeat left top; } -div.tableholder table thead tr th div.shortlinks a.tableshort-up:hover { background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-up.jpg) no-repeat left -11px; } -div.tableholder table thead tr th div.shortlinks a.tableshort-down { margin-top:2px;display: block; text-decoration: none; width: 9px; height: 11px; background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-down.jpg) no-repeat left top; } -div.tableholder table thead tr th div.shortlinks a.tableshort-down:hover { margin-top:2px;background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-down.jpg) no-repeat left -11px; } - -div.tableholder table tbody tr.even { background-color: #ebebeb; } -div.tableholder table tbody tr.odd { background-color: #ffffff; } -div.tableholder table tbody tr.selected { background-color: #f5c0b8;color:#000000; } -div.tableholder table tbody tr.selected a { color: #000000;} -div.tableholder table tbody tr td { padding: 3px; text-align: left; border-top: 0px solid #afc4d2; border-right: 1px solid #e0eef7; } -div.tableholder table tbody tr td img { padding: 0px; margin:0px; border:0px;vertical-align: middle; } -div.tableholder table tbody tr.even:hover, -div.tableholder table tbody tr.odd:hover, -div.tableholder table tbody tr.selected:hover { cursor: pointer; background-color: #c5e6a1; color: #000000; } -div.tableholder table tbody tr td input { padding: 0px; margin:0; vertical-align:middle; } -div.tableholder table tbody tr td img { margin: 0px 2px; } -div.tableholder table tfoot { height: 30px; font-size: 11px; font-weight: bold; } -div.tableholder table a {text-decoration:none;cursor:pointer;} -div.tableholder table a:hover {text-decoration:none;cursor:pointer;} -div.tablenav select { margin: 0px; float: left; width: auto; padding: 2px 2px 3px 2px;border: 1px solid #afc4d2;font-size: 11px;font-family: Tahoma;font-weight: normal;text-align: left;color: #484947;cursor: pointer;} -div.tablenav {margin: 10px 0px 10px 0px;height: 32px;overflow: hidden;} -div.tablenav p {margin: 0px 0px 0px 3px;float: left;line-height: 32px; float:left;} -div.tablenav ul.pager {margin: 0px 0px 0px 20px;float: right;height: 22px;} -div.tablenav ul.pager li {display: inline;} -div.tablenav ul.pager li a, -div.tablenav ul.pager li a.inactive, -div.tablenav ul.pager li a.inactive:hover { background: none; display: inline-block; float: left; margin: 0px 0px 0px 3px; width: 20px; height: 20px; line-height: 20px; font-size: 12px; font-weight: bold; text-align: center; vertical-align: middle; border: 1px solid #B3B9AA; color: #009cff; cursor:pointer;} -div.tablenav ul.pager li a.nextfive { border: none; line-height: 22px; cursor:pointer; } -div.tablenav ul.pager li a.inactive, -div.tablenav ul.pager li a.inactive:hover { color: #c3c4c1; cursor:pointer;} -div.tablenav ul.pager li a.activepage, -div.tablenav ul.pager li a.activepage:hover { background-color: #b4c799; color: #ffffff; border-color: #577046; font-weight: bold; cursor:pointer;} -div.tablenav ul.pager li a:hover {background-color: #009cff;color: #ffffff;border-color: #2d4e63; cursor:pointer; } - - -#preview {position:absolute; border:1px solid #ccc;display:none;color:#fff;background:#fff;padding:5px;white-space:normal; } +#j-sidebar-container {display:inline-block;vertical-align:top;width:14.5%;height:300px;border:0px solid #000000;} +#j-main-container {display:inline-block;vertical-align:top;width:85%;border:0px solid #000000;} + +#j-main-container .pagination {margin:0px;padding:0px;display:inline;} +#j-main-container table.adminlist {width:100%;border-spacing:1px;background-color:#e7e7e7;color:#666;} +#j-main-container table.adminlist td, +#j-main-container table.adminlist th {padding:4px;} +#j-main-container table.adminlist thead th {text-align:center;background:#f0f0f0;color:#666;border-bottom:1px solid #999;border-left:1px solid #fff;} +#j-main-container table.adminlist thead a:hover { text-decoration: none; } +#j-main-container table.adminlist thead th img { vertical-align: middle; } +#j-main-container table.adminlist tbody th { font-weight: bold; } +#j-main-container table.adminlist tbody tr { background-color: #fff; text-align: left; } +#j-main-container table.adminlist tbody tr.row1 { background: #f9f9f9; border-top: 1px solid #fff; } +#j-main-container table.adminlist tbody tr.row0:hover td, +#j-main-container table.adminlist tbody tr.row1:hover td { background-color: #ffd ; } +#j-main-container table.adminlist tbody tr td { height: 25px; background: #fff; border: 1px solid #fff; } +#j-main-container table.adminlist tbody tr.row1 td { background: #f9f9f9; border-top: 1px solid #FFF; } +#j-main-container table.adminlist tfoot tr { text-align: center; color: #333; } +#j-main-container table.adminlist tfoot td, +#j-main-container table.adminlist tfoot th { background-color: #f3f3f3; border-top: 1px solid #999; text-align: center; } +#j-main-container table.adminlist td.order { text-align: center; white-space: nowrap; } +#j-main-container table.adminlist td.order span { float: left; display: block; width: 20px; text-align: center; } + +.j-sidebar-container.j-sidebar-hidden { + margin-left: 2vw !important; +} + + +#j-main-container .clear {clear:both;margin:0px;padding:0px;height:0px;width:0px;} +#j-main-container div.hasab {display:inline-block;width:340px;vertical-align:top;border:0px solid #000;} +#j-main-container div.hasab div.inputholder {display:block;height:38px;border:0px solid #ff0000;} +#j-main-container div.hasab div.inputholder label {display:inline-block;width:120px;font-weight:bold;border:0px solid #00ff00;} +#j-main-container div.hasab div.inputholder input[type="text"], +#j-main-container div.hasab div.inputholder select {display:inline;margin:0px;width:190px;} +#j-main-container div.hasab div.inputholder textarea {width:320px;height:260px;} +#j-main-container div.hasab div.inputholder input[type="file"] {width:190px;} +#j-main-container div.hasab div.inputholder fieldset {display:inline;width:190px;white-space:nowrap;border:0px solid #ff00ff;} +#j-main-container div.hasab div.inputholder fieldset label {width:50px;font-weight:normal;} + + +/* TableHelper */ +div.tableholder table { border: 1px solid #dddddd; font-size: 11px; } +div.tableholder table thead, div.tableholder table tfoot { background-color: #ddd; } +div.tableholder table thead tr td { padding-left: 3px; border-bottom: 1px solid #dddddd; white-space:nowrap; vertical-align:middle; } +div.tableholder table tfoot tr td { padding-left: 3px; border-top: 1px solid #dddddd; white-space:nowrap; vertical-align:middle; } +div.tableholder table thead tr th, +div.tableholder table tfoot tr th { white-space:nowrap; vertical-align:middle; } +div.tableholder table thead tr th span { display: block; float: left; text-align: center; margin-left:3px; float: left; height: 30px; line-height: 14px; font-weight: bold; } +div.tableholder table thead tr th div.shortlinks { display: inline-block; margin: 1px; width: 9px; height: 24px; float: right; } +div.tableholder table thead tr th div.shortlinks a.tableshort-up { display: block; text-decoration: none; width: 9px; height: 11px; background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-up.jpg) no-repeat left top; } +div.tableholder table thead tr th div.shortlinks a.tableshort-up:hover { background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-up.jpg) no-repeat left -11px; } +div.tableholder table thead tr th div.shortlinks a.tableshort-down { margin-top:2px;display: block; text-decoration: none; width: 9px; height: 11px; background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-down.jpg) no-repeat left top; } +div.tableholder table thead tr th div.shortlinks a.tableshort-down:hover { margin-top:2px;background: #ececec url(/administrator/components/com_alworkshops/assets/images/tableshort-down.jpg) no-repeat left -11px; } + +div.tableholder table tbody tr.even { background-color: #ebebeb; } +div.tableholder table tbody tr.odd { background-color: #ffffff; } +div.tableholder table tbody tr.selected { background-color: #f5c0b8;color:#000000; } +div.tableholder table tbody tr.selected a { color: #000000;} +div.tableholder table tbody tr td { padding: 3px; text-align: left; border-top: 0px solid #afc4d2; border-right: 1px solid #e0eef7; } +div.tableholder table tbody tr td img { padding: 0px; margin:0px; border:0px;vertical-align: middle; } +div.tableholder table tbody tr.even:hover, +div.tableholder table tbody tr.odd:hover, +div.tableholder table tbody tr.selected:hover { cursor: pointer; background-color: #c5e6a1; color: #000000; } +div.tableholder table tbody tr td input { padding: 0px; margin:0; vertical-align:middle; } +div.tableholder table tbody tr td img { margin: 0px 2px; } +div.tableholder table tfoot { height: 30px; font-size: 11px; font-weight: bold; } +div.tableholder table a {text-decoration:none;cursor:pointer;} +div.tableholder table a:hover {text-decoration:none;cursor:pointer;} +div.tablenav select { margin: 0px; float: left; width: auto; padding: 2px 2px 3px 2px;border: 1px solid #afc4d2;font-size: 11px;font-family: Tahoma;font-weight: normal;text-align: left;color: #484947;cursor: pointer;} +div.tablenav {margin: 10px 0px 10px 0px;height: 32px;overflow: hidden;} +div.tablenav p {margin: 0px 0px 0px 3px;float: left;line-height: 32px; float:left;} +div.tablenav ul.pager {margin: 0px 0px 0px 20px;float: right;height: 22px;} +div.tablenav ul.pager li {display: inline;} +div.tablenav ul.pager li a, +div.tablenav ul.pager li a.inactive, +div.tablenav ul.pager li a.inactive:hover { background: none; display: inline-block; float: left; margin: 0px 0px 0px 3px; width: 20px; height: 20px; line-height: 20px; font-size: 12px; font-weight: bold; text-align: center; vertical-align: middle; border: 1px solid #B3B9AA; color: #009cff; cursor:pointer;} +div.tablenav ul.pager li a.nextfive { border: none; line-height: 22px; cursor:pointer; } +div.tablenav ul.pager li a.inactive, +div.tablenav ul.pager li a.inactive:hover { color: #c3c4c1; cursor:pointer;} +div.tablenav ul.pager li a.activepage, +div.tablenav ul.pager li a.activepage:hover { background-color: #b4c799; color: #ffffff; border-color: #577046; font-weight: bold; cursor:pointer;} +div.tablenav ul.pager li a:hover {background-color: #009cff;color: #ffffff;border-color: #2d4e63; cursor:pointer; } + + +#preview {position:absolute; border:1px solid #ccc;display:none;color:#fff;background:#fff;padding:5px;white-space:normal; } #tooltip {position:absolute; border:1px solid #333;display:none;color:#333;background:#f7f5d1;padding:2px 5px; } \ No newline at end of file diff --git a/cadline/components/administrator/components/com_alworkshops/controller.php b/cadline/components/administrator/components/com_alworkshops/controller.php index f30a8ef0..b76dae24 100644 --- a/cadline/components/administrator/components/com_alworkshops/controller.php +++ b/cadline/components/administrator/components/com_alworkshops/controller.php @@ -1,59 +1,59 @@ - - * @copyright 2017 Zsolt Fekete - * @license GNU General Public License version 2 or later; see LICENSE.txt - */ -// No direct access -defined('_JEXEC') or die; - -jimport('joomla.application.component.controller'); // import Joomla controller library - -$app = JFactory::getApplication(); -$view = $app->input->get('view'); -$option = $app->input->get('option'); - -$l = array( - array('COM_ALWORKSHOPS_CONTROL_PANEL_HELP', ''), - array('COM_ALWORKSHOPS_APPLICATIONS', 'application'), - array('COM_ALWORKSHOPS_COURSES', 'course'), - array('COM_ALWORKSHOPS_SESSIONS', 'session'), - array('COM_ALWORKSHOPS_SWITCH', 'switch'), - array('COM_ALWORKSHOPS_ONLINE_SESSIONS', 'onlinesession'), - array('COM_ALWORKSHOPS_EDUCATION', 'education') -); - -foreach ($l as $v) { - JHtmlSidebar::addEntry(JText::_($v[0]), 'index.php?option=' . $option . ($v[1] == '' ? '' : '&view=') . $v[1], ($view == $v[1] || $view == $v[1] . "edit" ? true : false)); -} - -/** - * Class AlworkshopsController - * - * @since 1.6 - */ -class AlworkshopsController extends JControllerLegacy -{ - /** - * Method to display a view. - * - * @param boolean $cachable If true, the view output will be cached - * @param mixed $urlparams An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}. - * - * @return JController This object to support chaining. - * - * @since 1.5 - */ - public function display($cachable = false, $urlparams = false) - { - $view = JFactory::getApplication()->input->getCmd('view', ''); - JFactory::getApplication()->input->set('view', $view); - - parent::display($cachable, $urlparams); - - return $this; - } -} + + * @copyright 2017 Zsolt Fekete + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ +// No direct access +defined('_JEXEC') or die; + +jimport('joomla.application.component.controller'); // import Joomla controller library + +$app = JFactory::getApplication(); +$view = $app->input->get('view'); +$option = $app->input->get('option'); + +$l = array( + array('COM_ALWORKSHOPS_CONTROL_PANEL_HELP', ''), + array('COM_ALWORKSHOPS_APPLICATIONS', 'application'), + array('COM_ALWORKSHOPS_COURSES', 'course'), + array('COM_ALWORKSHOPS_SESSIONS', 'session'), + array('COM_ALWORKSHOPS_SWITCH', 'switch'), + array('COM_ALWORKSHOPS_ONLINE_SESSIONS', 'onlinesession'), + array('COM_ALWORKSHOPS_EDUCATION', 'education') +); + +foreach ($l as $v) { + JHtmlSidebar::addEntry(JText::_($v[0]), 'index.php?option=' . $option . ($v[1] == '' ? '' : '&view=') . $v[1], ($view == $v[1] || $view == $v[1] . "edit" ? true : false)); +} + +/** + * Class AlworkshopsController + * + * @since 1.6 + */ +class AlworkshopsController extends JControllerLegacy +{ + /** + * Method to display a view. + * + * @param boolean $cachable If true, the view output will be cached + * @param mixed $urlparams An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}. + * + * @return JController This object to support chaining. + * + * @since 1.5 + */ + public function display($cachable = false, $urlparams = false) + { + $view = JFactory::getApplication()->input->getCmd('view', ''); + JFactory::getApplication()->input->set('view', $view); + + parent::display($cachable, $urlparams); + + return $this; + } +} diff --git a/cadline/components/administrator/components/com_alworkshops/models/courseedit.php b/cadline/components/administrator/components/com_alworkshops/models/courseedit.php index aa4e49af..43b4000b 100644 --- a/cadline/components/administrator/components/com_alworkshops/models/courseedit.php +++ b/cadline/components/administrator/components/com_alworkshops/models/courseedit.php @@ -1,104 +1,104 @@ -setQuery("SELECT c.*,s.kurzus FROM ".TABLE." c LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias WHERE c.id=".(int)$id." LIMIT 1;"); - $result=$db->loadObjectList(); - return(count($result) ? $result[0] : FALSE); - } - - public function saveItem($item=NULL,$id=NULL) - { - if (is_array($item)) - { - $db=JFactory::getDbo(); - $query=$db->getQuery(true); - $values=array(); - - if ($id) - { - foreach ($item as $k=>$v) $values[]=$db->quoteName($k)."=".$db->quote($v); - $query->update(TABLE)->set($values)->where(array('`id`='.(int)$id)); - $db->setQuery($query); - $result=$db->execute(); - } - else - { - foreach ($item as $v) $values[]=$db->quote($v); - $query->insert(TABLE)->columns($db->quoteName(array_keys($item)))->values(implode(',', $values)); - $db->setQuery($query); - $db->execute(); - $result=$db->insertid(); - } - return ($result); - } - else - { - return (FALSE); - } - } - - public function getTemplates() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM #__categories WHERE alias='workshop-email-templates' LIMIT 1;"); - $result=$db->loadObjectList(); - if (count($result)) - { - $db->setQuery("SELECT id,title FROM #__content WHERE catid=".$result[0]->id." AND state=1;"); - $ret=$db->loadObjectList(); - } - return ($ret); - } - - public function getAliases() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery("SELECT `alias`,`kurzus` FROM alworkshops_switch WHERE `lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' ORDER BY kurzus,alias;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getSwitch($alias='') - { - $ret=array(); - if (trim($alias)=="") return ($ret); - - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM `alworkshops_switch` WHERE `alias`='".trim($alias)."' LIMIT 1;"); - $ret=$db->loadObjectList(); - return (count($ret) ? $ret[0] : array()); - } - - public function getTitles() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(c.`title`) AS `title`,s.`kurzus` - FROM alworkshops_courses c - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' - ORDER BY s.`kurzus`,c.`title`;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getLang() - { - if (!isset($this->lang)) { $this->lang=JFactory::getLanguage()->getTag(); } - return $this->lang; - } +setQuery("SELECT c.*,s.kurzus FROM ".TABLE." c LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias WHERE c.id=".(int)$id." LIMIT 1;"); + $result=$db->loadObjectList(); + return(count($result) ? $result[0] : FALSE); + } + + public function saveItem($item=NULL,$id=NULL) + { + if (is_array($item)) + { + $db=JFactory::getDbo(); + $query=$db->getQuery(true); + $values=array(); + + if ($id) + { + foreach ($item as $k=>$v) $values[]=$db->quoteName($k)."=".$db->quote($v); + $query->update(TABLE)->set($values)->where(array('`id`='.(int)$id)); + $db->setQuery($query); + $result=$db->execute(); + } + else + { + foreach ($item as $v) $values[]=$db->quote($v); + $query->insert(TABLE)->columns($db->quoteName(array_keys($item)))->values(implode(',', $values)); + $db->setQuery($query); + $db->execute(); + $result=$db->insertid(); + } + return ($result); + } + else + { + return (FALSE); + } + } + + public function getTemplates() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM #__categories WHERE alias='workshop-email-templates' LIMIT 1;"); + $result=$db->loadObjectList(); + if (count($result)) + { + $db->setQuery("SELECT id,title FROM #__content WHERE catid=".$result[0]->id." AND state=1;"); + $ret=$db->loadObjectList(); + } + return ($ret); + } + + public function getAliases() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery("SELECT `alias`,`kurzus` FROM alworkshops_switch WHERE `lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' ORDER BY kurzus,alias;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getSwitch($alias='') + { + $ret=array(); + if (trim($alias)=="") return ($ret); + + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM `alworkshops_switch` WHERE `alias`='".trim($alias)."' LIMIT 1;"); + $ret=$db->loadObjectList(); + return (count($ret) ? $ret[0] : array()); + } + + public function getTitles() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(c.`title`) AS `title`,s.`kurzus` + FROM alworkshops_courses c + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' + ORDER BY s.`kurzus`,c.`title`;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getLang() + { + if (!isset($this->lang)) { $this->lang=JFactory::getLanguage()->getTag(); } + return $this->lang; + } } \ No newline at end of file diff --git a/cadline/components/administrator/components/com_alworkshops/models/educationedit.php b/cadline/components/administrator/components/com_alworkshops/models/educationedit.php index 079bbc43..6644fc13 100644 --- a/cadline/components/administrator/components/com_alworkshops/models/educationedit.php +++ b/cadline/components/administrator/components/com_alworkshops/models/educationedit.php @@ -1,99 +1,99 @@ -setQuery("SELECT * FROM www_archline_hu.aleducation_courses WHERE id = {$id} LIMIT 1;"); - $result = $db->loadObjectList(); - return (count($result) ? $result[0] : FALSE); - } - - public function saveItem($item = NULL, $id = NULL) - { - if (!is_array($item)) - return false; - - $files = array(); - $education = array(); - - foreach ($item['courses'] as $key => $value) { - $c_id = strtolower(str_replace(' ', '-', $value)); - $c_id = str_replace('&', '-', $c_id); - $c_id = str_replace('---', '-', $c_id); - $c_id = str_replace('--', '-', $c_id); - $education[$c_id]['name'] = $value; - $education[$c_id]['lessons'] = $item['lessons'][$key]; - } - - $encoded = json_encode($education, JSON_UNESCAPED_UNICODE); - - $json = '{"courses":' . $encoded . '}'; - - $db = JFactory::getDbo(); - $query = $db->getQuery(true); - - $url = JFactory::getLanguage()->getTag() == 'hu-HU' ? "beiratkozas/tanfolyamok/" : "enrollments/courses/"; - $url .= strtolower(str_replace(' ', '-', $item['title'])); - - $url = str_replace('&', '-', $url); - $url = str_replace('---', '-', $url); - $url = str_replace('--', '-', $url); - - $fileJson = ''; - - if ($item['fileNames'][0] != '' && $item['fileLinks'][0] != '' && $item['articleID'][0] != '') { - $files['name'] = $item['fileNames']; - $files['link'] = $item['fileLinks']; - $files['article'] = $item['articleID']; - $fileJson = '{"files":' . json_encode($files, JSON_UNESCAPED_UNICODE) . '}'; - } - - $tomb = array( - 'title' => $item['title'], - 'lessons' => $json, - 'published' => $item['published'], - 'url' => $url, - 'fileDownloadLink' => $fileJson, - 'lang' => JFactory::getLanguage()->getTag() == 'hu-HU' ? "hun" : "eng", - 'overviewID' => $item['overviewID'] - ); - - if ($item['thumbnail'] != '') - $tomb['image'] = $item['thumbnail']; - - if ($id) { - foreach ($tomb as $k => $v) - $values[] = $db->quoteName($k) . "=" . $db->quote($v); - - $query->update('`www_archline_hu`.`aleducation_courses`')->set($values)->where(array('`id`=' . (int)$id)); - $db->setQuery($query); - $result = $db->execute(); - } else { - foreach ($tomb as $v) - $values[] = $db->quote($v); - - $query->insert('`www_archline_hu`.`aleducation_courses`')->columns($db->quoteName(array_keys($tomb)))->values(implode(',', $values)); - $db->setQuery($query); - $db->execute(); - - $result = $db->insertid(); - } - - return $result; - } - - public function getLang() - { - if (!isset($this->lang)) { - $this->lang = JFactory::getLanguage()->getTag(); - } - return $this->lang; - } -} +setQuery("SELECT * FROM www_archline_hu.aleducation_courses WHERE id = {$id} LIMIT 1;"); + $result = $db->loadObjectList(); + return (count($result) ? $result[0] : FALSE); + } + + public function saveItem($item = NULL, $id = NULL) + { + if (!is_array($item)) + return false; + + $files = array(); + $education = array(); + + foreach ($item['courses'] as $key => $value) { + $c_id = strtolower(str_replace(' ', '-', $value)); + $c_id = str_replace('&', '-', $c_id); + $c_id = str_replace('---', '-', $c_id); + $c_id = str_replace('--', '-', $c_id); + $education[$c_id]['name'] = $value; + $education[$c_id]['lessons'] = $item['lessons'][$key]; + } + + $encoded = json_encode($education, JSON_UNESCAPED_UNICODE); + + $json = '{"courses":' . $encoded . '}'; + + $db = JFactory::getDbo(); + $query = $db->getQuery(true); + + $url = JFactory::getLanguage()->getTag() == 'hu-HU' ? "beiratkozas/tanfolyamok/" : "enrollments/courses/"; + $url .= strtolower(str_replace(' ', '-', $item['title'])); + + $url = str_replace('&', '-', $url); + $url = str_replace('---', '-', $url); + $url = str_replace('--', '-', $url); + + $fileJson = ''; + + if ($item['fileNames'][0] != '' && $item['fileLinks'][0] != '' && $item['articleID'][0] != '') { + $files['name'] = $item['fileNames']; + $files['link'] = $item['fileLinks']; + $files['article'] = $item['articleID']; + $fileJson = '{"files":' . json_encode($files, JSON_UNESCAPED_UNICODE) . '}'; + } + + $tomb = array( + 'title' => $item['title'], + 'lessons' => $json, + 'published' => $item['published'], + 'url' => $url, + 'fileDownloadLink' => $fileJson, + 'lang' => JFactory::getLanguage()->getTag() == 'hu-HU' ? "hun" : "eng", + 'overviewID' => $item['overviewID'] + ); + + if ($item['thumbnail'] != '') + $tomb['image'] = $item['thumbnail']; + + if ($id) { + foreach ($tomb as $k => $v) + $values[] = $db->quoteName($k) . "=" . $db->quote($v); + + $query->update('`www_archline_hu`.`aleducation_courses`')->set($values)->where(array('`id`=' . (int)$id)); + $db->setQuery($query); + $result = $db->execute(); + } else { + foreach ($tomb as $v) + $values[] = $db->quote($v); + + $query->insert('`www_archline_hu`.`aleducation_courses`')->columns($db->quoteName(array_keys($tomb)))->values(implode(',', $values)); + $db->setQuery($query); + $db->execute(); + + $result = $db->insertid(); + } + + return $result; + } + + public function getLang() + { + if (!isset($this->lang)) { + $this->lang = JFactory::getLanguage()->getTag(); + } + return $this->lang; + } +} diff --git a/cadline/components/administrator/components/com_alworkshops/models/onlinesessionedit.php b/cadline/components/administrator/components/com_alworkshops/models/onlinesessionedit.php index 7dc7cfc1..cd7a5457 100644 --- a/cadline/components/administrator/components/com_alworkshops/models/onlinesessionedit.php +++ b/cadline/components/administrator/components/com_alworkshops/models/onlinesessionedit.php @@ -1,118 +1,118 @@ -setQuery("SELECT * FROM ".TABLE." WHERE id=".(int)$id." LIMIT 1;"); - $result=$db->loadObjectList(); - return(count($result) ? $result[0] : FALSE); - } - - public function getSwitch($id=0) - { - if ((int)$id==0) return (FALSE); - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM `alworkshops_switch` WHERE id=".(int)$id." LIMIT 1;"); - $result=$db->loadObjectList(); - return(count($result) ? $result[0] : FALSE); - } - - public function saveItem($item=NULL,$id=NULL) - { - if (is_array($item)) - { - /*$switch=$this->getSwitch($item['switchid']); - $item['description']=$switch->title;*/ - $values=array(); - - $db=JFactory::getDbo(); - $query=$db->getQuery(true); - - if ($id) - { - foreach ($item as $k=>$v) $values[]=$db->quoteName($k)."=".$db->quote($v); - $query->update(TABLE)->set($values)->where(array('`id`='.(int)$id)); - $db->setQuery($query); - $result=$db->execute(); - } - else - { - foreach ($item as $v) $values[]=$db->quote($v); - $query->insert(TABLE)->columns($db->quoteName(array_keys($item)))->values(implode(',', $values)); - $db->setQuery($query); - $db->execute(); - $result=$db->insertid(); - } - return ($result); - } - else - { - return (FALSE); - } - } - - public function getCourses() - { - $ret=array(); - $db=JFactory::getDBO(); - $webinar = ""; - - if($this->getLang() == 'hu-HU') { - $webinar = "webinariumok"; - } else { - $webinar = "webinars"; - } - $db->setQuery(" - SELECT c.* - FROM alworkshops_courses c - WHERE c.alias = '{$webinar}' - ORDER BY c.id DESC;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getTitles() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(c.`title`) AS `title` - FROM alworkshops_courses c - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE s.kurzus='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' - ORDER BY `title`;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getDescriptions() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(c.`title`) AS `title`,s.id AS switchid - FROM alworkshops_courses c - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE s.workshop='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' - ORDER BY `title`;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getLang() - { - if (!isset($this->lang)) { $this->lang=JFactory::getLanguage()->getTag(); } - return $this->lang; - } - - -} +setQuery("SELECT * FROM ".TABLE." WHERE id=".(int)$id." LIMIT 1;"); + $result=$db->loadObjectList(); + return(count($result) ? $result[0] : FALSE); + } + + public function getSwitch($id=0) + { + if ((int)$id==0) return (FALSE); + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM `alworkshops_switch` WHERE id=".(int)$id." LIMIT 1;"); + $result=$db->loadObjectList(); + return(count($result) ? $result[0] : FALSE); + } + + public function saveItem($item=NULL,$id=NULL) + { + if (is_array($item)) + { + /*$switch=$this->getSwitch($item['switchid']); + $item['description']=$switch->title;*/ + $values=array(); + + $db=JFactory::getDbo(); + $query=$db->getQuery(true); + + if ($id) + { + foreach ($item as $k=>$v) $values[]=$db->quoteName($k)."=".$db->quote($v); + $query->update(TABLE)->set($values)->where(array('`id`='.(int)$id)); + $db->setQuery($query); + $result=$db->execute(); + } + else + { + foreach ($item as $v) $values[]=$db->quote($v); + $query->insert(TABLE)->columns($db->quoteName(array_keys($item)))->values(implode(',', $values)); + $db->setQuery($query); + $db->execute(); + $result=$db->insertid(); + } + return ($result); + } + else + { + return (FALSE); + } + } + + public function getCourses() + { + $ret=array(); + $db=JFactory::getDBO(); + $webinar = ""; + + if($this->getLang() == 'hu-HU') { + $webinar = "webinariumok"; + } else { + $webinar = "webinars"; + } + $db->setQuery(" + SELECT c.* + FROM alworkshops_courses c + WHERE c.alias = '{$webinar}' + ORDER BY c.id DESC;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getTitles() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(c.`title`) AS `title` + FROM alworkshops_courses c + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE s.kurzus='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' + ORDER BY `title`;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getDescriptions() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(c.`title`) AS `title`,s.id AS switchid + FROM alworkshops_courses c + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE s.workshop='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' + ORDER BY `title`;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getLang() + { + if (!isset($this->lang)) { $this->lang=JFactory::getLanguage()->getTag(); } + return $this->lang; + } + + +} diff --git a/cadline/components/administrator/components/com_alworkshops/models/sessionedit.php b/cadline/components/administrator/components/com_alworkshops/models/sessionedit.php index 23fd2227..e5231cf5 100644 --- a/cadline/components/administrator/components/com_alworkshops/models/sessionedit.php +++ b/cadline/components/administrator/components/com_alworkshops/models/sessionedit.php @@ -1,112 +1,112 @@ -setQuery("SELECT * FROM ".TABLE." WHERE id=".(int)$id." LIMIT 1;"); - $result=$db->loadObjectList(); - return(count($result) ? $result[0] : FALSE); - } - - public function getSwitch($id=0) - { - if ((int)$id==0) return (FALSE); - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM `alworkshops_switch` WHERE id=".(int)$id." LIMIT 1;"); - $result=$db->loadObjectList(); - return(count($result) ? $result[0] : FALSE); - } - - public function saveItem($item=NULL,$id=NULL) - { - if (is_array($item)) - { - $switch=$this->getSwitch($item['switchid']); - $item['description']=$switch->title; - $values=array(); - - $db=JFactory::getDbo(); - $query=$db->getQuery(true); - - if ($id) - { - foreach ($item as $k=>$v) $values[]=$db->quoteName($k)."=".$db->quote($v); - $query->update(TABLE)->set($values)->where(array('`id`='.(int)$id)); - $db->setQuery($query); - $result=$db->execute(); - } - else - { - foreach ($item as $v) $values[]=$db->quote($v); - $query->insert(TABLE)->columns($db->quoteName(array_keys($item)))->values(implode(',', $values)); - $db->setQuery($query); - $db->execute(); - $result=$db->insertid(); - } - return ($result); - } - else - { - return (FALSE); - } - } - - public function getCourses() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT c.* - FROM alworkshops_courses c - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE s.kurzus='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' - ORDER BY c.`id` DESC;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getTitles() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(c.`title`) AS `title` - FROM alworkshops_courses c - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE s.kurzus='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' - ORDER BY `title`;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getDescriptions() - { - $ret=array(); - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(s.`title`) AS `title`,s.id AS switchid - FROM alworkshops_courses c - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE s.workshop='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' - ORDER BY `title`;"); - $ret=$db->loadObjectList(); - return ($ret); - } - - public function getLang() - { - if (!isset($this->lang)) { $this->lang=JFactory::getLanguage()->getTag(); } - return $this->lang; - } - - -} +setQuery("SELECT * FROM ".TABLE." WHERE id=".(int)$id." LIMIT 1;"); + $result=$db->loadObjectList(); + return(count($result) ? $result[0] : FALSE); + } + + public function getSwitch($id=0) + { + if ((int)$id==0) return (FALSE); + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM `alworkshops_switch` WHERE id=".(int)$id." LIMIT 1;"); + $result=$db->loadObjectList(); + return(count($result) ? $result[0] : FALSE); + } + + public function saveItem($item=NULL,$id=NULL) + { + if (is_array($item)) + { + $switch=$this->getSwitch($item['switchid']); + $item['description']=$switch->title; + $values=array(); + + $db=JFactory::getDbo(); + $query=$db->getQuery(true); + + if ($id) + { + foreach ($item as $k=>$v) $values[]=$db->quoteName($k)."=".$db->quote($v); + $query->update(TABLE)->set($values)->where(array('`id`='.(int)$id)); + $db->setQuery($query); + $result=$db->execute(); + } + else + { + foreach ($item as $v) $values[]=$db->quote($v); + $query->insert(TABLE)->columns($db->quoteName(array_keys($item)))->values(implode(',', $values)); + $db->setQuery($query); + $db->execute(); + $result=$db->insertid(); + } + return ($result); + } + else + { + return (FALSE); + } + } + + public function getCourses() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT c.* + FROM alworkshops_courses c + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE s.kurzus='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' + ORDER BY c.`id` DESC;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getTitles() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(c.`title`) AS `title` + FROM alworkshops_courses c + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE s.kurzus='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' + ORDER BY `title`;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getDescriptions() + { + $ret=array(); + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(s.`title`) AS `title`,s.id AS switchid + FROM alworkshops_courses c + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE s.workshop='Y' AND s.`lang`='".($this->getLang()=='hu-HU' ? 'hun' : 'eng')."' + ORDER BY `title`;"); + $ret=$db->loadObjectList(); + return ($ret); + } + + public function getLang() + { + if (!isset($this->lang)) { $this->lang=JFactory::getLanguage()->getTag(); } + return $this->lang; + } + + +} diff --git a/cadline/components/administrator/components/com_alworkshops/views/courseedit/tmpl/default.php b/cadline/components/administrator/components/com_alworkshops/views/courseedit/tmpl/default.php index 2af293f4..84920d3a 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/courseedit/tmpl/default.php +++ b/cadline/components/administrator/components/com_alworkshops/views/courseedit/tmpl/default.php @@ -1,221 +1,221 @@ - -
- -
-

item->kurzus=='Y' ? JText::_('COM_ALWORKSHOPS_COURSE') : JText::_('COM_ALWORKSHOPS_WORKSHOP'))?>

-
-
-
- - -
-
- - - - - - -
-
- - - - - -
-
- - -
-
- - -
- -
- - " maxlength="100" /> -
- -
- - " maxlength="100" /> -
- -
- - -
- - -
- -
-
- - -
-
- - -
-
- - " maxlength="100" /> -
-
- - -
- -
- - -
- -
- - " maxlength="100" /> -
-
- -
-
- - " maxlength="10" /> -
-
- - " maxlength="10" /> -
-
- - " maxlength="10" /> -
-
- - " maxlength="10" /> -
-
- -
- item && $this->item->published==='Y' ? 'checked="checked"' : '')?> /> - item || $this->item->published==='N' || trim($this->item->published)=='' ? 'checked="checked"' : '')?> /> -
-
- -
- - " maxlength="100" /> -
-
- -
- - switch->comment) && $this->switch->comment==='Y') : ?> -
- - editor->display('comment',$this->item->comment,'100%','150','50','15',false)?>

-
-
- - -
-
- - - - - -
-
-
- -
- - item->kurzus=='Y') :?> -

-
- - - - - - - - - - -
-
- - - -

-
- - - - - - - - - - - -
-
- -
- - - - - + +
+ +
+

item->kurzus=='Y' ? JText::_('COM_ALWORKSHOPS_COURSE') : JText::_('COM_ALWORKSHOPS_WORKSHOP'))?>

+
+
+
+ + +
+
+ + + + + + +
+
+ + + + + +
+
+ + +
+
+ + +
+ +
+ + " maxlength="100" /> +
+ +
+ + " maxlength="100" /> +
+ +
+ + +
+ + +
+ +
+
+ + +
+
+ + +
+
+ + " maxlength="100" /> +
+
+ + +
+ +
+ + +
+ +
+ + " maxlength="100" /> +
+
+ +
+
+ + " maxlength="10" /> +
+
+ + " maxlength="10" /> +
+
+ + " maxlength="10" /> +
+
+ + " maxlength="10" /> +
+
+ +
+ item && $this->item->published==='Y' ? 'checked="checked"' : '')?> /> + item || $this->item->published==='N' || trim($this->item->published)=='' ? 'checked="checked"' : '')?> /> +
+
+ +
+ + " maxlength="100" /> +
+
+ +
+ + switch->comment) && $this->switch->comment==='Y') : ?> +
+ + editor->display('comment',$this->item->comment,'100%','150','50','15',false)?>

+
+
+ + +
+
+ + + + + +
+
+
+ +
+ + item->kurzus=='Y') :?> +

+
+ + + + + + + + + + +
+
+ + + +

+
+ + + + + + + + + + + +
+
+ +
+ + + + + diff --git a/cadline/components/administrator/components/com_alworkshops/views/courseedit/view.html.php b/cadline/components/administrator/components/com_alworkshops/views/courseedit/view.html.php index c54515d5..930f73b0 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/courseedit/view.html.php +++ b/cadline/components/administrator/components/com_alworkshops/views/courseedit/view.html.php @@ -1,90 +1,90 @@ -addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/style.css'); - JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/ajax.js'); - JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/main.js'); - -// JFactory::getDocument()->addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/jquery-ui.css'); -// JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/jquery-ui.js'); - - $this->id=(int)$_GET['id']; - - $model=$this->getModel(); - - if (isset($_POST['save']) || isset($_POST['saveexit']) || isset($_POST['savenew'])) - { - $tomb = array( - "title"=>trim(addslashes( ($_POST['title_new']>'' ? $_POST['title_new'] : $_POST['title']) )), - "alias"=>trim(addslashes($_POST['alias'])), - "price"=>trim(addslashes($_POST['price'])), - "vat"=>(int)$_POST['vat'], - "min_attend"=>(int)$_POST['min_attend'], - "capacity"=>trim(addslashes($_POST['capacity'])), - "location"=>trim(addslashes($_POST['location'])), - "email_template"=>trim(addslashes($_POST['email_template'])), - "start_date"=>trim(addslashes($_POST['start_date'])), - "start_time"=>trim(addslashes($_POST['start_time'])), - "finish_date"=>trim(addslashes($_POST['finish_date'])), - "finish_time"=>trim(addslashes($_POST['finish_time'])), - "published"=>strtoupper(trim(addslashes($_POST['published']))), - "comment"=>trim($_POST['comment']), - "course_level"=>trim($_POST['course_level']), - "course_info"=>trim($_POST['course_info']), - "course_name"=>trim($_POST['course_name']), - "yt_link"=>trim($_POST['yt_link']), - "external_link"=>trim($_POST['external_link']) - ); - - if ($_FILES['thumbnail']['size'] > 0) { - $thumbnail_dir = "/public/img/webinar_thumbnails/"; - $target_dir = $_SERVER["DOCUMENT_ROOT"].$thumbnail_dir; - $target_file = $target_dir.basename($_FILES["thumbnail"]["name"]); - - $tomb['thumbnail'] = $thumbnail_dir.basename($_FILES["thumbnail"]["name"]); - - if (!file_exists($target_file)) { - move_uploaded_file($_FILES["thumbnail"]["tmp_name"], $target_file); - } - } - - if ($this->id) - { - $model->saveItem($tomb,$this->id); - } - else - { - $newID=$model->saveItem($tomb,NULL); - } - - if (isset($_POST['save']) && !$this->id) { JFactory::getApplication()->redirect('index.php?option='.JFactory::getApplication()->input->get('option').'&view='.JFactory::getApplication()->input->get('view').'&id='.$newID); } - if (isset($_POST['savenew'])) { JFactory::getApplication()->redirect('index.php?option='.JFactory::getApplication()->input->get('option').'&view='.JFactory::getApplication()->input->get('view').'&id=0'); } - if (isset($_POST['saveexit'])){ JFactory::getApplication()->redirect('index.php?option='.JFactory::getApplication()->input->get('option').'&view='.substr(JFactory::getApplication()->input->get('view'),0,-4)); } - } - - $this->item=$model->getItem($this->id); - $this->aliases=$model->getAliases(); - $this->switch=$model->getSwitch($this->item->alias); - $this->titles=$model->getTitles(); - $this->templates=$model->getTemplates(); - if (isset($this->switch->comment) && $this->switch->comment==='Y') $this->editor=&JFactory::getEditor(); - $this->addToolBar(); - parent::display($tpl); - } - - protected function addToolBar() - { - JToolBarHelper::title(JText::_('COM_ALWORKSHOPS').' - '.($this->id=="0" ? jText::_('COM_ALWORKSHOPS_NEW') : jText::_('COM_ALWORKSHOPS_EDIT').": ".$this->item->title )." - ".$this->id); - } -} -?> +addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/style.css'); + JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/ajax.js'); + JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/main.js'); + +// JFactory::getDocument()->addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/jquery-ui.css'); +// JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/jquery-ui.js'); + + $this->id=(int)$_GET['id']; + + $model=$this->getModel(); + + if (isset($_POST['save']) || isset($_POST['saveexit']) || isset($_POST['savenew'])) + { + $tomb = array( + "title"=>trim(addslashes( ($_POST['title_new']>'' ? $_POST['title_new'] : $_POST['title']) )), + "alias"=>trim(addslashes($_POST['alias'])), + "price"=>trim(addslashes($_POST['price'])), + "vat"=>(int)$_POST['vat'], + "min_attend"=>(int)$_POST['min_attend'], + "capacity"=>trim(addslashes($_POST['capacity'])), + "location"=>trim(addslashes($_POST['location'])), + "email_template"=>trim(addslashes($_POST['email_template'])), + "start_date"=>trim(addslashes($_POST['start_date'])), + "start_time"=>trim(addslashes($_POST['start_time'])), + "finish_date"=>trim(addslashes($_POST['finish_date'])), + "finish_time"=>trim(addslashes($_POST['finish_time'])), + "published"=>strtoupper(trim(addslashes($_POST['published']))), + "comment"=>trim($_POST['comment']), + "course_level"=>trim($_POST['course_level']), + "course_info"=>trim($_POST['course_info']), + "course_name"=>trim($_POST['course_name']), + "yt_link"=>trim($_POST['yt_link']), + "external_link"=>trim($_POST['external_link']) + ); + + if ($_FILES['thumbnail']['size'] > 0) { + $thumbnail_dir = "/public/img/webinar_thumbnails/"; + $target_dir = $_SERVER["DOCUMENT_ROOT"].$thumbnail_dir; + $target_file = $target_dir.basename($_FILES["thumbnail"]["name"]); + + $tomb['thumbnail'] = $thumbnail_dir.basename($_FILES["thumbnail"]["name"]); + + if (!file_exists($target_file)) { + move_uploaded_file($_FILES["thumbnail"]["tmp_name"], $target_file); + } + } + + if ($this->id) + { + $model->saveItem($tomb,$this->id); + } + else + { + $newID=$model->saveItem($tomb,NULL); + } + + if (isset($_POST['save']) && !$this->id) { JFactory::getApplication()->redirect('index.php?option='.JFactory::getApplication()->input->get('option').'&view='.JFactory::getApplication()->input->get('view').'&id='.$newID); } + if (isset($_POST['savenew'])) { JFactory::getApplication()->redirect('index.php?option='.JFactory::getApplication()->input->get('option').'&view='.JFactory::getApplication()->input->get('view').'&id=0'); } + if (isset($_POST['saveexit'])){ JFactory::getApplication()->redirect('index.php?option='.JFactory::getApplication()->input->get('option').'&view='.substr(JFactory::getApplication()->input->get('view'),0,-4)); } + } + + $this->item=$model->getItem($this->id); + $this->aliases=$model->getAliases(); + $this->switch=$model->getSwitch($this->item->alias); + $this->titles=$model->getTitles(); + $this->templates=$model->getTemplates(); + if (isset($this->switch->comment) && $this->switch->comment==='Y') $this->editor=&JFactory::getEditor(); + $this->addToolBar(); + parent::display($tpl); + } + + protected function addToolBar() + { + JToolBarHelper::title(JText::_('COM_ALWORKSHOPS').' - '.($this->id=="0" ? jText::_('COM_ALWORKSHOPS_NEW') : jText::_('COM_ALWORKSHOPS_EDIT').": ".$this->item->title )." - ".$this->id); + } +} +?> diff --git a/cadline/components/administrator/components/com_alworkshops/views/education/tmpl/default.php b/cadline/components/administrator/components/com_alworkshops/views/education/tmpl/default.php index cf790263..0404a70e 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/education/tmpl/default.php +++ b/cadline/components/administrator/components/com_alworkshops/views/education/tmpl/default.php @@ -1,91 +1,91 @@ - - -
- -
-
-
-
- - -
- -
- - -
- -
- -
-
- - -
- -
- - -
-
- -
-
- -
- - - -
-
-
- -
- - - -
-
-
- -
- -
-
- - - -
-
- -
- -
-
-
- - - - - + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_alworkshops/views/education/view.html.php b/cadline/components/administrator/components/com_alworkshops/views/education/view.html.php index 738f6870..0dc00680 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/education/view.html.php +++ b/cadline/components/administrator/components/com_alworkshops/views/education/view.html.php @@ -1,28 +1,28 @@ -addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/style.css'); -// JFactory::getDocument()->addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/jquery-ui.css'); - JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/ajax.js'); - JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/main.js'); -// JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/jquery-ui.js'); - - $this->addToolBar(); - - parent::display($tpl); - } - - protected function addToolBar() - { - JToolBarHelper::title(JText::_('COM_ALWORKSHOPS').' - '.JText::_('COM_ALWORKSHOPS_EDUCATION')); - JToolBarHelper::back(JText::_('COM_ALWORKSHOPS_NEW'), 'index.php?option='.JFactory::getApplication()->input->get('option').'&view='.JFactory::getApplication()->input->get('view').'edit&id=0'); - } -} +addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/style.css'); +// JFactory::getDocument()->addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/jquery-ui.css'); + JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/ajax.js'); + JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/main.js'); +// JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/jquery-ui.js'); + + $this->addToolBar(); + + parent::display($tpl); + } + + protected function addToolBar() + { + JToolBarHelper::title(JText::_('COM_ALWORKSHOPS').' - '.JText::_('COM_ALWORKSHOPS_EDUCATION')); + JToolBarHelper::back(JText::_('COM_ALWORKSHOPS_NEW'), 'index.php?option='.JFactory::getApplication()->input->get('option').'&view='.JFactory::getApplication()->input->get('view').'edit&id=0'); + } +} diff --git a/cadline/components/administrator/components/com_alworkshops/views/educationedit/tmpl/default.php b/cadline/components/administrator/components/com_alworkshops/views/educationedit/tmpl/default.php index f49a2b9f..8b829d8d 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/educationedit/tmpl/default.php +++ b/cadline/components/administrator/components/com_alworkshops/views/educationedit/tmpl/default.php @@ -1,286 +1,286 @@ - - - - -
- -
-
-
-
- - -
- -
- - -
- -
- -
- item && $this->item->published === 'Y' ? 'checked="checked"' : '') ?> /> - item || $this->item->published === 'N' || trim($this->item->published) == '' ? 'checked="checked"' : '') ?> /> -
-
- - item->id > 0) : ?> - - - item->courses as $course) : ?> -
-
- - -
- - -
- - lessons->name); $i++) : ?> - . - -
-
-
- - Delete Lesson -
-
- -
- - - - -
-
- - -
- - -
-
- -
- -
-
- - -
- - - -
- - " maxlength="100" /> -
-
- - item->id > 0 && $this->item->files && !empty($this->item->files)) : ?> -
- item->files->name); $i++) : ?> - . -
-
- - -
- -
- - -
- -
- - -
-
-
- -
- -
- 1. -
-
- - -
- -
- - -
- -
- - -
-
-
-
- -
- -
- - -
- Add File -
-
-
-
- -
- -
-
- - - - - -
-
-
-
- - \ No newline at end of file diff --git a/cadline/components/administrator/components/com_alworkshops/views/educationedit/view.html.php b/cadline/components/administrator/components/com_alworkshops/views/educationedit/view.html.php index 95c3d764..361803f3 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/educationedit/view.html.php +++ b/cadline/components/administrator/components/com_alworkshops/views/educationedit/view.html.php @@ -1,80 +1,80 @@ -addStyleSheet('/administrator/components/' . JFactory::getApplication()->input->get('option') . '/assets/css/style.css'); - // JFactory::getDocument()->addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/jquery-ui.css'); - // JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/jquery-ui.js'); - - $this->id = (int)$_GET['id']; - - $model = $this->getModel(); - - if (isset($_POST['save']) || isset($_POST['saveexit']) || isset($_POST['savenew']) && $_POST['ename'] != '') { - $tomb = array( - "title" => trim(addslashes($_POST['ename'])), - "courses" => $_POST['courses'], - "published" => strtoupper(trim(addslashes($_POST['published']))), - "lessons" => $_POST['lesson'], - "fileNames" => $_POST['file_name'], - "fileLinks" => $_POST['file_link'], - "articleID" => $_POST['article_id'], - "overviewID" => $_POST['overview_id'] - ); - - if ($_FILES['thumbnail']['size'] > 0) { - $thumbnail_dir = "/public/img/education_thumbnails/"; - $target_dir = $_SERVER["DOCUMENT_ROOT"] . $thumbnail_dir; - $target_file = $target_dir . basename($_FILES["thumbnail"]["name"]); - - $tomb['thumbnail'] = $thumbnail_dir . basename($_FILES["thumbnail"]["name"]); - - if (!file_exists($target_file)) { - move_uploaded_file($_FILES["thumbnail"]["tmp_name"], $target_file); - } - } - - if ($this->id && $this->id > 0) { - $model->saveItem($tomb, $this->id); - } else { - $newID = $model->saveItem($tomb, NULL); - } - - if (isset($_POST['save']) && !$this->id) { - JFactory::getApplication()->redirect('index.php?option=' . JFactory::getApplication()->input->get('option') . '&view=' . JFactory::getApplication()->input->get('view') . '&id=' . $newID); - } - - if (isset($_POST['savenew'])) { - JFactory::getApplication()->redirect('index.php?option=' . JFactory::getApplication()->input->get('option') . '&view=' . JFactory::getApplication()->input->get('view') . '&id=0'); - } - - if (isset($_POST['saveexit'])) { - JFactory::getApplication()->redirect('index.php?option=' . JFactory::getApplication()->input->get('option') . '&view=' . substr(JFactory::getApplication()->input->get('view'), 0, -4)); - } - } - - $this->item = $model->getItem($this->id); - - if ($this->id && $this->id > 0) { - $this->item->courses = json_decode($this->item->lessons)->courses; - $this->item->files = json_decode($this->item->fileDownloadLink)->files; - } - - $this->addToolBar(); - - parent::display($tpl); - } - - protected function addToolBar() - { - JToolBarHelper::title(JText::_('COM_ALWORKSHOPS') . ' - ' . JText::_('COM_ALWORKSHOPS_EDUCATION') . ' - ' . ($this->id == "0" ? jText::_('COM_ALWORKSHOPS_NEW') : jText::_('COM_ALWORKSHOPS_EDIT') . ": " . $this->id)); - } -} +addStyleSheet('/administrator/components/' . JFactory::getApplication()->input->get('option') . '/assets/css/style.css'); + // JFactory::getDocument()->addStyleSheet('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/css/jquery-ui.css'); + // JFactory::getDocument()->addScript('/administrator/components/'.JFactory::getApplication()->input->get('option').'/assets/js/jquery-ui.js'); + + $this->id = (int)$_GET['id']; + + $model = $this->getModel(); + + if (isset($_POST['save']) || isset($_POST['saveexit']) || isset($_POST['savenew']) && $_POST['ename'] != '') { + $tomb = array( + "title" => trim(addslashes($_POST['ename'])), + "courses" => $_POST['courses'], + "published" => strtoupper(trim(addslashes($_POST['published']))), + "lessons" => $_POST['lesson'], + "fileNames" => $_POST['file_name'], + "fileLinks" => $_POST['file_link'], + "articleID" => $_POST['article_id'], + "overviewID" => $_POST['overview_id'] + ); + + if ($_FILES['thumbnail']['size'] > 0) { + $thumbnail_dir = "/public/img/education_thumbnails/"; + $target_dir = $_SERVER["DOCUMENT_ROOT"] . $thumbnail_dir; + $target_file = $target_dir . basename($_FILES["thumbnail"]["name"]); + + $tomb['thumbnail'] = $thumbnail_dir . basename($_FILES["thumbnail"]["name"]); + + if (!file_exists($target_file)) { + move_uploaded_file($_FILES["thumbnail"]["tmp_name"], $target_file); + } + } + + if ($this->id && $this->id > 0) { + $model->saveItem($tomb, $this->id); + } else { + $newID = $model->saveItem($tomb, NULL); + } + + if (isset($_POST['save']) && !$this->id) { + JFactory::getApplication()->redirect('index.php?option=' . JFactory::getApplication()->input->get('option') . '&view=' . JFactory::getApplication()->input->get('view') . '&id=' . $newID); + } + + if (isset($_POST['savenew'])) { + JFactory::getApplication()->redirect('index.php?option=' . JFactory::getApplication()->input->get('option') . '&view=' . JFactory::getApplication()->input->get('view') . '&id=0'); + } + + if (isset($_POST['saveexit'])) { + JFactory::getApplication()->redirect('index.php?option=' . JFactory::getApplication()->input->get('option') . '&view=' . substr(JFactory::getApplication()->input->get('view'), 0, -4)); + } + } + + $this->item = $model->getItem($this->id); + + if ($this->id && $this->id > 0) { + $this->item->courses = json_decode($this->item->lessons)->courses; + $this->item->files = json_decode($this->item->fileDownloadLink)->files; + } + + $this->addToolBar(); + + parent::display($tpl); + } + + protected function addToolBar() + { + JToolBarHelper::title(JText::_('COM_ALWORKSHOPS') . ' - ' . JText::_('COM_ALWORKSHOPS_EDUCATION') . ' - ' . ($this->id == "0" ? jText::_('COM_ALWORKSHOPS_NEW') : jText::_('COM_ALWORKSHOPS_EDIT') . ": " . $this->id)); + } +} diff --git a/cadline/components/administrator/components/com_alworkshops/views/sessionedit/tmpl/default.php b/cadline/components/administrator/components/com_alworkshops/views/sessionedit/tmpl/default.php index a6697f61..5310bed4 100644 --- a/cadline/components/administrator/components/com_alworkshops/views/sessionedit/tmpl/default.php +++ b/cadline/components/administrator/components/com_alworkshops/views/sessionedit/tmpl/default.php @@ -1,89 +1,89 @@ - -
- -
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- -
- item && $this->item->published==='Y' ? 'checked="checked"' : '')?> /> - item || $this->item->published==='N' || trim($this->item->published)=='' ? 'checked="checked"' : '')?> /> -
-
-
- -
- -
-
- - - - - -
-
-
-
- - - - - + +
+ +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ item && $this->item->published==='Y' ? 'checked="checked"' : '')?> /> + item || $this->item->published==='N' || trim($this->item->published)=='' ? 'checked="checked"' : '')?> /> +
+
+
+ +
+ +
+
+ + + + + +
+
+
+
+ + + + + diff --git a/cadline/components/administrator/components/com_followedlinks/assets/ajax/AjaxFollowedlinksController.class.php b/cadline/components/administrator/components/com_followedlinks/assets/ajax/AjaxFollowedlinksController.class.php index cf6cd87a..6cceed57 100644 --- a/cadline/components/administrator/components/com_followedlinks/assets/ajax/AjaxFollowedlinksController.class.php +++ b/cadline/components/administrator/components/com_followedlinks/assets/ajax/AjaxFollowedlinksController.class.php @@ -1,85 +1,85 @@ -pf]["_POST"]) || trim($_POST['refresh'])=='' ) $_SESSION[$this->pf]["_POST"]=$_POST; - $se=&$_SESSION[$this->pf]['_POST']; - $felt=""; - $arrIcons=array( - 'smallEdit'=>array("href"=>"index.php?option=com_followedlinks&view=linkedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"id","alttext"=>"Edit" ), - ); - - if ($this->auth()==FALSE) die(); - - if (!isset($_SESSION[$this->pf]['tableorder'])) $_SESSION[$this->pf]['tableorder']='id DESC'; - - if (isset($se['string']) && trim($se['string'])>"") $felt.=" AND (`name` LIKE '%".trim($se['string'])."%' OR `alias` LIKE '%".trim($se['string'])."%' OR `esem_cont` LIKE '%".trim($se['string'])."%' OR `redirect` LIKE '%".trim($se['string'])."%')"; - - $cl=($this->getLang()=='hun' ? 'hu-HU' : 'en-GB'); - $LANG=parse_ini_file($_SERVER['DOCUMENT_ROOT']."/administrator/language/".$cl."/".$cl.".com_followedlinks.ini"); - - $objTabla=New TableHelper(); - $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','tablediv'=>'tablediv')); - $v=$objTabla->setSession(); - $objTabla->setColumn('id',array('header'=>'Id','width'=>'40px','link'=>'index.php?option=com_followedlinks&view=linkedit&id=REPLACE')); - $objTabla->setColumn('name',array('header'=>$LANG['COM_FOLLOWEDLINKS_NAME'],'format'=>'text','align'=>'left','strlen'=>30,'width'=>'200px','link'=>'index.php?option=com_followedlinks&view=linkedit&id=REPLACE','linkjoin'=>'id')); - $objTabla->setColumn('alias',array('header'=>$LANG['COM_FOLLOWEDLINKS_ALIAS'],'format'=>'text','align'=>'left')); - $objTabla->setColumn('esem_id',array('header'=>str_replace(' ', '
', $LANG['COM_FOLLOWEDLINKS_EVENT_NUMBER']),'format'=>'number','decimal'=>0,'width'=>'50px')); - $objTabla->setColumn('esem_cont',array('header'=>$LANG['COM_FOLLOWEDLINKS_EVENT_CONTENT'],'format'=>'text','align'=>'left','strlen'=>30,'width'=>'200px')); - $objTabla->setColumn('redirect',array('header'=>$LANG['COM_FOLLOWEDLINKS_REDIRECT'],'format'=>'text','align'=>'left')); - $objTabla->setColumn('options',array('header'=>$LANG['COM_FOLLOWEDLINKS_OPTIONS'],'align'=>'right','width'=>'60px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'id')); - $objTabla->setQuery(array(" - SELECT id,name,alias,esem_id,esem_cont,REPLACE(REPLACE(`redirect`,'http://www.archline.hu',''),'http://www.archlinexp.com','') AS redirect,'smallEdit' AS options - FROM followed_links - WHERE `lang`='".$this->getLang()."' ".$felt - .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') - .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," - SELECT COUNT(*) AS recordCount - FROM ( - SELECT * - FROM followed_links - WHERE `lang`='".$this->getLang()."' ".$felt." - ) x" - )); -// $this->printSession($this->pf); -// print "
".print_r($_SESSION,true)."
"; - $objTabla->drawTable(TRUE); - } - - public function auth() - { - MySqlHelper::getInstance()->query(" - (SELECT * FROM jml_session where session_id='".trim(addslashes($_POST['sess']))."' LIMIT 1) - UNION - (SELECT * FROM eng_session where session_id='".trim(addslashes($_POST['sess']))."' LIMIT 1);"); - $sess=MySqlHelper::getInstance()->fetchAssoc(); - if (count($sess)) - { - MySqlHelper::getInstance()->query("SELECT * FROM jml_user_usergroup_map where group_id IN (7,8) AND user_id=".$sess[0]['userid'].";"); - $admin=MySqlHelper::getInstance()->fetchAssoc(); - return (count($admin) ? TRUE : FALSE); - } - else - { - return(FALSE); - } - } - - public function getLang() - { - if (!isset($this->lang)) { $this->lang=(strpos( $_SERVER['HTTP_HOST'], ".com") ? "eng" : "hun"); } - return $this->lang; - } -} // end of class - -$controller=new Controller(); -$controller->run(); -?> - +pf]["_POST"]) || trim($_POST['refresh'])=='' ) $_SESSION[$this->pf]["_POST"]=$_POST; + $se=&$_SESSION[$this->pf]['_POST']; + $felt=""; + $arrIcons=array( + 'smallEdit'=>array("href"=>"index.php?option=com_followedlinks&view=linkedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"id","alttext"=>"Edit" ), + ); + + if ($this->auth()==FALSE) die(); + + if (!isset($_SESSION[$this->pf]['tableorder'])) $_SESSION[$this->pf]['tableorder']='id DESC'; + + if (isset($se['string']) && trim($se['string'])>"") $felt.=" AND (`name` LIKE '%".trim($se['string'])."%' OR `alias` LIKE '%".trim($se['string'])."%' OR `esem_cont` LIKE '%".trim($se['string'])."%' OR `redirect` LIKE '%".trim($se['string'])."%')"; + + $cl=($this->getLang()=='hun' ? 'hu-HU' : 'en-GB'); + $LANG=parse_ini_file($_SERVER['DOCUMENT_ROOT']."/administrator/language/".$cl."/".$cl.".com_followedlinks.ini"); + + $objTabla=New TableHelper(); + $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','tablediv'=>'tablediv')); + $v=$objTabla->setSession(); + $objTabla->setColumn('id',array('header'=>'Id','width'=>'40px','link'=>'index.php?option=com_followedlinks&view=linkedit&id=REPLACE')); + $objTabla->setColumn('name',array('header'=>$LANG['COM_FOLLOWEDLINKS_NAME'],'format'=>'text','align'=>'left','strlen'=>30,'width'=>'200px','link'=>'index.php?option=com_followedlinks&view=linkedit&id=REPLACE','linkjoin'=>'id')); + $objTabla->setColumn('alias',array('header'=>$LANG['COM_FOLLOWEDLINKS_ALIAS'],'format'=>'text','align'=>'left')); + $objTabla->setColumn('esem_id',array('header'=>str_replace(' ', '
', $LANG['COM_FOLLOWEDLINKS_EVENT_NUMBER']),'format'=>'number','decimal'=>0,'width'=>'50px')); + $objTabla->setColumn('esem_cont',array('header'=>$LANG['COM_FOLLOWEDLINKS_EVENT_CONTENT'],'format'=>'text','align'=>'left','strlen'=>30,'width'=>'200px')); + $objTabla->setColumn('redirect',array('header'=>$LANG['COM_FOLLOWEDLINKS_REDIRECT'],'format'=>'text','align'=>'left')); + $objTabla->setColumn('options',array('header'=>$LANG['COM_FOLLOWEDLINKS_OPTIONS'],'align'=>'right','width'=>'60px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'id')); + $objTabla->setQuery(array(" + SELECT id,name,alias,esem_id,esem_cont,REPLACE(REPLACE(`redirect`,'http://www.archline.hu',''),'http://www.archlinexp.com','') AS redirect,'smallEdit' AS options + FROM followed_links + WHERE `lang`='".$this->getLang()."' ".$felt + .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') + .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," + SELECT COUNT(*) AS recordCount + FROM ( + SELECT * + FROM followed_links + WHERE `lang`='".$this->getLang()."' ".$felt." + ) x" + )); +// $this->printSession($this->pf); +// print "
".print_r($_SESSION,true)."
"; + $objTabla->drawTable(TRUE); + } + + public function auth() + { + MySqlHelper::getInstance()->query(" + (SELECT * FROM jml_session where session_id='".trim(addslashes($_POST['sess']))."' LIMIT 1) + UNION + (SELECT * FROM eng_session where session_id='".trim(addslashes($_POST['sess']))."' LIMIT 1);"); + $sess=MySqlHelper::getInstance()->fetchAssoc(); + if (count($sess)) + { + MySqlHelper::getInstance()->query("SELECT * FROM jml_user_usergroup_map where group_id IN (7,8) AND user_id=".$sess[0]['userid'].";"); + $admin=MySqlHelper::getInstance()->fetchAssoc(); + return (count($admin) ? TRUE : FALSE); + } + else + { + return(FALSE); + } + } + + public function getLang() + { + if (!isset($this->lang)) { $this->lang=(strpos( $_SERVER['HTTP_HOST'], ".com") ? "eng" : "hun"); } + return $this->lang; + } +} // end of class + +$controller=new Controller(); +$controller->run(); +?> + diff --git a/cadline/components/administrator/components/com_followedlinks/followedlinks.xml b/cadline/components/administrator/components/com_followedlinks/followedlinks.xml index 20011955..5a353862 100644 --- a/cadline/components/administrator/components/com_followedlinks/followedlinks.xml +++ b/cadline/components/administrator/components/com_followedlinks/followedlinks.xml @@ -1,44 +1,44 @@ - - - Followedlinks - - July 2015 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - - 0.0.6 - - Description of the Followedlinks component ... - - - - COM_FOLLOWEDLINKS_FOLLOWEDLINKS - - COM_FOLLOWEDLINKS_CONTROL_PANEL - COM_FOLLOWEDLINKS_FOLLOWEDLINKS - - - - - - - index.html - followedlinks.php - controller.php - assets - helpers - models - views - - - - hu-HU.com_followedlinks.ini - hu-HU.com_followedlinks.sys.ini - en-GB.com_followedlinks.ini - en-GB.com_followedlinks.sys.ini - - + + + Followedlinks + + July 2015 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + + 0.0.6 + + Description of the Followedlinks component ... + + + + COM_FOLLOWEDLINKS_FOLLOWEDLINKS + + COM_FOLLOWEDLINKS_CONTROL_PANEL + COM_FOLLOWEDLINKS_FOLLOWEDLINKS + + + + + + + index.html + followedlinks.php + controller.php + assets + helpers + models + views + + + + hu-HU.com_followedlinks.ini + hu-HU.com_followedlinks.sys.ini + en-GB.com_followedlinks.ini + en-GB.com_followedlinks.sys.ini + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_nonprofit/nonprofit.xml b/cadline/components/administrator/components/com_nonprofit/nonprofit.xml index e1680db0..f7edc13f 100644 --- a/cadline/components/administrator/components/com_nonprofit/nonprofit.xml +++ b/cadline/components/administrator/components/com_nonprofit/nonprofit.xml @@ -1,35 +1,35 @@ - - - Nonprofit - - February 2015 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - - 0.0.1 - - Description of the nonprofit component ... - - - hu-HU/hu-HU.com_nonprofit.ini - hu-HU/hu-HU.com_nonprofit.sys.ini - en-GB/en-GB.com_nonprofit.ini - en-GB/en-GB.com_nonprofit.sys.ini - - - - - - index.html - nonprofit.php - controller.php - views - models - - - - + + + Nonprofit + + February 2015 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + + 0.0.1 + + Description of the nonprofit component ... + + + hu-HU/hu-HU.com_nonprofit.ini + hu-HU/hu-HU.com_nonprofit.sys.ini + en-GB/en-GB.com_nonprofit.ini + en-GB/en-GB.com_nonprofit.sys.ini + + + + + + index.html + nonprofit.php + controller.php + views + models + + + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_presentation/presentation.xml b/cadline/components/administrator/components/com_presentation/presentation.xml index ae594e5f..5016bd43 100644 --- a/cadline/components/administrator/components/com_presentation/presentation.xml +++ b/cadline/components/administrator/components/com_presentation/presentation.xml @@ -1,37 +1,37 @@ - - - Presentation - - September 2015 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - - 0.0.1 - - Description of the presentation component ... - - - - - hu-HU/hu-HU.com_presentation.ini - hu-HU/hu-HU.com_presentation.sys.ini - en-GB/en-GB.com_presentation.ini - en-GB/en-GB.com_presentation.sys.ini - - - - - index.html - presentation.php - controller.php - views - models - assets - - - - + + + Presentation + + September 2015 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + + 0.0.1 + + Description of the presentation component ... + + + + + hu-HU/hu-HU.com_presentation.ini + hu-HU/hu-HU.com_presentation.sys.ini + en-GB/en-GB.com_presentation.ini + en-GB/en-GB.com_presentation.sys.ini + + + + + index.html + presentation.php + controller.php + views + models + assets + + + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_project/project.xml b/cadline/components/administrator/components/com_project/project.xml index c88d2789..3968e698 100644 --- a/cadline/components/administrator/components/com_project/project.xml +++ b/cadline/components/administrator/components/com_project/project.xml @@ -1,62 +1,62 @@ - - - Project - July 2015 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - 0.0.1 - COM_PROJECT_DESCRIPTION - - - - - - hu-HU.com_project.ini - hu-HU.com_project.sys.ini - en-GB.com_project.ini - en-GB.com_project.sys.ini - - - - COM_PROJECT_PROJECTS - - COM_PROJECT_CONTROL_PANEL - COM_PROJECT_PROJECTS - COM_PROJECT_TYPES - - - - - index.html - project.php - controller.php - assets - helpers - models - views - - - - - - - - - - index.html - project.php - controller.php - assets - views - models - - + + + Project + July 2015 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + 0.0.1 + COM_PROJECT_DESCRIPTION + + + + + + hu-HU.com_project.ini + hu-HU.com_project.sys.ini + en-GB.com_project.ini + en-GB.com_project.sys.ini + + + + COM_PROJECT_PROJECTS + + COM_PROJECT_CONTROL_PANEL + COM_PROJECT_PROJECTS + COM_PROJECT_TYPES + + + + + index.html + project.php + controller.php + assets + helpers + models + views + + + + + + + + + + index.html + project.php + controller.php + assets + views + models + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxProductsController.class.php b/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxProductsController.class.php index 3f3cab52..05b81b47 100644 --- a/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxProductsController.class.php +++ b/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxProductsController.class.php @@ -1,226 +1,226 @@ -pf]["_POST"]) || trim($_POST["refresh"]) == "") $_SESSION[$this->pf]["_POST"] = $_POST; - if (isset($_POST['uploadForm']) && !isset($_SESSION[$this->pf]["_POST"][$this->pf . "_tableipp"])) $_SESSION[$this->pf]['_POST'][$this->pf . "_tableipp"] = 5; - if (isset($_POST['uploadForm']) && !isset($_SESSION[$this->pf]["tableipp"])) $_SESSION[$this->pf]["tableipp"] = 5; - $se = &$_SESSION[$this->pf]['_POST']; - $felt = ""; - $arrIcons = array( - 'smallView' => array("href" => "REPLACE", "img" => IconHelper::getIcon("smallView"), "linkjoin" => "logo", "alttext" => "Preview"), - 'smallMissingView' => array("href" => "REPLACE", "img" => IconHelper::getIcon("smallMissingView"), "linkjoin" => "logo", "alttext" => "Preview"), - 'smallError' => array("href" => "REPLACE", "img" => IconHelper::getIcon("smallError"), "linkjoin" => "filedir", "alttext" => "Missing"), - 'smallEnable' => array("onclick" => "javascript:if (confirm('Are you sure?')) {setField('','" . $this->pf . "_event','disable','tablediv');setField('" . $this->pf . "','" . $this->pf . "_value','REPLACE','tablediv');}", "img" => IconHelper::getIcon("smallEnable")), - 'smallDisable' => array("onclick" => "javascript:if (confirm('Are you sure?')) {setField('','" . $this->pf . "_event','enable','tablediv');setField('" . $this->pf . "','" . $this->pf . "_value','REPLACE','tablediv');}", 'img' => IconHelper::getIcon("smallDisable")), - 'smallDel' => array("onclick" => "javascript:if (confirm('Are you sure?')) {setField('','" . $this->pf . "_event','delete','tablediv');setField('" . $this->pf . "','" . $this->pf . "_value','REPLACE','tablediv');}", 'img' => IconHelper::getIcon("smallDel")), - 'smallEdit' => array("href" => "index.php?option=com_showroom&view=productedit&id=REPLACE", "img" => IconHelper::getIcon("smallEdit"), "linkjoin" => "id", "alttext" => "Edit"), - ); - - if ($this->auth() == FALSE) die(); - - // multi-edit - if (isset($_POST['cb']) && is_array($_POST['cb']) && count($_POST['cb']) && (trim($_POST['me_tipus']) > '' || (int)$_POST['me_m_id'] > 0 || (int)$_POST['me_c_id'] > 0 || (int)$_POST['me_subcat'] > 0)) { - foreach ($_POST['cb'] as $k => $v) { - MySqlHelper::getInstance()->query("SELECT * FROM collection2 WHERE o_id=" . (int)$v . " LIMIT 1;"); - $orig = MySqlHelper::getInstance()->fetchAssoc(); - $orig = $orig[0]; - - $sql = "UPDATE collection2 SET "; - if (trim($_POST['me_tipus']) > '') $sql .= " tipus='" . trim(addslashes($_POST['me_tipus'])) . "',"; - if ((int)$_POST['me_m_id'] > 0) $sql .= " m_id='" . (int)$_POST['me_m_id'] . "',"; - if ((int)$_POST['me_c_id'] > 0) $sql .= " c_id='" . (int)$_POST['me_c_id'] . "',"; - if ((int)$_POST['me_subcat'] > 0) $sql .= " struct_id='" . (int)$_POST['me_subcat'] . "',"; - MySqlHelper::getInstance()->query(substr($sql, 0, -1) . " WHERE o_id=" . (int)$v . " LIMIT 1;"); - - if ((int)$_POST['me_m_id'] > 0 && $orig['m_id'] != (int)$_POST['me_m_id']) { - MySqlHelper::getInstance()->query("SELECT dir FROM coll2_man WHERE id=" . (int)$orig['m_id'] . " LIMIT 1;"); - $from = MySqlHelper::getInstance()->fetchAssoc(); - $from = $_SERVER['DOCUMENT_ROOT'] . "/public/img/collection/" . $from[0]['dir'] . "/" . (int)$v; - - MySqlHelper::getInstance()->query("SELECT dir FROM coll2_man WHERE id=" . (int)$_POST['me_m_id'] . " LIMIT 1;"); - $to = MySqlHelper::getInstance()->fetchAssoc(); - $to = $_SERVER['DOCUMENT_ROOT'] . "/public/img/collection/" . $to[0]['dir'] . "/" . (int)$v; - - if (is_dir($from) && !is_dir($to)) rename($from, $to); - - $from = str_replace("img/", "", $from); - $to = str_replace("img/", "", $to); - - if (is_dir($from) && !is_dir($to)) rename($from, $to); - } - } - } - - // click-edit (enable/disable) - if (isset($_POST[$this->pf . '_event']) and trim($_POST[$this->pf . '_event']) > '') { - $event = trim(strtolower(addslashes((string)$_POST[$this->pf . '_event']))); - $value = trim(strtolower(addslashes((string)$_POST[$this->pf . '_value']))); - if ((int)$value > 0) { - switch ($event) { - case 'enable': { - MySqlHelper::getInstance()->query("UPDATE collection2 SET deleted=0 WHERE o_id=" . $value); - break; - } - case 'disable': { - MySqlHelper::getInstance()->query("UPDATE collection2 SET deleted=1 WHERE o_id=" . $value); - break; - } - case 'delete': { - MySqlHelper::getInstance()->query("DELETE FROM collection2 WHERE o_id=" . $value . " LIMIT 1;"); - break; - } - } - } - } - - if (isset($se['oid']) && $se['oid'] > "") { - if (strpos($se['oid'], "-")) { - $reszek = explode("-", $se['oid']); - $felt .= ((int)$reszek[0] < (int)$reszek[1] ? " AND x.o_id>=" . (int)$reszek[0] . " AND x.o_id<=" . (int)$reszek[1] : " AND x.o_id>=" . (int)$reszek[1] . " AND x.o_id<=" . (int)$reszek[0]); - } else { - $felt .= " AND x.o_id=" . (int)$se['oid']; - } - } - - if (isset($se['name']) && $se['name'] > "") $felt .= " AND (x.title_" . $lang . " LIKE '%" . trim($se['name']) . "%')"; - if (isset($se['tipus']) && trim($se['tipus']) > "") $felt .= " AND x.tipus='" . trim($se['tipus']) . "'"; - if (isset($se['m_id']) && (int)$se['m_id'] > 0) $felt .= " AND x.m_id=" . (int)$se['m_id']; - if (isset($se['c_id']) && (int)$se['c_id'] > 0) $felt .= " AND x.c_id=" . (int)$se['c_id']; - if (isset($se['parent']) && (int)$se['parent'] > 0) $felt .= " AND p.`id`=" . (int)$se['parent']; - if (isset($se['subcat']) && (int)$se['subcat'] > 0) $felt .= " AND x.struct_id=" . (int)$se['subcat']; - if (isset($se['deleted']) && (int)$se['deleted'] >= 0) $felt .= " AND x.deleted=" . (int)$se['deleted']; - - $objTabla = new TableHelper(); - $objTabla->setParams(array('prefix' => $this->pf, 'csvExport' => TRUE, 'csvExportFilename' => 'showroom-products.csv', 'tablewidth' => '100%', 'imagePreview' => true, 'tablediv' => 'tablediv', 'footer' => (isset($_POST['uploadForm']) ? FALSE : TRUE), 'ipp' => (isset($_POST['uploadForm']) ? 5 : 500))); - $v = $objTabla->setSession(); - $objTabla->setColumn('checkbox', array('visible' => FALSE)); - if (isset($_POST['uploadForm'])) { - $objTabla->setColumn('id', array('header' => 'Id', 'width' => '40px', 'format' => 'onclick', 'onclick' => "setSelect('REPLACE');", 'linkjoin' => 'idcid')); - $objTabla->setColumn('title', array('header' => 'Név', 'align' => 'left', 'strlen' => 20, 'format' => 'onclick', 'onclick' => "setSelect('REPLACE');", 'width' => '140px', 'linkjoin' => 'idcid')); - } else { - $objTabla->setColumn('id', array('header' => 'Id', 'width' => '40px', 'link' => 'index.php?option=com_showroom&view=productedit&id=REPLACE')); - $objTabla->setColumn('title', array('header' => 'Név', 'format' => 'text', 'align' => 'left', 'strlen' => 20, 'width' => '140px', 'link' => 'index.php?option=com_showroom&view=productedit&id=REPLACE', 'linkjoin' => 'id')); - } - $objTabla->setColumn('idcid', array('visible' => false)); - $objTabla->setColumn('desc', array('visible' => false/*'header'=>'Leírás','format'=>'text','align'=>'left'*/)); - $objTabla->setColumn('filedir', array('visible' => false)); - $objTabla->setColumn('cat', array('header' => 'Kategória', 'format' => 'text', 'align' => 'left')); - $objTabla->setColumn('subcat', array('header' => 'Alkategória', 'format' => 'text', 'align' => 'left')); - $objTabla->setColumn('tipus', array('header' => 'Tipus', 'format' => 'text', 'align' => 'left', 'strlen' => 14, 'width' => '100px')); - $objTabla->setColumn('manufacture', array('header' => 'Gyártó', 'format' => 'text', 'align' => 'left', 'strlen' => 14, 'width' => '80px')); - $objTabla->setColumn('family', array('header' => 'Termékcsalád', 'format' => 'text', 'align' => 'left', 'strlen' => 14, 'width' => '100px')); - $objTabla->setColumn('datum', array('header' => 'Dátum', 'format' => 'text', 'align' => 'right', 'width' => '70px')); - $objTabla->setColumn('rendelheto', array('visible' => (isset($_POST['uploadForm']) ? FALSE : TRUE), 'header' => 'Rend.', 'width' => '50px', 'format' => 'text', 'align' => 'center', 'replacevalues' => array(0 => 'Nem', 1 => 'Igen'))); - $objTabla->setColumn('show', array('visible' => (isset($_POST['uploadForm']) ? FALSE : TRUE), 'header' => 'Megj.', 'width' => '50px', 'format' => 'number', 'decimal' => 0)); - $objTabla->setColumn('down', array('visible' => (isset($_POST['uploadForm']) ? FALSE : TRUE), 'header' => 'Letölt', 'width' => '50px', 'format' => 'number', 'decimal' => 0)); - $objTabla->setColumn('deleted', array('header' => 'Aktív', 'width' => '50px', 'align' => 'center', 'replacevalues' => array(0 => 'Igen', 1 => 'Nem'))); - $objTabla->setColumn('logo', array('visible' => false)); - $objTabla->setColumn('options', array('header' => 'Műveletek', 'align' => 'right', 'width' => '120px', 'order' => false, 'addicons' => $arrIcons, 'linkjoin' => 'id')); - $objTabla->setQuery(array( - " - SELECT 'x' AS checkbox,x.`o_id` AS `id`,CONCAT(x.`o_id`,'-',c.`c_id`) AS `idcid`,x.`title_" . $lang . "` AS `title`,t.`name_" . $lang . "` AS `tipus`,p.`parent` AS `cat`,s.`struct_" . $lang . "` AS `subcat`,m.`name` AS `manufacture`,c.`nev_" . $lang . "` AS `family`,DATE(x.`datum`) AS datum,x.`rendelheto`,x.`show`,x.`down`,x.`deleted`,REPLACE('" . $this->logoPath . "','REPLACE',CONCAT(m.`dir`,'/',x.`o_id`)) AS `logo`,CONCAT('{$this->filePath}',m.dir,'/',x.o_id,'/') AS `filedir`,CONCAT('smallError|smallView'" . (isset($_POST['uploadForm']) ? "" : ",'|',IF(x.deleted=1,'smallDisable','smallEnable'),'|','smallEdit','|','smallDel'") . ") AS options - FROM collection2 x - LEFT OUTER JOIN coll2_types t ON t.type=x.tipus - LEFT OUTER JOIN coll2_man m ON m.id=x.m_id - LEFT OUTER JOIN coll2_cat c ON c.c_id=x.c_id - LEFT OUTER JOIN coll2_struct s ON s.id=x.struct_id - LEFT OUTER JOIN (SELECT id,struct_" . $lang . " AS `parent` FROM coll2_struct WHERE parent=id) p ON p.id=s.parent - WHERE 1 " . $felt - . ((isset($v['tableorder']) and $v['tableorder'] > '') ? ' ORDER BY ' . $v['tableorder'] : '') - . ((isset($v['tableipp'])) ? ' LIMIT ' . ($v['tableipp'] > 0 ? ($v['tablepage'] - 1) * $v['tableipp'] : 0) . ',' . $v['tableipp'] : ''), - " - SELECT COUNT(*) AS recordCount,SUM(`show`) AS `show`,SUM(`down`) AS `down` - FROM ( - SELECT 'x' AS checkbox,x.`o_id` AS `id`,CONCAT(x.`o_id`,'-',c.`c_id`) AS `idcid`,x.`title_" . $lang . "` AS `title`,t.`name_" . $lang . "` AS `tipus`,p.`parent` AS cat,s.`struct_" . $lang . "` AS `subcat`,m.`name` AS `manufacture`,m.`dir` AS `folder`,c.`nev_" . $lang . "` AS `family`,DATE(x.`datum`) AS datum,x.`rendelheto`,x.`show`,x.`down`,x.`deleted`,REPLACE('" . $this->logoPath . "','REPLACE',CONCAT(m.`dir`,'/',x.`o_id`)) AS `logo`,CONCAT('smallView','|',IF(x.deleted=1,'smallDisable','smallEnable'),'|','smallEdit','|','smallDel') AS options - FROM collection2 x - LEFT OUTER JOIN coll2_types t ON t.type=x.tipus - LEFT OUTER JOIN coll2_man m ON m.id=x.m_id - LEFT OUTER JOIN coll2_cat c ON c.c_id=x.c_id - LEFT OUTER JOIN coll2_struct s ON s.id=x.struct_id - LEFT OUTER JOIN (SELECT id,struct_" . $lang . " AS `parent` FROM coll2_struct WHERE parent=id) p ON p.id=s.parent - WHERE 1 " . $felt . " - ) x" - )); - // print_r($_SERVER); - // print_r($objTabla->arrQuery); - // $this->printSession($this->pf); - // print "
".print_r($_POST,true)."
"; - - if ($objTabla->params['csvExport'] == TRUE) { - $csvContent = $objTabla->drawTable(FALSE); - $objTabla->saveCSV($csvContent, $objTabla->params['csvExportFilename']); - } - - $objTabla->setColumn('checkbox', array('visible' => (isset($_POST['uploadForm']) ? FALSE : TRUE), 'header' => '+
-', 'width' => '20px', 'format' => 'checkbox', 'align' => 'center', 'linkjoin' => 'id', 'order' => false)); - $objTabla->setParams(array('csvExport' => FALSE)); - $objTabla->drawTable(); - } - - public function auth() - { - MySqlHelper::getInstance()->query(" - (SELECT * FROM jml_session where session_id='" . trim(addslashes($_POST['sess'])) . "' LIMIT 1) - UNION - (SELECT * FROM eng_session where session_id='" . trim(addslashes($_POST['sess'])) . "' LIMIT 1)"); - $sess = MySqlHelper::getInstance()->fetchAssoc(); - if (count($sess)) { - MySqlHelper::getInstance()->query("SELECT * FROM jml_user_usergroup_map where group_id IN (7,8) AND user_id=" . $sess[0]['userid'] . ";"); - $admin = MySqlHelper::getInstance()->fetchAssoc(); - return (count($admin) ? TRUE : FALSE); - } else { - return (FALSE); - } - } -} // end of class -//print_r($_SESSION); -$controller = new Controller(); -$controller->run(); -?> - \ No newline at end of file diff --git a/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxTypesController.class.php b/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxTypesController.class.php index 7ba6a196..1ae489cd 100644 --- a/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxTypesController.class.php +++ b/cadline/components/administrator/components/com_showroom/assets/ajax/AjaxTypesController.class.php @@ -1,97 +1,97 @@ -pf]["_POST"]=$_POST; - $se=&$_SESSION[$this->pf]['_POST']; - $felt=""; - $arrIcons=array( - 'smallView'=>array("href"=>"REPLACE","img"=>IconHelper::getIcon("smallView"),"linkjoin"=>"img","alttext"=>"View" ), - 'smallMissingView'=>array("href"=>"REPLACE","img"=>IconHelper::getIcon("smallMissingView"),"linkjoin"=>"img","alttext"=>"Missing View" ), - 'smallEdit'=>array("href"=>"index.php?option=com_showroom&view=typeedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"type","alttext"=>"Edit" ), - 'smallDel'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','delete','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}",'img'=>IconHelper::getIcon("smallDel") ), - ); - - if (isset($_POST[$this->pf.'_event']) and trim($_POST[$this->pf.'_event'])>'') - { - $event=trim(strtolower(addslashes((string)$_POST[$this->pf.'_event']))); - $value=trim(strtolower(addslashes((string)$_POST[$this->pf.'_value']))); - switch ($event) - { - - case 'delete' : { MySqlHelper::getInstance()->query("DELETE FROM coll2_types WHERE type='".$value."' LIMIT 1;");break; } - } - - } - - $objTabla=New TableHelper(); - $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','imagePreview'=>true,'tablediv'=>$this->targetdiv)); - $v=$objTabla->setSession(); - $objTabla->setColumn('img',array('visible'=>false)); - $objTabla->setColumn('type',array('header'=>'Típus','width'=>'100px','link'=>'index.php?option=com_showroom&view=typeedit&id=REPLACE')); - $objTabla->setColumn('type_download',array('header'=>'Letöltési
könyvtár','width'=>'100px')); - $objTabla->setColumn('name',array('header'=>'Név','width'=>'150px')); - $objTabla->setColumn('desc',array('header'=>'Leírás','strlen'=>40)); - $objTabla->setColumn('filename',array('header'=>'File név','width'=>'100px')); - $objTabla->setColumn('all',array('header'=>'Összes
elem','width'=>'80px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('active',array('header'=>'Aktiv
elem','width'=>'80px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('megjelenes',array('header'=>'Megjelenés','width'=>'80px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('letoltes',array('header'=>'Letöltés','width'=>'80px','format'=>'number','decimal'=>0)); - $objTabla->setColumn('options',array('header'=>'Műveletek','align'=>'right','width'=>'100px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'type')); - $objTabla->setQuery(array(" - SELECT c.`type`,c.`type_download`,c.`name_".$lang."` AS `name`,c.`desc_".$lang."` AS `desc`,REPLACE('".$this->typePath."','REPLACE',c.`type`) AS `img`,CONCAT(c.`type`,'.png') AS `filename`,IF(`all`.darab>0,`all`.darab,0) AS `all`,IF(`active`.darab>0,`active`.darab,0) AS `active`,`all`.`megjelenes`,`all`.`letoltes`,CONCAT('smallView','|','smallEdit','|','smallDel') AS options - FROM coll2_types c - LEFT OUTER JOIN ( - SELECT x.tipus AS tipus,COUNT(*) AS darab,SUM(`show`) AS megjelenes,SUM(`down`) AS letoltes - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - GROUP BY x.tipus - ) `all` ON `all`.tipus=c.type - LEFT OUTER JOIN ( - SELECT x.tipus AS tipus,COUNT(*) AS darab - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 - GROUP BY x.tipus - ) `active` ON `active`.tipus=c.type - WHERE 1 ".$felt - .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') - .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," - SELECT COUNT(*) AS recordCount,SUM(`all`) AS `all`,SUM(`active`) AS `active`,SUM(`megjelenes`) AS `megjelenes`,SUM(`letoltes`) AS `letoltes` - FROM ( - SELECT c.`type`,c.`type_download`,c.`name_".$lang."` AS `name`,c.`desc_".$lang."` AS `desc`,REPLACE('".$this->typePath."','REPLACE',c.`type`) AS `img`,CONCAT(c.`type`,'.png') AS `filename`,IF(`all`.darab>0,`all`.darab,0) AS `all`,IF(`active`.darab>0,`active`.darab,0) AS `active`,`all`.`megjelenes`,`all`.`letoltes`,CONCAT('smallView','|','smallEdit','|','smallDel') AS options - FROM coll2_types c - LEFT OUTER JOIN ( - SELECT x.tipus AS tipus,COUNT(*) AS darab,SUM(`show`) AS megjelenes,SUM(`down`) AS letoltes - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - GROUP BY x.tipus - ) `all` ON `all`.tipus=c.type - LEFT OUTER JOIN ( - SELECT x.tipus AS tipus,COUNT(*) AS darab - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 - GROUP BY x.tipus - ) `active` ON `active`.tipus=c.type - WHERE 1 ".$felt." - ) z" - )); -// $this->printSession($this->pf); - $objTabla->drawTable(TRUE); - } -} - -$controller=new Controller(); -$controller->run(); +pf]["_POST"]=$_POST; + $se=&$_SESSION[$this->pf]['_POST']; + $felt=""; + $arrIcons=array( + 'smallView'=>array("href"=>"REPLACE","img"=>IconHelper::getIcon("smallView"),"linkjoin"=>"img","alttext"=>"View" ), + 'smallMissingView'=>array("href"=>"REPLACE","img"=>IconHelper::getIcon("smallMissingView"),"linkjoin"=>"img","alttext"=>"Missing View" ), + 'smallEdit'=>array("href"=>"index.php?option=com_showroom&view=typeedit&id=REPLACE", "img"=>IconHelper::getIcon("smallEdit"), "linkjoin"=>"type","alttext"=>"Edit" ), + 'smallDel'=>array("onclick"=>"javascript:if (confirm('Are you sure?')) {setField('','".$this->pf."_event','delete','".$this->targetdiv."');setField('".$this->pf."','".$this->pf."_value','REPLACE','".$this->targetdiv."');}",'img'=>IconHelper::getIcon("smallDel") ), + ); + + if (isset($_POST[$this->pf.'_event']) and trim($_POST[$this->pf.'_event'])>'') + { + $event=trim(strtolower(addslashes((string)$_POST[$this->pf.'_event']))); + $value=trim(strtolower(addslashes((string)$_POST[$this->pf.'_value']))); + switch ($event) + { + + case 'delete' : { MySqlHelper::getInstance()->query("DELETE FROM coll2_types WHERE type='".$value."' LIMIT 1;");break; } + } + + } + + $objTabla=New TableHelper(); + $objTabla->setParams(array('prefix'=>$this->pf,'tablewidth'=>'100%','imagePreview'=>true,'tablediv'=>$this->targetdiv)); + $v=$objTabla->setSession(); + $objTabla->setColumn('img',array('visible'=>false)); + $objTabla->setColumn('type',array('header'=>'Típus','width'=>'100px','link'=>'index.php?option=com_showroom&view=typeedit&id=REPLACE')); + $objTabla->setColumn('type_download',array('header'=>'Letöltési
könyvtár','width'=>'100px')); + $objTabla->setColumn('name',array('header'=>'Név','width'=>'150px')); + $objTabla->setColumn('desc',array('header'=>'Leírás','strlen'=>40)); + $objTabla->setColumn('filename',array('header'=>'File név','width'=>'100px')); + $objTabla->setColumn('all',array('header'=>'Összes
elem','width'=>'80px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('active',array('header'=>'Aktiv
elem','width'=>'80px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('megjelenes',array('header'=>'Megjelenés','width'=>'80px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('letoltes',array('header'=>'Letöltés','width'=>'80px','format'=>'number','decimal'=>0)); + $objTabla->setColumn('options',array('header'=>'Műveletek','align'=>'right','width'=>'100px','order'=>false,'addicons'=>$arrIcons,'linkjoin'=>'type')); + $objTabla->setQuery(array(" + SELECT c.`type`,c.`type_download`,c.`name_".$lang."` AS `name`,c.`desc_".$lang."` AS `desc`,REPLACE('".$this->typePath."','REPLACE',c.`type`) AS `img`,CONCAT(c.`type`,'.png') AS `filename`,IF(`all`.darab>0,`all`.darab,0) AS `all`,IF(`active`.darab>0,`active`.darab,0) AS `active`,`all`.`megjelenes`,`all`.`letoltes`,CONCAT('smallView','|','smallEdit','|','smallDel') AS options + FROM coll2_types c + LEFT OUTER JOIN ( + SELECT x.tipus AS tipus,COUNT(*) AS darab,SUM(`show`) AS megjelenes,SUM(`down`) AS letoltes + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + GROUP BY x.tipus + ) `all` ON `all`.tipus=c.type + LEFT OUTER JOIN ( + SELECT x.tipus AS tipus,COUNT(*) AS darab + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 + GROUP BY x.tipus + ) `active` ON `active`.tipus=c.type + WHERE 1 ".$felt + .((isset($v['tableorder']) and $v['tableorder']>'') ? ' ORDER BY '.$v['tableorder'] : '') + .((isset($v['tableipp'])) ? ' LIMIT '.($v['tableipp']>0 ? ($v['tablepage']-1)*$v['tableipp'] : 0) .','.$v['tableipp'] : '')," + SELECT COUNT(*) AS recordCount,SUM(`all`) AS `all`,SUM(`active`) AS `active`,SUM(`megjelenes`) AS `megjelenes`,SUM(`letoltes`) AS `letoltes` + FROM ( + SELECT c.`type`,c.`type_download`,c.`name_".$lang."` AS `name`,c.`desc_".$lang."` AS `desc`,REPLACE('".$this->typePath."','REPLACE',c.`type`) AS `img`,CONCAT(c.`type`,'.png') AS `filename`,IF(`all`.darab>0,`all`.darab,0) AS `all`,IF(`active`.darab>0,`active`.darab,0) AS `active`,`all`.`megjelenes`,`all`.`letoltes`,CONCAT('smallView','|','smallEdit','|','smallDel') AS options + FROM coll2_types c + LEFT OUTER JOIN ( + SELECT x.tipus AS tipus,COUNT(*) AS darab,SUM(`show`) AS megjelenes,SUM(`down`) AS letoltes + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + GROUP BY x.tipus + ) `all` ON `all`.tipus=c.type + LEFT OUTER JOIN ( + SELECT x.tipus AS tipus,COUNT(*) AS darab + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 + GROUP BY x.tipus + ) `active` ON `active`.tipus=c.type + WHERE 1 ".$felt." + ) z" + )); +// $this->printSession($this->pf); + $objTabla->drawTable(TRUE); + } +} + +$controller=new Controller(); +$controller->run(); ?> \ No newline at end of file diff --git a/cadline/components/administrator/components/com_showroom/showroom.xml b/cadline/components/administrator/components/com_showroom/showroom.xml index 3fa4c577..19e8b1d9 100644 --- a/cadline/components/administrator/components/com_showroom/showroom.xml +++ b/cadline/components/administrator/components/com_showroom/showroom.xml @@ -1,49 +1,49 @@ - - - Showroom - - April 2017 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - - 0.1.0 - - Description of the Showroom component ... - - - - - - language/hu-HU.com_showroom.ini - language/en-GB.com_showroom.ini - index.html - router.php - showroom.php - controller.php - views - models - assets - - - - - Showroom - - - - language/hu-HU.com_showroom.ini - language/en-GB.com_showroom.ini - - index.html - showroom.php - controller.php - assets - helpers - models - views - - + + + Showroom + + April 2017 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + + 0.1.0 + + Description of the Showroom component ... + + + + + + language/hu-HU.com_showroom.ini + language/en-GB.com_showroom.ini + index.html + router.php + showroom.php + controller.php + views + models + assets + + + + + Showroom + + + + language/hu-HU.com_showroom.ini + language/en-GB.com_showroom.ini + + index.html + showroom.php + controller.php + assets + helpers + models + views + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_tcexam/tcexam.xml b/cadline/components/administrator/components/com_tcexam/tcexam.xml index b9a96412..90ba7cff 100644 --- a/cadline/components/administrator/components/com_tcexam/tcexam.xml +++ b/cadline/components/administrator/components/com_tcexam/tcexam.xml @@ -1,28 +1,28 @@ - - - Tcexam - - June 2015 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - - 0.0.1 - - Description of the Tcexam component ... - - - - - index.html - tcexam.php - controller.php - views - models - - - - + + + Tcexam + + June 2015 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + + 0.0.1 + + Description of the Tcexam component ... + + + + + index.html + tcexam.php + controller.php + views + models + + + + \ No newline at end of file diff --git a/cadline/components/administrator/components/com_versions/versions.xml b/cadline/components/administrator/components/com_versions/versions.xml index 65bfce81..4ec46292 100644 --- a/cadline/components/administrator/components/com_versions/versions.xml +++ b/cadline/components/administrator/components/com_versions/versions.xml @@ -1,44 +1,44 @@ - - - Versions - - January 2016 - Fekete Zsolt - mcleod78@gmail.com - http://www.facebook.com/mcleod78 - Copyright Info - License Info - - 0.0.6 - - Description of the Versions component ... - - - - COM_VERSIONS_VERSIONS - - COM_VERSIONS_CONTROL_PANEL - COM_VERSIONS_VERSIONS - - - - - - - index.html - versions.php - controller.php - assets - helpers - models - views - - - - hu-HU.com_versions.ini - hu-HU.com_versions.sys.ini - en-GB.com_versions.ini - en-GB.com_versions.sys.ini - - + + + Versions + + January 2016 + Fekete Zsolt + mcleod78@gmail.com + http://www.facebook.com/mcleod78 + Copyright Info + License Info + + 0.0.6 + + Description of the Versions component ... + + + + COM_VERSIONS_VERSIONS + + COM_VERSIONS_CONTROL_PANEL + COM_VERSIONS_VERSIONS + + + + + + + index.html + versions.php + controller.php + assets + helpers + models + views + + + + hu-HU.com_versions.ini + hu-HU.com_versions.sys.ini + en-GB.com_versions.ini + en-GB.com_versions.sys.ini + + \ No newline at end of file diff --git a/cadline/components/components/com_nonprofit/models/nonprofit.php b/cadline/components/components/com_nonprofit/models/nonprofit.php index 95a04bd4..a36927e8 100644 --- a/cadline/components/components/com_nonprofit/models/nonprofit.php +++ b/cadline/components/components/com_nonprofit/models/nonprofit.php @@ -1,413 +1,413 @@ -dbCRM)) - { - require($_SERVER['DOCUMENT_ROOT'].'/maintenance/config.crm.php'); - $this->dbCRM=$dbCRM; - } - return($this->dbCRM); - } - - public function getPrefix($nUserID=0) - { - if ((int)$nUserID>0) - { - if (!isset($this->prefix)) - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT * FROM `users` WHERE nUserID=".$nUserID.";"); - $tmp=$crm->loadObjectList(); - $this->prefix=($tmp[0]->old_db=='clusers' ? 'jml' : 'eng'); - } - } - else - { - $this->prefix='eng'; - } - return $this->prefix; - } - - public function getCurrentVersion($field='verID') - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT ".$field." AS verID FROM `p_versions` WHERE verActual='Y' LIMIT 1;"); - $tmp=$crm->loadObjectList(); - return ($tmp[0]->verID); - } - - public function getArticle($product=1) - { - if (!isset($this->article)) - { - $db=JFactory::getDBO(); - if($product == 1){ - $db->setQuery("SELECT * FROM #__content WHERE alias='nonprofit' LIMIT 1;"); - } else { - $db->setQuery("SELECT * FROM #__content WHERE alias='nonprofitlive' LIMIT 1;"); - } - $tmp=$db->loadObjectList(); - $this->article=$tmp[0]; - } - return $this->article; - } - - public function syncUser() - { - $db=JFactory::getDBO(); - $user=JFactory::getUser(); - $session=JFactory::getSession(); - - file_get_contents("http://www.archline.hu/maintenance/sync_user.php"); - file_get_contents("http://www.archline.hu/maintenance/sync_download.php?jmdb=jml"); - file_get_contents("http://www.archline.hu/maintenance/sync_download.php?jmdb=eng"); - - $db->setQuery("SELECT * FROM #__users WHERE id=".$user->id." LIMIT 1;"); - $curr=$db->loadObjectList(); - - $tmpUser=$session->get('user'); - $tmpUser->nUserID=$curr[0]->nUserID; - $session->set('user', $tmpUser); - } - - public function getCRMUser($nUserID=0) - { - if ($nUserID>0 && !isset($this->crmUser)) - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT * FROM `users` WHERE nUserID=".$nUserID." LIMIT 1;"); - $tmp=$crm->loadObjectList(); - if (!empty($tmp)) - { - $this->crmUser=$tmp[0]; - } - } - return $this->crmUser; - } - - public function hasRecord($nUserID=0, $product=1, $npid="") - { - if ($nUserID==0) - { - $this->hasNonprofitProgram=FALSE; - $this->hasCommercial=FALSE; - $this->isNonprofitConnectedToThisComputer=FALSE; - $this->isConnectedNonprofitExpired=TRUE; - } - else - { - $verid = /*$this->getCurrentVersion('verID')*/ 19; // EZT KI KELL VENNI MARCIUSBAN!!!! - if (!isset($this->hasNonprofitProgram)) - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT * FROM hardlock h - LEFT OUTER JOIN h_programs p ON h.hlNum = p.prHlNum - WHERE h.product_id=".$product." AND h.hlUser=".$nUserID." AND p.prVerID=".$verid." AND p.prHlNum LIKE '99%'"); - $tmp=$crm->loadObjectList(); - if (count($tmp)) - { - $this->hasNonprofitProgram=TRUE; - $this->existKeys=$tmp; - } - else - { - $this->hasNonprofitProgram=FALSE; - } - } - - if (!isset($this->hasCommercial)) - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT * FROM hardlock h - LEFT OUTER JOIN `h_programs` p ON h.hlNum=p.prHlNum - WHERE h.product_id=".$product." AND h.hlNum not like '99%' AND h.hlUser=".$nUserID." AND p.prVerID=".$verid); - $tmp=$crm->loadObjectList(); - if (count($tmp)) - { - $this->hasCommercial=TRUE; - } - else - { - $this->hasCommercial=FALSE; - } - } - - if (!isset($this->isNonprofitConnectedToThisComputer) && $this->hasNonprofitProgram) - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); - $tmp2=$crm->loadObjectList(); - - if(empty($tmp2)) { - $rec23=new stdClass(); - $rec23->computer_id = $npid; - $rec23->last_mod = date('Y-m-d',time()); - $result23=$crm->insertObject("computers", $rec23); - - $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); - $tmp2=$crm->loadObjectList(); - } - $comp=$tmp2[0]; - $verPassword8and9 = /*$this->getCurrentVersion('verPassword8and9')*/ 36; // EZT KI KELL VENNI MARCIUSBAN!!!! - - $query = "SELECT h_programs.prFizetve AS expire_datetime - FROM `nonprofit` - LEFT OUTER JOIN hardlock ON hardlock.hlNum = nonprofit.hlID - LEFT OUTER JOIN h_programs ON h_programs.prHlNum = nonprofit.hlID - WHERE nonprofit.computer_id='".$comp->id."' AND nonprofit.verid=".$verPassword8and9." AND h_programs.prVerID=".$verid." AND nonprofit.partnerID is null AND hardlock.product_id='".$product."';"; - $crm->setQuery($query); - $tmp=$crm->loadObjectList(); - $this->isNonprofitConnectedToThisComputer=(count($tmp) ? TRUE : FALSE); - - if($this->isNonprofitConnectedToThisComputer) { - $expireDateTime=$tmp[0]->expire_datetime; - - $this->isConnectedNonprofitExpired = $expireDateTime < date("Y-m-d H:i:s", time()); - } else { - $this->isConnectedNonprofitExpired=TRUE; - } - } else { - $this->isNonprofitConnectedToThisComputer=FALSE; - $this->isConnectedNonprofitExpired=TRUE; - } - } - $this->haveRightsToUseNonprofit = !$this->hasCommercial && (!$this->hasNonprofitProgram || !$this->isConnectedNonprofitExpired); - $this->hasToGenerateNonprofit = $this->haveRightsToUseNonprofit && !$this->hasNonprofitProgram; - } - - public function getExistingKeyAndPass($nUserID=0,$npid="",$verid=0, $product=1) { - if ((int)$verid==0) $verid = /*$this->getCurrentVersion('verID')*/ 19; // EZT KI KELL VENNI MARCIUSBAN!!!! - - if ($nUserID>0 && $npid>"") { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - - $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); - $tmp=$crm->loadObjectList(); - $comp=$tmp[0]; - - $query="SELECT h_programs.prHlNum AS nonprofitKey, h_programs.prPass AS nonprofitPassword FROM nonprofit - LEFT OUTER JOIN hardlock ON hardlock.hlNum = nonprofit.hlID - LEFT OUTER JOIN h_programs ON h_programs.prHlNum = nonprofit.hlID - WHERE nonprofit.computer_id='".$comp->id."' AND nonprofit.verid=".(int)$verid." AND nonprofit.nUserID='".$nUserID."' AND nonprofit.partnerID is null AND hardlock.product_id='".$product."';"; - $this->sqlQuery=$query; - $crm->setQuery($query); - $tmp2=$crm->loadObjectList(); - $nonp=$tmp2[0]; - } - - $this->newKey=$nonp->nonprofitKey; - $this->newPass=$nonp->nonprofitPassword; - } - - public function getKey($nUserID=0,$npid="",$isid="",$verid=0, $product=1) - { - $newKey=0; - if ((int)$verid==0) $verid = /*$this->getCurrentVersion('verID')*/ 19; // EZT KI KELL VENNI MARCIUSBAN!!!! - - if ($nUserID>0 && $npid>"") - { - $crm=JDatabaseDriver::getInstance($this->getConfig()); - - $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); - $tmp2=$crm->loadObjectList(); - - if(empty($tmp2)){ - $rec23=new stdClass(); - $rec23->computer_id = $npid; - $rec23->last_mod = date('Y-m-d',time()); - $result23=$crm->insertObject("computers", $rec23); - } - - $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); - $tmp3=$crm->loadObjectList(); - $comp=$tmp3[0]; - - $crm->setQuery("SELECT * FROM `nonprofit` - LEFT JOIN hardlock ON hardlock.hlNum = nonprofit.hlID - WHERE nonprofit.computer_id='".$comp->id."' AND nonprofit.verid='".$verid."' AND nonprofit.`partnerID` is null AND hardlock.product_id=".$product.";"); - $tmp=$crm->loadObjectList(); - - if (empty($tmp)) - { - $crm->setQuery("SELECT * FROM `users` WHERE nUserID=".$nUserID.";"); - $tmp=$crm->loadObjectList(); - $user=$tmp[0]; - - $newKey=(int)$this->tryToAlloc($this->npRangeMin,$this->npRangeMax); - - if ($newKey>0 && !empty($user)) - { - $rec=new stdClass(); - $rec->hlNum=$newKey; -// $rec->hlCtrID=$user->nCtrID; - $rec->hlCtrID=($user->old_db=='clusers' ? 36 : 44); - $rec->hlLan=0; - $rec->hlStat=1; - $rec->hlDateIssue=date('Y-m-d',time()); - $rec->hlManID=36; - $rec->hlTime=date('Y-m-d H:i:s',time()); - $rec->hlUser=$nUserID; - $rec->hlDealer=($user->old_db=='clusers' ? 51850 : 51851); - $rec->bUjithato=1; - $rec->old_db=$user->old_db; - $rec->product_id=$product; - - $crm->setQuery("SELECT * FROM `hardlock` WHERE hlNum=".$newKey." AND product_id=".$product." ORDER BY hlID DESC LIMIT 1;"); - $tmp=$crm->loadObjectList(); - $exist=$tmp[0]; - - - if ($exist) - { - $values=array(); - $query=$crm->getQuery(true); - foreach ((array)$rec as $k=>$v) $values[]=$crm->quoteName($k)."=".$crm->quote($v); - $query->update("hardlock")->set($values)->where(array('`hlID`='.(int)$exist->hlID)); - $crm->setQuery($query); - $result=$crm->execute(); -//if ($_SERVER['REMOTE_ADDR']=='46.139.14.111') {print_r($exist); print('
haha
'.$newKey); die();} - } - else - { - $result=$crm->insertObject("hardlock", $rec); - } - - $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); - $tmp233=$crm->loadObjectList(); - $comp2=$tmp233[0]; - - $rec2=new stdClass(); - $rec2->computer_id=$comp2->id; - $rec2->isid=$isid; - $rec2->verid=$verid; - $rec2->hlID=$newKey; - $rec2->nUserID=$nUserID; - $rec2->add_datetime=date('Y-m-d H:i:s',time()); - $rec2->expire_datetime=date('Y-m-d',time()+60*86400).' 23:59:59'; - $rec2->old_db=$user->old_db; - $result2=$crm->insertObject("nonprofit", $rec2); - - $rec=new stdClass(); - $rec->nUserID=$nUserID; - $rec->nTopicID=($user->old_db=='clusers' ? 300 : 302); //($this->getPrefix()=='jml' ? 300 : 302); - $rec->dateEvent=date('Y-m-d',time()); - $rec->strPlace='web'; - $rec->strInfo=JText::sprintf("COM_NONPROFIT_KEY_REQUEST_INFO",$newKey); - $rec->nManagerID=36; - $rec->insertDate=date('Y-m-d H:i:s',time()); - $result=$crm->insertObject("u_history", $rec); - } - } - } - return ($newKey); - } - - public function getPass($nUserID=0,$npid="",$isid="",$verid=0, $product=1) - { - $res=""; - if ($npid>"" && $isid>"" && (int)$verid>0) - { - $res=file_get_contents("https://www.archlinexp.com/maintenance/nonprofit.php?npid=".$npid."&isid=".$isid."&verid=".(int)$verid."&createProgram=true&product=".$product); - } - return ($res); - } - -/******************************************************************************* - * Megpróbálja az adott kulcs tartományon belül a lehető legkissebb szabad - * kulcsot megtalálni, és visszaadja az számát - ******************************************************************************/ - public function tryToAlloc($min=0,$max=0) - { - $ret=0; - if ((int)$min==0 || (int)$max==0) return($ret); - $crm=JDatabaseDriver::getInstance($this->getConfig()); - $crm->setQuery("SELECT LEFT(hlNum,6) AS hlNum FROM hardlock WHERE hlStat!=0 AND hlNum>=".(int)$min." AND hlNum<".(int)$max." ORDER BY hlNum;"); - $res=$crm->loadObjectList(); - - if (count($res)) - { - $keszlet=range($min, $max); - foreach ($res as $r) { $kulcsok[]=$r->hlNum; } - $diff=array_diff($keszlet,$kulcsok); - reset($diff); - $ret=current($diff); - if ((int)$ret>0) - { - $crm->setQuery("DELETE FROM `t_registeronce` WHERE arch_id=".(int)$ret); - $crm->execute(); - } - $this->freeKeys=count($diff)-1; - } - return $ret; - } - - - public function countFreeKeys($min=0,$max=0) - { - $this->tryToAlloc($min,$max); - return ((int)$this->freeKeys); - } - - - public function sendWarningMail() - { - $app=JFactory::getApplication(); - $config=JFactory::getConfig(); - $mailer=JFactory::getMailer(); - $mailer->setSender(array('info@cadline.hu')); - $mailer->addRecipient(array('office@cadline.hu', 'marketing@cadline.hu')); - $mailer->setSubject(JText::_(($this->freeKeys==0 ? 'COM_NONPROFIT_MAIL_NO_KEY_SUBJECT' : 'COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT'))); - $mailer->setBody(JText::sprintf(($this->freeKeys==0 ? 'COM_NONPROFIT_MAIL_NO_KEY_BODY' : 'COM_NONPROFIT_MAIL_KEY_LOW_BODY'),$this->freeKeys)); - $mailer->Send(); - } - - public function sendPasswordInEmail($to, $user, $password, $product) - { - $app=JFactory::getApplication(); - $config=JFactory::getConfig(); - $mailer=JFactory::getMailer(); - $mailer->isHTML(true); - $mailer->setSender(array('info@cadline.hu')); - $mailer->addRecipient(array($to)); - if($product == 2) { - $mailer->setSubject("Non-Profit - ARCHLine.XP Live"); - $mailer->setBody(JText::sprintf('COM_NONPROFIT_EMAIL_BODY_LIVE', $user, $password)); - } else { - $mailer->setSubject("Non-Profit - ARCHLine.XP"); - $mailer->setBody(JText::sprintf('COM_NONPROFIT_EMAIL_BODY', $user, $password)); - } - $mailer->Send(); - } - - public function getExistKeys() { return ($this->existKeys); } - - public function getLang() - { - return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); - } - -} +dbCRM)) + { + require($_SERVER['DOCUMENT_ROOT'].'/maintenance/config.crm.php'); + $this->dbCRM=$dbCRM; + } + return($this->dbCRM); + } + + public function getPrefix($nUserID=0) + { + if ((int)$nUserID>0) + { + if (!isset($this->prefix)) + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT * FROM `users` WHERE nUserID=".$nUserID.";"); + $tmp=$crm->loadObjectList(); + $this->prefix=($tmp[0]->old_db=='clusers' ? 'jml' : 'eng'); + } + } + else + { + $this->prefix='eng'; + } + return $this->prefix; + } + + public function getCurrentVersion($field='verID') + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT ".$field." AS verID FROM `p_versions` WHERE verActual='Y' LIMIT 1;"); + $tmp=$crm->loadObjectList(); + return ($tmp[0]->verID); + } + + public function getArticle($product=1) + { + if (!isset($this->article)) + { + $db=JFactory::getDBO(); + if($product == 1){ + $db->setQuery("SELECT * FROM #__content WHERE alias='nonprofit' LIMIT 1;"); + } else { + $db->setQuery("SELECT * FROM #__content WHERE alias='nonprofitlive' LIMIT 1;"); + } + $tmp=$db->loadObjectList(); + $this->article=$tmp[0]; + } + return $this->article; + } + + public function syncUser() + { + $db=JFactory::getDBO(); + $user=JFactory::getUser(); + $session=JFactory::getSession(); + + file_get_contents("http://www.archline.hu/maintenance/sync_user.php"); + file_get_contents("http://www.archline.hu/maintenance/sync_download.php?jmdb=jml"); + file_get_contents("http://www.archline.hu/maintenance/sync_download.php?jmdb=eng"); + + $db->setQuery("SELECT * FROM #__users WHERE id=".$user->id." LIMIT 1;"); + $curr=$db->loadObjectList(); + + $tmpUser=$session->get('user'); + $tmpUser->nUserID=$curr[0]->nUserID; + $session->set('user', $tmpUser); + } + + public function getCRMUser($nUserID=0) + { + if ($nUserID>0 && !isset($this->crmUser)) + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT * FROM `users` WHERE nUserID=".$nUserID." LIMIT 1;"); + $tmp=$crm->loadObjectList(); + if (!empty($tmp)) + { + $this->crmUser=$tmp[0]; + } + } + return $this->crmUser; + } + + public function hasRecord($nUserID=0, $product=1, $npid="") + { + if ($nUserID==0) + { + $this->hasNonprofitProgram=FALSE; + $this->hasCommercial=FALSE; + $this->isNonprofitConnectedToThisComputer=FALSE; + $this->isConnectedNonprofitExpired=TRUE; + } + else + { + $verid = /*$this->getCurrentVersion('verID')*/ 19; // EZT KI KELL VENNI MARCIUSBAN!!!! + if (!isset($this->hasNonprofitProgram)) + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT * FROM hardlock h + LEFT OUTER JOIN h_programs p ON h.hlNum = p.prHlNum + WHERE h.product_id=".$product." AND h.hlUser=".$nUserID." AND p.prVerID=".$verid." AND p.prHlNum LIKE '99%'"); + $tmp=$crm->loadObjectList(); + if (count($tmp)) + { + $this->hasNonprofitProgram=TRUE; + $this->existKeys=$tmp; + } + else + { + $this->hasNonprofitProgram=FALSE; + } + } + + if (!isset($this->hasCommercial)) + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT * FROM hardlock h + LEFT OUTER JOIN `h_programs` p ON h.hlNum=p.prHlNum + WHERE h.product_id=".$product." AND h.hlNum not like '99%' AND h.hlUser=".$nUserID." AND p.prVerID=".$verid); + $tmp=$crm->loadObjectList(); + if (count($tmp)) + { + $this->hasCommercial=TRUE; + } + else + { + $this->hasCommercial=FALSE; + } + } + + if (!isset($this->isNonprofitConnectedToThisComputer) && $this->hasNonprofitProgram) + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); + $tmp2=$crm->loadObjectList(); + + if(empty($tmp2)) { + $rec23=new stdClass(); + $rec23->computer_id = $npid; + $rec23->last_mod = date('Y-m-d',time()); + $result23=$crm->insertObject("computers", $rec23); + + $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); + $tmp2=$crm->loadObjectList(); + } + $comp=$tmp2[0]; + $verPassword8and9 = /*$this->getCurrentVersion('verPassword8and9')*/ 36; // EZT KI KELL VENNI MARCIUSBAN!!!! + + $query = "SELECT h_programs.prFizetve AS expire_datetime + FROM `nonprofit` + LEFT OUTER JOIN hardlock ON hardlock.hlNum = nonprofit.hlID + LEFT OUTER JOIN h_programs ON h_programs.prHlNum = nonprofit.hlID + WHERE nonprofit.computer_id='".$comp->id."' AND nonprofit.verid=".$verPassword8and9." AND h_programs.prVerID=".$verid." AND nonprofit.partnerID is null AND hardlock.product_id='".$product."';"; + $crm->setQuery($query); + $tmp=$crm->loadObjectList(); + $this->isNonprofitConnectedToThisComputer=(count($tmp) ? TRUE : FALSE); + + if($this->isNonprofitConnectedToThisComputer) { + $expireDateTime=$tmp[0]->expire_datetime; + + $this->isConnectedNonprofitExpired = $expireDateTime < date("Y-m-d H:i:s", time()); + } else { + $this->isConnectedNonprofitExpired=TRUE; + } + } else { + $this->isNonprofitConnectedToThisComputer=FALSE; + $this->isConnectedNonprofitExpired=TRUE; + } + } + $this->haveRightsToUseNonprofit = !$this->hasCommercial && (!$this->hasNonprofitProgram || !$this->isConnectedNonprofitExpired); + $this->hasToGenerateNonprofit = $this->haveRightsToUseNonprofit && !$this->hasNonprofitProgram; + } + + public function getExistingKeyAndPass($nUserID=0,$npid="",$verid=0, $product=1) { + if ((int)$verid==0) $verid = /*$this->getCurrentVersion('verID')*/ 19; // EZT KI KELL VENNI MARCIUSBAN!!!! + + if ($nUserID>0 && $npid>"") { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + + $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); + $tmp=$crm->loadObjectList(); + $comp=$tmp[0]; + + $query="SELECT h_programs.prHlNum AS nonprofitKey, h_programs.prPass AS nonprofitPassword FROM nonprofit + LEFT OUTER JOIN hardlock ON hardlock.hlNum = nonprofit.hlID + LEFT OUTER JOIN h_programs ON h_programs.prHlNum = nonprofit.hlID + WHERE nonprofit.computer_id='".$comp->id."' AND nonprofit.verid=".(int)$verid." AND nonprofit.nUserID='".$nUserID."' AND nonprofit.partnerID is null AND hardlock.product_id='".$product."';"; + $this->sqlQuery=$query; + $crm->setQuery($query); + $tmp2=$crm->loadObjectList(); + $nonp=$tmp2[0]; + } + + $this->newKey=$nonp->nonprofitKey; + $this->newPass=$nonp->nonprofitPassword; + } + + public function getKey($nUserID=0,$npid="",$isid="",$verid=0, $product=1) + { + $newKey=0; + if ((int)$verid==0) $verid = /*$this->getCurrentVersion('verID')*/ 19; // EZT KI KELL VENNI MARCIUSBAN!!!! + + if ($nUserID>0 && $npid>"") + { + $crm=JDatabaseDriver::getInstance($this->getConfig()); + + $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); + $tmp2=$crm->loadObjectList(); + + if(empty($tmp2)){ + $rec23=new stdClass(); + $rec23->computer_id = $npid; + $rec23->last_mod = date('Y-m-d',time()); + $result23=$crm->insertObject("computers", $rec23); + } + + $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); + $tmp3=$crm->loadObjectList(); + $comp=$tmp3[0]; + + $crm->setQuery("SELECT * FROM `nonprofit` + LEFT JOIN hardlock ON hardlock.hlNum = nonprofit.hlID + WHERE nonprofit.computer_id='".$comp->id."' AND nonprofit.verid='".$verid."' AND nonprofit.`partnerID` is null AND hardlock.product_id=".$product.";"); + $tmp=$crm->loadObjectList(); + + if (empty($tmp)) + { + $crm->setQuery("SELECT * FROM `users` WHERE nUserID=".$nUserID.";"); + $tmp=$crm->loadObjectList(); + $user=$tmp[0]; + + $newKey=(int)$this->tryToAlloc($this->npRangeMin,$this->npRangeMax); + + if ($newKey>0 && !empty($user)) + { + $rec=new stdClass(); + $rec->hlNum=$newKey; +// $rec->hlCtrID=$user->nCtrID; + $rec->hlCtrID=($user->old_db=='clusers' ? 36 : 44); + $rec->hlLan=0; + $rec->hlStat=1; + $rec->hlDateIssue=date('Y-m-d',time()); + $rec->hlManID=36; + $rec->hlTime=date('Y-m-d H:i:s',time()); + $rec->hlUser=$nUserID; + $rec->hlDealer=($user->old_db=='clusers' ? 51850 : 51851); + $rec->bUjithato=1; + $rec->old_db=$user->old_db; + $rec->product_id=$product; + + $crm->setQuery("SELECT * FROM `hardlock` WHERE hlNum=".$newKey." AND product_id=".$product." ORDER BY hlID DESC LIMIT 1;"); + $tmp=$crm->loadObjectList(); + $exist=$tmp[0]; + + + if ($exist) + { + $values=array(); + $query=$crm->getQuery(true); + foreach ((array)$rec as $k=>$v) $values[]=$crm->quoteName($k)."=".$crm->quote($v); + $query->update("hardlock")->set($values)->where(array('`hlID`='.(int)$exist->hlID)); + $crm->setQuery($query); + $result=$crm->execute(); +//if ($_SERVER['REMOTE_ADDR']=='46.139.14.111') {print_r($exist); print('
haha
'.$newKey); die();} + } + else + { + $result=$crm->insertObject("hardlock", $rec); + } + + $crm->setQuery("SELECT * FROM `computers` WHERE computer_id='".$npid."';"); + $tmp233=$crm->loadObjectList(); + $comp2=$tmp233[0]; + + $rec2=new stdClass(); + $rec2->computer_id=$comp2->id; + $rec2->isid=$isid; + $rec2->verid=$verid; + $rec2->hlID=$newKey; + $rec2->nUserID=$nUserID; + $rec2->add_datetime=date('Y-m-d H:i:s',time()); + $rec2->expire_datetime=date('Y-m-d',time()+60*86400).' 23:59:59'; + $rec2->old_db=$user->old_db; + $result2=$crm->insertObject("nonprofit", $rec2); + + $rec=new stdClass(); + $rec->nUserID=$nUserID; + $rec->nTopicID=($user->old_db=='clusers' ? 300 : 302); //($this->getPrefix()=='jml' ? 300 : 302); + $rec->dateEvent=date('Y-m-d',time()); + $rec->strPlace='web'; + $rec->strInfo=JText::sprintf("COM_NONPROFIT_KEY_REQUEST_INFO",$newKey); + $rec->nManagerID=36; + $rec->insertDate=date('Y-m-d H:i:s',time()); + $result=$crm->insertObject("u_history", $rec); + } + } + } + return ($newKey); + } + + public function getPass($nUserID=0,$npid="",$isid="",$verid=0, $product=1) + { + $res=""; + if ($npid>"" && $isid>"" && (int)$verid>0) + { + $res=file_get_contents("https://www.archlinexp.com/maintenance/nonprofit.php?npid=".$npid."&isid=".$isid."&verid=".(int)$verid."&createProgram=true&product=".$product); + } + return ($res); + } + +/******************************************************************************* + * Megpróbálja az adott kulcs tartományon belül a lehető legkissebb szabad + * kulcsot megtalálni, és visszaadja az számát + ******************************************************************************/ + public function tryToAlloc($min=0,$max=0) + { + $ret=0; + if ((int)$min==0 || (int)$max==0) return($ret); + $crm=JDatabaseDriver::getInstance($this->getConfig()); + $crm->setQuery("SELECT LEFT(hlNum,6) AS hlNum FROM hardlock WHERE hlStat!=0 AND hlNum>=".(int)$min." AND hlNum<".(int)$max." ORDER BY hlNum;"); + $res=$crm->loadObjectList(); + + if (count($res)) + { + $keszlet=range($min, $max); + foreach ($res as $r) { $kulcsok[]=$r->hlNum; } + $diff=array_diff($keszlet,$kulcsok); + reset($diff); + $ret=current($diff); + if ((int)$ret>0) + { + $crm->setQuery("DELETE FROM `t_registeronce` WHERE arch_id=".(int)$ret); + $crm->execute(); + } + $this->freeKeys=count($diff)-1; + } + return $ret; + } + + + public function countFreeKeys($min=0,$max=0) + { + $this->tryToAlloc($min,$max); + return ((int)$this->freeKeys); + } + + + public function sendWarningMail() + { + $app=JFactory::getApplication(); + $config=JFactory::getConfig(); + $mailer=JFactory::getMailer(); + $mailer->setSender(array('info@cadline.hu')); + $mailer->addRecipient(array('office@cadline.hu', 'marketing@cadline.hu')); + $mailer->setSubject(JText::_(($this->freeKeys==0 ? 'COM_NONPROFIT_MAIL_NO_KEY_SUBJECT' : 'COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT'))); + $mailer->setBody(JText::sprintf(($this->freeKeys==0 ? 'COM_NONPROFIT_MAIL_NO_KEY_BODY' : 'COM_NONPROFIT_MAIL_KEY_LOW_BODY'),$this->freeKeys)); + $mailer->Send(); + } + + public function sendPasswordInEmail($to, $user, $password, $product) + { + $app=JFactory::getApplication(); + $config=JFactory::getConfig(); + $mailer=JFactory::getMailer(); + $mailer->isHTML(true); + $mailer->setSender(array('info@cadline.hu')); + $mailer->addRecipient(array($to)); + if($product == 2) { + $mailer->setSubject("Non-Profit - ARCHLine.XP Live"); + $mailer->setBody(JText::sprintf('COM_NONPROFIT_EMAIL_BODY_LIVE', $user, $password)); + } else { + $mailer->setSubject("Non-Profit - ARCHLine.XP"); + $mailer->setBody(JText::sprintf('COM_NONPROFIT_EMAIL_BODY', $user, $password)); + } + $mailer->Send(); + } + + public function getExistKeys() { return ($this->existKeys); } + + public function getLang() + { + return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); + } + +} ?> \ No newline at end of file diff --git a/cadline/components/components/com_nonprofit/views/nonprofit/tmpl/default.php b/cadline/components/components/com_nonprofit/views/nonprofit/tmpl/default.php index 038c6ba2..4029a8c6 100644 --- a/cadline/components/components/com_nonprofit/views/nonprofit/tmpl/default.php +++ b/cadline/components/components/com_nonprofit/views/nonprofit/tmpl/default.php @@ -1,167 +1,167 @@ - -newPass)) { - $result = "".$this->newPass.""; - $encodedResult = crm_hardlock::encode($privatekey,$session,$result); - } elseif(!empty($this->regFinished)) { - $result = "".$this->regFinished.""; - $encodedResult = crm_hardlock::encode($privatekey,$session,$result); - } - - $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; - $link = crm_hardlock::encode($privatekey, $session, $actual_link); - - $linkParam = "?".$param; - $npid = crm_hardlock::get_valueFromStringUrl($linkParam, "npid"); - $isid = crm_hardlock::get_valueFromStringUrl($linkParam, "isid"); - $product = crm_hardlock::get_valueFromStringUrl($linkParam, "product"); - $verid = crm_hardlock::get_valueFromStringUrl($linkParam, "verid"); -} else { - $verid = $_GET["verid"]; - $npid = $_GET["npid"]; - $isid = $_GET["isid"]; -} - -if(empty($product)) - $product = 1; - -$user=JFactory::getUser(); -?> - - -hasCommercial || $this->isNpConToThisComp || !$this->isConnectedNonprofitExpired*/ false):?> -
-
-

article->title?>

- id==0) : ?> - - - -
- newPass != '') : ?> -

-

- -

:

- " name="getid" id="getid" value="" class="btn btn-lg btn-primary haveRightsToUseNonprofit==FALSE ? "disabled" : "")?>" />
- - - - - -
- newPass != '') : ?> -
- - - -

:

-

-
- - -
-

-

-
-
- - - -

:

-

-
- -

 

- article->introtext?> - article->fulltext?> - -
-
- - - - - -
-

Non-profit licenc információ

-
- -
-
- clients_image_photo.jpg -
-
-

Szeretnél Non-Profit licencet?

-

Non-profit kód igénylését kifejezetten a szakmában dolgozóknak/tanulóknak javasoljuk. - Ehhez létre kell hozni egy felhasználói fiókot, amelyben megadod a neved, elérhetőséged és e-mail címed. Ezt követően le kell töltened az ARCHLine.XP próbaváltozatát. - Az ARCHLine.XP Non-Profit kóddal a program két hónapig használható.

-
- -

Hogyan kaphatok Non-Profit kódot?

-

Non-profit kód igényléshez kérjük, írj nekünk egy e-mailt az info@cadline.hu címre, melyben 1-2 mondatban indokold meg, hogy miért szeretnél kódot kérni.

-
- -

Igényelhetek terméktámogatást ha Non-Profit kóddal használom a programot?

-

Igen. E-mailben küldd el kérdésed az info@cadline.hu-ra! További segédanyagokat, oktatóvideókat honlapunkon találsz, az Oktatás menüpontban.

-
-
-
- + +newPass)) { + $result = "".$this->newPass.""; + $encodedResult = crm_hardlock::encode($privatekey,$session,$result); + } elseif(!empty($this->regFinished)) { + $result = "".$this->regFinished.""; + $encodedResult = crm_hardlock::encode($privatekey,$session,$result); + } + + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; + $link = crm_hardlock::encode($privatekey, $session, $actual_link); + + $linkParam = "?".$param; + $npid = crm_hardlock::get_valueFromStringUrl($linkParam, "npid"); + $isid = crm_hardlock::get_valueFromStringUrl($linkParam, "isid"); + $product = crm_hardlock::get_valueFromStringUrl($linkParam, "product"); + $verid = crm_hardlock::get_valueFromStringUrl($linkParam, "verid"); +} else { + $verid = $_GET["verid"]; + $npid = $_GET["npid"]; + $isid = $_GET["isid"]; +} + +if(empty($product)) + $product = 1; + +$user=JFactory::getUser(); +?> + + +hasCommercial || $this->isNpConToThisComp || !$this->isConnectedNonprofitExpired*/ false):?> +
+
+

article->title?>

+ id==0) : ?> + + + +
+ newPass != '') : ?> +

+

+ +

:

+ " name="getid" id="getid" value="" class="btn btn-lg btn-primary haveRightsToUseNonprofit==FALSE ? "disabled" : "")?>" />
+ + + + + +
+ newPass != '') : ?> +
+ + + +

:

+

+
+ + +
+

+

+
+
+ + + +

:

+

+
+ +

 

+ article->introtext?> + article->fulltext?> + +
+
+ + + + + +
+

Non-profit licenc információ

+
+ +
+
+ clients_image_photo.jpg +
+
+

Szeretnél Non-Profit licencet?

+

Non-profit kód igénylését kifejezetten a szakmában dolgozóknak/tanulóknak javasoljuk. + Ehhez létre kell hozni egy felhasználói fiókot, amelyben megadod a neved, elérhetőséged és e-mail címed. Ezt követően le kell töltened az ARCHLine.XP próbaváltozatát. + Az ARCHLine.XP Non-Profit kóddal a program két hónapig használható.

+
+ +

Hogyan kaphatok Non-Profit kódot?

+

Non-profit kód igényléshez kérjük, írj nekünk egy e-mailt az info@cadline.hu címre, melyben 1-2 mondatban indokold meg, hogy miért szeretnél kódot kérni.

+
+ +

Igényelhetek terméktámogatást ha Non-Profit kóddal használom a programot?

+

Igen. E-mailben küldd el kérdésed az info@cadline.hu-ra! További segédanyagokat, oktatóvideókat honlapunkon találsz, az Oktatás menüpontban.

+
+
+
+ diff --git a/cadline/components/components/com_nonprofit/views/nonprofit/view.html.php b/cadline/components/components/com_nonprofit/views/nonprofit/view.html.php index 7d7342b9..bcb3a080 100644 --- a/cadline/components/components/com_nonprofit/views/nonprofit/view.html.php +++ b/cadline/components/components/com_nonprofit/views/nonprofit/view.html.php @@ -1,148 +1,148 @@ -getModel(); - - if(isset($_GET["webform"])) { - // ----------------------------------------------------------------------- Webform inicializálása ----------------------------------------------------------------------- - - if (!class_exists('crm_hardlock')) require_once(JPATH_BASE."/common_cadline_libraries/crm_hardlock.class.php"); - - $encodedSession = $_GET["session"]; // Minden csatorna megnyíláskor egyedi kódot kap, ez a publikus kulcs is - $session = base64_decode($encodedSession); - $param = $_GET["param"]; // Encode-olt adat - $privatekey = crm_hardlock::GetWebformPrivateKey(); // A privát kulcs lekérdezése - $param = crm_hardlock::decode($privatekey,$session,$param); // Adat decode-olása - - //crmHelper::SetWebformResource($session, "Ez lesz az üzenet a felhasználónak", "Kattints ide"); - - // ----------------------------------------------------------------------- Webform inicializálása ----------------------------------------------------------------------- - - $param = "?".$param; - $npid = crm_hardlock::get_valueFromStringUrl($param, "npid"); - $isid = crm_hardlock::get_valueFromStringUrl($param, "isid"); - $verid = crm_hardlock::get_valueFromStringUrl($param, "verid"); - $product = crm_hardlock::get_valueFromStringUrl($param, "product"); - $this->GET_VERSION= $verid; - } else { // Régi nonprofit ág - $npid=trim(addslashes($_GET['npid'])); - $isid=trim(addslashes($_GET['isid'])); - $this->GET_VERSION=(isset($_GET['verid']) && (int)$_GET['verid']>0 ? (int)$_GET['verid'] : 0); - $product = 1; - } - - $verid = ($this->GET_VERSION==0 ? $this->CURRENT_VERSION : $this->GET_VERSION); - $this->CURRENT_VERSION=$model->getCurrentVersion('verPassword8and9'); - - JFactory::getDocument()->addScript('/components/'.JFactory::getApplication()->input->get('option').'/assets/js/clipboard.min.js'); - - JLog::addLogger(array('text_file'=>'com_nonprofit.call.php','text_entry_format'=>'{DATE} {TIME} {CLIENTIP} {MESSAGE}'),JLog::ALL,array('com_nonprofit')); - JLog::add("domain: ".JURI::base()." | npid: ".$npid." | isid: ".$isid, JLog::WARNING, 'com_nonprofit'); - - if (!$user->nUserID) { - $model->syncUser(); - $user=JFactory::getUser(); - } - - $crmUser=$model->getCRMUser($user->nUserID); - - // Redirect if curr lang != crm old_db - if ($crmUser->old_db>'') { - $domain=""; - $base=JURI::base(); - $currLang=$model->getLang(); - if ($currLang=='hun' && $crmUser->old_db!='clusers') $domain='http://www.archlinexp.com'; - if ($currLang=='eng' && $crmUser->old_db=='clusers') $domain='http://www.archline.hu'; - //if ($domain>'') { $this->redirect=$domain."/index.php?option=com_nonprofit&view=nonprofit&npid=".$npid.($isid>''?"&isid=".$isid:'').($this->GET_VERSION>0?"&verid=".$this->GET_VERSION:''); } - } - - $this->article=$model->getArticle($product); - $model->hasRecord($user->nUserID, $product, $npid); - $this->hasNonprofitProgram=$model->hasNonprofitProgram; - $this->hasCommercial=$model->hasCommercial; - $this->isNpConToThisComp=$model->isNonprofitConnectedToThisComputer; - $this->isConnectedNonprofitExpired=$model->isConnectedNonprofitExpired; - $this->haveRightsToUseNonprofit = $model->haveRightsToUseNonprofit; - $this->hasToGenerateNonprofit = $model->hasToGenerateNonprofit; - $this->sqlQuery=$model->sqlQuery; - - $this->freeKeys=$model->countFreeKeys($model->npRangeMin,$model->npRangeMax); - if (!$this->haveRightsToUseNonprofit || $this->freeKeys == 0) { // Ki kell írnia, hogy nincs joga használni a Nonprofitot - if($this->freeKeys == 0) { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_NO_FREE_KEY).''.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } elseif($this->hasCommercial) { - // Mivel kereskedelmi licencel rendelkezik, ezért nem használhatja a nonprofit programot - - if($product == 2) { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXIST_ISID_LIVE).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } else { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXIST_ISID).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } - } elseif(!$this->isNpConToThisComp) { - // Másik gépen van regisztrálva - - if($product == 2) { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } else { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } - } elseif($this->isConnectedNonprofitExpired) { - // Lejárt a nonprofit - - if($product == 2) { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXPIRED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } else { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXPIRED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); - } - } - } - - if($this->haveRightsToUseNonprofit) { - $model->getExistingKeyAndPass($user->nUserID,$npid,$verid, $product); - $this->regFinished=$model->newPass; - } - - if (isset($_POST['getid']) && $this->haveRightsToUseNonprofit && (int)$user->nUserID>0 && (int)$this->freeKeys>0 && isset($npid) && $npid>'') { - if($this->hasToGenerateNonprofit) { - $this->newKey=$model->getKey($user->nUserID,$npid,$isid,$verid, $product); - $this->newPass=$model->getPass($user->nUserID,$npid,$isid,$verid, $product); - } else { - $model->getExistingKeyAndPass($user->nUserID,$npid,$verid, $product); - $this->newKey=$model->newKey; - $this->newPass=$model->newPass; - } - - if ($this->newKey>0) { - if($product == 2) { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_RESTART_LIVE), 'message'); - } else { - JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_RESTART_SOFTWARE), 'message'); - } - - if(isset($_GET["webform"])) { - $privatekey = crm_hardlock::GetWebformPrivateKey(); - $result = "".$this->newPass.""; - $encodedResult = crm_hardlock::encode($privatekey,$session,$result); - crm_hardlock::SetWebformResult($session, "result_ok", $encodedResult, "", ""); - - $model->sendPasswordInEmail($user->email, $user->name, $this->newPass, $product); - } - } - - if ($this->freeKeys <= 25) $model->sendWarningMail(); // Email küldése Nonprofit aktiválásakor - } - - $app->getPathway()->addItem(JText::_(COM_NONPROFIT_NONPROFIT), ''); - - parent::display($tpl); - } -} -?> +getModel(); + + if(isset($_GET["webform"])) { + // ----------------------------------------------------------------------- Webform inicializálása ----------------------------------------------------------------------- + + if (!class_exists('crm_hardlock')) require_once(JPATH_BASE."/common_cadline_libraries/crm_hardlock.class.php"); + + $encodedSession = $_GET["session"]; // Minden csatorna megnyíláskor egyedi kódot kap, ez a publikus kulcs is + $session = base64_decode($encodedSession); + $param = $_GET["param"]; // Encode-olt adat + $privatekey = crm_hardlock::GetWebformPrivateKey(); // A privát kulcs lekérdezése + $param = crm_hardlock::decode($privatekey,$session,$param); // Adat decode-olása + + //crmHelper::SetWebformResource($session, "Ez lesz az üzenet a felhasználónak", "Kattints ide"); + + // ----------------------------------------------------------------------- Webform inicializálása ----------------------------------------------------------------------- + + $param = "?".$param; + $npid = crm_hardlock::get_valueFromStringUrl($param, "npid"); + $isid = crm_hardlock::get_valueFromStringUrl($param, "isid"); + $verid = crm_hardlock::get_valueFromStringUrl($param, "verid"); + $product = crm_hardlock::get_valueFromStringUrl($param, "product"); + $this->GET_VERSION= $verid; + } else { // Régi nonprofit ág + $npid=trim(addslashes($_GET['npid'])); + $isid=trim(addslashes($_GET['isid'])); + $this->GET_VERSION=(isset($_GET['verid']) && (int)$_GET['verid']>0 ? (int)$_GET['verid'] : 0); + $product = 1; + } + + $verid = ($this->GET_VERSION==0 ? $this->CURRENT_VERSION : $this->GET_VERSION); + $this->CURRENT_VERSION=$model->getCurrentVersion('verPassword8and9'); + + JFactory::getDocument()->addScript('/components/'.JFactory::getApplication()->input->get('option').'/assets/js/clipboard.min.js'); + + JLog::addLogger(array('text_file'=>'com_nonprofit.call.php','text_entry_format'=>'{DATE} {TIME} {CLIENTIP} {MESSAGE}'),JLog::ALL,array('com_nonprofit')); + JLog::add("domain: ".JURI::base()." | npid: ".$npid." | isid: ".$isid, JLog::WARNING, 'com_nonprofit'); + + if (!$user->nUserID) { + $model->syncUser(); + $user=JFactory::getUser(); + } + + $crmUser=$model->getCRMUser($user->nUserID); + + // Redirect if curr lang != crm old_db + if ($crmUser->old_db>'') { + $domain=""; + $base=JURI::base(); + $currLang=$model->getLang(); + if ($currLang=='hun' && $crmUser->old_db!='clusers') $domain='http://www.archlinexp.com'; + if ($currLang=='eng' && $crmUser->old_db=='clusers') $domain='http://www.archline.hu'; + //if ($domain>'') { $this->redirect=$domain."/index.php?option=com_nonprofit&view=nonprofit&npid=".$npid.($isid>''?"&isid=".$isid:'').($this->GET_VERSION>0?"&verid=".$this->GET_VERSION:''); } + } + + $this->article=$model->getArticle($product); + $model->hasRecord($user->nUserID, $product, $npid); + $this->hasNonprofitProgram=$model->hasNonprofitProgram; + $this->hasCommercial=$model->hasCommercial; + $this->isNpConToThisComp=$model->isNonprofitConnectedToThisComputer; + $this->isConnectedNonprofitExpired=$model->isConnectedNonprofitExpired; + $this->haveRightsToUseNonprofit = $model->haveRightsToUseNonprofit; + $this->hasToGenerateNonprofit = $model->hasToGenerateNonprofit; + $this->sqlQuery=$model->sqlQuery; + + $this->freeKeys=$model->countFreeKeys($model->npRangeMin,$model->npRangeMax); + if (!$this->haveRightsToUseNonprofit || $this->freeKeys == 0) { // Ki kell írnia, hogy nincs joga használni a Nonprofitot + if($this->freeKeys == 0) { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_NO_FREE_KEY).''.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } elseif($this->hasCommercial) { + // Mivel kereskedelmi licencel rendelkezik, ezért nem használhatja a nonprofit programot + + if($product == 2) { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXIST_ISID_LIVE).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } else { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXIST_ISID).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } + } elseif(!$this->isNpConToThisComp) { + // Másik gépen van regisztrálva + + if($product == 2) { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } else { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } + } elseif($this->isConnectedNonprofitExpired) { + // Lejárt a nonprofit + + if($product == 2) { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXPIRED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } else { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_EXPIRED).'

'.JText::_(COM_NONPROFIT_SUFFIX), 'notice'); + } + } + } + + if($this->haveRightsToUseNonprofit) { + $model->getExistingKeyAndPass($user->nUserID,$npid,$verid, $product); + $this->regFinished=$model->newPass; + } + + if (isset($_POST['getid']) && $this->haveRightsToUseNonprofit && (int)$user->nUserID>0 && (int)$this->freeKeys>0 && isset($npid) && $npid>'') { + if($this->hasToGenerateNonprofit) { + $this->newKey=$model->getKey($user->nUserID,$npid,$isid,$verid, $product); + $this->newPass=$model->getPass($user->nUserID,$npid,$isid,$verid, $product); + } else { + $model->getExistingKeyAndPass($user->nUserID,$npid,$verid, $product); + $this->newKey=$model->newKey; + $this->newPass=$model->newPass; + } + + if ($this->newKey>0) { + if($product == 2) { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_RESTART_LIVE), 'message'); + } else { + JFactory::getApplication()->enqueueMessage(JText::_(COM_NONPROFIT_RESTART_SOFTWARE), 'message'); + } + + if(isset($_GET["webform"])) { + $privatekey = crm_hardlock::GetWebformPrivateKey(); + $result = "".$this->newPass.""; + $encodedResult = crm_hardlock::encode($privatekey,$session,$result); + crm_hardlock::SetWebformResult($session, "result_ok", $encodedResult, "", ""); + + $model->sendPasswordInEmail($user->email, $user->name, $this->newPass, $product); + } + } + + if ($this->freeKeys <= 25) $model->sendWarningMail(); // Email küldése Nonprofit aktiválásakor + } + + $app->getPathway()->addItem(JText::_(COM_NONPROFIT_NONPROFIT), ''); + + parent::display($tpl); + } +} +?> diff --git a/cadline/components/components/com_showroom/assets/ajax/AjaxDownloadController.class.php b/cadline/components/components/com_showroom/assets/ajax/AjaxDownloadController.class.php index 72bccfb1..50b97ce9 100644 --- a/cadline/components/components/com_showroom/assets/ajax/AjaxDownloadController.class.php +++ b/cadline/components/components/com_showroom/assets/ajax/AjaxDownloadController.class.php @@ -1,31 +1,31 @@ -0) - { - MySqlHelper::getInstance()->query("SELECT * FROM collection2 WHERE o_id=".$product); - $res=MySqlHelper::getInstance()->fetchAssoc(); - - if (!empty($res)) - { - $tomb = isset($_SESSION['sr_down']) ? $_SESSION['sr_down'] : ''; - if (!is_array($tomb) || empty($tomb) || !in_array($product,$tomb)) - { - $tomb=$product; - $_SESSION['sr_down']=$tomb; - MySqlHelper::getInstance()->query("UPDATE collection2 SET `down`=`down`+1 WHERE o_id=".$product); - } - } - } - } -} - -$controller=new Controller(); -$controller->run(); +0) + { + MySqlHelper::getInstance()->query("SELECT * FROM collection2 WHERE o_id=".$product); + $res=MySqlHelper::getInstance()->fetchAssoc(); + + if (!empty($res)) + { + $tomb = isset($_SESSION['sr_down']) ? $_SESSION['sr_down'] : ''; + if (!is_array($tomb) || empty($tomb) || !in_array($product,$tomb)) + { + $tomb=$product; + $_SESSION['sr_down']=$tomb; + MySqlHelper::getInstance()->query("UPDATE collection2 SET `down`=`down`+1 WHERE o_id=".$product); + } + } + } + } +} + +$controller=new Controller(); +$controller->run(); diff --git a/cadline/components/components/com_showroom/assets/css/showroom.css b/cadline/components/components/com_showroom/assets/css/showroom.css index ff994b70..8bb16ddc 100644 --- a/cadline/components/components/com_showroom/assets/css/showroom.css +++ b/cadline/components/components/com_showroom/assets/css/showroom.css @@ -1,756 +1,756 @@ -.manufactureContainer { - width: 95%; - height: auto; - padding: 8px 5px 5px 5px; - border: 0px solid #ff0000; - user-select: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.manufacureBox { - position: relative; - float: none; - display: inline-block; - height: 142px; - width: 192px; - padding: 10px; - margin: 5px 5px; - user-select: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.manufacureBox .image { - position: relative; - text-align: center; - border: 0px solid #000000; -} - -.manufacureBox .image img { - max-height: 120px; - max-width: 100%; - vertical-align: top; - z-index: 9; -} - -.manufacureBox .description { - position: absolute; - top: 110px; - left: -5px; - width: 156px; - height: 26px; - z-index: 5; - background: url(/components/com_showroom/assets/images/sticker_down_active.png); - text-align: left; -} - -.manufacureBox .description_description { - text-align: left; - padding-left: 5px; - line-height: 26px; - white-space: nowrap; -} - -#structContainer { - display: inline-block; - line-height: 32px; - margin-left: 9px; -} - -#structSearchButton { - display: inline-block; - vertical-align: top; - width: 32px; - height: 32px; - cursor: pointer; - background: url(../images/searchbutton.png); - margin-left: 10px; -} - -#structSearchContainer { - display: inline-block; - vertical-align: top; - width: 190px; - height: 32px; - cursor: pointer; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} - -#structTypeContainer { - display: inline-block; - vertical-align: top; - width: 121px; - height: 32px; - cursor: pointer; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - margin-left: 10px; -} - -#structBrandContainer { - display: inline-block; - vertical-align: top; - width: 121px; - height: 32px; - cursor: pointer; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - margin-left: 10px; -} - -#structCategoryContainer { - display: inline-block; - vertical-align: top; - width: 123px; - height: 32px; - cursor: pointer; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - margin-left: 10px; -} - -#structSubcategoryContainer { - display: inline-block; - vertical-align: top; - width: 121px; - height: 32px; - cursor: pointer; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - margin-left: 10px; -} - -#typeContainer { - display: block; - position: relative; - margin: 0px 0px 0px -1px; - float: left; - width: 188px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -#brandContainer { - display: block; - position: relative; - margin: 0px 0px 0px -1px; - float: left; - width: 564px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -#categoryContainer { - display: block; - position: relative; - margin: 0px 0px 0px -1px; - float: left; - width: 376px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -#subcategoryContainer { - display: block; - position: relative; - margin: 0px 0px 0px -1px; - float: left; - width: 376px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -#downloadPanelContainer { - display: block; - position: absolute; - margin: -1px 0px 0px 0px; - padding: 10px 10px 10px 10px; - float: left; - width: 230px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -.smallDownloadPanelContainer { - display: block; - position: absolute; - bottom: 0px; - right: -14px; - margin: -1px 0px 0px 0px; - padding: 2px 5px 2px 5px; - float: left; - width: 185px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -.smallDownloadPanelContainer2 { - display: block; - position: absolute; - bottom: 26px; - right: -3px; - margin: -1px 0px 0px 0px; - padding: 2px 5px 2px 5px; - float: left; - width: 185px; - background: #fff; - z-index: 10; - border: 1px solid #ccc; -} - -#typeContainer label, -#brandContainer label, -#categoryContainer label, -#subcategoryContainer label, -#typeTitle label, -#brandTitle label, -#categoryTitle label, -#subcategoryTitle label { - font-size: 13px; -} - -#structContainer .back { - float: left; - display: inline-block; - margin: 0px; - width: 43px; - height: 32px; - line-height: 32px; - vertical-align: top; - text-align: center; -} - -#structContainer .back img { - vertical-align: top; -} - -#structSearchContainer input { - vertical-align: top; - margin-right: 0px 30px 0px 0px; - width: 100%; - height: 32px; - line-height: 32px; - border: 0px solid #ffffff; - font-size: 13px; - font-family: 'Ubuntu', sans-serif; - background-color: #F0F0F0; -} - -.column { - display: inline-block; - float: left; - width: 180px; - padding-left: 8px; -} - -.expanded { - background: url(../images/triangle-down.png) no-repeat 95% center; -} - -.collapsed { - background: url(../images/triangle-right.png) no-repeat 95% center; -} - -.showroom_search_pager { - height: 28px; - line-height: 28px; - margin: 10px 0px 5px 51px; - border: 0px solid #000000; - vertical-align: top; -} - -.showroom_search_result { - float: left; - width: 840px; - margin: 0px 0px 0px 45px; - border: 0px solid #000000; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.showroom_search_result .contentBox { - position: relative; - width: 192px; - height: 142px; - padding: 10px 10px 10px 10px; - margin: 8px 8px 8px 8px; -} - -.showroom_search_result .image img { - max-height: 120px; - max-width: 100%; - vertical-align: top; - z-index: 9; -} - -.showroom_search_result .dd_pos1 { - top: 97px; - left: 154px; -} - -.showroom_search_result .dd_pos2 { - top: 107px; - left: 164px; -} - -.showroom_search_result .description_download { - position: absolute; - width: 26px; - height: 26px; - z-index: 5; - line-height: 26px; -} - -.showroom_checkbox_multi { - display: inline-block; - height: 32px; - line-height: 32px; - margin: 0px 0px 0px 5px; - vertical-align: top; -} - -.showroom_checkbox_multi label { - font-size: 11px; -} - -.showroom_container { - height: 156px; - padding: 8px 5px 5px 5px; - position: relative; - border: 0px solid #ff0000; -} - -.showroom_separator { - /* background-image: url("/templates/system/images/diver_03.png"); */ - background-image: url("/components/com_showroom/assets/images/diver_03.png"); - background-repeat: repeat-x; - clear: both; - height: 1px; - margin: 0px 0px 10px 0px; -} - -.showroom_title { - position: absolute; - top: 0px; - left: 21px; - width: 170px; - height: 41px; - border: 0px solid #00ff00; - z-index: 5; - background: url(/components/com_showroom/assets/images/sticker_up.png); - color: #ffffff; - text-transform: uppercase; - font-weight: bold; - overflow: hidden; -} - -.showroom_title_level1 { - background: url(/components/com_showroom/assets/images/sticker_up_1.png); -} - -.showroom_title_level2 { - background: url(/components/com_showroom/assets/images/sticker_up_2.png); -} - -.showroom_title_level3 { - background: url(/components/com_showroom/assets/images/sticker_up_3.png); -} - -.showroom_title_description { - line-height: 33px; - font-size: 12px; -} - -.contentBox .image { - position: relative; - text-align: center; - border: 0px solid #000000; -} - -.contentBox .description { - position: absolute; - top: 111px; - left: 0px; - width: 156px; - height: 26px; - z-index: 5; - background: url(/components/com_showroom/assets/images/sticker_down.png); - text-align: left; -} - -.contentBox .description_active { - position: absolute; - top: 104px; - left: 0px; - width: 156px; - height: 26px; - z-index: 5; - background: url(/components/com_showroom/assets/images/sticker_down_active.png); - text-align: left; -} - -.contentBox .description_description { - text-align: left; - padding-left: 5px; - line-height: 26px; - white-space: nowrap; -} - -.contentBox .description_download { - position: absolute; - width: 26px; - height: 26px; - z-index: 5; - line-height: 26px; -} - -.contentBox .dd_pos1 { - top: 97px; - left: 154px; -} - -.contentBox .dd_pos2 { - top: 107px; - left: 164px; -} - - -.paddingBottom10 { - float: left; - padding-bottom: 10px; - border: 0px solid #0000ff; -} - -.product_scroller { - width: 850px; - float: left; - padding-top: 20px; - border: 0px solid #0000ff; -} - -.contentBox a { - color: #000000; -} - -.contentBox a:hover { - color: #f0c317; -} - - -.family_menu { - float: left; - width: 17%; - border: 0px solid #000000; -} - -.search_container { - width: 100%; -} - -.family_container { - float: left; - width: 83%; - border: 0px solid #000000; - margin: 0px auto 0px auto; - - position: relative; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.family_menu ul { - margin: 0px 0px 0px -25px; -} - -.family_menu ul li { - list-style-type: none; -} - -.family_menu ul li a { - color: #757575; -} - -.family_menu ul li a:hover { - color: #F0C318; -} - -.family_menu .active { - font-weight: bold; - color: #F0C318; -} - -.product_container { - float: left; - width: 83%; - border: 0px solid #000000; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.product_container p { - margin: 0px; - padding: 0px; -} - -.product_container .product_image_narrow img { - max-width: 380px; - vertical-align: top; - display: inline; - float: left; -} - -.product_container .product_image_full { - max-width: 420px; - vertical-align: top; - display: inline; - float: left; -} - -.product_container .product_image_full img { - width: 100%; -} - -.product_container .product_description { - max-width: 420px; - display: inline; - float: left; - padding-left: 10px; - border: 0px solid #00ff00; -} - -.product_container .product_description h5 { - margin: 0px; - padding: 0px; -} - -.product_container .product_description h6 { - margin: 0px; - padding: 0px; -} - -.product_container .full { - width: 420px; -} - -.product_container .narrow { - width: 420px; -} - - -.product_container .product_download { - background: no-repeat url(/components/com_showroom/assets/images/icon-download-48.png); - width: 200px; - margin-top: 0px; - border: 1px solid #ccc; - line-height: 48px; - padding-left: 50px; - font-size: 20px; - text-transform: uppercase; - cursor: pointer; -} - -.product_container a { - color: #676767; -} - -.product_container a:hover { - text-decoration: none; -} - -.showroom_search { - width: 100%; - height: 32px; - top: -20px; - border: 0px solid #000000; - margin-bottom: 5px; -} - -.showroom_search form { - float: left; - display: inline-block; - margin: 0px 0px 0px 0px; - padding-top: 0px; - height: 32px; - line-height: 32px; - vertical-align: middle; -} - -.showroom_search form input { - margin: 0px; -} - -.showroom_search input[type="checkbox"] { - display: none; -} - -.showroom_search input[type="checkbox"]+label span { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - cursor: pointer; - background: url("../images/checkbox.png") bottom left no-repeat; -} - -.showroom_search input[type="checkbox"]:checked+label span { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - cursor: pointer; - background: url("../images/checkbox.png") top left no-repeat; -} - -.showroom_search label { - display: inline-block; - margin: 0px; -} - -.showroom_multi { - float: right; - border: 0px solid #000000; - margin: 10px 20px 0px 0px; -} - -.showroom_clear { - clear: both; - margin: 0px; - padding: 0px; - height: 0px; - width: 0px; -} - -.showroom_back { - display: inline; - float: left; - margin: 0px; - padding: 0px; - width: 52px; - height: 26px; - margin: 5px 0px 0px 10px; - border: 0px solid #000000; -} - -.showroom_pager { - height: 28px; - text-align: center; - border: 0px solid #000000; - overflow: hidden; -} - -.showroom_search_pager span, -.showroom_pager span { - margin: 0px 2px; - line-height: 26px; - display: inline-block; - width: 26px; - height: 26px; - text-align: center; - vertical-align: middle; -} - -.showroom_search_pager span img, -.showroom_pager span img { - vertical-align: top; -} - -.showroom_search_pager a, -.showroom_pager a { - color: #676767; -} - -.showroom_search_pager a:hover, -.showroom_pager a:hover { - color: #f0c317; - text-decoration: none; -} - -.showroom_search_pager .active, -.showroom_pager .active { - border: 1px solid #f0c317; - color: #f0c317; - font-weight: bold; -} - -.thinborder, -.showroom_search_pager .inactive, -.showroom_pager .inactive { - border: 1px solid #ccc; -} - -#j-main-container .clear { - clear: both; - margin: 0px; - padding: 0px; - height: 0px; - width: 0px; -} - -#j-main-container div.hasab { - display: inline-block; - width: 320px; - vertical-align: top; - border: 0px solid #000; -} - -#j-main-container div.hasab div.inputholder { - display: block; - height: 38px; - border: 0px solid #ff0000; -} - -#j-main-container div.hasab div.inputholder label { - display: inline-block; - width: 130px; - font-weight: bold; - border: 0px solid #00ff00; -} - -#j-main-container div.hasab div.inputholder input[type="text"], -#j-main-container div.hasab div.inputholder select { - display: inline; - margin: 0px; - width: 170px; -} - -#j-main-container div.hasab div.inputholder textarea { - width: 300px; - height: 150px; -} - -#j-main-container div.hasab div.inputholder input[type="file"] { - width: 170px; -} - -#j-main-container div.hasab div.inputholder fieldset { - display: inline; - width: 170px; - white-space: nowrap; - border: 0px solid #ff00ff; -} - -#j-main-container div.hasab div.inputholder fieldset label { - width: 50px; - font-weight: normal; +.manufactureContainer { + width: 95%; + height: auto; + padding: 8px 5px 5px 5px; + border: 0px solid #ff0000; + user-select: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.manufacureBox { + position: relative; + float: none; + display: inline-block; + height: 142px; + width: 192px; + padding: 10px; + margin: 5px 5px; + user-select: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.manufacureBox .image { + position: relative; + text-align: center; + border: 0px solid #000000; +} + +.manufacureBox .image img { + max-height: 120px; + max-width: 100%; + vertical-align: top; + z-index: 9; +} + +.manufacureBox .description { + position: absolute; + top: 110px; + left: -5px; + width: 156px; + height: 26px; + z-index: 5; + background: url(/components/com_showroom/assets/images/sticker_down_active.png); + text-align: left; +} + +.manufacureBox .description_description { + text-align: left; + padding-left: 5px; + line-height: 26px; + white-space: nowrap; +} + +#structContainer { + display: inline-block; + line-height: 32px; + margin-left: 9px; +} + +#structSearchButton { + display: inline-block; + vertical-align: top; + width: 32px; + height: 32px; + cursor: pointer; + background: url(../images/searchbutton.png); + margin-left: 10px; +} + +#structSearchContainer { + display: inline-block; + vertical-align: top; + width: 190px; + height: 32px; + cursor: pointer; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; +} + +#structTypeContainer { + display: inline-block; + vertical-align: top; + width: 121px; + height: 32px; + cursor: pointer; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + margin-left: 10px; +} + +#structBrandContainer { + display: inline-block; + vertical-align: top; + width: 121px; + height: 32px; + cursor: pointer; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + margin-left: 10px; +} + +#structCategoryContainer { + display: inline-block; + vertical-align: top; + width: 123px; + height: 32px; + cursor: pointer; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + margin-left: 10px; +} + +#structSubcategoryContainer { + display: inline-block; + vertical-align: top; + width: 121px; + height: 32px; + cursor: pointer; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + margin-left: 10px; +} + +#typeContainer { + display: block; + position: relative; + margin: 0px 0px 0px -1px; + float: left; + width: 188px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +#brandContainer { + display: block; + position: relative; + margin: 0px 0px 0px -1px; + float: left; + width: 564px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +#categoryContainer { + display: block; + position: relative; + margin: 0px 0px 0px -1px; + float: left; + width: 376px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +#subcategoryContainer { + display: block; + position: relative; + margin: 0px 0px 0px -1px; + float: left; + width: 376px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +#downloadPanelContainer { + display: block; + position: absolute; + margin: -1px 0px 0px 0px; + padding: 10px 10px 10px 10px; + float: left; + width: 230px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +.smallDownloadPanelContainer { + display: block; + position: absolute; + bottom: 0px; + right: -14px; + margin: -1px 0px 0px 0px; + padding: 2px 5px 2px 5px; + float: left; + width: 185px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +.smallDownloadPanelContainer2 { + display: block; + position: absolute; + bottom: 26px; + right: -3px; + margin: -1px 0px 0px 0px; + padding: 2px 5px 2px 5px; + float: left; + width: 185px; + background: #fff; + z-index: 10; + border: 1px solid #ccc; +} + +#typeContainer label, +#brandContainer label, +#categoryContainer label, +#subcategoryContainer label, +#typeTitle label, +#brandTitle label, +#categoryTitle label, +#subcategoryTitle label { + font-size: 13px; +} + +#structContainer .back { + float: left; + display: inline-block; + margin: 0px; + width: 43px; + height: 32px; + line-height: 32px; + vertical-align: top; + text-align: center; +} + +#structContainer .back img { + vertical-align: top; +} + +#structSearchContainer input { + vertical-align: top; + margin-right: 0px 30px 0px 0px; + width: 100%; + height: 32px; + line-height: 32px; + border: 0px solid #ffffff; + font-size: 13px; + font-family: 'Ubuntu', sans-serif; + background-color: #F0F0F0; +} + +.column { + display: inline-block; + float: left; + width: 180px; + padding-left: 8px; +} + +.expanded { + background: url(../images/triangle-down.png) no-repeat 95% center; +} + +.collapsed { + background: url(../images/triangle-right.png) no-repeat 95% center; +} + +.showroom_search_pager { + height: 28px; + line-height: 28px; + margin: 10px 0px 5px 51px; + border: 0px solid #000000; + vertical-align: top; +} + +.showroom_search_result { + float: left; + width: 840px; + margin: 0px 0px 0px 45px; + border: 0px solid #000000; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.showroom_search_result .contentBox { + position: relative; + width: 192px; + height: 142px; + padding: 10px 10px 10px 10px; + margin: 8px 8px 8px 8px; +} + +.showroom_search_result .image img { + max-height: 120px; + max-width: 100%; + vertical-align: top; + z-index: 9; +} + +.showroom_search_result .dd_pos1 { + top: 97px; + left: 154px; +} + +.showroom_search_result .dd_pos2 { + top: 107px; + left: 164px; +} + +.showroom_search_result .description_download { + position: absolute; + width: 26px; + height: 26px; + z-index: 5; + line-height: 26px; +} + +.showroom_checkbox_multi { + display: inline-block; + height: 32px; + line-height: 32px; + margin: 0px 0px 0px 5px; + vertical-align: top; +} + +.showroom_checkbox_multi label { + font-size: 11px; +} + +.showroom_container { + height: 156px; + padding: 8px 5px 5px 5px; + position: relative; + border: 0px solid #ff0000; +} + +.showroom_separator { + /* background-image: url("/templates/system/images/diver_03.png"); */ + background-image: url("/components/com_showroom/assets/images/diver_03.png"); + background-repeat: repeat-x; + clear: both; + height: 1px; + margin: 0px 0px 10px 0px; +} + +.showroom_title { + position: absolute; + top: 0px; + left: 21px; + width: 170px; + height: 41px; + border: 0px solid #00ff00; + z-index: 5; + background: url(/components/com_showroom/assets/images/sticker_up.png); + color: #ffffff; + text-transform: uppercase; + font-weight: bold; + overflow: hidden; +} + +.showroom_title_level1 { + background: url(/components/com_showroom/assets/images/sticker_up_1.png); +} + +.showroom_title_level2 { + background: url(/components/com_showroom/assets/images/sticker_up_2.png); +} + +.showroom_title_level3 { + background: url(/components/com_showroom/assets/images/sticker_up_3.png); +} + +.showroom_title_description { + line-height: 33px; + font-size: 12px; +} + +.contentBox .image { + position: relative; + text-align: center; + border: 0px solid #000000; +} + +.contentBox .description { + position: absolute; + top: 111px; + left: 0px; + width: 156px; + height: 26px; + z-index: 5; + background: url(/components/com_showroom/assets/images/sticker_down.png); + text-align: left; +} + +.contentBox .description_active { + position: absolute; + top: 104px; + left: 0px; + width: 156px; + height: 26px; + z-index: 5; + background: url(/components/com_showroom/assets/images/sticker_down_active.png); + text-align: left; +} + +.contentBox .description_description { + text-align: left; + padding-left: 5px; + line-height: 26px; + white-space: nowrap; +} + +.contentBox .description_download { + position: absolute; + width: 26px; + height: 26px; + z-index: 5; + line-height: 26px; +} + +.contentBox .dd_pos1 { + top: 97px; + left: 154px; +} + +.contentBox .dd_pos2 { + top: 107px; + left: 164px; +} + + +.paddingBottom10 { + float: left; + padding-bottom: 10px; + border: 0px solid #0000ff; +} + +.product_scroller { + width: 850px; + float: left; + padding-top: 20px; + border: 0px solid #0000ff; +} + +.contentBox a { + color: #000000; +} + +.contentBox a:hover { + color: #f0c317; +} + + +.family_menu { + float: left; + width: 17%; + border: 0px solid #000000; +} + +.search_container { + width: 100%; +} + +.family_container { + float: left; + width: 83%; + border: 0px solid #000000; + margin: 0px auto 0px auto; + + position: relative; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.family_menu ul { + margin: 0px 0px 0px -25px; +} + +.family_menu ul li { + list-style-type: none; +} + +.family_menu ul li a { + color: #757575; +} + +.family_menu ul li a:hover { + color: #F0C318; +} + +.family_menu .active { + font-weight: bold; + color: #F0C318; +} + +.product_container { + float: left; + width: 83%; + border: 0px solid #000000; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.product_container p { + margin: 0px; + padding: 0px; +} + +.product_container .product_image_narrow img { + max-width: 380px; + vertical-align: top; + display: inline; + float: left; +} + +.product_container .product_image_full { + max-width: 420px; + vertical-align: top; + display: inline; + float: left; +} + +.product_container .product_image_full img { + width: 100%; +} + +.product_container .product_description { + max-width: 420px; + display: inline; + float: left; + padding-left: 10px; + border: 0px solid #00ff00; +} + +.product_container .product_description h5 { + margin: 0px; + padding: 0px; +} + +.product_container .product_description h6 { + margin: 0px; + padding: 0px; +} + +.product_container .full { + width: 420px; +} + +.product_container .narrow { + width: 420px; +} + + +.product_container .product_download { + background: no-repeat url(/components/com_showroom/assets/images/icon-download-48.png); + width: 200px; + margin-top: 0px; + border: 1px solid #ccc; + line-height: 48px; + padding-left: 50px; + font-size: 20px; + text-transform: uppercase; + cursor: pointer; +} + +.product_container a { + color: #676767; +} + +.product_container a:hover { + text-decoration: none; +} + +.showroom_search { + width: 100%; + height: 32px; + top: -20px; + border: 0px solid #000000; + margin-bottom: 5px; +} + +.showroom_search form { + float: left; + display: inline-block; + margin: 0px 0px 0px 0px; + padding-top: 0px; + height: 32px; + line-height: 32px; + vertical-align: middle; +} + +.showroom_search form input { + margin: 0px; +} + +.showroom_search input[type="checkbox"] { + display: none; +} + +.showroom_search input[type="checkbox"]+label span { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + cursor: pointer; + background: url("../images/checkbox.png") bottom left no-repeat; +} + +.showroom_search input[type="checkbox"]:checked+label span { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + cursor: pointer; + background: url("../images/checkbox.png") top left no-repeat; +} + +.showroom_search label { + display: inline-block; + margin: 0px; +} + +.showroom_multi { + float: right; + border: 0px solid #000000; + margin: 10px 20px 0px 0px; +} + +.showroom_clear { + clear: both; + margin: 0px; + padding: 0px; + height: 0px; + width: 0px; +} + +.showroom_back { + display: inline; + float: left; + margin: 0px; + padding: 0px; + width: 52px; + height: 26px; + margin: 5px 0px 0px 10px; + border: 0px solid #000000; +} + +.showroom_pager { + height: 28px; + text-align: center; + border: 0px solid #000000; + overflow: hidden; +} + +.showroom_search_pager span, +.showroom_pager span { + margin: 0px 2px; + line-height: 26px; + display: inline-block; + width: 26px; + height: 26px; + text-align: center; + vertical-align: middle; +} + +.showroom_search_pager span img, +.showroom_pager span img { + vertical-align: top; +} + +.showroom_search_pager a, +.showroom_pager a { + color: #676767; +} + +.showroom_search_pager a:hover, +.showroom_pager a:hover { + color: #f0c317; + text-decoration: none; +} + +.showroom_search_pager .active, +.showroom_pager .active { + border: 1px solid #f0c317; + color: #f0c317; + font-weight: bold; +} + +.thinborder, +.showroom_search_pager .inactive, +.showroom_pager .inactive { + border: 1px solid #ccc; +} + +#j-main-container .clear { + clear: both; + margin: 0px; + padding: 0px; + height: 0px; + width: 0px; +} + +#j-main-container div.hasab { + display: inline-block; + width: 320px; + vertical-align: top; + border: 0px solid #000; +} + +#j-main-container div.hasab div.inputholder { + display: block; + height: 38px; + border: 0px solid #ff0000; +} + +#j-main-container div.hasab div.inputholder label { + display: inline-block; + width: 130px; + font-weight: bold; + border: 0px solid #00ff00; +} + +#j-main-container div.hasab div.inputholder input[type="text"], +#j-main-container div.hasab div.inputholder select { + display: inline; + margin: 0px; + width: 170px; +} + +#j-main-container div.hasab div.inputholder textarea { + width: 300px; + height: 150px; +} + +#j-main-container div.hasab div.inputholder input[type="file"] { + width: 170px; +} + +#j-main-container div.hasab div.inputholder fieldset { + display: inline; + width: 170px; + white-space: nowrap; + border: 0px solid #ff00ff; +} + +#j-main-container div.hasab div.inputholder fieldset label { + width: 50px; + font-weight: normal; } \ No newline at end of file diff --git a/cadline/components/components/com_showroom/models/family.php b/cadline/components/components/com_showroom/models/family.php index 458cab06..7d22560e 100644 --- a/cadline/components/components/com_showroom/models/family.php +++ b/cadline/components/components/com_showroom/models/family.php @@ -1,386 +1,386 @@ -get('sr_lang'); - if (!isset($this->families)) - { - $db=JFactory::getDBO(); - - if ($m_id==0) - { - $db->setQuery(" - SELECT c.c_id,c.nev_hun,c.nev_eng,c.m_id,m.`name` AS manufacture, m.dir,c.deleted AS c_deleted,m.deleted AS m_deleted - FROM coll2_cat c - LEFT OUTER JOIN coll2_man m ON m.id=c.m_id - WHERE c.c_id=".(int)$family." LIMIT 1;"); - $tmp=$db->loadObjectList(); - - $manufacture=(int)$tmp[0]->m_id; - } - else - { - $manufacture=$m_id; - } - - $db->setQuery(" - SELECT f.c_id,f.m_id,m.`name` AS manufacture,IF( LENGTH(f.nev_".$lang.")>20,CONCAT(SUBSTRING(f.nev_".$lang.",1,18),'...'),f.nev_".$lang.") AS family_short,f.nev_".$lang." AS family,cnt.darab - FROM coll2_cat f - LEFT OUTER JOIN ( - SELECT COUNT(*) AS darab,c_id,c_name FROM ( - SELECT x.o_id,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".($manufacture>0 ? "AND x.m_id='".$manufacture."'" : "")." - ) x GROUP BY c_id - ) cnt ON cnt.c_id=f.c_id - LEFT OUTER JOIN coll2_man m ON m.id=f.m_id - WHERE f.deleted=0 AND m.deleted=0 AND cnt.darab>0 - ORDER BY f.nev_".$lang.";"); - $this->families = $db->loadObjectList(); - } - return $this->families; - } - - public function getFamily($id=0) - { - $session=JFactory::getSession(); - $lang=$session->get('sr_lang');//'hun'; - if ($id>0 && (!isset($this->family) or empty($this->family))) - { - $db=JFactory::getDBO(); - $db->setQuery("SELECT c_id,m_id,nev_".$lang." AS name,deleted FROM coll2_cat WHERE c_id=".$id." LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->family=$tmp[0]; - } - return $this->family; - } - - - public function getProducts($family="",$m_id=0) - { - $session=JFactory::getSession(); - $lang=$session->get('sr_lang'); - if (!isset($this->products)) - { - $db = JFactory::getDBO(); - $db->setQuery(" - SELECT x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file`,v.`version`,x.rendelheto,x.`show`,x.`down`,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN ( - SELECT ver_id,o_id,fajl AS `file`,version FROM ( - SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC - ) z GROUP BY o_id - ) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".($m_id>0 ? " AND x.m_id='".$m_id."'":"")." ".((int)$family>0 ? ' AND x.c_id='.(int)$family.' ORDER BY x.title_'.$lang : ' ORDER BY RAND() LIMIT 0,'.$this->limit).";"); - $this->products = $db->loadObjectList(); - } - return $this->products; - } - - - public function getProduct($product=0) - { - $session=JFactory::getSession(); - $lang=$session->get('sr_lang'); - if (!isset($this->product) && (int)$product>0) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT - x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`, - x.desc_".$lang." AS `desc`,CONCAT('/".$this->getProductThumb()."/',m.dir,'/',x.o_id,'/zz_big.jpg') AS img,v.file,v.version, - x.rendelheto,x.`show`,x.`down`,x.tipus,t.name_".$lang." AS tipus_lang,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted, - x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,IF( LENGTH(c.nev_".$lang.")>15,CONCAT(SUBSTRING(c.nev_".$lang.",1,13),'...'),c.nev_".$lang.") AS `c_name_short`,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN (SELECT ver_id,o_id,fajl AS file,version FROM coll2_ver WHERE o_id=".(int)$product." AND version<=".$this->getPrVersion()." ORDER BY version DESC LIMIT 1) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); - $tmp = $db->loadObjectList(); - $this->product = $tmp[0]; - } - return $this->product; - } - - public function getPrVersion() - { - $ret=2012; - - if (!isset($this->prversion) || (int)$this->prversion==0) - { - $db=JFactory::getDBO(); - $session=JFactory::getSession(); - - $ver=(int)$session->get('sr_ver'); - - if ($ver) - { - $db->setQuery("SELECT * FROM coll2_prversion WHERE ver=".$ver); - $row=$db->loadObjectList(); - if (!empty($row)) $ret=(int)$row[0]->prversion; - } - - $this->prversion=$ret; - } - else - { - $ret=$this->prversion; - } - - return ($ret); - } - - - public function getFiles($id=0) - { - if ((int)$id<=0) return(FALSE); - - $this->folder=$this->getFullPath($id); - if (is_dir($this->folder)) $this->files=$this->getFilteredFiles(scandir($this->folder),$id); - return $this->files; - } - - public function getFilteredFiles($tomb=array(),$id) - { - $ret=array(); - $this->filter=array('.','..','.quarantine'); - if (is_array($tomb) and count($tomb)) - { - foreach ($tomb as $file) - { - if (!in_array($file, $this->filter)) - { - $parts=explode(".", $file); - - $obj=new stdClass; - $obj->name=$file; - $obj->path=$this->getPath($id).$file; - $obj->fullpath=$_SERVER['DOCUMENT_ROOT'].$obj->path; - $obj->extension=(in_array(strtolower(end($parts)),$this->arrKnownFiles) ? strtolower(end($parts)) : 'unknown'); - $obj->filesize=filesize($obj->fullpath); - $obj->datetime=filemtime($obj->fullpath); - $obj->icon='/components/com_showroom/assets/images/'.$obj->extension.'.png'; - $obj->multidownloadlink=($obj->extension=='pdf' ? $obj->path : $this->getMultiDownloadLink($id,$obj->path)); - - $ret[]=$obj; - } - } - } - return $ret; - } - - - public function getPath($id=0) - { - $path=''; - if ((int)$id>0) - { - $itm=$this->getProduct($id); - $path='/'.$this->productDir.'/'.$itm->dir.'/'.(int)$id.'/'; - } - return $path; - } - - - public function getFullPath($id=0) - { - $path=''; - if ((int)$id>0) { $path=$_SERVER['DOCUMENT_ROOT'].$this->getPath($id); } - return $path; - } - - - public function getMultiDownloadLink($id,$path) - { - $ret=""; - - $obj=$this->getProduct($id); - if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } - -/* - $fajlok=@scandir($this->getProductDir().'/'.$obj->dir.'/'.$obj->id); - if(!isset($fajlok[2])) { $f=""; } - elseif(count($fajlok)>3) { $f=$obj->file; } - else { $f=$fajlok[2]; } -*/ - if ($path>"") - { - $ret=$path."?download=1&type=".$obj->type_download. - "&bigimage=".base64_encode($this->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). - "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). - "&objectname=".base64_encode($obj->title). - ((int)$_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); - - if ((int)$_SESSION['__default']['sr_ver']>=33) - { - $struct=$this->getStruct($obj->id); - if (trim($struct->category)>"" && trim($struct->subcategory)>"") - { - $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); - } - } - } - - return $ret; - } - - - public function getArticle($alias='showroom') - { - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM #__content WHERE alias='".$alias."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->article=$tmp[0]; - return $this->article; - } - - - public function getStruct($id=0) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT s.`id`,s.`struct_eng` AS `subcategory`,s.`parent` AS `parent_id`,p.`struct_eng` AS `category` - FROM coll2_struct s - LEFT OUTER JOIN (SELECT * FROM coll2_struct WHERE parent=id) p ON s.parent=p.id - WHERE s.id=(SELECT struct_id FROM collection2 WHERE o_id=".(int)$id.") LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->struct=$tmp[0]; - return($this->struct); - } - - public function getProductThumb() { return $this->productThumb; } - public function getProductDir() { return $this->productDir; } - - public function getLang() - { - return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); - } - - - public function getURL($url='') - { - $sefurl=$nonsefurl=''; - - $db=JFactory::getDBO(); - $url=trim($url); - if (substr($url,0,1)=='/') $url=substr($url,1); - $lang=&JFactory::getSession()->get('sr_lang'); - $table=($lang=='hun' ? 'jml_' : 'eng_')."sh404sef_urls"; - - $db->setQuery("SELECT * FROM `".$table."` WHERE `".(substr($url, 0, 5)=='index' ? "newurl" : "oldurl" )."`='".$url."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - - if (!empty($tmp)) - { - $sefurl=$tmp[0]->oldurl; - $nonsefurl=$tmp[0]->newurl; - parse_str($nonsefurl, $output); - $id=(int)$output['product']; - } - else - { - $id=(int)$_GET['product']; - $product=$this->getProduct($id); - $sefurl=$this->createSlug($lang=='hun' ? 'bemutatoterem' : 'showroom').'/'.$this->createSlug($product->tipus_lang).'/'.$this->createSlug($product->m_name).'/'.$this->createSlug($product->c_name).'/'.$this->createSlug($product->title); - $nonsefurl='index.php?option=com_showroom&view=product&product='.$id.'&lang='.$lang; - - $db->setQuery("SELECT * FROM ".$table." WHERE oldurl='".$sefurl."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - if (empty($tmp) && $id>0) - { - $tomb=New stdClass(); - $tomb->cpt=1; - $tomb->rank=0; - $tomb->oldurl=$sefurl; - $tomb->newurl=$nonsefurl; - $tomb->dateadd=date('Y-m-d',time()); - $db->insertObject($table, $tomb); - } - } - - return array('sef'=>$sefurl,'nonsef'=>$nonsefurl,'lang'=>$lang,'id'=>$id); - } - - - public function getURLbyID($id=0) - { - - $db=JFactory::getDBO(); - $sefurl=$nonsefurl=''; - $lang=JFactory::getSession()->get('sr_lang'); - $table=($lang=='hun' ? 'jml_' : 'eng_')."sh404sef_urls"; - - $sql="SELECT * FROM `".$table."` WHERE `newurl`='index.php?option=com_showroom&view=product&product=".$id."&lang=".$lang."' LIMIT 1;"; - $db->setQuery($sql); - $tmp=$db->loadObjectList(); - - if (!empty($tmp)) - { - $sefurl=$tmp[0]->oldurl; - $nonsefurl=$tmp[0]->newurl; - parse_str($nonsefurl, $output); - $id=(int)$output['product']; - } - else - { - if ($id>0) - { - $product=$this->getProduct($id); - $sefurl=$this->createSlug($lang=='hun' ? 'bemutatoterem' : 'showroom').'/'.$this->createSlug($product->tipus_lang).'/'.$this->createSlug($product->m_name).'/'.$this->createSlug($product->c_name).'/'.$this->createSlug($product->title); - $nonsefurl='index.php?option=com_showroom&view=product&product='.$id.'&lang='.$lang; - - $tomb=New stdClass(); - $tomb->cpt=1; - $tomb->rank=0; - $tomb->oldurl=$sefurl; - $tomb->newurl=$nonsefurl; - $tomb->dateadd=date('Y-m-d',time()); - $db->insertObject($table, $tomb); - } - } - - return array('sef'=>$sefurl,'nonsef'=>$nonsefurl,'lang'=>$lang,'id'=>$id); - } - - - public function createSlug($string, $delimiter = '-') { - if (!extension_loaded('iconv')) { throw new Exception('iconv module not loaded'); } - $oldLocale = setlocale(LC_ALL, '0'); // Save the old locale and set the new locale to UTF-8 - setlocale(LC_ALL, 'en_US.UTF-8'); - $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string); - $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean); - $clean = strtolower($clean); - $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); - $clean = trim($clean, $delimiter); - setlocale(LC_ALL, $oldLocale); // Revert back to the old locale - return $clean; - } -} -?> +get('sr_lang'); + if (!isset($this->families)) + { + $db=JFactory::getDBO(); + + if ($m_id==0) + { + $db->setQuery(" + SELECT c.c_id,c.nev_hun,c.nev_eng,c.m_id,m.`name` AS manufacture, m.dir,c.deleted AS c_deleted,m.deleted AS m_deleted + FROM coll2_cat c + LEFT OUTER JOIN coll2_man m ON m.id=c.m_id + WHERE c.c_id=".(int)$family." LIMIT 1;"); + $tmp=$db->loadObjectList(); + + $manufacture=(int)$tmp[0]->m_id; + } + else + { + $manufacture=$m_id; + } + + $db->setQuery(" + SELECT f.c_id,f.m_id,m.`name` AS manufacture,IF( LENGTH(f.nev_".$lang.")>20,CONCAT(SUBSTRING(f.nev_".$lang.",1,18),'...'),f.nev_".$lang.") AS family_short,f.nev_".$lang." AS family,cnt.darab + FROM coll2_cat f + LEFT OUTER JOIN ( + SELECT COUNT(*) AS darab,c_id,c_name FROM ( + SELECT x.o_id,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".($manufacture>0 ? "AND x.m_id='".$manufacture."'" : "")." + ) x GROUP BY c_id + ) cnt ON cnt.c_id=f.c_id + LEFT OUTER JOIN coll2_man m ON m.id=f.m_id + WHERE f.deleted=0 AND m.deleted=0 AND cnt.darab>0 + ORDER BY f.nev_".$lang.";"); + $this->families = $db->loadObjectList(); + } + return $this->families; + } + + public function getFamily($id=0) + { + $session=JFactory::getSession(); + $lang=$session->get('sr_lang');//'hun'; + if ($id>0 && (!isset($this->family) or empty($this->family))) + { + $db=JFactory::getDBO(); + $db->setQuery("SELECT c_id,m_id,nev_".$lang." AS name,deleted FROM coll2_cat WHERE c_id=".$id." LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->family=$tmp[0]; + } + return $this->family; + } + + + public function getProducts($family="",$m_id=0) + { + $session=JFactory::getSession(); + $lang=$session->get('sr_lang'); + if (!isset($this->products)) + { + $db = JFactory::getDBO(); + $db->setQuery(" + SELECT x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file`,v.`version`,x.rendelheto,x.`show`,x.`down`,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN ( + SELECT ver_id,o_id,fajl AS `file`,version FROM ( + SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC + ) z GROUP BY o_id + ) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".($m_id>0 ? " AND x.m_id='".$m_id."'":"")." ".((int)$family>0 ? ' AND x.c_id='.(int)$family.' ORDER BY x.title_'.$lang : ' ORDER BY RAND() LIMIT 0,'.$this->limit).";"); + $this->products = $db->loadObjectList(); + } + return $this->products; + } + + + public function getProduct($product=0) + { + $session=JFactory::getSession(); + $lang=$session->get('sr_lang'); + if (!isset($this->product) && (int)$product>0) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT + x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`, + x.desc_".$lang." AS `desc`,CONCAT('/".$this->getProductThumb()."/',m.dir,'/',x.o_id,'/zz_big.jpg') AS img,v.file,v.version, + x.rendelheto,x.`show`,x.`down`,x.tipus,t.name_".$lang." AS tipus_lang,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted, + x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,IF( LENGTH(c.nev_".$lang.")>15,CONCAT(SUBSTRING(c.nev_".$lang.",1,13),'...'),c.nev_".$lang.") AS `c_name_short`,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN (SELECT ver_id,o_id,fajl AS file,version FROM coll2_ver WHERE o_id=".(int)$product." AND version<=".$this->getPrVersion()." ORDER BY version DESC LIMIT 1) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); + $tmp = $db->loadObjectList(); + $this->product = $tmp[0]; + } + return $this->product; + } + + public function getPrVersion() + { + $ret=2012; + + if (!isset($this->prversion) || (int)$this->prversion==0) + { + $db=JFactory::getDBO(); + $session=JFactory::getSession(); + + $ver=(int)$session->get('sr_ver'); + + if ($ver) + { + $db->setQuery("SELECT * FROM coll2_prversion WHERE ver=".$ver); + $row=$db->loadObjectList(); + if (!empty($row)) $ret=(int)$row[0]->prversion; + } + + $this->prversion=$ret; + } + else + { + $ret=$this->prversion; + } + + return ($ret); + } + + + public function getFiles($id=0) + { + if ((int)$id<=0) return(FALSE); + + $this->folder=$this->getFullPath($id); + if (is_dir($this->folder)) $this->files=$this->getFilteredFiles(scandir($this->folder),$id); + return $this->files; + } + + public function getFilteredFiles($tomb=array(),$id) + { + $ret=array(); + $this->filter=array('.','..','.quarantine'); + if (is_array($tomb) and count($tomb)) + { + foreach ($tomb as $file) + { + if (!in_array($file, $this->filter)) + { + $parts=explode(".", $file); + + $obj=new stdClass; + $obj->name=$file; + $obj->path=$this->getPath($id).$file; + $obj->fullpath=$_SERVER['DOCUMENT_ROOT'].$obj->path; + $obj->extension=(in_array(strtolower(end($parts)),$this->arrKnownFiles) ? strtolower(end($parts)) : 'unknown'); + $obj->filesize=filesize($obj->fullpath); + $obj->datetime=filemtime($obj->fullpath); + $obj->icon='/components/com_showroom/assets/images/'.$obj->extension.'.png'; + $obj->multidownloadlink=($obj->extension=='pdf' ? $obj->path : $this->getMultiDownloadLink($id,$obj->path)); + + $ret[]=$obj; + } + } + } + return $ret; + } + + + public function getPath($id=0) + { + $path=''; + if ((int)$id>0) + { + $itm=$this->getProduct($id); + $path='/'.$this->productDir.'/'.$itm->dir.'/'.(int)$id.'/'; + } + return $path; + } + + + public function getFullPath($id=0) + { + $path=''; + if ((int)$id>0) { $path=$_SERVER['DOCUMENT_ROOT'].$this->getPath($id); } + return $path; + } + + + public function getMultiDownloadLink($id,$path) + { + $ret=""; + + $obj=$this->getProduct($id); + if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } + +/* + $fajlok=@scandir($this->getProductDir().'/'.$obj->dir.'/'.$obj->id); + if(!isset($fajlok[2])) { $f=""; } + elseif(count($fajlok)>3) { $f=$obj->file; } + else { $f=$fajlok[2]; } +*/ + if ($path>"") + { + $ret=$path."?download=1&type=".$obj->type_download. + "&bigimage=".base64_encode($this->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). + "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). + "&objectname=".base64_encode($obj->title). + ((int)$_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); + + if ((int)$_SESSION['__default']['sr_ver']>=33) + { + $struct=$this->getStruct($obj->id); + if (trim($struct->category)>"" && trim($struct->subcategory)>"") + { + $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); + } + } + } + + return $ret; + } + + + public function getArticle($alias='showroom') + { + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM #__content WHERE alias='".$alias."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->article=$tmp[0]; + return $this->article; + } + + + public function getStruct($id=0) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT s.`id`,s.`struct_eng` AS `subcategory`,s.`parent` AS `parent_id`,p.`struct_eng` AS `category` + FROM coll2_struct s + LEFT OUTER JOIN (SELECT * FROM coll2_struct WHERE parent=id) p ON s.parent=p.id + WHERE s.id=(SELECT struct_id FROM collection2 WHERE o_id=".(int)$id.") LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->struct=$tmp[0]; + return($this->struct); + } + + public function getProductThumb() { return $this->productThumb; } + public function getProductDir() { return $this->productDir; } + + public function getLang() + { + return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); + } + + + public function getURL($url='') + { + $sefurl=$nonsefurl=''; + + $db=JFactory::getDBO(); + $url=trim($url); + if (substr($url,0,1)=='/') $url=substr($url,1); + $lang=&JFactory::getSession()->get('sr_lang'); + $table=($lang=='hun' ? 'jml_' : 'eng_')."sh404sef_urls"; + + $db->setQuery("SELECT * FROM `".$table."` WHERE `".(substr($url, 0, 5)=='index' ? "newurl" : "oldurl" )."`='".$url."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + + if (!empty($tmp)) + { + $sefurl=$tmp[0]->oldurl; + $nonsefurl=$tmp[0]->newurl; + parse_str($nonsefurl, $output); + $id=(int)$output['product']; + } + else + { + $id=(int)$_GET['product']; + $product=$this->getProduct($id); + $sefurl=$this->createSlug($lang=='hun' ? 'bemutatoterem' : 'showroom').'/'.$this->createSlug($product->tipus_lang).'/'.$this->createSlug($product->m_name).'/'.$this->createSlug($product->c_name).'/'.$this->createSlug($product->title); + $nonsefurl='index.php?option=com_showroom&view=product&product='.$id.'&lang='.$lang; + + $db->setQuery("SELECT * FROM ".$table." WHERE oldurl='".$sefurl."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + if (empty($tmp) && $id>0) + { + $tomb=New stdClass(); + $tomb->cpt=1; + $tomb->rank=0; + $tomb->oldurl=$sefurl; + $tomb->newurl=$nonsefurl; + $tomb->dateadd=date('Y-m-d',time()); + $db->insertObject($table, $tomb); + } + } + + return array('sef'=>$sefurl,'nonsef'=>$nonsefurl,'lang'=>$lang,'id'=>$id); + } + + + public function getURLbyID($id=0) + { + + $db=JFactory::getDBO(); + $sefurl=$nonsefurl=''; + $lang=JFactory::getSession()->get('sr_lang'); + $table=($lang=='hun' ? 'jml_' : 'eng_')."sh404sef_urls"; + + $sql="SELECT * FROM `".$table."` WHERE `newurl`='index.php?option=com_showroom&view=product&product=".$id."&lang=".$lang."' LIMIT 1;"; + $db->setQuery($sql); + $tmp=$db->loadObjectList(); + + if (!empty($tmp)) + { + $sefurl=$tmp[0]->oldurl; + $nonsefurl=$tmp[0]->newurl; + parse_str($nonsefurl, $output); + $id=(int)$output['product']; + } + else + { + if ($id>0) + { + $product=$this->getProduct($id); + $sefurl=$this->createSlug($lang=='hun' ? 'bemutatoterem' : 'showroom').'/'.$this->createSlug($product->tipus_lang).'/'.$this->createSlug($product->m_name).'/'.$this->createSlug($product->c_name).'/'.$this->createSlug($product->title); + $nonsefurl='index.php?option=com_showroom&view=product&product='.$id.'&lang='.$lang; + + $tomb=New stdClass(); + $tomb->cpt=1; + $tomb->rank=0; + $tomb->oldurl=$sefurl; + $tomb->newurl=$nonsefurl; + $tomb->dateadd=date('Y-m-d',time()); + $db->insertObject($table, $tomb); + } + } + + return array('sef'=>$sefurl,'nonsef'=>$nonsefurl,'lang'=>$lang,'id'=>$id); + } + + + public function createSlug($string, $delimiter = '-') { + if (!extension_loaded('iconv')) { throw new Exception('iconv module not loaded'); } + $oldLocale = setlocale(LC_ALL, '0'); // Save the old locale and set the new locale to UTF-8 + setlocale(LC_ALL, 'en_US.UTF-8'); + $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string); + $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean); + $clean = strtolower($clean); + $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); + $clean = trim($clean, $delimiter); + setlocale(LC_ALL, $oldLocale); // Revert back to the old locale + return $clean; + } +} +?> diff --git a/cadline/components/components/com_showroom/models/product.php b/cadline/components/components/com_showroom/models/product.php index 8ab4ae37..63df4cff 100644 --- a/cadline/components/components/com_showroom/models/product.php +++ b/cadline/components/components/com_showroom/models/product.php @@ -1,374 +1,374 @@ -get('sr_lang');//'hun'; - if (!isset($this->families) or empty($this->families) ) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT x.* - FROM collection2 x - LEFT OUTER JOIN coll2_cat c ON c.c_id=x.c_id - LEFT OUTER JOIN coll2_man m ON m.id=x.m_id - WHERE x.deleted=0 AND c.deleted=0 AND m.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); - $tmp=$db->loadObjectList(); - - $manufacture=(int)$tmp[0]->m_id; - - if ($manufacture>0) - { - $db->setQuery(" - SELECT f.c_id,f.m_id,m.`name` AS manufacture,IF( LENGTH(f.nev_".$lang.")>25,CONCAT(SUBSTRING(f.nev_".$lang.",1,23),'...'),f.nev_".$lang.") AS family_short,f.nev_".$lang." AS family,cnt.darab - FROM coll2_cat f - LEFT OUTER JOIN ( - SELECT COUNT(*) AS darab,c_id,c_name FROM ( - SELECT x.o_id,x.tipus,x.deleted,x.m_id,m.`name` AS m_name,m.deleted AS m_deleted,x.c_id,c.nev_hun AS c_name,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".($manufacture>0 ? "AND x.m_id='".$manufacture."'" : "")." - ) x GROUP BY c_id - ) cnt ON cnt.c_id=f.c_id - LEFT OUTER JOIN coll2_man m ON m.id=f.m_id - WHERE f.deleted=0 AND m.deleted=0 AND cnt.darab>0 - ORDER BY f.nev_".$lang.";"); - $this->families = $db->loadObjectList(); - } - } - return $this->families; - } - - public function getFamilyID($product=0) - { - $session=JFactory::getSession(); - $lang=$session->get( 'sr_lang');//'hun'; - if ($product>0) - { - $db=JFactory::getDBO(); - $sql=" - SELECT x.c_id - FROM collection2 x - LEFT OUTER JOIN coll2_cat c ON c.c_id=x.c_id - LEFT OUTER JOIN coll2_man m ON m.id=x.m_id - WHERE x.deleted=0 AND c.deleted=0 AND m.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"; - $db->setQuery($sql); - $tmp=$db->loadObjectList(); - - $this->family = (int)$tmp[0]->c_id; - } - return $this->family; - } - - - public function getFamily($id=0) - { - $session=JFactory::getSession(); - $lang=$session->get('sr_lang');//'hun'; - if ($id>0) - { - $db=JFactory::getDBO(); - $db->setQuery("SELECT c_id,m_id,nev_".$lang." AS name,deleted FROM coll2_cat WHERE c_id=".$id." LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->family=$tmp[0]; - } - return $this->family; - } - - - public function getProducts($family="",$lang="hun") - { - $session=JFactory::getSession(); -// $lang=$session->get('sr_lang');//'hun'; - - if (!isset($this->products) or empty($this->products) ) - { - $db = JFactory::getDBO(); - $db->setQuery(" - SELECT x.o_id AS id,x.title_".$lang." AS `title`,IF(LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file`,x.rendelheto,x.`show`,x.`down`,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN ( - SELECT ver_id,o_id,fajl AS `file`,version FROM ( - SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC - ) z GROUP BY o_id - ) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".((int)$family>0 ? ' AND x.c_id='.(int)$family.' ORDER BY x.title_'.$lang : ' ORDER BY RAND() LIMIT 0,'.$this->limit).";"); - $this->products = $db->loadObjectList(); - } - return $this->products; - } - - public function getProduct($product=0,$lang="hun") - { - $session=JFactory::getSession(); - $lang2=$session->get('sr_lang'); - if($lang2 == 'eng') { - $lang=$lang2; - } - if (!isset($this->product) && (int)$product>0) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT - x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`, - x.desc_".$lang." AS `desc`,CONCAT('/".$this->getProductThumb()."/',m.dir,'/',x.o_id,'/zz_big.jpg') AS img,v.file,v.version, - x.rendelheto,x.`show`,x.`down`,x.tipus, t.name_".$lang." AS tipus_lang,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted, - x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,IF( LENGTH(c.nev_".$lang.")>15,CONCAT(SUBSTRING(c.nev_".$lang.",1,13),'...'),c.nev_".$lang.") AS `c_name_short`,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN (SELECT ver_id,o_id,fajl AS file,version FROM coll2_ver WHERE o_id=".(int)$product." AND version<=".$this->getPrVersion()." ORDER BY version DESC LIMIT 1) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); - $tmp = $db->loadObjectList(); - $this->product = $tmp[0]; - } - return $this->product; - } - - public function getPrVersion() - { - $ret=2012; - - if (!isset($this->prversion) || (int)$this->prversion==0) - { - $db=JFactory::getDBO(); - $session=JFactory::getSession(); - - $ver=(int)$session->get('sr_ver'); - - if ($ver) - { - $db->setQuery("SELECT * FROM coll2_prversion WHERE ver=".$ver); - $row=$db->loadObjectList(); - if (!empty($row)) $ret=(int)$row[0]->prversion; - } - - $this->prversion=$ret; - } - else - { - $ret=$this->prversion; - } - - return ($ret); - } - - - public function getFiles($id=0) - { - if ((int)$id<=0) return(FALSE); - - $this->folder=$this->getFullPath($id); - if (is_dir($this->folder)) $this->files=$this->getFilteredFiles(scandir($this->folder),$id); - return $this->files; - } - - public function getFilteredFiles($tomb=array(),$id) - { - $ret=array(); - $this->filter=array('.','..','.quarantine'); - if (is_array($tomb) and count($tomb)) - { - foreach ($tomb as $file) - { - if (!in_array($file, $this->filter)) - { - $parts=explode(".", $file); - - $obj=new stdClass; - $obj->name=$file; - $obj->path=$this->getPath($id).$file; - $obj->fullpath=$_SERVER['DOCUMENT_ROOT'].$obj->path; - $obj->extension=(in_array(strtolower(end($parts)),$this->arrKnownFiles) ? strtolower(end($parts)) : 'unknown'); - $obj->filesize=filesize($obj->fullpath); - $obj->datetime=filemtime($obj->fullpath); - $obj->icon='/components/com_showroom/assets/images/'.$obj->extension.'.png'; - $obj->multidownloadlink=($obj->extension=='pdf' ? $obj->path : $this->getMultiDownloadLink($id,$obj->path)); - - $ret[]=$obj; - } - } - } - return $ret; - } - - - public function getPath($id=0) - { - $path=''; - if ((int)$id>0) - { - $itm=$this->getProduct($id); - $path='/'.$this->productDir.'/'.$itm->dir.'/'.(int)$id.'/'; - } - return $path; - } - - - public function getFullPath($id=0) - { - $path=''; - if ((int)$id>0) { $path=$_SERVER['DOCUMENT_ROOT'].$this->getPath($id); } - return $path; - } - - - public function getMultiDownloadLink($id,$path) - { - $ret=""; - - $obj=$this->getProduct($id); - if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } - -/* - $fajlok=@scandir($this->getProductDir().'/'.$obj->dir.'/'.$obj->id); - if(!isset($fajlok[2])) { $f=""; } - elseif(count($fajlok)>3) { $f=$obj->file; } - else { $f=$fajlok[2]; } -*/ - if ($path>"") - { - $ret=$path."?download=1&type=".$obj->type_download. - "&bigimage=".base64_encode($this->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). - "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). - ((int)$_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); - - if ((int)$_SESSION['__default']['sr_ver']>=33) - { - $struct=$this->getStruct($obj->id); - if (trim($struct->category)>"" && trim($struct->subcategory)>"") - { - $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); - } - } - } - - return $ret; - } - - - public function getArticle($alias='showroom') - { - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM #__content WHERE alias='".$alias."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->article=$tmp[0]; - return $this->article; - } - - - public function getStruct($id=0) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT s.`id`,s.`struct_eng` AS `subcategory`,s.`parent` AS `parent_id`,p.`struct_eng` AS `category` - FROM coll2_struct s - LEFT OUTER JOIN (SELECT * FROM coll2_struct WHERE parent=id) p ON s.parent=p.id - WHERE s.id=(SELECT struct_id FROM collection2 WHERE o_id=".(int)$id.") LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->struct=$tmp[0]; - return($this->struct); - } - - - public function addShow($id=0) - { - $db=JFactory::getDBO(); - $db->setQuery("UPDATE collection2 SET `show`=`show`+1 WHERE o_id=".$id); - $db->query(); - } - - - public function getProductThumb() { return $this->productThumb; } - public function getProductDir() { return $this->productDir; } - - public function getLang() - { - return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); - } - - - public function getURL($url='') - { - $sefurl=$nonsefurl=''; - - $db=JFactory::getDBO(); - $url=trim($url); - if (substr($url,0,1)=='/') $url=substr($url,1); - $lang=JFactory::getSession()->get('sr_lang'); - $table=($lang=='hun' ? 'jml_' : 'eng_')."sh404sef_urls"; - - $db->setQuery("SELECT * FROM `".$table."` WHERE `".(substr($url, 0, 5)=='index' ? "newurl" : "oldurl" )."`='".$url."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - - if (!empty($tmp)) - { - $sefurl=$tmp[0]->oldurl; - $nonsefurl=$tmp[0]->newurl; - parse_str($nonsefurl, $output); - $id=(int)$output['product']; - } - else - { - $id=(int)$_GET['product']; - $product=$this->getProduct($id); - $sefurl=$this->createSlug($lang=='hun' ? 'bemutatoterem' : 'showroom').'/'.$this->createSlug($product->tipus_lang).'/'.$this->createSlug($product->m_name).'/'.$this->createSlug($product->c_name).'/'.$this->createSlug($product->title); - $nonsefurl='index.php?option=com_showroom&view=product&product='.$id.'&lang='.$lang; - - $db->setQuery("SELECT * FROM ".$table." WHERE oldurl='".$sefurl."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - if (empty($tmp) && $id>0) - { - $tomb=New stdClass(); - $tomb->cpt=1; - $tomb->rank=0; - $tomb->oldurl=$sefurl; - $tomb->newurl=$nonsefurl; - $tomb->dateadd=date('Y-m-d',time()); - $db->insertObject($table, $tomb); - } - } - - return array('sef'=>$sefurl,'nonsef'=>$nonsefurl,'lang'=>$lang,'id'=>$id); - } - - - public function createSlug($string, $delimiter = '-') { - if (!extension_loaded('iconv')) { throw new Exception('iconv module not loaded'); } - $oldLocale = setlocale(LC_ALL, '0'); // Save the old locale and set the new locale to UTF-8 - setlocale(LC_ALL, 'en_US.UTF-8'); - $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string); - $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean); - $clean = strtolower($clean); - $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); - $clean = trim($clean, $delimiter); - setlocale(LC_ALL, $oldLocale); // Revert back to the old locale - return $clean; - } -} -?> +get('sr_lang');//'hun'; + if (!isset($this->families) or empty($this->families) ) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT x.* + FROM collection2 x + LEFT OUTER JOIN coll2_cat c ON c.c_id=x.c_id + LEFT OUTER JOIN coll2_man m ON m.id=x.m_id + WHERE x.deleted=0 AND c.deleted=0 AND m.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); + $tmp=$db->loadObjectList(); + + $manufacture=(int)$tmp[0]->m_id; + + if ($manufacture>0) + { + $db->setQuery(" + SELECT f.c_id,f.m_id,m.`name` AS manufacture,IF( LENGTH(f.nev_".$lang.")>25,CONCAT(SUBSTRING(f.nev_".$lang.",1,23),'...'),f.nev_".$lang.") AS family_short,f.nev_".$lang." AS family,cnt.darab + FROM coll2_cat f + LEFT OUTER JOIN ( + SELECT COUNT(*) AS darab,c_id,c_name FROM ( + SELECT x.o_id,x.tipus,x.deleted,x.m_id,m.`name` AS m_name,m.deleted AS m_deleted,x.c_id,c.nev_hun AS c_name,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".($manufacture>0 ? "AND x.m_id='".$manufacture."'" : "")." + ) x GROUP BY c_id + ) cnt ON cnt.c_id=f.c_id + LEFT OUTER JOIN coll2_man m ON m.id=f.m_id + WHERE f.deleted=0 AND m.deleted=0 AND cnt.darab>0 + ORDER BY f.nev_".$lang.";"); + $this->families = $db->loadObjectList(); + } + } + return $this->families; + } + + public function getFamilyID($product=0) + { + $session=JFactory::getSession(); + $lang=$session->get( 'sr_lang');//'hun'; + if ($product>0) + { + $db=JFactory::getDBO(); + $sql=" + SELECT x.c_id + FROM collection2 x + LEFT OUTER JOIN coll2_cat c ON c.c_id=x.c_id + LEFT OUTER JOIN coll2_man m ON m.id=x.m_id + WHERE x.deleted=0 AND c.deleted=0 AND m.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"; + $db->setQuery($sql); + $tmp=$db->loadObjectList(); + + $this->family = (int)$tmp[0]->c_id; + } + return $this->family; + } + + + public function getFamily($id=0) + { + $session=JFactory::getSession(); + $lang=$session->get('sr_lang');//'hun'; + if ($id>0) + { + $db=JFactory::getDBO(); + $db->setQuery("SELECT c_id,m_id,nev_".$lang." AS name,deleted FROM coll2_cat WHERE c_id=".$id." LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->family=$tmp[0]; + } + return $this->family; + } + + + public function getProducts($family="",$lang="hun") + { + $session=JFactory::getSession(); +// $lang=$session->get('sr_lang');//'hun'; + + if (!isset($this->products) or empty($this->products) ) + { + $db = JFactory::getDBO(); + $db->setQuery(" + SELECT x.o_id AS id,x.title_".$lang." AS `title`,IF(LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file`,x.rendelheto,x.`show`,x.`down`,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN ( + SELECT ver_id,o_id,fajl AS `file`,version FROM ( + SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC + ) z GROUP BY o_id + ) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".((int)$family>0 ? ' AND x.c_id='.(int)$family.' ORDER BY x.title_'.$lang : ' ORDER BY RAND() LIMIT 0,'.$this->limit).";"); + $this->products = $db->loadObjectList(); + } + return $this->products; + } + + public function getProduct($product=0,$lang="hun") + { + $session=JFactory::getSession(); + $lang2=$session->get('sr_lang'); + if($lang2 == 'eng') { + $lang=$lang2; + } + if (!isset($this->product) && (int)$product>0) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT + x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`, + x.desc_".$lang." AS `desc`,CONCAT('/".$this->getProductThumb()."/',m.dir,'/',x.o_id,'/zz_big.jpg') AS img,v.file,v.version, + x.rendelheto,x.`show`,x.`down`,x.tipus, t.name_".$lang." AS tipus_lang,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted, + x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,IF( LENGTH(c.nev_".$lang.")>15,CONCAT(SUBSTRING(c.nev_".$lang.",1,13),'...'),c.nev_".$lang.") AS `c_name_short`,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN (SELECT ver_id,o_id,fajl AS file,version FROM coll2_ver WHERE o_id=".(int)$product." AND version<=".$this->getPrVersion()." ORDER BY version DESC LIMIT 1) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); + $tmp = $db->loadObjectList(); + $this->product = $tmp[0]; + } + return $this->product; + } + + public function getPrVersion() + { + $ret=2012; + + if (!isset($this->prversion) || (int)$this->prversion==0) + { + $db=JFactory::getDBO(); + $session=JFactory::getSession(); + + $ver=(int)$session->get('sr_ver'); + + if ($ver) + { + $db->setQuery("SELECT * FROM coll2_prversion WHERE ver=".$ver); + $row=$db->loadObjectList(); + if (!empty($row)) $ret=(int)$row[0]->prversion; + } + + $this->prversion=$ret; + } + else + { + $ret=$this->prversion; + } + + return ($ret); + } + + + public function getFiles($id=0) + { + if ((int)$id<=0) return(FALSE); + + $this->folder=$this->getFullPath($id); + if (is_dir($this->folder)) $this->files=$this->getFilteredFiles(scandir($this->folder),$id); + return $this->files; + } + + public function getFilteredFiles($tomb=array(),$id) + { + $ret=array(); + $this->filter=array('.','..','.quarantine'); + if (is_array($tomb) and count($tomb)) + { + foreach ($tomb as $file) + { + if (!in_array($file, $this->filter)) + { + $parts=explode(".", $file); + + $obj=new stdClass; + $obj->name=$file; + $obj->path=$this->getPath($id).$file; + $obj->fullpath=$_SERVER['DOCUMENT_ROOT'].$obj->path; + $obj->extension=(in_array(strtolower(end($parts)),$this->arrKnownFiles) ? strtolower(end($parts)) : 'unknown'); + $obj->filesize=filesize($obj->fullpath); + $obj->datetime=filemtime($obj->fullpath); + $obj->icon='/components/com_showroom/assets/images/'.$obj->extension.'.png'; + $obj->multidownloadlink=($obj->extension=='pdf' ? $obj->path : $this->getMultiDownloadLink($id,$obj->path)); + + $ret[]=$obj; + } + } + } + return $ret; + } + + + public function getPath($id=0) + { + $path=''; + if ((int)$id>0) + { + $itm=$this->getProduct($id); + $path='/'.$this->productDir.'/'.$itm->dir.'/'.(int)$id.'/'; + } + return $path; + } + + + public function getFullPath($id=0) + { + $path=''; + if ((int)$id>0) { $path=$_SERVER['DOCUMENT_ROOT'].$this->getPath($id); } + return $path; + } + + + public function getMultiDownloadLink($id,$path) + { + $ret=""; + + $obj=$this->getProduct($id); + if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } + +/* + $fajlok=@scandir($this->getProductDir().'/'.$obj->dir.'/'.$obj->id); + if(!isset($fajlok[2])) { $f=""; } + elseif(count($fajlok)>3) { $f=$obj->file; } + else { $f=$fajlok[2]; } +*/ + if ($path>"") + { + $ret=$path."?download=1&type=".$obj->type_download. + "&bigimage=".base64_encode($this->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). + "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). + ((int)$_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); + + if ((int)$_SESSION['__default']['sr_ver']>=33) + { + $struct=$this->getStruct($obj->id); + if (trim($struct->category)>"" && trim($struct->subcategory)>"") + { + $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); + } + } + } + + return $ret; + } + + + public function getArticle($alias='showroom') + { + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM #__content WHERE alias='".$alias."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->article=$tmp[0]; + return $this->article; + } + + + public function getStruct($id=0) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT s.`id`,s.`struct_eng` AS `subcategory`,s.`parent` AS `parent_id`,p.`struct_eng` AS `category` + FROM coll2_struct s + LEFT OUTER JOIN (SELECT * FROM coll2_struct WHERE parent=id) p ON s.parent=p.id + WHERE s.id=(SELECT struct_id FROM collection2 WHERE o_id=".(int)$id.") LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->struct=$tmp[0]; + return($this->struct); + } + + + public function addShow($id=0) + { + $db=JFactory::getDBO(); + $db->setQuery("UPDATE collection2 SET `show`=`show`+1 WHERE o_id=".$id); + $db->query(); + } + + + public function getProductThumb() { return $this->productThumb; } + public function getProductDir() { return $this->productDir; } + + public function getLang() + { + return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); + } + + + public function getURL($url='') + { + $sefurl=$nonsefurl=''; + + $db=JFactory::getDBO(); + $url=trim($url); + if (substr($url,0,1)=='/') $url=substr($url,1); + $lang=JFactory::getSession()->get('sr_lang'); + $table=($lang=='hun' ? 'jml_' : 'eng_')."sh404sef_urls"; + + $db->setQuery("SELECT * FROM `".$table."` WHERE `".(substr($url, 0, 5)=='index' ? "newurl" : "oldurl" )."`='".$url."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + + if (!empty($tmp)) + { + $sefurl=$tmp[0]->oldurl; + $nonsefurl=$tmp[0]->newurl; + parse_str($nonsefurl, $output); + $id=(int)$output['product']; + } + else + { + $id=(int)$_GET['product']; + $product=$this->getProduct($id); + $sefurl=$this->createSlug($lang=='hun' ? 'bemutatoterem' : 'showroom').'/'.$this->createSlug($product->tipus_lang).'/'.$this->createSlug($product->m_name).'/'.$this->createSlug($product->c_name).'/'.$this->createSlug($product->title); + $nonsefurl='index.php?option=com_showroom&view=product&product='.$id.'&lang='.$lang; + + $db->setQuery("SELECT * FROM ".$table." WHERE oldurl='".$sefurl."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + if (empty($tmp) && $id>0) + { + $tomb=New stdClass(); + $tomb->cpt=1; + $tomb->rank=0; + $tomb->oldurl=$sefurl; + $tomb->newurl=$nonsefurl; + $tomb->dateadd=date('Y-m-d',time()); + $db->insertObject($table, $tomb); + } + } + + return array('sef'=>$sefurl,'nonsef'=>$nonsefurl,'lang'=>$lang,'id'=>$id); + } + + + public function createSlug($string, $delimiter = '-') { + if (!extension_loaded('iconv')) { throw new Exception('iconv module not loaded'); } + $oldLocale = setlocale(LC_ALL, '0'); // Save the old locale and set the new locale to UTF-8 + setlocale(LC_ALL, 'en_US.UTF-8'); + $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string); + $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean); + $clean = strtolower($clean); + $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); + $clean = trim($clean, $delimiter); + setlocale(LC_ALL, $oldLocale); // Revert back to the old locale + return $clean; + } +} +?> diff --git a/cadline/components/components/com_showroom/models/search.php b/cadline/components/components/com_showroom/models/search.php index 39539eb4..14122026 100644 --- a/cadline/components/components/com_showroom/models/search.php +++ b/cadline/components/components/com_showroom/models/search.php @@ -1,395 +1,395 @@ -get('sr_lang'); - $search=trim(addslashes($search)); - - $ms_type=((isset($multiselect['type']) && count($multiselect['type'])) ? " AND x.tipus IN ('".implode("','",$multiselect['type'])."')" : ""); - $ms_brand=((isset($multiselect['brand']) && count($multiselect['brand'])) ? " AND x.m_id IN (".implode(',',$multiselect['brand']).")" : ""); - $ms_category=((isset($multiselect['category']) && count($multiselect['category'])) ? " AND s.parent IN (".implode(',',$multiselect['category']).")" : ""); - $ms_subcategory=((isset($multiselect['subcategory']) && count($multiselect['subcategory'])) ? " AND s.id IN (".implode(',',$multiselect['subcategory']).")" : ""); - - $sql=" - SELECT COUNT(*) AS darab FROM ( - SELECT x.o_id AS id,x.tipus,t.type_download,x.title_".$lang." AS `title`,IF(LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file` - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN coll2_struct s ON x.struct_id=s.id - LEFT OUTER JOIN (SELECT id,struct_hun,struct_eng FROM coll2_struct WHERE id=parent) p ON s.parent=p.id - LEFT OUTER JOIN ( - SELECT ver_id,o_id,fajl AS `file`,version FROM ( - SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC - ) z GROUP BY o_id - ) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".$ms_type." ".$ms_brand." ".$ms_category." ".$ms_subcategory." - AND ( - x.title_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR - x.desc_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR - m.`name` COLLATE utf8_general_ci LIKE '%".$search."%' OR - c.nev_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR - s.struct_".$lang." LIKE '%".$search."%' OR - p.struct_".$lang." LIKE '%".$search."%') - ) p;"; -//print $sql; - $db=JFactory::getDBO(); - $db->setQuery($sql); - $tmp=$db->loadObjectList(); - - $db->setQuery(" - SELECT x.o_id AS id,x.tipus,t.type_download,x.title_".$lang." AS `title`,IF(LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file` - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN coll2_struct s ON x.struct_id=s.id - LEFT OUTER JOIN (SELECT id,struct_hun,struct_eng FROM coll2_struct WHERE id=parent) p ON s.parent=p.id - LEFT OUTER JOIN ( - SELECT ver_id,o_id,fajl AS `file`,version FROM ( - SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC - ) z GROUP BY o_id - ) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".$ms_type." ".$ms_brand." ".$ms_category." ".$ms_subcategory." - AND ( - x.title_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR - x.desc_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR - m.`name` COLLATE utf8_general_ci LIKE '%".$search."%' OR - c.nev_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR - s.struct_".$lang." LIKE '%".$search."%' OR - p.struct_".$lang." LIKE '%".$search."%') - ORDER BY x.title_".$lang." - LIMIT ".($page>0 ? $page-1 : 0)*$this->ipp.", ".$this->ipp.";"); - $this->products=$db->loadObjectList(); - - $this->page=((int)$page==0 ? 1 : $page); - $this->all=$tmp[0]->darab; - $this->last=(floor($this->all/$this->ipp)+($this->all%$this->ipp==0 ? 0 : 1)); - $this->first=1; - - if ($this->last>$this->pager*2+1) - { - if ($this->page<$this->first+$this->pager) { $this->visibleFirst=$this->first;$this->visibleLast=$this->first+$this->pager*2; } - else if ($this->page>$this->last-$this->pager) { $this->visibleFirst=$this->last-$this->pager*2;$this->visibleLast=$this->last; } - else { $this->visibleFirst=$this->page-$this->pager;$this->visibleLast=$this->page+$this->pager; } - } - else { $this->visibleFirst=$this->first;$this->visibleLast=$this->last; } - - return $this->products; - } - - public function getTypes() - { - $session=&JFactory::getSession(); - $lang=$session->get('sr_lang');//'hun'; - $db=JFactory::getDBO(); - $db->setQuery("SELECT `type`,`name_".$lang."` AS `name` FROM coll2_types t WHERE t.visible='Y' ORDER BY `name_".$lang."`;"); - $this->types=$db->loadObjectList(); - return $this->types; - } - - public function getBrands($types=array()) - { - $session=&JFactory::getSession(); - $lang=$session->get('sr_lang');//'hun'; - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(m.`id`),m.`name` - FROM collection2 c - LEFT OUTER JOIN coll2_man m ON c.`m_id`=m.`id` - LEFT OUTER JOIN coll2_cat k ON c.`c_id`=k.`c_id` - LEFT OUTER JOIN coll2_struct s ON c.`struct_id`=s.`id` - LEFT OUTER JOIN (SELECT id,struct_".$lang." FROM coll2_struct WHERE parent=id) p ON p.`id`=s.`parent` - WHERE m.deleted=0 AND c.deleted=0 AND k.deleted=0 ". - ((is_array($types)&&count($types))?" AND c.tipus IN ('".implode("','",$types)."')":"")." - ORDER BY m.`name`;"); - $this->brands=$db->loadObjectList(); - return $this->brands; - } - - public function getCategories($types=array(),$brands=array()) - { - $session=&JFactory::getSession(); - $lang=$session->get( 'sr_lang');//'hun'; - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(p.`id`) AS `id`,p.`struct_".$lang."` AS `name` - FROM collection2 c - LEFT OUTER JOIN coll2_man m ON c.`m_id`=m.`id` - LEFT OUTER JOIN coll2_cat k ON c.`c_id`=k.`c_id` - LEFT OUTER JOIN coll2_struct s ON c.`struct_id`=s.`id` - LEFT OUTER JOIN (SELECT id,struct_".$lang." FROM coll2_struct WHERE parent=id) p ON p.`id`=s.`parent` - WHERE p.`id` IS NOT NULL AND m.deleted=0 AND c.deleted=0 AND k.deleted=0 ". - ((is_array($types)&&count($types))?" AND c.tipus IN ('".implode("','",$types)."')":""). - ((is_array($brands)&&count($brands))?" AND c.m_id IN (".implode(",",$brands).")":""). - " - ORDER BY p.`struct_".$lang."`;"); - $this->categories=$db->loadObjectList(); - return $this->categories; - } - - public function getSubcategories($types=array(),$brands=array(),$categories=array()) - { - $session=&JFactory::getSession(); - $lang=$session->get('sr_lang');//'hun'; - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT DISTINCT(s.`id`) AS `id`,s.`struct_".$lang."` AS `name` - FROM collection2 c - LEFT OUTER JOIN coll2_man m ON c.`m_id`=m.`id` - LEFT OUTER JOIN coll2_cat k ON c.`c_id`=k.`c_id` - LEFT OUTER JOIN coll2_struct s ON c.`struct_id`=s.`id` - LEFT OUTER JOIN (SELECT id,struct_".$lang." FROM coll2_struct WHERE parent=id) p ON p.`id`=s.`parent` - WHERE p.`id` IS NOT NULL AND m.deleted=0 AND c.deleted=0 AND k.deleted=0 ". - ((is_array($types)&&count($types))?" AND c.tipus IN ('".implode("','",$types)."')":""). - ((is_array($brands)&&count($brands))?" AND c.m_id IN (".implode(",",$brands).")":""). - ((is_array($categories)&&count($categories))?" AND s.parent IN (".implode(",",$categories).")":""). - " - ORDER BY s.`struct_".$lang."`;"); - $this->subcategories=$db->loadObjectList(); - return $this->subcategories; - } - - public function getPlaceholder($type="sr_type",$value) - { - $session=&JFactory::getSession(); - $lang=$session->get('sr_lang'); - if (!isset($this->placeholder)) - { - $db=JFactory::getDBO(); - - switch ($type) - { - case 'sr_type' : - { - $db->setQuery("SELECT `name_".$lang."` AS `name` FROM coll2_types WHERE `type`='".$value."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - break; - } - case 'sr_manufacture' : - { - $db->setQuery("SELECT `name` AS `name` FROM coll2_man WHERE `id`='".$value."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - break; - } - } - - $this->placeholder=(isset($tmp[0]->name) ? $tmp[0]->name : ""); - } - return $this->placeholder; - } - - public function getPrVersion() - { - $ret=2012; - - if (!isset($this->prversion) || (int)$this->prversion==0) - { - $db=JFactory::getDBO(); - $session=&JFactory::getSession(); - - $ver=(int)$session->get('sr_ver'); - - if ($ver) - { - $db->setQuery("SELECT * FROM coll2_prversion WHERE ver=".$ver); - $row=$db->loadObjectList(); - if (!empty($row)) $ret=(int)$row[0]->prversion; - } - - $this->prversion=$ret; - } - else - { - $ret=$this->prversion; - } - - return ($ret); - } - - public function getArticle($alias='showroom') - { - $db=JFactory::getDBO(); - $db->setQuery("SELECT * FROM #__content WHERE alias='".$alias."' LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->article=$tmp[0]; - return $this->article; - } - - - public function getProduct($product=0) - { - $session=&JFactory::getSession(); - $lang=$session->get('sr_lang'); - if (!isset($this->product) && (int)$product>0) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT - x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`, - x.desc_".$lang." AS `desc`,CONCAT('/".$this->getProductThumb()."/',m.dir,'/',x.o_id,'/zz_big.jpg') AS img,v.file,v.version, - x.rendelheto,x.`show`,x.`down`,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted, - x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,IF( LENGTH(c.nev_".$lang.")>15,CONCAT(SUBSTRING(c.nev_".$lang.",1,13),'...'),c.nev_".$lang.") AS `c_name_short`,c.deleted AS c_deleted - FROM collection2 x - LEFT OUTER JOIN coll2_man m ON x.m_id=m.id - LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id - LEFT OUTER JOIN coll2_types t ON x.tipus=t.type - LEFT OUTER JOIN (SELECT ver_id,o_id,fajl AS file,version FROM coll2_ver WHERE o_id=".(int)$product." AND version<=".$this->getPrVersion()." ORDER BY version DESC LIMIT 1) v ON x.o_id=v.o_id - WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); - $tmp = $db->loadObjectList(); - $this->product = $tmp[0]; - } - return $this->product; - } - - public function getFiles($id=0) - { - if ((int)$id<=0) return(FALSE); - - $this->folder=$this->getFullPath($id); - if (is_dir($this->folder)) $this->files=$this->getFilteredFiles(scandir($this->folder),$id); - return $this->files; - } - - public function getFilteredFiles($tomb=array(),$id) - { - $ret=array(); - $this->filter=array('.','..','.quarantine'); - if (is_array($tomb) and count($tomb)) - { - foreach ($tomb as $file) - { - if (!in_array($file, $this->filter)) - { - $parts=explode(".", $file); - - $obj=new stdClass; - $obj->name=$file; - $obj->path=$this->getPath($id).$file; - $obj->fullpath=$_SERVER['DOCUMENT_ROOT'].$obj->path; - $obj->extension=(in_array(strtolower(end($parts)),$this->arrKnownFiles) ? strtolower(end($parts)) : 'unknown'); - $obj->filesize=filesize($obj->fullpath); - $obj->datetime=filemtime($obj->fullpath); - $obj->icon='/components/com_showroom/assets/images/'.$obj->extension.'.png'; - $obj->multidownloadlink=($obj->extension=='pdf' ? $obj->path : $this->getMultiDownloadLink($id,$obj->path)); - - $ret[]=$obj; - } - } - } - return $ret; - } - - - public function getPath($id=0) - { - $path=''; - if ((int)$id>0) - { - $itm=$this->getProduct($id); - $path='/'.$this->productDir.'/'.$itm->dir.'/'.(int)$id.'/'; - } - return $path; - } - - - public function getFullPath($id=0) - { - $path=''; - if ((int)$id>0) { $path=$_SERVER['DOCUMENT_ROOT'].$this->getPath($id); } - return $path; - } - - - public function getMultiDownloadLink($id,$path) - { - $ret=""; - - $obj=$this->getProduct($id); - if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } - -/* - $fajlok=@scandir($this->getProductDir().'/'.$obj->dir.'/'.$obj->id); - if(!isset($fajlok[2])) { $f=""; } - elseif(count($fajlok)>3) { $f=$obj->file; } - else { $f=$fajlok[2]; } -*/ - if ($path>"") - { - $ret=$path."?download=1&type=".$obj->type_download. - "&bigimage=".base64_encode($this->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). - "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). - "&objectname=".base64_encode($obj->title). - ((int)$_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); - - if ((int)$_SESSION['__default']['sr_ver']>=33) - { - $struct=$this->getStruct($obj->id); - if (trim($struct->category)>"" && trim($struct->subcategory)>"") - { - $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); - } - } - } - - return $ret; - } - - public function getStruct($id=0) - { - $db=JFactory::getDBO(); - $db->setQuery(" - SELECT s.`id`,s.`struct_eng` AS `subcategory`,s.`parent` AS `parent_id`,p.`struct_eng` AS `category` - FROM coll2_struct s - LEFT OUTER JOIN (SELECT * FROM coll2_struct WHERE parent=id) p ON s.parent=p.id - WHERE s.id=(SELECT struct_id FROM collection2 WHERE o_id=".(int)$id.") LIMIT 1;"); - $tmp=$db->loadObjectList(); - $this->struct=$tmp[0]; - return($this->struct); - } - - public function getProductThumb() { return $this->productThumb; } - public function getProductDir() { return $this->productDir; } - public function getAll() { return $this->all; } - public function getIPP() { return $this->ipp; } - public function getPage() { return $this->page; } - public function getLast() { return $this->last; } - public function getFirst() { return $this->first; } - public function getPager() { return $this->pager; } - public function getVisibleLast() { return $this->visibleLast; } - public function getVisibleFirst() { return $this->visibleFirst; } - - public function getLang() - { - return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); - } - -} +get('sr_lang'); + $search=trim(addslashes($search)); + + $ms_type=((isset($multiselect['type']) && count($multiselect['type'])) ? " AND x.tipus IN ('".implode("','",$multiselect['type'])."')" : ""); + $ms_brand=((isset($multiselect['brand']) && count($multiselect['brand'])) ? " AND x.m_id IN (".implode(',',$multiselect['brand']).")" : ""); + $ms_category=((isset($multiselect['category']) && count($multiselect['category'])) ? " AND s.parent IN (".implode(',',$multiselect['category']).")" : ""); + $ms_subcategory=((isset($multiselect['subcategory']) && count($multiselect['subcategory'])) ? " AND s.id IN (".implode(',',$multiselect['subcategory']).")" : ""); + + $sql=" + SELECT COUNT(*) AS darab FROM ( + SELECT x.o_id AS id,x.tipus,t.type_download,x.title_".$lang." AS `title`,IF(LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file` + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN coll2_struct s ON x.struct_id=s.id + LEFT OUTER JOIN (SELECT id,struct_hun,struct_eng FROM coll2_struct WHERE id=parent) p ON s.parent=p.id + LEFT OUTER JOIN ( + SELECT ver_id,o_id,fajl AS `file`,version FROM ( + SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC + ) z GROUP BY o_id + ) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".$ms_type." ".$ms_brand." ".$ms_category." ".$ms_subcategory." + AND ( + x.title_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR + x.desc_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR + m.`name` COLLATE utf8_general_ci LIKE '%".$search."%' OR + c.nev_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR + s.struct_".$lang." LIKE '%".$search."%' OR + p.struct_".$lang." LIKE '%".$search."%') + ) p;"; +//print $sql; + $db=JFactory::getDBO(); + $db->setQuery($sql); + $tmp=$db->loadObjectList(); + + $db->setQuery(" + SELECT x.o_id AS id,x.tipus,t.type_download,x.title_".$lang." AS `title`,IF(LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`,x.desc_".$lang." AS `desc`,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted,x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,c.deleted AS c_deleted,CONCAT('/','".$this->productThumb."','/',m.dir,'/',x.o_id,'/zz_thumb.jpg') AS img,v.`file` + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN coll2_struct s ON x.struct_id=s.id + LEFT OUTER JOIN (SELECT id,struct_hun,struct_eng FROM coll2_struct WHERE id=parent) p ON s.parent=p.id + LEFT OUTER JOIN ( + SELECT ver_id,o_id,fajl AS `file`,version FROM ( + SELECT * FROM coll2_ver WHERE version<=".$this->getPrVersion()." ORDER BY o_id ASC,version DESC + ) z GROUP BY o_id + ) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 ".$ms_type." ".$ms_brand." ".$ms_category." ".$ms_subcategory." + AND ( + x.title_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR + x.desc_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR + m.`name` COLLATE utf8_general_ci LIKE '%".$search."%' OR + c.nev_".$lang." COLLATE utf8_general_ci LIKE '%".$search."%' OR + s.struct_".$lang." LIKE '%".$search."%' OR + p.struct_".$lang." LIKE '%".$search."%') + ORDER BY x.title_".$lang." + LIMIT ".($page>0 ? $page-1 : 0)*$this->ipp.", ".$this->ipp.";"); + $this->products=$db->loadObjectList(); + + $this->page=((int)$page==0 ? 1 : $page); + $this->all=$tmp[0]->darab; + $this->last=(floor($this->all/$this->ipp)+($this->all%$this->ipp==0 ? 0 : 1)); + $this->first=1; + + if ($this->last>$this->pager*2+1) + { + if ($this->page<$this->first+$this->pager) { $this->visibleFirst=$this->first;$this->visibleLast=$this->first+$this->pager*2; } + else if ($this->page>$this->last-$this->pager) { $this->visibleFirst=$this->last-$this->pager*2;$this->visibleLast=$this->last; } + else { $this->visibleFirst=$this->page-$this->pager;$this->visibleLast=$this->page+$this->pager; } + } + else { $this->visibleFirst=$this->first;$this->visibleLast=$this->last; } + + return $this->products; + } + + public function getTypes() + { + $session=&JFactory::getSession(); + $lang=$session->get('sr_lang');//'hun'; + $db=JFactory::getDBO(); + $db->setQuery("SELECT `type`,`name_".$lang."` AS `name` FROM coll2_types t WHERE t.visible='Y' ORDER BY `name_".$lang."`;"); + $this->types=$db->loadObjectList(); + return $this->types; + } + + public function getBrands($types=array()) + { + $session=&JFactory::getSession(); + $lang=$session->get('sr_lang');//'hun'; + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(m.`id`),m.`name` + FROM collection2 c + LEFT OUTER JOIN coll2_man m ON c.`m_id`=m.`id` + LEFT OUTER JOIN coll2_cat k ON c.`c_id`=k.`c_id` + LEFT OUTER JOIN coll2_struct s ON c.`struct_id`=s.`id` + LEFT OUTER JOIN (SELECT id,struct_".$lang." FROM coll2_struct WHERE parent=id) p ON p.`id`=s.`parent` + WHERE m.deleted=0 AND c.deleted=0 AND k.deleted=0 ". + ((is_array($types)&&count($types))?" AND c.tipus IN ('".implode("','",$types)."')":"")." + ORDER BY m.`name`;"); + $this->brands=$db->loadObjectList(); + return $this->brands; + } + + public function getCategories($types=array(),$brands=array()) + { + $session=&JFactory::getSession(); + $lang=$session->get( 'sr_lang');//'hun'; + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(p.`id`) AS `id`,p.`struct_".$lang."` AS `name` + FROM collection2 c + LEFT OUTER JOIN coll2_man m ON c.`m_id`=m.`id` + LEFT OUTER JOIN coll2_cat k ON c.`c_id`=k.`c_id` + LEFT OUTER JOIN coll2_struct s ON c.`struct_id`=s.`id` + LEFT OUTER JOIN (SELECT id,struct_".$lang." FROM coll2_struct WHERE parent=id) p ON p.`id`=s.`parent` + WHERE p.`id` IS NOT NULL AND m.deleted=0 AND c.deleted=0 AND k.deleted=0 ". + ((is_array($types)&&count($types))?" AND c.tipus IN ('".implode("','",$types)."')":""). + ((is_array($brands)&&count($brands))?" AND c.m_id IN (".implode(",",$brands).")":""). + " + ORDER BY p.`struct_".$lang."`;"); + $this->categories=$db->loadObjectList(); + return $this->categories; + } + + public function getSubcategories($types=array(),$brands=array(),$categories=array()) + { + $session=&JFactory::getSession(); + $lang=$session->get('sr_lang');//'hun'; + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT DISTINCT(s.`id`) AS `id`,s.`struct_".$lang."` AS `name` + FROM collection2 c + LEFT OUTER JOIN coll2_man m ON c.`m_id`=m.`id` + LEFT OUTER JOIN coll2_cat k ON c.`c_id`=k.`c_id` + LEFT OUTER JOIN coll2_struct s ON c.`struct_id`=s.`id` + LEFT OUTER JOIN (SELECT id,struct_".$lang." FROM coll2_struct WHERE parent=id) p ON p.`id`=s.`parent` + WHERE p.`id` IS NOT NULL AND m.deleted=0 AND c.deleted=0 AND k.deleted=0 ". + ((is_array($types)&&count($types))?" AND c.tipus IN ('".implode("','",$types)."')":""). + ((is_array($brands)&&count($brands))?" AND c.m_id IN (".implode(",",$brands).")":""). + ((is_array($categories)&&count($categories))?" AND s.parent IN (".implode(",",$categories).")":""). + " + ORDER BY s.`struct_".$lang."`;"); + $this->subcategories=$db->loadObjectList(); + return $this->subcategories; + } + + public function getPlaceholder($type="sr_type",$value) + { + $session=&JFactory::getSession(); + $lang=$session->get('sr_lang'); + if (!isset($this->placeholder)) + { + $db=JFactory::getDBO(); + + switch ($type) + { + case 'sr_type' : + { + $db->setQuery("SELECT `name_".$lang."` AS `name` FROM coll2_types WHERE `type`='".$value."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + break; + } + case 'sr_manufacture' : + { + $db->setQuery("SELECT `name` AS `name` FROM coll2_man WHERE `id`='".$value."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + break; + } + } + + $this->placeholder=(isset($tmp[0]->name) ? $tmp[0]->name : ""); + } + return $this->placeholder; + } + + public function getPrVersion() + { + $ret=2012; + + if (!isset($this->prversion) || (int)$this->prversion==0) + { + $db=JFactory::getDBO(); + $session=&JFactory::getSession(); + + $ver=(int)$session->get('sr_ver'); + + if ($ver) + { + $db->setQuery("SELECT * FROM coll2_prversion WHERE ver=".$ver); + $row=$db->loadObjectList(); + if (!empty($row)) $ret=(int)$row[0]->prversion; + } + + $this->prversion=$ret; + } + else + { + $ret=$this->prversion; + } + + return ($ret); + } + + public function getArticle($alias='showroom') + { + $db=JFactory::getDBO(); + $db->setQuery("SELECT * FROM #__content WHERE alias='".$alias."' LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->article=$tmp[0]; + return $this->article; + } + + + public function getProduct($product=0) + { + $session=&JFactory::getSession(); + $lang=$session->get('sr_lang'); + if (!isset($this->product) && (int)$product>0) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT + x.o_id AS id,x.title_".$lang." AS `title`,IF( LENGTH(x.title_".$lang.")>20,CONCAT(SUBSTRING(x.title_".$lang.",1,18),'...'),x.title_".$lang.") AS `title_short`, + x.desc_".$lang." AS `desc`,CONCAT('/".$this->getProductThumb()."/',m.dir,'/',x.o_id,'/zz_big.jpg') AS img,v.file,v.version, + x.rendelheto,x.`show`,x.`down`,x.tipus,t.type_download,x.deleted,x.m_id,m.`name` AS m_name,m.dir,m.deleted AS m_deleted, + x.c_id,c.nev_".$lang." AS c_name,c.nev_eng AS c_name_eng,IF( LENGTH(c.nev_".$lang.")>15,CONCAT(SUBSTRING(c.nev_".$lang.",1,13),'...'),c.nev_".$lang.") AS `c_name_short`,c.deleted AS c_deleted + FROM collection2 x + LEFT OUTER JOIN coll2_man m ON x.m_id=m.id + LEFT OUTER JOIN coll2_cat c ON x.c_id=c.c_id + LEFT OUTER JOIN coll2_types t ON x.tipus=t.type + LEFT OUTER JOIN (SELECT ver_id,o_id,fajl AS file,version FROM coll2_ver WHERE o_id=".(int)$product." AND version<=".$this->getPrVersion()." ORDER BY version DESC LIMIT 1) v ON x.o_id=v.o_id + WHERE x.deleted=0 AND m.deleted=0 AND c.deleted=0 AND x.o_id=".(int)$product." LIMIT 1;"); + $tmp = $db->loadObjectList(); + $this->product = $tmp[0]; + } + return $this->product; + } + + public function getFiles($id=0) + { + if ((int)$id<=0) return(FALSE); + + $this->folder=$this->getFullPath($id); + if (is_dir($this->folder)) $this->files=$this->getFilteredFiles(scandir($this->folder),$id); + return $this->files; + } + + public function getFilteredFiles($tomb=array(),$id) + { + $ret=array(); + $this->filter=array('.','..','.quarantine'); + if (is_array($tomb) and count($tomb)) + { + foreach ($tomb as $file) + { + if (!in_array($file, $this->filter)) + { + $parts=explode(".", $file); + + $obj=new stdClass; + $obj->name=$file; + $obj->path=$this->getPath($id).$file; + $obj->fullpath=$_SERVER['DOCUMENT_ROOT'].$obj->path; + $obj->extension=(in_array(strtolower(end($parts)),$this->arrKnownFiles) ? strtolower(end($parts)) : 'unknown'); + $obj->filesize=filesize($obj->fullpath); + $obj->datetime=filemtime($obj->fullpath); + $obj->icon='/components/com_showroom/assets/images/'.$obj->extension.'.png'; + $obj->multidownloadlink=($obj->extension=='pdf' ? $obj->path : $this->getMultiDownloadLink($id,$obj->path)); + + $ret[]=$obj; + } + } + } + return $ret; + } + + + public function getPath($id=0) + { + $path=''; + if ((int)$id>0) + { + $itm=$this->getProduct($id); + $path='/'.$this->productDir.'/'.$itm->dir.'/'.(int)$id.'/'; + } + return $path; + } + + + public function getFullPath($id=0) + { + $path=''; + if ((int)$id>0) { $path=$_SERVER['DOCUMENT_ROOT'].$this->getPath($id); } + return $path; + } + + + public function getMultiDownloadLink($id,$path) + { + $ret=""; + + $obj=$this->getProduct($id); + if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } + +/* + $fajlok=@scandir($this->getProductDir().'/'.$obj->dir.'/'.$obj->id); + if(!isset($fajlok[2])) { $f=""; } + elseif(count($fajlok)>3) { $f=$obj->file; } + else { $f=$fajlok[2]; } +*/ + if ($path>"") + { + $ret=$path."?download=1&type=".$obj->type_download. + "&bigimage=".base64_encode($this->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). + "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). + "&objectname=".base64_encode($obj->title). + ((int)$_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); + + if ((int)$_SESSION['__default']['sr_ver']>=33) + { + $struct=$this->getStruct($obj->id); + if (trim($struct->category)>"" && trim($struct->subcategory)>"") + { + $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); + } + } + } + + return $ret; + } + + public function getStruct($id=0) + { + $db=JFactory::getDBO(); + $db->setQuery(" + SELECT s.`id`,s.`struct_eng` AS `subcategory`,s.`parent` AS `parent_id`,p.`struct_eng` AS `category` + FROM coll2_struct s + LEFT OUTER JOIN (SELECT * FROM coll2_struct WHERE parent=id) p ON s.parent=p.id + WHERE s.id=(SELECT struct_id FROM collection2 WHERE o_id=".(int)$id.") LIMIT 1;"); + $tmp=$db->loadObjectList(); + $this->struct=$tmp[0]; + return($this->struct); + } + + public function getProductThumb() { return $this->productThumb; } + public function getProductDir() { return $this->productDir; } + public function getAll() { return $this->all; } + public function getIPP() { return $this->ipp; } + public function getPage() { return $this->page; } + public function getLast() { return $this->last; } + public function getFirst() { return $this->first; } + public function getPager() { return $this->pager; } + public function getVisibleLast() { return $this->visibleLast; } + public function getVisibleFirst() { return $this->visibleFirst; } + + public function getLang() + { + return (JFactory::getLanguage()->getTag()=='hu-HU' ? "hun" : "eng"); + } + +} ?> \ No newline at end of file diff --git a/cadline/components/components/com_showroom/views/family/tmpl/default.php b/cadline/components/components/com_showroom/views/family/tmpl/default.php index 3bc26482..fef94fa6 100644 --- a/cadline/components/components/com_showroom/views/family/tmpl/default.php +++ b/cadline/components/components/com_showroom/views/family/tmpl/default.php @@ -1,131 +1,131 @@ - - -
-
- sess['sr_template'])) : ?> - article->introtext ?> - article->fulltext ?> - - - -
- -
-

families[0]->manufacture ?>

- -
- -
- products as $product) : ?> -
-
"> -
- - <?= $product->title ?> -
">title_short ?>
-
- - sess['sr_template']) ? $this->getDownloadLink($product) : ''); - $letoltlink = $this->getDownloadLink($product); - if ($letoltlink > "") : ?> - - sess['sr_template']) ? 'http://www.archline.hu/' . $letoltlink : $letoltlink); - ?> - - files[$product->id]) > 1 && $this->sess['sr_ver'] >= 33) : ?> - - - <?= JText::_(COM_SHOWROOM_DOWNLOAD); ?> - - - - - <?= JText::_(COM_SHOWROOM_DOWNLOAD); ?> - - - - - -
- -
-
- -
-
-
- -sess['sr_template'])) : ?> -
-
 
-
- - -sess['sr_template'])) : ?> -
- + + +
+
+ sess['sr_template'])) : ?> + article->introtext ?> + article->fulltext ?> + + + +
+ +
+

families[0]->manufacture ?>

+ +
+ +
+ products as $product) : ?> +
+
"> +
+ + <?= $product->title ?> +
">title_short ?>
+
+ + sess['sr_template']) ? $this->getDownloadLink($product) : ''); + $letoltlink = $this->getDownloadLink($product); + if ($letoltlink > "") : ?> + + sess['sr_template']) ? 'http://www.archline.hu/' . $letoltlink : $letoltlink); + ?> + + files[$product->id]) > 1 && $this->sess['sr_ver'] >= 33) : ?> + + + <?= JText::_(COM_SHOWROOM_DOWNLOAD); ?> + + + + + <?= JText::_(COM_SHOWROOM_DOWNLOAD); ?> + + + + + +
+ +
+
+ +
+
+
+ +sess['sr_template'])) : ?> +
+
 
+
+ + +sess['sr_template'])) : ?> +
+ \ No newline at end of file diff --git a/cadline/components/components/com_showroom/views/product/tmpl/default.php b/cadline/components/components/com_showroom/views/product/tmpl/default.php index c0466272..2d5562ad 100644 --- a/cadline/components/components/com_showroom/views/product/tmpl/default.php +++ b/cadline/components/components/com_showroom/views/product/tmpl/default.php @@ -1,228 +1,228 @@ - - -id==568) -{ - print_r($this->url); - print "
"; -} -*/ -?> - -
-
- sess['sr_template'])) : ?> - article->introtext ?> - article->fulltext ?> - - - -
- -
-

families[0]->manufacture ?>

- -
- -
-
- <?= $this->product->title ?> -
- -
-
product->c_name ?>
-
product->title ?>
-
-

- product->desc, "#") !== FALSE) { - $miket = array('#kep_moshato#', '#kep_nem_moshato2#', '#kep_nem_moshato#', '#kep_moshato2#'); - $mikre = array( - '', - '', - '', - '' - ); - $this->product->desc = str_replace($miket, $mikre, $this->product->desc); - } - echo nl2br($this->product->desc); - ?>

-
- -

: product->down ?> : product->show ?>

- sess['sr_template']) ? $this->getDownloadLink($this->product) : ''); - $letoltlink = $this->getDownloadLink($this->product); - - if ($letoltlink > "") : ?> - - sess['sr_template']) ? 'http://www.archline.hu/' . $letoltlink : $letoltlink); - ?> - - files[$this->product->id]) > 1 && $this->sess['sr_ver'] >= 33) : ?> -
- - - -
-
- - - - -
- -
- -
-
-
product->c_name_short ?> (products) ?>)
-
- products as $product) : ?> -
"> -
- - - <?= $product->title ?> -
">title_short ?>
-
- - sess['sr_template']) ? $this->getDownloadLink($product) : ''); - if ($letoltlink > "") : ?> - - files[$product->id]) > 1 && $this->sess['sr_ver'] >= 33) : ?> - - - <?= JText::_(COM_SHOWROOM_DOWNLOAD); ?> - - - - - <?= JText::_(COM_SHOWROOM_DOWNLOAD); ?> - - - - - -
-
- -
-
-
-
-
-
- - -sess['sr_template'])) : ?> -
-
 
-
- - -sess['sr_template'])) : ?> -
- - - - + + + \ No newline at end of file diff --git a/cadline/components/components/com_showroom/views/product/view.html.php b/cadline/components/components/com_showroom/views/product/view.html.php index e01b1906..92451d80 100644 --- a/cadline/components/components/com_showroom/views/product/view.html.php +++ b/cadline/components/components/com_showroom/views/product/view.html.php @@ -1,147 +1,147 @@ -'en-GB','hun'=>'hu-HU'); - protected $defLang='eng'; - - public $sess=array(); - public $url=array(); - - public function display($tpl = null) - { - $app=JFactory::getApplication(); - $session=JFactory::getSession(); - $document=JFactory::getDocument(); - $model=$this->getModel(); - - $mainframe = JFactory::getApplication('site'); - $mainframe->initialise(); - - $document->addStyleSheet('/components/com_showroom/assets/css/smoothTouchScroll.css'); - $document->addStyleSheet('/components/com_showroom/assets/css/showroom.css'); - $document->addScript('/components/com_showroom/assets/js/jquery-ui-1.11.2.custom.min.js'); - $document->addScript('/components/com_showroom/assets/js/jquery.kinetic-2.0.4.min.js'); - $document->addScript('/components/com_showroom/assets/js/jquery.smoothDivScroll-1.3.min.js'); - - $this->url=$model->getURL($_SERVER['REQUEST_URI']); - -// SEF URL - $this->url=$model->getURL($_SERVER['REQUEST_URI']); - if (!isset($_GET['product']) && $this->url['id']>0) $_GET['product']=$this->url['id']; - if (!isset($_GET['lang']) && $this->url['lang']>'') $_GET['lang']=$this->url['lang']; - - - if (isset($_GET['lang'])) $session->set('sr_lang',(array_key_exists(trim($_GET['lang']),$this->acceptLang) ? trim($_GET['lang']) : $this->defLang)); - if (isset($_GET['product'])) - { - $product=(trim(addslashes($_GET['product']))=='none' ? '' : (int)$_GET['product']); - $tomb=$session->get('sr_show'); - if (!is_array($tomb) || !in_array($product,$tomb)) - { - $tomb[]=$product; - $session->set('sr_show',$tomb); - $model->addShow($product); - } - $session->set('sr_product',$product); - } - - if (isset($_GET['family'])) $session->set('sr_family',(trim(addslashes($_GET['family']))=='none' ? '' : trim(addslashes($_GET['family'])))); - if (isset($_GET['template']) && trim(addslashes($_GET['template']))=='blankframe') $session->set('sr_template','blankframe'); - if (isset($_GET['ver'])) $session->set('sr_ver',(int)$_GET['ver']); - if (isset($_GET['multi'])) $session->set('sr_multi', ($_GET['multi']=='true' ? 'true' : 'false')); - - if (!$session->get('sr_lang')) $session->set('sr_lang',$this->defLang); - - JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); - - $session->set('sr_family',$model->getFamilyID($session->get('sr_product'))); - - $this->getSession(); - $this->article=$model->getArticle(); - $this->families=$model->getFamilies($this->sess['sr_product']); - $this->family=$model->getFamily(((int)$this->sess["sr_family"]>0 ? $this->sess['sr_family'] : 0)); - $this->products=$model->getProducts($this->sess['sr_family'],$session->get('sr_lang')); - $this->product=$model->getProduct($this->sess['sr_product'],$session->get('sr_lang')); - $this->querystring=($this->sess['sr_template']>'' ? '&template='.$this->sess['sr_template'] : '').($this->sess['sr_ver']>'' ? '&ver='.$this->sess['sr_ver'] : '').'&lang='.$this->sess['sr_lang']; - $this->productThumb=$model->getProductThumb(); - foreach ($this->products as $product) { $this->files[$product->id]=$model->getFiles($product->id); } - - $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option=com_showroom&view=showroom&type=none&manufacture=none&family=none'.$this->querystring); - if ((int)$this->families[0]->m_id>0) $app->getPathway()->addItem($this->families[0]->manufacture, '/index.php?option=com_showroom&view=showroom&family=none'.($this->sess["sr_type"]>'' ? '&type='.$this->sess["sr_type"] : '').((int)$this->family->m_id>0 ? '&manufacture='.(int)$this->family->m_id : '').$this->querystring); - if ((int)$this->family->m_id>0) $app->getPathway()->addItem($this->family->name, '/index.php?option=com_showroom&view=family&family='.(int)$this->family->c_id.($this->sess["sr_type"]>'' ? '&type='.$this->sess["sr_type"] : '').((int)$this->family->m_id>0 ? '&manufacture='.(int)$this->family->m_id : '').$this->querystring); - if ((int)$this->product->id>0) $app->getPathway()->addItem($this->product->title); - - $document->setTitle($this->product->title.' | '.$this->product->c_name.' | '.$this->product->m_name.' | '.JText::_(COM_SHOWROOM_SHOWROOM).' | ARCHLine.XP'); - $document->setDescription(substr(strip_tags(str_replace(array("\n","\r"), " ", ($this->product->desc))), 0, 160) ); -/* - $document->addCustomTag(' - - - -product->desc))),0,160) ).'"/>'); -*/ - if (isset($_GET['desc'])) { print($this->product->desc); die(); } - - parent::display($tpl); - } - - public function getDownloadLink($obj) - { - $ret=""; - $model=$this->getModel(); - $fajlok=@scandir($model->getProductDir().'/'.$obj->dir.'/'.$obj->id); - - if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } - - if(!isset($fajlok[2])) { $f=""; } - elseif(count($fajlok)>3) { $f=(trim($obj->file)>'' ? $obj->file : $fajlok[2]); } - else { $f=$fajlok[2]; } - - if ($f>"") - { - $ret=$model->getProductDir()."/".$obj->dir."/".$obj->id."/".$f."?download=1&type=".$obj->type_download. - "&bigimage=".base64_encode($model->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). - "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). - "&objectname=".base64_encode($obj->title). - ($this->sess['sr_ver']>=32 ? '&multi='.($this->sess['sr_multi']>'' ? $this->sess['sr_multi'] : 'false') : ''); - - if ((int)$this->sess['sr_ver']>=33) - { - $struct=$model->getStruct($obj->id); - if (trim($struct->category)>"" && trim($struct->subcategory)>"") - { - $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); - } - } - } - return $ret; - } - - public function getSession() - { - $this->sess['sr_template']=JFactory::getSession()->get('sr_template'); - $this->sess['sr_type']=JFactory::getSession()->get('sr_type'); - $this->sess['sr_manufacture']=JFactory::getSession()->get('sr_manufacture'); - $this->sess['sr_family']=JFactory::getSession()->get('sr_family'); - $this->sess['sr_product']=JFactory::getSession()->get('sr_product'); - $this->sess['sr_search']=JFactory::getSession()->get('sr_search'); - $this->sess['sr_page']=JFactory::getSession()->get('sr_page'); - $this->sess['sr_filter_type']=JFactory::getSession()->get('sr_filter_type'); - $this->sess['sr_filter']=JFactory::getSession()->get('sr_filter'); - $this->sess['sr_lang']=JFactory::getSession()->get('sr_lang'); - $this->sess['sr_ver']=JFactory::getSession()->get('sr_ver'); - $this->sess['sr_multi']=JFactory::getSession()->get('sr_multi'); - $this->sess['sr_multiselect']=JFactory::getSession()->get('sr_multiselect'); - $this->sess['sr_show']=JFactory::getSession()->get('sr_show'); - $this->sess['sr_down']=JFactory::getSession()->get('sr_down'); - } -} -?> +'en-GB','hun'=>'hu-HU'); + protected $defLang='eng'; + + public $sess=array(); + public $url=array(); + + public function display($tpl = null) + { + $app=JFactory::getApplication(); + $session=JFactory::getSession(); + $document=JFactory::getDocument(); + $model=$this->getModel(); + + $mainframe = JFactory::getApplication('site'); + $mainframe->initialise(); + + $document->addStyleSheet('/components/com_showroom/assets/css/smoothTouchScroll.css'); + $document->addStyleSheet('/components/com_showroom/assets/css/showroom.css'); + $document->addScript('/components/com_showroom/assets/js/jquery-ui-1.11.2.custom.min.js'); + $document->addScript('/components/com_showroom/assets/js/jquery.kinetic-2.0.4.min.js'); + $document->addScript('/components/com_showroom/assets/js/jquery.smoothDivScroll-1.3.min.js'); + + $this->url=$model->getURL($_SERVER['REQUEST_URI']); + +// SEF URL + $this->url=$model->getURL($_SERVER['REQUEST_URI']); + if (!isset($_GET['product']) && $this->url['id']>0) $_GET['product']=$this->url['id']; + if (!isset($_GET['lang']) && $this->url['lang']>'') $_GET['lang']=$this->url['lang']; + + + if (isset($_GET['lang'])) $session->set('sr_lang',(array_key_exists(trim($_GET['lang']),$this->acceptLang) ? trim($_GET['lang']) : $this->defLang)); + if (isset($_GET['product'])) + { + $product=(trim(addslashes($_GET['product']))=='none' ? '' : (int)$_GET['product']); + $tomb=$session->get('sr_show'); + if (!is_array($tomb) || !in_array($product,$tomb)) + { + $tomb[]=$product; + $session->set('sr_show',$tomb); + $model->addShow($product); + } + $session->set('sr_product',$product); + } + + if (isset($_GET['family'])) $session->set('sr_family',(trim(addslashes($_GET['family']))=='none' ? '' : trim(addslashes($_GET['family'])))); + if (isset($_GET['template']) && trim(addslashes($_GET['template']))=='blankframe') $session->set('sr_template','blankframe'); + if (isset($_GET['ver'])) $session->set('sr_ver',(int)$_GET['ver']); + if (isset($_GET['multi'])) $session->set('sr_multi', ($_GET['multi']=='true' ? 'true' : 'false')); + + if (!$session->get('sr_lang')) $session->set('sr_lang',$this->defLang); + + JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); + + $session->set('sr_family',$model->getFamilyID($session->get('sr_product'))); + + $this->getSession(); + $this->article=$model->getArticle(); + $this->families=$model->getFamilies($this->sess['sr_product']); + $this->family=$model->getFamily(((int)$this->sess["sr_family"]>0 ? $this->sess['sr_family'] : 0)); + $this->products=$model->getProducts($this->sess['sr_family'],$session->get('sr_lang')); + $this->product=$model->getProduct($this->sess['sr_product'],$session->get('sr_lang')); + $this->querystring=($this->sess['sr_template']>'' ? '&template='.$this->sess['sr_template'] : '').($this->sess['sr_ver']>'' ? '&ver='.$this->sess['sr_ver'] : '').'&lang='.$this->sess['sr_lang']; + $this->productThumb=$model->getProductThumb(); + foreach ($this->products as $product) { $this->files[$product->id]=$model->getFiles($product->id); } + + $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option=com_showroom&view=showroom&type=none&manufacture=none&family=none'.$this->querystring); + if ((int)$this->families[0]->m_id>0) $app->getPathway()->addItem($this->families[0]->manufacture, '/index.php?option=com_showroom&view=showroom&family=none'.($this->sess["sr_type"]>'' ? '&type='.$this->sess["sr_type"] : '').((int)$this->family->m_id>0 ? '&manufacture='.(int)$this->family->m_id : '').$this->querystring); + if ((int)$this->family->m_id>0) $app->getPathway()->addItem($this->family->name, '/index.php?option=com_showroom&view=family&family='.(int)$this->family->c_id.($this->sess["sr_type"]>'' ? '&type='.$this->sess["sr_type"] : '').((int)$this->family->m_id>0 ? '&manufacture='.(int)$this->family->m_id : '').$this->querystring); + if ((int)$this->product->id>0) $app->getPathway()->addItem($this->product->title); + + $document->setTitle($this->product->title.' | '.$this->product->c_name.' | '.$this->product->m_name.' | '.JText::_(COM_SHOWROOM_SHOWROOM).' | ARCHLine.XP'); + $document->setDescription(substr(strip_tags(str_replace(array("\n","\r"), " ", ($this->product->desc))), 0, 160) ); +/* + $document->addCustomTag(' + + + +product->desc))),0,160) ).'"/>'); +*/ + if (isset($_GET['desc'])) { print($this->product->desc); die(); } + + parent::display($tpl); + } + + public function getDownloadLink($obj) + { + $ret=""; + $model=$this->getModel(); + $fajlok=@scandir($model->getProductDir().'/'.$obj->dir.'/'.$obj->id); + + if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } + + if(!isset($fajlok[2])) { $f=""; } + elseif(count($fajlok)>3) { $f=(trim($obj->file)>'' ? $obj->file : $fajlok[2]); } + else { $f=$fajlok[2]; } + + if ($f>"") + { + $ret=$model->getProductDir()."/".$obj->dir."/".$obj->id."/".$f."?download=1&type=".$obj->type_download. + "&bigimage=".base64_encode($model->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). + "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). + "&objectname=".base64_encode($obj->title). + ($this->sess['sr_ver']>=32 ? '&multi='.($this->sess['sr_multi']>'' ? $this->sess['sr_multi'] : 'false') : ''); + + if ((int)$this->sess['sr_ver']>=33) + { + $struct=$model->getStruct($obj->id); + if (trim($struct->category)>"" && trim($struct->subcategory)>"") + { + $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); + } + } + } + return $ret; + } + + public function getSession() + { + $this->sess['sr_template']=JFactory::getSession()->get('sr_template'); + $this->sess['sr_type']=JFactory::getSession()->get('sr_type'); + $this->sess['sr_manufacture']=JFactory::getSession()->get('sr_manufacture'); + $this->sess['sr_family']=JFactory::getSession()->get('sr_family'); + $this->sess['sr_product']=JFactory::getSession()->get('sr_product'); + $this->sess['sr_search']=JFactory::getSession()->get('sr_search'); + $this->sess['sr_page']=JFactory::getSession()->get('sr_page'); + $this->sess['sr_filter_type']=JFactory::getSession()->get('sr_filter_type'); + $this->sess['sr_filter']=JFactory::getSession()->get('sr_filter'); + $this->sess['sr_lang']=JFactory::getSession()->get('sr_lang'); + $this->sess['sr_ver']=JFactory::getSession()->get('sr_ver'); + $this->sess['sr_multi']=JFactory::getSession()->get('sr_multi'); + $this->sess['sr_multiselect']=JFactory::getSession()->get('sr_multiselect'); + $this->sess['sr_show']=JFactory::getSession()->get('sr_show'); + $this->sess['sr_down']=JFactory::getSession()->get('sr_down'); + } +} +?> diff --git a/cadline/components/components/com_showroom/views/search/view.html.php b/cadline/components/components/com_showroom/views/search/view.html.php index 678c8ff1..677914e8 100644 --- a/cadline/components/components/com_showroom/views/search/view.html.php +++ b/cadline/components/components/com_showroom/views/search/view.html.php @@ -1,124 +1,124 @@ -'en-GB','hun'=>'hu-HU'); - protected $defLang='eng'; - protected $types; - protected $brands; - protected $categories; - protected $subcategories; - - public $sess=array(); - - public function display($tpl = null) - { - $app=&JFactory::getApplication(); - $session=&JFactory::getSession(); - $model=$this->getModel(); - $document=&JFactory::getDocument(); - $document->addStyleSheet('/components/'.$app->input->get('option').'/assets/css/showroom.css'); - - if (isset($_GET['lang'])) $session->set('sr_lang',(array_key_exists(trim($_GET['lang']),$this->acceptLang) ? trim($_GET['lang']) : $this->defLang) ); - - if (isset($_POST['showroom_keyword'])) - { - $multiselect=array('type'=>$_POST['type'],'brand'=>$_POST['brand'],'category'=>$_POST['category'],'subcategory'=>$_POST['subcategory']); - - $session->set('sr_search',$_POST['showroom_keyword']); - $session->set('sr_multiselect',$multiselect); - $session->set('sr_page',1); - } - if (isset($_GET['page']) && (int)$_GET['page']>0) $session->set('sr_page',(int)$_GET['page']); - if (isset($_GET['template']) && trim($_GET['template'])=='blankframe') $session->set('sr_template','blankframe'); - if (isset($_GET['ver'])) $session->set('sr_ver',(int)$_GET['ver']); - if (isset($_GET['multi'])) $session->set('sr_multi', ($_GET['multi']=='true' ? 'true' : 'false')); - if (!$session->get('sr_lang')) $session->set('sr_lang',$this->defLang); - - JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); - - $this->getSession(); - $this->article=$model->getArticle(); - $this->products=$model->getResult($this->sess['sr_search'],$this->sess['sr_multiselect'],$this->sess['sr_page']); - $this->all=$model->getAll(); - $this->ipp=$model->getIPP(); - $this->page=$model->getPage(); - $this->last=$model->getLast(); - $this->first=$model->getFirst(); - $this->pager=$model->getPager(); - $this->placeholder=$this->sess['sr_search']; - $this->visibleLast=$model->getVisibleLast(); - $this->visibleFirst=$model->getVisibleFirst(); - $this->querystring=($this->sess['sr_template']>'' ? '&template='.$this->sess['sr_template'] : '').($this->sess['sr_ver']>'' ? '&ver='.$this->sess['sr_ver'] : '').'&lang='.$this->sess['sr_lang']; - $this->productThumb=$model->getProductThumb(); - $this->types=$model->getTypes(); - $this->brands=$model->getBrands($this->sess['sr_multiselect']['type']); - $this->categories=$model->getCategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand']); - $this->subcategories=$model->getSubcategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand'],$this->sess['sr_multiselect']['category']); - foreach ($this->products as $product) { $this->files[$product->id]=$model->getFiles($product->id); } - - - $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option='.$app->input->get('option').'&view=showroom&type=none&manufacture=none&family=none'.$this->querystring); - $app->getPathway()->addItem( ($this->sess['sr_search']>'' ? ($this->placeholder>'' ? $this->placeholder.": " : "").$this->sess['sr_search'] : JText::_(COM_SHOWROOM_SEARCH))); - - parent::display($tpl); - } - - public function getDownloadLink($obj) - { - $ret=""; - $model=$this->getModel(); - - $fajlok=@scandir($model->getProductDir().'/'.$obj->dir.'/'.$obj->id); - - if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } - - if(!isset($fajlok[2])) { $f=""; } - elseif(count($fajlok)>3) { $f=(trim($obj->file)>'' ? $obj->file : $fajlok[2]); } - else { $f=$fajlok[2]; } - - if ($f>"") - { - $ret=$model->getProductDir()."/".$obj->dir."/".$obj->id."/".$f."?download=1&type=".$obj->type_download. - "&bigimage=".base64_encode($model->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). - "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). - "&objectname=".base64_encode($obj->title). - ($this->sess['sr_ver']>=32 ? '&multi='.($this->sess['sr_multi']>'' ? $this->sess['sr_multi'] : 'false') : ''); - - if ((int)$this->sess['sr_ver']>=33) - { - $struct=$model->getStruct($obj->id); - if (trim($struct->category)>"" && trim($struct->subcategory)>"") - { - $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); - } - } - } - - return $ret; - } - - public function getSession() - { - $this->sess['sr_template']=JFactory::getSession()->get('sr_template'); - $this->sess['sr_type']=JFactory::getSession()->get('sr_type'); - $this->sess['sr_manufacture']=JFactory::getSession()->get('sr_manufacture'); - $this->sess['sr_family']=JFactory::getSession()->get('sr_family'); - $this->sess['sr_product']=JFactory::getSession()->get('sr_product'); - $this->sess['sr_search']=JFactory::getSession()->get('sr_search'); - $this->sess['sr_page']=JFactory::getSession()->get('sr_page'); - $this->sess['sr_filter_type']=JFactory::getSession()->get('sr_filter_type'); - $this->sess['sr_filter']=JFactory::getSession()->get('sr_filter'); - $this->sess['sr_lang']=JFactory::getSession()->get('sr_lang'); - $this->sess['sr_ver']=JFactory::getSession()->get('sr_ver'); - $this->sess['sr_multi']=JFactory::getSession()->get('sr_multi'); - $this->sess['sr_multiselect']=JFactory::getSession()->get('sr_multiselect'); - $this->sess['sr_show']=JFactory::getSession()->get('sr_show'); - $this->sess['sr_down']=JFactory::getSession()->get('sr_down'); - } -} +'en-GB','hun'=>'hu-HU'); + protected $defLang='eng'; + protected $types; + protected $brands; + protected $categories; + protected $subcategories; + + public $sess=array(); + + public function display($tpl = null) + { + $app=&JFactory::getApplication(); + $session=&JFactory::getSession(); + $model=$this->getModel(); + $document=&JFactory::getDocument(); + $document->addStyleSheet('/components/'.$app->input->get('option').'/assets/css/showroom.css'); + + if (isset($_GET['lang'])) $session->set('sr_lang',(array_key_exists(trim($_GET['lang']),$this->acceptLang) ? trim($_GET['lang']) : $this->defLang) ); + + if (isset($_POST['showroom_keyword'])) + { + $multiselect=array('type'=>$_POST['type'],'brand'=>$_POST['brand'],'category'=>$_POST['category'],'subcategory'=>$_POST['subcategory']); + + $session->set('sr_search',$_POST['showroom_keyword']); + $session->set('sr_multiselect',$multiselect); + $session->set('sr_page',1); + } + if (isset($_GET['page']) && (int)$_GET['page']>0) $session->set('sr_page',(int)$_GET['page']); + if (isset($_GET['template']) && trim($_GET['template'])=='blankframe') $session->set('sr_template','blankframe'); + if (isset($_GET['ver'])) $session->set('sr_ver',(int)$_GET['ver']); + if (isset($_GET['multi'])) $session->set('sr_multi', ($_GET['multi']=='true' ? 'true' : 'false')); + if (!$session->get('sr_lang')) $session->set('sr_lang',$this->defLang); + + JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); + + $this->getSession(); + $this->article=$model->getArticle(); + $this->products=$model->getResult($this->sess['sr_search'],$this->sess['sr_multiselect'],$this->sess['sr_page']); + $this->all=$model->getAll(); + $this->ipp=$model->getIPP(); + $this->page=$model->getPage(); + $this->last=$model->getLast(); + $this->first=$model->getFirst(); + $this->pager=$model->getPager(); + $this->placeholder=$this->sess['sr_search']; + $this->visibleLast=$model->getVisibleLast(); + $this->visibleFirst=$model->getVisibleFirst(); + $this->querystring=($this->sess['sr_template']>'' ? '&template='.$this->sess['sr_template'] : '').($this->sess['sr_ver']>'' ? '&ver='.$this->sess['sr_ver'] : '').'&lang='.$this->sess['sr_lang']; + $this->productThumb=$model->getProductThumb(); + $this->types=$model->getTypes(); + $this->brands=$model->getBrands($this->sess['sr_multiselect']['type']); + $this->categories=$model->getCategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand']); + $this->subcategories=$model->getSubcategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand'],$this->sess['sr_multiselect']['category']); + foreach ($this->products as $product) { $this->files[$product->id]=$model->getFiles($product->id); } + + + $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option='.$app->input->get('option').'&view=showroom&type=none&manufacture=none&family=none'.$this->querystring); + $app->getPathway()->addItem( ($this->sess['sr_search']>'' ? ($this->placeholder>'' ? $this->placeholder.": " : "").$this->sess['sr_search'] : JText::_(COM_SHOWROOM_SEARCH))); + + parent::display($tpl); + } + + public function getDownloadLink($obj) + { + $ret=""; + $model=$this->getModel(); + + $fajlok=@scandir($model->getProductDir().'/'.$obj->dir.'/'.$obj->id); + + if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } + + if(!isset($fajlok[2])) { $f=""; } + elseif(count($fajlok)>3) { $f=(trim($obj->file)>'' ? $obj->file : $fajlok[2]); } + else { $f=$fajlok[2]; } + + if ($f>"") + { + $ret=$model->getProductDir()."/".$obj->dir."/".$obj->id."/".$f."?download=1&type=".$obj->type_download. + "&bigimage=".base64_encode($model->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). + "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). + "&objectname=".base64_encode($obj->title). + ($this->sess['sr_ver']>=32 ? '&multi='.($this->sess['sr_multi']>'' ? $this->sess['sr_multi'] : 'false') : ''); + + if ((int)$this->sess['sr_ver']>=33) + { + $struct=$model->getStruct($obj->id); + if (trim($struct->category)>"" && trim($struct->subcategory)>"") + { + $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); + } + } + } + + return $ret; + } + + public function getSession() + { + $this->sess['sr_template']=JFactory::getSession()->get('sr_template'); + $this->sess['sr_type']=JFactory::getSession()->get('sr_type'); + $this->sess['sr_manufacture']=JFactory::getSession()->get('sr_manufacture'); + $this->sess['sr_family']=JFactory::getSession()->get('sr_family'); + $this->sess['sr_product']=JFactory::getSession()->get('sr_product'); + $this->sess['sr_search']=JFactory::getSession()->get('sr_search'); + $this->sess['sr_page']=JFactory::getSession()->get('sr_page'); + $this->sess['sr_filter_type']=JFactory::getSession()->get('sr_filter_type'); + $this->sess['sr_filter']=JFactory::getSession()->get('sr_filter'); + $this->sess['sr_lang']=JFactory::getSession()->get('sr_lang'); + $this->sess['sr_ver']=JFactory::getSession()->get('sr_ver'); + $this->sess['sr_multi']=JFactory::getSession()->get('sr_multi'); + $this->sess['sr_multiselect']=JFactory::getSession()->get('sr_multiselect'); + $this->sess['sr_show']=JFactory::getSession()->get('sr_show'); + $this->sess['sr_down']=JFactory::getSession()->get('sr_down'); + } +} ?> \ No newline at end of file diff --git a/cadline/components/components/com_showroom/views/search2/view.html.php b/cadline/components/components/com_showroom/views/search2/view.html.php index 74a1b5a0..2f88afe4 100644 --- a/cadline/components/components/com_showroom/views/search2/view.html.php +++ b/cadline/components/components/com_showroom/views/search2/view.html.php @@ -1,106 +1,106 @@ -'en-GB','hun'=>'hu-HU'); - protected $defLang='eng'; - protected $types; - protected $brands; - protected $categories; - protected $subcategories; - - public function display($tpl = null) - { - $app=&JFactory::getApplication(); - $session=&JFactory::getSession(); - $model=$this->getModel(); - $document=&JFactory::getDocument(); - $document->addStyleSheet('/components/'.$app->input->get('option').'/assets/css/showroom.css'); - - if (isset($_GET['lang'])) $session->set('sr_lang',(array_key_exists(trim($_GET['lang']),$this->acceptLang) ? trim($_GET['lang']) : $this->defLang) ); - - if (isset($_POST['showroom_keyword'])) - { - $multiselect=array('type'=>$_POST['type'],'brand'=>$_POST['brand'],'category'=>$_POST['category'],'subcategory'=>$_POST['subcategory']); - - $session->set('sr_search',$_POST['showroom_keyword']); - $session->set('sr_multiselect',$multiselect); - $session->set('sr_page',1); - } - -//print_r($_POST); -//print_r($_SESSION['__default']['sr_multiselect']); - - if (isset($_GET['page']) && (int)$_GET['page']>0) $session->set('sr_page',(int)$_GET['page']); - if (isset($_GET['template']) && trim($_GET['template'])=='blankframe') $session->set('sr_template','blankframe'); - if (isset($_GET['ver'])) $session->set('sr_ver',(int)$_GET['ver']); - if (isset($_GET['multi'])) $session->set('sr_multi', ($_GET['multi']=='true' ? 'true' : 'false')); - - if (!isset($_SESSION['__default']['sr_lang'])) $session->set('sr_lang',$this->defLang); - - JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); - - $this->sess=$_SESSION['__default']; - $this->article=$model->getArticle(); - $this->products=$model->getResult($this->sess['sr_search'],$this->sess['sr_multiselect'],$this->sess['sr_page']); - $this->all=$model->getAll(); - $this->ipp=$model->getIPP(); - $this->page=$model->getPage(); - $this->last=$model->getLast(); - $this->first=$model->getFirst(); - $this->pager=$model->getPager(); - $this->placeholder=$session->get('sr_search'); //$model->getPlaceholder(); - $this->visibleLast=$model->getVisibleLast(); - $this->visibleFirst=$model->getVisibleFirst(); - $this->querystring=($session->get('sr_template')>'' ? '&template='.$session->get('sr_template') : '').($session->get('sr_ver')>'' ? '&ver='.$session->get('sr_ver') : '').'&lang='.$session->get('sr_lang'); - $this->productThumb=$model->getProductThumb(); - $this->types=$model->getTypes(); - $this->brands=$model->getBrands($this->sess['sr_multiselect']['type']); - $this->categories=$model->getCategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand']); - $this->subcategories=$model->getSubcategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand'],$this->sess['sr_multiselect']['category']); - - $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option='.$app->input->get('option').'&view=showroom&type=none&manufacture=none&family=none'.$this->querystring); - $app->getPathway()->addItem( ($this->sess['sr_search']>'' ? ($this->placeholder>'' ? $this->placeholder.": " : "").$this->sess['sr_search'] : JText::_(COM_SHOWROOM_SEARCH))); - - parent::display($tpl); - } - - public function getDownloadLink($obj) - { - $ret=""; - $model=$this->getModel(); - - $fajlok=@scandir($model->getProductDir().'/'.$obj->dir.'/'.$obj->id); - - if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } - - if(!isset($fajlok[2])) { $f=""; } - elseif(count($fajlok)>3) { $f=(trim($obj->file)>'' ? $obj->file : $fajlok[2]); } - else { $f=$fajlok[2]; } - - if ($f>"") - { - $ret=$model->getProductDir()."/".$obj->dir."/".$obj->id."/".$f."?download=1&type=".$obj->type_download. - "&bigimage=".base64_encode($model->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). - "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). - "&objectname=".base64_encode($obj->title). - ($_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); - - if ((int)$_SESSION['__default']['sr_ver']>=33) - { - $struct=$model->getStruct($obj->id); - if (trim($struct->category)>"" && trim($struct->subcategory)>"") - { - $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); - } - } - } - - return $ret; - } -} +'en-GB','hun'=>'hu-HU'); + protected $defLang='eng'; + protected $types; + protected $brands; + protected $categories; + protected $subcategories; + + public function display($tpl = null) + { + $app=&JFactory::getApplication(); + $session=&JFactory::getSession(); + $model=$this->getModel(); + $document=&JFactory::getDocument(); + $document->addStyleSheet('/components/'.$app->input->get('option').'/assets/css/showroom.css'); + + if (isset($_GET['lang'])) $session->set('sr_lang',(array_key_exists(trim($_GET['lang']),$this->acceptLang) ? trim($_GET['lang']) : $this->defLang) ); + + if (isset($_POST['showroom_keyword'])) + { + $multiselect=array('type'=>$_POST['type'],'brand'=>$_POST['brand'],'category'=>$_POST['category'],'subcategory'=>$_POST['subcategory']); + + $session->set('sr_search',$_POST['showroom_keyword']); + $session->set('sr_multiselect',$multiselect); + $session->set('sr_page',1); + } + +//print_r($_POST); +//print_r($_SESSION['__default']['sr_multiselect']); + + if (isset($_GET['page']) && (int)$_GET['page']>0) $session->set('sr_page',(int)$_GET['page']); + if (isset($_GET['template']) && trim($_GET['template'])=='blankframe') $session->set('sr_template','blankframe'); + if (isset($_GET['ver'])) $session->set('sr_ver',(int)$_GET['ver']); + if (isset($_GET['multi'])) $session->set('sr_multi', ($_GET['multi']=='true' ? 'true' : 'false')); + + if (!isset($_SESSION['__default']['sr_lang'])) $session->set('sr_lang',$this->defLang); + + JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); + + $this->sess=$_SESSION['__default']; + $this->article=$model->getArticle(); + $this->products=$model->getResult($this->sess['sr_search'],$this->sess['sr_multiselect'],$this->sess['sr_page']); + $this->all=$model->getAll(); + $this->ipp=$model->getIPP(); + $this->page=$model->getPage(); + $this->last=$model->getLast(); + $this->first=$model->getFirst(); + $this->pager=$model->getPager(); + $this->placeholder=$session->get('sr_search'); //$model->getPlaceholder(); + $this->visibleLast=$model->getVisibleLast(); + $this->visibleFirst=$model->getVisibleFirst(); + $this->querystring=($session->get('sr_template')>'' ? '&template='.$session->get('sr_template') : '').($session->get('sr_ver')>'' ? '&ver='.$session->get('sr_ver') : '').'&lang='.$session->get('sr_lang'); + $this->productThumb=$model->getProductThumb(); + $this->types=$model->getTypes(); + $this->brands=$model->getBrands($this->sess['sr_multiselect']['type']); + $this->categories=$model->getCategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand']); + $this->subcategories=$model->getSubcategories($this->sess['sr_multiselect']['type'],$this->sess['sr_multiselect']['brand'],$this->sess['sr_multiselect']['category']); + + $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option='.$app->input->get('option').'&view=showroom&type=none&manufacture=none&family=none'.$this->querystring); + $app->getPathway()->addItem( ($this->sess['sr_search']>'' ? ($this->placeholder>'' ? $this->placeholder.": " : "").$this->sess['sr_search'] : JText::_(COM_SHOWROOM_SEARCH))); + + parent::display($tpl); + } + + public function getDownloadLink($obj) + { + $ret=""; + $model=$this->getModel(); + + $fajlok=@scandir($model->getProductDir().'/'.$obj->dir.'/'.$obj->id); + + if ($obj->prver=="2013" && $obj->tipus=="object") { $obj->type_download="accessory"; } + + if(!isset($fajlok[2])) { $f=""; } + elseif(count($fajlok)>3) { $f=(trim($obj->file)>'' ? $obj->file : $fajlok[2]); } + else { $f=$fajlok[2]; } + + if ($f>"") + { + $ret=$model->getProductDir()."/".$obj->dir."/".$obj->id."/".$f."?download=1&type=".$obj->type_download. + "&bigimage=".base64_encode($model->getProductThumb()."/".$obj->dir."/".$obj->id."/zz_big.jpg"). + "&brandcategory=".base64_encode($obj->m_name.'\\'.$obj->c_name_eng). + "&objectname=".base64_encode($obj->title). + ($_SESSION['__default']['sr_ver']>=32 ? '&multi='.($_SESSION['__default']['sr_multi']>'' ? $_SESSION['__default']['sr_multi'] : 'false') : ''); + + if ((int)$_SESSION['__default']['sr_ver']>=33) + { + $struct=$model->getStruct($obj->id); + if (trim($struct->category)>"" && trim($struct->subcategory)>"") + { + $ret.="&category=".base64_encode($struct->category)."&subcategory=".base64_encode($struct->subcategory); + } + } + } + + return $ret; + } +} ?> \ No newline at end of file diff --git a/cadline/components/components/com_showroom/views/upload/view.html.php b/cadline/components/components/com_showroom/views/upload/view.html.php index 409f329e..5d338d4c 100644 --- a/cadline/components/components/com_showroom/views/upload/view.html.php +++ b/cadline/components/components/com_showroom/views/upload/view.html.php @@ -1,255 +1,255 @@ -'en-GB','hun'=>'hu-HU'); - protected $defLang='eng'; - protected $desc=array(); - protected $data=array(); - protected $selected_type; - protected $selected_manufacture; - protected $selected_family; - protected $selected_category; - protected $selected_subcategory; - - public $pf='ProductsController'; - - public function display($tpl = null) - { - $app=&JFactory::getApplication(); - $session=&JFactory::getSession(); - $document=&JFactory::getDocument(); - $model=$this->getModel(); - - if (isset($_GET['lang'])) - { - if (array_key_exists(trim($_GET['lang']), $this->acceptLang)) { $session->set('sr_lang',trim($_GET['lang'])); } - else { $session->set('sr_lang',$this->defLang); } - } - - if (isset($_GET['file'])) $session->set('sr_file',(trim(addslashes($_GET['file']))=='none' ? '' : trim(addslashes($_GET['file'])))); - if (isset($_GET['type'])) $session->set('sr_type',(trim(addslashes($_GET['type']))=='none' ? '' : trim(addslashes($_GET['type'])))); - if (isset($_GET['template']) && trim($_GET['template'])=='blankframe') $session->set('sr_template','blankframe'); - if (!isset($_SESSION['__default']['sr_lang'])) $session->set('sr_lang',$this->defLang); - - JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); - - $this->sess=$_SESSION['__default']; - $this->types=$this->get('Types'); - $this->manufactures=$model->getManufactures($this->sess['sr_type']); - $this->families=$model->getFamilies($this->sess['sr_type'],$this->sess['sr_manufacture']); - $this->family=$model->getFamily(((int)$this->sess["sr_family"]>0 ? $this->sess['sr_family'] : 0)); - $this->querystring='&lang='.$session->get('sr_lang') - .($session->get('sr_template')>'' ? '&template='.$session->get('sr_template') : '') - .($session->get('sr_file')>'' ? '&file='.$session->get('sr_file') : '') - .($session->get('sr_type')>'' ? '&type='.$session->get('sr_type') : ''); - - if ($session->get('sr_file')>"") { - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $descriptor = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$session->get('sr_file'); - } else { - $descriptor = '/home/vendeg/'.$session->get('sr_file'); - } - - if (is_file($descriptor)) - { - $this->desc=explode("#",file_get_contents($descriptor)); - - if (is_array($this->desc) && count($this->desc)) { foreach ($this->desc as $k=>$v) $this->desc[$k]=trim($v); } - - if ($this->desc[0]==$this->desc[1]) // regi struktura - { - $this->data=array( - "file"=>$this->desc[0], - "vendegkep"=>$this->desc[2], - "nev_eng"=>$this->desc[4], - "nev_hun"=>($this->desc[5] ? $this->desc[5] : $this->desc[4]), - "tipus"=>$this->sess['sr_type'], - "kategoria"=>"", - "alkategoria"=>"", - "gyarto"=>"", - "prver"=>($this->desc[6]=="-1" ? "2012" : $this->desc[6]), - "ifc"=>false - ); - } - else // uj struktura - { - $this->data=array( - "file"=>$this->desc[0], - "vendegkep"=>$this->desc[1], - "nev_eng"=>$this->desc[2], - "nev_hun"=>$this->desc[3], - "tipus"=>$this->desc[4], - "kategoria"=>$this->desc[5], - "alkategoria"=>$this->desc[6], - "gyarto"=>$this->desc[7], - "prver"=>($this->desc[8]=="-1" ? "2012" : $this->desc[8]), - "ifc"=>(substr($this->desc[0],-4)==".ifc"?TRUE:FALSE) - ); - } - - if ($this->data['gyarto']>"") { $manufacure=$model->getManufactureByName($this->data['gyarto']); } - if ($this->data['kategoria']>"") { $kategoria=$model->getParentByName($this->data['tipus'],$this->data['kategoria']); } - if ($this->data['alkategoria']>"" && $kategoria->id>0) { $alkategoria=$model->getSubcatByName($this->data['tipus'],$kategoria->id,$this->data['alkategoria']); } - - $this->selected_type=$this->data['tipus']; - $this->selected_manufacture=((int)$manufacure->id>0 ? (int)$manufacure->id : 0); - $this->selected_family=$this->sess['sr_family']; - $this->selected_category=((int)$kategoria->id>0 ? (int)$kategoria->id : 0); - $this->selected_subcategory=((int)$alkategoria->id>0 ? (int)$alkategoria->id : 0); - -// kis kép elhelyezése a végleges helyére - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['vendegkep']; - } else { - $honnan = '/home/vendeg/'.$this->data['vendegkep']; - } - - $hova=$_SERVER['DOCUMENT_ROOT'].'/public/img/collection/'.$this->data['tipus']; - if (!is_dir($hova)) mkdir($hova, 0777); - $hova.='/'.$this->data['vendegkep']; - if (is_file($honnan) && !is_file($hova)) { copy($honnan,$hova); } - - if (isset($_POST['save'])) - { - $tomb=array( - 'm_id'=>(int)$_POST['m_id'], - 'c_id'=>(int)$_POST['c_id'], - 'struct_id'=>(int)$_POST['subcat'], - 'title_hun'=>trim(addslashes($_POST['title_hun'])), - 'title_eng'=>trim(addslashes($_POST['title_eng'])), - 'desc_hun'=>trim(addslashes($_POST['desc_hun'])), - 'desc_eng'=>trim(addslashes($_POST['desc_eng'])), - 'tipus'=>$_POST['tipus'], - 'fajl'=>$this->data['file'], - 'version'=>$this->data['prver'], - 'deleted'=>(isset($_POST['deleted']) ? 0 : 1), - ); - -// $newID=($this->data['ifc']==FALSE ? $model->saveRecord($tomb) : (int)$_POST['joinID']); - $newID=$model->saveRecord($tomb); - - if ((int)$newID>0) - { - $man=$model->getManufacture($tomb['m_id']); - -// objektum file(ok) elhelyezése a végleges helyére - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['file']; - } else { - $honnan = '/home/vendeg/'.$this->data['file']; - } - - $hova=$_SERVER['DOCUMENT_ROOT'].'/public/collection/'.$man->dir; - if (!is_dir($hova)) mkdir($hova, 0777); - $hova.='/'.$newID; - if (!is_dir($hova)) mkdir($hova, 0777); - $hova.='/'.$this->data['file']; - if (is_file($honnan)) copy($honnan,$hova); - - if ($this->data['ifc']==TRUE) - { - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.str_replace(".ifc",".oli",$this->data['file']); - } else { - $honnan = '/home/vendeg/'.str_replace(".ifc",".oli",$this->data['file']); - } - - $hova=$_SERVER['DOCUMENT_ROOT'].'/public/collection/'.$man->dir.'/'.$newID.'/'.str_replace(".ifc",".oli",$this->data['file']); - if (is_file($honnan)) copy($honnan,$hova); - } - -// feltöltött kép elhelyezése a végleges helyére - if (is_array($_FILES['fileupload']) && !empty($_FILES['fileupload']) && /*$this->data['ifc']==FALSE &&*/ in_array($_FILES['fileupload']['type'],array('image/jpeg','image/jpg'))) - { - $origSize=getimagesize($_FILES['fileupload']['tmp_name']); - $hova=$_SERVER['DOCUMENT_ROOT']."/public/img/collection/".$man->dir; - if (!is_dir($hova)) mkdir($hova,0777); - $hova.="/".$newID; - if (!is_dir($hova)) mkdir($hova,0777); - if (!is_dir($hova."/orig")) mkdir($hova."/orig",0777); - - $this->make_thumb($_FILES['fileupload']['tmp_name'], $hova.'/zz_big.jpg', (int)round(($origSize[0]/$origSize[1])*400),400); - $this->make_thumb($_FILES['fileupload']['tmp_name'], $hova.'/zz_thumb.jpg', (int)round(($origSize[0]/$origSize[1])*120),120); - $this->make_thumb($_FILES['fileupload']['tmp_name'], $hova.'/zz_small.jpg', (int)round(($origSize[0]/$origSize[1])*66),66); - - move_uploaded_file($_FILES['fileupload']['tmp_name'], $hova.'/orig/'.$_FILES['fileupload']['name']); - } - } - } - } - else { print ("descriptor file nem elérhető"); } - } - - $this->parents=$model->getParents(); - $this->subcat=$model->getSubcat($this->selected_category); - $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option=com_showroom&view=showroom'); - $app->getPathway()->addItem(JText::_(COM_SHOWROOM_UPLOAD)); - - parent::display($tpl); - } - - protected function make_thumb($src, $dest, $desired_width,$desired_h) - { - $source_image=imagecreatefromjpeg($src); - $width=imagesx($source_image); - $height=imagesy($source_image); - $desired_height=$desired_h; - $virtual_image=imagecreatetruecolor($desired_width, $desired_height); - imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); - imagejpeg($virtual_image, $dest); - } -} // end of class -?> +'en-GB','hun'=>'hu-HU'); + protected $defLang='eng'; + protected $desc=array(); + protected $data=array(); + protected $selected_type; + protected $selected_manufacture; + protected $selected_family; + protected $selected_category; + protected $selected_subcategory; + + public $pf='ProductsController'; + + public function display($tpl = null) + { + $app=&JFactory::getApplication(); + $session=&JFactory::getSession(); + $document=&JFactory::getDocument(); + $model=$this->getModel(); + + if (isset($_GET['lang'])) + { + if (array_key_exists(trim($_GET['lang']), $this->acceptLang)) { $session->set('sr_lang',trim($_GET['lang'])); } + else { $session->set('sr_lang',$this->defLang); } + } + + if (isset($_GET['file'])) $session->set('sr_file',(trim(addslashes($_GET['file']))=='none' ? '' : trim(addslashes($_GET['file'])))); + if (isset($_GET['type'])) $session->set('sr_type',(trim(addslashes($_GET['type']))=='none' ? '' : trim(addslashes($_GET['type'])))); + if (isset($_GET['template']) && trim($_GET['template'])=='blankframe') $session->set('sr_template','blankframe'); + if (!isset($_SESSION['__default']['sr_lang'])) $session->set('sr_lang',$this->defLang); + + JFactory::getLanguage()->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); + + $this->sess=$_SESSION['__default']; + $this->types=$this->get('Types'); + $this->manufactures=$model->getManufactures($this->sess['sr_type']); + $this->families=$model->getFamilies($this->sess['sr_type'],$this->sess['sr_manufacture']); + $this->family=$model->getFamily(((int)$this->sess["sr_family"]>0 ? $this->sess['sr_family'] : 0)); + $this->querystring='&lang='.$session->get('sr_lang') + .($session->get('sr_template')>'' ? '&template='.$session->get('sr_template') : '') + .($session->get('sr_file')>'' ? '&file='.$session->get('sr_file') : '') + .($session->get('sr_type')>'' ? '&type='.$session->get('sr_type') : ''); + + if ($session->get('sr_file')>"") { + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $descriptor = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$session->get('sr_file'); + } else { + $descriptor = '/home/vendeg/'.$session->get('sr_file'); + } + + if (is_file($descriptor)) + { + $this->desc=explode("#",file_get_contents($descriptor)); + + if (is_array($this->desc) && count($this->desc)) { foreach ($this->desc as $k=>$v) $this->desc[$k]=trim($v); } + + if ($this->desc[0]==$this->desc[1]) // regi struktura + { + $this->data=array( + "file"=>$this->desc[0], + "vendegkep"=>$this->desc[2], + "nev_eng"=>$this->desc[4], + "nev_hun"=>($this->desc[5] ? $this->desc[5] : $this->desc[4]), + "tipus"=>$this->sess['sr_type'], + "kategoria"=>"", + "alkategoria"=>"", + "gyarto"=>"", + "prver"=>($this->desc[6]=="-1" ? "2012" : $this->desc[6]), + "ifc"=>false + ); + } + else // uj struktura + { + $this->data=array( + "file"=>$this->desc[0], + "vendegkep"=>$this->desc[1], + "nev_eng"=>$this->desc[2], + "nev_hun"=>$this->desc[3], + "tipus"=>$this->desc[4], + "kategoria"=>$this->desc[5], + "alkategoria"=>$this->desc[6], + "gyarto"=>$this->desc[7], + "prver"=>($this->desc[8]=="-1" ? "2012" : $this->desc[8]), + "ifc"=>(substr($this->desc[0],-4)==".ifc"?TRUE:FALSE) + ); + } + + if ($this->data['gyarto']>"") { $manufacure=$model->getManufactureByName($this->data['gyarto']); } + if ($this->data['kategoria']>"") { $kategoria=$model->getParentByName($this->data['tipus'],$this->data['kategoria']); } + if ($this->data['alkategoria']>"" && $kategoria->id>0) { $alkategoria=$model->getSubcatByName($this->data['tipus'],$kategoria->id,$this->data['alkategoria']); } + + $this->selected_type=$this->data['tipus']; + $this->selected_manufacture=((int)$manufacure->id>0 ? (int)$manufacure->id : 0); + $this->selected_family=$this->sess['sr_family']; + $this->selected_category=((int)$kategoria->id>0 ? (int)$kategoria->id : 0); + $this->selected_subcategory=((int)$alkategoria->id>0 ? (int)$alkategoria->id : 0); + +// kis kép elhelyezése a végleges helyére + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['vendegkep']; + } else { + $honnan = '/home/vendeg/'.$this->data['vendegkep']; + } + + $hova=$_SERVER['DOCUMENT_ROOT'].'/public/img/collection/'.$this->data['tipus']; + if (!is_dir($hova)) mkdir($hova, 0777); + $hova.='/'.$this->data['vendegkep']; + if (is_file($honnan) && !is_file($hova)) { copy($honnan,$hova); } + + if (isset($_POST['save'])) + { + $tomb=array( + 'm_id'=>(int)$_POST['m_id'], + 'c_id'=>(int)$_POST['c_id'], + 'struct_id'=>(int)$_POST['subcat'], + 'title_hun'=>trim(addslashes($_POST['title_hun'])), + 'title_eng'=>trim(addslashes($_POST['title_eng'])), + 'desc_hun'=>trim(addslashes($_POST['desc_hun'])), + 'desc_eng'=>trim(addslashes($_POST['desc_eng'])), + 'tipus'=>$_POST['tipus'], + 'fajl'=>$this->data['file'], + 'version'=>$this->data['prver'], + 'deleted'=>(isset($_POST['deleted']) ? 0 : 1), + ); + +// $newID=($this->data['ifc']==FALSE ? $model->saveRecord($tomb) : (int)$_POST['joinID']); + $newID=$model->saveRecord($tomb); + + if ((int)$newID>0) + { + $man=$model->getManufacture($tomb['m_id']); + +// objektum file(ok) elhelyezése a végleges helyére + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['file']; + } else { + $honnan = '/home/vendeg/'.$this->data['file']; + } + + $hova=$_SERVER['DOCUMENT_ROOT'].'/public/collection/'.$man->dir; + if (!is_dir($hova)) mkdir($hova, 0777); + $hova.='/'.$newID; + if (!is_dir($hova)) mkdir($hova, 0777); + $hova.='/'.$this->data['file']; + if (is_file($honnan)) copy($honnan,$hova); + + if ($this->data['ifc']==TRUE) + { + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.str_replace(".ifc",".oli",$this->data['file']); + } else { + $honnan = '/home/vendeg/'.str_replace(".ifc",".oli",$this->data['file']); + } + + $hova=$_SERVER['DOCUMENT_ROOT'].'/public/collection/'.$man->dir.'/'.$newID.'/'.str_replace(".ifc",".oli",$this->data['file']); + if (is_file($honnan)) copy($honnan,$hova); + } + +// feltöltött kép elhelyezése a végleges helyére + if (is_array($_FILES['fileupload']) && !empty($_FILES['fileupload']) && /*$this->data['ifc']==FALSE &&*/ in_array($_FILES['fileupload']['type'],array('image/jpeg','image/jpg'))) + { + $origSize=getimagesize($_FILES['fileupload']['tmp_name']); + $hova=$_SERVER['DOCUMENT_ROOT']."/public/img/collection/".$man->dir; + if (!is_dir($hova)) mkdir($hova,0777); + $hova.="/".$newID; + if (!is_dir($hova)) mkdir($hova,0777); + if (!is_dir($hova."/orig")) mkdir($hova."/orig",0777); + + $this->make_thumb($_FILES['fileupload']['tmp_name'], $hova.'/zz_big.jpg', (int)round(($origSize[0]/$origSize[1])*400),400); + $this->make_thumb($_FILES['fileupload']['tmp_name'], $hova.'/zz_thumb.jpg', (int)round(($origSize[0]/$origSize[1])*120),120); + $this->make_thumb($_FILES['fileupload']['tmp_name'], $hova.'/zz_small.jpg', (int)round(($origSize[0]/$origSize[1])*66),66); + + move_uploaded_file($_FILES['fileupload']['tmp_name'], $hova.'/orig/'.$_FILES['fileupload']['name']); + } + } + } + } + else { print ("descriptor file nem elérhető"); } + } + + $this->parents=$model->getParents(); + $this->subcat=$model->getSubcat($this->selected_category); + $app->getPathway()->addItem(JText::_(COM_SHOWROOM_SHOWROOM), '/index.php?option=com_showroom&view=showroom'); + $app->getPathway()->addItem(JText::_(COM_SHOWROOM_UPLOAD)); + + parent::display($tpl); + } + + protected function make_thumb($src, $dest, $desired_width,$desired_h) + { + $source_image=imagecreatefromjpeg($src); + $width=imagesx($source_image); + $height=imagesy($source_image); + $desired_height=$desired_h; + $virtual_image=imagecreatetruecolor($desired_width, $desired_height); + imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); + imagejpeg($virtual_image, $dest); + } +} // end of class +?> diff --git a/cadline/components/components/com_showroom/views/uploadgroup/view.html.php b/cadline/components/components/com_showroom/views/uploadgroup/view.html.php index 782bbdc8..53aaca0f 100644 --- a/cadline/components/components/com_showroom/views/uploadgroup/view.html.php +++ b/cadline/components/components/com_showroom/views/uploadgroup/view.html.php @@ -1,272 +1,272 @@ -$this->desc[8], - $data["prver"]=($adatok[9]=="-1" ? "2012" : $adatok[8]), - $data["desc_eng"]=>$this->desc[10], - $data["desc_hun"]=>$this->desc[11], - $data["serial"]=>$this->desc[12], - - Pl. (valójában sortörés nélkül van): - ------------------------------------ - 85151612-3251-2A4C-838D-BDAE5C2ED382.oli# - 3000585D-7B7A-BF4D-A501-3ACDE09CCA31.bmp# - brown chair# - barna szék# - material# - Wood# - Oak# - Marrakesh# - -1 -*******************************************************************************/ -defined('_JEXEC') or die; // No direct access to this file - -jimport('joomla.application.component.view'); // import Joomla view library -jimport('joomla.application.module.helper'); -jimport('joomla.session.session'); - -class ShowroomViewUploadGroup extends JViewLegacy -{ - protected $arrAllowedGroups=array(7,8); - protected $acceptLang=array('eng'=>'en-GB','hun'=>'hu-HU'); - protected $desc=array(); - protected $data=array(); - protected $hiba; - - public function display($tpl = null) - { - $app=&JFactory::getApplication(); - $lang=&JFactory::getLanguage(); - $session=&JFactory::getSession(); - $document=&JFactory::getDocument(); - $model=$this->getModel(); - - $document->addStyleSheet('/components/com_showroom/assets/css/showroom.css'); - $session->set('sr_template','blankframe'); - $session->set('sr_lang','eng'); - $lang->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); - $session->set('sr_file',(trim(addslashes($_GET['file']))=='none' ? '' : trim(addslashes($_GET['file'])))); -// $this->sess=$_SESSION['__default']; - $this->out=array(); - - if (trim($session->get('sr_file'))>"" && trim($session->get('sr_file'))!='none') - { - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $grouplist = trim($_SERVER['DOCUMENT_ROOT'].'/webdav/'.$session->get('sr_file')); - } else { - $grouplist = trim('/home/vendeg/'.$session->get('sr_file')); - } - - /*if ($_SERVER['REMOTE_ADDR'] == '213.197.95.246') { - if (file_exists($_SERVER['DOCUMENT_ROOT'].'/webdav/3979EAED-035E-4367-B8C2-52277989A480.oli')) { - echo $grouplist; - echo '
'; - echo $_SERVER['DOCUMENT_ROOT'].'/webdav/3979EAED-035E-4367-B8C2-52277989A480.oli'; - - die(); - } - }*/ - - $this->out['grouplist']=$session->get('sr_file'); - $this->out['sorok']=array(); - - if (is_file($grouplist)) - { - $lines=file($grouplist); - - if (is_array($lines) && count($lines)) - { - foreach ($lines as $idx=>$line) - { - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $descriptor = trim($_SERVER['DOCUMENT_ROOT'].'/webdav/'.$line); - } else { - $descriptor = trim('/home/vendeg/'.$line); - } - $this->out['sorok'][$idx]['descriptor']=$line; - - if (is_file($descriptor)) - { - $this->desc=explode("#",file_get_contents($descriptor)); - - if (is_array($this->desc) && count($this->desc)) { foreach ($this->desc as $k=>$v) $this->desc[$k]=trim($v); } - - $this->data=array( - "file"=>$this->desc[0], - "nagykep"=>$this->desc[1], - "nev_eng"=>$this->desc[2], - "nev_hun"=>$this->desc[3], - "tipus"=>$this->desc[4], - "kategoria"=>$this->desc[5], - "alkategoria"=>$this->desc[6], - "gyarto"=>$this->desc[7], - "termekcsalad"=>$this->desc[8], - "prver"=>($this->desc[9]=="-1" ? "2012" : $this->desc[9]), - "desc_eng"=>$this->desc[10], - "desc_hun"=>$this->desc[11], - "serial"=>(isset($this->desc[12]) ? trim($this->desc[12]) : ""), - ); - $this->out['sorok'][$idx]['data']=$this->data; - - if ($this->data['tipus']>"") { $this->tipus=$model->getType($this->data['tipus']); } - if ($this->data['gyarto']>"") { $this->manufacture=$model->getManufactureByName($this->data['gyarto']); } - if ($this->data['termekcsalad']>"" && (int)$this->manufacture->id>0) { $this->termekcsalad=$model->getFamilyByName($this->data['termekcsalad'],$this->manufacture->id); } - if ($this->data['kategoria']>"") { $this->kategoria=$model->getParentByName($this->data['tipus'],$this->data['kategoria']); } - if ($this->data['alkategoria']>"" && (int)$this->kategoria->id>0) { $this->alkategoria=$model->getSubcatByName($this->data['tipus'],$this->kategoria->id,$this->data['alkategoria']); } - - $tomb=array( - 'kategoria'=>(int)$this->kategoria->id, - 't_id'=>$this->tipus->type_download, - 'm_id'=>(int)$this->manufacture->id, - 'c_id'=>(int)$this->termekcsalad->c_id, - 'struct_id'=>(int)$this->alkategoria->id, - 'title_hun'=>$this->data['nev_hun'], - 'title_eng'=>$this->data['nev_eng'], - 'desc_hun'=>$this->data['desc_hun'], - 'desc_eng'=>$this->data['desc_eng'], - 'tipus'=>$this->data['tipus'], - 'fajl'=>$this->data['file'], - 'version'=>$this->data['prver'], - 'deleted'=>($this->data['gyarto']=='User' ? 1 : 0), - 'nUserID'=>$model->getUserBySerial($this->data['serial']), - ); - $this->out['sorok'][$idx]['tomb']=$tomb; - $newID=$model->saveRecord($tomb); - $this->out['sorok'][$idx]['newID']=$newID; - - if ((int)$newID>0) - { -// objektum file elhelyezése a végleges helyére - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['file']; - } else { - $honnan = '/home/vendeg/'.$this->data['file']; - } - - $hova=$_SERVER['DOCUMENT_ROOT'].'/public/collection/'.$this->manufacture->dir; - if (!is_dir($hova)) - { - $ret=mkdir($hova, 0777); - if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} - } - - $hova.='/'.$newID; - if (!is_dir($hova)) - { - $ret=mkdir($hova, 0777); - if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} - } - - $files=scandir($hova); - $filter=array('.','..','.quarantine'); - $parts=explode(".", $this->data['file']); - $upload_ext=strtolower(end($parts)); - - if (is_array($files) and count($files)) - { - foreach ($files as $file) - { - if (!in_array($file, $filter)) - { - $parts=explode(".", $file); - $exist_ext=strtolower(end($parts)); - if ($exist_ext==$upload_ext) { unlink($hova.'/'.$file); } - } - } - } - - $hova.='/'.$this->data['file']; - if (is_file($honnan)) copy($honnan,$hova); - if (is_file($honnan)) unlink($honnan); - -// képek legyártása - if (isset($_GET['ver']) && $_GET['ver'] >= 39) { - $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['nagykep']; - } else { - $honnan = '/home/vendeg/'.$this->data['nagykep']; - } - - if (is_file($honnan)) - { - $origSize=getimagesize($honnan); - if ($origSize[0]>=360 || $origSize[1]>=360) - { - $hova=$_SERVER['DOCUMENT_ROOT']."/public/img/collection/".$this->manufacture->dir; - - if (!is_dir($hova)) - { - $ret=mkdir($hova, 0777); - if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} - } - - $hova.="/".$newID; - if (!is_dir($hova)) - { - $ret=mkdir($hova, 0777); - if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} - } - - if (!is_dir($hova."/orig")) - { - $ret=mkdir($hova."/orig", 0777); - if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."/orig
";$this->hiba++;} - } - - $this->make_thumb($honnan, $hova.'/zz_big.jpg', (int)round(($origSize[0]/$origSize[1])*400),400); - $this->make_thumb($honnan, $hova.'/zz_thumb.jpg', (int)round(($origSize[0]/$origSize[1])*120),120); - $this->make_thumb($honnan, $hova.'/zz_small.jpg', (int)round(($origSize[0]/$origSize[1])*66),66); - - if (is_file($honnan)) copy($honnan,$hova."/orig/".$this->data['nagykep']); - if (is_file($honnan)) unlink($honnan); - } - } - } - unlink($descriptor); - } - else { $this->out['sorok'][$idx]['hiba'].="descriptor file '".$descriptor."' nem elérhető
";$this->hiba++; } - } - } - unlink($grouplist); - } - else { $this->out['hiba']="File lista '".$grouplist."' nem elérhető";$this->hiba++; } - - $this->article=($this->hiba>0 ? $model->getErrorArticle() : $model->getSuccessArticle()); - } - - parent::display($tpl); - } - - protected function make_thumb($src, $dest, $desired_width,$desired_h) - { - $source_image=imagecreatefromjpeg($src); - $width=imagesx($source_image); - $height=imagesy($source_image); - $desired_height=$desired_h; - $virtual_image=imagecreatetruecolor($desired_width, $desired_height); - imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); - imagejpeg($virtual_image, $dest); - } -} // end of class -?> +$this->desc[8], + $data["prver"]=($adatok[9]=="-1" ? "2012" : $adatok[8]), + $data["desc_eng"]=>$this->desc[10], + $data["desc_hun"]=>$this->desc[11], + $data["serial"]=>$this->desc[12], + + Pl. (valójában sortörés nélkül van): + ------------------------------------ + 85151612-3251-2A4C-838D-BDAE5C2ED382.oli# + 3000585D-7B7A-BF4D-A501-3ACDE09CCA31.bmp# + brown chair# + barna szék# + material# + Wood# + Oak# + Marrakesh# + -1 +*******************************************************************************/ +defined('_JEXEC') or die; // No direct access to this file + +jimport('joomla.application.component.view'); // import Joomla view library +jimport('joomla.application.module.helper'); +jimport('joomla.session.session'); + +class ShowroomViewUploadGroup extends JViewLegacy +{ + protected $arrAllowedGroups=array(7,8); + protected $acceptLang=array('eng'=>'en-GB','hun'=>'hu-HU'); + protected $desc=array(); + protected $data=array(); + protected $hiba; + + public function display($tpl = null) + { + $app=&JFactory::getApplication(); + $lang=&JFactory::getLanguage(); + $session=&JFactory::getSession(); + $document=&JFactory::getDocument(); + $model=$this->getModel(); + + $document->addStyleSheet('/components/com_showroom/assets/css/showroom.css'); + $session->set('sr_template','blankframe'); + $session->set('sr_lang','eng'); + $lang->load('com_showroom', JPATH_SITE, $this->acceptLang[$session->get('sr_lang')], true); + $session->set('sr_file',(trim(addslashes($_GET['file']))=='none' ? '' : trim(addslashes($_GET['file'])))); +// $this->sess=$_SESSION['__default']; + $this->out=array(); + + if (trim($session->get('sr_file'))>"" && trim($session->get('sr_file'))!='none') + { + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $grouplist = trim($_SERVER['DOCUMENT_ROOT'].'/webdav/'.$session->get('sr_file')); + } else { + $grouplist = trim('/home/vendeg/'.$session->get('sr_file')); + } + + /*if ($_SERVER['REMOTE_ADDR'] == '213.197.95.246') { + if (file_exists($_SERVER['DOCUMENT_ROOT'].'/webdav/3979EAED-035E-4367-B8C2-52277989A480.oli')) { + echo $grouplist; + echo '
'; + echo $_SERVER['DOCUMENT_ROOT'].'/webdav/3979EAED-035E-4367-B8C2-52277989A480.oli'; + + die(); + } + }*/ + + $this->out['grouplist']=$session->get('sr_file'); + $this->out['sorok']=array(); + + if (is_file($grouplist)) + { + $lines=file($grouplist); + + if (is_array($lines) && count($lines)) + { + foreach ($lines as $idx=>$line) + { + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $descriptor = trim($_SERVER['DOCUMENT_ROOT'].'/webdav/'.$line); + } else { + $descriptor = trim('/home/vendeg/'.$line); + } + $this->out['sorok'][$idx]['descriptor']=$line; + + if (is_file($descriptor)) + { + $this->desc=explode("#",file_get_contents($descriptor)); + + if (is_array($this->desc) && count($this->desc)) { foreach ($this->desc as $k=>$v) $this->desc[$k]=trim($v); } + + $this->data=array( + "file"=>$this->desc[0], + "nagykep"=>$this->desc[1], + "nev_eng"=>$this->desc[2], + "nev_hun"=>$this->desc[3], + "tipus"=>$this->desc[4], + "kategoria"=>$this->desc[5], + "alkategoria"=>$this->desc[6], + "gyarto"=>$this->desc[7], + "termekcsalad"=>$this->desc[8], + "prver"=>($this->desc[9]=="-1" ? "2012" : $this->desc[9]), + "desc_eng"=>$this->desc[10], + "desc_hun"=>$this->desc[11], + "serial"=>(isset($this->desc[12]) ? trim($this->desc[12]) : ""), + ); + $this->out['sorok'][$idx]['data']=$this->data; + + if ($this->data['tipus']>"") { $this->tipus=$model->getType($this->data['tipus']); } + if ($this->data['gyarto']>"") { $this->manufacture=$model->getManufactureByName($this->data['gyarto']); } + if ($this->data['termekcsalad']>"" && (int)$this->manufacture->id>0) { $this->termekcsalad=$model->getFamilyByName($this->data['termekcsalad'],$this->manufacture->id); } + if ($this->data['kategoria']>"") { $this->kategoria=$model->getParentByName($this->data['tipus'],$this->data['kategoria']); } + if ($this->data['alkategoria']>"" && (int)$this->kategoria->id>0) { $this->alkategoria=$model->getSubcatByName($this->data['tipus'],$this->kategoria->id,$this->data['alkategoria']); } + + $tomb=array( + 'kategoria'=>(int)$this->kategoria->id, + 't_id'=>$this->tipus->type_download, + 'm_id'=>(int)$this->manufacture->id, + 'c_id'=>(int)$this->termekcsalad->c_id, + 'struct_id'=>(int)$this->alkategoria->id, + 'title_hun'=>$this->data['nev_hun'], + 'title_eng'=>$this->data['nev_eng'], + 'desc_hun'=>$this->data['desc_hun'], + 'desc_eng'=>$this->data['desc_eng'], + 'tipus'=>$this->data['tipus'], + 'fajl'=>$this->data['file'], + 'version'=>$this->data['prver'], + 'deleted'=>($this->data['gyarto']=='User' ? 1 : 0), + 'nUserID'=>$model->getUserBySerial($this->data['serial']), + ); + $this->out['sorok'][$idx]['tomb']=$tomb; + $newID=$model->saveRecord($tomb); + $this->out['sorok'][$idx]['newID']=$newID; + + if ((int)$newID>0) + { +// objektum file elhelyezése a végleges helyére + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['file']; + } else { + $honnan = '/home/vendeg/'.$this->data['file']; + } + + $hova=$_SERVER['DOCUMENT_ROOT'].'/public/collection/'.$this->manufacture->dir; + if (!is_dir($hova)) + { + $ret=mkdir($hova, 0777); + if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} + } + + $hova.='/'.$newID; + if (!is_dir($hova)) + { + $ret=mkdir($hova, 0777); + if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} + } + + $files=scandir($hova); + $filter=array('.','..','.quarantine'); + $parts=explode(".", $this->data['file']); + $upload_ext=strtolower(end($parts)); + + if (is_array($files) and count($files)) + { + foreach ($files as $file) + { + if (!in_array($file, $filter)) + { + $parts=explode(".", $file); + $exist_ext=strtolower(end($parts)); + if ($exist_ext==$upload_ext) { unlink($hova.'/'.$file); } + } + } + } + + $hova.='/'.$this->data['file']; + if (is_file($honnan)) copy($honnan,$hova); + if (is_file($honnan)) unlink($honnan); + +// képek legyártása + if (isset($_GET['ver']) && $_GET['ver'] >= 39) { + $honnan = $_SERVER['DOCUMENT_ROOT'].'/webdav/'.$this->data['nagykep']; + } else { + $honnan = '/home/vendeg/'.$this->data['nagykep']; + } + + if (is_file($honnan)) + { + $origSize=getimagesize($honnan); + if ($origSize[0]>=360 || $origSize[1]>=360) + { + $hova=$_SERVER['DOCUMENT_ROOT']."/public/img/collection/".$this->manufacture->dir; + + if (!is_dir($hova)) + { + $ret=mkdir($hova, 0777); + if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} + } + + $hova.="/".$newID; + if (!is_dir($hova)) + { + $ret=mkdir($hova, 0777); + if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."
";$this->hiba++;} + } + + if (!is_dir($hova."/orig")) + { + $ret=mkdir($hova."/orig", 0777); + if ($ret==FALSE) {$this->out['sorok'][$idx]['hiba'].="könyvtár létrehozási hiba: ".$hova."/orig
";$this->hiba++;} + } + + $this->make_thumb($honnan, $hova.'/zz_big.jpg', (int)round(($origSize[0]/$origSize[1])*400),400); + $this->make_thumb($honnan, $hova.'/zz_thumb.jpg', (int)round(($origSize[0]/$origSize[1])*120),120); + $this->make_thumb($honnan, $hova.'/zz_small.jpg', (int)round(($origSize[0]/$origSize[1])*66),66); + + if (is_file($honnan)) copy($honnan,$hova."/orig/".$this->data['nagykep']); + if (is_file($honnan)) unlink($honnan); + } + } + } + unlink($descriptor); + } + else { $this->out['sorok'][$idx]['hiba'].="descriptor file '".$descriptor."' nem elérhető
";$this->hiba++; } + } + } + unlink($grouplist); + } + else { $this->out['hiba']="File lista '".$grouplist."' nem elérhető";$this->hiba++; } + + $this->article=($this->hiba>0 ? $model->getErrorArticle() : $model->getSuccessArticle()); + } + + parent::display($tpl); + } + + protected function make_thumb($src, $dest, $desired_width,$desired_h) + { + $source_image=imagecreatefromjpeg($src); + $width=imagesx($source_image); + $height=imagesy($source_image); + $desired_height=$desired_h; + $virtual_image=imagecreatetruecolor($desired_width, $desired_height); + imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); + imagejpeg($virtual_image, $dest); + } +} // end of class +?> diff --git a/cadline/components/components/com_tcexam/default.php b/cadline/components/components/com_tcexam/default.php index 449e5410..26e42b02 100644 --- a/cadline/components/components/com_tcexam/default.php +++ b/cadline/components/components/com_tcexam/default.php @@ -1,1108 +1,1108 @@ -id ); -$time = md5($time); -?> - - -
-

- - -
-

- id>0) : ?> -  username?>
- - - level==1 && $switch->tanfsor>=5 && $switch->tanfsor<=7) : ?> - - price==0):?> -  
- -  price?> +
- - - - location)>'' && substr($workshopok[0]->location,0,4)=="http" ):?> -  online
- location)>''):?> -  location?>
- - - webinair=='Y') : ?> - - -

-  start_date?> - finish_date?>
-  start_time,0,5)?> - finish_time,0,5)?>
-  : capacity-$workshopok[0]->applications?> / : capacity?>
- id); - if($onlineSessions) { - if($workshopok[0]->course_level != 0) { - print '

'.ModAlworkshopsHelper::getLevelString($workshopok[0]->course_level).'

'; - } - print '
'; - print 'Időpontok:

'; - print ''; - foreach ($onlineSessions as $session) { - print " - - - - "; - } - print '
{$session->session_date}{$session->start_time}-{$session->finish_time}{$session->title}
'; - } - - MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[0]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); - $exist=MySqlHelper::getInstance()->fetchAssoc(); - if($user->id != 0) { - if ($exist) { - ?> -

Erre az eseményre már jelentkeztél

- -

Erre az eseményre még nem jelentkeztél

- -
- - - -
-  start_date?> - finish_date?>
-  start_time,0,5)?> - finish_time,0,5)?>
-  : capacity-$workshopok[1]->applications?> / : capacity?>
- id); - if($onlineSessions) { - if($workshopok[1]->course_level != 0) { - print '

'.ModAlworkshopsHelper::getLevelString($workshopok[1]->course_level).'

'; - } - print '
'; - print 'Időpontok:

'; - print ''; - foreach ($onlineSessions as $session) { - print " - - - - "; - } - print '
{$session->session_date}{$session->start_time}-{$session->finish_time}{$session->title}
'; - } - MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[1]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); - $exist2=MySqlHelper::getInstance()->fetchAssoc(); - if($user->id != 0) { - if ($exist2) { - ?> -
-

Erre az eseményre már jelentkeztél

-
- - -

Erre az eseményre még nem jelentkeztél

- - -
- -
-

-
- - - query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[2]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); - $exist3=MySqlHelper::getInstance()->fetchAssoc(); - ?> -
-  start_date?>
-  start_time,0,5)?> - finish_time,0,5)?>
-  : capacity-$workshopok[2]->applications?> / : capacity?>
- id != 0) { - if ($exist3) { - ?> -
-

Erre az eseményre már jelentkeztél

-
- - -

Erre az eseményre még nem jelentkeztél

- - -
- -
-

-
- - - - comment==='Y' && trim(strip_tags($workshopok[0]->comment))>'' ) : ?> -  :
comment?> - -

- - kurzus=='Y' && $switch->level==2) : ?> - - - - - - - webinair=='Y' || $switch->esemeny=='Y') : ?> - webinair=='Y'): ?> -
- -
- -
- webinair=='Y'):?> - query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[0]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); - $exist3=MySqlHelper::getInstance()->fetchAssoc(); - ?> -

id == 0) ? 'style="display:none;"' : "")?>> - - - - - - - - -

- -
- - - -

:

-
- - - $ws):?> - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application=ModAlworkshopsHelper::getApplication($user->id,$ws->id); - if ($application) $currentApplication=$k; - if ($application && $switch->vizsga=='Y') $examDate=$ws->start_date; - ?> - gepet_kerek=='Y' && time() >= $timestamp):?> - - - - - - - - - - - kurzus=='Y') : ?> - - - - - - - - -

- gepet_kerek=='Y' && time() >= $timestamp): ?> - - - /> - - - -
-
- gepet_kerek=='Y') : ?> -
- start_date==$ws->finish_date) : ?> - start_date?> start_time,0,-3)?>-finish_time,0,-3)?> - - start_date?> - finish_date?> -
- - : capacity-$ws->applications?>
- - gepet_kerek=='Y') : ?> - : gepigeny>=0 ? 2-$ws->gepigeny : 0)?>
- -
- - -
-

:

- - id); - if ($course_sessions) : ?> - - - - - - - - - -
session_date,2)?>start_time,0,5)?>-finish_time,0,5)?>description?>
-

- -
- - - kurzus=='Y' && $switch->level==2) : ?> -

:

-
- - - $ws):?> - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application=ModAlworkshopsHelper::getApplication($user->id,$ws->id); - if ($application) $currentApplication=$k; - if ($application && $switch->vizsga=='Y') $examDate=$ws->start_date; - ?> - gepet_kerek=='Y' && time() >= $timestamp):?> - - - - - - - - - - - kurzus=='Y') : ?> - - - - - - - - -

- gepet_kerek=='Y' && time() >= $timestamp): ?> - - - /> - - - -
-
- gepet_kerek=='Y') : ?> -
- start_date==$ws->finish_date) : ?> - start_date?> start_time,0,-3)?>-finish_time,0,-3)?> - - start_date?> - finish_date?> -
- - : capacity-$ws->applications?>
- - gepet_kerek=='Y') : ?> - : gepigeny>=0 ? 2-$ws->gepigeny : 0)?>
- -
- - -
-

:

- - id); - if ($course_sessions) : ?> - - - - - - - - - -
session_date,2)?>start_time,0,5)?>-finish_time,0,5)?>description?>
-

- -
- - - - id>0):?> - - - - berletem_van=='Y' && $validLease) :?> -

- -    - (: validThrough?>) -

- - - webinair=='N' && $switch->esemeny=='N') : ?> -
- - gepet_kerek=='Y') : ?>

  (: )

- -

-
- - - - kurzus=='Y' && $switch->level==1) : ?> - - -

- price>0):?>

- - kurzus=='Y' && $switch->level==2) : ?> - - alap_oklevel) :?> - alias == 'kozepfoku-tanfolyam'): ?> - id,$workshopok[0]->id); - ?> - - - - -

- price>0):?>

- - -

!

-

- price>0):?>

- - - workshop=='Y' && $validLease) : ?> - - -

- price>0):?>

- - workshop=='Y' && !$validLease) : ?> - - level==1) : ?> - -

!

-

- price>0):?>

- - - level==2) : ?> - alap_oklevel) :?> - -

- price>0):?>

- - -

!

-

- price>0):?>

- - - - vizsga=='Y' ) :?> - - - -

- price>0):?>

- - level==1) : ?>

!

- level==2) : ?>

!

- -

- price>0):?>

- -
- - - - - - - - - - - -
- esemeny!='Y'){?> -

- - - vizsga=='Y' || $application->attendees <= 3) : ?> - -
- - - - - webinair!='Y' && $switch->vizsga=='Y'){ - ?> - " /> - -
- - - - - - - kurzus=='Y' || $switch->workshop=='Y' || $switch->vizsga=='Y' || ($switch->esemeny=='Y' && $switch->login=='Y') || ($switch->webinair=='Y' && $switch->login='N')) : ?> - webinair=='Y' && $switch->login=='N') { - ?> -
-
-

- -
-
-
- -
-
- -
- -

- - - - - - -

- - - price>0):?> - - - -
- - kurzus=='Y' || $switch->workshop=='Y') : ?> - - level!=2) : ?>
-

- level==1) : ?>:
- - level);?> - level!=2) :?> - - id==$ows->id) : ?> - title?> - - title?> -
- - -

- - -
- esemeny=='Y' && $user->id>0) - { - ?> - -
-
-
- - -
- orszag=='Y'):?> -
- -
- - szakma=='Y'):?> -
- -
- -
- -

id == 0) ? 'style="display:none;"' : "")?>> - - - - -

- - - $ws):?> - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application=ModAlworkshopsHelper::getApplication($user->id,$ws->id); - if ($application) $currentApplication=$k; - if ($application && $switch->vizsga=='Y') $examDate=$ws->start_date; - ?> - = $timestamp):?> - - - - - - - - - - - kurzus=='Y') : ?> - - - - - - - - -

- = $timestamp):?> - - - /> - - - -
-
- gepet_kerek=='Y') : ?> -
- start_date==$ws->finish_date) : ?> - start_date?> start_time,0,-3)?>-finish_time,0,-3)?> - - start_date?> - finish_date?> -
- - : capacity-$ws->applications?>
- - gepet_kerek=='Y') : ?> - : gepigeny>=0 ? 2-$ws->gepigeny : 0)?>
- -
- - -
-

:

- - id); - if ($course_sessions) : ?> - - - - - - - - - -
session_date,2)?>start_time,0,5)?>-finish_time,0,5)?>description?>
-

- -
-

- -
- -
- webinair=='Y') : ?> -
- - -

id == 0) ? 'style="display:none;"' : "")?>> - - - -

- -
- -
-
-
-
- - -
- webinair=='Y') : ?> -
- -

id == 0) ? 'style="display:none;"' : "")?>> - - - -

- -
- -
-
-
-
-
- - +id ); +$time = md5($time); +?> + + +
+

+ + +
+

+ id>0) : ?> +  username?>
+ + + level==1 && $switch->tanfsor>=5 && $switch->tanfsor<=7) : ?> + + price==0):?> +  
+ +  price?> +
+ + + + location)>'' && substr($workshopok[0]->location,0,4)=="http" ):?> +  online
+ location)>''):?> +  location?>
+ + + webinair=='Y') : ?> + + +

+  start_date?> - finish_date?>
+  start_time,0,5)?> - finish_time,0,5)?>
+  : capacity-$workshopok[0]->applications?> / : capacity?>
+ id); + if($onlineSessions) { + if($workshopok[0]->course_level != 0) { + print '

'.ModAlworkshopsHelper::getLevelString($workshopok[0]->course_level).'

'; + } + print '
'; + print 'Időpontok:

'; + print ''; + foreach ($onlineSessions as $session) { + print " + + + + "; + } + print '
{$session->session_date}{$session->start_time}-{$session->finish_time}{$session->title}
'; + } + + MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[0]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); + $exist=MySqlHelper::getInstance()->fetchAssoc(); + if($user->id != 0) { + if ($exist) { + ?> +

Erre az eseményre már jelentkeztél

+ +

Erre az eseményre még nem jelentkeztél

+ +
+ + + +
+  start_date?> - finish_date?>
+  start_time,0,5)?> - finish_time,0,5)?>
+  : capacity-$workshopok[1]->applications?> / : capacity?>
+ id); + if($onlineSessions) { + if($workshopok[1]->course_level != 0) { + print '

'.ModAlworkshopsHelper::getLevelString($workshopok[1]->course_level).'

'; + } + print '
'; + print 'Időpontok:

'; + print ''; + foreach ($onlineSessions as $session) { + print " + + + + "; + } + print '
{$session->session_date}{$session->start_time}-{$session->finish_time}{$session->title}
'; + } + MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[1]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); + $exist2=MySqlHelper::getInstance()->fetchAssoc(); + if($user->id != 0) { + if ($exist2) { + ?> +
+

Erre az eseményre már jelentkeztél

+
+ + +

Erre az eseményre még nem jelentkeztél

+ + +
+ +
+

+
+ + + query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[2]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); + $exist3=MySqlHelper::getInstance()->fetchAssoc(); + ?> +
+  start_date?>
+  start_time,0,5)?> - finish_time,0,5)?>
+  : capacity-$workshopok[2]->applications?> / : capacity?>
+ id != 0) { + if ($exist3) { + ?> +
+

Erre az eseményre már jelentkeztél

+
+ + +

Erre az eseményre még nem jelentkeztél

+ + +
+ +
+

+
+ + + + comment==='Y' && trim(strip_tags($workshopok[0]->comment))>'' ) : ?> +  :
comment?> + +

+ + kurzus=='Y' && $switch->level==2) : ?> + + + + + + + webinair=='Y' || $switch->esemeny=='Y') : ?> + webinair=='Y'): ?> +
+ +
+ +
+ webinair=='Y'):?> + query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=".$workshopok[0]->id." AND `email`='".trim(addslashes($user->email))."' AND `published`='Y';"); + $exist3=MySqlHelper::getInstance()->fetchAssoc(); + ?> +

id == 0) ? 'style="display:none;"' : "")?>> + + + + + + + + +

+ +
+ + + +

:

+
+ + + $ws):?> + start_date; + $timestamp = strtotime($date . ' ' . '17:00:00'); + + $application=ModAlworkshopsHelper::getApplication($user->id,$ws->id); + if ($application) $currentApplication=$k; + if ($application && $switch->vizsga=='Y') $examDate=$ws->start_date; + ?> + gepet_kerek=='Y' && time() >= $timestamp):?> + + + + + + + + + + + kurzus=='Y') : ?> + + + + + + + + +

+ gepet_kerek=='Y' && time() >= $timestamp): ?> + + + /> + + + +
+
+ gepet_kerek=='Y') : ?> +
+ start_date==$ws->finish_date) : ?> + start_date?> start_time,0,-3)?>-finish_time,0,-3)?> + + start_date?> - finish_date?> +
+ + : capacity-$ws->applications?>
+ + gepet_kerek=='Y') : ?> + : gepigeny>=0 ? 2-$ws->gepigeny : 0)?>
+ +
+ + +
+

:

+ + id); + if ($course_sessions) : ?> + + + + + + + + + +
session_date,2)?>start_time,0,5)?>-finish_time,0,5)?>description?>
+

+ +
+ + + kurzus=='Y' && $switch->level==2) : ?> +

:

+
+ + + $ws):?> + start_date; + $timestamp = strtotime($date . ' ' . '17:00:00'); + + $application=ModAlworkshopsHelper::getApplication($user->id,$ws->id); + if ($application) $currentApplication=$k; + if ($application && $switch->vizsga=='Y') $examDate=$ws->start_date; + ?> + gepet_kerek=='Y' && time() >= $timestamp):?> + + + + + + + + + + + kurzus=='Y') : ?> + + + + + + + + +

+ gepet_kerek=='Y' && time() >= $timestamp): ?> + + + /> + + + +
+
+ gepet_kerek=='Y') : ?> +
+ start_date==$ws->finish_date) : ?> + start_date?> start_time,0,-3)?>-finish_time,0,-3)?> + + start_date?> - finish_date?> +
+ + : capacity-$ws->applications?>
+ + gepet_kerek=='Y') : ?> + : gepigeny>=0 ? 2-$ws->gepigeny : 0)?>
+ +
+ + +
+

:

+ + id); + if ($course_sessions) : ?> + + + + + + + + + +
session_date,2)?>start_time,0,5)?>-finish_time,0,5)?>description?>
+

+ +
+ + + + id>0):?> + + + + berletem_van=='Y' && $validLease) :?> +

+ +    + (: validThrough?>) +

+ + + webinair=='N' && $switch->esemeny=='N') : ?> +
+ + gepet_kerek=='Y') : ?>

  (: )

+ +

+
+ + + + kurzus=='Y' && $switch->level==1) : ?> + + +

+ price>0):?>

+ + kurzus=='Y' && $switch->level==2) : ?> + + alap_oklevel) :?> + alias == 'kozepfoku-tanfolyam'): ?> + id,$workshopok[0]->id); + ?> + + + + +

+ price>0):?>

+ + +

!

+

+ price>0):?>

+ + + workshop=='Y' && $validLease) : ?> + + +

+ price>0):?>

+ + workshop=='Y' && !$validLease) : ?> + + level==1) : ?> + +

!

+

+ price>0):?>

+ + + level==2) : ?> + alap_oklevel) :?> + +

+ price>0):?>

+ + +

!

+

+ price>0):?>

+ + + + vizsga=='Y' ) :?> + + + +

+ price>0):?>

+ + level==1) : ?>

!

+ level==2) : ?>

!

+ +

+ price>0):?>

+ +
+ + + + + + + + + + + +
+ esemeny!='Y'){?> +

+ + + vizsga=='Y' || $application->attendees <= 3) : ?> + +
+ + + + + webinair!='Y' && $switch->vizsga=='Y'){ + ?> + " /> + +
+ + + + + + + kurzus=='Y' || $switch->workshop=='Y' || $switch->vizsga=='Y' || ($switch->esemeny=='Y' && $switch->login=='Y') || ($switch->webinair=='Y' && $switch->login='N')) : ?> + webinair=='Y' && $switch->login=='N') { + ?> +
+
+

+ +
+
+
+ +
+
+ +
+ +

+ + + + + + +

+ + + price>0):?> + + + +
+ + kurzus=='Y' || $switch->workshop=='Y') : ?> + + level!=2) : ?>
+

+ level==1) : ?>:
+ + level);?> + level!=2) :?> + + id==$ows->id) : ?> + title?> + + title?> +
+ + +

+ + +
+ esemeny=='Y' && $user->id>0) + { + ?> + +
+
+
+ + +
+ orszag=='Y'):?> +
+ +
+ + szakma=='Y'):?> +
+ +
+ +
+ +

id == 0) ? 'style="display:none;"' : "")?>> + + + + +

+ + + $ws):?> + start_date; + $timestamp = strtotime($date . ' ' . '17:00:00'); + + $application=ModAlworkshopsHelper::getApplication($user->id,$ws->id); + if ($application) $currentApplication=$k; + if ($application && $switch->vizsga=='Y') $examDate=$ws->start_date; + ?> + = $timestamp):?> + + + + + + + + + + + kurzus=='Y') : ?> + + + + + + + + +

+ = $timestamp):?> + + + /> + + + +
+
+ gepet_kerek=='Y') : ?> +
+ start_date==$ws->finish_date) : ?> + start_date?> start_time,0,-3)?>-finish_time,0,-3)?> + + start_date?> - finish_date?> +
+ + : capacity-$ws->applications?>
+ + gepet_kerek=='Y') : ?> + : gepigeny>=0 ? 2-$ws->gepigeny : 0)?>
+ +
+ + +
+

:

+ + id); + if ($course_sessions) : ?> + + + + + + + + + +
session_date,2)?>start_time,0,5)?>-finish_time,0,5)?>description?>
+

+ +
+

+ +
+ +
+ webinair=='Y') : ?> +
+ + +

id == 0) ? 'style="display:none;"' : "")?>> + + + +

+ +
+ +
+
+
+
+ + +
+ webinair=='Y') : ?> +
+ +

id == 0) ? 'style="display:none;"' : "")?>> + + + +

+ +
+ +
+
+
+
+
+ + diff --git a/cadline/docroot/beiratkozas/getCourses.php b/cadline/docroot/beiratkozas/getCourses.php index c0bd3e81..24ef1de7 100644 --- a/cadline/docroot/beiratkozas/getCourses.php +++ b/cadline/docroot/beiratkozas/getCourses.php @@ -1,6 +1,6 @@ -login($credentials); - -header('Location: ' . $_POST['url']); +login($credentials); + +header('Location: ' . $_POST['url']); diff --git a/cadline/docroot/components/com_users/controllers/recaptchalib.php b/cadline/docroot/components/com_users/controllers/recaptchalib.php index a890cbd2..a450d4fa 100644 --- a/cadline/docroot/components/com_users/controllers/recaptchalib.php +++ b/cadline/docroot/components/com_users/controllers/recaptchalib.php @@ -1,143 +1,143 @@ -" . self::$_signupUrl . ""); - } - $this->_secret=$secret; - } - - /** - * Encodes the given data into a query string format. - * - * @param array $data array of string elements to be encoded. - * - * @return string - encoded request. - */ - private function _encodeQS($data) - { - $req = ""; - foreach ($data as $key => $value) { - $req .= $key . '=' . urlencode(stripslashes($value)) . '&'; - } - - // Cut the last '&' - $req=substr($req, 0, strlen($req)-1); - return $req; - } - - /** - * Submits an HTTP GET to a reCAPTCHA server. - * - * @param string $path url path to recaptcha server. - * @param array $data array of parameters to be sent. - * - * @return array response - */ - private function _submitHTTPGet($path, $data) - { - $req = $this->_encodeQS($data); - $response = file_get_contents($path . $req); - return $response; - } - - /** - * Calls the reCAPTCHA siteverify API to verify whether the user passes - * CAPTCHA test. - * - * @param string $remoteIp IP address of end user. - * @param string $response response string from recaptcha verification. - * - * @return ReCaptchaResponse - */ - public function verifyResponse($remoteIp, $response) - { - // Discard empty solution submissions - if ($response == null || strlen($response) == 0) { - $recaptchaResponse = new ReCaptchaResponse(); - $recaptchaResponse->success = false; - $recaptchaResponse->errorCodes = 'missing-input'; - return $recaptchaResponse; - } - - $getResponse = $this->_submitHttpGet( - self::$_siteVerifyUrl, - array ( - 'secret' => $this->_secret, - 'remoteip' => $remoteIp, - 'v' => self::$_version, - 'response' => $response - ) - ); - $answers = json_decode($getResponse, true); - $recaptchaResponse = new ReCaptchaResponse(); - - if (trim($answers ['success']) == true) { - $recaptchaResponse->success = true; - } else { - $recaptchaResponse->success = false; - $recaptchaResponse->errorCodes = $answers [error-codes]; - } - - if ($_SERVER['REMOTE_ADDR'] == '85.66.171.33') { - var_dump($recaptchaResponse); - die(); - } - - return $recaptchaResponse; - } -} +" . self::$_signupUrl . ""); + } + $this->_secret=$secret; + } + + /** + * Encodes the given data into a query string format. + * + * @param array $data array of string elements to be encoded. + * + * @return string - encoded request. + */ + private function _encodeQS($data) + { + $req = ""; + foreach ($data as $key => $value) { + $req .= $key . '=' . urlencode(stripslashes($value)) . '&'; + } + + // Cut the last '&' + $req=substr($req, 0, strlen($req)-1); + return $req; + } + + /** + * Submits an HTTP GET to a reCAPTCHA server. + * + * @param string $path url path to recaptcha server. + * @param array $data array of parameters to be sent. + * + * @return array response + */ + private function _submitHTTPGet($path, $data) + { + $req = $this->_encodeQS($data); + $response = file_get_contents($path . $req); + return $response; + } + + /** + * Calls the reCAPTCHA siteverify API to verify whether the user passes + * CAPTCHA test. + * + * @param string $remoteIp IP address of end user. + * @param string $response response string from recaptcha verification. + * + * @return ReCaptchaResponse + */ + public function verifyResponse($remoteIp, $response) + { + // Discard empty solution submissions + if ($response == null || strlen($response) == 0) { + $recaptchaResponse = new ReCaptchaResponse(); + $recaptchaResponse->success = false; + $recaptchaResponse->errorCodes = 'missing-input'; + return $recaptchaResponse; + } + + $getResponse = $this->_submitHttpGet( + self::$_siteVerifyUrl, + array ( + 'secret' => $this->_secret, + 'remoteip' => $remoteIp, + 'v' => self::$_version, + 'response' => $response + ) + ); + $answers = json_decode($getResponse, true); + $recaptchaResponse = new ReCaptchaResponse(); + + if (trim($answers ['success']) == true) { + $recaptchaResponse->success = true; + } else { + $recaptchaResponse->success = false; + $recaptchaResponse->errorCodes = $answers [error-codes]; + } + + if ($_SERVER['REMOTE_ADDR'] == '85.66.171.33') { + var_dump($recaptchaResponse); + die(); + } + + return $recaptchaResponse; + } +} diff --git a/cadline/docroot/components/com_users/views/registration/tmpl/easyprofile.php b/cadline/docroot/components/com_users/views/registration/tmpl/easyprofile.php index a781d3e2..dc323996 100644 --- a/cadline/docroot/components/com_users/views/registration/tmpl/easyprofile.php +++ b/cadline/docroot/components/com_users/views/registration/tmpl/easyprofile.php @@ -1,75 +1,75 @@ -get('layout_width','full'); -if( $layout_width == 'full' ) $max_width = 'none'; -else $max_width = $config->get('layout_maxwidth','500'); -$layout=$config->get('layout_form','horizontal'); -$lang = JFactory::getLanguage(); -$result = $lang->getTag(); - -?> - - \ No newline at end of file diff --git a/cadline/docroot/crashadmin.php b/cadline/docroot/crashadmin.php index 850c9e24..f6ebcc6c 100644 --- a/cadline/docroot/crashadmin.php +++ b/cadline/docroot/crashadmin.php @@ -1,422 +1,422 @@ -query($update) === FALSE) echo ''; - } - if ($_POST['listaid'] && isset($_POST['CbBoxValue'])) { - $listaid = substr($_POST['listaid'], 5); - $update = "UPDATE `www_archline_hu`.`crash` SET `eredmeny`='{$_POST['CbBoxValue']}' WHERE `id`='{$listaid}'"; - - if ($connection->query($update) === FALSE) echo ''; - } -} - - -function downloadFile($filename) -{ - if ($f = fopen($filename, "rb")) { - $content_len = (int) filesize($filename); - //@ini_set('zlib.output_compression', 'Off'); - header('Pragma: public'); - //header('Last-Modified: '.gmdate('D, d M Y H(idea)(worry)') . ' GMT'); - header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1 - header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 - header('Content-Transfer-Encoding: none'); - header('Content-Type: plain/text'); - header('Content-Disposition: inline; filename="' . $filename . '"'); - header("Content-length: $content_len"); - - while (!feof($f)) { - echo fread($f, 2 << 20); - } - fclose($f); - } else { - print "error opening file"; - } - exit(); -} - -if ($_SERVER['REMOTE_ADDR'] == '91.83.198.90') { - $path = "../public"; - $files = scandir($path); - - print_r($files); -} - -if (isset($_GET) && !empty($_GET)) { - $filepath = "/home/vendeg/crash/"; - $filepath .= $_GET["guid"]; - - /*if (!file_exists($filepath)) - $filepath = "../public/crash/".$_GET['guid'];*/ - //$filepath .= ".DMP"; - downloadFile($filepath); -} else { -?> - - - - - - - - - - - '; - if (isset($_SESSION["maxdate"]) || isset($_SESSION["mindate"]) || isset($_SESSION["lista"])) { - echo 'Dátum szűrés
-tól     -ig'; - } else { - echo 'Dátum szűrés
-tól     -ig'; - } - ?> -

- Eredmény szűrő:
- - -

- -

- - - = '" . $_POST['datemin'] . "'"; - if (isset($_POST['datemax'])) $feltetel[] = "left(datum, 10) <= '" . $_POST['datemax'] . "'"; - if (isset($_POST['lista']) && $_POST['lista'] != "%") $feltetel[] = "`eredmeny` = " . $_POST['lista'] . ""; - if (isset($_POST['lista']) && $_POST['lista'] == "%") $feltetel[] = "1"; - if (isset($_POST['datemax']) || isset($_POST['datemin']) || isset($_POST['lezart'])) $query .= "WHERE " . implode(' AND ', $feltetel); - - $query .= " ORDER BY id DESC LIMIT 500"; - - print "
"; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - print ""; - - $msh2->query($query); - $results = $msh2->fetchAssoc(); - - foreach ($results as $result) { - $r = (object)$result; - - $filepath = "/home/vendeg/crash/"; - $filepath .= $r->guid; - $filepath .= ".DMP"; - if (!file_exists($filepath)) - continue; - - print ""; - print ""; - - print ""; - - print ""; - - print ""; - - print ""; - - print ""; - - print ""; - } - print ''; - print ''; - print ''; - print ''; - - print ''; - print "
EmailÜzenetDátumDmp fájlTxt fájlMegjegyzésEredmény
"; - print $r->email; - print ""; - print $r->info; - print ""; - //print substr($r->datum,0,10); - print $r->datum; - print ""; - ?> - guid ?> - "; - - print ""; - echo 'Link...'; - - if (file_exists('/home/vendeg/crash/' . $r->guid . '.TXT')) { - $file = '/home/vendeg/crash/' . $r->guid . '.TXT'; - $searchfor = 'developer'; - $contents = file_get_contents($file); - $pattern = preg_quote($searchfor, '/'); - $pattern = "/^.*$pattern.*\$/m"; - if (preg_match_all($pattern, $contents, $matches)) { - echo "developer"; - } - - $searchfor = 'Product: render'; - $contents = file_get_contents($file); - $pattern = preg_quote($searchfor, '/'); - $pattern = "/^.*$pattern.*\$/m"; - if (preg_match_all($pattern, $contents, $matches)) { - echo "render"; - } - } - print ""; - echo ""; - print ""; - switch ($r->eredmeny) { - case '0': - echo ' - - '; - break; - - case '1': - echo ' - - '; - break; - - case '2': - echo ' - - '; - break; - - case '3': - echo ' - - '; - break; - case '4': - echo ' - - '; - break; - case '5': - echo ' - - '; - break; - case '6': - echo ' - - '; - break; - case '7': - echo ' - - '; - break; - } - print "
"; - ?> - - - -query($update) === FALSE) echo ''; + } + if ($_POST['listaid'] && isset($_POST['CbBoxValue'])) { + $listaid = substr($_POST['listaid'], 5); + $update = "UPDATE `www_archline_hu`.`crash` SET `eredmeny`='{$_POST['CbBoxValue']}' WHERE `id`='{$listaid}'"; + + if ($connection->query($update) === FALSE) echo ''; + } +} + + +function downloadFile($filename) +{ + if ($f = fopen($filename, "rb")) { + $content_len = (int) filesize($filename); + //@ini_set('zlib.output_compression', 'Off'); + header('Pragma: public'); + //header('Last-Modified: '.gmdate('D, d M Y H(idea)(worry)') . ' GMT'); + header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1 + header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 + header('Content-Transfer-Encoding: none'); + header('Content-Type: plain/text'); + header('Content-Disposition: inline; filename="' . $filename . '"'); + header("Content-length: $content_len"); + + while (!feof($f)) { + echo fread($f, 2 << 20); + } + fclose($f); + } else { + print "error opening file"; + } + exit(); +} + +if ($_SERVER['REMOTE_ADDR'] == '91.83.198.90') { + $path = "../public"; + $files = scandir($path); + + print_r($files); +} + +if (isset($_GET) && !empty($_GET)) { + $filepath = "/home/vendeg/crash/"; + $filepath .= $_GET["guid"]; + + /*if (!file_exists($filepath)) + $filepath = "../public/crash/".$_GET['guid'];*/ + //$filepath .= ".DMP"; + downloadFile($filepath); +} else { +?> + + + + + + + + + + + '; + if (isset($_SESSION["maxdate"]) || isset($_SESSION["mindate"]) || isset($_SESSION["lista"])) { + echo 'Dátum szűrés
-tól     -ig'; + } else { + echo 'Dátum szűrés
-tól     -ig'; + } + ?> +

+ Eredmény szűrő:
+ + +

+ +

+
+ + = '" . $_POST['datemin'] . "'"; + if (isset($_POST['datemax'])) $feltetel[] = "left(datum, 10) <= '" . $_POST['datemax'] . "'"; + if (isset($_POST['lista']) && $_POST['lista'] != "%") $feltetel[] = "`eredmeny` = " . $_POST['lista'] . ""; + if (isset($_POST['lista']) && $_POST['lista'] == "%") $feltetel[] = "1"; + if (isset($_POST['datemax']) || isset($_POST['datemin']) || isset($_POST['lezart'])) $query .= "WHERE " . implode(' AND ', $feltetel); + + $query .= " ORDER BY id DESC LIMIT 500"; + + print "
"; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + + $msh2->query($query); + $results = $msh2->fetchAssoc(); + + foreach ($results as $result) { + $r = (object)$result; + + $filepath = "/home/vendeg/crash/"; + $filepath .= $r->guid; + $filepath .= ".DMP"; + if (!file_exists($filepath)) + continue; + + print ""; + print ""; + + print ""; + + print ""; + + print ""; + + print ""; + + print ""; + + print ""; + } + print ''; + print ''; + print ''; + print ''; + + print ''; + print "
EmailÜzenetDátumDmp fájlTxt fájlMegjegyzésEredmény
"; + print $r->email; + print ""; + print $r->info; + print ""; + //print substr($r->datum,0,10); + print $r->datum; + print ""; + ?> + guid ?> + "; + + print ""; + echo 'Link...'; + + if (file_exists('/home/vendeg/crash/' . $r->guid . '.TXT')) { + $file = '/home/vendeg/crash/' . $r->guid . '.TXT'; + $searchfor = 'developer'; + $contents = file_get_contents($file); + $pattern = preg_quote($searchfor, '/'); + $pattern = "/^.*$pattern.*\$/m"; + if (preg_match_all($pattern, $contents, $matches)) { + echo "developer"; + } + + $searchfor = 'Product: render'; + $contents = file_get_contents($file); + $pattern = preg_quote($searchfor, '/'); + $pattern = "/^.*$pattern.*\$/m"; + if (preg_match_all($pattern, $contents, $matches)) { + echo "render"; + } + } + print ""; + echo ""; + print ""; + switch ($r->eredmeny) { + case '0': + echo ' + + '; + break; + + case '1': + echo ' + + '; + break; + + case '2': + echo ' + + '; + break; + + case '3': + echo ' + + '; + break; + case '4': + echo ' + + '; + break; + case '5': + echo ' + + '; + break; + case '6': + echo ' + + '; + break; + case '7': + echo ' + + '; + break; + } + print "
"; + ?> + + + + \ No newline at end of file diff --git a/cadline/docroot/crm_hardlock.class.php b/cadline/docroot/crm_hardlock.class.php index 6ad795ba..da874636 100644 --- a/cadline/docroot/crm_hardlock.class.php +++ b/cadline/docroot/crm_hardlock.class.php @@ -1,652 +1,652 @@ - array('9500549300568130',9,1), // mar eladva - '950055' => array('9500559300623371',9,1), - '950056' => array('9500569300901666',9,1), - '950057' => array('9500579300292771',9,1), - '950058' => array('9500589300939891',9,1), - '950059' => array('9500599300308525',9,1), - '950060' => array('9500609300502875',9,1), - '950061' => array('9500619300525057',9,1), - '950062' => array('9500629300291068',9,1), - '950063' => array('9500639300800628',9,1), - '950064' => array('9500649300993926',9,1), - - // 2013 standard - normal - '980104' => array('9801047300709739',7,0), - '980105' => array('9801057300249936',7,0), - '980106' => array('9801067300119100',7,0), - '980107' => array('9801077300009403',7,0), - '980108' => array('9801087300176636',7,0), - '980109' => array('9801097300173361',7,0), - '980110' => array('9801107300987491',7,0), - '980111' => array('9801117300041608',7,0), - '980112' => array('9801127300907455',7,0), - - // 2013 studio - normal - '980113' => array('9801136300019297',6,0), - '980114' => array('9801146300953568',6,0), - '980115' => array('9801156300054608',6,0), - '980116' => array('9801166300387538',6,0), - '980117' => array('9801176300559245',6,0), - '980118' => array('9801186300983875',6,0), - '980119' => array('9801196300445516',6,0), - '980120' => array('9801206300502309',6,0), - '980121' => array('9801216300152005',6,0) - ); - - public static $win10creator_old_isid; - - public function __construct() - { - self::$aktivalasihibak = $GLOBALS['aktivalasihibak']; - self::$kulcsprverzio = $GLOBALS['kulcsprverzio']; - self::$win10creator_old_isid = $GLOBALS['win10creator_old_isid']; - } - - public static function IsValidPassword($password) - { - if ($password=="") return false; - - $ph = popen(PATH_CODEGEN." -IsValidPassword ".$password, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); - $result = fgets($ph, 1024); - pclose($ph); - - return ($result == 'true'); - } - - public static function IsValidTimeCode($idokod) - { - if ($idokod=="") return false; - - $ph = popen(PATH_CODEGEN." -IsValidDealerCode ".$idokod, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); - $result = fgets($ph, 1024); - pclose($ph); - - return ($result == 'true'); - } - - public static function GetDayFromTimeCode($idokod) - { - $command = PATH_CODEGEN." -ParseTimeCode " . $idokod; - $ph = popen($command, "r"); - $result = fgets($ph, 1024); - $result = (int)$result; - pclose($ph); - - return $result; - } - - public static function GetIsidFromTimeCode($idokod) - { - if(!self::IsValidTimeCode($idokod)) - return ''; - $arrIdokod=explode("-", $idokod); - return $arrIdokod[1]; - } - - public static function GetVeridFromPassword($password) - { - return substr($password, 7, 2); - } - - public static function GetTypeFromPassword($password) - { - return substr($password, 6, 1); - } - - public static function GeneratePassword($hlNum, $lan, $type, $version) - { - $country = substr($hlNum, 0, 2); - $number = substr($hlNum, 2, 4); - $type = (int)substr($type,0,1); - - $command = PATH_CODEGEN." -Password " . $country . $number . $version . $lan . $type; - $ph = popen($command, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); - $password = fgets($ph, 1024); - pclose($ph); - return $password; - } - - public static function GenerateTimeCode($pass,$isid,$numOfDays) - { - $command=PATH_CODEGEN." -GenerateTimeCode ".$pass." ".$isid." ".$numOfDays; - $ph=popen($command, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat"); - $aktkod=fgets($ph, 1024); - pclose($ph); - return ($aktkod); - } - - public static function IsLiveKey($serial="") - { - return (substr($serial, 6,1) == 'L'); - } - - public static function IsSoftwareKey($serial="") - { - if ($serial=="") return false; - - $ph = popen(PATH_CODEGEN." -IsSoftwareKey ".$serial, "r") or die("A 'codegen' paranccsal nem veheto fel kapcsolat"); - $szoftveres = fgets($ph, 1024); - - return ($szoftveres == 'true'); - } - - public static function AddOrUpdateComputer($npID) - { - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`computers` WHERE `computer_id`='".$npID."' LIMIT 1;"); - $res4=crm_database::getInstance()->fetchAssoc(); - - if(empty($res4)){ - $comp=array( - 'computer_id'=>$npID, - 'last_mod'=>date('Y-m-d',time())); - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`computers`",$comp); - return crm_database::getInstance()->getInsertedId(); - } else { - crm_database::getInstance()->update("`".CRMADATBAZIS."`.`computers`",array('last_mod'=>date('Y-m-d',time())),array('computer_id'=>$npID)); - return $res4[0]['id']; - } - } - - public static function AddHardlockComputer($hlnum, $compid, $verid) - { - if($verid >= 36) { - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`hardlock_computers` WHERE hlNum='".$hlnum."' AND computer_id='".$compid."' LIMIT 1;"); - $res=crm_database::getInstance()->fetchAssoc(); - - if(empty($res)) { - $comp=array( - 'hlNum'=>$hlnum, - 'computer_id'=>$compid); - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`hardlock_computers`",$comp); - } - } - } - - public static function AddToDebugTable($message) - { - $debug=array( - 'data'=>$message, - 'insert_date'=>date('Y-m-d H:i:s')); - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`debug_table`",$debug); - } - - public static function AddNonprofit($tomb=array()) - { - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`nonprofit`",$tomb); - } - - public static function AddHardlock($tomb=array()) - { - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`hardlock`",$tomb); - } - - public static function AddProgram($tomb=array()) - { - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`h_programs`",$tomb); - } - - public static function GetTheFirstNotUsedHlNumFromInterval($minHlNum=0,$maxHlNum=0) - { - $ret=0; - if ((int)$minHlNum==0 || (int)$maxHlNum==0) return($ret); - crm_database::getInstance()->query("SELECT LEFT(hlNum,6) AS hlNum FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlStat!=0 AND hlNum>=".(int)$minHlNum." AND hlNum<".(int)$maxHlNum." ORDER BY hlNum;"); - $res=crm_database::getInstance()->fetchAssoc(); - - if (count($res)) - { - $allHlNums=range($minHlNum, $maxHlNum); - foreach ($res as $r) { $usedHlNums[]=$r['hlNum']; } - $notUsedHlNums=array_diff($allHlNums,$usedHlNums); - reset($notUsedHlNums); - $ret=current($notUsedHlNums); - } - else - { - $ret=0; - } - - return $ret; - } - - public static function GetVersion($tomb=array()) - { - $ret=array(); - if (is_array($tomb) && count($tomb)) { - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`p_versions` WHERE `".key($tomb) ."`='".current($tomb)."' LIMIT 1;"); - $ret=crm_database::getInstance()->fetchAssoc(); - return ($ret[0]); - } - return ($ret); - } - - function _Hibajelento($kuldo,$kulcs,$hiba="",$arrGCData=array(),$usstatid=NULL) - { - $tomb=array( - "kulcs"=>$kulcs, - "kuldo"=>$kuldo, - "leiras"=>$hiba, - "statusz"=>"uj", - "datum"=>date('Y-m-d H:i:s',time()), - "ip"=>$_SERVER['REMOTE_ADDR']); - - if (isset($usstatid) && (int)$usstatid>0) - $tomb['usID']=$usstatid; - - if (count($arrGCData)) { - if (isset($arrGCData['usGCMan'])) $tomb['usGCMan']=trim($arrGCData['usGCMan']); // graphic card manufacture - if (isset($arrGCData['usGCType'])) $tomb['usGCType']=trim($arrGCData['usGCType']); // graphic card type - if (isset($arrGCData['usGCDriverVer'])) $tomb['usGCDriverVer']=trim($arrGCData['usGCDriverVer']); // graphic card driver version - } - - crm_database::getInstance()->insert(CRMADATBAZIS.'.h_aktivalas_infok',$tomb); - } - - public static function _Getaktivalasikod($serial,$isid="",$idokod="") - { - $voltures = false; - - // van-e olyan aktiv program aminek ez a sorozatszama // a/b kulcsok miatt - crm_database::getInstance()->query("SELECT prID, prStat, prActCode, prSellDate FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='{$serial}'"); - $ered2 = crm_database::getInstance()->fetchAssoc(); - - if(!$ered2) - return "error: nincs ilyen password"; - - $szoftveres = self::IsSoftwareKey($serial); // Szoftveres-e 2019 - - crm_database::getInstance()->query("SELECT hlStat, hlID FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".substr($serial,0,6)."'"); - $res=crm_database::getInstance()->fetchAssoc(); - $kulcs=$res[0]; - - if($kulcs['hlStat']!=1) { // a kulcs aktiv-e - $valasz = "error: nem aktiv a program"; - } else { // egyeb hiba - if($kulcs['hlID'] == 64300 || $kulcs['hlID'] == 64897) { //ba Namirial Trial program kulcsa es BIMLadder program kulcsa - $valasz = "error: hianyzo kod"; - return $valasz; - } else { - foreach($ered2 as $program) { - if ($program['prSellDate'] == "0000-00-00" || $program['prSellDate'] == NULL ) { // van-e eladasi datum - $valasz = "error: nincs vasarlasi idopont"; - } elseif ($program['prActCode'] != "") { // neki megfelelo aktivalasi kod - if ($szoftveres) { - self::$win10creator_old_isid=substr($program['prActCode'],5,4); - - $isidOK = (substr($program['prActCode'],5,4)==$isid); - if(!$isidOK && substr($program['prActCode'],7,2) == substr($isid,2,2)) { - $elteltnapok = 0; - sscanf(substr($idokod,11,2),'%02x',$elteltnapok); - $elteltnapok+=self::Convert(substr($idokod,10,1))*256; - - $engedelyezettnapok = 0; - sscanf(substr($program['prActCode'],11,2),'%02x',$engedelyezettnapok); - $engedelyezettnapok+=self::Convert(substr($program['prActCode'],10,1))*256; - - if($engedelyezettnapok > $elteltnapok ) { - $valasz = "error: win10 creator"; - break; - } - } - if ($isidOK) { - $valasz = $program['prActCode']; // aktualis aktivalasi kod - break; - } else { - $valasz = 'error: masik gep van regisztralva'; - } - } else { - $valasz = $program['prActCode']; // hardveres kulcs eseten egybol visszaadja az aktualis aktivalasi kodot - break; - } - } else { - $valasz = "error: hianyzo kod"; // nincs beirva a kod - $voltures = true; - } - } - } - } - - if ($voltures === true && $valasz == "error: masik gep van regisztralva") { // LAN-os szoftver kulcsos liszensznel ha ezt a liszenszt nem talaltuk de volt ures liszensz, akkor csinalja ezt - $valasz = "error: hianyzo kod"; - } - - // Kivetel: 30, 34, 39, 41, 43 kulcsok, amik soha nem kapnak tolunk automata hosszabbitast. - // csak a hibat adom vissza - if( self::_Get_aktkod($serial) === true || substr($valasz,0,5) == "error" ) { - return $valasz; - } else { - return; - } - } - - public static function _Get_aktkod($kulcs) - { - // isCodeReplyEnabled(hlNum:str(6)) - // 2017.12.13. F.Zs. - // Ezekre az esetekre ad vissza TRUE-t a fuggveny (version tabla 1182-es rekord): 30;34;36;38;40;41;42;43;44;47;48;49;82;88;93;94;95;97;98;99; - // 39 - Olaszorszag szandekosan hianyzik, amig a volume contract fennall! - if(self::IsLiveKey($kulcs)) { // A live-ok mindig kommunikalnak a szerverrel 2019 - return true; - } - $kulcs = substr($kulcs,0,6); - - // a lekerdezes vagy egy mezot ad vissza ver_id=1182 vagy semmit - // pl: SELECT ver_id FROM `www_archline_hu`.`version` WHERE ver_id=1182 AND (`usertype` LIKE '%;360012;%' OR `usertype` LIKE '%;36;%' OR LEFT(`usertype`,3)='36;'); - crm_database::getInstance()->query("SELECT ver_id FROM `".JMLADATBAZIS."`.`version` WHERE ver_id=".ACT_VERSION_ID." AND (`usertype` LIKE '%;".$kulcs.";%' OR `usertype` LIKE '%;".substr($kulcs,0,2).";%' OR LEFT(`usertype`,3)='".substr($kulcs,0,2).";')"); - $res=crm_database::getInstance()->fetchAssoc(); - $re=(object)$res[0]; - - $ret=( (is_numeric($re->ver_id) && $re->ver_id>0) ? TRUE : FALSE); - return ($ret); - } - - public static function GetDayInterval($mettol, $meddig) - { - $command3 = PATH_CODEGEN." -DiffDay ".$mettol." ".$meddig; - $ph = popen($command3, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); - $napok = fgets($ph, 1024); - pclose($ph); - return $napok; - } - - public static function _Password_gen($hlNum, $lan, $type, $version = 64) - { - $country = substr($hlNum, 0, 2); - $number = substr($hlNum, 2, 4); - - if($type == 76) // Live - $type = 'L'; - else - $type = (int)substr($type,0,1); - - if(substr($hlNum,0,1)=="9") $lan=0; - //ba ez 2018.11.27.tol a bimladder trial kodja! if($country=='91') { return '9100014260913946'; } - - $command = PATH_CODEGEN." -Password " . $country . $number . $version . $lan . $type; - $ph = popen($command, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); - $password = fgets($ph, 1024); - pclose($ph); - - return $password; - } - - public static function _Ujtempprogram($adatbazis, $kulcs) - { - $hlNum = $kulcs->hlNum; - - if ($hlNum>'' && !array_key_exists($hlNum,self::$kulcsprverzio)) { - // hiba, nincs beallitva hogy mit hozzon letre - $err=array( - "osztaly"=>"version", - "fv"=>"_ujtempprogram", - "hiba"=>"Kulcs: {$hlNum}\nnincs beallitva hogy milyen programot hozzon letre", - "datum"=>date('Y-m-d H:i:s',time())); - crm_database::getInstance()->insert("`".JMLADATBAZIS."`.`a_hibak`",$err); - return; - } - - $adatok = self::$kulcsprverzio[$hlNum]; - $prTypeID = $adatok[1]; - $prContact = $adatok[2]; - $prVerCode = 70; // 2013-as program - $prVerID = 13; // 2013-as program - - $hlNum = $kulcs->hlNum; - $ctrID = $kulcs->hlCtrID; - $hlLan = $kulcs->hlLan; - - $password = self::_Password_gen($hlNum, $hlLan, $prTypeID, $prVerCode); - - // program felvetele - $ujprogram = array( - "prHlNum" => $hlNum, - "prTypeID" => $prTypeID, - "prSellDate" => date("Y-m-d"), - "prContact" => $prContact, - "prPass" => $password, - "prLan" => $hlLan, - "prLastMod" => date("Y-m-d H:i:s"), - "prVerID" => $prVerID, - "prInfo" => "automatikusan letrehozva (weben), Share It", - "prCtrID" => $ctrID, - "prHiType" => 1 - ); - - crm_database::getInstance()->insert(CRMADATBAZIS.".h_programs",$ujprogram); - - $err2=array( - "osztaly"=>"version", - "fv"=>"_ujtempprogram", - "hiba"=>"Uj program letrehozva, Share It-es, kulcs: {$hlNum}", - "datum"=>date('Y-m-d H:i:s',time())); - crm_database::getInstance()->insert("`".JMLADATBAZIS."`.`a_hibak`",$err2); - - // szoftveres kulcsnal annyi program, ahany lanos - if (substr($hlNum,0,1)=="9" && $hlLan>1) { - for($i=1;$i<$hlLan;$i++) { - crm_database::getInstance()->insert(CRMADATBAZIS.".h_programs",$ujprogram); - } - } - - crm_database::getInstance()->insert(CRMADATBAZIS.".h_history",array( - "hiHlNum" => $hlNum, - "hiDate" => date("Y-m-d"), - "hiManID" => 0, - "hiTypeID" => 2, - "hiCtrID" => $ctrID - )); - - crm_database::getInstance()->update(CRMADATBAZIS.'.hardlock',array('hlStat'=>1),array('hlNum'=>$hlNum)); - return true; - } - - public static function Ujaktivalasikod2($serial,$isid,$idokod) - { - // ha uresek a parameterek, akkor az urlbol veszi - if(!$serial) $serial = ''.$_GET['serial']; // segment(3); - if(!$isid) $isid = ''.$_GET['isid']; // segment(4); - if(!$idokod) $idokod = ''.$_GET['kod']; // segment(5); - - // isid kiegeszitese - while(strlen($isid)<4) $isid = "0".$isid; - $szoftveres = self::IsSoftwareKey($serial); // Szoftveres-e 2019 - - $valasz = self::_Getaktivalasikod($serial,$isid,$idokod); - - // csak azok kapnak automatikusan kodot, akiknek megengedjuk vagy akiknel hiba van - if(self::_Get_aktkod($serial)!==true && ($valasz=='error: hianyzo kod' || !in_array($valasz,self::$aktivalasihibak))) { - // azoknal lep ki return-el, akiknek nem jar kod (pl. olaszok) es nincs veluk problema (nem kap error-t) - return; - } - - $elteltnap = self::GetDayFromTimeCode($idokod); - - if(!is_numeric($elteltnap) && $szoftveres) { - self::_Hibajelento("ujaktivalasikod2",substr($serial,0,6),"(megjegyzes) telepites idejet nem tudtam megallapitani (isid: {$isid}, idokod: {$idokod}, elteltnap: {$elteltnap})"); - $elteltnap = 0; // ennek itt semmi ertelme, mert return-al visszater $this->aktivalasihibak['not_act_prg'] - return 'error: nem aktiv regisztracio'; // - 2013. 10. 21. - } - $timeelteltnap = 60*60*24*$elteltnap; - - if($valasz == 'error: win10 creator') { - // aktivalasi kod torlese - crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`p_serial_isid` SET `isid`=NULL WHERE serial = '".$serial."' AND isid = '".self::$win10creator_old_isid."' LIMIT 1;"); - crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`h_programs` SET `prActCode`=NULL,`prActDate`=NULL WHERE `prPass`='".$serial."' AND SUBSTR(prActCode,6,4)='".self::$win10creator_old_isid."' LIMIT 1;"); - $valasz = 'error: hianyzo kod'; - } - - $namirialtrial = (substr($serial,0,6) == '930001'); - $bimladdertrial = (substr($serial,0,6) == '910001'); - - // a paros benne van-e a tablaban, regisztralva van-e - crm_database::getInstance()->query("SELECT id, aktiv, datum FROM `".CRMADATBAZIS."`.`p_serial_isid` WHERE serial='{$serial}' AND isid ='{$isid}' ORDER BY datum DESC"); - $ered=crm_database::getInstance()->fetchAssoc(); - - if(!$namirialtrial && !$bimladdertrial) { - if(count($ered)!=1) { // regisztraljuk ha nincs benne es meg van szabad regisztracio (lan-os) - // a max(hlLan) ertelmetlen, mivel a hardlock tablaban a hlNum az egyedi azonosito is, igy ertelmetlen a csoportositas - - /* ez a blokk be kell keruljon az if ($szoftveres) agon belulre */ - crm_database::getInstance()->query("SELECT max(hlLan) hlLan FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".substr($serial,0,6)."'"); - $res=crm_database::getInstance()->fetchAssoc(); - $querydb=$res[0]; - - $maxtelepites = ($querydb['hlLan']==0) ? 1 : $querydb['hlLan']; - crm_database::getInstance()->query("SELECT id FROM `".CRMADATBAZIS."`.`p_serial_isid` WHERE serial='{$serial}' AND isid!='' AND isid IS NOT NULL"); - $telepitett = crm_database::getInstance()->fetchAssoc(); - - /* ez a blokk be kell keruljon az if ($szoftveres) agon belulre */ - if($szoftveres && count($telepitett)>=$maxtelepites) { - $ret=($querydb['hlLan']>1 ? "error: tul sok telepites" : "error: masik gep van regisztralva"); - return ($ret); - } - - $regtelepites = date('Y-m-d H:i:s',(time())-$timeelteltnap); - crm_database::getInstance()->insert(CRMADATBAZIS.'.p_serial_isid',array( - "serial"=>$serial, - "isid"=>$isid, - "kod"=>$idokod, - "datum"=>$regtelepites, - "ip"=>$_SERVER['REMOTE_ADDR'], - "aktiv"=>1)); - } elseif($ered[0]['aktiv']!=1) { - return "error: nem aktiv regisztracio"; - } else { - $regtelepites = substr($ered[0]['datum'],0,10); - } - } - - // ha Share-It-es meg nem letezo program - if($valasz == "error: nincs ilyen password" && $serial>'' && array_key_exists(substr($serial,0,6),self::$kulcsprverzio)) { - crm_database::getInstance()->query("SELECT * FROM ".CRMADATBAZIS.".hardlock WHERE hlNum='".substr($serial,0,6)."'"); - $res=crm_database::getInstance()->fetchAssoc(); - $kulcs=(object)$res[0]; - self::_Ujtempprogram(CRMADATBAZIS, $kulcs); - $valasz = "error: hianyzo kod"; - } - - // ha nincs aktivalasi kodja, akkor generalni neki - if($valasz == "error: hianyzo kod") { - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='{$serial}'"); - $res=crm_database::getInstance()->fetchAssoc(); - $program=(object)$res[0]; - - if($namirialtrial || $bimladdertrial) { - $timeMettol = time()-$timeelteltnap; - $mettol = date('Y-m-d',$timeMettol); - if($program->prFizetve) { - $fizetvetime = strtotime($program->prFizetve); - $meddig = date('Y-m-d',$fizetvetime); // vege - telepites - } else { - return "error: nincs kifizetve"; - } - - $napok = self::GetDayInterval($mettol, $meddig); - - $aktkod = self::GenerateTimeCode($serial, $isid, $napok); - - $aktkod=(self::IsValidTimeCode($aktkod) ? $aktkod : ''); - return $aktkod; - } else { - $timeszerzodes = strtotime($program->prSellDate); - $timetelepites = time()-$timeelteltnap; - $maxtelepites = max($timeszerzodes,$timetelepites); - $maxdatetelepites = date('Y-m-d',$maxtelepites); - - if(!$szoftveres && $program->prSellDate!='' && $program->prSellDate!='0000-00-00') { - $maxdatetelepites = substr($program->prSellDate,0,10); - } - - if($program->prFizetve) { - $fizetvetime = strtotime($program->prFizetve); - $meddig = date('Y-m-d',$fizetvetime); // vege - telepites - } elseif (substr($serial,0,2)=="99" || ($serial>'' && array_key_exists(substr($serial,0,6),self::$kulcsprverzio))) { - $meddig = date('Y-m-d',time() + 30*24*60*60); // eloszor 30 napot kap - } else { - return "error: nincs kifizetve"; - } - - // mostani ido nagyobb mint ameddig jar - if( date('Y-m-d',time()) > $meddig ) { - return $valasz; - } - - $napok = self::GetDayInterval($maxdatetelepites, $meddig); - - if($serial>'' && array_key_exists(substr($serial,0,6),self::$kulcsprverzio)) - $napok = 30; - if($meddig == '2050-01-01') - $napok=3583; - - $aktkod = self::GenerateTimeCode($serial, $isid, $napok); - - $aktkod=(self::IsValidTimeCode($aktkod) ? $aktkod : ''); - - $serial = trim(addslashes($serial)); - - crm_database::getInstance()->query("SELECT hlCtrID FROM ".CRMADATBAZIS.".hardlock WHERE hlNum='".substr($serial,0,6)."'"); - $res=crm_database::getInstance()->fetchAssoc(); - $hl=(object)$res[0]; - $hlctrid = $hl->hlCtrID; - - crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`h_programs` SET `prActCode`='{$aktkod}', prActDate='{$maxdatetelepites}', prFizetve='{$meddig}' WHERE `prPass`='{$serial}' AND (prActCode='' OR prActCode IS NULL) LIMIT 1"); - - // internetes aktivalas esem�ny - crm_database::getInstance()->insert(CRMADATBAZIS.".h_history",array( - "hiHlNum"=>$program->prHlNum, - "hiDate"=>date('Y-m-d',time()), - "hiManID"=>0, - "hiTypeID"=>16, - "hiTime"=>date('Y-m-d H:i:s',time()), - )); - - self::_Hibajelento("ujaktivalasikod2",substr($serial,0,6),"felvettem: {$query}"); - } - return $aktkod; - } - - return $valasz; - } - - public static function Convert($betu) - { - $ret=0; - switch (strtoupper($betu)) - { - case 'A' : { $ret=0; break; } - case 'B' : { $ret=1; break; } - case 'C' : { $ret=2; break; } - case 'D' : { $ret=3; break; } - case 'E' : { $ret=4; break; } - case 'F' : { $ret=5; break; } - case 'G' : { $ret=6; break; } - case 'H' : { $ret=7; break; } - case 'I' : { $ret=8; break; } - case 'J' : { $ret=9; break; } - case 'K' : { $ret=10; break; } - case 'L' : { $ret=11; break; } - case 'M' : { $ret=12; break; } - case 'N' : { $ret=13; break; } - } - return ($ret); - } -} + array('9500549300568130',9,1), // mar eladva + '950055' => array('9500559300623371',9,1), + '950056' => array('9500569300901666',9,1), + '950057' => array('9500579300292771',9,1), + '950058' => array('9500589300939891',9,1), + '950059' => array('9500599300308525',9,1), + '950060' => array('9500609300502875',9,1), + '950061' => array('9500619300525057',9,1), + '950062' => array('9500629300291068',9,1), + '950063' => array('9500639300800628',9,1), + '950064' => array('9500649300993926',9,1), + + // 2013 standard - normal + '980104' => array('9801047300709739',7,0), + '980105' => array('9801057300249936',7,0), + '980106' => array('9801067300119100',7,0), + '980107' => array('9801077300009403',7,0), + '980108' => array('9801087300176636',7,0), + '980109' => array('9801097300173361',7,0), + '980110' => array('9801107300987491',7,0), + '980111' => array('9801117300041608',7,0), + '980112' => array('9801127300907455',7,0), + + // 2013 studio - normal + '980113' => array('9801136300019297',6,0), + '980114' => array('9801146300953568',6,0), + '980115' => array('9801156300054608',6,0), + '980116' => array('9801166300387538',6,0), + '980117' => array('9801176300559245',6,0), + '980118' => array('9801186300983875',6,0), + '980119' => array('9801196300445516',6,0), + '980120' => array('9801206300502309',6,0), + '980121' => array('9801216300152005',6,0) + ); + + public static $win10creator_old_isid; + + public function __construct() + { + self::$aktivalasihibak = $GLOBALS['aktivalasihibak']; + self::$kulcsprverzio = $GLOBALS['kulcsprverzio']; + self::$win10creator_old_isid = $GLOBALS['win10creator_old_isid']; + } + + public static function IsValidPassword($password) + { + if ($password=="") return false; + + $ph = popen(PATH_CODEGEN." -IsValidPassword ".$password, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); + $result = fgets($ph, 1024); + pclose($ph); + + return ($result == 'true'); + } + + public static function IsValidTimeCode($idokod) + { + if ($idokod=="") return false; + + $ph = popen(PATH_CODEGEN." -IsValidDealerCode ".$idokod, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); + $result = fgets($ph, 1024); + pclose($ph); + + return ($result == 'true'); + } + + public static function GetDayFromTimeCode($idokod) + { + $command = PATH_CODEGEN." -ParseTimeCode " . $idokod; + $ph = popen($command, "r"); + $result = fgets($ph, 1024); + $result = (int)$result; + pclose($ph); + + return $result; + } + + public static function GetIsidFromTimeCode($idokod) + { + if(!self::IsValidTimeCode($idokod)) + return ''; + $arrIdokod=explode("-", $idokod); + return $arrIdokod[1]; + } + + public static function GetVeridFromPassword($password) + { + return substr($password, 7, 2); + } + + public static function GetTypeFromPassword($password) + { + return substr($password, 6, 1); + } + + public static function GeneratePassword($hlNum, $lan, $type, $version) + { + $country = substr($hlNum, 0, 2); + $number = substr($hlNum, 2, 4); + $type = (int)substr($type,0,1); + + $command = PATH_CODEGEN." -Password " . $country . $number . $version . $lan . $type; + $ph = popen($command, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); + $password = fgets($ph, 1024); + pclose($ph); + return $password; + } + + public static function GenerateTimeCode($pass,$isid,$numOfDays) + { + $command=PATH_CODEGEN." -GenerateTimeCode ".$pass." ".$isid." ".$numOfDays; + $ph=popen($command, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat"); + $aktkod=fgets($ph, 1024); + pclose($ph); + return ($aktkod); + } + + public static function IsLiveKey($serial="") + { + return (substr($serial, 6,1) == 'L'); + } + + public static function IsSoftwareKey($serial="") + { + if ($serial=="") return false; + + $ph = popen(PATH_CODEGEN." -IsSoftwareKey ".$serial, "r") or die("A 'codegen' paranccsal nem veheto fel kapcsolat"); + $szoftveres = fgets($ph, 1024); + + return ($szoftveres == 'true'); + } + + public static function AddOrUpdateComputer($npID) + { + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`computers` WHERE `computer_id`='".$npID."' LIMIT 1;"); + $res4=crm_database::getInstance()->fetchAssoc(); + + if(empty($res4)){ + $comp=array( + 'computer_id'=>$npID, + 'last_mod'=>date('Y-m-d',time())); + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`computers`",$comp); + return crm_database::getInstance()->getInsertedId(); + } else { + crm_database::getInstance()->update("`".CRMADATBAZIS."`.`computers`",array('last_mod'=>date('Y-m-d',time())),array('computer_id'=>$npID)); + return $res4[0]['id']; + } + } + + public static function AddHardlockComputer($hlnum, $compid, $verid) + { + if($verid >= 36) { + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`hardlock_computers` WHERE hlNum='".$hlnum."' AND computer_id='".$compid."' LIMIT 1;"); + $res=crm_database::getInstance()->fetchAssoc(); + + if(empty($res)) { + $comp=array( + 'hlNum'=>$hlnum, + 'computer_id'=>$compid); + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`hardlock_computers`",$comp); + } + } + } + + public static function AddToDebugTable($message) + { + $debug=array( + 'data'=>$message, + 'insert_date'=>date('Y-m-d H:i:s')); + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`debug_table`",$debug); + } + + public static function AddNonprofit($tomb=array()) + { + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`nonprofit`",$tomb); + } + + public static function AddHardlock($tomb=array()) + { + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`hardlock`",$tomb); + } + + public static function AddProgram($tomb=array()) + { + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`h_programs`",$tomb); + } + + public static function GetTheFirstNotUsedHlNumFromInterval($minHlNum=0,$maxHlNum=0) + { + $ret=0; + if ((int)$minHlNum==0 || (int)$maxHlNum==0) return($ret); + crm_database::getInstance()->query("SELECT LEFT(hlNum,6) AS hlNum FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlStat!=0 AND hlNum>=".(int)$minHlNum." AND hlNum<".(int)$maxHlNum." ORDER BY hlNum;"); + $res=crm_database::getInstance()->fetchAssoc(); + + if (count($res)) + { + $allHlNums=range($minHlNum, $maxHlNum); + foreach ($res as $r) { $usedHlNums[]=$r['hlNum']; } + $notUsedHlNums=array_diff($allHlNums,$usedHlNums); + reset($notUsedHlNums); + $ret=current($notUsedHlNums); + } + else + { + $ret=0; + } + + return $ret; + } + + public static function GetVersion($tomb=array()) + { + $ret=array(); + if (is_array($tomb) && count($tomb)) { + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`p_versions` WHERE `".key($tomb) ."`='".current($tomb)."' LIMIT 1;"); + $ret=crm_database::getInstance()->fetchAssoc(); + return ($ret[0]); + } + return ($ret); + } + + function _Hibajelento($kuldo,$kulcs,$hiba="",$arrGCData=array(),$usstatid=NULL) + { + $tomb=array( + "kulcs"=>$kulcs, + "kuldo"=>$kuldo, + "leiras"=>$hiba, + "statusz"=>"uj", + "datum"=>date('Y-m-d H:i:s',time()), + "ip"=>$_SERVER['REMOTE_ADDR']); + + if (isset($usstatid) && (int)$usstatid>0) + $tomb['usID']=$usstatid; + + if (count($arrGCData)) { + if (isset($arrGCData['usGCMan'])) $tomb['usGCMan']=trim($arrGCData['usGCMan']); // graphic card manufacture + if (isset($arrGCData['usGCType'])) $tomb['usGCType']=trim($arrGCData['usGCType']); // graphic card type + if (isset($arrGCData['usGCDriverVer'])) $tomb['usGCDriverVer']=trim($arrGCData['usGCDriverVer']); // graphic card driver version + } + + crm_database::getInstance()->insert(CRMADATBAZIS.'.h_aktivalas_infok',$tomb); + } + + public static function _Getaktivalasikod($serial,$isid="",$idokod="") + { + $voltures = false; + + // van-e olyan aktiv program aminek ez a sorozatszama // a/b kulcsok miatt + crm_database::getInstance()->query("SELECT prID, prStat, prActCode, prSellDate FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='{$serial}'"); + $ered2 = crm_database::getInstance()->fetchAssoc(); + + if(!$ered2) + return "error: nincs ilyen password"; + + $szoftveres = self::IsSoftwareKey($serial); // Szoftveres-e 2019 + + crm_database::getInstance()->query("SELECT hlStat, hlID FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".substr($serial,0,6)."'"); + $res=crm_database::getInstance()->fetchAssoc(); + $kulcs=$res[0]; + + if($kulcs['hlStat']!=1) { // a kulcs aktiv-e + $valasz = "error: nem aktiv a program"; + } else { // egyeb hiba + if($kulcs['hlID'] == 64300 || $kulcs['hlID'] == 64897) { //ba Namirial Trial program kulcsa es BIMLadder program kulcsa + $valasz = "error: hianyzo kod"; + return $valasz; + } else { + foreach($ered2 as $program) { + if ($program['prSellDate'] == "0000-00-00" || $program['prSellDate'] == NULL ) { // van-e eladasi datum + $valasz = "error: nincs vasarlasi idopont"; + } elseif ($program['prActCode'] != "") { // neki megfelelo aktivalasi kod + if ($szoftveres) { + self::$win10creator_old_isid=substr($program['prActCode'],5,4); + + $isidOK = (substr($program['prActCode'],5,4)==$isid); + if(!$isidOK && substr($program['prActCode'],7,2) == substr($isid,2,2)) { + $elteltnapok = 0; + sscanf(substr($idokod,11,2),'%02x',$elteltnapok); + $elteltnapok+=self::Convert(substr($idokod,10,1))*256; + + $engedelyezettnapok = 0; + sscanf(substr($program['prActCode'],11,2),'%02x',$engedelyezettnapok); + $engedelyezettnapok+=self::Convert(substr($program['prActCode'],10,1))*256; + + if($engedelyezettnapok > $elteltnapok ) { + $valasz = "error: win10 creator"; + break; + } + } + if ($isidOK) { + $valasz = $program['prActCode']; // aktualis aktivalasi kod + break; + } else { + $valasz = 'error: masik gep van regisztralva'; + } + } else { + $valasz = $program['prActCode']; // hardveres kulcs eseten egybol visszaadja az aktualis aktivalasi kodot + break; + } + } else { + $valasz = "error: hianyzo kod"; // nincs beirva a kod + $voltures = true; + } + } + } + } + + if ($voltures === true && $valasz == "error: masik gep van regisztralva") { // LAN-os szoftver kulcsos liszensznel ha ezt a liszenszt nem talaltuk de volt ures liszensz, akkor csinalja ezt + $valasz = "error: hianyzo kod"; + } + + // Kivetel: 30, 34, 39, 41, 43 kulcsok, amik soha nem kapnak tolunk automata hosszabbitast. + // csak a hibat adom vissza + if( self::_Get_aktkod($serial) === true || substr($valasz,0,5) == "error" ) { + return $valasz; + } else { + return; + } + } + + public static function _Get_aktkod($kulcs) + { + // isCodeReplyEnabled(hlNum:str(6)) + // 2017.12.13. F.Zs. + // Ezekre az esetekre ad vissza TRUE-t a fuggveny (version tabla 1182-es rekord): 30;34;36;38;40;41;42;43;44;47;48;49;82;88;93;94;95;97;98;99; + // 39 - Olaszorszag szandekosan hianyzik, amig a volume contract fennall! + if(self::IsLiveKey($kulcs)) { // A live-ok mindig kommunikalnak a szerverrel 2019 + return true; + } + $kulcs = substr($kulcs,0,6); + + // a lekerdezes vagy egy mezot ad vissza ver_id=1182 vagy semmit + // pl: SELECT ver_id FROM `www_archline_hu`.`version` WHERE ver_id=1182 AND (`usertype` LIKE '%;360012;%' OR `usertype` LIKE '%;36;%' OR LEFT(`usertype`,3)='36;'); + crm_database::getInstance()->query("SELECT ver_id FROM `".JMLADATBAZIS."`.`version` WHERE ver_id=".ACT_VERSION_ID." AND (`usertype` LIKE '%;".$kulcs.";%' OR `usertype` LIKE '%;".substr($kulcs,0,2).";%' OR LEFT(`usertype`,3)='".substr($kulcs,0,2).";')"); + $res=crm_database::getInstance()->fetchAssoc(); + $re=(object)$res[0]; + + $ret=( (is_numeric($re->ver_id) && $re->ver_id>0) ? TRUE : FALSE); + return ($ret); + } + + public static function GetDayInterval($mettol, $meddig) + { + $command3 = PATH_CODEGEN." -DiffDay ".$mettol." ".$meddig; + $ph = popen($command3, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); + $napok = fgets($ph, 1024); + pclose($ph); + return $napok; + } + + public static function _Password_gen($hlNum, $lan, $type, $version = 64) + { + $country = substr($hlNum, 0, 2); + $number = substr($hlNum, 2, 4); + + if($type == 76) // Live + $type = 'L'; + else + $type = (int)substr($type,0,1); + + if(substr($hlNum,0,1)=="9") $lan=0; + //ba ez 2018.11.27.tol a bimladder trial kodja! if($country=='91') { return '9100014260913946'; } + + $command = PATH_CODEGEN." -Password " . $country . $number . $version . $lan . $type; + $ph = popen($command, "r") or die( "A 'codegen' paranccsal nem veheto fel kapcsolat" ); + $password = fgets($ph, 1024); + pclose($ph); + + return $password; + } + + public static function _Ujtempprogram($adatbazis, $kulcs) + { + $hlNum = $kulcs->hlNum; + + if ($hlNum>'' && !array_key_exists($hlNum,self::$kulcsprverzio)) { + // hiba, nincs beallitva hogy mit hozzon letre + $err=array( + "osztaly"=>"version", + "fv"=>"_ujtempprogram", + "hiba"=>"Kulcs: {$hlNum}\nnincs beallitva hogy milyen programot hozzon letre", + "datum"=>date('Y-m-d H:i:s',time())); + crm_database::getInstance()->insert("`".JMLADATBAZIS."`.`a_hibak`",$err); + return; + } + + $adatok = self::$kulcsprverzio[$hlNum]; + $prTypeID = $adatok[1]; + $prContact = $adatok[2]; + $prVerCode = 70; // 2013-as program + $prVerID = 13; // 2013-as program + + $hlNum = $kulcs->hlNum; + $ctrID = $kulcs->hlCtrID; + $hlLan = $kulcs->hlLan; + + $password = self::_Password_gen($hlNum, $hlLan, $prTypeID, $prVerCode); + + // program felvetele + $ujprogram = array( + "prHlNum" => $hlNum, + "prTypeID" => $prTypeID, + "prSellDate" => date("Y-m-d"), + "prContact" => $prContact, + "prPass" => $password, + "prLan" => $hlLan, + "prLastMod" => date("Y-m-d H:i:s"), + "prVerID" => $prVerID, + "prInfo" => "automatikusan letrehozva (weben), Share It", + "prCtrID" => $ctrID, + "prHiType" => 1 + ); + + crm_database::getInstance()->insert(CRMADATBAZIS.".h_programs",$ujprogram); + + $err2=array( + "osztaly"=>"version", + "fv"=>"_ujtempprogram", + "hiba"=>"Uj program letrehozva, Share It-es, kulcs: {$hlNum}", + "datum"=>date('Y-m-d H:i:s',time())); + crm_database::getInstance()->insert("`".JMLADATBAZIS."`.`a_hibak`",$err2); + + // szoftveres kulcsnal annyi program, ahany lanos + if (substr($hlNum,0,1)=="9" && $hlLan>1) { + for($i=1;$i<$hlLan;$i++) { + crm_database::getInstance()->insert(CRMADATBAZIS.".h_programs",$ujprogram); + } + } + + crm_database::getInstance()->insert(CRMADATBAZIS.".h_history",array( + "hiHlNum" => $hlNum, + "hiDate" => date("Y-m-d"), + "hiManID" => 0, + "hiTypeID" => 2, + "hiCtrID" => $ctrID + )); + + crm_database::getInstance()->update(CRMADATBAZIS.'.hardlock',array('hlStat'=>1),array('hlNum'=>$hlNum)); + return true; + } + + public static function Ujaktivalasikod2($serial,$isid,$idokod) + { + // ha uresek a parameterek, akkor az urlbol veszi + if(!$serial) $serial = ''.$_GET['serial']; // segment(3); + if(!$isid) $isid = ''.$_GET['isid']; // segment(4); + if(!$idokod) $idokod = ''.$_GET['kod']; // segment(5); + + // isid kiegeszitese + while(strlen($isid)<4) $isid = "0".$isid; + $szoftveres = self::IsSoftwareKey($serial); // Szoftveres-e 2019 + + $valasz = self::_Getaktivalasikod($serial,$isid,$idokod); + + // csak azok kapnak automatikusan kodot, akiknek megengedjuk vagy akiknel hiba van + if(self::_Get_aktkod($serial)!==true && ($valasz=='error: hianyzo kod' || !in_array($valasz,self::$aktivalasihibak))) { + // azoknal lep ki return-el, akiknek nem jar kod (pl. olaszok) es nincs veluk problema (nem kap error-t) + return; + } + + $elteltnap = self::GetDayFromTimeCode($idokod); + + if(!is_numeric($elteltnap) && $szoftveres) { + self::_Hibajelento("ujaktivalasikod2",substr($serial,0,6),"(megjegyzes) telepites idejet nem tudtam megallapitani (isid: {$isid}, idokod: {$idokod}, elteltnap: {$elteltnap})"); + $elteltnap = 0; // ennek itt semmi ertelme, mert return-al visszater $this->aktivalasihibak['not_act_prg'] + return 'error: nem aktiv regisztracio'; // - 2013. 10. 21. + } + $timeelteltnap = 60*60*24*$elteltnap; + + if($valasz == 'error: win10 creator') { + // aktivalasi kod torlese + crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`p_serial_isid` SET `isid`=NULL WHERE serial = '".$serial."' AND isid = '".self::$win10creator_old_isid."' LIMIT 1;"); + crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`h_programs` SET `prActCode`=NULL,`prActDate`=NULL WHERE `prPass`='".$serial."' AND SUBSTR(prActCode,6,4)='".self::$win10creator_old_isid."' LIMIT 1;"); + $valasz = 'error: hianyzo kod'; + } + + $namirialtrial = (substr($serial,0,6) == '930001'); + $bimladdertrial = (substr($serial,0,6) == '910001'); + + // a paros benne van-e a tablaban, regisztralva van-e + crm_database::getInstance()->query("SELECT id, aktiv, datum FROM `".CRMADATBAZIS."`.`p_serial_isid` WHERE serial='{$serial}' AND isid ='{$isid}' ORDER BY datum DESC"); + $ered=crm_database::getInstance()->fetchAssoc(); + + if(!$namirialtrial && !$bimladdertrial) { + if(count($ered)!=1) { // regisztraljuk ha nincs benne es meg van szabad regisztracio (lan-os) + // a max(hlLan) ertelmetlen, mivel a hardlock tablaban a hlNum az egyedi azonosito is, igy ertelmetlen a csoportositas + + /* ez a blokk be kell keruljon az if ($szoftveres) agon belulre */ + crm_database::getInstance()->query("SELECT max(hlLan) hlLan FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".substr($serial,0,6)."'"); + $res=crm_database::getInstance()->fetchAssoc(); + $querydb=$res[0]; + + $maxtelepites = ($querydb['hlLan']==0) ? 1 : $querydb['hlLan']; + crm_database::getInstance()->query("SELECT id FROM `".CRMADATBAZIS."`.`p_serial_isid` WHERE serial='{$serial}' AND isid!='' AND isid IS NOT NULL"); + $telepitett = crm_database::getInstance()->fetchAssoc(); + + /* ez a blokk be kell keruljon az if ($szoftveres) agon belulre */ + if($szoftveres && count($telepitett)>=$maxtelepites) { + $ret=($querydb['hlLan']>1 ? "error: tul sok telepites" : "error: masik gep van regisztralva"); + return ($ret); + } + + $regtelepites = date('Y-m-d H:i:s',(time())-$timeelteltnap); + crm_database::getInstance()->insert(CRMADATBAZIS.'.p_serial_isid',array( + "serial"=>$serial, + "isid"=>$isid, + "kod"=>$idokod, + "datum"=>$regtelepites, + "ip"=>$_SERVER['REMOTE_ADDR'], + "aktiv"=>1)); + } elseif($ered[0]['aktiv']!=1) { + return "error: nem aktiv regisztracio"; + } else { + $regtelepites = substr($ered[0]['datum'],0,10); + } + } + + // ha Share-It-es meg nem letezo program + if($valasz == "error: nincs ilyen password" && $serial>'' && array_key_exists(substr($serial,0,6),self::$kulcsprverzio)) { + crm_database::getInstance()->query("SELECT * FROM ".CRMADATBAZIS.".hardlock WHERE hlNum='".substr($serial,0,6)."'"); + $res=crm_database::getInstance()->fetchAssoc(); + $kulcs=(object)$res[0]; + self::_Ujtempprogram(CRMADATBAZIS, $kulcs); + $valasz = "error: hianyzo kod"; + } + + // ha nincs aktivalasi kodja, akkor generalni neki + if($valasz == "error: hianyzo kod") { + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='{$serial}'"); + $res=crm_database::getInstance()->fetchAssoc(); + $program=(object)$res[0]; + + if($namirialtrial || $bimladdertrial) { + $timeMettol = time()-$timeelteltnap; + $mettol = date('Y-m-d',$timeMettol); + if($program->prFizetve) { + $fizetvetime = strtotime($program->prFizetve); + $meddig = date('Y-m-d',$fizetvetime); // vege - telepites + } else { + return "error: nincs kifizetve"; + } + + $napok = self::GetDayInterval($mettol, $meddig); + + $aktkod = self::GenerateTimeCode($serial, $isid, $napok); + + $aktkod=(self::IsValidTimeCode($aktkod) ? $aktkod : ''); + return $aktkod; + } else { + $timeszerzodes = strtotime($program->prSellDate); + $timetelepites = time()-$timeelteltnap; + $maxtelepites = max($timeszerzodes,$timetelepites); + $maxdatetelepites = date('Y-m-d',$maxtelepites); + + if(!$szoftveres && $program->prSellDate!='' && $program->prSellDate!='0000-00-00') { + $maxdatetelepites = substr($program->prSellDate,0,10); + } + + if($program->prFizetve) { + $fizetvetime = strtotime($program->prFizetve); + $meddig = date('Y-m-d',$fizetvetime); // vege - telepites + } elseif (substr($serial,0,2)=="99" || ($serial>'' && array_key_exists(substr($serial,0,6),self::$kulcsprverzio))) { + $meddig = date('Y-m-d',time() + 30*24*60*60); // eloszor 30 napot kap + } else { + return "error: nincs kifizetve"; + } + + // mostani ido nagyobb mint ameddig jar + if( date('Y-m-d',time()) > $meddig ) { + return $valasz; + } + + $napok = self::GetDayInterval($maxdatetelepites, $meddig); + + if($serial>'' && array_key_exists(substr($serial,0,6),self::$kulcsprverzio)) + $napok = 30; + if($meddig == '2050-01-01') + $napok=3583; + + $aktkod = self::GenerateTimeCode($serial, $isid, $napok); + + $aktkod=(self::IsValidTimeCode($aktkod) ? $aktkod : ''); + + $serial = trim(addslashes($serial)); + + crm_database::getInstance()->query("SELECT hlCtrID FROM ".CRMADATBAZIS.".hardlock WHERE hlNum='".substr($serial,0,6)."'"); + $res=crm_database::getInstance()->fetchAssoc(); + $hl=(object)$res[0]; + $hlctrid = $hl->hlCtrID; + + crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`h_programs` SET `prActCode`='{$aktkod}', prActDate='{$maxdatetelepites}', prFizetve='{$meddig}' WHERE `prPass`='{$serial}' AND (prActCode='' OR prActCode IS NULL) LIMIT 1"); + + // internetes aktivalas esem�ny + crm_database::getInstance()->insert(CRMADATBAZIS.".h_history",array( + "hiHlNum"=>$program->prHlNum, + "hiDate"=>date('Y-m-d',time()), + "hiManID"=>0, + "hiTypeID"=>16, + "hiTime"=>date('Y-m-d H:i:s',time()), + )); + + self::_Hibajelento("ujaktivalasikod2",substr($serial,0,6),"felvettem: {$query}"); + } + return $aktkod; + } + + return $valasz; + } + + public static function Convert($betu) + { + $ret=0; + switch (strtoupper($betu)) + { + case 'A' : { $ret=0; break; } + case 'B' : { $ret=1; break; } + case 'C' : { $ret=2; break; } + case 'D' : { $ret=3; break; } + case 'E' : { $ret=4; break; } + case 'F' : { $ret=5; break; } + case 'G' : { $ret=6; break; } + case 'H' : { $ret=7; break; } + case 'I' : { $ret=8; break; } + case 'J' : { $ret=9; break; } + case 'K' : { $ret=10; break; } + case 'L' : { $ret=11; break; } + case 'M' : { $ret=12; break; } + case 'N' : { $ret=13; break; } + } + return ($ret); + } +} ?> \ No newline at end of file diff --git a/cadline/docroot/iskolak/.htaccess b/cadline/docroot/iskolak/.htaccess index 9b40104c..74285637 100644 --- a/cadline/docroot/iskolak/.htaccess +++ b/cadline/docroot/iskolak/.htaccess @@ -1,3 +1,3 @@ -RewriteEngine On -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^([^\.]+)$ $1.php [NC,L] +RewriteEngine On +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule ^([^\.]+)$ $1.php [NC,L] diff --git a/cadline/docroot/iskolak/index.php b/cadline/docroot/iskolak/index.php index 309d926b..92481073 100644 --- a/cadline/docroot/iskolak/index.php +++ b/cadline/docroot/iskolak/index.php @@ -1,325 +1,325 @@ -query($query, array('i', $school_id)); -$courses = Database::getInstance()->fetchAssoc(); - -define('_JEXEC', 1); -define('JPATH_BASE', '..'); -require_once(JPATH_BASE . '/includes/defines.php'); -require_once(JPATH_BASE . '/includes/framework.php'); - -if ($_SERVER['HTTP_HOST'] == 'www.archline.hu') - require_once('language/hu-HU.lang.php'); -else - require_once('language/en-GB.lang.php'); - -$course_end = $home['end_of_course']; -?> - - - - - - - - - - - - - - - - - <?= $home['home_page'] ?> - - - - - - - -
- -
-
-
- -
-
- "; - foreach ($courses as $course) { - $begin = str_replace('-', '.', $course["from"]); - $end = str_replace('-', '.', $course["vegzes_ideje"]); - $c_end = str_replace('-', '.', $course["to"]); - $c_name = $course["name"]; - $c_id = $course["id"]; - - if ($course['is_archive'] == 0) - echo ""; - else - echo ""; - } - echo ""; - ?> - -
- -
-
- -
-
-
-
- - -
- - - - " /> - - - - -
- -
-
- -
- -
-
- -
- -
-
-
- -
- - -
- -
-
- -
- - - - - - - - - - - - - -
#
-
-
- -
- - - - - - - - - - - - +query($query, array('i', $school_id)); +$courses = Database::getInstance()->fetchAssoc(); + +define('_JEXEC', 1); +define('JPATH_BASE', '..'); +require_once(JPATH_BASE . '/includes/defines.php'); +require_once(JPATH_BASE . '/includes/framework.php'); + +if ($_SERVER['HTTP_HOST'] == 'www.archline.hu') + require_once('language/hu-HU.lang.php'); +else + require_once('language/en-GB.lang.php'); + +$course_end = $home['end_of_course']; +?> + + + + + + + + + + + + + + + + + <?= $home['home_page'] ?> + + + + + + + +
+ +
+
+
+ +
+
+ "; + foreach ($courses as $course) { + $begin = str_replace('-', '.', $course["from"]); + $end = str_replace('-', '.', $course["vegzes_ideje"]); + $c_end = str_replace('-', '.', $course["to"]); + $c_name = $course["name"]; + $c_id = $course["id"]; + + if ($course['is_archive'] == 0) + echo ""; + else + echo ""; + } + echo ""; + ?> + +
+ +
+
+ +
+
+
+
+ + +
+ +
+ + " /> + + +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ + +
+ +
+
+ +
+ + + + + + + + + + + + + +
#
+
+
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cadline/docroot/iskolak/language/en-GB.lang.php b/cadline/docroot/iskolak/language/en-GB.lang.php index 7639538c..fbdf1823 100644 --- a/cadline/docroot/iskolak/language/en-GB.lang.php +++ b/cadline/docroot/iskolak/language/en-GB.lang.php @@ -1,44 +1,44 @@ - \ No newline at end of file diff --git a/cadline/docroot/iskolak/process.php b/cadline/docroot/iskolak/process.php index 0bf6b794..75762e9b 100644 --- a/cadline/docroot/iskolak/process.php +++ b/cadline/docroot/iskolak/process.php @@ -1,335 +1,335 @@ -setCourseID($course_id); - $studentsArray = $student->getAllStudents($search, $courses); - - echo json_encode($studentsArray); - break; - } - - case 'readEmailRecord': { - $course_id = isset($_POST['course_id']) ? $_POST['course_id'] : ''; - if (!isset($course_id) || $course_id == '') { - echo json_encode($process['wrong_course']); - die(); - } - - $student->setCourseID($course_id); - $studentsArray = $student->getAllStudents($search, []); - - echo json_encode($studentsArray); - break; - } - - case 'create': { // Insert a new student - $course_id = isset($_POST['course_id']) ? $_POST['course_id'] : ''; - if (!isset($course_id) || $course_id == '') { - echo json_encode($process['wrong_course']); - die(); - } - - $name = $_POST["name"]; - $email = $_POST["email"]; - $phone = $_POST["phone"]; - $school_id = $_POST["schoolid"]; - - $student->setCourseID($course_id); - $course = $student->getCourseByID(); - - $sql = "SELECT * FROM `" . CRMADATBAZIS . "`.`students` WHERE email = ?"; - $student->query($sql, array('s', $email)); - $students = $student->fetchNext(); - - if (!empty($students)) { - if ($student->studentInOtherSchool($school_id, $students['school_id'])) - echo json_encode($process['other_school']); - else - echo json_encode($process['user_already']); - die(); - } - - $student->setName($name); - $student->setEmail($email); - $student->setPhone($phone); - $student->setSchoolID($school_id); - $student->setCourseID($course_id); - $student->setEndDate($course["vegzes_ideje"]); - $student->setSchool(); - $student->setCourse(); - $student->addStudent(); - - if ($student->getnUserID() == null) { - echo json_encode($process['user_failed']); - die(); - } - - $student->generateStudentPassword(); - break; - } - - case 'delete': { // Delete the selected student - if (isset($_POST['deletedid'])) $student->deleteStudent($_POST['deletedid']); - break; - } - - case 'details': { // Get the selected student's details - if (isset($_POST["editid"])) { - $userid = $_POST["editid"]; - $response = array(); - $student->getStudent($_POST["editid"], $response); - - echo json_encode($response); - } else { - $response["status"] = 200; - $response["message"] = "Invalid Request!"; - } - break; - } - - case 'update': { // Edit the selected student - if (isset($_POST["hidden_user_id"])) { - $userid = $_POST["hidden_user_id"]; - $name = $_POST["name"]; - $email = $_POST["email"]; - $phone = $_POST["phone"]; - $course_id = $_POST["course_id"]; - $status = $_POST["status"]; - $isDelete = $_POST["isDelete"] == "Y"; - - $student->setCourseID($course_id); - $course = $student->getCourseByID(); - - $student->setSchoolID($course['school_id']); - $school = $student->getSchoolByID(); - - $begin = str_replace('-', '.', $course["begin"]); - $end = str_replace('-', '.', $course["vegzes_ideje"]); - $strEducation = $school['username'] . " " . $course['course_code'] . " " . $begin . " - " . $end; - - $student->setName($name); - $student->setEmail($email); - $student->setPhone($phone); - $student->setSchoolID($course['school_id']); - $student->setnSchoolID($school['nSchoolID']); - $student->setCourseID($course_id); - $student->setEndDate($course["vegzes_ideje"]); - $student->setEducation($strEducation); - $student->setSchool(); - $student->setCourse(); - $student->setStatus($status); - $student->updateStudent($userid, $isDelete); - } - break; - } - - case 'sendEmail': { // Send email to the selected students - if (isset($_POST['selected'])) { - $selected = json_decode(stripslashes($_POST['selected'])); - $school_id = $_POST['school_id']; - $course_id = $_POST['course_id']; - $isSend = array(); - $error = false; - - $student->setSchoolID($school_id); - $student->setCourseID($course_id); - $student->setSchool(); - $student->setCourse(); - - require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/libraries/phpmailer/PHPMailerAutoload.php'); - require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/config.mail.php'); - - $mail = new PHPMailer(); - - $mail->isSMTP(); - - $mail->CharSet = 'UTF-8'; - $mail->Host = $mailconfig['Host']; - $mail->Port = $mailconfig['Port']; - $mail->SMTPAuth = true; - $mail->SMTPKeepAlive = true; - - $mail->Username = $mailconfig['Username']; - $mail->Password = $mailconfig['Password']; - - if ($student->schoolEmail != '') { - foreach ($selected as $student_id) { - $student->sendDistributorEmail($student_id, $error, $isSend, $student->schoolEmail, $mail); - } - - echo json_encode($isSend); - die(); - } - - foreach ($selected as $student_id) { - if ($_SERVER['HTTP_HOST'] == 'www.archline.hu') - $student->sendEmail($student_id, $error, $isSend, $mail); - else - $student->sendEngEmail($student_id, $error, $isSend, $mail); - } - - $msg = ""; - if ($error) { - $to = "marketing@cadline.hu"; - $subject = 'Email küldés hiba'; - $headers = 'MIME-Version: 1.0' . "\r\n"; - $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; - $headers .= "From: mate.nagy@cadline.hu" . "\r\n"; - - $counter = 0; - $msg .= "A következő email címekre nem ment ki a levél: "; - - foreach ($isSend as $email) { - if ($counter == 0) - $msg .= $email; - else - $msg .= ', ' . $email; - - $counter++; - } - mail($to, $subject, $msg, $headers); - } - echo json_encode($isSend); - } else { - echo json_encode($process['email_failed']); - } - break; - } - - case 'excel_export': { - require_once 'library/SimpleXLSXGen.php'; - - $courses = array(); - $course_id = $_POST['excel_c_id']; - $search = ''; - - $student->setCourseID($course_id); - - $studentsArray = $student->getAllStudents($search, $courses); - $school = $student->getSchoolByCourse(); - - $header = array(); - - if ($_SERVER['HTTP_HOST'] == 'www.archline.hu') - $header = array('Név', 'Email', 'Telefonszám', 'Státusz', 'ARCHLine.XP Sorozatszám', 'Program indítások'); - else - $header = array('Name', 'Email', 'Telephone Number', 'Status', 'ARCHLine.XP Serial Number', 'Program Starts'); - - $students = array($header); - $pwd = ''; - - foreach ($studentsArray as $stud) { - if (preg_match('/>(.*?)getProgramStarts($pwd); - $status = $student->getStudentStatus($stud['status']); - $studentDatas = array($stud['name'], $stud['email'], $stud['phone'], $status, $pwd, $starts); - array_push($students, $studentDatas); - } - - $xlsx = Shuchkin\SimpleXLSXGen::fromArray($students); - $xlsx->setDefaultFontSize(14); - $xlsx->downloadAs($school['school_name'] . '_' . $school['course_name'] . '.xlsx'); - break; - } - - case 'excel_import': { // Import students from XLSX file - if (isset($_POST['schoolid'])) { - require_once 'library/SimpleXLSX.php'; - - $school_id = $_POST["schoolid"]; - $course_id = $_POST["course_id"]; - $values = array(); - $error = array(); - $xlsx = SimpleXLSX::parse($_FILES['file']['tmp_name']); - - foreach ($xlsx->rows() as $k => $v) { - if ($k == 0) continue; - - $values[] = array( - 'name' => $v[0], - 'email' => $v[1], - 'phone' => $v[2] - ); - } - - $student->setSchoolID($school_id); - $student->setCourseID($course_id); - $student->setSchool(); - $student->setCourse(); - $course = $student->getCourseByID(); - - foreach ($values as $stud) { - $name = $stud['name']; - $email = str_replace(' ', '', $stud["email"]); - $phone = $stud["phone"]; - - if ($name == '') continue; - - if (is_numeric($name)) { - array_push($error, $process['number_name'] . ": " . $name); - continue; - } - - if ($email == '') { - array_push($error, $process['missing_email'] . ": " . $name); - continue; - } - - if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { - array_push($error, $process['invalid_email'] . ": " . $email); - continue; - } - - $sql = "SELECT * FROM `" . CRMADATBAZIS . "`.`students` WHERE email = ?"; - $student->query($sql, array('s', $email)); - $students = $student->fetchNext(); - - if (!empty($students)) { - if ($student->studentInOtherSchool($school_id, $students['school_id'])) - array_push($error, $process['other_school'] . ": " . $email); - else - array_push($error, $process['email_already'] . ": " . $email); - continue; - } - - $student->setName($name); - $student->setEmail($email); - $student->setPhone($phone); - $student->setEndDate($course["vegzes_ideje"]); - $student->addStudent(); - - if ($student->getnUserID() == null) { - array_push($error, $process['user_failed'] . ": " . $email); - continue; - } - $student->generateStudentPassword(); - } - - echo json_encode($error); - } - break; - } - } -} +setCourseID($course_id); + $studentsArray = $student->getAllStudents($search, $courses); + + echo json_encode($studentsArray); + break; + } + + case 'readEmailRecord': { + $course_id = isset($_POST['course_id']) ? $_POST['course_id'] : ''; + if (!isset($course_id) || $course_id == '') { + echo json_encode($process['wrong_course']); + die(); + } + + $student->setCourseID($course_id); + $studentsArray = $student->getAllStudents($search, []); + + echo json_encode($studentsArray); + break; + } + + case 'create': { // Insert a new student + $course_id = isset($_POST['course_id']) ? $_POST['course_id'] : ''; + if (!isset($course_id) || $course_id == '') { + echo json_encode($process['wrong_course']); + die(); + } + + $name = $_POST["name"]; + $email = $_POST["email"]; + $phone = $_POST["phone"]; + $school_id = $_POST["schoolid"]; + + $student->setCourseID($course_id); + $course = $student->getCourseByID(); + + $sql = "SELECT * FROM `" . CRMADATBAZIS . "`.`students` WHERE email = ?"; + $student->query($sql, array('s', $email)); + $students = $student->fetchNext(); + + if (!empty($students)) { + if ($student->studentInOtherSchool($school_id, $students['school_id'])) + echo json_encode($process['other_school']); + else + echo json_encode($process['user_already']); + die(); + } + + $student->setName($name); + $student->setEmail($email); + $student->setPhone($phone); + $student->setSchoolID($school_id); + $student->setCourseID($course_id); + $student->setEndDate($course["vegzes_ideje"]); + $student->setSchool(); + $student->setCourse(); + $student->addStudent(); + + if ($student->getnUserID() == null) { + echo json_encode($process['user_failed']); + die(); + } + + $student->generateStudentPassword(); + break; + } + + case 'delete': { // Delete the selected student + if (isset($_POST['deletedid'])) $student->deleteStudent($_POST['deletedid']); + break; + } + + case 'details': { // Get the selected student's details + if (isset($_POST["editid"])) { + $userid = $_POST["editid"]; + $response = array(); + $student->getStudent($_POST["editid"], $response); + + echo json_encode($response); + } else { + $response["status"] = 200; + $response["message"] = "Invalid Request!"; + } + break; + } + + case 'update': { // Edit the selected student + if (isset($_POST["hidden_user_id"])) { + $userid = $_POST["hidden_user_id"]; + $name = $_POST["name"]; + $email = $_POST["email"]; + $phone = $_POST["phone"]; + $course_id = $_POST["course_id"]; + $status = $_POST["status"]; + $isDelete = $_POST["isDelete"] == "Y"; + + $student->setCourseID($course_id); + $course = $student->getCourseByID(); + + $student->setSchoolID($course['school_id']); + $school = $student->getSchoolByID(); + + $begin = str_replace('-', '.', $course["begin"]); + $end = str_replace('-', '.', $course["vegzes_ideje"]); + $strEducation = $school['username'] . " " . $course['course_code'] . " " . $begin . " - " . $end; + + $student->setName($name); + $student->setEmail($email); + $student->setPhone($phone); + $student->setSchoolID($course['school_id']); + $student->setnSchoolID($school['nSchoolID']); + $student->setCourseID($course_id); + $student->setEndDate($course["vegzes_ideje"]); + $student->setEducation($strEducation); + $student->setSchool(); + $student->setCourse(); + $student->setStatus($status); + $student->updateStudent($userid, $isDelete); + } + break; + } + + case 'sendEmail': { // Send email to the selected students + if (isset($_POST['selected'])) { + $selected = json_decode(stripslashes($_POST['selected'])); + $school_id = $_POST['school_id']; + $course_id = $_POST['course_id']; + $isSend = array(); + $error = false; + + $student->setSchoolID($school_id); + $student->setCourseID($course_id); + $student->setSchool(); + $student->setCourse(); + + require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/libraries/phpmailer/PHPMailerAutoload.php'); + require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/config.mail.php'); + + $mail = new PHPMailer(); + + $mail->isSMTP(); + + $mail->CharSet = 'UTF-8'; + $mail->Host = $mailconfig['Host']; + $mail->Port = $mailconfig['Port']; + $mail->SMTPAuth = true; + $mail->SMTPKeepAlive = true; + + $mail->Username = $mailconfig['Username']; + $mail->Password = $mailconfig['Password']; + + if ($student->schoolEmail != '') { + foreach ($selected as $student_id) { + $student->sendDistributorEmail($student_id, $error, $isSend, $student->schoolEmail, $mail); + } + + echo json_encode($isSend); + die(); + } + + foreach ($selected as $student_id) { + if ($_SERVER['HTTP_HOST'] == 'www.archline.hu') + $student->sendEmail($student_id, $error, $isSend, $mail); + else + $student->sendEngEmail($student_id, $error, $isSend, $mail); + } + + $msg = ""; + if ($error) { + $to = "marketing@cadline.hu"; + $subject = 'Email küldés hiba'; + $headers = 'MIME-Version: 1.0' . "\r\n"; + $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; + $headers .= "From: mate.nagy@cadline.hu" . "\r\n"; + + $counter = 0; + $msg .= "A következő email címekre nem ment ki a levél: "; + + foreach ($isSend as $email) { + if ($counter == 0) + $msg .= $email; + else + $msg .= ', ' . $email; + + $counter++; + } + mail($to, $subject, $msg, $headers); + } + echo json_encode($isSend); + } else { + echo json_encode($process['email_failed']); + } + break; + } + + case 'excel_export': { + require_once 'library/SimpleXLSXGen.php'; + + $courses = array(); + $course_id = $_POST['excel_c_id']; + $search = ''; + + $student->setCourseID($course_id); + + $studentsArray = $student->getAllStudents($search, $courses); + $school = $student->getSchoolByCourse(); + + $header = array(); + + if ($_SERVER['HTTP_HOST'] == 'www.archline.hu') + $header = array('Név', 'Email', 'Telefonszám', 'Státusz', 'ARCHLine.XP Sorozatszám', 'Program indítások'); + else + $header = array('Name', 'Email', 'Telephone Number', 'Status', 'ARCHLine.XP Serial Number', 'Program Starts'); + + $students = array($header); + $pwd = ''; + + foreach ($studentsArray as $stud) { + if (preg_match('/>(.*?)getProgramStarts($pwd); + $status = $student->getStudentStatus($stud['status']); + $studentDatas = array($stud['name'], $stud['email'], $stud['phone'], $status, $pwd, $starts); + array_push($students, $studentDatas); + } + + $xlsx = Shuchkin\SimpleXLSXGen::fromArray($students); + $xlsx->setDefaultFontSize(14); + $xlsx->downloadAs($school['school_name'] . '_' . $school['course_name'] . '.xlsx'); + break; + } + + case 'excel_import': { // Import students from XLSX file + if (isset($_POST['schoolid'])) { + require_once 'library/SimpleXLSX.php'; + + $school_id = $_POST["schoolid"]; + $course_id = $_POST["course_id"]; + $values = array(); + $error = array(); + $xlsx = SimpleXLSX::parse($_FILES['file']['tmp_name']); + + foreach ($xlsx->rows() as $k => $v) { + if ($k == 0) continue; + + $values[] = array( + 'name' => $v[0], + 'email' => $v[1], + 'phone' => $v[2] + ); + } + + $student->setSchoolID($school_id); + $student->setCourseID($course_id); + $student->setSchool(); + $student->setCourse(); + $course = $student->getCourseByID(); + + foreach ($values as $stud) { + $name = $stud['name']; + $email = str_replace(' ', '', $stud["email"]); + $phone = $stud["phone"]; + + if ($name == '') continue; + + if (is_numeric($name)) { + array_push($error, $process['number_name'] . ": " . $name); + continue; + } + + if ($email == '') { + array_push($error, $process['missing_email'] . ": " . $name); + continue; + } + + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { + array_push($error, $process['invalid_email'] . ": " . $email); + continue; + } + + $sql = "SELECT * FROM `" . CRMADATBAZIS . "`.`students` WHERE email = ?"; + $student->query($sql, array('s', $email)); + $students = $student->fetchNext(); + + if (!empty($students)) { + if ($student->studentInOtherSchool($school_id, $students['school_id'])) + array_push($error, $process['other_school'] . ": " . $email); + else + array_push($error, $process['email_already'] . ": " . $email); + continue; + } + + $student->setName($name); + $student->setEmail($email); + $student->setPhone($phone); + $student->setEndDate($course["vegzes_ideje"]); + $student->addStudent(); + + if ($student->getnUserID() == null) { + array_push($error, $process['user_failed'] . ": " . $email); + continue; + } + $student->generateStudentPassword(); + } + + echo json_encode($error); + } + break; + } + } +} diff --git a/cadline/docroot/iskolak/public/css/bootstrap.min.css b/cadline/docroot/iskolak/public/css/bootstrap.min.css index e1ebedba..ed02d73a 100755 --- a/cadline/docroot/iskolak/public/css/bootstrap.min.css +++ b/cadline/docroot/iskolak/public/css/bootstrap.min.css @@ -1,6 +1,6 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} \ No newline at end of file diff --git a/cadline/docroot/iskolak/public/css/main.css b/cadline/docroot/iskolak/public/css/main.css index ee8a83fb..b886de06 100755 --- a/cadline/docroot/iskolak/public/css/main.css +++ b/cadline/docroot/iskolak/public/css/main.css @@ -1,58 +1,58 @@ -#login-form { margin-top: 15%; } -#error_div, #error_div2 { display: none; } -#pelda_excel { margin-left: -46%; } -#excl_btn { margin-left: 73.5%; } -#file_input { margin-left: 73.5%; } -#h_div { margin-left: -2%; } -#loginbtn, .alert { margin-left: 1.3%; } -.disabled, .inactive { cursor: not-allowed !important; } -.modal-header { cursor: move; } - -#div_pagination { - width:100%; - margin-top:5px; - text-align:center; -} - -.button1 { - border-radius:3px; - border:0px; - background-color:mediumpurple; - color:white; - padding:10px 20px; - letter-spacing: 1px; -} - -#loading_gif { - position: absolute; - margin-left: 20%; -} - -#search_all { - width: 20px; - height: 20px; - margin-left: 20px; - margin-top: 10px; -} - -#search-txt { - margin-left: 5px; - margin-top: 8px; -} - -#archiv_text { - display: none; -} - -@media only screen and (max-width: 600px) { - #pelda_excel { margin-left: -85% !important; } - #excl_btn { margin-left: 0% !important; } - #email_btn { margin-top: 5% !important; } - #h_div { margin-top: 5% !important; } - #file_input { margin-left: 0% !important; } - #h_div { margin-left: 0% !important; } -} - -@media only screen and (min-width: 600px) { - #export-form { position: absolute; } +#login-form { margin-top: 15%; } +#error_div, #error_div2 { display: none; } +#pelda_excel { margin-left: -46%; } +#excl_btn { margin-left: 73.5%; } +#file_input { margin-left: 73.5%; } +#h_div { margin-left: -2%; } +#loginbtn, .alert { margin-left: 1.3%; } +.disabled, .inactive { cursor: not-allowed !important; } +.modal-header { cursor: move; } + +#div_pagination { + width:100%; + margin-top:5px; + text-align:center; +} + +.button1 { + border-radius:3px; + border:0px; + background-color:mediumpurple; + color:white; + padding:10px 20px; + letter-spacing: 1px; +} + +#loading_gif { + position: absolute; + margin-left: 20%; +} + +#search_all { + width: 20px; + height: 20px; + margin-left: 20px; + margin-top: 10px; +} + +#search-txt { + margin-left: 5px; + margin-top: 8px; +} + +#archiv_text { + display: none; +} + +@media only screen and (max-width: 600px) { + #pelda_excel { margin-left: -85% !important; } + #excl_btn { margin-left: 0% !important; } + #email_btn { margin-top: 5% !important; } + #h_div { margin-top: 5% !important; } + #file_input { margin-left: 0% !important; } + #h_div { margin-left: 0% !important; } +} + +@media only screen and (min-width: 600px) { + #export-form { position: absolute; } } \ No newline at end of file diff --git a/cadline/docroot/iskolak/public/js/bootstrap.min.js b/cadline/docroot/iskolak/public/js/bootstrap.min.js index b13ae6bf..ccde3f4b 100644 --- a/cadline/docroot/iskolak/public/js/bootstrap.min.js +++ b/cadline/docroot/iskolak/public/js/bootstrap.min.js @@ -1,6 +1,6 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:''}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t-1)n=new Date(parseInt(e.substr(6),10));else if(e){for(o=t.split(/[\s,-\.\/\/\:]+/),(i=e.split(/[\s]+/)).length!=o.length&&(i=e.split(/[\s,-\.\/\/\:]+/)),a=0;a-1?l=parseInt(i[a],10):["m","mm"].indexOf(o[a])>-1?s=parseInt(i[a],10)-1:"mmm"===o[a]?s=gj.core.messages[r||"en-us"].monthShortNames.indexOf(i[a]):"mmmm"===o[a]?s=gj.core.messages[r||"en-us"].monthNames.indexOf(i[a]):["yy","yyyy"].indexOf(o[a])>-1?(d=parseInt(i[a],10),"yy"===o[a]&&(d+=2e3)):["h","hh","H","HH"].indexOf(o[a])>-1?c=parseInt(i[a],10):["M","MM"].indexOf(o[a])>-1&&(g=parseInt(i[a],10));n=new Date(d,s,l,c,g)}}else"number"==typeof e?n=new Date(e):e instanceof Date&&(n=e);return n},formatDate:function(e,t,r){var a,o,n="",d=t.split(/[\s,-\.\/\/\:]+/),s=t.split(/s+|M+|H+|h+|t+|T+|d+|m+|y+/);for(s=s.splice(1,s.length-2),i=0;i12?e.getHours()%12:e.getHours())+a;break;case"hh":o=e.getHours()>12?e.getHours()%12:e.getHours(),n+=gj.core.pad(o)+a;break;case"tt":n+=(e.getHours()>=12?"pm":"am")+a;break;case"TT":n+=(e.getHours()>=12?"PM":"AM")+a;break;case"d":n+=e.getDate()+a;break;case"dd":n+=gj.core.pad(e.getDate())+a;break;case"ddd":n+=gj.core.messages[r||"en-us"].weekDaysShort[e.getDay()]+a;break;case"dddd":n+=gj.core.messages[r||"en-us"].weekDays[e.getDay()]+a;break;case"m":n+=e.getMonth()+1+a;break;case"mm":n+=gj.core.pad(e.getMonth()+1)+a;break;case"mmm":n+=gj.core.messages[r||"en-us"].monthShortNames[e.getMonth()]+a;break;case"mmmm":n+=gj.core.messages[r||"en-us"].monthNames[e.getMonth()]+a;break;case"yy":n+=e.getFullYear().toString().substr(2)+a;break;case"yyyy":n+=e.getFullYear()+a}return n},pad:function(e,t){for(e=String(e),t=t||2;e.length0?t:0),e.css("top",r>0?r:0)},isIE:function(){return!!navigator.userAgent.match(/Trident/g)||!!navigator.userAgent.match(/MSIE/g)},setChildPosition:function(e,t){var r=e.getBoundingClientRect(),a=gj.core.height(e,!0),i=gj.core.height(t,!0),o=gj.core.width(e,!0),n=gj.core.width(t,!0),d=window.scrollY||window.pageYOffset||0,s=window.scrollX||window.pageXOffset||0;r.top+a+i>window.innerHeight&&r.top>i?t.style.top=Math.round(r.top+d-i-3)+"px":t.style.top=Math.round(r.top+d+a+3)+"px",r.left+n>document.body.clientWidth?t.style.left=Math.round(r.left+s+o-n)+"px":t.style.left=Math.round(r.left+s)+"px"},height:function(e,t){var r,a=window.getComputedStyle(e);return"border-box"===a.boxSizing?(r=parseInt(a.height,10),gj.core.isIE()&&(r+=parseInt(a.paddingTop||0,10)+parseInt(a.paddingBottom||0,10),r+=parseInt(a.borderTopWidth||0,10)+parseInt(a.borderBottomWidth||0,10))):(r=parseInt(a.height,10),r+=parseInt(a.paddingTop||0,10)+parseInt(a.paddingBottom||0,10),r+=parseInt(a.borderTopWidth||0,10)+parseInt(a.borderBottomWidth||0,10)),t&&(r+=parseInt(a.marginTop||0,10)+parseInt(a.marginBottom||0,10)),r},width:function(e,t){var r,a=window.getComputedStyle(e);return"border-box"===a.boxSizing?r=parseInt(a.width,10):(r=parseInt(a.width,10),r+=parseInt(a.paddingLeft||0,10)+parseInt(a.paddingRight||0,10),r+=parseInt(a.borderLeftWidth||0,10)+parseInt(a.borderRightWidth||0,10)),t&&(r+=parseInt(a.marginLeft||0,10)+parseInt(a.marginRight||0,10)),r},addClasses:function(e,t){var r,a;if(t)for(a=t.split(" "),r=0;re.clientHeight?e:gj.core.getScrollParent(e.parentNode)}},gj.picker={messages:{"en-us":{}}},gj.picker.methods={initialize:function(e,t,r){var a,i=r.createPicker(e,t),o=e.parent('div[role="wrapper"]');(a="bootstrap"===t.uiLibrary?$(''+t.icons.rightIcon+""):"bootstrap4"===t.uiLibrary?$('"):$(t.icons.rightIcon)).attr("role","right-icon"),0===o.length?(o=$('
').addClass(t.style.wrapper),e.wrap(o)):o.addClass(t.style.wrapper),o=e.parent('div[role="wrapper"]'),t.width&&o.css("width",t.width),e.val(t.value).addClass(t.style.input).attr("role","input"),t.fontSize&&e.css("font-size",t.fontSize),"bootstrap"===t.uiLibrary||"bootstrap4"===t.uiLibrary?"small"===t.size?(o.addClass("input-group-sm"),e.addClass("form-control-sm")):"large"===t.size&&(o.addClass("input-group-lg"),e.addClass("form-control-lg")):"small"===t.size?o.addClass("small"):"large"===t.size&&o.addClass("large"),a.on("click",function(t){i.is(":visible")?e.close():e.open()}),o.append(a),!0!==t.footer&&(e.on("blur",function(){e.timeout=setTimeout(function(){e.close()},500)}),i.mousedown(function(){return clearTimeout(e.timeout),e.focus(),!1}),i.on("click",function(){clearTimeout(e.timeout),e.focus()}))}},gj.picker.widget=function(e,t){var r=gj.picker.methods;return this.destroy=function(){return r.destroy(this)},e},gj.picker.widget.prototype=new gj.widget,gj.picker.widget.constructor=gj.picker.widget,gj.picker.widget.prototype.init=function(e,t,r){return gj.widget.prototype.init.call(this,e,t),this.attr("data-"+t,"true"),gj.picker.methods.initialize(this,this.data(),gj[t].methods),this},gj.picker.widget.prototype.open=function(e){var t=this.data(),r=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return r.show(),r.closest('div[role="modal"]').show(),t.modal?gj.core.center(r):(gj.core.setChildPosition(this[0],r[0]),this.focus()),clearTimeout(this.timeout),gj[e].events.open(this),this},gj.picker.widget.prototype.close=function(e){var t=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return t.hide(),t.closest('div[role="modal"]').hide(),gj[e].events.close(this),this},gj.picker.widget.prototype.destroy=function(e){var t=this.data(),r=this.parent(),a=$("body").find('[role="picker"][guid="'+this.attr("data-guid")+'"]');return t&&(this.off(),a.parent('[role="modal"]').length>0&&a.unwrap(),a.remove(),this.removeData(),this.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-"+e),this.removeClass(),r.children('[role="right-icon"]').remove(),this.unwrap()),this},gj.dialog={plugins:{},messages:{}},gj.dialog.config={base:{autoOpen:!0,closeButtonInHeader:!0,closeOnEscape:!0,draggable:!0,height:"auto",locale:"en-us",maxHeight:void 0,maxWidth:void 0,minHeight:void 0,minWidth:void 0,modal:!1,resizable:!1,scrollable:!1,title:void 0,uiLibrary:void 0,width:300,style:{modal:"gj-modal",content:"gj-dialog-md",header:"gj-dialog-md-header gj-unselectable",headerTitle:"gj-dialog-md-title",headerCloseButton:"gj-dialog-md-close",body:"gj-dialog-md-body",footer:"gj-dialog-footer gj-dialog-md-footer"}},bootstrap:{style:{modal:"modal",content:"modal-content gj-dialog-bootstrap",header:"modal-header",headerTitle:"modal-title",headerCloseButton:"close",body:"modal-body",footer:"gj-dialog-footer modal-footer"}},bootstrap4:{style:{modal:"modal",content:"modal-content gj-dialog-bootstrap4",header:"modal-header",headerTitle:"modal-title",headerCloseButton:"close",body:"modal-body",footer:"gj-dialog-footer modal-footer"}}},gj.dialog.events={initialized:function(e){e.trigger("initialized")},opening:function(e){e.trigger("opening")},opened:function(e){e.trigger("opened")},closing:function(e){e.trigger("closing")},closed:function(e){e.trigger("closed")},drag:function(e){e.trigger("drag")},dragStart:function(e){e.trigger("dragStart")},dragStop:function(e){e.trigger("dragStop")},resize:function(e){e.trigger("resize")},resizeStart:function(e){e.trigger("resizeStart")},resizeStop:function(e){e.trigger("resizeStop")}},gj.dialog.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"dialog"),gj.dialog.methods.localization(this),gj.dialog.methods.initialize(this),gj.dialog.events.initialized(this),this},localization:function(e){var t=e.data();void 0===t.title&&(t.title=gj.dialog.messages[t.locale].DefaultTitle)},getHTMLConfig:function(){var e=gj.widget.prototype.getHTMLConfig.call(this),t=this[0].attributes;return t.title&&(e.title=t.title.value),e},initialize:function(e){var t,r,a,i=e.data();e.addClass(i.style.content),gj.dialog.methods.setSize(e),i.closeOnEscape&&$(document).keyup(function(t){27===t.keyCode&&e.close()}),0===(r=e.children('div[data-role="body"]')).length?(r=$('
').addClass(i.style.body),e.wrapInner(r)):r.addClass(i.style.body),t=gj.dialog.methods.renderHeader(e),a=e.children('div[data-role="footer"]').addClass(i.style.footer),e.find('[data-role="close"]').on("click",function(){e.close()}),gj.draggable&&(i.draggable&&gj.dialog.methods.draggable(e,t),i.resizable&&gj.dialog.methods.resizable(e)),i.scrollable&&i.height&&(e.addClass("gj-dialog-scrollable"),e.on("opened",function(){e.children('div[data-role="body"]').css("height",i.height-t.outerHeight()-(a.length?a.outerHeight():0))})),gj.core.center(e),i.modal&&e.wrapAll('
'),i.autoOpen&&e.open()},setSize:function(e){var t=e.data();t.width&&e.css("width",t.width),t.height&&e.css("height",t.height)},renderHeader:function(e){var t,r,a,i=e.data();return 0===(t=e.children('div[data-role="header"]')).length&&(t=$('
'),e.prepend(t)),t.addClass(i.style.header),0===(r=t.find('[data-role="title"]')).length&&(r=$('

'+i.title+"

"),t.append(r)),r.addClass(i.style.headerTitle),0===(a=t.find('[data-role="close"]')).length&&i.closeButtonInHeader?((a=$('')).addClass(i.style.headerCloseButton),t.append(a)):a.length>0&&!1===i.closeButtonInHeader?a.hide():a.addClass(i.style.headerCloseButton),t},draggable:function(e,t){e.appendTo("body"),t.addClass("gj-draggable"),e.draggable({handle:t,start:function(){e.addClass("gj-unselectable"),gj.dialog.events.dragStart(e)},stop:function(){e.removeClass("gj-unselectable"),gj.dialog.events.dragStop(e)}})},resizable:function(e){var t={drag:gj.dialog.methods.resize,start:function(){e.addClass("gj-unselectable"),gj.dialog.events.resizeStart(e)},stop:function(){this.removeAttribute("style"),e.removeClass("gj-unselectable"),gj.dialog.events.resizeStop(e)}};e.append($('
').draggable($.extend(!0,{horizontal:!1},t))),e.append($('
').draggable($.extend(!0,{vertical:!1},t))),e.append($('
').draggable($.extend(!0,{horizontal:!1},t))),e.append($('
').draggable($.extend(!0,{vertical:!1},t))),e.append($('
').draggable($.extend(!0,{},t))),e.append($('
').draggable($.extend(!0,{},t))),e.append($('
').draggable($.extend(!0,{},t))),e.append($('
').draggable($.extend(!0,{},t)))},resize:function(e,t){var r,a,i,o,n,d,s,l,c=!1;return a=(r=$(this)).parent(),i=gj.core.position(this),offset={top:t.top-i.top,left:t.left-i.left},o=a.data(),r.hasClass("gj-resizable-n")?(n=a.height()-offset.top,s=a.offset().top+offset.top):r.hasClass("gj-resizable-e")?d=a.width()+offset.left:r.hasClass("gj-resizable-s")?n=a.height()+offset.top:r.hasClass("gj-resizable-w")?(d=a.width()-offset.left,l=a.offset().left+offset.left):r.hasClass("gj-resizable-ne")?(n=a.height()-offset.top,s=a.offset().top+offset.top,d=a.width()+offset.left):r.hasClass("gj-resizable-nw")?(n=a.height()-offset.top,s=a.offset().top+offset.top,d=a.width()-offset.left,l=a.offset().left+offset.left):r.hasClass("gj-resizable-se")?(n=a.height()+offset.top,d=a.width()+offset.left):r.hasClass("gj-resizable-sw")&&(n=a.height()+offset.top,d=a.width()-offset.left,l=a.offset().left+offset.left),n&&(!o.minHeight||n>=o.minHeight)&&(!o.maxHeight||n<=o.maxHeight)&&(a.height(n),s&&a.css("top",s),c=!0),d&&(!o.minWidth||d>=o.minWidth)&&(!o.maxWidth||d<=o.maxWidth)&&(a.width(d),l&&a.css("left",l),c=!0),c&&gj.dialog.events.resize(a),c},open:function(e,t){var r;return gj.dialog.events.opening(e),e.css("display","block"),e.closest('div[data-role="modal"]').css("display","block"),(r=e.children('div[data-role="footer"]')).length&&r.outerHeight()&&e.children('div[data-role="body"]').css("margin-bottom",r.outerHeight()),void 0!==t&&e.find('[data-role="title"]').html(t),gj.dialog.events.opened(e),e},close:function(e){return e.is(":visible")&&(gj.dialog.events.closing(e),e.css("display","none"),e.closest('div[data-role="modal"]').css("display","none"),gj.dialog.events.closed(e)),e},isOpen:function(e){return e.is(":visible")},content:function(e,t){var r=e.children('div[data-role="body"]');return void 0===t?r.html():r.html(t)},destroy:function(e,t){var r=e.data();return r&&(!1===t?e.remove():(e.close(),e.off(),e.removeData(),e.removeAttr("data-type"),e.removeClass(r.style.content),e.find('[data-role="header"]').removeClass(r.style.header),e.find('[data-role="title"]').removeClass(r.style.headerTitle),e.find('[data-role="close"]').remove(),e.find('[data-role="body"]').removeClass(r.style.body),e.find('[data-role="footer"]').removeClass(r.style.footer))),e}},gj.dialog.widget=function(e,t){var r=gj.dialog.methods;return this.open=function(e){return r.open(this,e)},this.close=function(){return r.close(this)},this.isOpen=function(){return r.isOpen(this)},this.content=function(e){return r.content(this,e)},this.destroy=function(e){return r.destroy(this,e)},$.extend(e,this),"dialog"!==e.attr("data-type")&&r.init.call(e,t),e},gj.dialog.widget.prototype=new gj.widget,gj.dialog.widget.constructor=gj.dialog.widget,gj.dialog.widget.prototype.getHTMLConfig=gj.dialog.methods.getHTMLConfig,jQuery.fn.dialog=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.dialog.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.dialog.widget(this,e)}},gj.dialog.messages["en-us"]={Close:"Close",DefaultTitle:"Dialog"},gj.draggable={plugins:{}},gj.draggable.config={base:{handle:void 0,vertical:!0,horizontal:!0,containment:void 0}},gj.draggable.methods={init:function(e){var t,r,a=this;return gj.widget.prototype.init.call(this,e,"draggable"),r=this.data(),a.attr("data-draggable","true"),(t=gj.draggable.methods.getHandleElement(a)).on("touchstart mousedown",function(e){var i=gj.core.position(a[0]);a[0].style.top=i.top+"px",a[0].style.left=i.left+"px",a[0].style.position="fixed",a.attr("draggable-dragging",!0),a.removeAttr("draggable-x").removeAttr("draggable-y"),gj.documentManager.subscribeForEvent("touchmove",a.data("guid"),gj.draggable.methods.createMoveHandler(a,t,r)),gj.documentManager.subscribeForEvent("mousemove",a.data("guid"),gj.draggable.methods.createMoveHandler(a,t,r))}),gj.documentManager.subscribeForEvent("mouseup",a.data("guid"),gj.draggable.methods.createUpHandler(a)),gj.documentManager.subscribeForEvent("touchend",a.data("guid"),gj.draggable.methods.createUpHandler(a)),gj.documentManager.subscribeForEvent("touchcancel",a.data("guid"),gj.draggable.methods.createUpHandler(a)),a},getHandleElement:function(e){var t=e.data("handle");return t&&t.length?t:e},createUpHandler:function(e){return function(t){"true"===e.attr("draggable-dragging")&&(e.attr("draggable-dragging",!1),gj.documentManager.unsubscribeForEvent("mousemove",e.data("guid")),gj.documentManager.unsubscribeForEvent("touchmove",e.data("guid")),gj.draggable.events.stop(e,{x:e.mouseX(t),y:e.mouseY(t)}))}},createMoveHandler:function(e,t,r){return function(t){var a,i,o,n,d,s;"true"===e.attr("draggable-dragging")&&(a=Math.round(e.mouseX(t)),i=Math.round(e.mouseY(t)),d=e.attr("draggable-x"),s=e.attr("draggable-y"),d&&s?(o=r.horizontal?a-parseInt(d,10):0,n=r.vertical?i-parseInt(s,10):0,gj.draggable.methods.move(e[0],r,o,n,a,i)):gj.draggable.events.start(e,a,i),e.attr("draggable-x",a),e.attr("draggable-y",i))}},move:function(e,t,r,a,i,o){var n,d,s,l=gj.core.position(e),c=l.top+a,g=l.left+r;t.containment&&(d=(n=gj.core.position(t.containment)).top+gj.core.height(t.containment)-gj.core.height(e),s=n.left+gj.core.width(t.containment)-gj.core.width(e),c>n.top&&c=o||n.bottom<=o)&&(c=l.top):c=c<=n.top?n.top+1:d-1,g>n.left&&g=i||n.right<=i)&&(g=l.left):g=g<=n.left?n.left+1:s-1),!1!==gj.draggable.events.drag($(e),g,c,i,o)&&(e.style.top=c+"px",e.style.left=g+"px")},destroy:function(e){return"true"===e.attr("data-draggable")&&(gj.documentManager.unsubscribeForEvent("mouseup",e.data("guid")),e.removeData(),e.removeAttr("data-guid").removeAttr("data-type").removeAttr("data-draggable"),e.removeAttr("draggable-x").removeAttr("draggable-y").removeAttr("draggable-dragging"),e[0].style.top="",e[0].style.left="",e[0].style.position="",e.off("drag").off("start").off("stop"),gj.draggable.methods.getHandleElement(e).off("mousedown")),e}},gj.draggable.events={drag:function(e,t,r,a,i){return e.triggerHandler("drag",[{left:t,top:r},{x:a,y:i}])},start:function(e,t,r){e.triggerHandler("start",[{x:t,y:r}])},stop:function(e,t){e.triggerHandler("stop",[t])}},gj.draggable.widget=function(e,t){var r=gj.draggable.methods;return e.destroy||(this.destroy=function(){return r.destroy(this)}),$.extend(e,this),"true"!==e.attr("data-draggable")&&r.init.call(e,t),e},gj.draggable.widget.prototype=new gj.widget,gj.draggable.widget.constructor=gj.draggable.widget,jQuery.fn.draggable=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.draggable.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.draggable.widget(this,e)}},gj.droppable={plugins:{}},gj.droppable.config={hoverClass:void 0},gj.droppable.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"droppable"),this.attr("data-droppable","true"),gj.documentManager.subscribeForEvent("mousedown",this.data("guid"),gj.droppable.methods.createMouseDownHandler(this)),gj.documentManager.subscribeForEvent("mousemove",this.data("guid"),gj.droppable.methods.createMouseMoveHandler(this)),gj.documentManager.subscribeForEvent("mouseup",this.data("guid"),gj.droppable.methods.createMouseUpHandler(this)),this},createMouseDownHandler:function(e){return function(t){e.isDragging=!0}},createMouseMoveHandler:function(e){return function(t){if(e.isDragging){var r=e.data("hoverClass"),a={x:e.mouseX(t),y:e.mouseY(t)},i=gj.droppable.methods.isOver(e,a);i!=e.isOver&&(i?(r&&e.addClass(r),gj.droppable.events.over(e,a)):(r&&e.removeClass(r),gj.droppable.events.out(e))),e.isOver=i}}},createMouseUpHandler:function(e){return function(t){var r={left:e.mouseX(t),top:e.mouseY(t)};e.isDragging=!1,gj.droppable.methods.isOver(e,r)&&gj.droppable.events.drop(e)}},isOver:function(e,t){var r=e.offset().top,a=e.offset().left;return t.x>a&&t.xr&&t.y',desc:''}},fontawesome:{icons:{asc:'',desc:''}},glyphicons:{icons:{asc:'',desc:''}}},gj.grid.events={beforeEmptyRowInsert:function(e,t){return e.triggerHandler("beforeEmptyRowInsert",[t])},dataBinding:function(e,t){return e.triggerHandler("dataBinding",[t])},dataBound:function(e,t,r){return e.triggerHandler("dataBound",[t,r])},rowDataBound:function(e,t,r,a){return e.triggerHandler("rowDataBound",[t,r,a])},cellDataBound:function(e,t,r,a,i){return e.triggerHandler("cellDataBound",[t,r,a,i])},rowSelect:function(e,t,r,a){return e.triggerHandler("rowSelect",[t,r,a])},rowUnselect:function(e,t,r,a){return e.triggerHandler("rowUnselect",[t,r,a])},rowRemoving:function(e,t,r,a){return e.triggerHandler("rowRemoving",[t,r,a])},destroying:function(e){return e.triggerHandler("destroying")},columnHide:function(e,t){return e.triggerHandler("columnHide",[t])},columnShow:function(e,t){return e.triggerHandler("columnShow",[t])},initialized:function(e){return e.triggerHandler("initialized")},dataFiltered:function(e,t){return e.triggerHandler("dataFiltered",[t])}},gj.grid.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"grid"),gj.grid.methods.initialize(this),this.data("autoLoad")&&this.reload(),this},getConfig:function(e,t){var r=gj.widget.prototype.getConfig.call(this,e,t);return gj.grid.methods.setDefaultColumnConfig(r.columns,r.defaultColumnSettings),r},setDefaultColumnConfig:function(e,t){var r,a;if(e&&e.length)for(a=0;a tr > th").each(function(){var t=$(this),r=t.text(),a=gj.widget.prototype.getHTMLConfig.call(t);a.title=r,a.field||(a.field=r),a.events&&(a.events=gj.grid.methods.eventsParser(a.events)),e.columns.push(a)}),e},eventsParser:function(events){var result={},list,i,key,func,position;for(list=events.split(","),i=0;i0&&(key=$.trim(list[i].substr(0,position)),func=$.trim(list[i].substr(position+1,list[i].length)),result[key]=eval("window."+func));return result},initialize:function(e){var t=e.data(),r=e.parent('div[data-role="wrapper"]');gj.grid.methods.localization(t),0===r.length?(r=$('
').addClass(t.style.wrapper),e.wrap(r)):r.addClass(t.style.wrapper),t.width&&e.parent().css("width",t.width),t.minWidth&&e.css("min-width",t.minWidth),t.fontSize&&e.css("font-size",t.fontSize),"autogrow"===t.headerRowHeight&&e.addClass("autogrow-header-row"),"fixed"===t.bodyRowHeight&&e.addClass("fixed-body-rows"),e.addClass(t.style.table),"checkbox"===t.selectionMethod&&t.columns.splice(gj.grid.methods.getColumnPositionNotInRole(e),0,{title:"",width:t.defaultCheckBoxColumnWidth,align:"center",type:"checkbox",role:"selectRow",events:{click:function(t){gj.grid.methods.setSelected(e,t.data.id,$(this).closest("tr"))}},headerCssClass:"gj-grid-select-all",stopPropagation:!0}),0===e.children("tbody").length&&e.append($("")),gj.grid.methods.renderHeader(e),gj.grid.methods.appendEmptyRow(e," "),gj.grid.events.initialized(e)},localization:function(e){e.notFoundText||(e.notFoundText=gj.grid.messages[e.locale].NoRecordsFound)},renderHeader:function(e){var t,r,a,i,o,n,d,s,l;for(r=(t=e.data()).columns,a=t.style.header,0===(i=e.children("thead")).length&&(i=$(""),e.prepend(i)),o=$(''),s=0;s'),r[s].width?n.attr("width",r[s].width):"checkbox"===r[s].type&&n.attr("width",t.defaultIconColumnWidth),n.addClass(a.cell),r[s].headerCssClass&&n.addClass(r[s].headerCssClass),n.css("text-align",r[s].align||"left"),"checkbox"===t.selectionMethod&&"multiple"===t.selectionType&&"checkbox"===r[s].type&&"selectRow"===r[s].role?(0===(l=n.find('input[data-role="selectAll"]')).length&&(l=$(''),n.append(l),l.checkbox({uiLibrary:t.uiLibrary})),l.off("click").on("click",function(){this.checked?e.selectAll():e.unSelectAll()})):(d=$('
').html(void 0===r[s].title?r[s].field:r[s].title),n.append(d),r[s].sortable&&(d.addClass(a.sortable),d.on("click",gj.grid.methods.createSortHandler(e,r[s])))),r[s].hidden&&n.hide(),o.append(n);i.empty().append(o)},createSortHandler:function(e,t){return function(){var r,a={};e.count()>0&&(a[(r=e.data()).paramNames.sortBy]=t.field,t.direction="asc"===t.direction?"desc":"asc",a[r.paramNames.direction]=t.direction,e.reload(a))}},updateHeader:function(e){var t,r,a=e.data(),i=a.params[a.paramNames.sortBy],o=a.params[a.paramNames.direction];e.find('thead tr th [data-role="sorticon"]').remove(),i&&(position=gj.grid.methods.getColumnPosition(e.data("columns"),i),position>-1&&(r=e.find("thead tr th:eq("+position+') div[data-role="title"]'),t=$('
').append("desc"===o?a.icons.desc:a.icons.asc),r.after(t)))},useHtmlDataSource:function(e,t){var r,a,i,o,n=[],d=e.find('tbody tr[data-role != "empty"]');for(r=0;r').addClass(d.style.loadingCover).css({width:i,height:o,top:n}),(a=$('
'+gj.grid.messages[d.locale].Loading+"
").addClass(d.style.loadingText)).insertAfter(e),r.insertAfter(e),a.css({top:n+o/2-a.outerHeight(!1)/2,left:i/2-a.outerWidth(!1)/2}))},stopLoading:function(e){e.parent().find('div[data-role="loading-cover"]').remove(),e.parent().find('div[data-role="loading-text"]').remove()},appendEmptyRow:function(e,t){var r,a,i,o;r=e.data(),a=$(''),(i=$("").css({width:"100%","text-align":"center"})).attr("colspan",gj.grid.methods.countVisibleColumns(e)),o=$("
").html(t||r.notFoundText),i.append(o),a.append(i),gj.grid.events.beforeEmptyRowInsert(e,a),e.append(a)},autoGenerateColumns:function(e,t){var r,a,i,o,n=e.data();if(n.columns=[],t.length>0){for(r=Object.getOwnPropertyNames(t[0]),o=0;o-1&&(i="date")),n.columns.push({field:r[o],type:i});gj.grid.methods.setDefaultColumnConfig(n.columns,n.defaultColumnSettings)}gj.grid.methods.renderHeader(e)},loadData:function(e){var t,r,a,i,o,n,d,s;for(t=e.data(),r=e.getAll(),gj.grid.events.dataBinding(e,r),i=r.length,gj.grid.methods.stopLoading(e),t.autoGenerateColumns&&gj.grid.methods.autoGenerateColumns(e,r),n=e.children("tbody"),"checkbox"===t.selectionMethod&&"multiple"===t.selectionType&&e.find('thead input[data-role="selectAll"]').prop("checked",!1),n.children("tr").not('[data-role="row"]').remove(),0===i&&(n.empty(),gj.grid.methods.appendEmptyRow(e)),o=(d=n.children("tr")).length,a=0;a'),e.children("tbody").append(t)),i=gj.grid.methods.getId(r,d.primaryKey,a+1),t.attr("data-position",a+1),"checkbox"!==d.selectionMethod&&t.on("click",gj.grid.methods.createRowClickHandler(e,i)),n=0;n"),n=$('
'),r.align&&t.css("text-align",r.align),r.cssClass&&t.addClass(r.cssClass),t.append(n),o="create"),gj.grid.methods.renderDisplayElement(e,n,r,a,i,o),"update"===o&&(t.off(),n.off()),r.events)for(d in r.events)r.events.hasOwnProperty(d)&&t.on(d,{id:i,field:r.field,record:a},gj.grid.methods.createCellEventHandler(r,r.events[d]));return r.hidden&&t.hide(),gj.grid.events.cellDataBound(e,n,i,r,a),t},createCellEventHandler:function(e,t){return function(r){e.stopPropagation&&r.stopPropagation(),t.call(this,r)}},renderDisplayElement:function(e,t,r,a,i,o){var n,d;"checkbox"===r.type&&gj.checkbox?"create"===o?(d=$('').val(i).prop("checked",!!a[r.field]),r.role&&d.attr("data-role",r.role),t.append(d),d.checkbox({uiLibrary:e.data("uiLibrary")}),"selectRow"===r.role?d.on("click",function(){return!1}):d.prop("disabled",!0)):t.find('input[type="checkbox"]').val(i).prop("checked",!!a[r.field]):"icon"===r.type?"create"===o&&(t.append($("").addClass(r.icon).css({cursor:"pointer"})),"bootstrap"===e.data().uiLibrary&&t.children("span").addClass("glyphicon"),r.stopPropagation=!0):r.tmpl?(n=r.tmpl,r.tmpl.replace(/\{(.+?)\}/g,function(e,t){n=n.replace(e,gj.grid.methods.formatText(a[t],r))}),t.html(n)):r.renderer&&"function"==typeof r.renderer?(n=r.renderer(a[r.field],a,t.parent(),t,i,e))&&t.html(n):(a[r.field]=gj.grid.methods.formatText(a[r.field],r),!r.tooltip&&a[r.field]&&t.attr("title",a[r.field]),t.html(a[r.field])),r.tooltip&&"create"===o&&t.attr("title",r.tooltip)},formatText:function(e,t){return e=e&&["date","time","datetime"].indexOf(t.type)>-1?gj.core.formatDate(gj.core.parseDate(e,t.format),t.format):null==e?"":e.toString(),t.decimalDigits&&e&&(e=parseFloat(e).toFixed(t.decimalDigits)),e},setRecordsData:function(e,t){var r=[],a=0,i=e.data();return $.isArray(t)?(r=t,a=t.length):i&&i.mapping&&$.isArray(t[i.mapping.dataField])&&(r=t[i.mapping.dataField],(a=t[i.mapping.totalRecordsField])&&!isNaN(a)||(a=0)),e.data("records",r),e.data("totalRecords",a),r},createRowClickHandler:function(e,t){return function(){gj.grid.methods.setSelected(e,t,$(this))}},selectRow:function(e,t,r,a){var i;return r.addClass(t.style.content.rowSelected),r.attr("data-selected","true"),"checkbox"===t.selectionMethod&&((i=r.find('input[type="checkbox"][data-role="selectRow"]')).length&&!i.prop("checked")&&i.prop("checked",!0),"multiple"===t.selectionType&&e.getSelections().length===e.count(!1)&&e.find('thead input[data-role="selectAll"]').prop("checked",!0)),gj.grid.events.rowSelect(e,r,a,e.getById(a))},unselectRow:function(e,t,r,a){var i;if("true"===r.attr("data-selected"))return r.removeClass(t.style.content.rowSelected),"checkbox"===t.selectionMethod&&((i=r.find('td input[type="checkbox"][data-role="selectRow"]')).length&&i.prop("checked")&&i.prop("checked",!1),"multiple"===t.selectionType&&e.find('thead input[data-role="selectAll"]').prop("checked",!1)),r.removeAttr("data-selected"),gj.grid.events.rowUnselect(e,r,a,e.getById(a))},setSelected:function(e,t,r){var a=e.data();return r&&r.length||(r=gj.grid.methods.getRowById(e,t)),r&&("true"===r.attr("data-selected")?gj.grid.methods.unselectRow(e,a,r,t):("single"===a.selectionType&&r.siblings('[data-selected="true"]').each(function(){var t=$(this),r=gj.grid.methods.getId(t,a.primaryKey,t.data("position"));gj.grid.methods.unselectRow(e,a,t,r)}),gj.grid.methods.selectRow(e,a,r,t))),e},selectAll:function(e){var t=e.data();return e.find('tbody tr[data-role="row"]').each(function(){var r=$(this),a=r.data("position"),i=e.get(a),o=gj.grid.methods.getId(i,t.primaryKey,a);gj.grid.methods.selectRow(e,t,r,o)}),e.find('thead input[data-role="selectAll"]').prop("checked",!0),e},unSelectAll:function(e){var t=e.data();return e.find("tbody tr").each(function(){var r=$(this),a=r.data("position"),i=e.get(a),o=gj.grid.methods.getId(i,t.primaryKey,a);gj.grid.methods.unselectRow(e,t,r,o),r.find('input[type="checkbox"][data-role="selectRow"]').prop("checked",!1)}),e.find('thead input[data-role="selectAll"]').prop("checked",!1),e},getSelected:function(e){var t,r,a,i=null;return(t=e.find('tbody>tr[data-selected="true"]')).length>0&&(a=$(t[0]).data("position"),r=e.get(a),i=gj.grid.methods.getId(r,e.data().primaryKey,a)),i},getSelectedRows:function(e){e.data();return e.find('tbody>tr[data-selected="true"]')},getSelections:function(e){var t,r,a=[],i=e.data(),o=gj.grid.methods.getSelectedRows(e);return 0-1&&(i=gj.grid.methods.getRowById(e,t).find("td:eq("+a+') div[data-role="display"]')),i},setCellContent:function(e,t,r,a){var i,o=gj.grid.methods.getCell(e,t,r);o&&(o.empty(),"object"==typeof a?o.append(a):(i=gj.grid.methods.getColumnInfo(e,r),gj.grid.methods.renderDisplayElement(e,o,i,e.getById(t),t,"update")))},clone:function(e){var t=[];return $.each(e,function(){t.push(this.clone())}),t},getAll:function(e){return e.data("records")},countVisibleColumns:function(e){var t,r,a;for(t=e.data().columns,r=0,a=0;a-1}));return gj.grid.events.dataFiltered(e,i),i},createDefaultSorter:function(e,t){return function(r,a){var i=(r[t]||"").toString(),o=(a[t]||"").toString();return"asc"===e?i.localeCompare(o):o.localeCompare(i)}},destroy:function(e,t,r){return e.data()&&(gj.grid.events.destroying(e),gj.grid.methods.stopLoading(e),e.xhr&&e.xhr.abort(),e.off(),!1===r&&e.parent('div[data-role="wrapper"]').length>0&&e.unwrap(),e.removeData(),!1===t?e.remove():e.removeClass().empty(),e.removeAttr("data-type")),e},showColumn:function(e,t){var r,a=e.data(),i=gj.grid.methods.getColumnPosition(a.columns,t);return i>-1&&(e.find("thead>tr").each(function(){$(this).children("th").eq(i).show()}),$.each(e.find("tbody>tr"),function(){$(this).children("td").eq(i).show()}),a.columns[i].hidden=!1,(r=e.find('tbody > tr[data-role="empty"] > td'))&&r.length&&r.attr("colspan",gj.grid.methods.countVisibleColumns(e)),gj.grid.events.columnShow(e,a.columns[i])),e},hideColumn:function(e,t){var r,a=e.data(),i=gj.grid.methods.getColumnPosition(a.columns,t);return i>-1&&(e.find("thead>tr").each(function(){$(this).children("th").eq(i).hide()}),$.each(e.find("tbody>tr"),function(){$(this).children("td").eq(i).hide()}),a.columns[i].hidden=!0,(r=e.find('tbody > tr[data-role="empty"] > td'))&&r.length&&r.attr("colspan",gj.grid.methods.countVisibleColumns(e)),gj.grid.events.columnHide(e,a.columns[i])),e},isLastRecordVisible:function(){return!0},addRow:function(e,t){var r=e.data();return r.totalRecords=e.data("totalRecords")+1,gj.grid.events.dataBinding(e,[t]),r.records.push(t),$.isArray(r.dataSource)&&r.dataSource.push(t),1===r.totalRecords&&e.children("tbody").empty(),gj.grid.methods.isLastRecordVisible(e)&&gj.grid.methods.renderRow(e,null,t,e.count()-1),gj.grid.events.dataBound(e,[t],r.totalRecords),e},updateRow:function(e,t,r){var a,i=gj.grid.methods.getRowById(e,t),o=e.data();return o.records[i.data("position")-1]=r,$.isArray(o.dataSource)&&(a=gj.grid.methods.getRecVPosById(e,t),o.dataSource[a]=r),gj.grid.methods.renderRow(e,i,r,i.index()),e},removeRow:function(e,t){var r,a=e.data(),i=gj.grid.methods.getRowById(e,t);return gj.grid.events.rowRemoving(e,i,t,e.getById(t)),$.isArray(a.dataSource)&&(r=gj.grid.methods.getRecVPosById(e,t),a.dataSource.splice(r,1)),e.reload(),e},count:function(e,t){return t?e.data().totalRecords:e.getAll().length},getColumnPositionByRole:function(e,t){var r,a,i=e.data("columns");for(r=0;r-1?1:0)):a.css("width",i.outerWidth()),t=0;t',collapseRow:''}},fontawesome:{icons:{expandRow:'',collapseRow:''}},glyphicons:{icons:{expandRow:'',collapseRow:''}}},private:{expandDetail:function(e,t,r){var a=t.closest("tr"),i=$(''),o=$(''),n=$('
'),d=e.data(),s=a.data("position"),l=e.get(s),c=gj.grid.plugins.expandCollapseRows;void 0===typeof r&&(r=gj.grid.methods.getId(l,d.primaryKey,l)),i.append(o.append(n.append(a.data("details")))),i.insertAfter(a),t.children('div[data-role="display"]').empty().append(d.icons.collapseRow),e.updateDetails(a),c.private.keepSelection(e,r),c.events.detailExpand(e,i.find("td>div"),r)},collapseDetail:function(e,t,r){var a=t.closest("tr").next('tr[data-role="details"]'),i=e.data(),o=gj.grid.plugins.expandCollapseRows;void 0===typeof r&&(r=gj.grid.methods.getId(record,i.primaryKey,record)),a.remove(),t.children('div[data-role="display"]').empty().append(i.icons.expandRow),o.private.removeSelection(e,r),o.events.detailCollapse(e,a.find("td>div"),r)},keepSelection:function(e,t){var r=e.data();r.keepExpandedRows&&($.isArray(r.expandedRows)?-1==r.expandedRows.indexOf(t)&&r.expandedRows.push(t):r.expandedRows=[t])},removeSelection:function(e,t){var r=e.data();r.keepExpandedRows&&$.isArray(r.expandedRows)&&r.expandedRows.indexOf(t)>-1&&r.expandedRows.splice(r.expandedRows.indexOf(t),1)},updateDetailsColSpan:function(e){var t=e.find('tbody > tr[data-role="details"] > td');t&&t.length&&t.attr("colspan",gj.grid.methods.countVisibleColumns(e))}},public:{collapseAll:function(){var e,t=this,r=t.data();return void 0!==r.detailTemplate&&(e=gj.grid.methods.getColumnPositionByRole(t,"expander"),t.find('tbody tr[data-role="row"]').each(function(){gj.grid.plugins.expandCollapseRows.private.collapseDetail(t,$(this).find("td:eq("+e+")"))})),void 0!==r.grouping&&t.find('tbody tr[role="group"]').each(function(){gj.grid.plugins.grouping.private.collapseGroup(r,$(this).find("td:eq(0)"))}),t},expandAll:function(){var e,t=this,r=t.data();return void 0!==r.detailTemplate&&(e=gj.grid.methods.getColumnPositionByRole(t,"expander"),t.find('tbody tr[data-role="row"]').each(function(){gj.grid.plugins.expandCollapseRows.private.expandDetail(t,$(this).find("td:eq("+e+")"))})),void 0!==r.grouping&&t.find('tbody tr[role="group"]').each(function(){gj.grid.plugins.grouping.private.expandGroup(r,$(this).find("td:eq(0)"))}),t},updateDetails:function(e){var t=this,r=e.data("details"),a=r.html(),i=t.get(e.data("position"));return i&&a&&(r.html().replace(/\{(.+?)\}/g,function(e,r){var o=gj.grid.methods.getColumnInfo(t,r);a=a.replace(e,gj.grid.methods.formatText(i[r],o))}),r.html(a)),t}},events:{detailExpand:function(e,t,r){e.triggerHandler("detailExpand",[t,r])},detailCollapse:function(e,t,r){e.triggerHandler("detailCollapse",[t,r])}},configure:function(e){var t,r=e.data();$.extend(!0,e,gj.grid.plugins.expandCollapseRows.public),void 0!==r.detailTemplate&&(t={title:"",width:r.defaultIconColumnWidth,align:"center",stopPropagation:!0,cssClass:"gj-cursor-pointer gj-unselectable",tmpl:r.icons.expandRow,role:"expander",events:{click:function(t){var r=$(this),a=gj.grid.plugins.expandCollapseRows.private;"details"===r.closest("tr").next().attr("data-role")?a.collapseDetail(e,r,t.data.id):a.expandDetail(e,$(this),t.data.id)}}},r.columns=[t].concat(r.columns),e.on("rowDataBound",function(e,t,a,i){t.data("details",$(r.detailTemplate))}),e.on("columnShow",function(t,r){gj.grid.plugins.expandCollapseRows.private.updateDetailsColSpan(e)}),e.on("columnHide",function(t,r){gj.grid.plugins.expandCollapseRows.private.updateDetailsColSpan(e)}),e.on("rowRemoving",function(t,r,a,i){gj.grid.plugins.expandCollapseRows.private.collapseDetail(e,r.children("td").first(),a)}),e.on("dataBinding",function(){e.collapseAll()}),e.on("pageChanging",function(){e.collapseAll()}),e.on("dataBound",function(){var t,r,a,i,o=e.data();if(o.keepExpandedRows&&$.isArray(o.expandedRows))for(t=0;t '+gj.grid.messages[e.locale].Edit+"",e.inlineEditing.deleteButton='",e.inlineEditing.updateButton='",e.inlineEditing.cancelButton='"):(e.inlineEditing.editButton='",e.inlineEditing.deleteButton='",e.inlineEditing.updateButton='",e.inlineEditing.cancelButton='")},editMode:function(e,t,r,a){var i,o,n,d,s,l=e.data();if("edit"!==t.attr("data-mode"))if(r.editor){if(gj.grid.plugins.inlineEditing.private.updateOtherCells(e,r.mode),i=t.find('div[data-role="display"]').hide(),0===(o=t.find('div[data-role="edit"]').show()).length&&(o=$('
'),t.append(o)),d=a[r.editField||r.field],(n=o.find("input, select, textarea").first()).length)switch(r.type){case"checkbox":n.prop("checked",d);break;case"dropdown":n=n.dropdown("value",d);break;default:n.val(d)}else{if("function"==typeof r.editor)r.editor(o,d,a),n=o.find("input, select, textarea").first();else if((s="object"==typeof r.editor?r.editor:{}).uiLibrary=l.uiLibrary,s.iconsLibrary=l.iconsLibrary,s.fontSize=e.css("font-size"),s.showOnFocus=!1,"checkbox"===r.type&&gj.checkbox)n=$('').prop("checked",d),o.append(n),n.checkbox(s);else if("date"===r.type&&gj.datepicker||"time"===r.type&&gj.timepicker||"datetime"===r.type&&gj.datetimepicker){switch(n=$(''),o.append(n),r.format&&(s.format=r.format),r.type){case"date":n=n.datepicker(s);break;case"time":n=n.timepicker(s);break;case"datetime":n=n.datetimepicker(s)}n.value&&n.value(i.html())}else"dropdown"===r.type&&gj.dropdown?(n=$(''),"materialdesign"===l.uiLibrary&&n.addClass("gj-textbox-md").css("font-size",e.css("font-size")),o.append(n));"command"!==l.inlineEditing.mode&&"editOnly"!==r.mode&&(n=o.find("input, select, textarea").first()).on("keyup",function(a){13!==a.keyCode&&27!==a.keyCode||gj.grid.plugins.inlineEditing.private.displayMode(e,t,r)})}"INPUT"===n.prop("tagName").toUpperCase()&&"TEXT"===n.prop("type").toUpperCase()?gj.core.setCaretAtEnd(n[0]):n.focus(),t.attr("data-mode","edit")}else"managementColumn"===r.role&&(t.find('[role="edit"]').hide(),t.find('[role="delete"]').hide(),t.find('[role="update"]').show(),t.find('[role="cancel"]').show())},displayMode:function(e,t,r,a){var i,o,n,d,s,l,c;"editOnly"!==r.mode&&("edit"===t.attr("data-mode")&&(i=t.find('div[data-role="edit"]'),o=t.find('div[data-role="display"]'),"SELECT"===(n=i.find("input, select, textarea").first())[0].tagName.toUpperCase()&&n[0].selectedIndex>-1?(d=n[0].options[n[0].selectedIndex].innerHTML,s=n[0].value):d="INPUT"===n[0].tagName.toUpperCase()&&"CHECKBOX"===n[0].type.toUpperCase()?n[0].checked:n.val(),c=t.parent().data("position"),l=e.get(c),!0!==a&&d!==l[r.field]&&(l[r.field]="date"===r.type?gj.core.parseDate(d,r.format):d,r.editField&&(l[r.editField]=s||d),"editOnly"!==r.mode&&(gj.grid.methods.renderDisplayElement(e,o,r,l,gj.grid.methods.getId(l,e.data("primaryKey"),c),"update"),0===t.find("span.gj-dirty").length&&t.prepend($(''))),gj.grid.plugins.inlineEditing.events.cellDataChanged(e,t,r,l,d),gj.grid.plugins.inlineEditing.private.updateChanges(e,r,l,d)),i.hide(),o.show(),t.attr("data-mode","display")),"managementColumn"===r.role&&(t.find('[role="update"]').hide(),t.find('[role="cancel"]').hide(),t.find('[role="edit"]').show(),t.find('[role="delete"]').show()))},updateOtherCells:function(e,t){var r=e.data();"command"!==r.inlineEditing.mode&&"editOnly"!==t&&e.find('div[data-role="edit"]:visible').parent("td").each(function(){var t=$(this),a=r.columns[t.index()];gj.grid.plugins.inlineEditing.private.displayMode(e,t,a)})},updateChanges:function(e,t,r,a){var i,o,n,d=e.data();d.guid||(d.guid=gj.grid.plugins.inlineEditing.private.generateGUID()),d.primaryKey&&((i=JSON.parse(sessionStorage.getItem("gj.grid."+d.guid)))?o=i.filter(function(e){return e[d.primaryKey]===r[d.primaryKey]}):i=[],o&&1===o.length?o[0][t.field]=a:((n={})[d.primaryKey]=r[d.primaryKey],d.primaryKey!==t.field&&(n[t.field]=a),i.push(n)),sessionStorage.setItem("gj.grid."+d.guid,JSON.stringify(i)))},generateGUID:function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}},gj.grid.plugins.inlineEditing.public={getChanges:function(){return JSON.parse(sessionStorage.getItem("gj.grid."+this.data().guid))},edit:function(e){var t,r=this.getById(e),a=gj.grid.methods.getRowById(this,e).children("td"),i=this.data("columns");for(t=0;t',previous:'',next:'',last:'',refresh:''}},materialicons:{icons:{first:'',previous:'',next:'',last:'',refresh:''}},fontawesome:{icons:{first:'',previous:'',next:'',last:'',refresh:''}}},private:{init:function(e){var t,r,a,i,o,n,d,s,l,c;if((a=e.data()).pager)for(a.params[a.paramNames.page]||(a.params[a.paramNames.page]=1),a.params[a.paramNames.limit]||(a.params[a.paramNames.limit]=a.pager.limit),gj.grid.plugins.pagination.private.localization(a),t=$(''),r=$(""),t.append(r),o=$('
').addClass(a.style.pager.panel).css({float:"left"}),n=$('
').addClass(a.style.pager.panel).css({float:"right"}),r.append(o).append(n),d=$("").append(t),e.append(d),gj.grid.plugins.pagination.private.updatePagerColSpan(e),s=gj.grid.methods.clone(a.pager.leftControls),$.each(s,function(){o.append(this)}),l=gj.grid.methods.clone(a.pager.rightControls),$.each(l,function(){n.append(this)}),i=e.find("tfoot [data-role]"),c=0;c'+(e.icons.first||t.First)+"").attr("title",t.FirstPageTooltip).attr("data-role","page-first"),$('").attr("title",t.PreviousPageTooltip).attr("data-role","page-previous"),$("
"+t.Page+"
"),$(''),$("
"+t.Of+"
"),$('
0
'),$('").attr("title",t.NextPageTooltip).attr("data-role","page-next"),$('").attr("title",t.LastPageTooltip).attr("data-role","page-last"),$('").attr("title",t.Refresh).attr("data-role","page-refresh"),$('')]),void 0===e.pager.rightControls&&(e.pager.rightControls=[$("
"+t.DisplayingRecords+"
"),$('
0
'),$("
-
"),$('
0
'),$("
"+t.Of+"
"),$('
0
')])},localizationBootstrap4:function(e){var t=gj.grid.messages[e.locale];void 0===e.pager.leftControls&&(e.pager.leftControls=[$('").attr("title",t.FirstPageTooltip).attr("data-role","page-first"),$('").attr("title",t.PreviousPageTooltip).attr("data-role","page-previous"),$("
"+t.Page+"
"),$('
'),$("
"+t.Of+"
"),$('
0
'),$('").attr("title",t.NextPageTooltip).attr("data-role","page-next"),$('").attr("title",t.LastPageTooltip).attr("data-role","page-last"),$('").attr("title",t.Refresh).attr("data-role","page-refresh"),$('')]),void 0===e.pager.rightControls&&(e.pager.rightControls=[$("
"+t.DisplayingRecords+" 
"),$('
0
'),$("
-
"),$('
0
'),$("
"+t.Of+"
"),$('
0
')])},localizationMaterialDesign:function(e){var t=gj.grid.messages[e.locale];void 0===e.pager.leftControls&&(e.pager.leftControls=[]),void 0===e.pager.rightControls&&(e.pager.rightControls=[$(''+t.RowsPerPage+""),$('
'),$(' '),$('0'),$('-'),$('0'),$(''+t.Of+""),$('0'),$(' '),$('").attr("title",t.PreviousPageTooltip).attr("data-role","page-previous").addClass(e.icons.first?"gj-button-md-icon":""),$(' '),$('").attr("title",t.NextPageTooltip).attr("data-role","page-next").addClass(e.icons.first?"gj-button-md-icon":"")])},initPagerControl:function(e,t){var r=t.data();switch(e.data("role")){case"page-size":r.pager.sizes&&0").attr("value",this.toString()).text(this.toString()))}),e.change(function(){var e=parseInt(this.value,10);r.params[r.paramNames.limit]=e,gj.grid.plugins.pagination.private.changePage(t,1),gj.grid.plugins.pagination.events.pageSizeChange(t,e)}),e.val(r.params[r.paramNames.limit]),gj.dropdown&&e.dropdown({uiLibrary:r.uiLibrary,iconsLibrary:r.iconsLibrary,fontSize:e.css("font-size"),style:{presenter:"btn btn-default btn-sm"}})):e.hide();break;case"page-refresh":e.on("click",function(){t.reload()})}},reloadPager:function(e,t){var r,a,i,o,n,d,s,l;if((d=e.data()).pager){for(r=0===t?0:parseInt(d.params[d.paramNames.page],10),a=parseInt(d.params[d.paramNames.limit],10),i=Math.ceil(t/a),n=(o=0===r?0:a*(r-1)+1)+a>t?t:o+a-1,s=e.find("TFOOT [data-role]"),l=0;li?t.hide():(t.show().off("click").text(a),a===r?t.addClass(o.activeButton):t.removeClass(o.activeButton).on("click",function(){gj.grid.plugins.pagination.private.changePage(e,a)}))},createChangePageHandler:function(e,t){return function(){e.data();var t=parseInt(this.value,10);gj.grid.plugins.pagination.private.changePage(e,t)}},changePage:function(e,t){var r=e.data();!1===gj.grid.plugins.pagination.events.pageChanging(e,t)||isNaN(t)||(e.find('TFOOT [data-role="page-number"]').val(t),r.params[r.paramNames.page]=t),e.reload()},updatePagerColSpan:function(e){var t=e.find('tfoot > tr[data-role="pager"] > th');t&&t.length&&t.attr("colspan",gj.grid.methods.countVisibleColumns(e))},isLastRecordVisible:function(e){var t=!0,r=e.data(),a=parseInt(r.params[r.paramNames.limit],10),i=parseInt(r.params[r.paramNames.page],10),o=e.count();return a&&i&&(t=(i-1)*a+o===r.totalRecords),t}},public:{getAll:function(e){var t,r,a=this.data();return $.isArray(a.dataSource)?e?a.dataSource:a.params[a.paramNames.limit]&&a.params[a.paramNames.page]?(t=parseInt(a.params[a.paramNames.limit],10),r=(parseInt(a.params[a.paramNames.page],10)-1)*t,a.records.slice(r,r+t)):a.records:a.records}},events:{pageSizeChange:function(e,t){e.triggerHandler("pageSizeChange",[t])},pageChanging:function(e,t){e.triggerHandler("pageChanging",[t])}},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.pagination.public);e.data();r.pager&&(gj.grid.methods.isLastRecordVisible=gj.grid.plugins.pagination.private.isLastRecordVisible,e.on("initialized",function(){gj.grid.plugins.pagination.private.init(e)}),e.on("dataBound",function(t,r,a){gj.grid.plugins.pagination.private.reloadPager(e,a)}),e.on("columnShow",function(){gj.grid.plugins.pagination.private.updatePagerColSpan(e)}),e.on("columnHide",function(){gj.grid.plugins.pagination.private.updatePagerColSpan(e)}))}},gj.grid.plugins.responsiveDesign={config:{base:{resizeCheckInterval:500,responsive:!1,showHiddenColumnsAsDetails:!1,defaultColumn:{priority:void 0,minWidth:250},style:{rowDetailItem:""}},bootstrap:{style:{rowDetailItem:"col-lg-4"}}},private:{orderColumns:function(e){var t=[];if(e.columns&&e.columns.length){for(i=0;it.priority&&(r=1),r})}return t},updateDetails:function(e){var t,r,a,i,o,n,d,s,l;for(t=e.find('tbody > tr[data-role="row"]'),r=e.data(),a=0;a"+(s.title||s.field)+": {"+s.field+"}",d&&d.length?d.empty().html(l):((d=$('
').html(l)).addClass(r.style.rowDetailItem),n&&n.length||(n=$('
')),n.append(d))):d&&d.length&&d.remove();e.updateDetails(o)}}},public:{oldWidth:void 0,resizeCheckIntervalId:void 0,makeResponsive:function(){var e,t,r=0,a=this.data(),i=gj.grid.plugins.responsiveDesign.private.orderColumns(a);for(e=0;etr>th:eq("+i[e].position+")")).is(":visible")&&i[e].minWidthtr>th:eq("+i[e].position+")")).is(":visible")&&i[e].minWidth<=r&&(this.showColumn(i[e].field),r-=t.width());for(e=i.length-1;e>=0;e--)(t=this.find("thead>tr>th:eq("+i[e].position+")")).is(":visible")&&i[e].priority&&i[e].minWidth>t.outerWidth()&&this.hideColumn(i[e].field);return this}},events:{resize:function(e,t,r){e.triggerHandler("resize",[t,r])}},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.responsiveDesign.public),t.responsive&&(e.on("initialized",function(){e.makeResponsive(),e.oldWidth=e.width(),e.resizeCheckIntervalId=setInterval(function(){var t=e.width();t!==e.oldWidth&&gj.grid.plugins.responsiveDesign.events.resize(e,t,e.oldWidth),e.oldWidth=t},t.resizeCheckInterval)}),e.on("destroy",function(){e.resizeCheckIntervalId&&clearInterval(e.resizeCheckIntervalId)}),e.on("resize",function(){e.makeResponsive()})),t.showHiddenColumnsAsDetails&&gj.grid.plugins.expandCollapseRows&&(e.on("dataBound",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}),e.on("columnHide",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}),e.on("columnShow",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}),e.on("rowDataBound",function(){gj.grid.plugins.responsiveDesign.private.updateDetails(e)}))}},gj.grid.plugins.toolbar={config:{base:{toolbarTemplate:void 0,title:void 0,style:{toolbar:"gj-grid-md-toolbar"}},bootstrap:{style:{toolbar:"gj-grid-bootstrap-toolbar"}},bootstrap4:{style:{toolbar:"gj-grid-bootstrap-4-toolbar"}}},private:{init:function(e){var t,r,a;t=e.data(),r=e.prev('div[data-role="toolbar"]'),(void 0!==t.toolbarTemplate||void 0!==t.title||r.length>0)&&(0===r.length&&(r=$('
'),e.before(r)),r.addClass(t.style.toolbar),0===r.children().length&&t.toolbarTemplate&&r.append(t.toolbarTemplate),0===(a=r.find('[data-role="title"]')).length&&(a=$('
'),r.prepend(a)),t.title&&a.text(t.title),t.minWidth&&r.css("min-width",t.minWidth))}},public:{title:function(e){var t=this.parent().find('div[data-role="toolbar"] [data-role="title"]');return void 0!==e?(t.text(e),this):t.text()}},configure:function(e){$.extend(!0,e,gj.grid.plugins.toolbar.public),e.on("initialized",function(){gj.grid.plugins.toolbar.private.init(e)}),e.on("destroying",function(){e.prev('[data-role="toolbar"]').remove()})}},gj.grid.plugins.resizableColumns={config:{base:{resizableColumns:!1}},private:{init:function(e,t){var r,a,i,o,n,d;if((r=e.find('thead tr[data-role="caption"] th')).length){for(i=0;i'),d=parseInt(a.css("padding-right"),10)+3,(n=$('').css("margin-right","-"+d+"px")).draggable({start:function(){e.addClass("gj-unselectable"),e.addClass("gj-grid-resize-cursor")},stop:function(){e.removeClass("gj-unselectable"),e.removeClass("gj-grid-resize-cursor"),this.style.removeProperty("top"),this.style.removeProperty("left"),this.style.removeProperty("position")},drag:gj.grid.plugins.resizableColumns.private.createResizeHandle(e,a,t.columns[i])}),a.append(o.append(n));for(i=0;i]+>/g," ")+'",');for(i+=a.slice(0,a.length-1)+"\r\n",t=0;t-1?r.href=URL.createObjectURL(new Blob([this.getCSV(t)],{type:"text/csv;charset=utf-8;"})):r.href="data:text/csv;charset=utf-8,"+escape(this.getCSV(t)),r.click(),document.body.removeChild(r),this},isColumnApplicable:function(e){return!0!==e.hidden&&!e.role}},configure:function(e){$.extend(!0,e,gj.grid.plugins.export.public)}},gj.grid.plugins.columnReorder={config:{base:{columnReorder:!1,dragReady:!1,style:{targetRowIndicatorTop:"gj-grid-row-reorder-indicator-top",targetRowIndicatorBottom:"gj-grid-row-reorder-indicator-bottom"}}},private:{init:function(e){var t,r,a=e.find("thead tr th");for(t=0;t');for(t=0;t"),i.columns[t].filterable&&(a=$(''),"onchange"===i.headerFilter.type?a.on("input propertychange",function(t){gj.grid.plugins.headerFilter.private.reload(e,$(this))}):(a.on("keypress",function(t){13==t.which&&gj.grid.plugins.headerFilter.private.reload(e,$(this))}),a.on("blur",function(t){gj.grid.plugins.headerFilter.private.reload(e,$(this))})),r.append(a)),i.columns[t].hidden&&r.hide(),o.append(r);e.children("thead").append(o)},reload:function(e,t){var r={};r[t.data("field")]=t.val(),e.reload(r)}},public:{},events:{},configure:function(e,t,r){$.extend(!0,e,gj.grid.plugins.headerFilter.public);e.data();r.headerFilter&&e.on("initialized",function(){gj.grid.plugins.headerFilter.private.init(e)})}},gj.grid.plugins.grouping={config:{base:{paramNames:{groupBy:"groupBy",groupByDirection:"groupByDirection"},grouping:{groupBy:void 0,direction:"asc"},icons:{expandGroup:'',collapseGroup:''}},fontawesome:{icons:{expandGroup:'',collapseGroup:''}},glyphicons:{icons:{expandGroup:'',collapseGroup:''}}},private:{init:function(e){var t,r=e.data();t=void 0,e.on("rowDataBound",function(a,i,o,n){if(t!==n[r.grouping.groupBy]||1===i[0].rowIndex){var d=gj.grid.methods.countVisibleColumns(e)-1,s=$(''),l=$('');l.append('
'+r.icons.collapseGroup+"
"),l.on("click",gj.grid.plugins.grouping.private.createExpandCollapseHandler(r)),s.append(l),s.append('
'+r.grouping.groupBy+": "+n[r.grouping.groupBy]+"
"),s.insertBefore(i),t=n[r.grouping.groupBy]}i.show()}),r.params[r.paramNames.groupBy]=r.grouping.groupBy,r.params[r.paramNames.groupByDirection]=r.grouping.direction},grouping:function(e,t){var r=e.data();t.sort(gj.grid.methods.createDefaultSorter(r.grouping.direction,r.grouping.groupBy))},createExpandCollapseHandler:function(e){return function(t){var r=$(this),a=gj.grid.plugins.grouping.private;"row"===r.closest("tr").next(":visible").data("role")?a.collapseGroup(e,r):a.expandGroup(e,r)}},collapseGroup:function(e,t){var r=t.children('div[data-role="display"]');t.closest("tr").nextUntil('[role="group"]').hide(),r.empty().append(e.icons.expandGroup)},expandGroup:function(e,t){var r=t.children('div[data-role="display"]');t.closest("tr").nextUntil('[role="group"]').show(),r.empty().append(e.icons.collapseGroup)}},public:{},configure:function(e){var t,r=e.data();$.extend(!0,e,gj.grid.plugins.grouping.public),r.grouping&&r.grouping.groupBy&&(t={title:"",width:r.defaultIconColumnWidth,align:"center",stopPropagation:!0,cssClass:"gj-cursor-pointer gj-unselectable"},r.columns=[t].concat(r.columns),e.on("initialized",function(){gj.grid.plugins.grouping.private.init(e)}),e.on("dataFiltered",function(t,r){gj.grid.plugins.grouping.private.grouping(e,r)}))}},gj.grid.messages["en-us"]={First:"First",Previous:"Previous",Next:"Next",Last:"Last",Page:"Page",FirstPageTooltip:"First Page",PreviousPageTooltip:"Previous Page",NextPageTooltip:"Next Page",LastPageTooltip:"Last Page",Refresh:"Refresh",Of:"of",DisplayingRecords:"Displaying records",RowsPerPage:"Rows per page:",Edit:"Edit",Delete:"Delete",Update:"Update",Cancel:"Cancel",NoRecordsFound:"No records found.",Loading:"Loading..."},gj.tree={plugins:{}},gj.tree.config={base:{params:{},autoLoad:!0,selectionType:"single",cascadeSelection:!1,dataSource:void 0,primaryKey:void 0,textField:"text",childrenField:"children",hasChildrenField:"hasChildren",imageCssClassField:"imageCssClass",imageUrlField:"imageUrl",imageHtmlField:"imageHtml",disabledField:"disabled",width:void 0,border:!1,uiLibrary:"materialdesign",iconsLibrary:"materialicons",autoGenId:1,autoGenFieldName:"autoId_b5497cc5-7ef3-49f5-a7dc-4a932e1aee4a",indentation:24,style:{wrapper:"gj-unselectable",list:"gj-list gj-list-md",item:void 0,active:"gj-list-md-active",leafIcon:void 0,border:"gj-tree-md-border"},icons:{expand:'',collapse:''}},bootstrap:{style:{wrapper:"gj-unselectable gj-tree-bootstrap-3",list:"gj-list gj-list-bootstrap list-group",item:"list-group-item",active:"active",border:"gj-tree-bootstrap-border"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-unselectable gj-tree-bootstrap-4",list:"gj-list gj-list-bootstrap",item:"list-group-item",active:"active",border:"gj-tree-bootstrap-border"},icons:{expand:'',collapse:''}},materialicons:{style:{expander:"gj-tree-material-icons-expander"}},fontawesome:{style:{expander:"gj-tree-font-awesome-expander"},icons:{expand:'',collapse:''}},glyphicons:{style:{expander:"gj-tree-glyphicons-expander"},icons:{expand:'',collapse:''}}},gj.tree.events={initialized:function(e){e.triggerHandler("initialized")},dataBinding:function(e){e.triggerHandler("dataBinding")},dataBound:function(e){e.triggerHandler("dataBound")},select:function(e,t,r){return e.triggerHandler("select",[t,r])},unselect:function(e,t,r){return e.triggerHandler("unselect",[t,r])},expand:function(e,t,r){return e.triggerHandler("expand",[t,r])},collapse:function(e,t,r){return e.triggerHandler("collapse",[t,r])},enable:function(e,t){return e.triggerHandler("enable",[t])},disable:function(e,t){return e.triggerHandler("disable",[t])},destroying:function(e){return e.triggerHandler("destroying")},nodeDataBound:function(e,t,r,a){return e.triggerHandler("nodeDataBound",[t,r,a])}},gj.tree.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"tree"),gj.tree.methods.initialize.call(this),this.data("autoLoad")&&this.reload(),this},initialize:function(){var e=this.data(),t=$('
    ');this.empty().addClass(e.style.wrapper).append(t),e.width&&this.width(e.width),e.border&&this.addClass(e.style.border),gj.tree.events.initialized(this)},useHtmlDataSource:function(e,t){t.dataSource=[]},render:function(e,t){var r;return t&&("string"==typeof t&&JSON&&(t=JSON.parse(t)),(r=e.data()).records=t,r.primaryKey||gj.tree.methods.genAutoId(r,r.records),gj.tree.methods.loadData(e)),e},filter:function(e){return e.data().dataSource},genAutoId:function(e,t){var r;for(r=0;r').addClass(c.style.item),$wrapper=$('
    '),$expander=$('').addClass(c.style.expander),$display=$(''+r[c.textField]+""),hasChildren=void 0!==r[c.hasChildrenField]&&"true"===r[c.hasChildrenField].toString().toLowerCase(),disabled=void 0!==r[c.disabledField]&&"true"===r[c.disabledField].toString().toLowerCase(),c.indentation&&$wrapper.append(''),disabled?gj.tree.methods.disableNode(e,n):($expander.on("click",gj.tree.methods.expanderClickHandler(e)),$display.on("click",gj.tree.methods.displayClickHandler(e))),$wrapper.append($expander),$wrapper.append($display),n.append($wrapper),i?t.find("li:eq("+(i-1)+")").before(n):t.append(n),c.imageCssClassField&&r[c.imageCssClassField]?(s=$('')).insertBefore($display):c.imageUrlField&&r[c.imageUrlField]?((s=$('')).insertBefore($display),(l=$('')).attr("width",s.width()).attr("height",s.height()),s.append(l)):c.imageHtmlField&&r[c.imageHtmlField]&&(s=$(''+r[c.imageHtmlField]+"")).insertBefore($display),r[c.childrenField]&&r[c.childrenField].length||hasChildren){if($expander.empty().append(c.icons.expand),d=$("
      ").addClass(c.style.list).addClass("gj-hidden"),n.append(d),r[c.childrenField]&&r[c.childrenField].length)for(o=0;o[data-role="wrapper"]>[data-role="expander"]'),n=e.data(),d=t.attr("data-id"),s=t.children("ul");if(!1!==gj.tree.events.expand(e,t,d)&&s&&s.length&&(s.show(),o.attr("data-mode","open"),o.empty().append(n.icons.collapse),r))for(a=t.find("ul>li"),i=0;i[data-role="wrapper"]>[data-role="expander"]'),n=e.data(),d=t.attr("data-id"),s=t.children("ul");if(!1!==gj.tree.events.collapse(e,t,d)&&s&&s.length&&(s.hide(),o.attr("data-mode","close"),o.empty().append(n.icons.expand),r))for(a=t.find("ul>li"),i=0;ili");for(t=0;tli");for(t=0;tli");for(t=0;tli"),a=0;ali");for(t=0;tli"),a=0;a[data-role="wrapper"]>[data-role="display"]').text()){i=a;break}if(a.has("ul")&&(i=gj.tree.methods.getNodeByText(a.children("ul"),t)))break}return i},addNode:function(e,t,r,a){var i,o,n=e.data();return r&&r.length?("li"===r[0].tagName.toLowerCase()&&(0===r.children("ul").length&&(r.find('[data-role="expander"]').empty().append(n.icons.collapse),r.append($("
        ").addClass(n.style.list))),r=r.children("ul")),(o=e.getDataById(r.parent().data("id")))[n.childrenField]||(o[n.childrenField]=[]),o[n.childrenField].push(t)):(r=e.children("ul"),e.data("records").push(t)),i=r.parentsUntil('[data-type="tree"]',"ul").length+1,n.primaryKey||gj.tree.methods.genAutoId(n,[t]),gj.tree.methods.appendNode(e,r,t,i,a),e},remove:function(e,t){return gj.tree.methods.removeDataById(e,t.attr("data-id"),e.data("records")),t.remove(),e},removeDataById:function(e,t,r){var a,i=e.data();for(a=0;a[data-role="wrapper"]>[data-role="display"]').html(r[a.textField]),gj.tree.events.nodeDataBound(e,i,t,r),e},getChildren:function(e,t,r){var a,i,o=[];for(i=(r=void 0===r||r)?t.find("ul li"):t.find(">ul>li"),a=0;ali");for(t=0;t[data-role="wrapper"]>[data-role="expander"]'),n=t.find('>[data-role="wrapper"]>[data-role="display"]');r=void 0===r||r;if(t.removeClass("disabled"),o.on("click",gj.tree.methods.expanderClickHandler(e)),n.on("click",gj.tree.methods.displayClickHandler(e)),gj.tree.events.enable(e,t),r)for(i=t.find("ul>li"),a=0;ali");for(t=0;t[data-role="wrapper"]>[data-role="expander"]'),n=t.find('>[data-role="wrapper"]>[data-role="display"]');r=void 0===r||r;if(t.addClass("disabled"),o.off("click"),n.off("click"),gj.tree.events.disable(e,t),r)for(i=t.find("ul>li"),a=0;a [data-role="wrapper"] > [data-role="checkbox"]').length&&(i=e.data(),o=t.find('> [data-role="wrapper"] > [data-role="expander"]'),n=$(''),d=$('').append(n),s=void 0!==a[i.disabledField]&&"true"===a[i.disabledField].toString().toLowerCase(),n=n.checkbox({uiLibrary:i.uiLibrary,iconsLibrary:i.iconsLibrary,change:function(r,i){gj.tree.plugins.checkboxes.events.checkboxChange(e,t,a,n.state())}}),s&&n.prop("disabled",!0),a[i.checkedField]&&n.state("checked"),n.on("click",function(e){var t=n.closest("li"),r=n.state();i.cascadeCheck&&(gj.tree.plugins.checkboxes.private.updateChildrenState(t,r),gj.tree.plugins.checkboxes.private.updateParentState(t,r))}),o.after(d))},updateParentState:function(e,t){var r,a,i,o,n,d;1===(r=e.parent("ul").parent("li")).length&&(a=e.parent("ul").parent("li").find('> [data-role="wrapper"] > [data-role="checkbox"] input[type="checkbox"]'),i=e.siblings().find('> [data-role="wrapper"] > span[data-role="checkbox"] input[type="checkbox"]'),o="checked"===t,n="unchecked"===t,d="indeterminate",$.each(i,function(){var e=$(this).checkbox("state");o&&"checked"!==e&&(o=!1),n&&"unchecked"!==e&&(n=!1)}),o&&!n&&(d="checked"),!o&&n&&(d="unchecked"),a.checkbox("state",d),gj.tree.plugins.checkboxes.private.updateParentState(r,a.checkbox("state")))},updateChildrenState:function(e,t){var r=e.find('ul li [data-role="wrapper"] [data-role="checkbox"] input[type="checkbox"]');r.length>0&&$.each(r,function(){$(this).checkbox("state",t)})},update:function(e,t,r){var a=t.find('[data-role="checkbox"] input[type="checkbox"]').first();$(a).checkbox("state",r),e.data().cascadeCheck&&(gj.tree.plugins.checkboxes.private.updateChildrenState(t,r),gj.tree.plugins.checkboxes.private.updateParentState(t,r))}},public:{getCheckedNodes:function(){var e=[],t=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(t,function(){var t=$(this);"checked"===t.checkbox("state")&&e.push(t.closest("li").data("id"))}),e},checkAll:function(){var e=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(e,function(){$(this).checkbox("state","checked")}),this},uncheckAll:function(){var e=this.find('li [data-role="checkbox"] input[type="checkbox"]');return $.each(e,function(){$(this).checkbox("state","unchecked")}),this},check:function(e){return gj.tree.plugins.checkboxes.private.update(this,e,"checked"),this},uncheck:function(e){return gj.tree.plugins.checkboxes.private.update(this,e,"unchecked"),this}},events:{checkboxChange:function(e,t,r,a){return e.triggerHandler("checkboxChange",[t,r,a])}},configure:function(e){e.data("checkboxes")&&gj.checkbox&&($.extend(!0,e,gj.tree.plugins.checkboxes.public),e.on("nodeDataBound",function(t,r,a,i){gj.tree.plugins.checkboxes.private.nodeDataBound(e,r,a,i)}),e.on("dataBound",function(){gj.tree.plugins.checkboxes.private.dataBound(e)}),e.on("enable",function(e,t){t.find('>[data-role="wrapper"]>[data-role="checkbox"] input[type="checkbox"]').prop("disabled",!1)}),e.on("disable",function(e,t){t.find('>[data-role="wrapper"]>[data-role="checkbox"] input[type="checkbox"]').prop("disabled",!0)}))}},gj.tree.plugins.dragAndDrop={config:{base:{dragAndDrop:void 0,style:{dragEl:"gj-tree-drag-el gj-tree-md-drag-el",dropAsChildIcon:"gj-cursor-pointer gj-icon plus",dropAbove:"gj-tree-drop-above",dropBelow:"gj-tree-drop-below"}},bootstrap:{style:{dragEl:"gj-tree-drag-el gj-tree-bootstrap-drag-el",dropAsChildIcon:"glyphicon glyphicon-plus",dropAbove:"drop-above",dropBelow:"drop-below"}},bootstrap4:{style:{dragEl:"gj-tree-drag-el gj-tree-bootstrap-drag-el",dropAsChildIcon:"gj-cursor-pointer gj-icon plus",dropAbove:"drop-above",dropBelow:"drop-below"}}},private:{nodeDataBound:function(e,t){var r=t.children('[data-role="wrapper"]'),a=t.find('>[data-role="wrapper"]>[data-role="display"]');r.length&&a.length&&(a.on("mousedown",gj.tree.plugins.dragAndDrop.private.createNodeMouseDownHandler(e)),a.on("mousemove",gj.tree.plugins.dragAndDrop.private.createNodeMouseMoveHandler(e,t,a)),a.on("mouseup",gj.tree.plugins.dragAndDrop.private.createNodeMouseUpHandler(e)))},createNodeMouseDownHandler:function(e){return function(t){e.data("dragReady",!0)}},createNodeMouseUpHandler:function(e){return function(t){e.data("dragReady",!1)}},createNodeMouseMoveHandler:function(e,t,r){return function(a){if(e.data("dragReady")){var i,o,n,d,s=e.data();e.data("dragReady",!1),i=r.clone().wrap('
        ').closest("div").wrap('
      • ').closest("li").wrap('
          ').closest("ul"),$("body").append(i),i.attr("data-role","draggable-clone").addClass("gj-unselectable").addClass(s.style.dragEl),i.find('[data-role="wrapper"]').prepend(''),i.draggable({drag:gj.tree.plugins.dragAndDrop.private.createDragHandler(e,t,r),stop:gj.tree.plugins.dragAndDrop.private.createDragStopHandler(e,t,r)}),o=r.parent(),n=r.offset().top,n-=parseInt(o.css("border-top-width"))+parseInt(o.css("margin-top"))+parseInt(o.css("padding-top")),d=r.offset().left,d-=parseInt(o.css("border-left-width"))+parseInt(o.css("margin-left"))+parseInt(o.css("padding-left")),d-=i.find('[data-role="indicator"]').outerWidth(!0),i.css({position:"absolute",top:n,left:d,width:r.outerWidth(!0)}),"true"===r.attr("data-droppable")&&r.droppable("destroy"),gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t,r).each(function(){var e=$(this);"true"===e.attr("data-droppable")&&e.droppable("destroy"),e.droppable()}),gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t).each(function(){var e=$(this);"true"===e.attr("data-droppable")&&e.droppable("destroy"),e.droppable()}),i.trigger("mousedown")}}},getTargetDisplays:function(e,t,r){return e.find('[data-role="display"]').not(r).not(t.find('[data-role="display"]'))},getTargetWrappers:function(e,t){return e.find('[data-role="wrapper"]').not(t.find('[data-role="wrapper"]'))},createDragHandler:function(e,t,r){var a=gj.tree.plugins.dragAndDrop.private.getTargetDisplays(e,t,r),i=gj.tree.plugins.dragAndDrop.private.getTargetWrappers(e,t),o=e.data();return function(e,t,r){var n=$(this),d=!1;a.each(function(){var e;if($(this).droppable("isOver",r))return e=n.find('[data-role="indicator"]'),o.style.dropAsChildIcon?e.addClass(o.style.dropAsChildIcon):e.text("+"),d=!0,!1;n.find('[data-role="indicator"]').removeClass(o.style.dropAsChildIcon).empty()}),i.each(function(){var e,t=$(this);!d&&t.droppable("isOver",r)?(e=t.position().top+t.outerHeight()/2,r.y").addClass(o.style.list),s.append(r)),!1!==gj.tree.plugins.dragAndDrop.events.nodeDrop(e,t.data("id"),s.data("id"),r.children("li").length+1)&&(r.append(t),d=e.getDataById(t.data("id")),gj.tree.methods.removeDataById(e,t.data("id"),o.records),void 0===(c=e.getDataById(r.parent().data("id")))[o.childrenField]&&(c[o.childrenField]=[]),c[o.childrenField].push(d),gj.tree.plugins.dragAndDrop.private.refresh(e,t,s,l)),g=!0,!1;a.droppable("destroy")}),g||i.each(function(){var r,a,i,c=$(this);if(c.droppable("isOver",n))return s=c.closest("li"),l=t.parent("ul").parent("li"),r=n.y [data-role="wrapper"] > [data-role="expander"]');a.hasChildren&&o.empty().append(i.icons.expand)},createDoneHandler:function(e,t){return function(r){var a,i,o,n=e.data();if("string"==typeof r&&JSON&&(r=JSON.parse(r)),r&&r.length){for(0===(o=t.children("ul")).length&&(o=$("
            ").addClass(n.style.list),t.append(o)),a=0;a[data-role="wrapper"]>[data-role="expander"]')).attr("data-mode","open"),i.empty().append(n.icons.collapse),gj.tree.events.dataBound(e)}}},expand:function(e,t,r){var a,i=e.data(),o={},n=t.find(">ul>li");n&&n.length||"string"==typeof i.dataSource&&(o[i.paramNames.parentId]=r,a={url:i.dataSource,data:o},e.xhr&&e.xhr.abort(),e.xhr=$.ajax(a).done(gj.tree.plugins.lazyLoading.private.createDoneHandler(e,t)).fail(e.createErrorHandler()))}},public:{},events:{},configure:function(e,t,r){r.lazyLoading&&(e.on("nodeDataBound",function(t,r,a,i){gj.tree.plugins.lazyLoading.private.nodeDataBound(e,r,a,i)}),e.on("expand",function(t,r,a){gj.tree.plugins.lazyLoading.private.expand(e,r,a)}))}},gj.checkbox={plugins:{}},gj.checkbox.config={base:{uiLibrary:"materialdesign",iconsLibrary:"materialicons",style:{wrapperCssClass:"gj-checkbox-md",spanCssClass:void 0}},bootstrap:{style:{wrapperCssClass:"gj-checkbox-bootstrap"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapperCssClass:"gj-checkbox-bootstrap gj-checkbox-bootstrap-4"},iconsLibrary:"materialicons"},materialicons:{style:{iconsCssClass:"gj-checkbox-material-icons",spanCssClass:"gj-icon"}},glyphicons:{style:{iconsCssClass:"gj-checkbox-glyphicons",spanCssClass:""}},fontawesome:{style:{iconsCssClass:"gj-checkbox-fontawesome",spanCssClass:"fa"}}},gj.checkbox.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"checkbox"),this.attr("data-checkbox","true"),gj.checkbox.methods.initialize(this),this},initialize:function(e){var t,r,a=e.data();a.style.wrapperCssClass&&(t=$(''),e.attr("id")&&t.attr("for",e.attr("id")),e.wrap(t),r=$(""),a.style.spanCssClass&&r.addClass(a.style.spanCssClass),e.parent().append(r))},state:function(e,t){return t?("checked"===t?(e.prop("indeterminate",!1),e.prop("checked",!0)):"unchecked"===t?(e.prop("indeterminate",!1),e.prop("checked",!1)):"indeterminate"===t&&(e.prop("checked",!0),e.prop("indeterminate",!0)),gj.checkbox.events.change(e,t),e):t=e.prop("indeterminate")?"indeterminate":e.prop("checked")?"checked":"unchecked"},toggle:function(e){return"checked"==e.state()?e.state("unchecked"):e.state("checked"),e},destroy:function(e){return"true"===e.attr("data-checkbox")&&(e.removeData(),e.removeAttr("data-guid"),e.removeAttr("data-checkbox"),e.off(),e.next("span").remove(),e.unwrap()),e}},gj.checkbox.events={change:function(e,t){return e.triggerHandler("change",[t])}},gj.checkbox.widget=function(e,t){var r=gj.checkbox.methods;return this.toggle=function(){return r.toggle(this)},this.state=function(e){return r.state(this,e)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-checkbox")&&r.init.call(e,t),e},gj.checkbox.widget.prototype=new gj.widget,gj.checkbox.widget.constructor=gj.checkbox.widget,jQuery.fn.checkbox=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.checkbox.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.checkbox.widget(this,e)}},gj.editor={plugins:{},messages:{}},gj.editor.config={base:{height:300,width:void 0,uiLibrary:"materialdesign",iconsLibrary:"materialicons",locale:"en-us",buttons:void 0,style:{wrapper:"gj-editor gj-editor-md",buttonsGroup:"gj-button-md-group",button:"gj-button-md",buttonActive:"active"}},bootstrap:{style:{wrapper:"gj-editor gj-editor-bootstrap",buttonsGroup:"btn-group",button:"btn btn-default gj-cursor-pointer",buttonActive:"active"}},bootstrap4:{style:{wrapper:"gj-editor gj-editor-bootstrap",buttonsGroup:"btn-group",button:"btn btn-outline-secondary gj-cursor-pointer",buttonActive:"active"}},materialicons:{icons:{bold:'',italic:'',strikethrough:'',underline:'',listBulleted:'',listNumbered:'',indentDecrease:'',indentIncrease:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',undo:'',redo:''}},fontawesome:{icons:{bold:'',italic:'',strikethrough:'',underline:'',listBulleted:'',listNumbered:'',indentDecrease:'',indentIncrease:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',undo:'',redo:''}}},gj.editor.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"editor"),this.attr("data-editor","true"),gj.editor.methods.initialize(this),this},initialize:function(e){var t,r,a,i,o,n=this,d=e.data();if(e.hide(),"wrapper"!==e[0].parentElement.attributes.role&&((a=document.createElement("div")).setAttribute("role","wrapper"),e[0].parentNode.insertBefore(a,e[0]),a.appendChild(e[0])),gj.editor.methods.localization(d),$(a).addClass(d.style.wrapper),d.width&&$(a).width(d.width),0===(i=$(a).children('div[role="body"]')).length&&(i=$('
            '),$(a).append(i),e[0].innerText&&(i[0].innerHTML=e[0].innerText)),i.attr("contenteditable",!0),i.on("keydown",function(t){var r=event.keyCode||event.charCode;!1===gj.editor.events.changing(e)&&8!==r&&46!==r&&t.preventDefault()}),i.on("mouseup keyup mouseout cut paste",function(t){n.updateToolbar(e,o),gj.editor.events.changed(e),e.html(i.html())}),0===(o=$(a).children('div[role="toolbar"]')).length)for(var s in o=$('
            '),i.before(o),d.buttons){for(var l in t=$("
            ").addClass(d.style.buttonsGroup),d.buttons[s])(r=$(d.buttons[s][l])).on("click",function(){gj.editor.methods.executeCmd(e,i,o,$(this))}),t.append(r);o.append(t)}i.height(d.height-gj.core.height(o[0],!0))},localization:function(e){var t=gj.editor.messages[e.locale];void 0===e.buttons&&(e.buttons=[['",'",'",'"],['",'",'",'"],['",'",'",'"],['",'"]])},updateToolbar:function(e,t){var r=e.data();$buttons=t.find("[role]").each(function(){var e=$(this),t=e.attr("role");t&&document.queryCommandEnabled(t)&&"true"===document.queryCommandValue(t)?e.addClass(r.style.buttonActive):e.removeClass(r.style.buttonActive)})},executeCmd:function(e,t,r,a){t.focus(),document.execCommand(a.attr("role"),!1),gj.editor.methods.updateToolbar(e,r)},content:function(e,t){var r=e.parent().children('div[role="body"]');return void 0===t?r.html():r.html(t)},destroy:function(e){var t;return"true"===e.attr("data-editor")&&((t=e.parent()).children('div[role="body"]').remove(),t.children('div[role="toolbar"]').remove(),e.unwrap(),e.removeData(),e.removeAttr("data-guid"),e.removeAttr("data-editor"),e.off(),e.show()),e}},gj.editor.events={changing:function(e){return e.triggerHandler("changing")},changed:function(e){return e.triggerHandler("changed")}},gj.editor.widget=function(e,t){var r=gj.editor.methods;return this.content=function(e){return r.content(this,e)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-editor")&&r.init.call(e,t),e},gj.editor.widget.prototype=new gj.widget,gj.editor.widget.constructor=gj.editor.widget,jQuery.fn.editor=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.editor.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.editor.widget(this,e)}},gj.editor.messages["en-us"]={bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",listBulleted:"List Bulleted",listNumbered:"List Numbered",indentDecrease:"Indent Decrease",indentIncrease:"Indent Increase",alignLeft:"Align Left",alignCenter:"Align Center",alignRight:"Align Right",alignJustify:"Align Justify",undo:"Undo",redo:"Redo"},gj.dropdown={plugins:{}},gj.dropdown.config={base:{dataSource:void 0,textField:"text",valueField:"value",selectedField:"selected",width:void 0,maxHeight:"auto",placeholder:void 0,fontSize:void 0,uiLibrary:"materialdesign",iconsLibrary:"materialicons",icons:{dropdown:'',dropup:''},style:{wrapper:"gj-dropdown gj-dropdown-md gj-unselectable",list:"gj-list gj-list-md gj-dropdown-list-md",active:"gj-list-md-active"}},bootstrap:{style:{wrapper:"gj-dropdown gj-dropdown-bootstrap gj-dropdown-bootstrap-3 gj-unselectable",presenter:"btn btn-default",list:"gj-list gj-list-bootstrap gj-dropdown-list-bootstrap list-group",item:"list-group-item",active:"active"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-dropdown gj-dropdown-bootstrap gj-dropdown-bootstrap-4 gj-unselectable",presenter:"btn btn-outline-secondary",list:"gj-list gj-list-bootstrap gj-dropdown-list-bootstrap list-group",item:"list-group-item",active:"active"}},materialicons:{style:{expander:"gj-dropdown-expander-mi"}},fontawesome:{icons:{dropdown:'',dropup:''},style:{expander:"gj-dropdown-expander-fa"}},glyphicons:{icons:{dropdown:'',dropup:''},style:{expander:"gj-dropdown-expander-glyphicons"}}},gj.dropdown.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"dropdown"),this.attr("data-dropdown","true"),gj.dropdown.methods.initialize(this),this},getHTMLConfig:function(){var e=gj.widget.prototype.getHTMLConfig.call(this),t=this[0].attributes;return t.placeholder&&(e.placeholder=t.placeholder.value),e},initialize:function(e){var t=e.data(),r=e.parent('div[role="wrapper"]'),a=$(''),i=$(''+t.icons.dropdown+"").addClass(t.style.expander),o=$('').addClass(t.style.presenter),n=$('
              ').attr("guid",e.attr("data-guid"));0===r.length?(r=$('
              ').addClass(t.style.wrapper),e.wrap(r)):r.addClass(t.style.wrapper),t.fontSize&&o.css("font-size",t.fontSize),o.on("click",function(t){n.is(":visible")?gj.dropdown.methods.close(e,n):gj.dropdown.methods.open(e,n)}),o.on("blur",function(t){setTimeout(function(){gj.dropdown.methods.close(e,n)},500)}),o.append(a).append(i),e.hide(),e.after(o),$("body").append(n),n.hide(),e.reload()},setListPosition:function(e,t,r){var a,i,o,n,d=e.getBoundingClientRect(),s=window.scrollY||window.pageYOffset||0;window.scrollX||window.pageXOffset;t.style.overflow="",t.style.overflowX="",t.style.height="",gj.core.setChildPosition(e,t),a=gj.core.height(t,!0),n=t.getBoundingClientRect(),i=gj.core.height(e,!0),"auto"===r.maxHeight?d.topwindow.innerHeight&&(o=window.innerHeight-d.top-i-3):d.top-a-3>0?t.style.top=Math.round(d.top+s-a-3)+"px":(t.style.top=s+"px",o=d.top-3):!isNaN(r.maxHeight)&&r.maxHeight
              '+o+"
              ")).addClass(a.style.item),t.on("click",function(t){gj.dropdown.methods.select(e,i)}),n.append(t),e.append('"),d&&r.push(i)}),0===r.length)e.prepend(''),e[0].selectedIndex=0,a.placeholder&&(s[0].innerHTML=''+a.placeholder+"");else for(i=0;i'+r.placeholder+""),e[0].value=""),gj.dropdown.events.change(e),gj.dropdown.methods.close(e,a),e},getRecordByValue:function(e,t){var r,a=e.data(),i=void 0;for(r=0;r0&&(r.children('[role="presenter"]').remove(),r.children('[role="list"]').remove(),e.unwrap()),e.show()),e}},gj.dropdown.events={change:function(e){return e.triggerHandler("change")},dataBound:function(e){return e.triggerHandler("dataBound")}},gj.dropdown.widget=function(e,t){var r=gj.dropdown.methods;return this.value=function(e){return r.value(this,e)},this.enable=function(){return r.enable(this)},this.disable=function(){return r.disable(this)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-dropdown")&&r.init.call(e,t),e},gj.dropdown.widget.prototype=new gj.widget,gj.dropdown.widget.constructor=gj.dropdown.widget,gj.dropdown.widget.prototype.getHTMLConfig=gj.dropdown.methods.getHTMLConfig,jQuery.fn.dropdown=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.dropdown.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.dropdown.widget(this,e)}},gj.datepicker={plugins:{}},gj.datepicker.config={base:{showOtherMonths:!1,selectOtherMonths:!0,width:void 0,minDate:void 0,maxDate:void 0,format:"mm/dd/yyyy",uiLibrary:"materialdesign",iconsLibrary:"materialicons",value:void 0,weekStartDay:0,disableDates:void 0,disableDaysOfWeek:void 0,calendarWeeks:!1,keyboardNavigation:!0,locale:"en-us",icons:{rightIcon:'event',previousMonth:'',nextMonth:''},fontSize:void 0,size:"default",modal:!1,header:!1,footer:!1,showOnFocus:!0,showRightIcon:!0,style:{modal:"gj-modal",wrapper:"gj-datepicker gj-datepicker-md gj-unselectable",input:"gj-textbox-md",calendar:"gj-picker gj-picker-md datepicker gj-unselectable",footer:"",button:"gj-button-md"}},bootstrap:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-picker gj-picker-bootstrap datepicker gj-unselectable",footer:"modal-footer",button:"btn btn-default"},iconsLibrary:"glyphicons",showOtherMonths:!0},bootstrap4:{style:{wrapper:"gj-datepicker gj-datepicker-bootstrap gj-unselectable input-group",input:"form-control",calendar:"gj-picker gj-picker-bootstrap datepicker gj-unselectable",footer:"modal-footer",button:"btn btn-default"},showOtherMonths:!0},fontawesome:{icons:{rightIcon:'',previousMonth:'',nextMonth:''}},glyphicons:{icons:{rightIcon:'',previousMonth:'',nextMonth:''}}},gj.datepicker.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"datepicker"),this.attr("data-datepicker","true"),gj.datepicker.methods.initialize(this,this.data()),this},initialize:function(e,t){var r,a,i=e.parent('div[role="wrapper"]');0===i.length?(i=$('
              ').addClass(t.style.wrapper),e.wrap(i)):i.addClass(t.style.wrapper),i=e.parent('div[role="wrapper"]'),t.width&&i.css("width",t.width),e.val(t.value).addClass(t.style.input).attr("role","input"),t.fontSize&&e.css("font-size",t.fontSize),"bootstrap"===t.uiLibrary||"bootstrap4"===t.uiLibrary?"small"===t.size?(i.addClass("input-group-sm"),e.addClass("form-control-sm")):"large"===t.size&&(i.addClass("input-group-lg"),e.addClass("form-control-lg")):"small"===t.size?i.addClass("small"):"large"===t.size&&i.addClass("large"),t.showRightIcon&&((a="bootstrap"===t.uiLibrary?$(''+t.icons.rightIcon+""):"bootstrap4"===t.uiLibrary?$('"):$(t.icons.rightIcon)).attr("role","right-icon"),a.on("click",function(r){$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]').is(":visible")?gj.datepicker.methods.close(e):gj.datepicker.methods.open(e,t)}),i.append(a)),t.showOnFocus&&e.on("focus",function(){gj.datepicker.methods.open(e,t)}),r=gj.datepicker.methods.createCalendar(e,t),!0!==t.footer&&(e.on("blur",function(){e.timeout=setTimeout(function(){gj.datepicker.methods.close(e)},500)}),r.mousedown(function(){return clearTimeout(e.timeout),document.activeElement!==e[0]&&e.focus(),!1}),r.on("click",function(){clearTimeout(e.timeout),document.activeElement!==e[0]&&e.focus()})),t.keyboardNavigation&&$(document).on("keydown",gj.datepicker.methods.createKeyDownHandler(e,r,t))},createCalendar:function(e,t){var r,a,i,o,n,d=$('
              ').addClass(t.style.calendar).attr("guid",e.attr("data-guid"));return t.fontSize&&d.css("font-size",t.fontSize),!(r=gj.core.parseDate(t.value,t.format,t.locale))||isNaN(r.getTime())?r=new Date:e.attr("day",r.getFullYear()+"-"+r.getMonth()+"-"+r.getDate()),d.attr("month",r.getMonth()),d.attr("year",r.getFullYear()),gj.datepicker.methods.renderHeader(e,d,t,r),a=$('
              '),d.append(a),t.footer&&(i=$('
              '),(o=$('")).on("click",function(){e.close()}),i.append(o),(n=$('")).on("click",function(){var r,a,i=d.attr("selectedDay");i?(a=i.split("-"),r=new Date(a[0],a[1],a[2],d.attr("hour")||0,d.attr("minute")||0),gj.datepicker.methods.change(e,d,t,r)):e.close()}),i.append(n),d.append(i)),d.hide(),$("body").append(d),t.modal&&(d.wrapAll('
              '),gj.core.center(d)),d},renderHeader:function(e,t,r,a){var i,o,n;r.header&&(i=$('
              '),(n=$('
              ').on("click",function(){gj.datepicker.methods.renderDecade(e,t,r),n.addClass("selected"),o.removeClass("selected")})).html(gj.core.formatDate(a,"yyyy",r.locale)),i.append(n),(o=$('
              ').on("click",function(){gj.datepicker.methods.renderMonth(e,t,r),o.addClass("selected"),n.removeClass("selected")})).html(gj.core.formatDate(a,"ddd, mmm dd",r.locale)),i.append(o),t.append(i))},updateHeader:function(e,t,r){e.find('[role="header"] [role="year"]').removeClass("selected").html(gj.core.formatDate(r,"yyyy",t.locale)),e.find('[role="header"] [role="date"]').addClass("selected").html(gj.core.formatDate(r,"ddd, mmm dd",t.locale)),e.find('[role="header"] [role="hour"]').removeClass("selected").html(gj.core.formatDate(r,"HH",t.locale)),e.find('[role="header"] [role="minute"]').removeClass("selected").html(gj.core.formatDate(r,"MM",t.locale))},createNavigation:function(e,t,r,a){var o,n,d=$("");for((n=$('
              ')).append($("
              "+a.icons.previousMonth+"
              ").on("click",gj.datepicker.methods.prev(e,a))),n.append($('
              ').on("click",gj.datepicker.methods.changePeriod(e,a))),n.append($("
              "+a.icons.nextMonth+"
              ").on("click",gj.datepicker.methods.next(e,a))),t.append(n),o=$(''),a.calendarWeeks&&o.append("
               
              "),i=a.weekStartDay;i
              "+gj.core.messages[a.locale].weekDaysMin[i]+"
              ");for(i=0;i
              "+gj.core.messages[a.locale].weekDaysMin[i]+"
              ");d.append(o),r.append(d)},renderMonth:function(e,t,r){var a,i,o,n,d,s,l,c,g,p,u,h,f,m,v,b=t.children('[role="body"]'),y=$(""),j=$(""),w=gj.core.messages[r.locale].titleFormat;for(b.off().empty(),gj.datepicker.methods.createNavigation(e,b,y,r),n=parseInt(t.attr("month"),10),d=parseInt(t.attr("year"),10),t.attr("type","month"),w=w.replace("mmmm",gj.core.messages[r.locale].monthNames[n]).replace("yyyy",d),t.find('div[role="period"]').text(w),s=new Array(31,28,31,30,31,30,31,31,30,31,30,31),d%4==0&&1900!=d&&(s[1]=29),l=s[n],c=(new Date(d,n,1).getDay()+7-r.weekStartDay)%7,a=0,$row=$(""),u=gj.datepicker.methods.getPrevMonth(n,d),g=1;g<=c;g++)o=s[u.month]-c+g,v=new Date(u.year,u.month,o),r.calendarWeeks&&1===g&&$row.append('"),f=$('"),r.calendarWeeks&&$row.append('")),f=$('"),o=4*i;o<=4*i+3;o++)(n=$("
              "+gj.core.messages[r.locale].monthShortNames[o]+"
              ")).on("click",gj.datepicker.methods.selectMonth(e,t,r,o)),$cell=$("").append(n),$row.append($cell);s.append($row)}},renderDecade:function(e,t,r){var a,i,o,n,d,s=t.find('>[role="body"]>table'),l=s.children("tbody");for(s.children("thead").hide(),i=(a=parseInt(t.attr("year"),10))-a%10,t.attr("type","decade"),t.find('div[role="period"]').text(i+" - "+(i+9)),l.empty(),o=i-1;o<=i+10;o+=4){for($row=$(""),n=o;n<=o+3;n++)(d=$("
              "+n+"
              ")).on("click",gj.datepicker.methods.selectYear(e,t,r,n)),$cell=$("").append(d),$row.append($cell);l.append($row)}},renderCentury:function(e,t,r){var a,i,o,n,d,s=t.find('>[role="body"]>table'),l=s.children("tbody");for(s.children("thead").hide(),i=(a=parseInt(t.attr("year"),10))-a%100,t.attr("type","century"),t.find('div[role="period"]').text(i+" - "+(i+99)),l.empty(),o=i-10;o"),n=o;n<=o+30;n+=10)(d=$("
              "+n+"
              ")).on("click",gj.datepicker.methods.selectDecade(e,t,r,n)),$cell=$("
              ").append(d),$row.append($cell);l.append($row)}},getWeekNumber:function(e){var t=new Date(e.valueOf());t.setDate(t.getDate()+6),(t=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()))).setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7));var r=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-r)/864e5+1)/7)},getMinDate:function(e){var t;return e.minDate&&("string"==typeof e.minDate?t=gj.core.parseDate(e.minDate,e.format,e.locale):"function"==typeof e.minDate?"string"==typeof(t=e.minDate())&&(t=gj.core.parseDate(t,e.format,e.locale)):"function"==typeof e.minDate.getMonth&&(t=e.minDate)),t},getMaxDate:function(e){var t;return e.maxDate&&("string"==typeof e.maxDate?t=gj.core.parseDate(e.maxDate,e.format,e.locale):"function"==typeof e.maxDate?"string"==typeof(t=e.maxDate())&&(t=gj.core.parseDate(t,e.format,e.locale)):"function"==typeof e.maxDate.getMonth&&(t=e.maxDate)),t},isSelectable:function(e,t){var r,a=!0,i=gj.datepicker.methods.getMinDate(e),o=gj.datepicker.methods.getMaxDate(e);if(i&&to&&(a=!1),a){if(e.disableDates)if($.isArray(e.disableDates))for(r=0;r-1&&(a=!1)}return a},getPrevMonth:function(e,t){return date=new Date(t,e,1),date.setMonth(date.getMonth()-1),{month:date.getMonth(),year:date.getFullYear()}},getNextMonth:function(e,t){return date=new Date(t,e,1),date.setMonth(date.getMonth()+1),{month:date.getMonth(),year:date.getFullYear()}},prev:function(e,t){return function(){var r,a,i,o,n,d=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(i=parseInt(d.attr("year"),10),d.attr("type")){case"month":a=parseInt(d.attr("month"),10),r=gj.datepicker.methods.getPrevMonth(a,i),d.attr("month",r.month),d.attr("year",r.year),gj.datepicker.methods.renderMonth(e,d,t);break;case"year":d.attr("year",i-1),gj.datepicker.methods.renderYear(e,d,t);break;case"decade":o=i-i%10,d.attr("year",o-10),gj.datepicker.methods.renderDecade(e,d,t);break;case"century":n=i-i%100,d.attr("year",n-100),gj.datepicker.methods.renderCentury(e,d,t)}}},next:function(e,t){return function(){var r,a,i,o,n,d=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(i=parseInt(d.attr("year"),10),d.attr("type")){case"month":a=parseInt(d.attr("month"),10),r=gj.datepicker.methods.getNextMonth(a,i),d.attr("month",r.month),d.attr("year",r.year),gj.datepicker.methods.renderMonth(e,d,t);break;case"year":d.attr("year",i+1),gj.datepicker.methods.renderYear(e,d,t);break;case"decade":o=i-i%10,d.attr("year",o+10),gj.datepicker.methods.renderDecade(e,d,t);break;case"century":n=i-i%100,d.attr("year",n+100),gj.datepicker.methods.renderCentury(e,d,t)}}},changePeriod:function(e,t){return function(r){var a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(a.attr("type")){case"month":gj.datepicker.methods.renderYear(e,a,t);break;case"year":gj.datepicker.methods.renderDecade(e,a,t);break;case"decade":gj.datepicker.methods.renderCentury(e,a,t)}}},dayClickHandler:function(e,t,r,a){return function(i){return i&&i.stopPropagation(),gj.datepicker.methods.selectDay(e,t,r,a),!0!==r.footer&&!1!==r.autoClose&&gj.datepicker.methods.change(e,t,r,a),e}},change:function(e,t,r,a){a.getDate();var i=a.getMonth(),o=a.getFullYear(),n=gj.core.formatDate(a,r.format,r.locale);t.attr("month",i),t.attr("year",o),e.val(n),gj.datepicker.events.change(e),"none"!==window.getComputedStyle(t[0]).display&&gj.datepicker.methods.close(e)},selectDay:function(e,t,r,a){var i=a.getDate(),o=a.getMonth(),n=a.getFullYear();t.attr("selectedDay",n+"-"+o+"-"+i),t.find("tbody td").removeClass("selected"),t.find('tbody td[day="'+i+'"][month="'+o+'"]').addClass("selected"),gj.datepicker.methods.updateHeader(t,r,a),gj.datepicker.events.select(e,"day")},selectMonth:function(e,t,r,a){return function(i){t.attr("month",a),gj.datepicker.methods.renderMonth(e,t,r),gj.datepicker.events.select(e,"month")}},selectYear:function(e,t,r,a){return function(i){t.attr("year",a),gj.datepicker.methods.renderYear(e,t,r),gj.datepicker.events.select(e,"year")}},selectDecade:function(e,t,r,a){return function(i){t.attr("year",a),gj.datepicker.methods.renderDecade(e,t,r),gj.datepicker.events.select(e,"decade")}},open:function(e,t){var r,a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');switch(e.val()?e.value(e.val()):(r=new Date,a.attr("month",r.getMonth()),a.attr("year",r.getFullYear())),a.attr("type")){case"month":gj.datepicker.methods.renderMonth(e,a,t);break;case"year":gj.datepicker.methods.renderYear(e,a,t);break;case"decade":gj.datepicker.methods.renderDecade(e,a,t);break;case"century":gj.datepicker.methods.renderCentury(e,a,t)}a.show(),a.closest('div[role="modal"]').show(),t.modal?gj.core.center(a):(gj.core.setChildPosition(e[0],a[0]),document.activeElement!==e[0]&&e.focus()),clearTimeout(e.timeout),gj.datepicker.events.open(e)},close:function(e){var t=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');t.hide(),t.closest('div[role="modal"]').hide(),gj.datepicker.events.close(e)},createKeyDownHandler:function(e,t,r){return function(a){var i,o,n,d,s,l;a=a||window.event;"none"!==window.getComputedStyle(t[0]).display&&(l=gj.datepicker.methods.getActiveCell(t),"38"==a.keyCode?(d=l.index(),(s=l.closest("tr").prev("tr").find("td:eq("+d+")")).is("[day]")||(gj.datepicker.methods.prev(e,r)(),(s=t.find("tbody tr").last().find("td:eq("+d+")")).is(":empty")&&(s=t.find("tbody tr").last().prev().find("td:eq("+d+")"))),s.is("[day]")&&(s.addClass("focused"),l.removeClass("focused"))):"40"==a.keyCode?(d=l.index(),(s=l.closest("tr").next("tr").find("td:eq("+d+")")).is("[day]")||(gj.datepicker.methods.next(e,r)(),(s=t.find("tbody tr").first().find("td:eq("+d+")")).is("[day]")||(s=t.find("tbody tr:eq(1)").find("td:eq("+d+")"))),s.is("[day]")&&(s.addClass("focused"),l.removeClass("focused"))):"37"==a.keyCode?(0===(s=l.prev("td[day]:not(.disabled)")).length&&(s=l.closest("tr").prev("tr").find("td[day]").last()),0===s.length&&(gj.datepicker.methods.prev(e,r)(),s=t.find("tbody tr").last().find("td[day]").last()),s.length>0&&(s.addClass("focused"),l.removeClass("focused"))):"39"==a.keyCode?(0===(s=l.next("[day]:not(.disabled)")).length&&(s=l.closest("tr").next("tr").find("td[day]").first()),0===s.length&&(gj.datepicker.methods.next(e,r)(),s=t.find("tbody tr").first().find("td[day]").first()),s.length>0&&(s.addClass("focused"),l.removeClass("focused"))):"13"==a.keyCode?(n=parseInt(l.attr("day"),10),i=parseInt(l.attr("month"),10),o=parseInt(l.attr("year"),10),gj.datepicker.methods.dayClickHandler(e,t,r,new Date(o,i,n))()):"27"==a.keyCode&&e.close())}},getActiveCell:function(e){var t=e.find("td[day].focused");return 0===t.length&&0===(t=e.find("td[day].selected")).length&&0===(t=e.find("td[day].today")).length&&(t=e.find("td[day]:not(.disabled)").first()),t},value:function(e,t){var r,a,i=e.data();return void 0===t?e.val():((a=gj.core.parseDate(t,i.format,i.locale))&&a.getTime()?(r=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]'),gj.datepicker.methods.dayClickHandler(e,r,i,a)()):e.val(""),e)},destroy:function(e){var t=e.data(),r=e.parent(),a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');return t&&(e.off(),a.parent('[role="modal"]').length>0&&a.unwrap(),a.remove(),e.removeData(),e.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datepicker"),e.removeClass(),r.children('[role="right-icon"]').remove(),e.unwrap()),e}},gj.datepicker.events={change:function(e){return e.triggerHandler("change")},select:function(e,t){return e.triggerHandler("select",[t])},open:function(e){return e.triggerHandler("open")},close:function(e){return e.triggerHandler("close")}},gj.datepicker.widget=function(e,t){var r=gj.datepicker.methods;return this.value=function(e){return r.value(this,e)},this.destroy=function(){return r.destroy(this)},this.open=function(){return r.open(this,this.data())},this.close=function(){return r.close(this)},$.extend(e,this),"true"!==e.attr("data-datepicker")&&r.init.call(e,t),e},gj.datepicker.widget.prototype=new gj.widget,gj.datepicker.widget.constructor=gj.datepicker.widget,jQuery.fn.datepicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.datepicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.datepicker.widget(this,e)}},gj.timepicker={plugins:{}},gj.timepicker.config={base:{width:void 0,modal:!0,header:!0,footer:!0,format:"HH:MM",uiLibrary:"materialdesign",value:void 0,mode:"ampm",locale:"en-us",size:"default",icons:{rightIcon:''},style:{modal:"gj-modal",wrapper:"gj-timepicker gj-timepicker-md gj-unselectable",input:"gj-textbox-md",clock:"gj-picker gj-picker-md timepicker",footer:"",button:"gj-button-md"}},bootstrap:{style:{wrapper:"gj-timepicker gj-timepicker-bootstrap gj-unselectable input-group",input:"form-control",clock:"gj-picker gj-picker-bootstrap timepicker",footer:"modal-footer",button:"btn btn-default"},iconsLibrary:"glyphicons"},bootstrap4:{style:{wrapper:"gj-timepicker gj-timepicker-bootstrap gj-unselectable input-group",input:"form-control border",clock:"gj-picker gj-picker-bootstrap timepicker",footer:"modal-footer",button:"btn btn-default"}}},gj.timepicker.methods={init:function(e){return gj.picker.widget.prototype.init.call(this,e,"timepicker"),this},initialize:function(){},initMouse:function(e,t,r,a){e.off(),e.on("mousedown",gj.timepicker.methods.mouseDownHandler(t,r)),e.on("mousemove",gj.timepicker.methods.mouseMoveHandler(t,r,a)),e.on("mouseup",gj.timepicker.methods.mouseUpHandler(t,r,a))},createPicker:function(e){var t,r=e.data(),a=$('
              ').addClass(r.style.clock).attr("guid",e.attr("data-guid")),i=$('
              '),o=$('
              '),n=$('
              '),d=$('
              '),s=$('
              '),l=$('"),c=$('"),g=$('
              ');return!(t=gj.core.parseDate(r.value,r.format,r.locale))||isNaN(t.getTime())?t=new Date:e.attr("hours",t.getHours()),gj.timepicker.methods.initMouse(s,e,a,r),r.header&&(i.on("click",function(){gj.timepicker.methods.renderHours(e,a,r)}),o.on("click",function(){gj.timepicker.methods.renderMinutes(e,a,r)}),n.append(i).append(":").append(o),"ampm"===r.mode&&(d.append($(''+gj.core.messages[r.locale].am+"").on("click",function(){var t=gj.timepicker.methods.getHour(a);a.attr("mode","am"),$(this).addClass("selected"),$(this).parent().children('[role="pm"]').removeClass("selected"),t>=12&&a.attr("hour",t-12),r.modal||(clearTimeout(e.timeout),e.focus())})),d.append("
              "),d.append($(''+gj.core.messages[r.locale].pm+"").on("click",function(){var t=gj.timepicker.methods.getHour(a);a.attr("mode","pm"),$(this).addClass("selected"),$(this).parent().children('[role="am"]').removeClass("selected"),t<12&&a.attr("hour",t+12),r.modal||(clearTimeout(e.timeout),e.focus())})),n.append(d)),a.append(n)),a.append(s),r.footer&&(c.on("click",function(){e.close()}),g.append(c),l.on("click",gj.timepicker.methods.setTime(e,a)),g.append(l),a.append(g)),a.hide(),$("body").append(a),r.modal&&(a.wrapAll('
              '),gj.core.center(a)),a},getHour:function(e){return parseInt(e.attr("hour"),10)||0},getMinute:function(e){return parseInt(e.attr("minute"),10)||0},setTime:function(e,t){return function(){var r=gj.timepicker.methods.getHour(t),a=gj.timepicker.methods.getMinute(t),i=t.attr("mode"),o=new Date(0,0,0,12===r&&"am"===i?0:r,a),n=e.data(),d=gj.core.formatDate(o,n.format,n.locale);e.value(d),e.close()}},getPointerValue:function(e,t,r){var a,i,o=Math.atan2(128-e,128-t)/Math.PI*180;switch(o<0&&(o=360+o),r){case"ampm":return 0===(a=12-Math.round(12*o/360))?12:a;case"24hr":return i=Math.sqrt(Math.pow(128-e,2)+Math.pow(128-t,2)),0===(a=12-Math.round(12*o/360))&&(a=12),i<96&&(a=12===a?0:a+12),a;case"minutes":return 60===(a=Math.round(60-60*o/360))?0:a}},updateArrow:function(e,t,r,a){var i,o,n=t.mouseX(e),d=t.mouseY(e),s=window.scrollY||window.pageYOffset||0,l=window.scrollX||window.pageXOffset||0;i=e.target.getBoundingClientRect(),"hours"==a.dialMode?(o=gj.timepicker.methods.getPointerValue(n-l-i.left,d-s-i.top,a.mode),r.attr("hour","ampm"===a.mode&&"pm"===r.attr("mode")&&o<12?o+12:o)):"minutes"==a.dialMode&&(o=gj.timepicker.methods.getPointerValue(n-l-i.left,d-s-i.top,"minutes"),r.attr("minute",o)),gj.timepicker.methods.update(t,r,a)},update:function(e,t,r){var a,i,o,n,d,s;a=gj.timepicker.methods.getHour(t),i=gj.timepicker.methods.getMinute(t),o=t.find('[role="arrow"]'),"hours"==r.dialMode&&(0==a||a>12)&&"24hr"===r.mode?o.css("width","calc(50% - 52px)"):o.css("width","calc(50% - 20px)"),"hours"==r.dialMode?o.css("transform","rotate("+(30*a-90).toString()+"deg)"):o.css("transform","rotate("+(6*i-90).toString()+"deg)"),o.show(),n="ampm"===r.mode&&a>12?a-12:0==a?12:a,(s=t.find('[role="body"] span')).removeClass("selected"),s.filter(function(e){return"hours"==r.dialMode?parseInt($(this).text(),10)==n:parseInt($(this).text(),10)==i}).addClass("selected"),r.header&&((d=t.find('[role="header"]')).find('[role="hour"]').text(n),d.find('[role="minute"]').text(gj.core.pad(i)),"ampm"===r.mode&&(a>=12?(d.find('[role="pm"]').addClass("selected"),d.find('[role="am"]').removeClass("selected")):(d.find('[role="am"]').addClass("selected"),d.find('[role="pm"]').removeClass("selected"))))},mouseDownHandler:function(e,t){return function(t){e.mouseMove=!0}},mouseMoveHandler:function(e,t,r){return function(a){e.mouseMove&&gj.timepicker.methods.updateArrow(a,e,t,r)}},mouseUpHandler:function(e,t,r){return function(a){gj.timepicker.methods.updateArrow(a,e,t,r),e.mouseMove=!1,r.modal||(clearTimeout(e.timeout),e.focus()),"hours"==r.dialMode?setTimeout(function(){gj.timepicker.events.select(e,"hour"),gj.timepicker.methods.renderMinutes(e,t,r)},1e3):"minutes"==r.dialMode&&(!0!==r.footer&&!1!==r.autoClose&&gj.timepicker.methods.setTime(e,t)(),gj.timepicker.events.select(e,"minute"))}},renderHours:function(e,t,r){var a,i=t.find('[role="body"]');clearTimeout(e.timeout),i.empty(),(a=$('
              ')).append('
              '),a.append('1'),a.append('2'),a.append('3'),a.append('4'),a.append('5'),a.append('6'),a.append('7'),a.append('8'),a.append('9'),a.append('10'),a.append('11'),a.append('12'),"24hr"===r.mode&&(a.append('13'),a.append('14'),a.append('15'),a.append('16'),a.append('17'),a.append('18'),a.append('19'),a.append('20'),a.append('21'),a.append('22'),a.append('23'),a.append('00')),i.append(a),t.find('[role="header"] [role="hour"]').addClass("selected"),t.find('[role="header"] [role="minute"]').removeClass("selected"),r.dialMode="hours",gj.timepicker.methods.update(e,t,r)},renderMinutes:function(e,t,r){var a=t.find('[role="body"]');clearTimeout(e.timeout),a.empty(),$dial=$('
              '),$dial.append('
              '),$dial.append('5'),$dial.append('10'),$dial.append('15'),$dial.append('20'),$dial.append('25'),$dial.append('30'),$dial.append('35'),$dial.append('40'),$dial.append('45'),$dial.append('50'),$dial.append('55'),$dial.append('00'),a.append($dial),t.find('[role="header"] [role="hour"]').removeClass("selected"),t.find('[role="header"] [role="minute"]').addClass("selected"),r.dialMode="minutes",gj.timepicker.methods.update(e,t,r)},open:function(e){var t,r,a=e.data(),i=$("body").find('[role="picker"][guid="'+e.attr("data-guid")+'"]');return r=(t=e.value()?gj.core.parseDate(e.value(),a.format,a.locale):new Date).getHours(),"ampm"===a.mode&&i.attr("mode",r>12?"pm":"am"),i.attr("hour",r),i.attr("minute",t.getMinutes()),gj.timepicker.methods.renderHours(e,i,a),gj.picker.widget.prototype.open.call(e,"timepicker"),e},value:function(e,t){e.data();return void 0===t?e.val():(e.val(t),gj.timepicker.events.change(e),e)}},gj.timepicker.events={change:function(e){return e.triggerHandler("change")},select:function(e,t){return e.triggerHandler("select",[t])},open:function(e){return e.triggerHandler("open")},close:function(e){return e.triggerHandler("close")}},gj.timepicker.widget=function(e,t){var r=gj.timepicker.methods;return this.mouseMove=!1,this.value=function(e){return r.value(this,e)},this.destroy=function(){return gj.picker.widget.prototype.destroy.call(this,"timepicker")},this.open=function(){return gj.timepicker.methods.open(this)},this.close=function(){return gj.picker.widget.prototype.close.call(this,"timepicker")},$.extend(e,this),"true"!==e.attr("data-timepicker")&&r.init.call(e,t),e},gj.timepicker.widget.prototype=new gj.picker.widget,gj.timepicker.widget.constructor=gj.timepicker.widget,jQuery.fn.timepicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.timepicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.timepicker.widget(this,e)}},gj.datetimepicker={plugins:{},messages:{"en-us":{}}},gj.datetimepicker.config={base:{datepicker:gj.datepicker.config.base,timepicker:gj.timepicker.config.base,uiLibrary:"materialdesign",value:void 0,format:"HH:MM mm/dd/yyyy",width:void 0,modal:!1,footer:!1,size:"default",locale:"en-us",icons:{},style:{calendar:"gj-picker gj-picker-md datetimepicker gj-unselectable"}},bootstrap:{style:{calendar:"gj-picker gj-picker-bootstrap datetimepicker gj-unselectable"},iconsLibrary:"glyphicons"},bootstrap4:{style:{calendar:"gj-picker gj-picker-bootstrap datetimepicker gj-unselectable"}}},gj.datetimepicker.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"datetimepicker"),this.attr("data-datetimepicker","true"),gj.datetimepicker.methods.initialize(this),this},getConfig:function(e,t){var r=gj.widget.prototype.getConfig.call(this,e,t);return uiLibrary=e.hasOwnProperty("uiLibrary")?e.uiLibrary:r.uiLibrary,gj.datepicker.config[uiLibrary]&&$.extend(!0,r.datepicker,gj.datepicker.config[uiLibrary]),gj.timepicker.config[uiLibrary]&&$.extend(!0,r.timepicker,gj.timepicker.config[uiLibrary]),iconsLibrary=e.hasOwnProperty("iconsLibrary")?e.iconsLibrary:r.iconsLibrary,gj.datepicker.config[iconsLibrary]&&$.extend(!0,r.datepicker,gj.datepicker.config[iconsLibrary]),gj.timepicker.config[iconsLibrary]&&$.extend(!0,r.timepicker,gj.timepicker.config[iconsLibrary]),r},initialize:function(e){var t,r,a,i,o,n,d,s,l=e.data();l.datepicker.uiLibrary=l.uiLibrary,l.datepicker.iconsLibrary=l.iconsLibrary,l.datepicker.width=l.width,l.datepicker.format=l.format,l.datepicker.locale=l.locale,l.datepicker.modal=l.modal,l.datepicker.footer=l.footer,l.datepicker.style.calendar=l.style.calendar,l.datepicker.value=l.value,l.datepicker.size=l.size,l.datepicker.autoClose=!1,gj.datepicker.methods.initialize(e,l.datepicker),e.on("select",function(r,a){var i,o;"day"===a?gj.datetimepicker.methods.createShowHourHandler(e,t,l)():"minute"===a&&t.attr("selectedDay")&&!0!==l.footer&&(selectedDay=t.attr("selectedDay").split("-"),i=new Date(selectedDay[0],selectedDay[1],selectedDay[2],t.attr("hour")||0,t.attr("minute")||0),o=gj.core.formatDate(i,l.format,l.locale),e.val(o),gj.datetimepicker.events.change(e),gj.datetimepicker.methods.close(e))}),e.on("open",function(){var e=t.children('[role="header"]');e.find('[role="calendarMode"]').addClass("selected"),e.find('[role="clockMode"]').removeClass("selected")}),t=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]'),o=l.value?gj.core.parseDate(l.value,l.format,l.locale):new Date,t.attr("hour",o.getHours()),t.attr("minute",o.getMinutes()),l.timepicker.uiLibrary=l.uiLibrary,l.timepicker.iconsLibrary=l.iconsLibrary,l.timepicker.format=l.format,l.timepicker.locale=l.locale,l.timepicker.header=!0,l.timepicker.footer=l.footer,l.timepicker.size=l.size,l.timepicker.mode="24hr",l.timepicker.autoClose=!1,r=$('
              '),(a=$('
              ')).on("click",gj.datetimepicker.methods.createShowDateHandler(e,t,l)),a.html(gj.core.formatDate(new Date,"ddd, mmm dd",l.locale)),r.append(a),n=$('
              '),(d=$('event')).on("click",gj.datetimepicker.methods.createShowDateHandler(e,t,l)),n.append(d),(i=$('
              ')).append($('
              ').on("click",gj.datetimepicker.methods.createShowHourHandler(e,t,l)).html(gj.core.formatDate(new Date,"HH",l.locale))),i.append(":"),i.append($('
              ').on("click",gj.datetimepicker.methods.createShowMinuteHandler(e,t,l)).html(gj.core.formatDate(new Date,"MM",l.locale))),n.append(i),(s=$('clock')).on("click",gj.datetimepicker.methods.createShowHourHandler(e,t,l)),n.append(s),r.append(n),t.prepend(r)},createShowDateHandler:function(e,t,r){return function(a){var i=t.children('[role="header"]');i.find('[role="calendarMode"]').addClass("selected"),i.find('[role="date"]').addClass("selected"),i.find('[role="clockMode"]').removeClass("selected"),i.find('[role="hour"]').removeClass("selected"),i.find('[role="minute"]').removeClass("selected"),gj.datepicker.methods.renderMonth(e,t,r.datepicker)}},createShowHourHandler:function(e,t,r){return function(){var a=t.children('[role="header"]');a.find('[role="calendarMode"]').removeClass("selected"),a.find('[role="date"]').removeClass("selected"),a.find('[role="clockMode"]').addClass("selected"),a.find('[role="hour"]').addClass("selected"),a.find('[role="minute"]').removeClass("selected"),gj.timepicker.methods.initMouse(t.children('[role="body"]'),e,t,r.timepicker),gj.timepicker.methods.renderHours(e,t,r.timepicker)}},createShowMinuteHandler:function(e,t,r){return function(){var a=t.children('[role="header"]');a.find('[role="calendarMode"]').removeClass("selected"),a.find('[role="date"]').removeClass("selected"),a.find('[role="clockMode"]').addClass("selected"),a.find('[role="hour"]').removeClass("selected"),a.find('[role="minute"]').addClass("selected"),gj.timepicker.methods.initMouse(t.children('[role="body"]'),e,t,r.timepicker),gj.timepicker.methods.renderMinutes(e,t,r.timepicker)}},close:function(e){var t=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');t.hide(),t.closest('div[role="modal"]').hide()},value:function(e,t){var r,a,i,o=e.data();return void 0===t?e.val():((a=gj.core.parseDate(t,o.format,o.locale))?(r=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]'),gj.datepicker.methods.dayClickHandler(e,r,o,a)(),i=a.getHours(),"ampm"===o.mode&&r.attr("mode",i>12?"pm":"am"),r.attr("hour",i),r.attr("minute",a.getMinutes()),e.val(t)):e.val(""),e)},destroy:function(e){var t=e.data(),r=e.parent(),a=$("body").find('[role="calendar"][guid="'+e.attr("data-guid")+'"]');return t&&(e.off(),a.parent('[role="modal"]').length>0&&a.unwrap(),a.remove(),e.removeData(),e.removeAttr("data-type").removeAttr("data-guid").removeAttr("data-datetimepicker"),e.removeClass(),r.children('[role="right-icon"]').remove(),e.unwrap()),e}},gj.datetimepicker.events={change:function(e){return e.triggerHandler("change")}},gj.datetimepicker.widget=function(e,t){var r=gj.datetimepicker.methods;return this.mouseMove=!1,this.value=function(e){return r.value(this,e)},this.open=function(){gj.datepicker.methods.open(this,this.data().datepicker)},this.close=function(){gj.datepicker.methods.close(this)},this.destroy=function(){return r.destroy(this)},$.extend(e,this),"true"!==e.attr("data-datetimepicker")&&r.init.call(e,t),e},gj.datetimepicker.widget.prototype=new gj.widget,gj.datetimepicker.widget.constructor=gj.datetimepicker.widget,gj.datetimepicker.widget.prototype.getConfig=gj.datetimepicker.methods.getConfig,jQuery.fn.datetimepicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.datetimepicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.datetimepicker.widget(this,e)}},gj.slider={plugins:{},messages:{"en-us":{}}},gj.slider.config={base:{min:0,max:100,width:void 0,uiLibrary:"materialdesign",value:void 0,icons:{},style:{wrapper:"gj-slider gj-slider-md",progress:void 0,track:void 0}},bootstrap:{style:{wrapper:"gj-slider gj-slider-bootstrap gj-slider-bootstrap-3",progress:"progress-bar",track:"progress"}},bootstrap4:{style:{wrapper:"gj-slider gj-slider-bootstrap gj-slider-bootstrap-4",progress:"progress-bar",track:"progress"}}},gj.slider.methods={init:function(e){return gj.widget.prototype.init.call(this,e,"slider"),this.attr("data-slider","true"),gj.slider.methods.initialize(this,this.data()),this},initialize:function(e,t){var r,a,i,o;e[0].style.display="none","wrapper"!==e[0].parentElement.attributes.role?((r=document.createElement("div")).setAttribute("role","wrapper"),e[0].parentNode.insertBefore(r,e[0]),r.appendChild(e[0])):r=e[0].parentElement,t.width&&(r.style.width=t.width+"px"),gj.core.addClasses(r,t.style.wrapper),null==(a=e[0].querySelector('[role="track"]'))&&((a=document.createElement("div")).setAttribute("role","track"),r.appendChild(a)),gj.core.addClasses(a,t.style.track),null==(i=e[0].querySelector('[role="handle"]'))&&((i=document.createElement("div")).setAttribute("role","handle"),r.appendChild(i)),null==(o=e[0].querySelector('[role="progress"]'))&&((o=document.createElement("div")).setAttribute("role","progress"),r.appendChild(o)),gj.core.addClasses(o,t.style.progress),t.value||(t.value=t.min),gj.slider.methods.value(e,t,t.value),gj.documentManager.subscribeForEvent("mouseup",e.data("guid"),gj.slider.methods.createMouseUpHandler(e,i,t)),i.addEventListener("mousedown",gj.slider.methods.createMouseDownHandler(i,t)),gj.documentManager.subscribeForEvent("mousemove",e.data("guid"),gj.slider.methods.createMouseMoveHandler(e,a,i,o,t)),i.addEventListener("click",function(e){e.stopPropagation()}),r.addEventListener("click",gj.slider.methods.createClickHandler(e,a,i,t))},createClickHandler:function(e,t,r,a){return function(i){var o,n,d,s,l;"true"!==r.getAttribute("drag")&&(o=gj.core.position(e[0].parentElement),n=(new gj.widget).mouseX(i)-o.left,d=gj.core.width(r)/2,s=gj.core.width(t)/(a.max-a.min),l=Math.round((n-d)/s)+a.min,gj.slider.methods.value(e,a,l))}},createMouseUpHandler:function(e,t,r){return function(r){"true"===t.getAttribute("drag")&&(t.setAttribute("drag","false"),gj.slider.events.change(e))}},createMouseDownHandler:function(e,t){return function(t){e.setAttribute("drag","true")}},createMouseMoveHandler:function(e,t,r,a,i){return function(a){var o,n,d,s,l,c,g;"true"===r.getAttribute("drag")&&(o=gj.core.position(e[0].parentElement),n=(new gj.widget).mouseX(a)-o.left,d=gj.core.width(t),s=gj.core.width(r)/2,l=d/(i.max-i.min),c=(i.value-i.min)*l,n>=s&&n<=d+s&&(n>c+l/2||nevent'},style:{modal:"gj-modal",wrapper:"gj-colorpicker gj-colorpicker-md gj-unselectable",input:"gj-textbox-md",picker:"gj-picker gj-picker-md colorpicker gj-unselectable",footer:"",button:"gj-button-md"}},bootstrap:{style:{}},bootstrap4:{style:{}}},gj.colorpicker.methods={init:function(e){return gj.picker.widget.prototype.init.call(this,e,"colorpicker"),gj.colorpicker.methods.initialize(this),this},initialize:function(e){},createPicker:function(e,t){var r=$('
              ').addClass(t.style.picker).attr("guid",e.attr("data-guid"));return r.html("test"),r.hide(),$("body").append(r),r},open:function(e){return e.val()&&e.value(e.val()),gj.picker.widget.prototype.open.call(e,"colorpicker")}},gj.colorpicker.events={change:function(e){return e.triggerHandler("change")},select:function(e){return e.triggerHandler("select")},open:function(e){return e.triggerHandler("open")},close:function(e){return e.triggerHandler("close")}},gj.colorpicker.widget=function(e,t){var r=gj.colorpicker.methods;return this.value=function(e){return r.value(this,e)},this.destroy=function(){return gj.picker.widget.prototype.destroy.call(this,"colorpicker")},this.open=function(){return r.open(this)},this.close=function(){return gj.picker.widget.prototype.close.call(this,"colorpicker")},$.extend(e,this),"true"!==e.attr("data-colorpicker")&&r.init.call(e,t),e},gj.colorpicker.widget.prototype=new gj.picker.widget,gj.colorpicker.widget.constructor=gj.colorpicker.widget,jQuery.fn.colorpicker=function(e){var t;if(this&&this.length){if("object"!=typeof e&&e){if((t=new gj.colorpicker.widget(this,null))[e])return t[e].apply(this,Array.prototype.slice.call(arguments,1));throw"Method "+e+" does not exist."}return new gj.colorpicker.widget(this,e)}}; \ No newline at end of file diff --git a/cadline/docroot/login-external.php b/cadline/docroot/login-external.php index de0f4e5e..eb53c993 100644 --- a/cadline/docroot/login-external.php +++ b/cadline/docroot/login-external.php @@ -1,93 +1,93 @@ -getQuery(true); -$query - ->select('id, password') - ->from('#__users') - ->where('username=' . $db->quote($credentials['username'])); -$db->setQuery($query); -$result = $db->loadObject(); - -if ($result) -{ - $match = JUserHelper::verifyPassword($credentials['password'], $result->password, $result->id); - - if ($match === true) - { - $user = JUser::getInstance($result->id); // Bring this in line with the rest of the system - $error = $app->login($credentials); //perform the login action - $logged_user = JFactory::getUser(); - $expire = time()+86400; - - $db->setQuery('SELECT * FROM `panorama`.`user` WHERE serial='.$credentials['serial'].';'); - $res = $db->loadObjectList(); - - $tomb=array( - 'serial'=>$db->quote($credentials['serial']), - 'nUserID'=>$db->quote($logged_user->nUserID), - 'strName'=>$db->quote($logged_user->name), - 'expire'=>$db->quote(date("Y-m-d H:i:s", $expire)), - ); - - if (empty($res)) // ha még egyáltalán nincs benne a széria szám - { - $query=$db->getQuery(true); - $query - ->insert("`panorama`.`user`") - ->columns($db->quoteName(array_keys($tomb))) - ->values(implode(',', $tomb)); - $db->setQuery($query); - $db->execute(); - $result=$db->insertid(); - } - else if ((int)$res[0]->nUserID==0) // ha facebook-al már be van jelentkezve - { - foreach ($tomb as $k=>$v) $values[]=$db->quoteName($k)."=".$v; - - $query=$db->getQuery(true); - $query - ->update("`panorama`.`user`") - ->set($values) - ->where(array('`id`='.$res[0]->id)); - $db->setQuery($query); - $result=$db->execute(); - } - - setcookie("serial",$credentials['serial'],$expire,"/",".archlinexp.com"); -//print_r($_COOKIE); die(); - $app->redirect('http://panorama.archlinexp.com/auth/'.$credentials['serial']); //redirect logged in user - } - else - { - $app->redirect('http://panorama.archlinexp.com/auth/'.$credentials['serial'].'/invalid'); //redirect logged in user - } -} -else -{ - die('Cound not find user in the database'); // Invalid user - Primitive error handling -} +getQuery(true); +$query + ->select('id, password') + ->from('#__users') + ->where('username=' . $db->quote($credentials['username'])); +$db->setQuery($query); +$result = $db->loadObject(); + +if ($result) +{ + $match = JUserHelper::verifyPassword($credentials['password'], $result->password, $result->id); + + if ($match === true) + { + $user = JUser::getInstance($result->id); // Bring this in line with the rest of the system + $error = $app->login($credentials); //perform the login action + $logged_user = JFactory::getUser(); + $expire = time()+86400; + + $db->setQuery('SELECT * FROM `panorama`.`user` WHERE serial='.$credentials['serial'].';'); + $res = $db->loadObjectList(); + + $tomb=array( + 'serial'=>$db->quote($credentials['serial']), + 'nUserID'=>$db->quote($logged_user->nUserID), + 'strName'=>$db->quote($logged_user->name), + 'expire'=>$db->quote(date("Y-m-d H:i:s", $expire)), + ); + + if (empty($res)) // ha még egyáltalán nincs benne a széria szám + { + $query=$db->getQuery(true); + $query + ->insert("`panorama`.`user`") + ->columns($db->quoteName(array_keys($tomb))) + ->values(implode(',', $tomb)); + $db->setQuery($query); + $db->execute(); + $result=$db->insertid(); + } + else if ((int)$res[0]->nUserID==0) // ha facebook-al már be van jelentkezve + { + foreach ($tomb as $k=>$v) $values[]=$db->quoteName($k)."=".$v; + + $query=$db->getQuery(true); + $query + ->update("`panorama`.`user`") + ->set($values) + ->where(array('`id`='.$res[0]->id)); + $db->setQuery($query); + $result=$db->execute(); + } + + setcookie("serial",$credentials['serial'],$expire,"/",".archlinexp.com"); +//print_r($_COOKIE); die(); + $app->redirect('http://panorama.archlinexp.com/auth/'.$credentials['serial']); //redirect logged in user + } + else + { + $app->redirect('http://panorama.archlinexp.com/auth/'.$credentials['serial'].'/invalid'); //redirect logged in user + } +} +else +{ + die('Cound not find user in the database'); // Invalid user - Primitive error handling +} ?> \ No newline at end of file diff --git a/cadline/docroot/tips.php b/cadline/docroot/tips.php index a6e89259..0b320b78 100644 --- a/cadline/docroot/tips.php +++ b/cadline/docroot/tips.php @@ -1,476 +1,476 @@ -array('timeout'=>2)) ) ); -$tomb = json_decode(json_encode(simplexml_load_string($locale)),TRUE); -$ctrname=$tomb["CountryName"]; -$temp=explode(".", gethostbyaddr($user_IP)); - -if(!isset($ctrname) || $ctrname=='') - $ctrname = 'unknown'; - -if(!isset($user_ssID) || $user_ssID==''){ - $rec=array( - 'hiba'=>"Tips.php: unknown tips data\n", - 'datum'=>date('Y-m-d H:i:s',time())); - crm_database::getInstance()->insert('a_hibak',$rec); - return; //- ha nincs meg a kodolt stream, akkor semmilyen infor -} - -$str_decoded = base64_decode($user_ssID); //decode the session string - -sscanf(substr($str_decoded,0,4),'%04x',$keyDec); -$encoded = str_split(substr($str_decoded,4),4); -$decoded = ''; - -foreach($encoded as $e) { - sscanf($e,'%04x',$temp); - if(strlen(substr(sprintf('%x',$temp^$keyDec),2))>0) { - $decoded .= chr(hexdec(substr(sprintf('%04x',$temp^$keyDec),2))); - $decoded .= chr(hexdec(substr(sprintf('%04x',$temp^$keyDec),0,2))); - } else { - $decoded .= chr(hexdec(substr(sprintf('%04x',$temp^$keyDec),2))); - } -} - -$pos = strpos($decoded, '#'); //ba 2018.07.04. atterunk a # separatorra. Ezidaig nem fordulhatott elo benne ilyen jel -if($pos === false) - $separator = '_'; -else - $separator = '#'; - -$numdata = substr_count($decoded, $separator); //ba most már kapunk adatot az oprendszerrol is - -$osdata = ''; -$reactivationCounter = 0; -if( $numdata >= 11 ) - list($empty, $pwd, $compID, $build, $ctrID, $telepitesikod, $osdata, $usGCMan, $usGCType, $usGCDriverVer, $npID, $partnerID, $name, $email, $company, $phone, $newsletter, $reactivationCounter) = split($separator, $decoded); -elseif( $numdata >= 6 ) - list($empty, $pwd, $compID, $build, $ctrID, $telepitesikod, $osdata, $usGCMan, $usGCType, $usGCDriverVer, $npID, $partnerID) = split($separator, $decoded); -else - list($empty, $pwd, $compID, $build, $ctrID, $telepitesikod) = split($separator, $decoded); - -$crackedProgram = strpos($osdata, ".gray.") !== false ? true : false; -if($crackedProgram){ //- 2018-as proragramoktol(nehany 2018-as build nem fut ide be) - /*$crackedProgramDeactivated = false; - if(crm_hardlock::IsCalledFromMyIP()){ - header('Content-Type: text/xml; charset=utf-8'); - header('Content-Disposition: inline; filename=response.xml'); - print '<'.'?'.'xml version="1.0" encoding="UTF-8" standalone="yes"'.'?'.'> - - - /public/support/tips/en/ - - '.$validTelepitesikod.' - true - 0 - false - - - '; - $crackedProgramDeactivated = true; - }*/ - $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; - $message = "Crack: ".$decoded." || url: ".$actual_link; - crm_hardlock::AddToDebugTable($message); - - return; // A crackelt programokat nem taroljuk -} - -$validPassword = crm_hardlock::IsValidPassword($pwd); -if($validPassword){ - $verid=crm_hardlock::GetVeridFromPassword($pwd); - $softwareKey = crm_hardlock::IsSoftwareKey($pwd); // Software kulcs 2019 - - if(crm_hardlock::IsProgramExpiredByFixDate($pwd)) { - $message = "Tip error: expired program by IsProgramExpiredByFixDate || password: ".$pwd; - crm_hardlock::AddToDebugTable($message); - - return; - } -} else { - $verid = 0; - $softwareKey = false; - - $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; - $message = "Tip error: invalid password || password: ".$pwd." || url: ".$actual_link; - crm_hardlock::AddToDebugTable($message); - - return; -} -$validTelepitesikod = crm_hardlock::IsValidTimeCode($telepitesikod); -if($validTelepitesikod || ($validPassword && $softwareKey == false) ) //- hardware kulcseseten az isid a passwordbol generalhato - $isid=($softwareKey ? crm_hardlock::GetIsidFromTimeCode($telepitesikod) : substr($pwd,0,2).$verid); -else { - $telepitesikod = ""; - $isid = ""; -} - -if($validPassword == false && substr($decoded,0,2) == "##"){ //- 2018-as proragramoktol(nehany 2018-as build nem fut ide be) - $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; - $message = "Tip error: missing password || url: ".$actual_link; - crm_hardlock::AddToDebugTable($message); -} -if($validPassword && $validTelepitesikod == false && $verid > 35){ //- csak a 2019-es programokat es ujabbakat vizsgalunk, a regbbiekben elofordulhatnak hibas idokodok - $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; - $message = "Tip error: invalid timecode ".$decoded." || url: ".$actual_link; - crm_hardlock::AddToDebugTable($message); -} - -if(isset($npID)) - $compid = crm_hardlock::AddOrUpdateComputer($npID, ''); // $comp_name = base64_decode($comp_name); // Ez meg nem jon be! - -$isNamirialAutoCreate = isset($npID) && $npID>'' && isset($partnerID) && $partnerID=='2nt' /*-&& isset($telepitesikod) && $telepitesikod>''-*/ && $validPassword; -$isBimLadderAutoCreate = isset($npID) && $npID>'' && isset($partnerID) && $partnerID=='kbl' /*-&& isset($telepitesikod) && $telepitesikod>''-*/ && $validPassword; - -/******************************************************************************* - *NAMIRIAL vagy BIMLADDER automata kulcskiadás és program létrehozás - ******************************************************************************/ -if ($isNamirialAutoCreate || $isBimLadderAutoCreate) { - $queryStr = "SELECT * FROM `".CRMADATBAZIS."`.`nonprofit` WHERE computer_id='".$compid."' AND partnerID = '".$partnerID."' AND verID =".$verid." LIMIT 1;"; - crm_database::getInstance()->query($queryStr); - $res=crm_database::getInstance()->fetchAssoc(); - - $rangeMin = $isNamirialAutoCreate ? 940001 : 920001; - $rangeMax = $isNamirialAutoCreate ? 949999 : 929999; - $interval = $isNamirialAutoCreate ? 90 : 30; - $country_id = $isNamirialAutoCreate ? 39 : 82; - $topic_id = $isNamirialAutoCreate ? 366 : 368; - $info = $isNamirialAutoCreate ? 'Namirial nonprofit kulcs aktiválás' : 'BIMLadder nonprofit kulcs aktiválás'; - $contact = $isNamirialAutoCreate ? 8 : 9; - - $type=crm_hardlock::GetTypeFromPassword($pwd); - $ver=crm_hardlock::GetVersion(array('verPassword8and9'=>$verid)); - - //ba nincs ehhez a gephez meg non-profit program regisztralva - if (empty($res)) { - $hlNum=crm_hardlock::GetTheFirstNotUsedHlNumFromInterval($rangeMin,$rangeMax); - $pass=crm_hardlock::GeneratePassword($hlNum,0,$type,$ver['verCode']); - $aktKod=crm_hardlock::GenerateTimeCode($pass,$isid,$interval); - - // Ha nincs benne a user a CRM-be, akkor hozza adjuk - $userID=crm_users::addUser(array( - 'strName'=>$name, - 'strEMail'=>$email, - 'strTel'=>$phone, - 'nCtrID'=>$country_id, - 'old_db'=>'clusers_eng', - 'dateInsert'=>$time, - 'strCompany'=>$company - ), $newsletter); - - //ba regisztraljuk hozza a non-profit programot - crm_hardlock::AddNonprofit(array( - 'isid'=>$isid, - 'verid'=>$verid, - 'hlID'=>$hlNum, - 'nUserID'=>$userID, - 'add_datetime'=>date('Y-m-d H:i:s',$time), - 'expire_datetime'=>date('Y-m-d H:i:s', strtotime('+90 day', $time)), - 'activation_datetime'=>date('Y-m-d H:i:s',$time), - 'old_db'=>'clusers_eng', - 'partnerID'=>$partnerID, - 'enabled'=>'Y', - 'computer_id'=>$compid - )); - - //Namirial vagy BIMLADDER non-profit kod aktivalas beszurasa crm -> u_history tablaba - crm_users::AddUserHistory(array( - 'nUserID'=>$userID, - 'nTopicID'=>$topic_id, - 'dateEvent'=>date('Y-m-d H:i:s',$time), - 'strPlace'=>'', - 'strInfo'=>$info, - 'nManagerID'=>36, - 'insertDate'=>date('Y-m-d H:i:s',$time) - )); - - crm_hardlock::AddHardlock(array( - 'hlNum'=>$hlNum, - 'hlCtrID'=>$country_id, - 'hlLan'=>0, - 'hlStat'=>1, - 'hlDateIssue'=>date('Y-m-d',$time), - 'hlManID'=>36, - 'hlTime'=>date('Y-m-d H:i:s',$time), - 'hlUser'=>$userID, - 'hlDealer'=>62103, - 'bUjithato'=>1, - 'old_db'=>'clusers_eng' - )); - - crm_hardlock::AddProgram(array( - 'prTypeID'=>$type, - 'prVerID'=>$ver['verID'], - 'prLan'=>0, - 'prPass'=>trim($pass), - 'prSellDate'=>date('Y-m-d',$time), - 'prActDate'=>date('Y-m-d',$time+$interval*86400), // 90 vagy 30 nap - 'prFizetve'=>date('Y-m-d',$time+$interval*86400), - 'prActCode'=>trim($aktKod), - 'prTime'=>date('Y-m-d H:i:s',$time), - 'prLastMod'=>date('Y-m-d H:i:s',$time), - 'prContact'=>$contact, // Non-profit - 'prHlNum'=>$hlNum, // 99xxxx - 'prManID'=>36, // web - 'prStat'=>0, - 'prHiType'=>1 // 1 Rendelés | 2 Tipus Valtas | 3 Frissites | 4 Auto Friss. - )); - - $pwd = $pass; //ba 2018.07.02. mostantol az uj jelszava a usernek a most generalt, 94-es lesz, nem pedig a 93-as! - } else { - //ba ehhez a gephez mar volt non-profit regisztracio, keressuk ki a sorozatszamot neki - $hlNum = $res[0]['hlID']; - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prHlNum='{$hlNum}' limit 1"); - $programQuery=crm_database::getInstance()->fetchAssoc(); - $pwd = $programQuery[0]['prPass']; - } -} //- if ($isNamirialAutoCreate || $isBimLadderAutoCreate) vege - -$hlNum = crm_hardlock::GetHlnumFromPassword($pwd); - -//insert stats to the userstats table -$stats = array( - 'usLang' => $user_lang_db, - 'usDate' => time(), - 'usPwd' => $pwd, - 'usVer'=>$verid, - 'usCompID' => $compID, - 'usCtrID' => $ctrID, - 'usBuild' => $build, - 'usCtrName' => $ctrname, - 'usIP' => $user_IP, - 'usOSData' => $osdata, - 'usISID' => $isid, - 'usInditasokSzama' => 1 -); - -crm_database::getInstance()->query("SELECT hlLan, hlCtrID FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".$hlNum."'"); -$hardlock = crm_database::getInstance()->fetchAssoc(); - -$isLanProgram = empty($hardlock) == false && $hardlock[0]['hlLan'] > 0; - -// A szarmazasi orszag beallitasa -if($softwareKey) { - $liveKey = crm_hardlock::IsLiveKey($pwd); // Live kulcs 2019 - if(empty($hardlock) == false && ($liveKey || in_array(substr($pwd,0,2), array('99','98','95'))) ) { // Azok a programok, amik regisztrálódnak a CRM-ben 2019 - $hl=$hardlock[0]; - if(isset($hl['hlCtrID'])) - $stats['usHlCtrID'] = $hl['hlCtrID']; - } -} else { - $stats['usHlCtrID'] = substr($pwd,0,2); -} - -$trialProgram = crm_hardlock::IsTrialKey($pwd); -$trialSpecialEditionProgram = $trialProgram ? crm_hardlock::IsSpecialEditionTrial($pwd) : false; - -// Kereskedelmi valtozatok lekezelese (a statisztika miatt bekerulnek a Namirial es a BIMLadder programok is) -if($verid>29 && ($trialProgram == false || $trialSpecialEditionProgram)) { - if($trialSpecialEditionProgram == false) { - $query = "SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='".$pwd."'"; - if($softwareKey && $isLanProgram) //- szoftveres lan kulcsnal mindig telepitesenkent egyedi az aktivalo kod - $query .= " AND prActCode LIKE '%-".$isid."-%'"; - $query .= ";"; - - crm_database::getInstance()->query($query); - $prgrm=crm_database::getInstance()->fetchAssoc(); - - if(empty($prgrm) && $softwareKey && $isLanProgram) { //- a lan-os valtozatnal na nem volt telepitve lehet, hogy nem volt talalat - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='".$pwd."' and (prActCode = '' or prActCode is null) LIMIT 1;"); - $prgrm=crm_database::getInstance()->fetchAssoc(); - } - } - - if($softwareKey) { //- a telepitesi datum frissitese - if($validTelepitesikod) { - //- telepitesi datum tarolasanak elokeszitese - $telepitesota_eltelt_napok_szama = crm_hardlock::GetDayFromTimeCode($telepitesikod); - $date = new DateTime(date("Y-m-d")); - $date->modify('-'.$telepitesota_eltelt_napok_szama.' day'); - $installDate = $date->format('Y-m-d'); - } else - $installDate = time(); - } else { - if(empty($prgrm)) { - $installDate = time(); - //- todo ez gigantikus hiba, jelezni kell, ha ilyen elofordul - } else - $installDate = $prgrm[0]['prSellDate']; - } - - $stats['usTelepitesiDatum'] = $installDate; - - if(empty($prgrm) == false) - $jelenlegi_aktivalokod = $prgrm[0]['prActCode']; - else - $jelenlegi_aktivalokod = ''; - - // A userstats2013 tablaba megkeresi az utolso bejegyzest és amennyiben valtozatlan, updateli az inditasok szamat, különben uj bejegyzést hoz letre - if($trialSpecialEditionProgram == false) { - //- idokod generalasa - $aktivalokod = crm_hardlock::GetOrGenerateTimeCode($pwd,$isid,$telepitesikod); - $usstatid = crm_hardlock::UpdateInstallationDate($pwd, $compID, $build, $aktivalokod, $user_IP, $installDate, $stats); - - // Nonprofit regisztracio beirasa a user-hez - crm_database::getInstance()->query("SELECT hlStat,hlUser FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".$hlNum."'"); - $res=crm_database::getInstance()->fetchAssoc(); - $kulcs=$res[0]; - - if (in_array((int)substr($pwd,0,3),array(995,996,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989)) && (int)$kulcs['hlUser']>0) { // nonprofitos program első indítása - // TODO: Megakasztotta a programinditasokat!!! 2019.08.28. SQL HIBA - /*crm_database::getInstance()->query("SELECT COUNT(*) AS `darab` FROM `".CRMADATBAZIS."`.`h_aktivalas_infok` WHERE kulcs='".$hlNum."';"); - $tmp=crm_database::getInstance()->fetchAssoc(); - $darab=(int)$tmp[0]['darab'];*/ - - crm_database::getInstance()->query("SELECT COUNT(*) AS `darab` FROM `".CRMADATBAZIS."`.`u_history` WHERE `nUserID`=".(int)$kulcs['hlUser']." AND nTopicID IN (314,315);"); - $tmp=crm_database::getInstance()->fetchAssoc(); - $esem=(int)$tmp[0]['darab']; - - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`users` WHERE nUserID='".(int)$kulcs['hlUser']."';"); - $usr=crm_database::getInstance()->fetchAssoc(); - $usr=$usr[0]; - - if (!empty($usr) && (/*$darab==0 ||*/ $esem==0)) { - crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`u_history`",array( - 'nUserID'=>(int)$kulcs['hlUser'], - 'nTopicID'=>($usr['old_db']=='clusers' ? 314 : 315), - 'dateEvent'=>date('Y-m-d'), - 'strPlace'=>'web', - 'strInfo'=>($usr['old_db']=='clusers' ? 'Non-profit kód regisztráció' : 'Non-profit code registration').': '.$hlNum, - 'nManagerID'=>36, - 'insertDate'=>date('Y-m-d H:i:s') - )); - } - } - } else - $usstatid = crm_hardlock::UpdateInstallationDate($pwd, $compID, $build, $jelenlegi_aktivalokod, $user_IP, $installDate, $stats); - - $virtualization = ($kulcs['hlStat']=='2' ? "false" : "true"); // letiltott kulcs visszajelzése a programnak - - $valasz = ($aktivalokod!="") ? $aktivalokod : "(( nem kapott valaszt ))"; - - - // TODO: Megakasztotta a programinditasokat!!! 2019.08.28. SQL HIBA - /*crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_aktivalas_infok` WHERE leiras LIKE 'programinditas -pw: ".$pwd."%' ORDER BY datum desc LIMIT 1;"); - $res=crm_database::getInstance()->fetchAssoc(); - - if(empty($res) == false) - crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`h_aktivalas_infok` SET leiras='programinditas - pw: {$pwd}, build: {$build}, isid: {$isid}, időkód: {$telepitesikod}, valasz: ".$valasz."', datum='". time()."' WHERE id=".$res[0]['id']." LIMIT 1"); - else - crm_hardlock::_Hibajelento("tips",substr($pwd,0,6),"programinditas - pw: {$pwd}, build: {$build}, isid: {$isid}, időkód: {$telepitesikod}, valasz: ".$valasz,(isset($arrGCData)?$arrGCData:array()),(isset($usstatid)?$usstatid:NULL));*/ -} - -// Tavoli logolasi parameterek beallitasa -$logfilter=0; -if ($validPassword && $crackedProgram == false && $trialProgram == false) { - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE `prPass`='".$pwd."' LIMIT 1;"); - $res=crm_database::getInstance()->fetchAssoc(); - $logfilter=$res[0]['prLogFilter']; -} - -// Ha a verid >= 36, akkor beinsertalja a hardlockot és a computer id-t a hardlock_computers tablaba, ha meg nincs benne -if($softwareKey && $crackedProgram == false && $trialProgram == false) - crm_hardlock::AddHardlockComputer($hlNum, $compid, $verid); - -// Kulcsok tesztelese -if($softwareKey && $crackedProgram == false && $trialProgram == false) { - $valasz = crm_hardlock::sCheckPassword($pwd); - - if(empty($valasz) == false) { - $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; - $message = "Checked Password || Serial: ".$pwd." || Valasz: ".$valasz." || url: ".$actual_link; - crm_hardlock::AddToDebugTable($message); - } -} - -// Modul es reaktivalo kodok kiiratasa -if($crackedProgram == false && $trialProgram == false) { - - // Modul kodok osszegyujtese - crm_database::getInstance()->query("SELECT prID FROM `".CRMADATBAZIS."`.`h_programs` WHERE `prPass`='".$pwd."' LIMIT 1;"); - $programs = crm_database::getInstance()->fetchAssoc(); - - $moduleList = ""; - if(empty($programs) == false) { - $prID = $programs[0]['prID']; - crm_database::getInstance()->query("SELECT mdCode FROM `".CRMADATBAZIS."`.`p_modules` WHERE `mdPrID`='".$prID."'"); - $modules = crm_database::getInstance()->fetchAssoc(); - - foreach ($modules as $module) { - if(empty($moduleList) == false) - $moduleList .= ";"; - - $moduleList .= $module['mdCode']; - } - } - - // Reaktivalokodok kuldese - if($virtualization == "true" && $reactivationCounter > 0) { - $reactivationCounter--; - $modulIsid = substr($pwd, 0,2).$verid; - - if($reactivationCounter > 4) // 5-nel tobb nem lehet - $reactivationCounter = 4; - - for($i=0; $i<=$reactivationCounter; $i++) { - $modulID = 35+$i; - $reactivationCode = crm_hardlock::GenerateTimeCode($pwd, $modulIsid, $modulID); - - if(empty($moduleList) == false) - $moduleList .= ";"; - - $moduleList .= $reactivationCode; - } - } -} - -if(crm_hardlock::IsCalledFromMyIP() && $softwareKey) { - $utst = time(); - (int)$convertedDay = crm_hardlock::ConvertDay(date('w')); - $tid = (int)($utst / $convertedDay); - - crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`p_serial_isid` WHERE serial='".$pwd."' AND isid='".$isid."' AND aktiv = 1"); - $p_serial_isid=crm_database::getInstance()->fetchAssoc(); - - if(empty($p_serial_isid)) - $regenr = crm_hardlock::No($utst, 39); - else - $regenr = crm_hardlock::Yes($utst, 39); -} - -header('Content-Type: text/xml; charset=utf-8'); -header('Content-Disposition: inline; filename=response.xml'); -print '<'.'?'.'xml version="1.0" encoding="UTF-8" standalone="yes"'.'?'.'> - - - /public/support/tips/en/ - - '.((isset($aktivalokod) && $aktivalokod) ? ''.$aktivalokod.'' : '').' - '.((isset($virtualization) && $virtualization) ? ''.$virtualization.'' : '').' - '.((isset($usstatid) && (int)$usstatid>0) ? ''.(int)$usstatid.'' : '').' - '.$logfilter.' - '.((empty($moduleList) == false) ? ''.$moduleList.'' : '').' - '.($hlNum=='360006' ? 'true' : 'false').' - '.((isset($regenr) && (int)$regenr>0) ? ''.(int)$regenr.'' : '').' - '.((isset($tid) && (int)$tid>0) ? ''.(int)$tid.'' : '').' - '; +array('timeout'=>2)) ) ); +$tomb = json_decode(json_encode(simplexml_load_string($locale)),TRUE); +$ctrname=$tomb["CountryName"]; +$temp=explode(".", gethostbyaddr($user_IP)); + +if(!isset($ctrname) || $ctrname=='') + $ctrname = 'unknown'; + +if(!isset($user_ssID) || $user_ssID==''){ + $rec=array( + 'hiba'=>"Tips.php: unknown tips data\n", + 'datum'=>date('Y-m-d H:i:s',time())); + crm_database::getInstance()->insert('a_hibak',$rec); + return; //- ha nincs meg a kodolt stream, akkor semmilyen infor +} + +$str_decoded = base64_decode($user_ssID); //decode the session string + +sscanf(substr($str_decoded,0,4),'%04x',$keyDec); +$encoded = str_split(substr($str_decoded,4),4); +$decoded = ''; + +foreach($encoded as $e) { + sscanf($e,'%04x',$temp); + if(strlen(substr(sprintf('%x',$temp^$keyDec),2))>0) { + $decoded .= chr(hexdec(substr(sprintf('%04x',$temp^$keyDec),2))); + $decoded .= chr(hexdec(substr(sprintf('%04x',$temp^$keyDec),0,2))); + } else { + $decoded .= chr(hexdec(substr(sprintf('%04x',$temp^$keyDec),2))); + } +} + +$pos = strpos($decoded, '#'); //ba 2018.07.04. atterunk a # separatorra. Ezidaig nem fordulhatott elo benne ilyen jel +if($pos === false) + $separator = '_'; +else + $separator = '#'; + +$numdata = substr_count($decoded, $separator); //ba most már kapunk adatot az oprendszerrol is + +$osdata = ''; +$reactivationCounter = 0; +if( $numdata >= 11 ) + list($empty, $pwd, $compID, $build, $ctrID, $telepitesikod, $osdata, $usGCMan, $usGCType, $usGCDriverVer, $npID, $partnerID, $name, $email, $company, $phone, $newsletter, $reactivationCounter) = split($separator, $decoded); +elseif( $numdata >= 6 ) + list($empty, $pwd, $compID, $build, $ctrID, $telepitesikod, $osdata, $usGCMan, $usGCType, $usGCDriverVer, $npID, $partnerID) = split($separator, $decoded); +else + list($empty, $pwd, $compID, $build, $ctrID, $telepitesikod) = split($separator, $decoded); + +$crackedProgram = strpos($osdata, ".gray.") !== false ? true : false; +if($crackedProgram){ //- 2018-as proragramoktol(nehany 2018-as build nem fut ide be) + /*$crackedProgramDeactivated = false; + if(crm_hardlock::IsCalledFromMyIP()){ + header('Content-Type: text/xml; charset=utf-8'); + header('Content-Disposition: inline; filename=response.xml'); + print '<'.'?'.'xml version="1.0" encoding="UTF-8" standalone="yes"'.'?'.'> + + + /public/support/tips/en/ + + '.$validTelepitesikod.' + true + 0 + false + + + '; + $crackedProgramDeactivated = true; + }*/ + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; + $message = "Crack: ".$decoded." || url: ".$actual_link; + crm_hardlock::AddToDebugTable($message); + + return; // A crackelt programokat nem taroljuk +} + +$validPassword = crm_hardlock::IsValidPassword($pwd); +if($validPassword){ + $verid=crm_hardlock::GetVeridFromPassword($pwd); + $softwareKey = crm_hardlock::IsSoftwareKey($pwd); // Software kulcs 2019 + + if(crm_hardlock::IsProgramExpiredByFixDate($pwd)) { + $message = "Tip error: expired program by IsProgramExpiredByFixDate || password: ".$pwd; + crm_hardlock::AddToDebugTable($message); + + return; + } +} else { + $verid = 0; + $softwareKey = false; + + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; + $message = "Tip error: invalid password || password: ".$pwd." || url: ".$actual_link; + crm_hardlock::AddToDebugTable($message); + + return; +} +$validTelepitesikod = crm_hardlock::IsValidTimeCode($telepitesikod); +if($validTelepitesikod || ($validPassword && $softwareKey == false) ) //- hardware kulcseseten az isid a passwordbol generalhato + $isid=($softwareKey ? crm_hardlock::GetIsidFromTimeCode($telepitesikod) : substr($pwd,0,2).$verid); +else { + $telepitesikod = ""; + $isid = ""; +} + +if($validPassword == false && substr($decoded,0,2) == "##"){ //- 2018-as proragramoktol(nehany 2018-as build nem fut ide be) + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; + $message = "Tip error: missing password || url: ".$actual_link; + crm_hardlock::AddToDebugTable($message); +} +if($validPassword && $validTelepitesikod == false && $verid > 35){ //- csak a 2019-es programokat es ujabbakat vizsgalunk, a regbbiekben elofordulhatnak hibas idokodok + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; + $message = "Tip error: invalid timecode ".$decoded." || url: ".$actual_link; + crm_hardlock::AddToDebugTable($message); +} + +if(isset($npID)) + $compid = crm_hardlock::AddOrUpdateComputer($npID, ''); // $comp_name = base64_decode($comp_name); // Ez meg nem jon be! + +$isNamirialAutoCreate = isset($npID) && $npID>'' && isset($partnerID) && $partnerID=='2nt' /*-&& isset($telepitesikod) && $telepitesikod>''-*/ && $validPassword; +$isBimLadderAutoCreate = isset($npID) && $npID>'' && isset($partnerID) && $partnerID=='kbl' /*-&& isset($telepitesikod) && $telepitesikod>''-*/ && $validPassword; + +/******************************************************************************* + *NAMIRIAL vagy BIMLADDER automata kulcskiadás és program létrehozás + ******************************************************************************/ +if ($isNamirialAutoCreate || $isBimLadderAutoCreate) { + $queryStr = "SELECT * FROM `".CRMADATBAZIS."`.`nonprofit` WHERE computer_id='".$compid."' AND partnerID = '".$partnerID."' AND verID =".$verid." LIMIT 1;"; + crm_database::getInstance()->query($queryStr); + $res=crm_database::getInstance()->fetchAssoc(); + + $rangeMin = $isNamirialAutoCreate ? 940001 : 920001; + $rangeMax = $isNamirialAutoCreate ? 949999 : 929999; + $interval = $isNamirialAutoCreate ? 90 : 30; + $country_id = $isNamirialAutoCreate ? 39 : 82; + $topic_id = $isNamirialAutoCreate ? 366 : 368; + $info = $isNamirialAutoCreate ? 'Namirial nonprofit kulcs aktiválás' : 'BIMLadder nonprofit kulcs aktiválás'; + $contact = $isNamirialAutoCreate ? 8 : 9; + + $type=crm_hardlock::GetTypeFromPassword($pwd); + $ver=crm_hardlock::GetVersion(array('verPassword8and9'=>$verid)); + + //ba nincs ehhez a gephez meg non-profit program regisztralva + if (empty($res)) { + $hlNum=crm_hardlock::GetTheFirstNotUsedHlNumFromInterval($rangeMin,$rangeMax); + $pass=crm_hardlock::GeneratePassword($hlNum,0,$type,$ver['verCode']); + $aktKod=crm_hardlock::GenerateTimeCode($pass,$isid,$interval); + + // Ha nincs benne a user a CRM-be, akkor hozza adjuk + $userID=crm_users::addUser(array( + 'strName'=>$name, + 'strEMail'=>$email, + 'strTel'=>$phone, + 'nCtrID'=>$country_id, + 'old_db'=>'clusers_eng', + 'dateInsert'=>$time, + 'strCompany'=>$company + ), $newsletter); + + //ba regisztraljuk hozza a non-profit programot + crm_hardlock::AddNonprofit(array( + 'isid'=>$isid, + 'verid'=>$verid, + 'hlID'=>$hlNum, + 'nUserID'=>$userID, + 'add_datetime'=>date('Y-m-d H:i:s',$time), + 'expire_datetime'=>date('Y-m-d H:i:s', strtotime('+90 day', $time)), + 'activation_datetime'=>date('Y-m-d H:i:s',$time), + 'old_db'=>'clusers_eng', + 'partnerID'=>$partnerID, + 'enabled'=>'Y', + 'computer_id'=>$compid + )); + + //Namirial vagy BIMLADDER non-profit kod aktivalas beszurasa crm -> u_history tablaba + crm_users::AddUserHistory(array( + 'nUserID'=>$userID, + 'nTopicID'=>$topic_id, + 'dateEvent'=>date('Y-m-d H:i:s',$time), + 'strPlace'=>'', + 'strInfo'=>$info, + 'nManagerID'=>36, + 'insertDate'=>date('Y-m-d H:i:s',$time) + )); + + crm_hardlock::AddHardlock(array( + 'hlNum'=>$hlNum, + 'hlCtrID'=>$country_id, + 'hlLan'=>0, + 'hlStat'=>1, + 'hlDateIssue'=>date('Y-m-d',$time), + 'hlManID'=>36, + 'hlTime'=>date('Y-m-d H:i:s',$time), + 'hlUser'=>$userID, + 'hlDealer'=>62103, + 'bUjithato'=>1, + 'old_db'=>'clusers_eng' + )); + + crm_hardlock::AddProgram(array( + 'prTypeID'=>$type, + 'prVerID'=>$ver['verID'], + 'prLan'=>0, + 'prPass'=>trim($pass), + 'prSellDate'=>date('Y-m-d',$time), + 'prActDate'=>date('Y-m-d',$time+$interval*86400), // 90 vagy 30 nap + 'prFizetve'=>date('Y-m-d',$time+$interval*86400), + 'prActCode'=>trim($aktKod), + 'prTime'=>date('Y-m-d H:i:s',$time), + 'prLastMod'=>date('Y-m-d H:i:s',$time), + 'prContact'=>$contact, // Non-profit + 'prHlNum'=>$hlNum, // 99xxxx + 'prManID'=>36, // web + 'prStat'=>0, + 'prHiType'=>1 // 1 Rendelés | 2 Tipus Valtas | 3 Frissites | 4 Auto Friss. + )); + + $pwd = $pass; //ba 2018.07.02. mostantol az uj jelszava a usernek a most generalt, 94-es lesz, nem pedig a 93-as! + } else { + //ba ehhez a gephez mar volt non-profit regisztracio, keressuk ki a sorozatszamot neki + $hlNum = $res[0]['hlID']; + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prHlNum='{$hlNum}' limit 1"); + $programQuery=crm_database::getInstance()->fetchAssoc(); + $pwd = $programQuery[0]['prPass']; + } +} //- if ($isNamirialAutoCreate || $isBimLadderAutoCreate) vege + +$hlNum = crm_hardlock::GetHlnumFromPassword($pwd); + +//insert stats to the userstats table +$stats = array( + 'usLang' => $user_lang_db, + 'usDate' => time(), + 'usPwd' => $pwd, + 'usVer'=>$verid, + 'usCompID' => $compID, + 'usCtrID' => $ctrID, + 'usBuild' => $build, + 'usCtrName' => $ctrname, + 'usIP' => $user_IP, + 'usOSData' => $osdata, + 'usISID' => $isid, + 'usInditasokSzama' => 1 +); + +crm_database::getInstance()->query("SELECT hlLan, hlCtrID FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".$hlNum."'"); +$hardlock = crm_database::getInstance()->fetchAssoc(); + +$isLanProgram = empty($hardlock) == false && $hardlock[0]['hlLan'] > 0; + +// A szarmazasi orszag beallitasa +if($softwareKey) { + $liveKey = crm_hardlock::IsLiveKey($pwd); // Live kulcs 2019 + if(empty($hardlock) == false && ($liveKey || in_array(substr($pwd,0,2), array('99','98','95'))) ) { // Azok a programok, amik regisztrálódnak a CRM-ben 2019 + $hl=$hardlock[0]; + if(isset($hl['hlCtrID'])) + $stats['usHlCtrID'] = $hl['hlCtrID']; + } +} else { + $stats['usHlCtrID'] = substr($pwd,0,2); +} + +$trialProgram = crm_hardlock::IsTrialKey($pwd); +$trialSpecialEditionProgram = $trialProgram ? crm_hardlock::IsSpecialEditionTrial($pwd) : false; + +// Kereskedelmi valtozatok lekezelese (a statisztika miatt bekerulnek a Namirial es a BIMLadder programok is) +if($verid>29 && ($trialProgram == false || $trialSpecialEditionProgram)) { + if($trialSpecialEditionProgram == false) { + $query = "SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='".$pwd."'"; + if($softwareKey && $isLanProgram) //- szoftveres lan kulcsnal mindig telepitesenkent egyedi az aktivalo kod + $query .= " AND prActCode LIKE '%-".$isid."-%'"; + $query .= ";"; + + crm_database::getInstance()->query($query); + $prgrm=crm_database::getInstance()->fetchAssoc(); + + if(empty($prgrm) && $softwareKey && $isLanProgram) { //- a lan-os valtozatnal na nem volt telepitve lehet, hogy nem volt talalat + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE prPass='".$pwd."' and (prActCode = '' or prActCode is null) LIMIT 1;"); + $prgrm=crm_database::getInstance()->fetchAssoc(); + } + } + + if($softwareKey) { //- a telepitesi datum frissitese + if($validTelepitesikod) { + //- telepitesi datum tarolasanak elokeszitese + $telepitesota_eltelt_napok_szama = crm_hardlock::GetDayFromTimeCode($telepitesikod); + $date = new DateTime(date("Y-m-d")); + $date->modify('-'.$telepitesota_eltelt_napok_szama.' day'); + $installDate = $date->format('Y-m-d'); + } else + $installDate = time(); + } else { + if(empty($prgrm)) { + $installDate = time(); + //- todo ez gigantikus hiba, jelezni kell, ha ilyen elofordul + } else + $installDate = $prgrm[0]['prSellDate']; + } + + $stats['usTelepitesiDatum'] = $installDate; + + if(empty($prgrm) == false) + $jelenlegi_aktivalokod = $prgrm[0]['prActCode']; + else + $jelenlegi_aktivalokod = ''; + + // A userstats2013 tablaba megkeresi az utolso bejegyzest és amennyiben valtozatlan, updateli az inditasok szamat, különben uj bejegyzést hoz letre + if($trialSpecialEditionProgram == false) { + //- idokod generalasa + $aktivalokod = crm_hardlock::GetOrGenerateTimeCode($pwd,$isid,$telepitesikod); + $usstatid = crm_hardlock::UpdateInstallationDate($pwd, $compID, $build, $aktivalokod, $user_IP, $installDate, $stats); + + // Nonprofit regisztracio beirasa a user-hez + crm_database::getInstance()->query("SELECT hlStat,hlUser FROM `".CRMADATBAZIS."`.`hardlock` WHERE hlNum='".$hlNum."'"); + $res=crm_database::getInstance()->fetchAssoc(); + $kulcs=$res[0]; + + if (in_array((int)substr($pwd,0,3),array(995,996,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989)) && (int)$kulcs['hlUser']>0) { // nonprofitos program első indítása + // TODO: Megakasztotta a programinditasokat!!! 2019.08.28. SQL HIBA + /*crm_database::getInstance()->query("SELECT COUNT(*) AS `darab` FROM `".CRMADATBAZIS."`.`h_aktivalas_infok` WHERE kulcs='".$hlNum."';"); + $tmp=crm_database::getInstance()->fetchAssoc(); + $darab=(int)$tmp[0]['darab'];*/ + + crm_database::getInstance()->query("SELECT COUNT(*) AS `darab` FROM `".CRMADATBAZIS."`.`u_history` WHERE `nUserID`=".(int)$kulcs['hlUser']." AND nTopicID IN (314,315);"); + $tmp=crm_database::getInstance()->fetchAssoc(); + $esem=(int)$tmp[0]['darab']; + + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`users` WHERE nUserID='".(int)$kulcs['hlUser']."';"); + $usr=crm_database::getInstance()->fetchAssoc(); + $usr=$usr[0]; + + if (!empty($usr) && (/*$darab==0 ||*/ $esem==0)) { + crm_database::getInstance()->insert("`".CRMADATBAZIS."`.`u_history`",array( + 'nUserID'=>(int)$kulcs['hlUser'], + 'nTopicID'=>($usr['old_db']=='clusers' ? 314 : 315), + 'dateEvent'=>date('Y-m-d'), + 'strPlace'=>'web', + 'strInfo'=>($usr['old_db']=='clusers' ? 'Non-profit kód regisztráció' : 'Non-profit code registration').': '.$hlNum, + 'nManagerID'=>36, + 'insertDate'=>date('Y-m-d H:i:s') + )); + } + } + } else + $usstatid = crm_hardlock::UpdateInstallationDate($pwd, $compID, $build, $jelenlegi_aktivalokod, $user_IP, $installDate, $stats); + + $virtualization = ($kulcs['hlStat']=='2' ? "false" : "true"); // letiltott kulcs visszajelzése a programnak + + $valasz = ($aktivalokod!="") ? $aktivalokod : "(( nem kapott valaszt ))"; + + + // TODO: Megakasztotta a programinditasokat!!! 2019.08.28. SQL HIBA + /*crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_aktivalas_infok` WHERE leiras LIKE 'programinditas -pw: ".$pwd."%' ORDER BY datum desc LIMIT 1;"); + $res=crm_database::getInstance()->fetchAssoc(); + + if(empty($res) == false) + crm_database::getInstance()->query("UPDATE `".CRMADATBAZIS."`.`h_aktivalas_infok` SET leiras='programinditas - pw: {$pwd}, build: {$build}, isid: {$isid}, időkód: {$telepitesikod}, valasz: ".$valasz."', datum='". time()."' WHERE id=".$res[0]['id']." LIMIT 1"); + else + crm_hardlock::_Hibajelento("tips",substr($pwd,0,6),"programinditas - pw: {$pwd}, build: {$build}, isid: {$isid}, időkód: {$telepitesikod}, valasz: ".$valasz,(isset($arrGCData)?$arrGCData:array()),(isset($usstatid)?$usstatid:NULL));*/ +} + +// Tavoli logolasi parameterek beallitasa +$logfilter=0; +if ($validPassword && $crackedProgram == false && $trialProgram == false) { + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`h_programs` WHERE `prPass`='".$pwd."' LIMIT 1;"); + $res=crm_database::getInstance()->fetchAssoc(); + $logfilter=$res[0]['prLogFilter']; +} + +// Ha a verid >= 36, akkor beinsertalja a hardlockot és a computer id-t a hardlock_computers tablaba, ha meg nincs benne +if($softwareKey && $crackedProgram == false && $trialProgram == false) + crm_hardlock::AddHardlockComputer($hlNum, $compid, $verid); + +// Kulcsok tesztelese +if($softwareKey && $crackedProgram == false && $trialProgram == false) { + $valasz = crm_hardlock::sCheckPassword($pwd); + + if(empty($valasz) == false) { + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; + $message = "Checked Password || Serial: ".$pwd." || Valasz: ".$valasz." || url: ".$actual_link; + crm_hardlock::AddToDebugTable($message); + } +} + +// Modul es reaktivalo kodok kiiratasa +if($crackedProgram == false && $trialProgram == false) { + + // Modul kodok osszegyujtese + crm_database::getInstance()->query("SELECT prID FROM `".CRMADATBAZIS."`.`h_programs` WHERE `prPass`='".$pwd."' LIMIT 1;"); + $programs = crm_database::getInstance()->fetchAssoc(); + + $moduleList = ""; + if(empty($programs) == false) { + $prID = $programs[0]['prID']; + crm_database::getInstance()->query("SELECT mdCode FROM `".CRMADATBAZIS."`.`p_modules` WHERE `mdPrID`='".$prID."'"); + $modules = crm_database::getInstance()->fetchAssoc(); + + foreach ($modules as $module) { + if(empty($moduleList) == false) + $moduleList .= ";"; + + $moduleList .= $module['mdCode']; + } + } + + // Reaktivalokodok kuldese + if($virtualization == "true" && $reactivationCounter > 0) { + $reactivationCounter--; + $modulIsid = substr($pwd, 0,2).$verid; + + if($reactivationCounter > 4) // 5-nel tobb nem lehet + $reactivationCounter = 4; + + for($i=0; $i<=$reactivationCounter; $i++) { + $modulID = 35+$i; + $reactivationCode = crm_hardlock::GenerateTimeCode($pwd, $modulIsid, $modulID); + + if(empty($moduleList) == false) + $moduleList .= ";"; + + $moduleList .= $reactivationCode; + } + } +} + +if(crm_hardlock::IsCalledFromMyIP() && $softwareKey) { + $utst = time(); + (int)$convertedDay = crm_hardlock::ConvertDay(date('w')); + $tid = (int)($utst / $convertedDay); + + crm_database::getInstance()->query("SELECT * FROM `".CRMADATBAZIS."`.`p_serial_isid` WHERE serial='".$pwd."' AND isid='".$isid."' AND aktiv = 1"); + $p_serial_isid=crm_database::getInstance()->fetchAssoc(); + + if(empty($p_serial_isid)) + $regenr = crm_hardlock::No($utst, 39); + else + $regenr = crm_hardlock::Yes($utst, 39); +} + +header('Content-Type: text/xml; charset=utf-8'); +header('Content-Disposition: inline; filename=response.xml'); +print '<'.'?'.'xml version="1.0" encoding="UTF-8" standalone="yes"'.'?'.'> + + + /public/support/tips/en/ + + '.((isset($aktivalokod) && $aktivalokod) ? ''.$aktivalokod.'' : '').' + '.((isset($virtualization) && $virtualization) ? ''.$virtualization.'' : '').' + '.((isset($usstatid) && (int)$usstatid>0) ? ''.(int)$usstatid.'' : '').' + '.$logfilter.' + '.((empty($moduleList) == false) ? ''.$moduleList.'' : '').' + '.($hlNum=='360006' ? 'true' : 'false').' + '.((isset($regenr) && (int)$regenr>0) ? ''.(int)$regenr.'' : '').' + '.((isset($tid) && (int)$tid>0) ? ''.(int)$tid.'' : '').' + '; ?> \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_applications/assets/css/images/index.html b/cadline/modules/modules/mod_al_applications/assets/css/images/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_applications/assets/css/images/index.html +++ b/cadline/modules/modules/mod_al_applications/assets/css/images/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_applications/assets/css/index.html b/cadline/modules/modules/mod_al_applications/assets/css/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_applications/assets/css/index.html +++ b/cadline/modules/modules/mod_al_applications/assets/css/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_applications/assets/css/style.css b/cadline/modules/modules/mod_al_applications/assets/css/style.css index fab965fe..2542e469 100644 --- a/cadline/modules/modules/mod_al_applications/assets/css/style.css +++ b/cadline/modules/modules/mod_al_applications/assets/css/style.css @@ -1,10 +1,10 @@ -.past { background-color:#e6a8a8; opacity: 0.7; } -.present { background-color:#ffffff; border:2px solid #155215; } -.future { background-color:#71bf73; opacity: 0.9; } -.mb25 { margin-bottom:25px; } -.cimke { font-size: 90% !important;font-weight:bold !important; } - -#alapplicationsContainer .controlls {margin-top:15px;} -#alapplicationsContainer a, #alapplicationsContainer a:hover {font-weight:bold;} -#alapplicationsContainer .past a, #alapplicationsContainer .future a {color:#003060;} +.past { background-color:#e6a8a8; opacity: 0.7; } +.present { background-color:#ffffff; border:2px solid #155215; } +.future { background-color:#71bf73; opacity: 0.9; } +.mb25 { margin-bottom:25px; } +.cimke { font-size: 90% !important;font-weight:bold !important; } + +#alapplicationsContainer .controlls {margin-top:15px;} +#alapplicationsContainer a, #alapplicationsContainer a:hover {font-weight:bold;} +#alapplicationsContainer .past a, #alapplicationsContainer .future a {color:#003060;} #alapplicationsContainer .past a:hover, #alapplicationsContainer .future a:hover {color:#ffffff;} \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_applications/assets/index.html b/cadline/modules/modules/mod_al_applications/assets/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_applications/assets/index.html +++ b/cadline/modules/modules/mod_al_applications/assets/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_applications/assets/js/index.html b/cadline/modules/modules/mod_al_applications/assets/js/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_applications/assets/js/index.html +++ b/cadline/modules/modules/mod_al_applications/assets/js/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_applications/index.html b/cadline/modules/modules/mod_al_applications/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_applications/index.html +++ b/cadline/modules/modules/mod_al_applications/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_applications/mod_al_applications.php b/cadline/modules/modules/mod_al_applications/mod_al_applications.php index f19255a2..c86f9119 100644 --- a/cadline/modules/modules/mod_al_applications/mod_al_applications.php +++ b/cadline/modules/modules/mod_al_applications/mod_al_applications.php @@ -1,32 +1,32 @@ -addStyleSheet("/modules/mod_al_applications/assets/css/style.css"); -$doc->addScript("/modules/mod_al_applications/assets/js/script.js"); - -$_POST['course_id'] = isset($_POST['course_id']) ? $_POST['course_id'] : 0; - -if (isset($_POST) && (int)$_POST['course_id'] > 0) { - $app = JFactory::getApplication(); - $input = $app->input; - $course_id = $input->get('course_id', '', 'int'); - - $application = ModAlapplicationsHelper::getPublishedApplication($course_id); - if ($application) { - ModAlapplicationsHelper::unPublishApplication($course_id); - JFactory::getApplication()->enqueueMessage(JText::_(MOD_ALAPPLICATIONS_UNPUBLISHED) . ": " . $application[0]->title, 'message'); - } -} - -$applications = ModAlapplicationsHelper::getOtherApplications(); -$level = array( - 1 => JText::_('MOD_ALAPPLICATIONS_PRELIMINARY'), - 2 => JText::_('MOD_ALAPPLICATIONS_INTERMEDIATE'), - 3 => JText::_('MOD_ALAPPLICATIONS_TUTOR_EXAM'), - 4 => JText::_('MOD_ALAPPLICATIONS_ADVANCED') -); - -require JModuleHelper::getLayoutPath('mod_al_applications', $params->get('layout', 'default')); +addStyleSheet("/modules/mod_al_applications/assets/css/style.css"); +$doc->addScript("/modules/mod_al_applications/assets/js/script.js"); + +$_POST['course_id'] = isset($_POST['course_id']) ? $_POST['course_id'] : 0; + +if (isset($_POST) && (int)$_POST['course_id'] > 0) { + $app = JFactory::getApplication(); + $input = $app->input; + $course_id = $input->get('course_id', '', 'int'); + + $application = ModAlapplicationsHelper::getPublishedApplication($course_id); + if ($application) { + ModAlapplicationsHelper::unPublishApplication($course_id); + JFactory::getApplication()->enqueueMessage(JText::_(MOD_ALAPPLICATIONS_UNPUBLISHED) . ": " . $application[0]->title, 'message'); + } +} + +$applications = ModAlapplicationsHelper::getOtherApplications(); +$level = array( + 1 => JText::_('MOD_ALAPPLICATIONS_PRELIMINARY'), + 2 => JText::_('MOD_ALAPPLICATIONS_INTERMEDIATE'), + 3 => JText::_('MOD_ALAPPLICATIONS_TUTOR_EXAM'), + 4 => JText::_('MOD_ALAPPLICATIONS_ADVANCED') +); + +require JModuleHelper::getLayoutPath('mod_al_applications', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_al_applications/mod_al_applications.xml b/cadline/modules/modules/mod_al_applications/mod_al_applications.xml index 2e182d4e..ee0b5463 100644 --- a/cadline/modules/modules/mod_al_applications/mod_al_applications.xml +++ b/cadline/modules/modules/mod_al_applications/mod_al_applications.xml @@ -1,49 +1,49 @@ - - - - MOD_ARCHLINE_APPLICATIONS_MODULE - Nov 2017 - Zsolt Fekete - mcleod78@gmail.com - https://www.facbook.com/mcleod78 - Copyright © 2017 - All rights reserved. - GNU General Public License v2.0 - 0.0.1 - MOD_ARCHLINE_APPLICATIONS_MODULE_DESCRIPTION - - mod_al_applications.php - mod_al_applications.xml - helper.php - index.html - language - tmpl - assets - - - - -
              - - - - - - - - - - - - - -
              -
              -
              - - - en-GB/en-GB.mod_al_applications.sys.ini - en-GB/en-GB.mod_al_applications.ini - hu-HU/hu-HU.mod_al_applications.sys.ini - hu-HU/hu-HU.mod_al_applications.ini - + + + + MOD_ARCHLINE_APPLICATIONS_MODULE + Nov 2017 + Zsolt Fekete + mcleod78@gmail.com + https://www.facbook.com/mcleod78 + Copyright © 2017 - All rights reserved. + GNU General Public License v2.0 + 0.0.1 + MOD_ARCHLINE_APPLICATIONS_MODULE_DESCRIPTION + + mod_al_applications.php + mod_al_applications.xml + helper.php + index.html + language + tmpl + assets + + + + +
              + + + + + + + + + + + + + +
              +
              +
              + + + en-GB/en-GB.mod_al_applications.sys.ini + en-GB/en-GB.mod_al_applications.ini + hu-HU/hu-HU.mod_al_applications.sys.ini + hu-HU/hu-HU.mod_al_applications.ini +
              \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_applications/tmpl/default.php b/cadline/modules/modules/mod_al_applications/tmpl/default.php index 70713677..8842ac91 100644 --- a/cadline/modules/modules/mod_al_applications/tmpl/default.php +++ b/cadline/modules/modules/mod_al_applications/tmpl/default.php @@ -1,104 +1,104 @@ -id, false); -?> - -id == 0) : ?> - -

              - - - - - - -
              - $ws) : ?> - level == 3 && !in_array(18, $groups)) continue; ?> - 0 && $tanfolyam[$k - 1]->level != $tanfolyam[$k]->level)) : ?> - - 0) : ?> - -
              -
              - - - -
              -
              -

              title ?>

              -
              -
              -
              -
              -
              -
              - - -
              - id, $ws->id); ?> - -
              - - - session_date < date('Y-m-d')) $class = "danger"; - if ($wsapp->session_date <= date('Y-m-d') && $application->finish_date >= date('Y-m-d')) $class = "info"; - if ($wsapp->session_date > date('Y-m-d')) $class = "success"; ?> - session_date ?>  - - -
              - -
              - -
              - -
              -
              - - - -
              -
              - -
              - - +id, false); +?> + +id == 0) : ?> + +

              + + + + + + +
              + $ws) : ?> + level == 3 && !in_array(18, $groups)) continue; ?> + 0 && $tanfolyam[$k - 1]->level != $tanfolyam[$k]->level)) : ?> + + 0) : ?> + +
              +
              + + + +
              +
              +

              title ?>

              +
              +
              +
              +
              +
              +
              + + +
              + id, $ws->id); ?> + +
              + + + session_date < date('Y-m-d')) $class = "danger"; + if ($wsapp->session_date <= date('Y-m-d') && $application->finish_date >= date('Y-m-d')) $class = "info"; + if ($wsapp->session_date > date('Y-m-d')) $class = "success"; ?> + session_date ?>  + + +
              + +
              + +
              + +
              +
              + + + +
              +
              + +
              + + \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_applications/tmpl/index.html b/cadline/modules/modules/mod_al_applications/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_applications/tmpl/index.html +++ b/cadline/modules/modules/mod_al_applications/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_login/index.html b/cadline/modules/modules/mod_al_login/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_login/index.html +++ b/cadline/modules/modules/mod_al_login/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_login/mod_al_login.xml b/cadline/modules/modules/mod_al_login/mod_al_login.xml index 27cf6bb7..41366bee 100644 --- a/cadline/modules/modules/mod_al_login/mod_al_login.xml +++ b/cadline/modules/modules/mod_al_login/mod_al_login.xml @@ -1,21 +1,21 @@ - - - AL Login - Nagy Máté - 1.0.0 - Login into ARCHLine - - mod_al_login.xml - mod_al_login.php - index.html - helper.php - tmpl/default.php - tmpl/index.html - - - en-GB.mod_al_login.ini - en-GB.mod_al_login.sys.ini - - - + + + AL Login + Nagy Máté + 1.0.0 + Login into ARCHLine + + mod_al_login.xml + mod_al_login.php + index.html + helper.php + tmpl/default.php + tmpl/index.html + + + en-GB.mod_al_login.ini + en-GB.mod_al_login.sys.ini + + + \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_login/tmpl/index.html b/cadline/modules/modules/mod_al_login/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_login/tmpl/index.html +++ b/cadline/modules/modules/mod_al_login/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_newsletter/helper.php b/cadline/modules/modules/mod_al_newsletter/helper.php index b97c0706..043ae9f6 100644 --- a/cadline/modules/modules/mod_al_newsletter/helper.php +++ b/cadline/modules/modules/mod_al_newsletter/helper.php @@ -1,87 +1,87 @@ -getQuery(true); - - $query->select(array('e.*')); - $query->from($db->quoteName('cl_hlusers.u_emails', 'e')); - $query->where($db->quoteName('e.email') . ' = ' . $db->quote($email)); - - // Reset the query using our newly populated query object. - $db->setQuery($query); - - // Load the results as a list of stdClass objects (see later for more options on retrieving data). - $existingUser = $db->loadObject(); - - if (!empty($existingUser)) { - if ($existingUser->newsletter == 1) - return true; - - $db->getQuery(true); - $query = "UPDATE cl_hlusers.u_emails SET newsletter = 1 WHERE u_emails_id = '{$existingUser->u_emails_id}'"; - $db->setQuery($query); - $db->execute(); - - return true; - } - - $old_db = (JFactory::getLanguage()->getTag() == 'hu-HU' ? "clusers" : "clusers_eng"); - $ctrID = (JFactory::getLanguage()->getTag() == 'hu-HU' ? 36 : 0); - - if ($phone != '') { - $phone = str_replace('-', '', $phone); - $phone = str_replace(' ', '', $phone); - $phone = str_replace('+', '', $phone); - $phone = str_replace('/', '', $phone); - $phone = str_replace('.', '', $phone); - $phone = str_replace(' ', '', $phone); - } - - $user = new stdClass(); - $user->strName = $name; - $user->strEMail = $email; - $user->nUserType = 0; - $user->nUserStatus = 0; - $user->nUserProf = 0; - $user->old_db = $old_db; - $user->nSchoolID = 0; - $user->nCtrID = $ctrID; - $user->strTel = $phone; - $user->nCtrID = $cntr; - $user->nUserProf = $prof; - - JFactory::getDbo()->insertObject('cl_hlusers.users', $user); - - $nUserID = $db->insertid(); - - $history = new stdClass(); - $history->nUserID = $nUserID; - $history->nTopicID = (JFactory::getLanguage()->getTag() == 'hu-HU' ? 38 : 150); - $history->dateEvent = date('Y-m-d'); - $history->insertDate = date('Y-m-d H:i:s'); - $history->strPlace = 'web'; - $history->nManagerID = 36; - - JFactory::getDbo()->insertObject('cl_hlusers.u_history', $history); - - $emails = new stdClass(); - $emails->email = $email; - $emails->nUserID = $nUserID; - $emails->default = 1; - $emails->active = 1; - $emails->deleted = 0; - $emails->newsletter = 1; - - JFactory::getDbo()->insertObject('cl_hlusers.u_emails', $emails); - - return true; - } -} +getQuery(true); + + $query->select(array('e.*')); + $query->from($db->quoteName('cl_hlusers.u_emails', 'e')); + $query->where($db->quoteName('e.email') . ' = ' . $db->quote($email)); + + // Reset the query using our newly populated query object. + $db->setQuery($query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $existingUser = $db->loadObject(); + + if (!empty($existingUser)) { + if ($existingUser->newsletter == 1) + return true; + + $db->getQuery(true); + $query = "UPDATE cl_hlusers.u_emails SET newsletter = 1 WHERE u_emails_id = '{$existingUser->u_emails_id}'"; + $db->setQuery($query); + $db->execute(); + + return true; + } + + $old_db = (JFactory::getLanguage()->getTag() == 'hu-HU' ? "clusers" : "clusers_eng"); + $ctrID = (JFactory::getLanguage()->getTag() == 'hu-HU' ? 36 : 0); + + if ($phone != '') { + $phone = str_replace('-', '', $phone); + $phone = str_replace(' ', '', $phone); + $phone = str_replace('+', '', $phone); + $phone = str_replace('/', '', $phone); + $phone = str_replace('.', '', $phone); + $phone = str_replace(' ', '', $phone); + } + + $user = new stdClass(); + $user->strName = $name; + $user->strEMail = $email; + $user->nUserType = 0; + $user->nUserStatus = 0; + $user->nUserProf = 0; + $user->old_db = $old_db; + $user->nSchoolID = 0; + $user->nCtrID = $ctrID; + $user->strTel = $phone; + $user->nCtrID = $cntr; + $user->nUserProf = $prof; + + JFactory::getDbo()->insertObject('cl_hlusers.users', $user); + + $nUserID = $db->insertid(); + + $history = new stdClass(); + $history->nUserID = $nUserID; + $history->nTopicID = (JFactory::getLanguage()->getTag() == 'hu-HU' ? 38 : 150); + $history->dateEvent = date('Y-m-d'); + $history->insertDate = date('Y-m-d H:i:s'); + $history->strPlace = 'web'; + $history->nManagerID = 36; + + JFactory::getDbo()->insertObject('cl_hlusers.u_history', $history); + + $emails = new stdClass(); + $emails->email = $email; + $emails->nUserID = $nUserID; + $emails->default = 1; + $emails->active = 1; + $emails->deleted = 0; + $emails->newsletter = 1; + + JFactory::getDbo()->insertObject('cl_hlusers.u_emails', $emails); + + return true; + } +} diff --git a/cadline/modules/modules/mod_al_newsletter/index.html b/cadline/modules/modules/mod_al_newsletter/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_newsletter/index.html +++ b/cadline/modules/modules/mod_al_newsletter/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.ini b/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.ini index eb757046..038fe514 100644 --- a/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.ini +++ b/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.ini @@ -1,10 +1,10 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Jetzt unseren wöchentlichen Newsletter abonnieren!" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Werden Sie Mitglied in unserer Community und erhalten Sie die neuesten Tutorials, Angebote und Nachrichten direkt per E-Mail." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="E-mail Adresse" -MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Abonnieren" -MOD_AL_NEWSLETTER_DONE="Danke für Ihr Abonnement" -MOD_AL_NEWSLETTER_PHONE="Telefonnummer" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Jetzt unseren wöchentlichen Newsletter abonnieren!" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Werden Sie Mitglied in unserer Community und erhalten Sie die neuesten Tutorials, Angebote und Nachrichten direkt per E-Mail." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="E-mail Adresse" +MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Abonnieren" +MOD_AL_NEWSLETTER_DONE="Danke für Ihr Abonnement" +MOD_AL_NEWSLETTER_PHONE="Telefonnummer" MOD_AL_NEWSLETTER_PHONE_DESC="Telefonnummer" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.sys.ini b/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.sys.ini index 0ed85c5d..051293b0 100644 --- a/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.sys.ini +++ b/cadline/modules/modules/mod_al_newsletter/language/de-DE/de-DE.mod_al_newsletter.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.ini b/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.ini index fe9db881..b8248492 100644 --- a/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.ini +++ b/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.ini @@ -1,8 +1,8 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Subscribe to our weekly newsletter!" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Join our community to get the latest tutorials, offers and news delivered directly in your inbox." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" -MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Subscribe to our weekly newsletter!" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Join our community to get the latest tutorials, offers and news delivered directly in your inbox." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" MOD_AL_NEWSLETTER_DONE="Thank you for subscribing" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.sys.ini b/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.sys.ini index 0ed85c5d..051293b0 100644 --- a/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.sys.ini +++ b/cadline/modules/modules/mod_al_newsletter/language/en-GB/en-GB.mod_al_newsletter.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.ini b/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.ini index dbc04238..dc473544 100644 --- a/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.ini +++ b/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.ini @@ -1,10 +1,10 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozz fel heti hírlevelünkre!" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Csatlakozz az ARCHLine.XP közösségéhez, értesülj elsők között oktatóvideóinkról, akcióinkről és híreinkről! " -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Név" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Email" -MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozom" -MOD_AL_NEWSLETTER_DONE="Köszönjük, hogy feliratkozott hírlevelünkre" -MOD_AL_NEWSLETTER_PHONE="Telefonszám" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozz fel heti hírlevelünkre!" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Csatlakozz az ARCHLine.XP közösségéhez, értesülj elsők között oktatóvideóinkról, akcióinkről és híreinkről! " +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Név" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Email" +MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozom" +MOD_AL_NEWSLETTER_DONE="Köszönjük, hogy feliratkozott hírlevelünkre" +MOD_AL_NEWSLETTER_PHONE="Telefonszám" MOD_AL_NEWSLETTER_PHONE_DESC="Telefonszám" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini b/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini index 243ea56c..e0437556 100644 --- a/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini +++ b/cadline/modules/modules/mod_al_newsletter/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozás" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.php b/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.php index 80d5253a..b3a819d0 100644 --- a/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.php +++ b/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.php @@ -1,72 +1,72 @@ -format('c'); - $ip = $_SERVER['REMOTE_ADDR']; - $browser = $_SERVER['HTTP_USER_AGENT']; - - if (isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) { - $api_url = 'https://www.google.com/recaptcha/api/siteverify'; - $resq_data = array( - 'secret' => '6Le1o70lAAAAAE125nVz9KQYBX1h2-o5kmlx4tJw', - 'response' => $_POST['g-recaptcha-response'], - 'remoteip' => $_SERVER['REMOTE_ADDR'] - ); - - $curlConfig = array( - CURLOPT_URL => $api_url, - CURLOPT_POST => true, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_POSTFIELDS => $resq_data - ); - - $ch = curl_init(); - curl_setopt_array($ch, $curlConfig); - $response = curl_exec($ch); - curl_close($ch); - - $responseData = json_decode($response); - - if (!$responseData->success) { - $log = "{$date} capchaID: 'web-registration-v3' verdict: 'FAILURE' IP: '{$ip}' Browser: '{$browser}'" . PHP_EOL; - error_log($log, 3, $_SERVER['DOCUMENT_ROOT'] . '/logs/captchaErrorLog.log'); - - $app->enqueueMessage('Captcha failed', 'error'); - } - - $log = "{$date} capchaID: 'web-registration-v3' verdict: 'SUCCESS' IP: '{$ip}' Browser: '{$browser}'" . PHP_EOL; - error_log($log, 3, $_SERVER['DOCUMENT_ROOT'] . '/logs/captchaErrorLog.log'); - - $input = $app->input; - - $name = $input->get('name', '', 'string'); - $email = $input->get('email', '', 'string'); - $phone = $input->get('phone', '', 'string'); - $cntr = $input->get('cntr', '', 'int'); - $prof = $input->get('prof', '', 'int'); - - $user = ModAlNewsletterHelper::insertUser($name, $email, $phone, $cntr, $prof); - - unset($_POST['subscribe-newsletter-btn']); - unset($_POST['name']); - unset($_POST['email']); - - if ($user) { - $app->enqueueMessage(JText::_('MOD_AL_NEWSLETTER_DONE')); - } - } else { - $log = "{$date} capchaID: 'web-registration-v3' verdict: 'FAILURE' IP: '{$ip}' Browser: '{$browser}'" . PHP_EOL; - error_log($log, 3, $_SERVER['DOCUMENT_ROOT'] . '/logs/captchaErrorLog.log'); - } - } -} - -if ($_GET['Itemid'] != 744 && $_GET['Itemid'] != 745) - require JModuleHelper::getLayoutPath('mod_al_newsletter', $params->get('layout', 'default')); +format('c'); + $ip = $_SERVER['REMOTE_ADDR']; + $browser = $_SERVER['HTTP_USER_AGENT']; + + if (isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) { + $api_url = 'https://www.google.com/recaptcha/api/siteverify'; + $resq_data = array( + 'secret' => '6Le1o70lAAAAAE125nVz9KQYBX1h2-o5kmlx4tJw', + 'response' => $_POST['g-recaptcha-response'], + 'remoteip' => $_SERVER['REMOTE_ADDR'] + ); + + $curlConfig = array( + CURLOPT_URL => $api_url, + CURLOPT_POST => true, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_POSTFIELDS => $resq_data + ); + + $ch = curl_init(); + curl_setopt_array($ch, $curlConfig); + $response = curl_exec($ch); + curl_close($ch); + + $responseData = json_decode($response); + + if (!$responseData->success) { + $log = "{$date} capchaID: 'web-registration-v3' verdict: 'FAILURE' IP: '{$ip}' Browser: '{$browser}'" . PHP_EOL; + error_log($log, 3, $_SERVER['DOCUMENT_ROOT'] . '/logs/captchaErrorLog.log'); + + $app->enqueueMessage('Captcha failed', 'error'); + } + + $log = "{$date} capchaID: 'web-registration-v3' verdict: 'SUCCESS' IP: '{$ip}' Browser: '{$browser}'" . PHP_EOL; + error_log($log, 3, $_SERVER['DOCUMENT_ROOT'] . '/logs/captchaErrorLog.log'); + + $input = $app->input; + + $name = $input->get('name', '', 'string'); + $email = $input->get('email', '', 'string'); + $phone = $input->get('phone', '', 'string'); + $cntr = $input->get('cntr', '', 'int'); + $prof = $input->get('prof', '', 'int'); + + $user = ModAlNewsletterHelper::insertUser($name, $email, $phone, $cntr, $prof); + + unset($_POST['subscribe-newsletter-btn']); + unset($_POST['name']); + unset($_POST['email']); + + if ($user) { + $app->enqueueMessage(JText::_('MOD_AL_NEWSLETTER_DONE')); + } + } else { + $log = "{$date} capchaID: 'web-registration-v3' verdict: 'FAILURE' IP: '{$ip}' Browser: '{$browser}'" . PHP_EOL; + error_log($log, 3, $_SERVER['DOCUMENT_ROOT'] . '/logs/captchaErrorLog.log'); + } + } +} + +if ($_GET['Itemid'] != 744 && $_GET['Itemid'] != 745) + require JModuleHelper::getLayoutPath('mod_al_newsletter', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.xml b/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.xml index 9ab947f6..0208d67a 100644 --- a/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.xml +++ b/cadline/modules/modules/mod_al_newsletter/mod_al_newsletter.xml @@ -1,44 +1,44 @@ - - - mod_al_newsletter - August 2022 - Nagy Máté - mate.nagy@cadline.hu - Copyright © 2021 - All rights reserved. - 0.0.1 - Create a newsletter subscription popup modal - - mod_al_newsletter.php - mod_al_newsletter.xml - index.html - helper.php - language - tmpl - - - -
              - - - - - - - - - - - -
              -
              -
              - - - en-GB/en-GB.mod_al_newsletter.sys.ini - en-GB/en-GB.mod_al_newsletter.ini - hu-HU/hu-HU.mod_al_newsletter.sys.ini - hu-HU/hu-HU.mod_al_newsletter.ini - de-DE/de-DE.mod_al_newsletter.sys.ini - de-DE/de-DE.mod_al_newsletter.ini - -
              + + + mod_al_newsletter + August 2022 + Nagy Máté + mate.nagy@cadline.hu + Copyright © 2021 - All rights reserved. + 0.0.1 + Create a newsletter subscription popup modal + + mod_al_newsletter.php + mod_al_newsletter.xml + index.html + helper.php + language + tmpl + + + +
              + + + + + + + + + + + +
              +
              +
              + + + en-GB/en-GB.mod_al_newsletter.sys.ini + en-GB/en-GB.mod_al_newsletter.ini + hu-HU/hu-HU.mod_al_newsletter.sys.ini + hu-HU/hu-HU.mod_al_newsletter.ini + de-DE/de-DE.mod_al_newsletter.sys.ini + de-DE/de-DE.mod_al_newsletter.ini + +
              diff --git a/cadline/modules/modules/mod_al_newsletter/tmpl/index.html b/cadline/modules/modules/mod_al_newsletter/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_newsletter/tmpl/index.html +++ b/cadline/modules/modules/mod_al_newsletter/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_upload/helper.php b/cadline/modules/modules/mod_al_upload/helper.php index d1800978..4a99c443 100644 --- a/cadline/modules/modules/mod_al_upload/helper.php +++ b/cadline/modules/modules/mod_al_upload/helper.php @@ -1,12 +1,12 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.ini b/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.ini index 80071a21..4ab545c8 100644 --- a/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.ini +++ b/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.ini @@ -1,4 +1,4 @@ -MOD_AL_UPLOAD_SUCCESS="Thank you for participating in the poll, your vote was valid.
              -Best regards, CadLine Kft." -MOD_AL_UPLOAD_VOTE="Vote" +MOD_AL_UPLOAD_SUCCESS="Thank you for participating in the poll, your vote was valid.
              +Best regards, CadLine Kft." +MOD_AL_UPLOAD_VOTE="Vote" MOD_AL_UPLOAD_VOTE_2="I vote" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.sys.ini b/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.sys.ini index 0ed85c5d..051293b0 100644 --- a/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.sys.ini +++ b/cadline/modules/modules/mod_al_upload/language/en-GB/en-GB.mod_al_upload.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.ini b/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.ini index 109436c7..e62f87f8 100644 --- a/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.ini +++ b/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.ini @@ -1,4 +1,4 @@ -MOD_AL_UPLOAD_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
              -Üdvözlettel, CadLine Kft." -MOD_AL_UPLOAD_VOTE="Szavazat" +MOD_AL_UPLOAD_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
              +Üdvözlettel, CadLine Kft." +MOD_AL_UPLOAD_VOTE="Szavazat" MOD_AL_UPLOAD_VOTE_2="Szavazok" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.sys.ini b/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.sys.ini index 243ea56c..e0437556 100644 --- a/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.sys.ini +++ b/cadline/modules/modules/mod_al_upload/language/hu-HU/hu-HU.mod_al_upload.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozás" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_upload/mod_al_upload.php b/cadline/modules/modules/mod_al_upload/mod_al_upload.php index b1529337..529652d7 100644 --- a/cadline/modules/modules/mod_al_upload/mod_al_upload.php +++ b/cadline/modules/modules/mod_al_upload/mod_al_upload.php @@ -1,156 +1,156 @@ - 0) { - $user = JFactory::getUser(); - $app = JFactory::getApplication(); - $errorMsg = ''; - $successMsg = ''; - $needEmail = false; - $dir = 'userupload/az_ev_legjobb_vizsgamunkaja_2025/' . $user->id; - $needSuccessEmail = false; - $needDoc = false; - $docFiles = ''; - $imgFiles = ''; - $imgError = false; - - $target_dir = $_SERVER['DOCUMENT_ROOT'] . '/public/' . $dir; - - if (!file_exists($target_dir)) { - mkdir($target_dir, 0777, true); - } - - $files = scandir($target_dir); - - $pngImages = glob($target_dir . "/*.png"); - $jpgImages = glob($target_dir . "/*.jpg"); - $jpegImages = glob($target_dir . "/*.jpeg"); - $images = array_merge($pngImages, $jpgImages, $jpegImages); - - if (count($images) >= 4) { - $app->enqueueMessage('A feltöltött képek száma meghaladja a megengedett limitet.', 'error'); - $imgError = true; - } - - if ($imgError == false) { - for ($i = 0; $i <= count($_FILES['fileToUpload']['tmp_name']); $i++) { - $file = $_FILES['fileToUpload']['tmp_name'][$i]; - - if ($file == '') - continue; - - if (ModAlUploadHelper::isImage($file)) { - $data = getimagesize($file); - $width = $data[0]; - $height = $data[1]; - - if ($width < 1920 || $height < 1080) { - $errorMsg .= '- A kép mérete nem haladja meg az 1920x1080-as méretet: ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; - $imgFiles .= '- ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; - - continue; - } else { - $successMsg .= '- ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; - } - } else { - $docFiles .= '- ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; - $needDoc = true; - } - - $target_file = $target_dir . '/' . basename($user->id . '_' . $_FILES["fileToUpload"]["name"][$i]); - $path_parts = pathinfo($target_file); - - $j = 1; - while (file_exists($target_file)) { - $target_file = $target_dir . '/' . $path_parts['filename'] . '_' . $j . '.' . $path_parts['extension']; - $j++; - } - - move_uploaded_file($file, $target_file); - - $needSuccessEmail = true; - } - - if ($errorMsg != '') { - $app->enqueueMessage('Az alábbi képek nem lettek feltöltve:
              ' . $errorMsg, 'error'); - } - - if ($needSuccessEmail) { - $userMessage = 'Kedves ' . $user->name . '!

              - - Köszönjük, hogy feltöltötte pályázati anyagát a rendszerünkbe. A feltöltés sikeresen megtörtént.'; - - $userSuccess = ''; - if ($successMsg != '') { - $userSuccess .= $successMsg; - } - - if ($docFiles != '') { - $userSuccess .= $docFiles; - } - - if ($userSuccess != '') { - $userMessage .= '

              Az alábbi fájlokat rendszerünk rögzítette:

              ' . $userSuccess; - } - - if ($imgFiles != '') { - $userMessage .= '

              Az alábbi fájlokat nem találtuk a feltöltésben:

              ' . $imgFiles; - } - - $userMessage .= '

              - Kérjük, amennyiben valamelyik dokumentum hiányzik, pótolhatja a megadott határidőig: 2025. október 10. déli 12:00 óra.

              - - Amennyiben minden szükséges fájl feltöltésre került, a pályázati anyag teljesnek tekinthető, és a későbbiekben már nincs lehetőség módosításra vagy cserére.

              - - Üdvözlettel,
              - CadLine Kft. - '; - - if ($userSuccess != '') { - $mail = new PHPMailer(); - - $mail->isSMTP(); - - $mail->CharSet = 'UTF-8'; - $mail->Host = $mailconfig['Host']; - $mail->Port = $mailconfig['Port']; - $mail->SMTPAuth = true; - - $mail->Username = $mailconfig['Username']; - $mail->Password = $mailconfig['Password']; - - $mail->FromName = 'www.archline.hu'; - $mail->From = 'marketing@cadline.hu'; - $mail->AddAddress($user->email); - $mail->AddCC('marketing@cadline.hu'); - - $mail->IsHTML(true); - - $mail->Subject = 'Sikeres pályázati anyag feltöltés – visszaigazolás'; - $mail->Body = $userMessage; - - $mail->Send(); - } - } - - $msg = ''; - - if ($successMsg != '') { - $msg .= 'Az alábbi képek sikeresen fel lettek töltve:
              ' . $successMsg . '
              '; - } - - if ($needDoc) { - $msg .= 'A dokumentumok sikeresen fel lettek töltve'; - } - - if ($successMsg != '' || $needDoc) { - $app->enqueueMessage($msg, 'success'); - } - } -} - -require JModuleHelper::getLayoutPath('mod_al_upload', $params->get('layout', 'default')); + 0) { + $user = JFactory::getUser(); + $app = JFactory::getApplication(); + $errorMsg = ''; + $successMsg = ''; + $needEmail = false; + $dir = 'userupload/az_ev_legjobb_vizsgamunkaja_2025/' . $user->id; + $needSuccessEmail = false; + $needDoc = false; + $docFiles = ''; + $imgFiles = ''; + $imgError = false; + + $target_dir = $_SERVER['DOCUMENT_ROOT'] . '/public/' . $dir; + + if (!file_exists($target_dir)) { + mkdir($target_dir, 0777, true); + } + + $files = scandir($target_dir); + + $pngImages = glob($target_dir . "/*.png"); + $jpgImages = glob($target_dir . "/*.jpg"); + $jpegImages = glob($target_dir . "/*.jpeg"); + $images = array_merge($pngImages, $jpgImages, $jpegImages); + + if (count($images) >= 4) { + $app->enqueueMessage('A feltöltött képek száma meghaladja a megengedett limitet.', 'error'); + $imgError = true; + } + + if ($imgError == false) { + for ($i = 0; $i <= count($_FILES['fileToUpload']['tmp_name']); $i++) { + $file = $_FILES['fileToUpload']['tmp_name'][$i]; + + if ($file == '') + continue; + + if (ModAlUploadHelper::isImage($file)) { + $data = getimagesize($file); + $width = $data[0]; + $height = $data[1]; + + if ($width < 1920 || $height < 1080) { + $errorMsg .= '- A kép mérete nem haladja meg az 1920x1080-as méretet: ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; + $imgFiles .= '- ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; + + continue; + } else { + $successMsg .= '- ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; + } + } else { + $docFiles .= '- ' . basename($_FILES["fileToUpload"]["name"][$i]) . '
              '; + $needDoc = true; + } + + $target_file = $target_dir . '/' . basename($user->id . '_' . $_FILES["fileToUpload"]["name"][$i]); + $path_parts = pathinfo($target_file); + + $j = 1; + while (file_exists($target_file)) { + $target_file = $target_dir . '/' . $path_parts['filename'] . '_' . $j . '.' . $path_parts['extension']; + $j++; + } + + move_uploaded_file($file, $target_file); + + $needSuccessEmail = true; + } + + if ($errorMsg != '') { + $app->enqueueMessage('Az alábbi képek nem lettek feltöltve:
              ' . $errorMsg, 'error'); + } + + if ($needSuccessEmail) { + $userMessage = 'Kedves ' . $user->name . '!

              + + Köszönjük, hogy feltöltötte pályázati anyagát a rendszerünkbe. A feltöltés sikeresen megtörtént.'; + + $userSuccess = ''; + if ($successMsg != '') { + $userSuccess .= $successMsg; + } + + if ($docFiles != '') { + $userSuccess .= $docFiles; + } + + if ($userSuccess != '') { + $userMessage .= '

              Az alábbi fájlokat rendszerünk rögzítette:

              ' . $userSuccess; + } + + if ($imgFiles != '') { + $userMessage .= '

              Az alábbi fájlokat nem találtuk a feltöltésben:

              ' . $imgFiles; + } + + $userMessage .= '

              + Kérjük, amennyiben valamelyik dokumentum hiányzik, pótolhatja a megadott határidőig: 2025. október 10. déli 12:00 óra.

              + + Amennyiben minden szükséges fájl feltöltésre került, a pályázati anyag teljesnek tekinthető, és a későbbiekben már nincs lehetőség módosításra vagy cserére.

              + + Üdvözlettel,
              + CadLine Kft. + '; + + if ($userSuccess != '') { + $mail = new PHPMailer(); + + $mail->isSMTP(); + + $mail->CharSet = 'UTF-8'; + $mail->Host = $mailconfig['Host']; + $mail->Port = $mailconfig['Port']; + $mail->SMTPAuth = true; + + $mail->Username = $mailconfig['Username']; + $mail->Password = $mailconfig['Password']; + + $mail->FromName = 'www.archline.hu'; + $mail->From = 'marketing@cadline.hu'; + $mail->AddAddress($user->email); + $mail->AddCC('marketing@cadline.hu'); + + $mail->IsHTML(true); + + $mail->Subject = 'Sikeres pályázati anyag feltöltés – visszaigazolás'; + $mail->Body = $userMessage; + + $mail->Send(); + } + } + + $msg = ''; + + if ($successMsg != '') { + $msg .= 'Az alábbi képek sikeresen fel lettek töltve:
              ' . $successMsg . '
              '; + } + + if ($needDoc) { + $msg .= 'A dokumentumok sikeresen fel lettek töltve'; + } + + if ($successMsg != '' || $needDoc) { + $app->enqueueMessage($msg, 'success'); + } + } +} + +require JModuleHelper::getLayoutPath('mod_al_upload', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_al_upload/mod_al_upload.xml b/cadline/modules/modules/mod_al_upload/mod_al_upload.xml index 0af766a0..055bd100 100644 --- a/cadline/modules/modules/mod_al_upload/mod_al_upload.xml +++ b/cadline/modules/modules/mod_al_upload/mod_al_upload.xml @@ -1,42 +1,42 @@ - - - mod_al_upload - August 2022 - Nagy Máté - mate.nagy@cadline.hu - Copyright © 2021 - All rights reserved. - 0.0.1 - Create a file uploader modul - - mod_al_upload.php - mod_al_upload.xml - index.html - helper.php - language - tmpl - - - -
              - - - - - - - - - - - -
              -
              -
              - - - en-GB/en-GB.mod_al_upload.sys.ini - en-GB/en-GB.mod_al_upload.ini - hu-HU/hu-HU.mod_al_upload.sys.ini - hu-HU/hu-HU.mod_al_upload.ini - -
              + + + mod_al_upload + August 2022 + Nagy Máté + mate.nagy@cadline.hu + Copyright © 2021 - All rights reserved. + 0.0.1 + Create a file uploader modul + + mod_al_upload.php + mod_al_upload.xml + index.html + helper.php + language + tmpl + + + +
              + + + + + + + + + + + +
              +
              +
              + + + en-GB/en-GB.mod_al_upload.sys.ini + en-GB/en-GB.mod_al_upload.ini + hu-HU/hu-HU.mod_al_upload.sys.ini + hu-HU/hu-HU.mod_al_upload.ini + +
              diff --git a/cadline/modules/modules/mod_al_upload/tmpl/default.php b/cadline/modules/modules/mod_al_upload/tmpl/default.php index a12c4b57..70bf7581 100644 --- a/cadline/modules/modules/mod_al_upload/tmpl/default.php +++ b/cadline/modules/modules/mod_al_upload/tmpl/default.php @@ -1,141 +1,141 @@ - - - - -
              -
              -
              -
              -
              -

              1. Bemutatkozás elérhetőséggel WORD formátumban:

              -
                -
              • 3–4 mondat + név, e-mail, telefonszám
              • -
              -
              -
              -
              - - -
              -
              - - - -
              -
              -
              -
              -

              2. PDF formátumú már elbírált vizsgamunka:

              -
              -
              -
              - -
                -
              • Nagy fájlméret lehetséges – kérjük, figyelj a feltöltésre!
              • -
              • Sikertelen feltöltés esetén küldd el a fájlt WeTransferen keresztül a marketing@cadline.hu címre.
              • -
              - - -
              - - -
              -
              - -
              -
              -
              -
              -

              3. Render képek:

              -
                -
              • 1920x1080 px méretben, maximum 3 db (opcionális, de a szakmai és közönségdíj elbírálásához javasolt)
              • -
              -
              -
              -
              - -
              - - -
              - - - -
              -
              - -
              -
              -
              -
              -

              4. Profilkép

              - -
                -
              • Minimum full HD felbontás (1920 x 1080px) vagy 3Mb-nál nagyobb fájlméretű JPG, JPEG, PNG.
              • -
              -
              -
              -
              - - -
              -
              - - - - - - \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_upload/tmpl/index.html b/cadline/modules/modules/mod_al_upload/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_upload/tmpl/index.html +++ b/cadline/modules/modules/mod_al_upload/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_vote/index.html b/cadline/modules/modules/mod_al_vote/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_vote/index.html +++ b/cadline/modules/modules/mod_al_vote/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.ini b/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.ini index 12acdcb1..76e800cd 100644 --- a/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.ini +++ b/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.ini @@ -1,4 +1,4 @@ -MOD_AL_VOTE_SUCCESS="Thank you for participating in the poll, your vote was valid.
              -Best regards, CadLine Kft." -MOD_AL_VOTE_VOTE="Vote" +MOD_AL_VOTE_SUCCESS="Thank you for participating in the poll, your vote was valid.
              +Best regards, CadLine Kft." +MOD_AL_VOTE_VOTE="Vote" MOD_AL_VOTE_VOTE_2="I vote" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.sys.ini b/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.sys.ini index 0ed85c5d..051293b0 100644 --- a/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.sys.ini +++ b/cadline/modules/modules/mod_al_vote/language/en-GB/en-GB.mod_al_vote.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.ini b/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.ini index 618676a3..8bebc791 100644 --- a/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.ini +++ b/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.ini @@ -1,4 +1,4 @@ -MOD_AL_VOTE_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
              -Üdvözlettel, CadLine Kft." -MOD_AL_VOTE_VOTE="Szavazat" +MOD_AL_VOTE_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
              +Üdvözlettel, CadLine Kft." +MOD_AL_VOTE_VOTE="Szavazat" MOD_AL_VOTE_VOTE_2="Szavazok" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.sys.ini b/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.sys.ini index 243ea56c..e0437556 100644 --- a/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.sys.ini +++ b/cadline/modules/modules/mod_al_vote/language/hu-HU/hu-HU.mod_al_vote.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozás" \ No newline at end of file diff --git a/cadline/modules/modules/mod_al_vote/mod_al_vote.php b/cadline/modules/modules/mod_al_vote/mod_al_vote.php index 0ce72cf7..d6065fd6 100644 --- a/cadline/modules/modules/mod_al_vote/mod_al_vote.php +++ b/cadline/modules/modules/mod_al_vote/mod_al_vote.php @@ -1,24 +1,24 @@ -input; - $pictureID = $input->get('picture_id', '', 'int'); - - if ($albumInfo['endDate'] >= date('Y-m-d H:i:s')) { - $vote = ModAlVoteHelper::votePicture($pictureID, $albumInfo['albumID'], $user->id, $user->nUserID, $albumInfo['strInfo']); - - if ($vote) - JFactory::getApplication()->enqueueMessage(JText::_('MOD_AL_VOTE_SUCCESS'), 'message'); - } -} - -$album = ModAlVoteHelper::getItem($albumInfo['albumID']); - -require JModuleHelper::getLayoutPath('mod_al_vote', $params->get('layout', 'default')); +input; + $pictureID = $input->get('picture_id', '', 'int'); + + if ($albumInfo['endDate'] >= date('Y-m-d H:i:s')) { + $vote = ModAlVoteHelper::votePicture($pictureID, $albumInfo['albumID'], $user->id, $user->nUserID, $albumInfo['strInfo']); + + if ($vote) + JFactory::getApplication()->enqueueMessage(JText::_('MOD_AL_VOTE_SUCCESS'), 'message'); + } +} + +$album = ModAlVoteHelper::getItem($albumInfo['albumID']); + +require JModuleHelper::getLayoutPath('mod_al_vote', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_al_vote/mod_al_vote.xml b/cadline/modules/modules/mod_al_vote/mod_al_vote.xml index 4c2d3d5b..51c3b843 100644 --- a/cadline/modules/modules/mod_al_vote/mod_al_vote.xml +++ b/cadline/modules/modules/mod_al_vote/mod_al_vote.xml @@ -1,42 +1,42 @@ - - - mod_al_vote - August 2022 - Nagy Máté - mate.nagy@cadline.hu - Copyright © 2021 - All rights reserved. - 0.0.1 - Create a picture vote modul - - mod_al_vote.php - mod_al_vote.xml - index.html - helper.php - language - tmpl - - - -
              - - - - - - - - - - - -
              -
              -
              - - - en-GB/en-GB.mod_al_vote.sys.ini - en-GB/en-GB.mod_al_vote.ini - hu-HU/hu-HU.mod_al_vote.sys.ini - hu-HU/hu-HU.mod_al_vote.ini - -
              + + + mod_al_vote + August 2022 + Nagy Máté + mate.nagy@cadline.hu + Copyright © 2021 - All rights reserved. + 0.0.1 + Create a picture vote modul + + mod_al_vote.php + mod_al_vote.xml + index.html + helper.php + language + tmpl + + + +
              + + + + + + + + + + + +
              +
              +
              + + + en-GB/en-GB.mod_al_vote.sys.ini + en-GB/en-GB.mod_al_vote.ini + hu-HU/hu-HU.mod_al_vote.sys.ini + hu-HU/hu-HU.mod_al_vote.ini + +
              diff --git a/cadline/modules/modules/mod_al_vote/tmpl/index.html b/cadline/modules/modules/mod_al_vote/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_al_vote/tmpl/index.html +++ b/cadline/modules/modules/mod_al_vote/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alusers/assets/css/images/index.html b/cadline/modules/modules/mod_alusers/assets/css/images/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alusers/assets/css/images/index.html +++ b/cadline/modules/modules/mod_alusers/assets/css/images/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alusers/assets/css/index.html b/cadline/modules/modules/mod_alusers/assets/css/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alusers/assets/css/index.html +++ b/cadline/modules/modules/mod_alusers/assets/css/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alusers/assets/css/newstyle.css b/cadline/modules/modules/mod_alusers/assets/css/newstyle.css index 02eec319..9f6cbab8 100644 --- a/cadline/modules/modules/mod_alusers/assets/css/newstyle.css +++ b/cadline/modules/modules/mod_alusers/assets/css/newstyle.css @@ -1,6 +1,6 @@ -.alusers .aktiv {color: #1E90FF;} -.alusers .inaktiv {color: #FF0000;} -.alusers dt {display:inline-block;margin-right:20px;min-width:150px;vertical-align:top;} -.alusers dd {display:inline-block;vertical-align:top;} -.btn-info, .btn-success, .btn-primary {background-color: #1E90FF !important; border-color: #1E90FF !important;} +.alusers .aktiv {color: #1E90FF;} +.alusers .inaktiv {color: #FF0000;} +.alusers dt {display:inline-block;margin-right:20px;min-width:150px;vertical-align:top;} +.alusers dd {display:inline-block;vertical-align:top;} +.btn-info, .btn-success, .btn-primary {background-color: #1E90FF !important; border-color: #1E90FF !important;} .btn-info:hover, .btn-success:hover, .btn-primary:hover {background-color: #6495ED !important; border-color: #6495ED !important;} \ No newline at end of file diff --git a/cadline/modules/modules/mod_alusers/assets/css/style.css b/cadline/modules/modules/mod_alusers/assets/css/style.css index 97e125ac..9fc35249 100644 --- a/cadline/modules/modules/mod_alusers/assets/css/style.css +++ b/cadline/modules/modules/mod_alusers/assets/css/style.css @@ -1,4 +1,4 @@ -.alusers .aktiv {color: #009900;} -.alusers .inaktiv {color: #FF0000;} -.alusers dt {display:inline-block;margin-right:20px;min-width:150px;vertical-align:top;} +.alusers .aktiv {color: #009900;} +.alusers .inaktiv {color: #FF0000;} +.alusers dt {display:inline-block;margin-right:20px;min-width:150px;vertical-align:top;} .alusers dd {display:inline-block;vertical-align:top;} \ No newline at end of file diff --git a/cadline/modules/modules/mod_alusers/assets/index.html b/cadline/modules/modules/mod_alusers/assets/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alusers/assets/index.html +++ b/cadline/modules/modules/mod_alusers/assets/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alusers/assets/js/index.html b/cadline/modules/modules/mod_alusers/assets/js/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alusers/assets/js/index.html +++ b/cadline/modules/modules/mod_alusers/assets/js/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alusers/index.html b/cadline/modules/modules/mod_alusers/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alusers/index.html +++ b/cadline/modules/modules/mod_alusers/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alusers/mod_alusers.php b/cadline/modules/modules/mod_alusers/mod_alusers.php index 4621a801..85b63a6e 100644 --- a/cadline/modules/modules/mod_alusers/mod_alusers.php +++ b/cadline/modules/modules/mod_alusers/mod_alusers.php @@ -1,178 +1,178 @@ -addStyleSheet("/modules/mod_alusers/assets/css/newstyle.css"); -$doc->addScript("/modules/mod_alusers/assets/js/script.js"); - -$path = JFactory::getURI()->getPath(); -$arr = explode('/', $path); -$alias = end($arr); - -$user = JFactory::getUser(); -$profile = JUserHelper::getProfile($user->id); -$lang = JFactory::getLanguage()->getTag(); -$crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); -$policy = ModAlusersHelper::getPrivacyPolicy((int)$user->nUserID); -$isStudent = ModAlusersHelper::isStudent((int)$user->nUserID); -$groups = $user->get('groups'); -$input = $app->input; -if (in_array(2, $groups)) $pdf = ModAlusersHelper::getUserPDF((int)$user->nUserID); - -if ((int)$user->nUserID > 0) { - $value = $app->input->cookie->get('alSessionID', null); // Get the cookie - if ($value == null) // If there's no cookie value, manually set it - { - $app->input->cookie->set('alSessionID', md5((int)$user->nUserID), (time() + 30), $app->get('cookie_path', '/'), $app->get('cookie_domain'), $app->isSSLConnection()); // Set the cookie - $app->input->cookie->set('alUserName', $user->name, (time() + 30), $app->get('cookie_path', '/'), $app->get('cookie_domain'), $app->isSSLConnection()); // Set the cookie - } -} - -// ha még új a user, és nincs benne a crm rendszerben, akkor megpróbál egy user szinkronizációt -if ($user->nUserID === NULL) { - file_get_contents("http://www.archline.hu/maintenance/sync_user.php"); - $res = ModAlusersHelper::getIdFromEmail($user->username); - if ((int)$res > 0) $user->nUserID = $res; -} - -// hírlevél beállítások mentése -if (isset($_POST) && !empty($_POST) && isset($_POST['nl'])) { - if ((int)$_POST['del_email'] == 0 && trim($_POST['new_email']) == '') ModAlusersHelper::saveNewsletters($user->nUserID, $_POST['newsletter']); - ModAlusersHelper::newEmail($user->nUserID, $_POST['new_email']); - ModAlusersHelper::delEmail($user->nUserID, (int)$_POST['del_email']); - $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után - $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_NEWSLETTER_SETTINGS_SUCCESS'), 'message'); -} - -// személyes adatok mentése -if (isset($_POST) && !empty($_POST) && isset($_POST['ps'])) { - ModAlusersHelper::savePersonalSettings($user->nUserID, $_POST); - $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után - $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PERSONAL_DATA_SUCCESS'), 'message'); -} - -// személyes adatok és hírlevél beállítások mentése -if (isset($_POST) && !empty($_POST) && isset($_POST['psSettings']) && in_array(2, $groups)) { - if ((int)$_POST['del_email'] == 0 && trim($_POST['new_email']) == '') ModAlusersHelper::saveNewsletters($user->nUserID, $_POST['newsletter']); - ModAlusersHelper::newEmail($user->nUserID, $_POST['new_email']); - ModAlusersHelper::delEmail($user->nUserID, (int)$_POST['del_email']); - ModAlusersHelper::savePersonalSettings($user->nUserID, $_POST); - $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után - $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PERSONAL_DATA_SUCCESS'), 'message'); -} - -// számlázási adatok mentése -if (isset($_POST) && !empty($_POST) && isset($_POST['invoiceSettings']) && in_array(2, $groups)) { - ModAlusersHelper::saveInvoiceSettings($user->nUserID, $app->input->post); - $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után - $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_INVOICE_DATA_SUCCESS'), 'message'); -} - -// új jelszó mentése -if (isset($_POST) && !empty($_POST) && isset($_POST['pw'])) { - $pass1 = trim(addslashes($_POST['password1'])); - $pass2 = trim(addslashes($_POST['password2'])); - - if ($pass1 != $pass2) { - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PASSWORD_CHANGE_ERROR'), 'error'); - } elseif (strlen($pass1) < 6 || strlen($pass1) > 32) { - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PASSWORD_CHANGE_ERROR2'), 'error'); - } else { - ModAlusersHelper::savePassword($user->id, $pass1); - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PASSWORD_CHANGE_SUCCESS'), 'message'); - } -} - -if (isset($_POST) && !empty($_POST) && isset($_POST['privacy_policy_value'])) { - $db = JFactory::getDbo(); - $db->setQuery("SELECT * FROM `" . CRMADATBAZIS . "`.`users` WHERE privacy_policy = 1 AND nUserID = '" . $user->nUserID . "';"); - $result = $db->loadObjectList(); - - if (empty($result)) { - $db->setQuery("UPDATE cl_hlusers.users SET privacy_policy = 1, privacy_date = '" . date('Y-m-d') . "', nUserStatus = 7 WHERE nUserID = " . $user->nUserID . " LIMIT 1;"); - $db->execute(); - - $db->setQuery("SELECT * FROM `" . CRMADATBAZIS . "`.`u_history` WHERE nTopicID = 102 AND nUserID = '" . $user->nUserID . "' ORDER BY nEventID DESC;"); - $result2 = $db->loadObjectList(); - $newStrInfo = $result2[0]->strInfo; - $newStrInfo = "
              Elfogadta: Igen Dátum: " . date('Y-m-d'); - - $db->setQuery("UPDATE cl_hlusers.u_history SET strInfo = '" . $newStrInfo . "' WHERE nEventID = " . $result2[0]->nEventID . " LIMIT 1;"); - $db->execute(); - } - - if (isset($_POST['al_xp'])) - header("Location: https://www.archline.hu/index.php?option=com_phocadownload&view=category&download=6779&id=6"); - /*if (isset($_POST['al_live'])) - header("Location: https://www.archline.hu/index.php?option=com_phocadownload&view=category&download=355&id=21");*/ - exit(); -} - -$newsletterEmails = ModAlusersHelper::getNewsletterEmails($user->nUserID); - -$ids[] = $user->nUserID; -$emails = ModAlusersHelper::getEmails($user->email); -if ($emails && count($emails) > 0) { - foreach ($emails as $tmp) { - $ids[] = $tmp->nUserID; - } -} - -if (!empty($ids)) - $kulcsok = ModAlusersHelper::getAllKeyData($ids); - -if ($alias == 'aikreditek' || $alias == 'aicredits') { - $creditHistory = ModAlusersHelper::getCredits($user->nUserID); - $remainingCredits = ModAlusersHelper::getRemainingCredits($user->nUserID); - $dateFormat = $alias == 'aikreditek' ? 'Y.m.d.' : 'd.m.Y'; -} - -if ($alias == 'licenszek' || $alias == 'licenses') { - $supportArray = array(); - $userData = ModAlusersHelper::getUserData($user->nUserID); - - if (isset($_POST) && !empty($_POST) && isset($_POST['privacyPolicyBtn'])) { - $programData = ModAlusersHelper::getProgramData($_POST['prID']); - if ($programData->maintenance_valid == 1) { - if ($_POST['maintenance_privacy_policy_value'] != '1') { - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_MAINTENANCE_PRIVACY_POLICY_ERROR'), 'error'); - } else { - ModAlusersHelper::sendMaintenanceEmail($user->nUserID, $userData->strName, $userData->email, $_POST['prID']); - JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_MAINTENANCE_SUCCESS'), 'success'); - } - } - } - - $currentVer = ModAlusersHelper::getCurrentVersion(); - $latestVerID = ModAlusersHelper::getLatestVersion($user->nUserID, $ids); - $latestPrograms = ModAlusersHelper::getLatestPrograms($user->nUserID, $latestVerID, $ids); - $olderPrograms = ModAlusersHelper::getOlderPrograms($user->nUserID, $latestVerID, $ids); - $liveVerID = 23; - $latestLive = array(); - - $latestArray = array(); - - $updateLink = $lang == 'hu-HU' ? '/vasarlas/frissites-karbantartas' : '/buy/upgrade'; -} - -if (!$kulcsok && !$user->guest) { - $ids[] = $user->nUserID; - if (!empty($ids) && $user->nUserID > 0) $kulcsok = ModAlusersHelper::getAllKeyData($ids); -} - -require JModuleHelper::getLayoutPath('mod_alusers', $params->get('layout', 'default')); +addStyleSheet("/modules/mod_alusers/assets/css/newstyle.css"); +$doc->addScript("/modules/mod_alusers/assets/js/script.js"); + +$path = JFactory::getURI()->getPath(); +$arr = explode('/', $path); +$alias = end($arr); + +$user = JFactory::getUser(); +$profile = JUserHelper::getProfile($user->id); +$lang = JFactory::getLanguage()->getTag(); +$crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); +$policy = ModAlusersHelper::getPrivacyPolicy((int)$user->nUserID); +$isStudent = ModAlusersHelper::isStudent((int)$user->nUserID); +$groups = $user->get('groups'); +$input = $app->input; +if (in_array(2, $groups)) $pdf = ModAlusersHelper::getUserPDF((int)$user->nUserID); + +if ((int)$user->nUserID > 0) { + $value = $app->input->cookie->get('alSessionID', null); // Get the cookie + if ($value == null) // If there's no cookie value, manually set it + { + $app->input->cookie->set('alSessionID', md5((int)$user->nUserID), (time() + 30), $app->get('cookie_path', '/'), $app->get('cookie_domain'), $app->isSSLConnection()); // Set the cookie + $app->input->cookie->set('alUserName', $user->name, (time() + 30), $app->get('cookie_path', '/'), $app->get('cookie_domain'), $app->isSSLConnection()); // Set the cookie + } +} + +// ha még új a user, és nincs benne a crm rendszerben, akkor megpróbál egy user szinkronizációt +if ($user->nUserID === NULL) { + file_get_contents("http://www.archline.hu/maintenance/sync_user.php"); + $res = ModAlusersHelper::getIdFromEmail($user->username); + if ((int)$res > 0) $user->nUserID = $res; +} + +// hírlevél beállítások mentése +if (isset($_POST) && !empty($_POST) && isset($_POST['nl'])) { + if ((int)$_POST['del_email'] == 0 && trim($_POST['new_email']) == '') ModAlusersHelper::saveNewsletters($user->nUserID, $_POST['newsletter']); + ModAlusersHelper::newEmail($user->nUserID, $_POST['new_email']); + ModAlusersHelper::delEmail($user->nUserID, (int)$_POST['del_email']); + $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után + $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_NEWSLETTER_SETTINGS_SUCCESS'), 'message'); +} + +// személyes adatok mentése +if (isset($_POST) && !empty($_POST) && isset($_POST['ps'])) { + ModAlusersHelper::savePersonalSettings($user->nUserID, $_POST); + $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után + $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PERSONAL_DATA_SUCCESS'), 'message'); +} + +// személyes adatok és hírlevél beállítások mentése +if (isset($_POST) && !empty($_POST) && isset($_POST['psSettings']) && in_array(2, $groups)) { + if ((int)$_POST['del_email'] == 0 && trim($_POST['new_email']) == '') ModAlusersHelper::saveNewsletters($user->nUserID, $_POST['newsletter']); + ModAlusersHelper::newEmail($user->nUserID, $_POST['new_email']); + ModAlusersHelper::delEmail($user->nUserID, (int)$_POST['del_email']); + ModAlusersHelper::savePersonalSettings($user->nUserID, $_POST); + $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után + $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PERSONAL_DATA_SUCCESS'), 'message'); +} + +// számlázási adatok mentése +if (isset($_POST) && !empty($_POST) && isset($_POST['invoiceSettings']) && in_array(2, $groups)) { + ModAlusersHelper::saveInvoiceSettings($user->nUserID, $app->input->post); + $user = JFactory::getUser(); // újra beolvassa az adatbázisból a rekordot mentés után + $crmUser = ModAlusersHelper::getUserFromCRM((int)$user->nUserID); // újra beolvassa az adatbázisból a rekordot mentés után + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_INVOICE_DATA_SUCCESS'), 'message'); +} + +// új jelszó mentése +if (isset($_POST) && !empty($_POST) && isset($_POST['pw'])) { + $pass1 = trim(addslashes($_POST['password1'])); + $pass2 = trim(addslashes($_POST['password2'])); + + if ($pass1 != $pass2) { + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PASSWORD_CHANGE_ERROR'), 'error'); + } elseif (strlen($pass1) < 6 || strlen($pass1) > 32) { + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PASSWORD_CHANGE_ERROR2'), 'error'); + } else { + ModAlusersHelper::savePassword($user->id, $pass1); + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_PASSWORD_CHANGE_SUCCESS'), 'message'); + } +} + +if (isset($_POST) && !empty($_POST) && isset($_POST['privacy_policy_value'])) { + $db = JFactory::getDbo(); + $db->setQuery("SELECT * FROM `" . CRMADATBAZIS . "`.`users` WHERE privacy_policy = 1 AND nUserID = '" . $user->nUserID . "';"); + $result = $db->loadObjectList(); + + if (empty($result)) { + $db->setQuery("UPDATE cl_hlusers.users SET privacy_policy = 1, privacy_date = '" . date('Y-m-d') . "', nUserStatus = 7 WHERE nUserID = " . $user->nUserID . " LIMIT 1;"); + $db->execute(); + + $db->setQuery("SELECT * FROM `" . CRMADATBAZIS . "`.`u_history` WHERE nTopicID = 102 AND nUserID = '" . $user->nUserID . "' ORDER BY nEventID DESC;"); + $result2 = $db->loadObjectList(); + $newStrInfo = $result2[0]->strInfo; + $newStrInfo = "
              Elfogadta: Igen Dátum: " . date('Y-m-d'); + + $db->setQuery("UPDATE cl_hlusers.u_history SET strInfo = '" . $newStrInfo . "' WHERE nEventID = " . $result2[0]->nEventID . " LIMIT 1;"); + $db->execute(); + } + + if (isset($_POST['al_xp'])) + header("Location: https://www.archline.hu/index.php?option=com_phocadownload&view=category&download=6779&id=6"); + /*if (isset($_POST['al_live'])) + header("Location: https://www.archline.hu/index.php?option=com_phocadownload&view=category&download=355&id=21");*/ + exit(); +} + +$newsletterEmails = ModAlusersHelper::getNewsletterEmails($user->nUserID); + +$ids[] = $user->nUserID; +$emails = ModAlusersHelper::getEmails($user->email); +if ($emails && count($emails) > 0) { + foreach ($emails as $tmp) { + $ids[] = $tmp->nUserID; + } +} + +if (!empty($ids)) + $kulcsok = ModAlusersHelper::getAllKeyData($ids); + +if ($alias == 'aikreditek' || $alias == 'aicredits') { + $creditHistory = ModAlusersHelper::getCredits($user->nUserID); + $remainingCredits = ModAlusersHelper::getRemainingCredits($user->nUserID); + $dateFormat = $alias == 'aikreditek' ? 'Y.m.d.' : 'd.m.Y'; +} + +if ($alias == 'licenszek' || $alias == 'licenses') { + $supportArray = array(); + $userData = ModAlusersHelper::getUserData($user->nUserID); + + if (isset($_POST) && !empty($_POST) && isset($_POST['privacyPolicyBtn'])) { + $programData = ModAlusersHelper::getProgramData($_POST['prID']); + if ($programData->maintenance_valid == 1) { + if ($_POST['maintenance_privacy_policy_value'] != '1') { + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_MAINTENANCE_PRIVACY_POLICY_ERROR'), 'error'); + } else { + ModAlusersHelper::sendMaintenanceEmail($user->nUserID, $userData->strName, $userData->email, $_POST['prID']); + JFactory::getApplication()->enqueueMessage(JText::_('MOD_ARCHLINE_MAINTENANCE_SUCCESS'), 'success'); + } + } + } + + $currentVer = ModAlusersHelper::getCurrentVersion(); + $latestVerID = ModAlusersHelper::getLatestVersion($user->nUserID, $ids); + $latestPrograms = ModAlusersHelper::getLatestPrograms($user->nUserID, $latestVerID, $ids); + $olderPrograms = ModAlusersHelper::getOlderPrograms($user->nUserID, $latestVerID, $ids); + $liveVerID = 23; + $latestLive = array(); + + $latestArray = array(); + + $updateLink = $lang == 'hu-HU' ? '/vasarlas/frissites-karbantartas' : '/buy/upgrade'; +} + +if (!$kulcsok && !$user->guest) { + $ids[] = $user->nUserID; + if (!empty($ids) && $user->nUserID > 0) $kulcsok = ModAlusersHelper::getAllKeyData($ids); +} + +require JModuleHelper::getLayoutPath('mod_alusers', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_alusers/mod_alusers.xml b/cadline/modules/modules/mod_alusers/mod_alusers.xml index 411eb45a..e6ec60f4 100644 --- a/cadline/modules/modules/mod_alusers/mod_alusers.xml +++ b/cadline/modules/modules/mod_alusers/mod_alusers.xml @@ -1,151 +1,151 @@ - - - MOD_ARCHLINE_USERS - Apr 2017 - Zsolt Fekete - zsolt.fekete@cadline.hu - https://www.facbook.com/mcleod78 - Copyright © 2017 - All rights reserved. - GNU General Public License v2.0 - 0.0.1 - MOD__P___ARCHLINE_USERS___P_ - - mod_alusers.php - mod_alusers.xml - index.html - language - tmpl + + + MOD_ARCHLINE_USERS + Apr 2017 + Zsolt Fekete + zsolt.fekete@cadline.hu + https://www.facbook.com/mcleod78 + Copyright © 2017 - All rights reserved. + GNU General Public License v2.0 + 0.0.1 + MOD__P___ARCHLINE_USERS___P_ + + mod_alusers.php + mod_alusers.xml + index.html + language + tmpl assets - - - -
              - - - - - - - - - - - - - -
              -
              - - -
              - +
              + + +
              + + + + + + + + + + + + + +
              +
              + + +
              + en-GB/en-GB.mod_alusers.sys.ini en-GB/en-GB.mod_alusers.ini hu-HU/hu-HU.mod_alusers.sys.ini hu-HU/hu-HU.mod_alusers.ini - +
              \ No newline at end of file diff --git a/cadline/modules/modules/mod_alusers/tmpl/index.html b/cadline/modules/modules/mod_alusers/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alusers/tmpl/index.html +++ b/cadline/modules/modules/mod_alusers/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alworkshops/assets/ajax/alworkshops.class.php b/cadline/modules/modules/mod_alworkshops/assets/ajax/alworkshops.class.php index ee3449dc..8ed0576c 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/ajax/alworkshops.class.php +++ b/cadline/modules/modules/mod_alworkshops/assets/ajax/alworkshops.class.php @@ -1,502 +1,502 @@ - 'hu-HU', 'eng' => 'en-GB'); - protected $arrWebinarTopic = array('hun' => _WEBINAR_HUNGARIAN_, 'eng' => _WEBINAR_ENGLISH_); - - public function procEvent() - { - $message = array(); - $this->transid = md5(_TIME_); - - // $nUserID=0; - - if ($this->auth() == FALSE) die(); - - // nyelvi file betöltése - $this->lang = (isset($_POST['lang']) && in_array(trim(strtolower($_GET['lang'])), $this->arrLang) ? trim(strtolower($_GET['lang'])) : $this->getLang()); - $this->_LANG = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . "/language/" . $this->arrLC[$this->lang] . "/" . $this->arrLC[$this->lang] . "." . $this->component . ".ini"); - - // kurzus lekérdezése - MySqlHelper::getInstance()->query("SELECT s.`level`,s.`tanfsor`,s.`id` as switch_id,c.* FROM `alworkshops_courses` c LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias WHERE c.`published`='Y' AND c.`id`=" . (int)$_POST['course_id'] . " LIMIT 1;"); - $course = MySqlHelper::getInstance()->fetchAssoc(); - $course = $course[0]; - - // switch lekérdezése - MySqlHelper::getInstance()->query("SELECT * FROM `alworkshops_switch` WHERE id=" . $course['switch_id'] . " LIMIT 1;"); - $switch = MySqlHelper::getInstance()->fetchAssoc(); - $switch = $switch[0]; - - // user lekérdezése - MySqlHelper::getInstance()->query("SELECT * FROM `jml_users` WHERE id=" . (int)$_POST['user_id'] . " LIMIT 1;"); - $user = MySqlHelper::getInstance()->fetchAssoc(); - $user = $user[0]; - - if ($switch['level'] == 4 && $switch['vizsga'] == 'Y') { - $query = "SELECT * FROM tcexam.tce_users WHERE user_email = ?"; - Database::getInstance()->query($query, array('s', trim($user['email']))); - $res4 = Database::getInstance()->fetchNext(); - - $query = "DELETE FROM tcexam.tce_usrgroups WHERE usrgrp_user_id = ?"; - Database::getInstance()->query($query, array('i', $res4['user_id'])); - - $tceGroup = array( - 'usrgrp_user_id' => $res4['user_id'], - 'usrgrp_group_id' => 3 - ); - Database::getInstance()->insert("tcexam.tce_usrgroups", $tceGroup, 'ii'); - } - - // ha tanfolyamot vásárolt, akkor a további fizetos workshop foglalások ingyenesek - $currentLease = crm_users::GetValidLease($user['nUserID'], (int)$switch['level']); - if ($switch['workshop'] == 'Y' && $currentLease && $course['price'] > 0 && $course['start_date'] >= $currentLease['validFrom'] && $course['start_date'] <= $currentLease['validThrough'] && (int)$course['tanfsor'] > 0) { - $course['price'] = 0; - $course['vat'] = 0; - } - - // application adatok összeállítása - $app = array( - 'course_id' => (int)$_POST['course_id'], - 'user_id' => (int)$_POST['user_id'], - 'attendees' => (int)$_POST['attendees'], - 'price_per_attendee' => $course['price'], - 'price_total' => $course['price'] * (int)$_POST['attendees'], - 'price_vat' => $course['vat'], - 'gepet_kerek' => (isset($_POST['gepet_kerek']) ? 'Y' : 'N'), - 'berletem_van' => (isset($_POST['berletem_van']) ? 'Y' : 'N'), - 'date' => date('Y-m-d H:i:s', _TIME_), - 'published' => 'Y', - ); - - $this->c = $course; - - /********************************************** - * WEBINAIR SIGNUP - **********************************************/ - - if (($switch['esemeny'] == 'Y' || $switch['webinair'] == 'Y') && isset($_POST['usr']) && isset($_POST['email'])) { - // if ($switch['alias']!='archline-klub' && $switch['alias']!='oktatoi-nap' ) - if ($switch['login'] == 'N') { - if (trim($_POST['usr']) == '') { - print $this->_LANG['MOD_ARCHLINE_NAME_MISSING']; - exit(); - } - if (trim($_POST['email']) == '') { - print $this->_LANG['MOD_ARCHLINE_EMAIL_MISSING']; - exit(); - } - if (!filter_var(trim($_POST['email']), FILTER_VALIDATE_EMAIL)) { - print $this->_LANG['MOD_ARCHLINE_EMAIL_INVALID']; - exit(); - } - $_POST['country'] = 0; - if ((int)$_POST['prof'] == 0) { - print $this->_LANG['MOD_ARCHLINE_PROF_MISSING']; - exit(); - } - } - if ($course['capacity'] < (int)$_POST['applications'] + (int)$_POST['attendees']) { - print ""; - exit(); - } - - $nUserID = crm_users::AddUser( - array( - 'strName' => trim(addslashes(ucwords($_POST['usr']))), - 'strEMail' => trim(addslashes($_POST['email'])), - 'strTel' => trim(addslashes($_POST['phone'])), - 'nUserProf' => (int)$_POST['prof'], - 'nCtrID' => (int)$_POST['country'] - ), - 1, - 'sssii' - ); - - if ((int)$nUserID > 0) { - MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $course['id'] . " AND `email`='" . trim(addslashes($_POST['email'])) . "' AND `published`='Y';"); - $exist = MySqlHelper::getInstance()->fetchAssoc(); - if (!$exist) { - if ($switch['esemeny'] == 'Y' && $switch['alias'] == 'archline-klub') $nTopicID = _ARCHLINE_KLUB_; - if ($switch['esemeny'] == 'Y' && $switch['alias'] != 'archline-klub') $nTopicID = _EVENT_REGISTRATION_; - if ($switch['webinair'] == 'Y') $nTopicID = $this->arrWebinarTopic[$this->lang]; - - if ($switch['esemeny'] == 'Y' && (in_array($switch['alias'], $this->customCourses))) { - $nTopicID = $_SERVER['SERVER_NAME'] == 'www.archlinexp.com' ? 333 : 123; - $info = date('Y.m.d.') . ': ' . str_replace("-", ".", $course['start_date']) . ' - ' . str_replace("-", ".", $course['finish_date']); - } - - if ($switch['webinair'] == 'Y') { - MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`users` WHERE `nUserID`=" . $nUserID . ";"); - $usr = MySqlHelper::getInstance()->fetchAssoc(); - - $nTopicID = $usr[0]['old_db'] == 'clusers' ? 336 : 333; - - //$info = $course['id'] == 1108 ? 'Online középfokú tanfolyam' : 'Online alapfokú tanfolyam'; - - if ($course['id'] == 1114) { - $info = 'Online felsőfokú tanfolyam'; - } - } - - if (is_null($course['course_info']) == false && $course['course_info'] != '') - $info = $course['course_info']; - - crm_users::AddUserHistory( - array( - 'nUserID' => $nUserID, - 'nTopicID' => $nTopicID, - 'dateEvent' => $course['start_date'], - 'strPlace' => $course['title'], - 'strInfo' => $info - ) - ); - } else { - //print $this->_LANG['MOD_ARCHLINE_EVENT_ALREADY_EXIST']; exit(); - $already = $this->_LANG['MOD_ARCHLINE_EVENT_ALREADY_EXIST']; - print ""; - exit(); - } - - // application rekord mentés - $app['user_id'] = $_POST['hidden_id']; - $app['name'] = trim(addslashes(ucwords($_POST['usr']))); - $app['email'] = trim(addslashes($_POST['email'])); - MySqlHelper::getInstance()->insert('alworkshops_application', $app); - $newID = MySqlHelper::getInstance()->getInsertedId(); - - // level kuldes - $this->sendEmail($app['course_id'], 0, $newID, $nUserID); - $success = $this->_LANG['MOD_ARCHLINE_SUCCESS']; - print ""; - //print $this->_LANG['MOD_ARCHLINE_SUCCESS']; - } - } - /********************************************** - * WORKSHOP SIGNUP - **********************************************/ - else if (($switch['kurzus'] == 'Y' || $switch['workshop'] == 'Y' || $switch['vizsga'] == 'Y') && (int)$_POST['user_id'] > 0 && !isset($_POST['usr']) && !isset($_POST['email'])) { - MySqlHelper::getInstance()->query("SELECT * FROM alworkshops_application WHERE published='Y' AND user_id=" . $app['user_id'] . " AND course_id=" . $app['course_id'] . " LIMIT 1;"); - $exist = MySqlHelper::getInstance()->fetchAssoc(); - - // hibaüzenetek - if (!($switch['kurzus'] === 'Y' && $switch['level'] == 2) && count($exist)) { - $message[] = $this->_LANG['MOD_ARCHLINE_ALREADY_EXIST']; - } - - if ($switch['alias'] != 'tanulocsoportok') { - if (!($switch['kurzus'] === 'Y' && $switch['level'] == 2) && $course['capacity'] < (int)$_POST['applications'] + (int)$_POST['attendees']) { - $message[] = $this->_LANG['MOD_ARCHLINE_NOT_ENOUGHT_CAPACITY']; - } - } else { - crm_database::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $app['course_id'] . " AND published = 'Y';"); - $exist = crm_database::getInstance()->fetchAssoc(); - - $capacity = $course['capacity'] - count($exist); - - if ($capacity <= 0) $message[] = $this->_LANG['MOD_ARCHLINE_NOT_ENOUGHT_CAPACITY']; - } - if (count($message)) { - foreach ($message as $mess) { - print $mess . "
              "; - } - exit(); - } - - // átjelentkezési lehetőség ellenőrzése - MySqlHelper::getInstance()->query("SELECT a.id AS application_id,a.course_id,s.id AS switch_id,a.user_id,a.published,a.transaction_id,a.price_total,a.pay_id,c.title,c.alias,c.start_date,c.start_time,c.finish_date,c.finish_time - FROM `alworkshops_application` a - LEFT OUTER JOIN `alworkshops_courses` c ON a.course_id=c.id - LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias - WHERE user_id=" . $app['user_id'] . " AND s.id=" . $course['switch_id'] . " AND `start_date`>'" . date('Y-m-d', _TIME_ - (_RESIGN_DAYS_ * 86400)) . "' - ORDER BY a.id DESC - LIMIT 1;"); - $this->passthrough = MySqlHelper::getInstance()->fetchAssoc(); - if (count($this->passthrough)) // átjelentkezés meglévő application rekordra - { - $this->transid = $this->passthrough[0]['transaction_id']; - $newID = $this->passthrough[0]['application_id']; - MySqlHelper::getInstance()->update('alworkshops_application', $app, array('id' => $newID)); - - // alapfoku tanfolyam kezdo datumanak atallitasa a crm-ben - if ($switch['kurzus'] == 'Y' && (int)$switch['level'] == 1) { - $topic = _COURSE_PRICE_PRELIMINARY_; - $info = ''; - if ($switch['alias'] == 'tanulocsoportok') { - $topic = 380; - $info = $switch['title']; - } - MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`u_history` WHERE nUserID=" . $user['nUserID'] . " AND nTopicID=" . $topic . " AND applicationID=" . $newID . " ORDER BY insertDate DESC LIMIT 1;"); - $exist = MySqlHelper::getInstance()->fetchAssoc(); - if (count($exist)) { - if ($info == '') $info = $exist[0]['strInfo']; - $uHistory['nTopicID'] = $topic; - $uHistory['dateEvent'] = $course['start_date']; - $uHistory['strInfo'] = $info; - MySqlHelper::getInstance()->update(CRMADATBAZIS . ".u_history", $uHistory, array('nEventID' => $exist[0]['nEventID'])); - } - } - - // kozepfoku workshop kezdo datumanak atallitasa a crm-ben - if ($switch['workshop'] == 'Y' && (int)$switch['level'] == 2) { - MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`u_history` WHERE nUserID=" . $user['nUserID'] . " AND nTopicID=" . _WORKSHOP_PRICE_ . " AND applicationID=" . $newID . " ORDER BY insertDate DESC LIMIT 1;"); - $exist = MySqlHelper::getInstance()->fetchAssoc(); - if (count($exist)) { - crm_users::UpdateUserHistory( - array( - 'dateEvent' => $course['start_date'] - ), - $exist[0]['nEventID'], - 's' - ); - } - } - } else // új application rekord mentés - { - $app['transaction_id'] = $this->transid; - MySqlHelper::getInstance()->insert('alworkshops_application', $app); - $newID = MySqlHelper::getInstance()->getInsertedId(); - } - - if ($switch['kurzus'] == 'Y') { - $strPlace = 'Tanfolyam'; - $nTopicID = _WORKSHOP_APPLICATION_; - } - if ($switch['workshop'] == 'Y') { - $strPlace = 'Workshop'; - $nTopicID = _WORKSHOP_APPLICATION_; - } - if ($switch['vizsga'] == 'Y') { - $strPlace = 'Vizsga'; - $nTopicID = _EXAM_APPLICATION_; - } - if ($switch['alias'] == 'tanulocsoportok') { - $strPlace = $switch['title']; - $nTopicID = 379; - } - $datumok = array(); - - if ($switch['kurzus'] == 'Y') { - // sessionok lekérdezése - MySqlHelper::getInstance()->query("SELECT * FROM `alworkshops_sessions` WHERE `published`='Y' AND `courseid`=" . (int)$_POST['course_id'] . ";"); - $sessions = MySqlHelper::getInstance()->fetchAssoc(); - foreach ($sessions as $sess) { - $datumok[] = array('datum' => $sess['session_date'], 'hely' => $sess['description']); - } - } else { - $datumok[] = array('datum' => $course['start_date'], 'hely' => $course['title']); - } - - $info = (trim($app['berletem_van']) == 'Y' ? ' Tanfolyam,' : '') . (trim($app['gepet_kerek']) == 'Y' ? ' Gépet kér,' : ''); - $place = $strPlace . ' - ' . $datum['hely']; - - if ($switch['alias'] == 'tanulocsoportok') { - if ($switch['level'] == 1) $info = 'Alapfok'; - else $info = 'Középfok'; - - $place = $strPlace; - $info .= ' ' . $course['start_date'] . ' - ' . $course['finish_date']; - } - - foreach ($datumok as $datum) { - $u_history = array( - 'nUserID' => $user['nUserID'], - 'nTopicID' => $nTopicID, - 'dateEvent' => $datum['datum'], - 'strPlace' => $strPlace . ' - ' . $datum['hely'], - 'strInfo' => $info, - 'nManagerID' => _MANAGER_, - 'applicationID' => $newID, - ); - - MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`u_history` WHERE applicationID=" . $newID . " AND strPlace LIKE '%" . trim($datum['hely']) . "%' LIMIT 1;"); - $exist = MySqlHelper::getInstance()->fetchAssoc(); - if (empty($exist)) { - crm_users::AddUserHistory($u_history); - } else { - crm_users::UpdateUserHistory($u_history, $exist[0]['nEventID'], 'iisssii'); - } - } - - // user status átállítás - crm_users::SetUserStatus($user['nUserID'], 5); - - // level kuldes, CSAK HA INGYENES - a fizetos foglalasokrol a sync_fizetes.php kuldi ki a levelet - if ($course['price'] == 0 || ($course['price'] > 0 && count($this->passthrough))) { - $this->sendEmail($app['course_id'], $app['user_id'], $newID, $user['nUserID']); - } - - if (count($this->passthrough)) { - print ($switch['kurzus'] === 'Y' && $switch['level'] == 2 ? $this->_LANG['MOD_ARCHLINE_SUCCESS_TITLE'] : $this->_LANG['MOD_ARCHLINE_PASSTHROUGH_SUCCESS']) . "."; - } else { - print($course['price'] == 0 ? $this->_LANG['MOD_ARCHLINE_SUCCESS'] : $this->_LANG['MOD_ARCHLINE_SUCCESS_TITLE'] . '. ' . $this->_LANG['MOD_ARCHLINE_SUCCESS_TEXT']); - } - } - } - - public function sendEmail($courseid = 0, $userid = 0, $applicationID = 0, $nUserID = 0) - { - if ($courseid == 0 || $applicationID == 0) return (FALSE); - - if (!isset($mailconfig)) require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/config.mail.php'); - - // application rekord lekérdezése - MySqlHelper::getInstance()->query("SELECT * FROM alworkshops_application WHERE published='Y' AND id=" . $applicationID . " LIMIT 1;"); - $app = MySqlHelper::getInstance()->fetchAssoc(); - $app = $app[0]; - - // course rekord lekérdezése - MySqlHelper::getInstance()->query("SELECT * FROM alworkshops_courses WHERE published='Y' AND id=" . $courseid . " LIMIT 1;"); - $course = MySqlHelper::getInstance()->fetchAssoc(); - $course = $course[0]; - - // switch rekord lekérdezése - MySqlHelper::getInstance()->query("SELECT * FROM `alworkshops_switch` WHERE alias='" . $course['alias'] . "' LIMIT 1;"); - $switch = MySqlHelper::getInstance()->fetchAssoc(); - $switch = $switch[0]; - - // user név és email cím lekérdezése - MySqlHelper::getInstance()->query($userid == 0 && (int)$nUserID > 0 ? - "SELECT `strName` AS `name`,`strEmail` AS `email`, `strTel` AS `strTel` FROM `cl_hlusers`.`users` WHERE nUserID=" . (int)$nUserID . " LIMIT 1;" : - "SELECT `name`,`email` FROM `jml_users` WHERE id=" . (int)$userid . " LIMIT 1;"); - $user = MySqlHelper::getInstance()->fetchAssoc(); - $user = $user[0]; - - if (is_array($course) && count($course) && is_array($user) && count($user)) { - - MySqlHelper::getInstance()->query("SELECT * FROM " . ($this->getLang() == 'hun' ? 'jml' : 'eng') . "_content WHERE id=" . (int)$course['email_template'] . " LIMIT 1;"); - $tmpl = MySqlHelper::getInstance()->fetchAssoc(); - $tmpl = $tmpl[0]; - - $mit = array('{NAME}', '{TITLE}', '{START_DATE}', '{START_TIME}', '{FINISH_DATE}', '{FINISH_TIME}', '{LOCATION}', '{ATTENDEES}', '{PRICE}', '{PRICE_TOTAL}', '{VAT}'); - $mire = array( - $user['name'], - $course['title'], - ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? date("Y-m-d", _TIME_) : $course['start_date']), - ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? "" : $course['start_time']), - ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? date("Y-m-d", _TIME_ + (_LEASE_VALID_DAYS_ * 86400)) : $course['finish_date']), - ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? "" : $course['finish_time']), - $course['location'], - $app['attendees'], - $course['price'], - $app['price_total'], - $course['vat'] - ); - $msg = str_replace($mit, $mire, $tmpl['introtext'] . $tmpl['fulltext']); - - if ($switch['esemeny'] == 'Y' && (in_array($switch['alias'], $this->customCourses))) { - $tel = substr($user['strTel'], 0, 1) == ';' ? substr($user['strTel'], 1) : $user['strTel']; - $msg = str_replace('{EMAIL}', $user['email'], $msg); - $msg = str_replace('{PHONE}', $tel, $msg); - } - - $mail = new PHPMailer; - $mail->CharSet = 'UTF-8'; - $mail->isSMTP(); - $mail->Host = $mailconfig['Host']; - $mail->SMTPAuth = true; - $mail->Username = $mailconfig['Username']; - $mail->Password = $mailconfig['Password']; - $mail->SMTPSecure = $mailconfig['SMTPSecure']; - $mail->Port = $mailconfig['Port']; - $mail->isHTML(TRUE); - $mail->setFrom($mailconfig['from_hu']); - $mail->addAddress($user['email']); - //$mail->addBCC('zsolt.fekete@cadline.hu'); - $mail->addBCC('info@cadline.hu'); - - if ($switch['esemeny'] == 'Y' && ($switch['alias'] == 'belter' || $switch['alias'] == 'd5-render' || $switch['alias'] == 'd5-render-alap' || $switch['alias'] == 'd5-render-3-0-ujdonsagok' || $switch['alias'] == 'interior' || $switch['alias'] == 'kulter' || $switch['alias'] == 'photoshop' || $switch['alias'] == 'd5-render-halado')) { - $mail->addCC('info@krisztinaharosi.it'); - } - - if ($switch['esemeny'] == 'Y' && ($switch['alias'] == 'aranyi-klaudia-kiviteli-terv-tanfolyam' || $switch['alias'] == 'aranyi-klaudia-kezdo-tanfolyam' || $switch['alias'] == 'aranyi-klaudia-halado-tanfolyam' || $switch['alias'] == 'aranyi-klaudia-teto-es-lepcso-szerkesztes-tanfolyam')) { - $mail->addCC('info@akdesign.hu'); - } - - if ($switch['esemeny'] == 'Y' && $switch['alias'] == 'ferenczi-eva-tanfolyam') { - $mail->addCC('eva@studiotrendinterior.com'); - } - - $mail->Subject = $tmpl['title']; - $mail->msgHTML($msg); - $mail->AltBody = strip_tags($msg); - $mail->send(); - unset($mail); - - return ($user['email']); - } - } - - public function auth() - { - MySqlHelper::getInstance()->query(" - (SELECT * FROM jml_session where session_id='" . trim(addslashes($_POST['sess'])) . "' LIMIT 1) - UNION - (SELECT * FROM eng_session where session_id='" . trim(addslashes($_POST['sess'])) . "' LIMIT 1);"); - $sess = MySqlHelper::getInstance()->fetchAssoc(); - return (count($sess) ? TRUE : FALSE); - } - - public function getLang() - { - if (!isset($this->lang)) { - $this->lang = (strpos($_SERVER['HTTP_HOST'], ".com") ? "eng" : "hun"); - } - return $this->lang; - } -} // end of class - -$controller = new Controller(); -$controller->run(); -?> - -"; + exit(); + } + + $nUserID = crm_users::AddUser( + array( + 'strName' => trim(addslashes(ucwords($_POST['usr']))), + 'strEMail' => trim(addslashes($_POST['email'])), + 'strTel' => trim(addslashes($_POST['phone'])), + 'nUserProf' => (int)$_POST['prof'], + 'nCtrID' => (int)$_POST['country'] + ), + 1, + 'sssii' + ); + + if ((int)$nUserID > 0) { + MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $course['id'] . " AND `email`='" . trim(addslashes($_POST['email'])) . "' AND `published`='Y';"); + $exist = MySqlHelper::getInstance()->fetchAssoc(); + if (!$exist) { + if ($switch['esemeny'] == 'Y' && $switch['alias'] == 'archline-klub') $nTopicID = _ARCHLINE_KLUB_; + if ($switch['esemeny'] == 'Y' && $switch['alias'] != 'archline-klub') $nTopicID = _EVENT_REGISTRATION_; + if ($switch['webinair'] == 'Y') $nTopicID = $this->arrWebinarTopic[$this->lang]; + + if ($switch['esemeny'] == 'Y' && (in_array($switch['alias'], $this->customCourses))) { + $nTopicID = $_SERVER['SERVER_NAME'] == 'www.archlinexp.com' ? 333 : 123; + $info = date('Y.m.d.') . ': ' . str_replace("-", ".", $course['start_date']) . ' - ' . str_replace("-", ".", $course['finish_date']); + } + + if ($switch['webinair'] == 'Y') { + MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`users` WHERE `nUserID`=" . $nUserID . ";"); + $usr = MySqlHelper::getInstance()->fetchAssoc(); + + $nTopicID = $usr[0]['old_db'] == 'clusers' ? 336 : 333; + + //$info = $course['id'] == 1108 ? 'Online középfokú tanfolyam' : 'Online alapfokú tanfolyam'; + + if ($course['id'] == 1114) { + $info = 'Online felsőfokú tanfolyam'; + } + } + + if (is_null($course['course_info']) == false && $course['course_info'] != '') + $info = $course['course_info']; + + crm_users::AddUserHistory( + array( + 'nUserID' => $nUserID, + 'nTopicID' => $nTopicID, + 'dateEvent' => $course['start_date'], + 'strPlace' => $course['title'], + 'strInfo' => $info + ) + ); + } else { + //print $this->_LANG['MOD_ARCHLINE_EVENT_ALREADY_EXIST']; exit(); + $already = $this->_LANG['MOD_ARCHLINE_EVENT_ALREADY_EXIST']; + print ""; + exit(); + } + + // application rekord mentés + $app['user_id'] = $_POST['hidden_id']; + $app['name'] = trim(addslashes(ucwords($_POST['usr']))); + $app['email'] = trim(addslashes($_POST['email'])); + MySqlHelper::getInstance()->insert('alworkshops_application', $app); + $newID = MySqlHelper::getInstance()->getInsertedId(); + + // level kuldes + $this->sendEmail($app['course_id'], 0, $newID, $nUserID); + $success = $this->_LANG['MOD_ARCHLINE_SUCCESS']; + print ""; + //print $this->_LANG['MOD_ARCHLINE_SUCCESS']; + } + } + /********************************************** + * WORKSHOP SIGNUP + **********************************************/ + else if (($switch['kurzus'] == 'Y' || $switch['workshop'] == 'Y' || $switch['vizsga'] == 'Y') && (int)$_POST['user_id'] > 0 && !isset($_POST['usr']) && !isset($_POST['email'])) { + MySqlHelper::getInstance()->query("SELECT * FROM alworkshops_application WHERE published='Y' AND user_id=" . $app['user_id'] . " AND course_id=" . $app['course_id'] . " LIMIT 1;"); + $exist = MySqlHelper::getInstance()->fetchAssoc(); + + // hibaüzenetek + if (!($switch['kurzus'] === 'Y' && $switch['level'] == 2) && count($exist)) { + $message[] = $this->_LANG['MOD_ARCHLINE_ALREADY_EXIST']; + } + + if ($switch['alias'] != 'tanulocsoportok') { + if (!($switch['kurzus'] === 'Y' && $switch['level'] == 2) && $course['capacity'] < (int)$_POST['applications'] + (int)$_POST['attendees']) { + $message[] = $this->_LANG['MOD_ARCHLINE_NOT_ENOUGHT_CAPACITY']; + } + } else { + crm_database::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $app['course_id'] . " AND published = 'Y';"); + $exist = crm_database::getInstance()->fetchAssoc(); + + $capacity = $course['capacity'] - count($exist); + + if ($capacity <= 0) $message[] = $this->_LANG['MOD_ARCHLINE_NOT_ENOUGHT_CAPACITY']; + } + if (count($message)) { + foreach ($message as $mess) { + print $mess . "
              "; + } + exit(); + } + + // átjelentkezési lehetőség ellenőrzése + MySqlHelper::getInstance()->query("SELECT a.id AS application_id,a.course_id,s.id AS switch_id,a.user_id,a.published,a.transaction_id,a.price_total,a.pay_id,c.title,c.alias,c.start_date,c.start_time,c.finish_date,c.finish_time + FROM `alworkshops_application` a + LEFT OUTER JOIN `alworkshops_courses` c ON a.course_id=c.id + LEFT OUTER JOIN `alworkshops_switch` s ON c.alias=s.alias + WHERE user_id=" . $app['user_id'] . " AND s.id=" . $course['switch_id'] . " AND `start_date`>'" . date('Y-m-d', _TIME_ - (_RESIGN_DAYS_ * 86400)) . "' + ORDER BY a.id DESC + LIMIT 1;"); + $this->passthrough = MySqlHelper::getInstance()->fetchAssoc(); + if (count($this->passthrough)) // átjelentkezés meglévő application rekordra + { + $this->transid = $this->passthrough[0]['transaction_id']; + $newID = $this->passthrough[0]['application_id']; + MySqlHelper::getInstance()->update('alworkshops_application', $app, array('id' => $newID)); + + // alapfoku tanfolyam kezdo datumanak atallitasa a crm-ben + if ($switch['kurzus'] == 'Y' && (int)$switch['level'] == 1) { + $topic = _COURSE_PRICE_PRELIMINARY_; + $info = ''; + if ($switch['alias'] == 'tanulocsoportok') { + $topic = 380; + $info = $switch['title']; + } + MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`u_history` WHERE nUserID=" . $user['nUserID'] . " AND nTopicID=" . $topic . " AND applicationID=" . $newID . " ORDER BY insertDate DESC LIMIT 1;"); + $exist = MySqlHelper::getInstance()->fetchAssoc(); + if (count($exist)) { + if ($info == '') $info = $exist[0]['strInfo']; + $uHistory['nTopicID'] = $topic; + $uHistory['dateEvent'] = $course['start_date']; + $uHistory['strInfo'] = $info; + MySqlHelper::getInstance()->update(CRMADATBAZIS . ".u_history", $uHistory, array('nEventID' => $exist[0]['nEventID'])); + } + } + + // kozepfoku workshop kezdo datumanak atallitasa a crm-ben + if ($switch['workshop'] == 'Y' && (int)$switch['level'] == 2) { + MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`u_history` WHERE nUserID=" . $user['nUserID'] . " AND nTopicID=" . _WORKSHOP_PRICE_ . " AND applicationID=" . $newID . " ORDER BY insertDate DESC LIMIT 1;"); + $exist = MySqlHelper::getInstance()->fetchAssoc(); + if (count($exist)) { + crm_users::UpdateUserHistory( + array( + 'dateEvent' => $course['start_date'] + ), + $exist[0]['nEventID'], + 's' + ); + } + } + } else // új application rekord mentés + { + $app['transaction_id'] = $this->transid; + MySqlHelper::getInstance()->insert('alworkshops_application', $app); + $newID = MySqlHelper::getInstance()->getInsertedId(); + } + + if ($switch['kurzus'] == 'Y') { + $strPlace = 'Tanfolyam'; + $nTopicID = _WORKSHOP_APPLICATION_; + } + if ($switch['workshop'] == 'Y') { + $strPlace = 'Workshop'; + $nTopicID = _WORKSHOP_APPLICATION_; + } + if ($switch['vizsga'] == 'Y') { + $strPlace = 'Vizsga'; + $nTopicID = _EXAM_APPLICATION_; + } + if ($switch['alias'] == 'tanulocsoportok') { + $strPlace = $switch['title']; + $nTopicID = 379; + } + $datumok = array(); + + if ($switch['kurzus'] == 'Y') { + // sessionok lekérdezése + MySqlHelper::getInstance()->query("SELECT * FROM `alworkshops_sessions` WHERE `published`='Y' AND `courseid`=" . (int)$_POST['course_id'] . ";"); + $sessions = MySqlHelper::getInstance()->fetchAssoc(); + foreach ($sessions as $sess) { + $datumok[] = array('datum' => $sess['session_date'], 'hely' => $sess['description']); + } + } else { + $datumok[] = array('datum' => $course['start_date'], 'hely' => $course['title']); + } + + $info = (trim($app['berletem_van']) == 'Y' ? ' Tanfolyam,' : '') . (trim($app['gepet_kerek']) == 'Y' ? ' Gépet kér,' : ''); + $place = $strPlace . ' - ' . $datum['hely']; + + if ($switch['alias'] == 'tanulocsoportok') { + if ($switch['level'] == 1) $info = 'Alapfok'; + else $info = 'Középfok'; + + $place = $strPlace; + $info .= ' ' . $course['start_date'] . ' - ' . $course['finish_date']; + } + + foreach ($datumok as $datum) { + $u_history = array( + 'nUserID' => $user['nUserID'], + 'nTopicID' => $nTopicID, + 'dateEvent' => $datum['datum'], + 'strPlace' => $strPlace . ' - ' . $datum['hely'], + 'strInfo' => $info, + 'nManagerID' => _MANAGER_, + 'applicationID' => $newID, + ); + + MySqlHelper::getInstance()->query("SELECT * FROM `cl_hlusers`.`u_history` WHERE applicationID=" . $newID . " AND strPlace LIKE '%" . trim($datum['hely']) . "%' LIMIT 1;"); + $exist = MySqlHelper::getInstance()->fetchAssoc(); + if (empty($exist)) { + crm_users::AddUserHistory($u_history); + } else { + crm_users::UpdateUserHistory($u_history, $exist[0]['nEventID'], 'iisssii'); + } + } + + // user status átállítás + crm_users::SetUserStatus($user['nUserID'], 5); + + // level kuldes, CSAK HA INGYENES - a fizetos foglalasokrol a sync_fizetes.php kuldi ki a levelet + if ($course['price'] == 0 || ($course['price'] > 0 && count($this->passthrough))) { + $this->sendEmail($app['course_id'], $app['user_id'], $newID, $user['nUserID']); + } + + if (count($this->passthrough)) { + print ($switch['kurzus'] === 'Y' && $switch['level'] == 2 ? $this->_LANG['MOD_ARCHLINE_SUCCESS_TITLE'] : $this->_LANG['MOD_ARCHLINE_PASSTHROUGH_SUCCESS']) . "."; + } else { + print($course['price'] == 0 ? $this->_LANG['MOD_ARCHLINE_SUCCESS'] : $this->_LANG['MOD_ARCHLINE_SUCCESS_TITLE'] . '. ' . $this->_LANG['MOD_ARCHLINE_SUCCESS_TEXT']); + } + } + } + + public function sendEmail($courseid = 0, $userid = 0, $applicationID = 0, $nUserID = 0) + { + if ($courseid == 0 || $applicationID == 0) return (FALSE); + + if (!isset($mailconfig)) require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/config.mail.php'); + + // application rekord lekérdezése + MySqlHelper::getInstance()->query("SELECT * FROM alworkshops_application WHERE published='Y' AND id=" . $applicationID . " LIMIT 1;"); + $app = MySqlHelper::getInstance()->fetchAssoc(); + $app = $app[0]; + + // course rekord lekérdezése + MySqlHelper::getInstance()->query("SELECT * FROM alworkshops_courses WHERE published='Y' AND id=" . $courseid . " LIMIT 1;"); + $course = MySqlHelper::getInstance()->fetchAssoc(); + $course = $course[0]; + + // switch rekord lekérdezése + MySqlHelper::getInstance()->query("SELECT * FROM `alworkshops_switch` WHERE alias='" . $course['alias'] . "' LIMIT 1;"); + $switch = MySqlHelper::getInstance()->fetchAssoc(); + $switch = $switch[0]; + + // user név és email cím lekérdezése + MySqlHelper::getInstance()->query($userid == 0 && (int)$nUserID > 0 ? + "SELECT `strName` AS `name`,`strEmail` AS `email`, `strTel` AS `strTel` FROM `cl_hlusers`.`users` WHERE nUserID=" . (int)$nUserID . " LIMIT 1;" : + "SELECT `name`,`email` FROM `jml_users` WHERE id=" . (int)$userid . " LIMIT 1;"); + $user = MySqlHelper::getInstance()->fetchAssoc(); + $user = $user[0]; + + if (is_array($course) && count($course) && is_array($user) && count($user)) { + + MySqlHelper::getInstance()->query("SELECT * FROM " . ($this->getLang() == 'hun' ? 'jml' : 'eng') . "_content WHERE id=" . (int)$course['email_template'] . " LIMIT 1;"); + $tmpl = MySqlHelper::getInstance()->fetchAssoc(); + $tmpl = $tmpl[0]; + + $mit = array('{NAME}', '{TITLE}', '{START_DATE}', '{START_TIME}', '{FINISH_DATE}', '{FINISH_TIME}', '{LOCATION}', '{ATTENDEES}', '{PRICE}', '{PRICE_TOTAL}', '{VAT}'); + $mire = array( + $user['name'], + $course['title'], + ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? date("Y-m-d", _TIME_) : $course['start_date']), + ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? "" : $course['start_time']), + ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? date("Y-m-d", _TIME_ + (_LEASE_VALID_DAYS_ * 86400)) : $course['finish_date']), + ($switch['kurzus'] === 'Y' && (int)$switch['level'] == 2 ? "" : $course['finish_time']), + $course['location'], + $app['attendees'], + $course['price'], + $app['price_total'], + $course['vat'] + ); + $msg = str_replace($mit, $mire, $tmpl['introtext'] . $tmpl['fulltext']); + + if ($switch['esemeny'] == 'Y' && (in_array($switch['alias'], $this->customCourses))) { + $tel = substr($user['strTel'], 0, 1) == ';' ? substr($user['strTel'], 1) : $user['strTel']; + $msg = str_replace('{EMAIL}', $user['email'], $msg); + $msg = str_replace('{PHONE}', $tel, $msg); + } + + $mail = new PHPMailer; + $mail->CharSet = 'UTF-8'; + $mail->isSMTP(); + $mail->Host = $mailconfig['Host']; + $mail->SMTPAuth = true; + $mail->Username = $mailconfig['Username']; + $mail->Password = $mailconfig['Password']; + $mail->SMTPSecure = $mailconfig['SMTPSecure']; + $mail->Port = $mailconfig['Port']; + $mail->isHTML(TRUE); + $mail->setFrom($mailconfig['from_hu']); + $mail->addAddress($user['email']); + //$mail->addBCC('zsolt.fekete@cadline.hu'); + $mail->addBCC('info@cadline.hu'); + + if ($switch['esemeny'] == 'Y' && ($switch['alias'] == 'belter' || $switch['alias'] == 'd5-render' || $switch['alias'] == 'd5-render-alap' || $switch['alias'] == 'd5-render-3-0-ujdonsagok' || $switch['alias'] == 'interior' || $switch['alias'] == 'kulter' || $switch['alias'] == 'photoshop' || $switch['alias'] == 'd5-render-halado')) { + $mail->addCC('info@krisztinaharosi.it'); + } + + if ($switch['esemeny'] == 'Y' && ($switch['alias'] == 'aranyi-klaudia-kiviteli-terv-tanfolyam' || $switch['alias'] == 'aranyi-klaudia-kezdo-tanfolyam' || $switch['alias'] == 'aranyi-klaudia-halado-tanfolyam' || $switch['alias'] == 'aranyi-klaudia-teto-es-lepcso-szerkesztes-tanfolyam')) { + $mail->addCC('info@akdesign.hu'); + } + + if ($switch['esemeny'] == 'Y' && $switch['alias'] == 'ferenczi-eva-tanfolyam') { + $mail->addCC('eva@studiotrendinterior.com'); + } + + $mail->Subject = $tmpl['title']; + $mail->msgHTML($msg); + $mail->AltBody = strip_tags($msg); + $mail->send(); + unset($mail); + + return ($user['email']); + } + } + + public function auth() + { + MySqlHelper::getInstance()->query(" + (SELECT * FROM jml_session where session_id='" . trim(addslashes($_POST['sess'])) . "' LIMIT 1) + UNION + (SELECT * FROM eng_session where session_id='" . trim(addslashes($_POST['sess'])) . "' LIMIT 1);"); + $sess = MySqlHelper::getInstance()->fetchAssoc(); + return (count($sess) ? TRUE : FALSE); + } + + public function getLang() + { + if (!isset($this->lang)) { + $this->lang = (strpos($_SERVER['HTTP_HOST'], ".com") ? "eng" : "hun"); + } + return $this->lang; + } +} // end of class + +$controller = new Controller(); +$controller->run(); +?> + + \ No newline at end of file diff --git a/cadline/modules/modules/mod_alworkshops/assets/css/images/index.html b/cadline/modules/modules/mod_alworkshops/assets/css/images/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/css/images/index.html +++ b/cadline/modules/modules/mod_alworkshops/assets/css/images/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alworkshops/assets/css/index.html b/cadline/modules/modules/mod_alworkshops/assets/css/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/css/index.html +++ b/cadline/modules/modules/mod_alworkshops/assets/css/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alworkshops/assets/css/style.css b/cadline/modules/modules/mod_alworkshops/assets/css/style.css index 1db07159..4c254309 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/css/style.css +++ b/cadline/modules/modules/mod_alworkshops/assets/css/style.css @@ -1,41 +1,41 @@ -#alworshopContainer { - background-color: #2D3036; - padding: 10px; -} - -#alworshopContainer h3, -#alworshopContainer td, -#alworshopContainer span { - color: #FFFFF0; -} - -#alworshopContainer label, -#alworshopContainer div, -#alworshopContainer span, -#alworshopContainer p { - color: #fffff0; -} - -#alworshopContainer .sppb-btn { - font-weight: bold; -} - -#alworshopContainer hr { - margin: 5px 0px 5px 0px; -} - -#alworshopContainer h3 { - margin: 10px 0px 10px 0px; -} - -#alworshopContainer .figyelmeztet { - color: #FFFF00; -} - -#alworshopContainer .vastag { - font-weight: bold; -} - -#alworshopContainer .kattintos { - cursor: pointer; +#alworshopContainer { + background-color: #2D3036; + padding: 10px; +} + +#alworshopContainer h3, +#alworshopContainer td, +#alworshopContainer span { + color: #FFFFF0; +} + +#alworshopContainer label, +#alworshopContainer div, +#alworshopContainer span, +#alworshopContainer p { + color: #fffff0; +} + +#alworshopContainer .sppb-btn { + font-weight: bold; +} + +#alworshopContainer hr { + margin: 5px 0px 5px 0px; +} + +#alworshopContainer h3 { + margin: 10px 0px 10px 0px; +} + +#alworshopContainer .figyelmeztet { + color: #FFFF00; +} + +#alworshopContainer .vastag { + font-weight: bold; +} + +#alworshopContainer .kattintos { + cursor: pointer; } \ No newline at end of file diff --git a/cadline/modules/modules/mod_alworkshops/assets/index.html b/cadline/modules/modules/mod_alworkshops/assets/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/index.html +++ b/cadline/modules/modules/mod_alworkshops/assets/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alworkshops/assets/js/index.html b/cadline/modules/modules/mod_alworkshops/assets/js/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/js/index.html +++ b/cadline/modules/modules/mod_alworkshops/assets/js/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alworkshops/assets/style.css b/cadline/modules/modules/mod_alworkshops/assets/style.css index 48b23cc0..8824813c 100644 --- a/cadline/modules/modules/mod_alworkshops/assets/style.css +++ b/cadline/modules/modules/mod_alworkshops/assets/style.css @@ -1,19 +1,19 @@ -#alworshopContainer { background-color:#2D3036;padding:10px; } -#alworshopContainer h3, #alworshopContainer td, #alworshopContainer span { color:#FFFFF0; } -#alworshopContainer label,#alworshopContainer div,#alworshopContainer span,#alworshopContainer p {color:#fffff0;} -#alworshopContainer .sppb-btn { font-weight:bold; } -#alworshopContainer hr {margin:5px 0px 5px 0px;} -#alworshopContainer h3 {margin:10px 0px 10px 0px;} -#alworshopContainer .figyelmeztet {color: #FFFF00; } -#alworshopContainer .vastag {font-weight:bold;} -#alworshopContainer .kattintos {cursor:pointer;} - -.alworshopContainer { background-color:#2D3036;padding:10px; } -.alworshopContainer h3, #alworshopContainer td, #alworshopContainer span { color:#FFFFF0; } -.alworshopContainer label,#alworshopContainer div,#alworshopContainer span,#alworshopContainer p {color:#fffff0;} -.alworshopContainer .sppb-btn { font-weight:bold; } -.alworshopContainer hr {margin:5px 0px 5px 0px;} -.alworshopContainer h3 {margin:10px 0px 10px 0px;} -.alworshopContainer .figyelmeztet {color: #FFFF00; } -.alworshopContainer .vastag {font-weight:bold;} +#alworshopContainer { background-color:#2D3036;padding:10px; } +#alworshopContainer h3, #alworshopContainer td, #alworshopContainer span { color:#FFFFF0; } +#alworshopContainer label,#alworshopContainer div,#alworshopContainer span,#alworshopContainer p {color:#fffff0;} +#alworshopContainer .sppb-btn { font-weight:bold; } +#alworshopContainer hr {margin:5px 0px 5px 0px;} +#alworshopContainer h3 {margin:10px 0px 10px 0px;} +#alworshopContainer .figyelmeztet {color: #FFFF00; } +#alworshopContainer .vastag {font-weight:bold;} +#alworshopContainer .kattintos {cursor:pointer;} + +.alworshopContainer { background-color:#2D3036;padding:10px; } +.alworshopContainer h3, #alworshopContainer td, #alworshopContainer span { color:#FFFFF0; } +.alworshopContainer label,#alworshopContainer div,#alworshopContainer span,#alworshopContainer p {color:#fffff0;} +.alworshopContainer .sppb-btn { font-weight:bold; } +.alworshopContainer hr {margin:5px 0px 5px 0px;} +.alworshopContainer h3 {margin:10px 0px 10px 0px;} +.alworshopContainer .figyelmeztet {color: #FFFF00; } +.alworshopContainer .vastag {font-weight:bold;} .alworshopContainer .kattintos {cursor:pointer;} \ No newline at end of file diff --git a/cadline/modules/modules/mod_alworkshops/helpers/MySqlHelper.class.php b/cadline/modules/modules/mod_alworkshops/helpers/MySqlHelper.class.php index 4af3eca4..72aa51be 100644 --- a/cadline/modules/modules/mod_alworkshops/helpers/MySqlHelper.class.php +++ b/cadline/modules/modules/mod_alworkshops/helpers/MySqlHelper.class.php @@ -1,212 +1,212 @@ -config=New JConfig(); - $this->connection=false; - $this->host=''; - $this->user=''; - $this->pass=''; - $this->name=''; - } - - public static function getInstance() - { - if(!empty(self::$msh)) return self::$msh; - self::$msh=new MySqlHelper(); - self::$msh->init(); - return self::$msh; - } - - public function init($host="", $name="", $user="", $pass="") - { - $this->host=($host>"" ? $host : $this->config->host); - $this->name=($name>"" ? $name : $this->config->db); - $this->user=($user>"" ? $user : $this->config->user); - $this->pass=($pass>"" ? $pass : $this->config->password); - } - - private function connect() - { - if($this->connection) return; - - $this->connection=mysqli_connect($this->host, $this->user, $this->pass); - - if(false===$this->connection) throw new Exception('Can\'t connect to db'); - - mysqli_select_db($this->connection,$this->name); - mysqli_query($this->connection, 'SET CHARACTER SET UTF8'); - mysqli_query($this->connection, 'SET NAMES \'UTF8\' '); - mysqli_set_charset($this->connection, 'utf8'); - - if(mysqli_error($this->connection)) throw new Exception(mysql_error($this->connection)); - } - - public function query($query) { - $this->connect(); - $this->queryString=$query; - $this->queryResult=mysqli_query($this->connection, $query); - if(mysqli_error($this->connection)) throw new Exception(mysqli_error($this->connection).' Query: '.$this->queryString); - } - - public function fetchNext() { - $back=array(); - if($row=mysqli_fetch_assoc($this->queryResult)) { - foreach($row as $key => $value) { - $row[$key]=stripslashes($value); - } - $back=$row; - return $back; - } - - return false; - } - - public function fetchAssoc() { - $back=array(); - while($row=mysqli_fetch_assoc($this->queryResult)) { - foreach($row as $key => $value) { - $row[$key]=stripslashes($value); - } - $back[]=$row; - } - - return $back; - } - - public function getInsertedId() { - return mysqli_insert_id($this->connection); - } - - public function select($table, $where=false, $offset=false, $limit=false, $order=false) { - $whereStr=''; - $limitStr=''; - $orderStr=''; - - if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); - elseif($where) $whereStr='WHERE '.$where; - - if(($offset!==false and $offset!==null)&&($limit!==false and $limit!==null)) { - $limitStr='LIMIT '.$offset.', '.$limit; - } - - if(is_array($order)) { - $orderStr='ORDER BY '; - foreach($order as $key => $value) { - $orderStr.=$key.' '.$value.' '; - } - } - elseif($order) $orderStr='ORDER BY '.$order; - - return $this->query('SELECT * FROM '.$table.' '.$whereStr.' '.$orderStr.' '.$limitStr); - } - - public function getProp($table, $func, $field, $where=false) { - $whereStr=''; - if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); - elseif($where) $whereStr='WHERE '.$where; - - $this->query('SELECT '.$func.'('.$field.') as p FROM '.$table.' '.$whereStr); - - $arr=$this->fetchAssoc(); - - return $arr[0]['p']; - } - - public function getCount($table, $field='id', $where=false) { - return $this->getProp($table, 'COUNT', $field, $where); - } - - public function getSum($table, $field='id', $where=false) { - return $this->getProp($table, 'SUM', $field, $where); - } - - public function getAvg($table, $field='id', $where=false) { - return $this->getProp($table, 'AVG', $field, $where); - } - - public function delete($table, $where=false) { - $whereStr=''; - if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); - elseif($where) $whereStr='WHERE '.$where; - - return $this->query('DELETE FROM '.$table.' '.$whereStr); - } - - public function update($table, $infoArr, $where=false) { - if(!is_array($infoArr)) { - return false; - } - - $whereStr=''; - $dataArr=array(); - $data=''; - if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); - elseif($where) $whereStr='WHERE '.$where; - - foreach($infoArr as $key => $value) { - $dataArr[]='`'.$key.'`="'.mysqli_real_escape_string($this->connection, $value).'" '; - } - $data=implode(',',$dataArr); - - return $this->query('UPDATE '.$table.' SET '.$data.' '.$whereStr); - } - - public function insert($table, $infoArr) { - $this->connect(); - - $columArr=array(); - $valueArr=array(); - $colums=''; - $values=''; - - foreach($infoArr as $key => $value) { - $columArr[]='`'.$key.'`'; - $valueArr[]='"'.mysqli_real_escape_string($this->connection, $value).'"'; - } - - $colums=implode(',',$columArr); - $values=implode(',', $valueArr); - - return $this->query('INSERT INTO '.$table.' ('.$colums.') VALUES ('.$values.')'); - } - - public function affectedRows() { - return mysqli_affected_rows($this->connection); - } - - public function whereMakerPriv($where) { - if(!is_array($where)) return 1; - $this->connect(); - $back='1 '; - foreach($where as $key=>$value) { - if(is_array($value)) $back.='AND `'.$key.'`'.$value[0].'"'.$value[1].'" '; - else $back.='AND `'.$key.'`="'.mysqli_real_escape_string($this->connection, $value).'" '; - } - return $back; - } - - public static function whereMaker($where) { - if(!is_array($where)) return 1; - $back='1 '; - foreach($where as $key=>$value) { - if(is_array($value)) $back.='AND `'.$key.'`'.$value[0].'"'.$value[1].'" '; - else $back.='AND `'.$key.'`="'.$value.'" '; - } - return $back; - } -} - -?> +config=New JConfig(); + $this->connection=false; + $this->host=''; + $this->user=''; + $this->pass=''; + $this->name=''; + } + + public static function getInstance() + { + if(!empty(self::$msh)) return self::$msh; + self::$msh=new MySqlHelper(); + self::$msh->init(); + return self::$msh; + } + + public function init($host="", $name="", $user="", $pass="") + { + $this->host=($host>"" ? $host : $this->config->host); + $this->name=($name>"" ? $name : $this->config->db); + $this->user=($user>"" ? $user : $this->config->user); + $this->pass=($pass>"" ? $pass : $this->config->password); + } + + private function connect() + { + if($this->connection) return; + + $this->connection=mysqli_connect($this->host, $this->user, $this->pass); + + if(false===$this->connection) throw new Exception('Can\'t connect to db'); + + mysqli_select_db($this->connection,$this->name); + mysqli_query($this->connection, 'SET CHARACTER SET UTF8'); + mysqli_query($this->connection, 'SET NAMES \'UTF8\' '); + mysqli_set_charset($this->connection, 'utf8'); + + if(mysqli_error($this->connection)) throw new Exception(mysql_error($this->connection)); + } + + public function query($query) { + $this->connect(); + $this->queryString=$query; + $this->queryResult=mysqli_query($this->connection, $query); + if(mysqli_error($this->connection)) throw new Exception(mysqli_error($this->connection).' Query: '.$this->queryString); + } + + public function fetchNext() { + $back=array(); + if($row=mysqli_fetch_assoc($this->queryResult)) { + foreach($row as $key => $value) { + $row[$key]=stripslashes($value); + } + $back=$row; + return $back; + } + + return false; + } + + public function fetchAssoc() { + $back=array(); + while($row=mysqli_fetch_assoc($this->queryResult)) { + foreach($row as $key => $value) { + $row[$key]=stripslashes($value); + } + $back[]=$row; + } + + return $back; + } + + public function getInsertedId() { + return mysqli_insert_id($this->connection); + } + + public function select($table, $where=false, $offset=false, $limit=false, $order=false) { + $whereStr=''; + $limitStr=''; + $orderStr=''; + + if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); + elseif($where) $whereStr='WHERE '.$where; + + if(($offset!==false and $offset!==null)&&($limit!==false and $limit!==null)) { + $limitStr='LIMIT '.$offset.', '.$limit; + } + + if(is_array($order)) { + $orderStr='ORDER BY '; + foreach($order as $key => $value) { + $orderStr.=$key.' '.$value.' '; + } + } + elseif($order) $orderStr='ORDER BY '.$order; + + return $this->query('SELECT * FROM '.$table.' '.$whereStr.' '.$orderStr.' '.$limitStr); + } + + public function getProp($table, $func, $field, $where=false) { + $whereStr=''; + if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); + elseif($where) $whereStr='WHERE '.$where; + + $this->query('SELECT '.$func.'('.$field.') as p FROM '.$table.' '.$whereStr); + + $arr=$this->fetchAssoc(); + + return $arr[0]['p']; + } + + public function getCount($table, $field='id', $where=false) { + return $this->getProp($table, 'COUNT', $field, $where); + } + + public function getSum($table, $field='id', $where=false) { + return $this->getProp($table, 'SUM', $field, $where); + } + + public function getAvg($table, $field='id', $where=false) { + return $this->getProp($table, 'AVG', $field, $where); + } + + public function delete($table, $where=false) { + $whereStr=''; + if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); + elseif($where) $whereStr='WHERE '.$where; + + return $this->query('DELETE FROM '.$table.' '.$whereStr); + } + + public function update($table, $infoArr, $where=false) { + if(!is_array($infoArr)) { + return false; + } + + $whereStr=''; + $dataArr=array(); + $data=''; + if(is_array($where)) $whereStr='WHERE '.$this->whereMakerPriv($where); + elseif($where) $whereStr='WHERE '.$where; + + foreach($infoArr as $key => $value) { + $dataArr[]='`'.$key.'`="'.mysqli_real_escape_string($this->connection, $value).'" '; + } + $data=implode(',',$dataArr); + + return $this->query('UPDATE '.$table.' SET '.$data.' '.$whereStr); + } + + public function insert($table, $infoArr) { + $this->connect(); + + $columArr=array(); + $valueArr=array(); + $colums=''; + $values=''; + + foreach($infoArr as $key => $value) { + $columArr[]='`'.$key.'`'; + $valueArr[]='"'.mysqli_real_escape_string($this->connection, $value).'"'; + } + + $colums=implode(',',$columArr); + $values=implode(',', $valueArr); + + return $this->query('INSERT INTO '.$table.' ('.$colums.') VALUES ('.$values.')'); + } + + public function affectedRows() { + return mysqli_affected_rows($this->connection); + } + + public function whereMakerPriv($where) { + if(!is_array($where)) return 1; + $this->connect(); + $back='1 '; + foreach($where as $key=>$value) { + if(is_array($value)) $back.='AND `'.$key.'`'.$value[0].'"'.$value[1].'" '; + else $back.='AND `'.$key.'`="'.mysqli_real_escape_string($this->connection, $value).'" '; + } + return $back; + } + + public static function whereMaker($where) { + if(!is_array($where)) return 1; + $back='1 '; + foreach($where as $key=>$value) { + if(is_array($value)) $back.='AND `'.$key.'`'.$value[0].'"'.$value[1].'" '; + else $back.='AND `'.$key.'`="'.$value.'" '; + } + return $back; + } +} + +?> diff --git a/cadline/modules/modules/mod_alworkshops/index.html b/cadline/modules/modules/mod_alworkshops/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alworkshops/index.html +++ b/cadline/modules/modules/mod_alworkshops/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_alworkshops/mod_alworkshops.php b/cadline/modules/modules/mod_alworkshops/mod_alworkshops.php index 3565872e..cf201d40 100644 --- a/cadline/modules/modules/mod_alworkshops/mod_alworkshops.php +++ b/cadline/modules/modules/mod_alworkshops/mod_alworkshops.php @@ -1,51 +1,51 @@ -addStyleSheet("/modules/mod_alworkshops/assets/css/style.css"); -$doc->addScript("/modules/mod_alworkshops/assets/js/script.js"); - -$tmp = explode('/', JFactory::getURI()->getPath()); -$alias = end($tmp); -$switch = ModAlworkshopsHelper::getSwitch($alias); - -JFactory::getDocument()->addStyleSheet('/templates/shaper_helix3/css/jquery-ui-smoothness.css'); -JFactory::getDocument()->addScript('/templates/shaper_helix3/js/jquery-ui.1.12.1.min.js'); - -if ($alias > '') { - if (ModAlworkshopsHelper::getLang() == 'hun') { // Magyar oldal - $validLease = ModAlworkshopsHelper::getValidLease($switch->level); - $examResults = ModAlworkshopsHelper::getExamResults(); - - // workshopok - if ($switch->kurzus == 'Y' || $switch->esemeny == 'Y' || $switch->webinair == 'Y') $workshopok = ModAlworkshopsHelper::getCourse($alias); - elseif ($switch->vizsga == 'Y') { // vizsga - $tceUser = ModAlworkshopsHelper::setTCEUser($switch->vizsga_csoport); - $examPermit = ModAlworkshopsHelper::getExamPermit($switch->level); - $onlineExamPermit = ModAlworkshopsHelper::getOnlineExamPermit($switch->level); - $lastWorkshop = ModAlworkshopsHelper::getLastWorkshop($switch->level); - $workshopok = ModAlworkshopsHelper::getWorkshops($alias, ($lastWorkshop ? (date('Y-m-d', _TIME_) >= $lastWorkshop->nextDay ? date('Y-m-d', _TIME_) : $lastWorkshop->nextDay) : '')); - - if ($switch->level == 4) { - $appsign = ModAlworkshopsHelper::getAppSign($workshopok[0]->id); - $tceGroup = ModAlworkshopsHelper::getTCEUserGroup(); - } - } else // bármi egyéb (csak a workshopok maradtak) - $workshopok = ModAlworkshopsHelper::getWorkshops($alias, ($validLease ? (date('Y-m-d', _TIME_) > $validLease->validFrom ? date('Y-m-d', _TIME_) : $validLease->validFrom) : ''), ($validLease ? $validLease->validThrough : '')); - - $payed = $workshopok ? ModAlworkshopsHelper::payed($workshopok[0]->id) : false; - - require JModuleHelper::getLayoutPath('mod_alworkshops', $params->get('layout', 'default')); - } - - if (ModAlworkshopsHelper::getLang() == 'eng') { // Angol oldal - if ($switch->webinair == 'Y' || $switch->esemeny == 'Y') $workshopok = ModAlworkshopsHelper::getCourse($alias); - else $workshopok = ModAlworkshopsHelper::getWorkshopsByGroup($alias); - - require JModuleHelper::getLayoutPath('mod_alworkshops', 'eng'); - } -} +addStyleSheet("/modules/mod_alworkshops/assets/css/style.css"); +$doc->addScript("/modules/mod_alworkshops/assets/js/script.js"); + +$tmp = explode('/', JFactory::getURI()->getPath()); +$alias = end($tmp); +$switch = ModAlworkshopsHelper::getSwitch($alias); + +JFactory::getDocument()->addStyleSheet('/templates/shaper_helix3/css/jquery-ui-smoothness.css'); +JFactory::getDocument()->addScript('/templates/shaper_helix3/js/jquery-ui.1.12.1.min.js'); + +if ($alias > '') { + if (ModAlworkshopsHelper::getLang() == 'hun') { // Magyar oldal + $validLease = ModAlworkshopsHelper::getValidLease($switch->level); + $examResults = ModAlworkshopsHelper::getExamResults(); + + // workshopok + if ($switch->kurzus == 'Y' || $switch->esemeny == 'Y' || $switch->webinair == 'Y') $workshopok = ModAlworkshopsHelper::getCourse($alias); + elseif ($switch->vizsga == 'Y') { // vizsga + $tceUser = ModAlworkshopsHelper::setTCEUser($switch->vizsga_csoport); + $examPermit = ModAlworkshopsHelper::getExamPermit($switch->level); + $onlineExamPermit = ModAlworkshopsHelper::getOnlineExamPermit($switch->level); + $lastWorkshop = ModAlworkshopsHelper::getLastWorkshop($switch->level); + $workshopok = ModAlworkshopsHelper::getWorkshops($alias, ($lastWorkshop ? (date('Y-m-d', _TIME_) >= $lastWorkshop->nextDay ? date('Y-m-d', _TIME_) : $lastWorkshop->nextDay) : '')); + + if ($switch->level == 4) { + $appsign = ModAlworkshopsHelper::getAppSign($workshopok[0]->id); + $tceGroup = ModAlworkshopsHelper::getTCEUserGroup(); + } + } else // bármi egyéb (csak a workshopok maradtak) + $workshopok = ModAlworkshopsHelper::getWorkshops($alias, ($validLease ? (date('Y-m-d', _TIME_) > $validLease->validFrom ? date('Y-m-d', _TIME_) : $validLease->validFrom) : ''), ($validLease ? $validLease->validThrough : '')); + + $payed = $workshopok ? ModAlworkshopsHelper::payed($workshopok[0]->id) : false; + + require JModuleHelper::getLayoutPath('mod_alworkshops', $params->get('layout', 'default')); + } + + if (ModAlworkshopsHelper::getLang() == 'eng') { // Angol oldal + if ($switch->webinair == 'Y' || $switch->esemeny == 'Y') $workshopok = ModAlworkshopsHelper::getCourse($alias); + else $workshopok = ModAlworkshopsHelper::getWorkshopsByGroup($alias); + + require JModuleHelper::getLayoutPath('mod_alworkshops', 'eng'); + } +} diff --git a/cadline/modules/modules/mod_alworkshops/mod_alworkshops.xml b/cadline/modules/modules/mod_alworkshops/mod_alworkshops.xml index 4de4df24..d3c92a1a 100644 --- a/cadline/modules/modules/mod_alworkshops/mod_alworkshops.xml +++ b/cadline/modules/modules/mod_alworkshops/mod_alworkshops.xml @@ -1,151 +1,151 @@ - - - MOD_ARCHLINE_WORKSHOPS - Mar 2017 - Zsolt Fekete - zsolt.fekete@cadline.hu - https://www.facbook.com/mcleod78 - Copyright © 2017 - All rights reserved. - GNU General Public License v2.0 - 0.0.1 - MOD__P_FRONT_ENDEN_MEGJELENITI_A - - mod_alworkshops.php - mod_alworkshops.xml - index.html - language - tmpl - assets - - - -
              - - - - - - - - - - - - - -
              -
              - - -
              - - en-GB/en-GB.mod_alworkshops2.sys.ini - en-GB/en-GB.mod_alworkshops.ini - hu-HU/hu-HU.mod_alworkshops2.sys.ini - hu-HU/hu-HU.mod_alworkshops.ini - + + + MOD_ARCHLINE_WORKSHOPS + Mar 2017 + Zsolt Fekete + zsolt.fekete@cadline.hu + https://www.facbook.com/mcleod78 + Copyright © 2017 - All rights reserved. + GNU General Public License v2.0 + 0.0.1 + MOD__P_FRONT_ENDEN_MEGJELENITI_A + + mod_alworkshops.php + mod_alworkshops.xml + index.html + language + tmpl + assets + + + +
              + + + + + + + + + + + + + +
              +
              + + +
              + + en-GB/en-GB.mod_alworkshops2.sys.ini + en-GB/en-GB.mod_alworkshops.ini + hu-HU/hu-HU.mod_alworkshops2.sys.ini + hu-HU/hu-HU.mod_alworkshops.ini +
              \ No newline at end of file diff --git a/cadline/modules/modules/mod_alworkshops/tmpl/eng.php b/cadline/modules/modules/mod_alworkshops/tmpl/eng.php index 378f32cf..d75aa0e5 100644 --- a/cadline/modules/modules/mod_alworkshops/tmpl/eng.php +++ b/cadline/modules/modules/mod_alworkshops/tmpl/eng.php @@ -1,1312 +1,1312 @@ -id); -$time = ''; -$time = md5($time); -?> - - - -
              -

              - - -
              -

              - id > 0) : ?> -  username ?>
              - - - level == 1 && $switch->tanfsor >= 5 && $switch->tanfsor <= 7) : ?> - - alias != 'belter' && $switch->alias != 'interior'): ?> - price == 0) : ?> -  
              - -  price ?> +
              - - - - - location) > '' && substr($workshopok[0]->location, 0, 4) == "http") : ?> -  online
              - location) > '') : ?> -  location ?>
              - - - webinair == 'Y') : ?> - - -

              -  start_date ?> - finish_date ?>
              -  start_time, 0, 5) ?> - finish_time, 0, 5) ?>
              -  : capacity - $workshopok[0]->applications ?> / : capacity ?>
              - - id); - if($onlineSessions) { - if($workshopok[0]->course_level != 0) { - print '

              '.ModAlworkshopsHelper::getLevelString($workshopok[0]->course_level).'

              '; - } - print '
              '; - print 'Időpontok:

              '; - print '
              '+gj.datepicker.methods.getWeekNumber(v)+"
              '),r.showOtherMonths&&(m=$("
              "+o+"
              "),f.append(m),r.selectOtherMonths&&gj.datepicker.methods.isSelectable(r,v)?(f.addClass("gj-cursor-pointer").attr("day",o).attr("month",u.month).attr("year",u.year),m.on("click",gj.datepicker.methods.dayClickHandler(e,t,r,v)),m.on("mousedown",function(e){e.stopPropagation()})):f.addClass("disabled")),$row.append(f),a++;for(g>1&&j.append($row),p=new Date,g=1;g<=l;g++)v=new Date(d,n,g),0==a&&($row=$("
              '+gj.datepicker.methods.getWeekNumber(v)+"
              '),d===p.getFullYear()&&n===p.getMonth()&&g===p.getDate()?f.addClass("today"):f.addClass("current-month"),m=$("
              "+g+"
              "),gj.datepicker.methods.isSelectable(r,v)?(f.addClass("gj-cursor-pointer"),m.on("click",gj.datepicker.methods.dayClickHandler(e,t,r,v)),m.on("mousedown",function(e){e.stopPropagation()})):f.addClass("disabled"),f.append(m),$row.append(f),7==++a&&(j.append($row),a=0);for(h=gj.datepicker.methods.getNextMonth(n,d),g=1;0!=a;g++)v=new Date(h.year,h.month,g),f=$('
              '),r.showOtherMonths&&(m=$("
              "+g+"
              "),r.selectOtherMonths&&gj.datepicker.methods.isSelectable(r,v)?(f.addClass("gj-cursor-pointer").attr("day",g).attr("month",h.month).attr("year",h.year),m.on("click",gj.datepicker.methods.dayClickHandler(e,t,r,v)),m.on("mousedown",function(e){e.stopPropagation()})):f.addClass("disabled"),f.append(m)),$row.append(f),7==++a&&(j.append($row),a=0);y.append(j),b.append(y),t.attr("selectedDay")&&(i=t.attr("selectedDay").split("-"),v=new Date(i[0],i[1],i[2],t.attr("hour")||0,t.attr("minute")||0),t.find('tbody td[day="'+i[2]+'"][month="'+i[1]+'"]').addClass("selected"),gj.datepicker.methods.updateHeader(t,r,v))},renderYear:function(e,t,r){var a,i,o,n,d=t.find('>[role="body"]>table'),s=d.children("tbody");for(d.children("thead").hide(),a=parseInt(t.attr("year"),10),t.attr("type","year"),t.find('div[role="period"]').text(a),s.empty(),i=0;i<3;i++){for($row=$("
              '; - foreach ($onlineSessions as $session) { - print " - - - - "; - } - print '
              {$session->session_date}{$session->start_time}-{$session->finish_time}{$session->title}
              '; - }*/ - - if ($workshopok[0]->comment != '' && $workshopok[0]->comment != null) { - print '
              '; - print '
              '; - print 'Események

              '; - print $workshopok[0]->comment; - } - - MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $workshopok[0]->id . " AND `email`='" . trim(addslashes($user->email)) . "' AND `published`='Y';"); - $exist = MySqlHelper::getInstance()->fetchAssoc(); - if ($user->id != 0) { - if ($exist) { - ?> -

              Erre az eseményre már jelentkeztél

              - -

              Erre az eseményre még nem jelentkeztél

              - -
              - - - -
              -  start_date ?> - finish_date ?>
              -  start_time, 0, 5) ?> - finish_time, 0, 5) ?>
              -  : capacity - $workshopok[1]->applications ?> / : capacity ?>
              - id); - if($onlineSessions) { - if($workshopok[1]->course_level != 0) { - print '

              '.ModAlworkshopsHelper::getLevelString($workshopok[1]->course_level).'

              '; - } - print '
              '; - print 'Időpontok:

              '; - print ''; - foreach ($onlineSessions as $session) { - print " - - - - "; - } - print '
              {$session->session_date}{$session->start_time}-{$session->finish_time}{$session->title}
              '; - }*/ - - if ($workshopok[1]->comment != '' && $workshopok[1]->comment != null) { - print '
              '; - print '
              '; - print 'Események

              '; - print $workshopok[1]->comment; - } - MySqlHelper::getInstance()->query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $workshopok[1]->id . " AND `email`='" . trim(addslashes($user->email)) . "' AND `published`='Y';"); - $exist2 = MySqlHelper::getInstance()->fetchAssoc(); - if ($user->id != 0) { - if ($exist2) { - ?> -
              -

              Erre az eseményre már jelentkeztél

              -
              - - -

              Erre az eseményre még nem jelentkeztél

              - - -
              - -
              -

              -
              - - - query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $workshopok[2]->id . " AND `email`='" . trim(addslashes($user->email)) . "' AND `published`='Y';"); - $exist3 = MySqlHelper::getInstance()->fetchAssoc(); - ?> -
              -  start_date ?>
              -  start_time, 0, 5) ?> - finish_time, 0, 5) ?>
              -  : capacity - $workshopok[2]->applications ?> / : capacity ?>
              - id != 0) { - if ($exist3) { - ?> -
              -

              Erre az eseményre már jelentkeztél

              -
              - - -

              Erre az eseményre még nem jelentkeztél

              - - -
              - -
              -

              -
              - - - - -

              - - kurzus == 'Y' && $switch->level == 2) : ?> - - - - - - - - webinair == 'Y' || $switch->esemeny == 'Y') : ?> - - webinair == 'Y') : ?> -
              - -
              - -
              - webinair == 'Y') : ?> - query("SELECT * FROM `www_archline_hu`.`alworkshops_application` WHERE `course_id`=" . $workshopok[0]->id . " AND `email`='" . trim(addslashes($user->email)) . "' AND `published`='Y';"); - $exist3 = MySqlHelper::getInstance()->fetchAssoc(); - ?> -

              id == 0) ? 'style="display:none;"' : "") ?>> - - - - - - - - -

              - -
              - - - -

              :

              -
              - - - - - - $ws) : ?> - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application = ModAlworkshopsHelper::getApplication($user->id, $ws->id); - if ($application) $currentApplication = $k; - if ($application && $switch->vizsga == 'Y') $examDate = $ws->start_date; - ?> - gepet_kerek == 'Y' && time() >= $timestamp) : ?> - - - - - - - - - - - kurzus == 'Y') : ?> - - - - - - - - - - -
              -
              -
              - gepet_kerek == 'Y' && time() >= $timestamp && $ws->id != 1373) : ?> - - - /> - - - -
              - -
              - start_date == $ws->finish_date) : ?> - start_date ?> start_time, 0, -3) ?>-finish_time, 0, -3) ?> - - start_date ?> - finish_date ?> - - - gepet_kerek == 'Y') : ?> - - - - - -
              -

              :

              - - id); - if ($course_sessions) : ?> - - - alias == 'tanulocsoportok') : ?> - - - - - - - - -
              session_date); ?> - session_date, 2) ?>start_time, 0, 5) ?>-finish_time, 0, 5) ?>description ?>
              -
              -
              -
              - -
              - - - kurzus == 'Y' && $switch->level == 2) : ?> -

              :

              -
              - - - - - - $ws) : ?> - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application = ModAlworkshopsHelper::getApplication($user->id, $ws->id); - if ($application) $currentApplication = $k; - if ($application && $switch->vizsga == 'Y') $examDate = $ws->start_date; - ?> - gepet_kerek == 'Y' && time() >= $timestamp) : ?> - - - - - - - - - - - kurzus == 'Y') : ?> - - - - - - - - - - -
              -
              -
              - gepet_kerek == 'Y' && time() >= $timestamp) : ?> - - - /> - - - -
              -
              - gepet_kerek == 'Y') : ?> -
              - start_date == $ws->finish_date) : ?> - start_date ?> start_time, 0, -3) ?>-finish_time, 0, -3) ?> - - start_date ?> - finish_date ?> -
              - - : capacity - $ws->applications ?>
              - - -
              - - -
              -

              :

              - - id); - if ($course_sessions) : ?> - - - - - - - - - -
              session_date, 2) ?>start_time, 0, 5) ?>-finish_time, 0, 5) ?>description ?>
              -
              -
              -
              - -
              - - - - id > 0) : ?> - - - - berletem_van == 'Y' && $validLease) : ?> -

              - -    - (: validThrough ?>) -

              - - - webinair == 'N' && $switch->esemeny == 'N') : ?> -
              - - - - - price > 0) : ?> -

              - -
              - - - - kurzus == 'Y' && $switch->level == 1) : ?> - - -

              - price > 0) : ?>

              - - kurzus == 'Y' && $switch->level == 2) : ?> - - alap_oklevel*/true) : ?> - alias == 'kozepfoku-tanfolyam') : ?> - id, $workshopok[0]->id); - ?> - - - - -

              - price > 0) : ?>

              - - -

              !

              -

              - price > 0) : ?>

              - - - workshop == 'Y' && $validLease) : ?> - - -

              - price > 0) : ?>

              - - workshop == 'Y' && !$validLease) : ?> - - level == 1) : ?> - -

              !

              -

              - price > 0) : ?>

              - - - level == 2) : ?> - alap_oklevel) : ?> - -

              - price > 0) : ?>

              - - -

              !

              -

              - price > 0) : ?>

              - - - - vizsga == 'Y') : ?> - - - - - - - -

              - price > 0) : ?> - - - -

              - - - - level == 2) : ?>

              A Középfokú vizsga feltétele az elvégzett Alapfokú vizsga!

              - level == 4) : ?>

              A Felsőfokú vizsga feltétele az elvégzett Középfokú vizsga!

              - -

              - price > 0) : ?>

              - - - - - - - -

              - price > 0) : ?>

              - - level == 1) : ?>

              !

              - level == 2) : ?>

              !

              - -

              - price > 0) : ?>

              - - - -
              - - - - - - - - - - - - - esemeny != 'Y' && ($switch->vizsga == 'Y' || $switch->webinair == 'Y')) { ?> -

              - - - vizsga == 'Y' || $application->attendees <= 3) : ?> - -
              - - - - - webinair != 'Y' && $switch->vizsga == 'Y') : ?> - - " /> - - - - -
              - - - - - - - kurzus == 'Y' || $switch->workshop == 'Y' || $switch->vizsga == 'Y' || ($switch->esemeny == 'Y' && $switch->login == 'Y') || ($switch->webinair == 'Y' && $switch->login = 'N')) : ?> - webinair == 'Y' && $switch->login == 'N') { - ?> -
              -
              -

              - -
              -
              -
              - -
              -
              - -
              - - esemeny == 'Y' && $user->id <= 0) : ?> - - - - - $ws) : ?> - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application = ModAlworkshopsHelper::getApplication($user->id, $ws->id); - if ($application) $currentApplication = $k; - if ($application && $switch->vizsga == 'Y') $examDate = $ws->start_date; - ?> - = $timestamp) : ?> - - - - - - - - - - - kurzus == 'Y') : ?> - - - - - - - - - - -
              -
              -
              - = $timestamp) : ?> - - - /> - - - -
              -
              - gepet_kerek == 'Y') : ?> -
              - start_date == $ws->finish_date) : ?> - start_date ?> start_time, 0, -3) ?>-finish_time, 0, -3) ?> - - start_date ?> - finish_date ?> -
              - - : capacity - $ws->applications ?>
              - - -
              - - -
              -

              :

              - - id); - if ($course_sessions) : ?> - - - - - - - - - -
              session_date, 2) ?>start_time, 0, 5) ?>-finish_time, 0, 5) ?>description ?>
              -
              -
              -
              - -

              - - - - - - -

              - - -price > 0) : ?> - - - -
              - -alias != 'tanulocsoportok' && ($switch->kurzus == 'Y' || $switch->workshop == 'Y')) : ?> - - - - -esemeny == 'Y' && $user->id > 0) { -?> -
              - -
              -
              -
              - - -
              - orszag == 'Y') : ?> -
              - -
              - - szakma == 'Y') : ?> -
              - -
              - -
              - -

              id == 0) ? 'style="display:none;"' : "") ?>> - - - - -

              - - - - - $ws) : ?> - - start_date; - $timestamp = strtotime($date . ' ' . '17:00:00'); - - $application = ModAlworkshopsHelper::getApplication($user->id, $ws->id); - if ($application) $currentApplication = $k; - if ($application && $switch->vizsga == 'Y') $examDate = $ws->start_date; - ?> - = $timestamp) : ?> - - - - - - - - - - - kurzus == 'Y') : ?> - - - - - - - - - -
              -
              -
              - = $timestamp) : ?> - - - /> - - - -
              -
              - gepet_kerek == 'Y') : ?> -
              - start_date == $ws->finish_date) : ?> - start_date ?> start_time, 0, -3) ?>-finish_time, 0, -3) ?> - - start_date ?> - finish_date ?> -
              - - : capacity - $ws->applications ?>
              - - -
              - - -
              -

              :

              - - id); - if ($course_sessions) : ?> - - - - - - - - - -
              session_date, 2) ?>start_time, 0, 5) ?>-finish_time, 0, 5) ?>description ?>
              -
              -
              -
              - - alias == 'belter' || $switch->alias == 'interior'): ?> - - - - - - - - - alias != 'belter' && $switch->alias != 'interior'): ?> -
              -

              - -
              - - -
              - webinair == 'Y') : ?> -
              - - -

              id == 0) ? 'style="display:none;"' : "") ?>> - - - -

              - -
              - -
              -
              -
              -
              - - -
              - webinair == 'Y') : ?> -
              - -

              id == 0) ? 'style="display:none;"' : "") ?>> - - - -

              - -
              - -
              -
              -
              -
              -
              - - \ No newline at end of file diff --git a/cadline/modules/modules/mod_alworkshops/tmpl/index.html b/cadline/modules/modules/mod_alworkshops/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_alworkshops/tmpl/index.html +++ b/cadline/modules/modules/mod_alworkshops/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_course_list/index.html b/cadline/modules/modules/mod_course_list/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_course_list/index.html +++ b/cadline/modules/modules/mod_course_list/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.ini b/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.ini index ccf3660f..d92d6e97 100644 --- a/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.ini +++ b/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.ini @@ -1,4 +1,4 @@ -MOD_ARCHLINE_USERS="ARCHLine users" -MOD__P___ARCHLINE_USERS___P_="

              - ARCHLine users -

              " +MOD_ARCHLINE_USERS="ARCHLine users" +MOD__P___ARCHLINE_USERS___P_="

              + ARCHLine users +

              " diff --git a/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.sys.ini b/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.sys.ini index ccf3660f..d92d6e97 100644 --- a/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.sys.ini +++ b/cadline/modules/modules/mod_course_list/language/en-GB/en-GB.mod_course_list.sys.ini @@ -1,4 +1,4 @@ -MOD_ARCHLINE_USERS="ARCHLine users" -MOD__P___ARCHLINE_USERS___P_="

              - ARCHLine users -

              " +MOD_ARCHLINE_USERS="ARCHLine users" +MOD__P___ARCHLINE_USERS___P_="

              + ARCHLine users +

              " diff --git a/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.ini b/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.ini index ccf3660f..d92d6e97 100644 --- a/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.ini +++ b/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.ini @@ -1,4 +1,4 @@ -MOD_ARCHLINE_USERS="ARCHLine users" -MOD__P___ARCHLINE_USERS___P_="

              - ARCHLine users -

              " +MOD_ARCHLINE_USERS="ARCHLine users" +MOD__P___ARCHLINE_USERS___P_="

              + ARCHLine users +

              " diff --git a/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.sys.ini b/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.sys.ini index ccf3660f..d92d6e97 100644 --- a/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.sys.ini +++ b/cadline/modules/modules/mod_course_list/language/hu-HU/hu-HU.mod_course_list.sys.ini @@ -1,4 +1,4 @@ -MOD_ARCHLINE_USERS="ARCHLine users" -MOD__P___ARCHLINE_USERS___P_="

              - ARCHLine users -

              " +MOD_ARCHLINE_USERS="ARCHLine users" +MOD__P___ARCHLINE_USERS___P_="

              + ARCHLine users +

              " diff --git a/cadline/modules/modules/mod_course_list/mod_course_list.php b/cadline/modules/modules/mod_course_list/mod_course_list.php index b6fe7411..342c8f1a 100644 --- a/cadline/modules/modules/mod_course_list/mod_course_list.php +++ b/cadline/modules/modules/mod_course_list/mod_course_list.php @@ -1,12 +1,12 @@ -getTag(); -$user = JFactory::getUser(); -$courses = ModCourseListHelper::getCourses(); -$color = ModCourseListHelper::getColor(); -$applications = ModCourseListHelper::getApplications($user->id); - -require JModuleHelper::getLayoutPath('mod_course_list', $params->get('layout', 'default')); +getTag(); +$user = JFactory::getUser(); +$courses = ModCourseListHelper::getCourses(); +$color = ModCourseListHelper::getColor(); +$applications = ModCourseListHelper::getApplications($user->id); + +require JModuleHelper::getLayoutPath('mod_course_list', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_course_list/mod_course_list.xml b/cadline/modules/modules/mod_course_list/mod_course_list.xml index e1772366..91b8d56d 100644 --- a/cadline/modules/modules/mod_course_list/mod_course_list.xml +++ b/cadline/modules/modules/mod_course_list/mod_course_list.xml @@ -1,42 +1,42 @@ - - - MOD_COURSE_LIST - August 2022 - Nagy Máté - mate.nagy@cadline.hu - Copyright © 2021 - All rights reserved. - 0.0.1 - Create a list for the actual courses - - mod_course_list.php - mod_course_list.xml - index.html - helper.php - language - tmpl - - - -
              - - - - - - - - - - - -
              -
              -
              - - - en-GB/en-GB.mod_course_list.sys.ini - en-GB/en-GB.mod_course_list.ini - hu-HU/hu-HU.mod_course_list.sys.ini - hu-HU/hu-HU.mod_course_list.ini - -
              + + + MOD_COURSE_LIST + August 2022 + Nagy Máté + mate.nagy@cadline.hu + Copyright © 2021 - All rights reserved. + 0.0.1 + Create a list for the actual courses + + mod_course_list.php + mod_course_list.xml + index.html + helper.php + language + tmpl + + + +
              + + + + + + + + + + + +
              +
              +
              + + + en-GB/en-GB.mod_course_list.sys.ini + en-GB/en-GB.mod_course_list.ini + hu-HU/hu-HU.mod_course_list.sys.ini + hu-HU/hu-HU.mod_course_list.ini + +
              diff --git a/cadline/modules/modules/mod_course_list/tmpl/default.php b/cadline/modules/modules/mod_course_list/tmpl/default.php index 17367de6..a10a3c6d 100644 --- a/cadline/modules/modules/mod_course_list/tmpl/default.php +++ b/cadline/modules/modules/mod_course_list/tmpl/default.php @@ -1,329 +1,329 @@ - - - - -
                - - id, $user->id); ?> -
              • -
                - - -
                - overviewID != '' && $course->overviewID > 0) : ?> - - -
                - -
                - - - -
                - -
                - - - - -
                - -
                -
                -
                -
              • - + + + + + \ No newline at end of file diff --git a/cadline/modules/modules/mod_course_list/tmpl/index.html b/cadline/modules/modules/mod_course_list/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_course_list/tmpl/index.html +++ b/cadline/modules/modules/mod_course_list/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_webinar/helper.php b/cadline/modules/modules/mod_webinar/helper.php index 0c68ba18..1d398fde 100644 --- a/cadline/modules/modules/mod_webinar/helper.php +++ b/cadline/modules/modules/mod_webinar/helper.php @@ -1,232 +1,232 @@ -getQuery(true); - - $query->select(array('c.*')); - $query->from($db->quoteName('www_archline_hu.alworkshops_courses', 'c')); - $query->where($db->quoteName('c.id') . ' = ' . $db->quote($id)); - - // Reset the query using our newly populated query object. - $db->setQuery($query); - - // Load the results as a list of stdClass objects (see later for more options on retrieving data). - $result = $db->loadObject(); - - if ($result->yt_link != '') - $result->ytID = substr($result->yt_link, strrpos($result->yt_link, '/') + 1); - - $start_date = new DateTime($result->start_date . ' ' . $result->start_time); - $since_start = $start_date->diff(new DateTime($result->finish_date . ' ' . $result->finish_time)); - - $result->period = $since_start->i; - - return $result; - } - - public static function changeDateFormat($date) - { - $date = new DateTime($date); - - return $date->format('M d, Y g:i A'); - } - - public function createApplication($course_id, $name, $email, $user_id) - { - $db = JFactory::getDbo(); - $application = new stdClass(); - - $application->course_id = $course_id; - $application->user_id = $user_id; - $application->attendees = 1; - $application->price_per_attendee = 0; - $application->price_total = 0; - $application->price_vat = 0; - $application->gepet_kerek = 'N'; - $application->berletem_van = 'N'; - $application->date = date('Y-m-d H:i:s', time()); - $application->transaction_id = ''; - $application->wsdatetime = NULL; - $application->name = $name; - $application->email = $email; - - $db->insertObject('www_archline_hu.alworkshops_application', $application); - } - - public static function getCrmUser($nUserID) - { - $db = JFactory::getDbo(); - - $query = "SELECT * FROM cl_hlusers.users - WHERE nUserID = {$nUserID}"; - - $db->setQuery($query); - - return $db->loadObject(); - } - - public function getUserID($name, $email, $prof, $cntry) - { - $db = JFactory::getDbo(); - - $query = "SELECT * FROM cl_hlusers.u_emails - WHERE email = '{$email}'"; - - $db->setQuery($query); - - $exist = $db->loadObject(); - - if (!$exist) { - if ($name > '' && $email > '') { - $user = new stdClass(); - - $user->strName = $name; - $user->strEmail = $email; - $user->nUserProf = $prof; - $user->nCtrID = $cntry; - $user->dateInsert = time(); - $user->old_db = 'clusers_eng'; - - $db->insertObject('cl_hlusers.users', $user); - - $nUserID = $db->insertid(); - - $u_email = new stdClass(); - - $u_email->email = $email; - $u_email->nUserID = $nUserID; - $u_email->default = 1; - $u_email->active = 1; - $u_email->deleted = 0; - $u_email->newsletter = 1; - - $db->insertObject('cl_hlusers.u_emails', $u_email); - } - } else { - $nUserID = $exist->nUserID; - } - - return $nUserID; - } - - public static function getEmailTemplate($email_template) - { - $db = JFactory::getDbo(); - $table = JFactory::getLanguage()->getTag() == 'hu-HU' ? 'jml_content' : 'eng_content'; - - $query = "SELECT * FROM www_archline_hu.{$table} - WHERE id = {$email_template}"; - - $db->setQuery($query); - - return $db->loadObject(); - } - - public static function sendEmail($course, $name, $email) - { - require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/libraries/phpmailer/PHPMailerAutoload.php'); - require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/config.mail.php'); - - $template = self::getEmailTemplate($course->email_template); - $body = $template->introtext . $template->fulltext; - $title = $template->title; - - $replacements = array( - '{NAME}' => $name, - '{TITLE}' => $course->title, - '{START_DATE}' => $course->start_date, - '{START_TIME}' => $course->start_time, - '{FINISH_DATE}' => $course->finish_date, - '{FINISH_TIME}' => $course->finish_time, - '{LOCATION}' => $course->location, - '{ATTENDEES}' => 0, - '{PRICE}' => $course->price, - '{PRICE_TOTAL}' => 0, - '{VAT}' => $course->vat - ); - - foreach ($replacements as $key => $value) { - $body = str_replace($key, $value, $body); - } - - $mail = new PHPMailer; - $mail->isSMTP(); - $mail->CharSet = 'UTF-8'; - $mail->Host = $mailconfig['Host']; - $mail->SMTPAuth = true; - $mail->Username = $mailconfig['Username']; - $mail->Password = $mailconfig['Password']; - $mail->SMTPSecure = $mailconfig['SMTPSecure']; - $mail->Port = $mailconfig['Port']; - $mail->Subject = $title; - $mail->AltBody = strip_tags($body); - $mail->isHTML(TRUE); - $mail->setFrom($mailconfig['from_hu']); - $mail->addAddress($email); - //$mail->addBCC('marketing@cadline.hu'); - $mail->msgHTML($body); - - if ($mail->send()) { - unset($mail); - - return true; - } else { - return false; - } - } - - public static function registration($data) - { - $db = JFactory::getDbo(); - - $name = $data['question_name']; - $email = $data['question_email_address']; - $cntry = $data['question_country']; - $prof = $data['question_prof']; - $c_id = $data['course_id']; - - $nUserID = self::getUserID($name, $email, $prof, $cntry); - - $query = "SELECT * FROM www_archline_hu.alworkshops_application - WHERE course_id = {$c_id} AND email = '{$email}' AND published = 'Y'"; - - $db->setQuery($query); - - $exist = $db->loadObject(); - - if (empty($exist)) { - $course = self::getWebinar($c_id); - $history = new stdClass(); - $user = JFactory::getUser(); - - $history->nUserID = $nUserID; - $history->nTopicID = JFactory::getLanguage()->getTag() == 'hu-HU' ? 336 : 333; - $history->dateEvent = $course->start_date; - $history->strPlace = $course->title; - $history->strInfo = $course->course_name; - $history->nManagerID = 36; - $history->insertDate = date('Y-m-d H:i:s', time()); - - $db->insertObject('cl_hlusers.u_history', $history); - - self::createApplication($c_id, $name, $email, $user->id); - - $sendEmail = self::sendEmail($course, $name, $email); - - JFactory::getApplication()->enqueueMessage(JText::_('MOD_WEBINAR_SUCCESS_REGISTRATION')); - } else { - JFactory::getApplication()->enqueueMessage(JText::_('MOD_WEBINAR_ALREADY_SIGNED_UP'), 'warning'); - } - } -} +getQuery(true); + + $query->select(array('c.*')); + $query->from($db->quoteName('www_archline_hu.alworkshops_courses', 'c')); + $query->where($db->quoteName('c.id') . ' = ' . $db->quote($id)); + + // Reset the query using our newly populated query object. + $db->setQuery($query); + + // Load the results as a list of stdClass objects (see later for more options on retrieving data). + $result = $db->loadObject(); + + if ($result->yt_link != '') + $result->ytID = substr($result->yt_link, strrpos($result->yt_link, '/') + 1); + + $start_date = new DateTime($result->start_date . ' ' . $result->start_time); + $since_start = $start_date->diff(new DateTime($result->finish_date . ' ' . $result->finish_time)); + + $result->period = $since_start->i; + + return $result; + } + + public static function changeDateFormat($date) + { + $date = new DateTime($date); + + return $date->format('M d, Y g:i A'); + } + + public function createApplication($course_id, $name, $email, $user_id) + { + $db = JFactory::getDbo(); + $application = new stdClass(); + + $application->course_id = $course_id; + $application->user_id = $user_id; + $application->attendees = 1; + $application->price_per_attendee = 0; + $application->price_total = 0; + $application->price_vat = 0; + $application->gepet_kerek = 'N'; + $application->berletem_van = 'N'; + $application->date = date('Y-m-d H:i:s', time()); + $application->transaction_id = ''; + $application->wsdatetime = NULL; + $application->name = $name; + $application->email = $email; + + $db->insertObject('www_archline_hu.alworkshops_application', $application); + } + + public static function getCrmUser($nUserID) + { + $db = JFactory::getDbo(); + + $query = "SELECT * FROM cl_hlusers.users + WHERE nUserID = {$nUserID}"; + + $db->setQuery($query); + + return $db->loadObject(); + } + + public function getUserID($name, $email, $prof, $cntry) + { + $db = JFactory::getDbo(); + + $query = "SELECT * FROM cl_hlusers.u_emails + WHERE email = '{$email}'"; + + $db->setQuery($query); + + $exist = $db->loadObject(); + + if (!$exist) { + if ($name > '' && $email > '') { + $user = new stdClass(); + + $user->strName = $name; + $user->strEmail = $email; + $user->nUserProf = $prof; + $user->nCtrID = $cntry; + $user->dateInsert = time(); + $user->old_db = 'clusers_eng'; + + $db->insertObject('cl_hlusers.users', $user); + + $nUserID = $db->insertid(); + + $u_email = new stdClass(); + + $u_email->email = $email; + $u_email->nUserID = $nUserID; + $u_email->default = 1; + $u_email->active = 1; + $u_email->deleted = 0; + $u_email->newsletter = 1; + + $db->insertObject('cl_hlusers.u_emails', $u_email); + } + } else { + $nUserID = $exist->nUserID; + } + + return $nUserID; + } + + public static function getEmailTemplate($email_template) + { + $db = JFactory::getDbo(); + $table = JFactory::getLanguage()->getTag() == 'hu-HU' ? 'jml_content' : 'eng_content'; + + $query = "SELECT * FROM www_archline_hu.{$table} + WHERE id = {$email_template}"; + + $db->setQuery($query); + + return $db->loadObject(); + } + + public static function sendEmail($course, $name, $email) + { + require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/libraries/phpmailer/PHPMailerAutoload.php'); + require_once($_SERVER['DOCUMENT_ROOT'] . '/maintenance/config.mail.php'); + + $template = self::getEmailTemplate($course->email_template); + $body = $template->introtext . $template->fulltext; + $title = $template->title; + + $replacements = array( + '{NAME}' => $name, + '{TITLE}' => $course->title, + '{START_DATE}' => $course->start_date, + '{START_TIME}' => $course->start_time, + '{FINISH_DATE}' => $course->finish_date, + '{FINISH_TIME}' => $course->finish_time, + '{LOCATION}' => $course->location, + '{ATTENDEES}' => 0, + '{PRICE}' => $course->price, + '{PRICE_TOTAL}' => 0, + '{VAT}' => $course->vat + ); + + foreach ($replacements as $key => $value) { + $body = str_replace($key, $value, $body); + } + + $mail = new PHPMailer; + $mail->isSMTP(); + $mail->CharSet = 'UTF-8'; + $mail->Host = $mailconfig['Host']; + $mail->SMTPAuth = true; + $mail->Username = $mailconfig['Username']; + $mail->Password = $mailconfig['Password']; + $mail->SMTPSecure = $mailconfig['SMTPSecure']; + $mail->Port = $mailconfig['Port']; + $mail->Subject = $title; + $mail->AltBody = strip_tags($body); + $mail->isHTML(TRUE); + $mail->setFrom($mailconfig['from_hu']); + $mail->addAddress($email); + //$mail->addBCC('marketing@cadline.hu'); + $mail->msgHTML($body); + + if ($mail->send()) { + unset($mail); + + return true; + } else { + return false; + } + } + + public static function registration($data) + { + $db = JFactory::getDbo(); + + $name = $data['question_name']; + $email = $data['question_email_address']; + $cntry = $data['question_country']; + $prof = $data['question_prof']; + $c_id = $data['course_id']; + + $nUserID = self::getUserID($name, $email, $prof, $cntry); + + $query = "SELECT * FROM www_archline_hu.alworkshops_application + WHERE course_id = {$c_id} AND email = '{$email}' AND published = 'Y'"; + + $db->setQuery($query); + + $exist = $db->loadObject(); + + if (empty($exist)) { + $course = self::getWebinar($c_id); + $history = new stdClass(); + $user = JFactory::getUser(); + + $history->nUserID = $nUserID; + $history->nTopicID = JFactory::getLanguage()->getTag() == 'hu-HU' ? 336 : 333; + $history->dateEvent = $course->start_date; + $history->strPlace = $course->title; + $history->strInfo = $course->course_name; + $history->nManagerID = 36; + $history->insertDate = date('Y-m-d H:i:s', time()); + + $db->insertObject('cl_hlusers.u_history', $history); + + self::createApplication($c_id, $name, $email, $user->id); + + $sendEmail = self::sendEmail($course, $name, $email); + + JFactory::getApplication()->enqueueMessage(JText::_('MOD_WEBINAR_SUCCESS_REGISTRATION')); + } else { + JFactory::getApplication()->enqueueMessage(JText::_('MOD_WEBINAR_ALREADY_SIGNED_UP'), 'warning'); + } + } +} diff --git a/cadline/modules/modules/mod_webinar/index.html b/cadline/modules/modules/mod_webinar/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_webinar/index.html +++ b/cadline/modules/modules/mod_webinar/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_webinar/mod_webinar.php b/cadline/modules/modules/mod_webinar/mod_webinar.php index ec50518d..e8d72d79 100644 --- a/cadline/modules/modules/mod_webinar/mod_webinar.php +++ b/cadline/modules/modules/mod_webinar/mod_webinar.php @@ -1,39 +1,39 @@ -input->getString('webinar_id'); -$webinar = ModWebinarHelper::getWebinar($webinarID); - -$user = JFactory::getUser(); -$countries = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . '/language/' . JFactory::getLanguage()->getTag() . '/' . JFactory::getLanguage()->getTag() . '.countries.ini'); -$profession = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . '/language/' . JFactory::getLanguage()->getTag() . '/' . JFactory::getLanguage()->getTag() . '.prof.ini'); - -$status = $user->guest; - -if (!$user->guest) { - $name = $user->name; - $email = $user->email; - - $crmUser = ModWebinarHelper::getCrmUser($user->nUserID); - - if (!empty($crmUser)) { - $cntry = $crmUser->nCtrID; - $prof = $crmUser->nUserProf; - } -} - -if (JFactory::getLanguage()->getTag() == 'hu-HU') { - $crm_db = 'clusers'; -} else { - $crm_db = 'clusers_eng'; -} - -if (isset($_POST['webinar_register_button'])) { - //ModWebinarHelper::registration($_POST); - ModWebinarHelper::registration($app->input->post); -} - -require JModuleHelper::getLayoutPath('mod_webinar', $params->get('layout', 'default')); +input->getString('webinar_id'); +$webinar = ModWebinarHelper::getWebinar($webinarID); + +$user = JFactory::getUser(); +$countries = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . '/language/' . JFactory::getLanguage()->getTag() . '/' . JFactory::getLanguage()->getTag() . '.countries.ini'); +$profession = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . '/language/' . JFactory::getLanguage()->getTag() . '/' . JFactory::getLanguage()->getTag() . '.prof.ini'); + +$status = $user->guest; + +if (!$user->guest) { + $name = $user->name; + $email = $user->email; + + $crmUser = ModWebinarHelper::getCrmUser($user->nUserID); + + if (!empty($crmUser)) { + $cntry = $crmUser->nCtrID; + $prof = $crmUser->nUserProf; + } +} + +if (JFactory::getLanguage()->getTag() == 'hu-HU') { + $crm_db = 'clusers'; +} else { + $crm_db = 'clusers_eng'; +} + +if (isset($_POST['webinar_register_button'])) { + //ModWebinarHelper::registration($_POST); + ModWebinarHelper::registration($app->input->post); +} + +require JModuleHelper::getLayoutPath('mod_webinar', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_webinar/mod_webinar.xml b/cadline/modules/modules/mod_webinar/mod_webinar.xml index be167bce..bec8a02d 100644 --- a/cadline/modules/modules/mod_webinar/mod_webinar.xml +++ b/cadline/modules/modules/mod_webinar/mod_webinar.xml @@ -1,42 +1,42 @@ - - - MOD_WEBINAR - October 2021 - Nagy Máté - mate.nagy@cadline.hu - Copyright © 2021 - All rights reserved. - 0.0.1 - Webinar page - - mod_webinar.php - mod_webinar.xml - index.html - helper.php - language - tmpl - - - -
                - - - - - - - - - - - -
                -
                -
                - - - en-GB/en-GB.mod_webinar.sys.ini - en-GB/en-GB.mod_webinar.ini - hu-HU/hu-HU.mod_webinar.sys.ini - hu-HU/hu-HU.mod_webinar.ini - -
                + + + MOD_WEBINAR + October 2021 + Nagy Máté + mate.nagy@cadline.hu + Copyright © 2021 - All rights reserved. + 0.0.1 + Webinar page + + mod_webinar.php + mod_webinar.xml + index.html + helper.php + language + tmpl + + + +
                + + + + + + + + + + + +
                +
                +
                + + + en-GB/en-GB.mod_webinar.sys.ini + en-GB/en-GB.mod_webinar.ini + hu-HU/hu-HU.mod_webinar.sys.ini + hu-HU/hu-HU.mod_webinar.ini + +
                diff --git a/cadline/modules/modules/mod_webinar/tmpl/default.php b/cadline/modules/modules/mod_webinar/tmpl/default.php index 76b7d53a..58ab56df 100644 --- a/cadline/modules/modules/mod_webinar/tmpl/default.php +++ b/cadline/modules/modules/mod_webinar/tmpl/default.php @@ -1,425 +1,425 @@ -setClientId('427394287601-f5fvh3809726dah7lq7d4pkl4af8p7av.apps.googleusercontent.com'); - $client->setClientSecret('_qMqFv2zuk2b0z7fazwgNuBk'); - $client->setRedirectUri('https://www.archlinexp.com/maintenance/google_redirect.php'); - $client->addScope('email'); - $client->addScope('profile'); - - $authUrl = $client->createAuthUrl(); -} -?> - - - -
                -
                - ytID != '') : ?> - - - - -
                - - finish_date >= date('Y-m-d')) : ?> - - - -
                - - -
                -
                -
                - -
                -
                -
                - - -
                - course_name ?> -
                -
                - - comment != '') : ?> -
                - - -
                - comment ?> -
                -
                - - -
                - - -
                - getTag() == 'hu-HU') : ?> - start_date . ' ' . substr($webinar->start_time, 0, 5) ?> - - start_date . ' ' . $webinar->start_time) ?> CET - -
                -
                - -
                - - -
                - period ?> -
                -
                -
                -
                - -
                -
                -
                - - finish_date >= date('Y-m-d')) : ?> - guest) : ?> -
                - . -
                - -
                - * -
                - -
                - -
                -
                - -
                - -
                - -
                -
                - -
                -
                -
                - - -
                - -
                - -
                -
                or
                -
                - -
                -
                  -
                • -
                  -
                  - - -
                  - -
                  -
                  -
                  -
                • - -
                • -
                  -
                  - - -
                  - -
                  -
                  -
                  -
                • - -
                • -
                  -
                  - - -
                  - -
                  -
                  -
                  -
                • - -
                • -
                  -
                  - - -
                  - -
                  -
                  -
                  -
                • -
                -
                -
                - - - -
                -
                - -
                -
                - -
                - -
                - -
                -
                - -guest) : ?> - - - - \ No newline at end of file diff --git a/cadline/modules/modules/mod_webinar/tmpl/index.html b/cadline/modules/modules/mod_webinar/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_webinar/tmpl/index.html +++ b/cadline/modules/modules/mod_webinar/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_webinar_list/helper.php b/cadline/modules/modules/mod_webinar_list/helper.php index 709f5518..55cace95 100644 --- a/cadline/modules/modules/mod_webinar_list/helper.php +++ b/cadline/modules/modules/mod_webinar_list/helper.php @@ -1,49 +1,49 @@ -get('groups'); - $query = $db->getQuery(true); - - if (in_array('7', $groups)) { - $query->select(array('c.*')); - $query->from($db->quoteName('www_archline_hu.alworkshops_courses', 'c')); - $query->where($db->quoteName('c.id') . ' >= ' . $db->quote(1309)); - $query->where($db->quoteName('c.alias') . ' = ' . $db->quote($alias)); - $query->order('c.start_date DESC'); - } else { - $query->select(array('c.*')); - $query->from($db->quoteName('www_archline_hu.alworkshops_courses', 'c')); - $query->where($db->quoteName('c.id') . ' >= ' . $db->quote(1309)); - $query->where($db->quoteName('c.alias') . ' = ' . $db->quote($alias)); - $query->where($db->quoteName('c.published') . ' = ' . $db->quote('Y')); - $query->order('c.start_date DESC'); - } - - $db->setQuery($query); - - return $db->loadObjectList(); - } - - public static function changeDateFormat($date) - { - $date = new DateTime($date); - - return $date->format('M d, Y g:i A'); - } -} +get('groups'); + $query = $db->getQuery(true); + + if (in_array('7', $groups)) { + $query->select(array('c.*')); + $query->from($db->quoteName('www_archline_hu.alworkshops_courses', 'c')); + $query->where($db->quoteName('c.id') . ' >= ' . $db->quote(1309)); + $query->where($db->quoteName('c.alias') . ' = ' . $db->quote($alias)); + $query->order('c.start_date DESC'); + } else { + $query->select(array('c.*')); + $query->from($db->quoteName('www_archline_hu.alworkshops_courses', 'c')); + $query->where($db->quoteName('c.id') . ' >= ' . $db->quote(1309)); + $query->where($db->quoteName('c.alias') . ' = ' . $db->quote($alias)); + $query->where($db->quoteName('c.published') . ' = ' . $db->quote('Y')); + $query->order('c.start_date DESC'); + } + + $db->setQuery($query); + + return $db->loadObjectList(); + } + + public static function changeDateFormat($date) + { + $date = new DateTime($date); + + return $date->format('M d, Y g:i A'); + } +} diff --git a/cadline/modules/modules/mod_webinar_list/index.html b/cadline/modules/modules/mod_webinar_list/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_webinar_list/index.html +++ b/cadline/modules/modules/mod_webinar_list/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_webinar_list/mod_webinar_list.php b/cadline/modules/modules/mod_webinar_list/mod_webinar_list.php index 21449f27..849ac1a1 100644 --- a/cadline/modules/modules/mod_webinar_list/mod_webinar_list.php +++ b/cadline/modules/modules/mod_webinar_list/mod_webinar_list.php @@ -1,16 +1,16 @@ -getTag(); -$webinars = ModWebinarListHelper::getWebinars($lang); - -$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; - -if ($lang == 'hu-HU') - $actual_link .= '/regisztráció?webinar_id='; -else - $actual_link .= '/registration?webinar_id='; - -require JModuleHelper::getLayoutPath('mod_webinar_list', $params->get('layout', 'default')); +getTag(); +$webinars = ModWebinarListHelper::getWebinars($lang); + +$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; + +if ($lang == 'hu-HU') + $actual_link .= '/regisztráció?webinar_id='; +else + $actual_link .= '/registration?webinar_id='; + +require JModuleHelper::getLayoutPath('mod_webinar_list', $params->get('layout', 'default')); diff --git a/cadline/modules/modules/mod_webinar_list/mod_webinar_list.xml b/cadline/modules/modules/mod_webinar_list/mod_webinar_list.xml index a921930c..df183ed1 100644 --- a/cadline/modules/modules/mod_webinar_list/mod_webinar_list.xml +++ b/cadline/modules/modules/mod_webinar_list/mod_webinar_list.xml @@ -1,42 +1,42 @@ - - - MOD_WEBINAR_LIST - October 2021 - Nagy Máté - mate.nagy@cadline.hu - Copyright © 2021 - All rights reserved. - 0.0.1 - Create a list for the upcoming webinars - - mod_webinar_list.php - mod_webinar_list.xml - index.html - helper.php - language - tmpl - - - -
                - - - - - - - - - - - -
                -
                -
                - - - en-GB/en-GB.mod_webinar_list.sys.ini - en-GB/en-GB.mod_webinar_list.ini - hu-HU/hu-HU.mod_webinar_list.sys.ini - hu-HU/hu-HU.mod_webinar_list.ini - -
                + + + MOD_WEBINAR_LIST + October 2021 + Nagy Máté + mate.nagy@cadline.hu + Copyright © 2021 - All rights reserved. + 0.0.1 + Create a list for the upcoming webinars + + mod_webinar_list.php + mod_webinar_list.xml + index.html + helper.php + language + tmpl + + + +
                + + + + + + + + + + + +
                +
                +
                + + + en-GB/en-GB.mod_webinar_list.sys.ini + en-GB/en-GB.mod_webinar_list.ini + hu-HU/hu-HU.mod_webinar_list.sys.ini + hu-HU/hu-HU.mod_webinar_list.ini + +
                diff --git a/cadline/modules/modules/mod_webinar_list/tmpl/index.html b/cadline/modules/modules/mod_webinar_list/tmpl/index.html index f28d9de6..a3d28273 100644 --- a/cadline/modules/modules/mod_webinar_list/tmpl/index.html +++ b/cadline/modules/modules/mod_webinar_list/tmpl/index.html @@ -1,10 +1,10 @@ - - - - - - - -Joomla Module Generator - - + + + + + + + +Joomla Module Generator + + diff --git a/cadline/modules/modules/mod_wsregister/mod_wsregister.xml b/cadline/modules/modules/mod_wsregister/mod_wsregister.xml index 15330ee2..48fd9d0d 100644 --- a/cadline/modules/modules/mod_wsregister/mod_wsregister.xml +++ b/cadline/modules/modules/mod_wsregister/mod_wsregister.xml @@ -1,78 +1,78 @@ - - - WS Register - WS-Theme.com - 10/2012 - Copyright (C) 2012. All rights reserved. - GNU General Public License version 2 or later; see LICENSE.txt - info@ws-theme.com - www.ws-theme.com - 1.1 - WS Register is a simple and flexible Joomla Register Module with some nice options. It's build on the native Joomla Registering and has very lightweight code - - - mod_wsregister.php - mod_wsregister.xml - index.html - admin - tmpl - - - + + + WS Register + WS-Theme.com + 10/2012 + Copyright (C) 2012. All rights reserved. + GNU General Public License version 2 or later; see LICENSE.txt + info@ws-theme.com + www.ws-theme.com + 1.1 + WS Register is a simple and flexible Joomla Register Module with some nice options. It's build on the native Joomla Registering and has very lightweight code + + + mod_wsregister.php + mod_wsregister.xml + index.html + admin + tmpl + + + diff --git a/cadline/modules/modules/mod_wsregister/tmpl/default.php b/cadline/modules/modules/mod_wsregister/tmpl/default.php index 188060bb..fe838eec 100644 --- a/cadline/modules/modules/mod_wsregister/tmpl/default.php +++ b/cadline/modules/modules/mod_wsregister/tmpl/default.php @@ -1,263 +1,263 @@ -getQuery(true); -$query->select('a.*')->from('cl_hlusers.countries AS a')->where('a.ctrID != 37 ORDER BY a.ctrNameEng'); -$db->setQuery( $query ); -$result=$db->loadObjectList(); -?> - - - - - - - -
                -id == 0): -?> - - - - -
                -
                - - -

                OR

                -

                Create account

                - -
                - -
                - -
                -
                - -
                -
                - - -
                -
                - -
                -
                - -
                -
                - - -
                -
                - -
                -
                - -
                -
                - - -
                -
                - -
                -
                - -
                -
                - - -
                -
                - -
                -
                - -
                -
                - - -
                -
                - -
                - -
                - -
                -
                - -
                - -
                -   - -
                -
                - -
                -
                - -
                -
                -
                -
                -
                - -
                -
                - - - - -
                - - -
                -
                - - -
                - - + + + + + +
                +id == 0): +?> + + + + +
                +
                + + +

                OR

                +

                Create account

                + +
                + +
                + +
                +
                + +
                +
                + + +
                +
                + +
                +
                + +
                +
                + + +
                +
                + +
                +
                + +
                +
                + + +
                +
                + +
                +
                + +
                +
                + + +
                +
                + +
                +
                + +
                +
                + + +
                +
                + +
                + +
                + +
                +
                + +
                + +
                +   + +
                +
                + +
                +
                + +
                +
                +
                +
                +
                + +
                +
                + + + + +
                + + +
                +
                + + +
                + + \ No newline at end of file diff --git a/cadline/tmpl-plg/plugins/content/workshopdates/helper.php b/cadline/tmpl-plg/plugins/content/workshopdates/helper.php index 7baadbe4..4f432d07 100644 --- a/cadline/tmpl-plg/plugins/content/workshopdates/helper.php +++ b/cadline/tmpl-plg/plugins/content/workshopdates/helper.php @@ -1,19 +1,19 @@ -setQuery("SELECT * FROM alworkshops_courses WHERE `start_date`>=CURRENT_DATE AND `alias`='".$alias."' AND `published`='Y' ORDER BY `start_date` ASC LIMIT 1;"); - $result=$db->loadObjectList(); - return(count($result) ? $result[0] : FALSE); - } -} // end of class +setQuery("SELECT * FROM alworkshops_courses WHERE `start_date`>=CURRENT_DATE AND `alias`='".$alias."' AND `published`='Y' ORDER BY `start_date` ASC LIMIT 1;"); + $result=$db->loadObjectList(); + return(count($result) ? $result[0] : FALSE); + } +} // end of class ?> \ No newline at end of file diff --git a/cadline/tmpl-plg/plugins/content/workshopdates/index.html b/cadline/tmpl-plg/plugins/content/workshopdates/index.html index 640bda4a..2efb97f3 100644 --- a/cadline/tmpl-plg/plugins/content/workshopdates/index.html +++ b/cadline/tmpl-plg/plugins/content/workshopdates/index.html @@ -1 +1 @@ - + diff --git a/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.php b/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.php index 047de4f8..1f95a144 100644 --- a/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.php +++ b/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.php @@ -1,44 +1,44 @@ -renderWorkshopdates($context, $row, $params, $page = 0); - } - - function renderWorkshopdates($context, &$row, &$params, $page = 0) - { - if (JPluginHelper::isEnabled('content', $this->plg_tag)==false) return; - if (JString::strpos($row->text, $this->plg_tag)===false) return; - - preg_match_all("#{".$this->plg_tag."}(.*?){/".$this->plg_tag."}#is", $row->text, $matches); // Find all instances of the plugin and put them in $matches - - if (!count($matches[1])) return; // Plugin only processes if there are any instances of the plugin in the text - - foreach ($matches[1] as $key=>$alias) - { - $nextWS=WorkshopdatesHelper::getNextWorkshop($alias); - $row->text = preg_replace("#{".$this->plg_tag."}".$alias."{/".$this->plg_tag."}#s", ' '.($nextWS ? $nextWS->start_date : JText::_('COM_CONTENT_WORKSHOPDATES_NODATE')), $row->text); - } - } +renderWorkshopdates($context, $row, $params, $page = 0); + } + + function renderWorkshopdates($context, &$row, &$params, $page = 0) + { + if (JPluginHelper::isEnabled('content', $this->plg_tag)==false) return; + if (JString::strpos($row->text, $this->plg_tag)===false) return; + + preg_match_all("#{".$this->plg_tag."}(.*?){/".$this->plg_tag."}#is", $row->text, $matches); // Find all instances of the plugin and put them in $matches + + if (!count($matches[1])) return; // Plugin only processes if there are any instances of the plugin in the text + + foreach ($matches[1] as $key=>$alias) + { + $nextWS=WorkshopdatesHelper::getNextWorkshop($alias); + $row->text = preg_replace("#{".$this->plg_tag."}".$alias."{/".$this->plg_tag."}#s", ' '.($nextWS ? $nextWS->start_date : JText::_('COM_CONTENT_WORKSHOPDATES_NODATE')), $row->text); + } + } } \ No newline at end of file diff --git a/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.xml b/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.xml index 52767213..4c722584 100644 --- a/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.xml +++ b/cadline/tmpl-plg/plugins/content/workshopdates/workshopdates.xml @@ -1,41 +1,41 @@ - - - - plg_content_workshopdates - Zsolt Fekete - May 2017 - Copyright (c) 2017 ARCHLine. All rights reserved. - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - mcleod78@gmail.com - https://www.facebook.com/mcleod78 - 1.0.0 - - A legközelebbi workshop időpontját írja ki

                - ]]> -
                - - - workshopdates.php - helper.php - index.html - - - - en-GB.plg_content_workshopdates.ini - en-GB.plg_content_workshopdates.sys.ini - - - - -
                - -
                -
                -
                + + + + plg_content_workshopdates + Zsolt Fekete + May 2017 + Copyright (c) 2017 ARCHLine. All rights reserved. + http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + mcleod78@gmail.com + https://www.facebook.com/mcleod78 + 1.0.0 + + A legközelebbi workshop időpontját írja ki

                + ]]> +
                + + + workshopdates.php + helper.php + index.html + + + + en-GB.plg_content_workshopdates.ini + en-GB.plg_content_workshopdates.sys.ini + + + + +
                + +
                +
                +
                \ No newline at end of file diff --git a/cadline/tmpl-plg/templates/blankframe/css/template.css b/cadline/tmpl-plg/templates/blankframe/css/template.css index 183ae0ae..5dc8886a 100644 --- a/cadline/tmpl-plg/templates/blankframe/css/template.css +++ b/cadline/tmpl-plg/templates/blankframe/css/template.css @@ -1,605 +1,605 @@ -body{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -h1{font-family:Raleway, sans-serif; font-size:36px; font-weight:500; } -h2{font-family:Raleway, sans-serif; font-size:30px; font-weight:500; } -h3{font-family:Raleway, sans-serif; font-size:26px; font-weight:500; } -h4{font-family:Raleway, sans-serif; font-size:22px; font-weight:500; } -h5{font-family:Raleway, sans-serif; font-size:18px; font-weight:500; } -h6{font-family:Raleway, sans-serif; font-size:16px; font-weight:500; } -p{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -span{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -ul{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -li{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -ol{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -div{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } -td{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } - -img {max-width:100%} - -.manufactureContainer -{ - width:95%; - height:auto; - padding:8px 5px 5px 5px; - border:0px solid #ff0000; - user-select: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.manufacureBox -{ - position: relative; - float: none; - display: inline-block; - height: 120px; - width: 170px; - padding: 10px; - margin: 5px 5px; - user-select: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.manufacureBox .image { position:relative; text-align:center; border:0px solid #000000; } -.manufacureBox .image img { max-height:120px; vertical-align: top; z-index:9; } -.manufacureBox .description { position:absolute; top:110px; left:-5px; width:156px; height:26px; z-index:5; background:url(/components/com_showroom/assets/images/sticker_down_active.png); text-align:left; } -.manufacureBox .description_description { text-align:left; padding-left: 5px; line-height: 26px; white-space: nowrap; } - -#structContainer { display:inline-block; line-height:32px; margin-left: 9px;} -#structSearchButton { display:inline-block;vertical-align:top;width:32px;height:32px;cursor:pointer;background:url(/components/com_showroom/assets/images/searchbutton.png);margin-left:10px;} -#structSearchContainer { display:inline-block;vertical-align:top;width:190px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc; } -#structTypeContainer { display:inline-block;vertical-align:top;width:121px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px; } -#structBrandContainer { display:inline-block;vertical-align:top;width:121px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px;} -#structCategoryContainer { display:inline-block;vertical-align:top;width:123px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px;} -#structSubcategoryContainer { display:inline-block;vertical-align:top;width:121px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px;} - -#typeContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:188px; background:#fff;z-index:10;border:1px solid #ccc;} -#brandContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:564px; background:#fff;z-index:10;border:1px solid #ccc;} -#categoryContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:376px; background:#fff;z-index:10;border:1px solid #ccc;} -#subcategoryContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:376px; background:#fff;z-index:10;border:1px solid #ccc;} -#downloadPanelContainer { display: block; position: absolute; margin:-1px 0px 0px 0px;padding:10px 10px 10px 10px;float:left;width:230px; background:#fff;z-index:10;border:1px solid #ccc;} - -.smallDownloadPanelContainer { display: block; position: absolute; bottom:0px;right:-14px;margin:-1px 0px 0px 0px;padding:2px 5px 2px 5px;float:left;width:185px; background:#fff;z-index:10;border:1px solid #ccc;} -.smallDownloadPanelContainer2 { display: block; position: absolute; bottom:26px;right:-3px;margin:-1px 0px 0px 0px;padding:2px 5px 2px 5px;float:left;width:185px; background:#fff;z-index:10;border:1px solid #ccc;} - -#typeContainer label, -#brandContainer label, -#categoryContainer label, -#subcategoryContainer label, -#typeTitle label, -#brandTitle label, -#categoryTitle label, -#subcategoryTitle label { font-size:13px;} - -#structContainer .back { float:left; display:inline-block; margin:0px; width:43px; height:32px; line-height:32px; vertical-align:top; text-align:center; } -#structContainer .back img { vertical-align:top; } - -#structSearchContainer input -{ - vertical-align:top; - margin-right:0px 30px 0px 0px; - width:100%; - height:32px; - line-height:32px; - border:0px solid #ffffff; - font-size:13px; - font-family:'Ubuntu', sans-serif; - background-color: #F0F0F0; -} - -.column{display:inline-block;float:left;width:180px;padding-left:8px;} -.expanded {background: url(/components/com_showroom/assets/images/triangle-down.png) no-repeat 95% center;} -.collapsed {background: url(/components/com_showroom/assets/images/triangle-right.png) no-repeat 95% center;} - -.showroom_search_pager { - height:28px; - line-height:28px; - margin:10px 0px 5px 51px; - border:0px solid #000000; - vertical-align:top; -} - -.showroom_search_result { - float:left; - width:840px; - margin:0px 0px 0px 45px; - border:0px solid #000000; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.showroom_search_result .contentBox { - position:relative; - width:170px; - height:115px; - padding: 10px 10px 10px 10px; - margin: 8px 8px 8px 8px; -} - -.showroom_search_result .image img { max-height:120px; vertical-align: top; z-index:9; max-width:100% } -.showroom_search_result .dd_pos1 { top:97px; left:154px; } -.showroom_search_result .dd_pos2 { top:107px; left:164px; } -.showroom_search_result .description_download { - position:absolute; - width:26px; - height:26px; - z-index:5; - line-height: 26px; -} - -.showroom_checkbox_multi { - display: inline-block; - height: 32px; - line-height: 32px; - margin:0px 0px 0px 5px; - vertical-align:top; -} - -.showroom_checkbox_multi label {font-size:11px;} - -.showroom_container { - height:156px; - padding:8px 5px 5px 5px; - position:relative; - border:0px solid #ff0000; -} - -.showroom_separator { -/* background-image: url("/templates/system/images/diver_03.png"); */ - background-image: url("/components/com_showroom/assets/images/diver_03.png"); - background-repeat: repeat-x; - clear: both; - height: 1px; - margin: 0px 0px 10px 0px; -} - -.showroom_title { - position:absolute; - top:0px; - left:21px; - width:170px; - height:41px; - border:0px solid #00ff00; - z-index:5; - background:url(/components/com_showroom/assets/images/sticker_up.png); - color:#ffffff; - text-transform:uppercase; - font-weight: bold; - overflow:hidden; -} - -.showroom_title_level1 { background:url(/components/com_showroom/assets/images/sticker_up_1.png); } -.showroom_title_level2 { background:url(/components/com_showroom/assets/images/sticker_up_2.png); } -.showroom_title_level3 { background:url(/components/com_showroom/assets/images/sticker_up_3.png); } - -.showroom_title_description { - line-height:33px; - font-size:12px; -} - -.contentBox .image { - position:relative; - text-align:center; - border:0px solid #000000; -} - -.contentBox .description { - position:absolute; - top:106px; - left:0px; - width:156px; - height:26px; - z-index:5; - background:url(/components/com_showroom/assets/images/sticker_down.png); - text-align:left; -} - -.contentBox .description_active { - position:absolute; - top:113px; - left:0px; - width:156px; - height:26px; - z-index:5; - background:url(/components/com_showroom/assets/images/sticker_down_active.png); - text-align:left; -} - -.contentBox .description_description { - text-align:left; - padding-left: 5px; - line-height: 26px; - white-space: nowrap; -} - -.contentBox .description_download { - position:absolute; - width:26px; - height:26px; - z-index:5; - line-height: 26px; -} - -.contentBox .dd_pos1 { top:97px; left:154px; } -.contentBox .dd_pos2 { top:107px; left:164px; } - - -.paddingBottom10 { - float:left; - padding-bottom:10px; - border: 0px solid #0000ff; -} - -.product_scroller { - width:100%; - float:left; - padding-top:20px; - border: 0px solid #0000ff; -} - -.contentBox a { - color:#000000; -} -.contentBox a:hover { - color:#ea620f; -} - - -.family_menu { - float:left; - width:17%; - border:0px solid #000000; -} - -.search_container { - width:100%; -} - -.family_container { - float:left; - width:83%; - border:0px solid #000000; - margin: 0px auto 0px auto; - - position: relative; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.family_menu ul { - margin: 0px 0px 0px 10px; - padding: 0px 0px 0px 0px; -} - -.family_menu ul li { - list-style-type: none; -} - -.family_menu ul li a { - color:#757575; -} - -.family_menu ul li a:hover { - color:#ea620f; -} - -.family_menu .active { - font-weight: bold; - color: #ea620f; -} - -.product_container { - float:left; - width:83%; - border:0px solid #000000; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.product_container p { - margin: 0px; - padding: 0px; -} - -.product_container .product_image_narrow { - max-width:380px; - vertical-align: top; - display:inline; - float:left; -} - - -.product_container .product_image_full { - max-width:420px; - vertical-align: top; - display:inline; - float:left; -} - -.product_container .product_description { - max-width:420px; - display: inline; - float:left; - padding-left: 10px; - border:0px solid #00ff00; -} - -.product_container .product_description h5 { - margin:0px; - padding:0px; -} - -.product_container .product_description h6 { - margin:0px; - padding:0px; -} - -.product_container .full { - width:420px; -} -.product_container .narrow { - width:420px; -} - - -.product_container .product_download { - background: no-repeat url(/components/com_showroom/assets/images/icon-download-48.png); - width: 200px; - margin-top: 0px; - border: 1px solid #ccc; - line-height: 48px; - padding-left: 50px; - font-size: 20px; - text-transform: uppercase; - cursor:pointer; -} - -.product_container a { - color:#676767; -} - -.product_container a:hover { - text-decoration: none; -} - -.showroom_search { - width:100%; - height:32px; - top:-20px; - border:0px solid #000000; - margin-bottom:5px; -} - -.showroom_search form { - float:left; - display:inline-block; - margin: 0px 0px 0px 0px; - padding-top:0px; - height: 32px; - line-height: 32px; - vertical-align: middle; -} - -.showroom_search form input { margin: 0px; } - -.showroom_search input[type="checkbox"] { display:none; } -.showroom_search input[type="checkbox"] + label span { - display:inline-block; - width:16px; - height:16px; - vertical-align:middle; - cursor:pointer; - background:url("/components/com_showroom/assets/images/checkbox.png") bottom left no-repeat; -} -.showroom_search input[type="checkbox"]:checked + label span { - display:inline-block; - width:16px; - height:16px; - vertical-align:middle; - cursor:pointer; - background:url("/components/com_showroom/assets/images/checkbox.png") top left no-repeat; -} - -.showroom_search label { display:inline-block; margin:0px; } - -.showroom_multi { - float:right; - border:0px solid #000000; - margin:10px 20px 0px 0px; -} - -.showroom_clear { - clear:both; - margin:0px; - padding:0px; - height:0px; - width:0px; -} - -.showroom_back { - display:inline; - float:left; - margin:0px; - padding:0px; - width:52px; - height:26px; - margin: 5px 0px 0px 10px; - border:0px solid #000000; -} - -.showroom_pager { - height:28px; - text-align:center; - border:0px solid #000000; - overflow:hidden; -} - -.showroom_search_pager span, -.showroom_pager span { - margin: 0px 2px; - line-height:26px; - display:inline-block; - width:26px; - height:26px; - text-align:center; - vertical-align:middle; -} - -.showroom_search_pager span img, -.showroom_pager span img { - vertical-align:top; -} - -.showroom_search_pager a, -.showroom_pager a { - color:#676767; -} - -.showroom_search_pager a:hover, -.showroom_pager a:hover { - color:#ea620f; - text-decoration: none; -} - -.showroom_search_pager .active, -.showroom_pager .active { - border:1px solid #ea620f; - color:#ea620f; - font-weight:bold; -} - -.thinborder, -.showroom_search_pager .inactive, -.showroom_pager .inactive { - border:1px solid #ccc; -} - -.makeMeScrollable -{ - width:100%; - height: 162px; - position: relative; - border: solid 0px #000; - - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; -} - -.makeMeScrollable .contentBox { position: relative; float: left; display: block; height: 115px; width: 170px; padding: 10px; margin: 0px 5px; user-select: none; } -.makeMeScrollable .inactive { border: solid 1px #ccc; } -.makeMeScrollable .active { border-top: solid 8px #ea620f; border-right: solid 10px #ea620f; border-bottom: solid 8px #ea620f; border-left: solid 10px #ea620f; background-color: #fff; } - -.family_container .contentBox { position: relative; float: left; display: block; height: 115px; width: 170px; padding: 10px; margin: 0px 2px; user-select: none; } -.family_container .inactive { border: solid 1px #ccc; margin:8px; } -.family_container .active { border: solid 8px #ea620f;margin:1px;background-color: #fff; } - -.makeMeScrollable .scrollableArea img, -.family_container img -{ - position: relative; - float: center; - margin: 0; - padding: 0; - max-height: 120px; - user-select: none; -} - -.makeMeScrollable .scrollableArea .grayscalefilter, -.family_container .grayscalefilter -{ - filter: grayscale(100%); - -webkit-filter: grayscale(100%); - -moz-filter: grayscale(100%); -} - -/* Invisible left hotspot */ -.makeMeScrollable .scrollingHotSpotLeft -{ - /* The hotspots have a minimum width of 100 pixels and if there is room the will grow - and occupy 15% of the scrollable area (30% combined). Adjust it to your own taste. */ - min-width: 75px; - width: 10%; - height: 100%; - /* There is a big background image and it's used to solve some problems I experienced - in Internet Explorer 6. */ - background-image: url(/components/com_showroom/assets/images/big_transparent.gif); - background-repeat: repeat; - background-position: center center; - position: absolute; - z-index: 200; - left: 0; - /* The first url is for Firefox and other browsers, the second is for Internet Explorer */ - cursor: url(/components/com_showroom/assets/images/cursors/cursor_arrow_left.png), url(/components/com_showroom/assets/images/cursors/cursor_arrow_left.cur),w-resize; -} - -/* Visible left hotspot */ -.makeMeScrollable .scrollingHotSpotLeftVisible -{ - background-image: url(/components/com_showroom/assets/images/arrow_left.gif); - background-color: #fff; - background-repeat: no-repeat; - opacity: 0.35; /* Standard CSS3 opacity setting */ - -moz-opacity: 0.35; /* Opacity for really old versions of Mozilla Firefox (0.9 or older) */ - filter: alpha(opacity = 35); /* Opacity for Internet Explorer. */ - zoom: 1; /* Trigger "hasLayout" in Internet Explorer 6 or older versions */ -} - -/* Invisible right hotspot */ -.makeMeScrollable .scrollingHotSpotRight -{ - min-width: 75px; - width: 10%; - height: 100%; - background-image: url(/components/com_showroom/assets/images/big_transparent.gif); - background-repeat: repeat; - background-position: center center; - position: absolute; - z-index: 200; - right: 0; - cursor: url(/components/com_showroom/assets/images/cursors/cursor_arrow_right.png), url(/components/com_showroom/assets/images/cursors/cursor_arrow_right.cur),e-resize; -} - -/* Visible right hotspot */ -.makeMeScrollable .scrollingHotSpotRightVisible -{ - background-image: url(/components/com_showroom/assets/images/arrow_right.gif); - background-color: #fff; - background-repeat: no-repeat; - opacity: 0.35; - filter: alpha(opacity = 35); - -moz-opacity: 0.35; - zoom: 1; -} - -/* The scroll wrapper is always the same width and height as the containing element (div). - Overflow is hidden because you don't want to show all of the scrollable area. -*/ -.makeMeScrollable .scrollWrapper -{ - position: relative; - overflow: hidden; - width: 100%; - height: 100%; -} - -.makeMeScrollable .scrollableArea -{ - position: relative; - width: auto; - height: 100%; +body{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +h1{font-family:Raleway, sans-serif; font-size:36px; font-weight:500; } +h2{font-family:Raleway, sans-serif; font-size:30px; font-weight:500; } +h3{font-family:Raleway, sans-serif; font-size:26px; font-weight:500; } +h4{font-family:Raleway, sans-serif; font-size:22px; font-weight:500; } +h5{font-family:Raleway, sans-serif; font-size:18px; font-weight:500; } +h6{font-family:Raleway, sans-serif; font-size:16px; font-weight:500; } +p{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +span{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +ul{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +li{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +ol{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +div{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } +td{font-family:Raleway, sans-serif; font-size:14px; font-weight:500; } + +img {max-width:100%} + +.manufactureContainer +{ + width:95%; + height:auto; + padding:8px 5px 5px 5px; + border:0px solid #ff0000; + user-select: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.manufacureBox +{ + position: relative; + float: none; + display: inline-block; + height: 120px; + width: 170px; + padding: 10px; + margin: 5px 5px; + user-select: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.manufacureBox .image { position:relative; text-align:center; border:0px solid #000000; } +.manufacureBox .image img { max-height:120px; vertical-align: top; z-index:9; } +.manufacureBox .description { position:absolute; top:110px; left:-5px; width:156px; height:26px; z-index:5; background:url(/components/com_showroom/assets/images/sticker_down_active.png); text-align:left; } +.manufacureBox .description_description { text-align:left; padding-left: 5px; line-height: 26px; white-space: nowrap; } + +#structContainer { display:inline-block; line-height:32px; margin-left: 9px;} +#structSearchButton { display:inline-block;vertical-align:top;width:32px;height:32px;cursor:pointer;background:url(/components/com_showroom/assets/images/searchbutton.png);margin-left:10px;} +#structSearchContainer { display:inline-block;vertical-align:top;width:190px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc; } +#structTypeContainer { display:inline-block;vertical-align:top;width:121px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px; } +#structBrandContainer { display:inline-block;vertical-align:top;width:121px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px;} +#structCategoryContainer { display:inline-block;vertical-align:top;width:123px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px;} +#structSubcategoryContainer { display:inline-block;vertical-align:top;width:121px;height:32px;cursor:pointer;border-left:1px solid #ccc;border-right:1px solid #ccc;margin-left:10px;} + +#typeContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:188px; background:#fff;z-index:10;border:1px solid #ccc;} +#brandContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:564px; background:#fff;z-index:10;border:1px solid #ccc;} +#categoryContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:376px; background:#fff;z-index:10;border:1px solid #ccc;} +#subcategoryContainer { display: block; position: relative; margin:0px 0px 0px -1px;float: left; width:376px; background:#fff;z-index:10;border:1px solid #ccc;} +#downloadPanelContainer { display: block; position: absolute; margin:-1px 0px 0px 0px;padding:10px 10px 10px 10px;float:left;width:230px; background:#fff;z-index:10;border:1px solid #ccc;} + +.smallDownloadPanelContainer { display: block; position: absolute; bottom:0px;right:-14px;margin:-1px 0px 0px 0px;padding:2px 5px 2px 5px;float:left;width:185px; background:#fff;z-index:10;border:1px solid #ccc;} +.smallDownloadPanelContainer2 { display: block; position: absolute; bottom:26px;right:-3px;margin:-1px 0px 0px 0px;padding:2px 5px 2px 5px;float:left;width:185px; background:#fff;z-index:10;border:1px solid #ccc;} + +#typeContainer label, +#brandContainer label, +#categoryContainer label, +#subcategoryContainer label, +#typeTitle label, +#brandTitle label, +#categoryTitle label, +#subcategoryTitle label { font-size:13px;} + +#structContainer .back { float:left; display:inline-block; margin:0px; width:43px; height:32px; line-height:32px; vertical-align:top; text-align:center; } +#structContainer .back img { vertical-align:top; } + +#structSearchContainer input +{ + vertical-align:top; + margin-right:0px 30px 0px 0px; + width:100%; + height:32px; + line-height:32px; + border:0px solid #ffffff; + font-size:13px; + font-family:'Ubuntu', sans-serif; + background-color: #F0F0F0; +} + +.column{display:inline-block;float:left;width:180px;padding-left:8px;} +.expanded {background: url(/components/com_showroom/assets/images/triangle-down.png) no-repeat 95% center;} +.collapsed {background: url(/components/com_showroom/assets/images/triangle-right.png) no-repeat 95% center;} + +.showroom_search_pager { + height:28px; + line-height:28px; + margin:10px 0px 5px 51px; + border:0px solid #000000; + vertical-align:top; +} + +.showroom_search_result { + float:left; + width:840px; + margin:0px 0px 0px 45px; + border:0px solid #000000; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.showroom_search_result .contentBox { + position:relative; + width:170px; + height:115px; + padding: 10px 10px 10px 10px; + margin: 8px 8px 8px 8px; +} + +.showroom_search_result .image img { max-height:120px; vertical-align: top; z-index:9; max-width:100% } +.showroom_search_result .dd_pos1 { top:97px; left:154px; } +.showroom_search_result .dd_pos2 { top:107px; left:164px; } +.showroom_search_result .description_download { + position:absolute; + width:26px; + height:26px; + z-index:5; + line-height: 26px; +} + +.showroom_checkbox_multi { + display: inline-block; + height: 32px; + line-height: 32px; + margin:0px 0px 0px 5px; + vertical-align:top; +} + +.showroom_checkbox_multi label {font-size:11px;} + +.showroom_container { + height:156px; + padding:8px 5px 5px 5px; + position:relative; + border:0px solid #ff0000; +} + +.showroom_separator { +/* background-image: url("/templates/system/images/diver_03.png"); */ + background-image: url("/components/com_showroom/assets/images/diver_03.png"); + background-repeat: repeat-x; + clear: both; + height: 1px; + margin: 0px 0px 10px 0px; +} + +.showroom_title { + position:absolute; + top:0px; + left:21px; + width:170px; + height:41px; + border:0px solid #00ff00; + z-index:5; + background:url(/components/com_showroom/assets/images/sticker_up.png); + color:#ffffff; + text-transform:uppercase; + font-weight: bold; + overflow:hidden; +} + +.showroom_title_level1 { background:url(/components/com_showroom/assets/images/sticker_up_1.png); } +.showroom_title_level2 { background:url(/components/com_showroom/assets/images/sticker_up_2.png); } +.showroom_title_level3 { background:url(/components/com_showroom/assets/images/sticker_up_3.png); } + +.showroom_title_description { + line-height:33px; + font-size:12px; +} + +.contentBox .image { + position:relative; + text-align:center; + border:0px solid #000000; +} + +.contentBox .description { + position:absolute; + top:106px; + left:0px; + width:156px; + height:26px; + z-index:5; + background:url(/components/com_showroom/assets/images/sticker_down.png); + text-align:left; +} + +.contentBox .description_active { + position:absolute; + top:113px; + left:0px; + width:156px; + height:26px; + z-index:5; + background:url(/components/com_showroom/assets/images/sticker_down_active.png); + text-align:left; +} + +.contentBox .description_description { + text-align:left; + padding-left: 5px; + line-height: 26px; + white-space: nowrap; +} + +.contentBox .description_download { + position:absolute; + width:26px; + height:26px; + z-index:5; + line-height: 26px; +} + +.contentBox .dd_pos1 { top:97px; left:154px; } +.contentBox .dd_pos2 { top:107px; left:164px; } + + +.paddingBottom10 { + float:left; + padding-bottom:10px; + border: 0px solid #0000ff; +} + +.product_scroller { + width:100%; + float:left; + padding-top:20px; + border: 0px solid #0000ff; +} + +.contentBox a { + color:#000000; +} +.contentBox a:hover { + color:#ea620f; +} + + +.family_menu { + float:left; + width:17%; + border:0px solid #000000; +} + +.search_container { + width:100%; +} + +.family_container { + float:left; + width:83%; + border:0px solid #000000; + margin: 0px auto 0px auto; + + position: relative; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.family_menu ul { + margin: 0px 0px 0px 10px; + padding: 0px 0px 0px 0px; +} + +.family_menu ul li { + list-style-type: none; +} + +.family_menu ul li a { + color:#757575; +} + +.family_menu ul li a:hover { + color:#ea620f; +} + +.family_menu .active { + font-weight: bold; + color: #ea620f; +} + +.product_container { + float:left; + width:83%; + border:0px solid #000000; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.product_container p { + margin: 0px; + padding: 0px; +} + +.product_container .product_image_narrow { + max-width:380px; + vertical-align: top; + display:inline; + float:left; +} + + +.product_container .product_image_full { + max-width:420px; + vertical-align: top; + display:inline; + float:left; +} + +.product_container .product_description { + max-width:420px; + display: inline; + float:left; + padding-left: 10px; + border:0px solid #00ff00; +} + +.product_container .product_description h5 { + margin:0px; + padding:0px; +} + +.product_container .product_description h6 { + margin:0px; + padding:0px; +} + +.product_container .full { + width:420px; +} +.product_container .narrow { + width:420px; +} + + +.product_container .product_download { + background: no-repeat url(/components/com_showroom/assets/images/icon-download-48.png); + width: 200px; + margin-top: 0px; + border: 1px solid #ccc; + line-height: 48px; + padding-left: 50px; + font-size: 20px; + text-transform: uppercase; + cursor:pointer; +} + +.product_container a { + color:#676767; +} + +.product_container a:hover { + text-decoration: none; +} + +.showroom_search { + width:100%; + height:32px; + top:-20px; + border:0px solid #000000; + margin-bottom:5px; +} + +.showroom_search form { + float:left; + display:inline-block; + margin: 0px 0px 0px 0px; + padding-top:0px; + height: 32px; + line-height: 32px; + vertical-align: middle; +} + +.showroom_search form input { margin: 0px; } + +.showroom_search input[type="checkbox"] { display:none; } +.showroom_search input[type="checkbox"] + label span { + display:inline-block; + width:16px; + height:16px; + vertical-align:middle; + cursor:pointer; + background:url("/components/com_showroom/assets/images/checkbox.png") bottom left no-repeat; +} +.showroom_search input[type="checkbox"]:checked + label span { + display:inline-block; + width:16px; + height:16px; + vertical-align:middle; + cursor:pointer; + background:url("/components/com_showroom/assets/images/checkbox.png") top left no-repeat; +} + +.showroom_search label { display:inline-block; margin:0px; } + +.showroom_multi { + float:right; + border:0px solid #000000; + margin:10px 20px 0px 0px; +} + +.showroom_clear { + clear:both; + margin:0px; + padding:0px; + height:0px; + width:0px; +} + +.showroom_back { + display:inline; + float:left; + margin:0px; + padding:0px; + width:52px; + height:26px; + margin: 5px 0px 0px 10px; + border:0px solid #000000; +} + +.showroom_pager { + height:28px; + text-align:center; + border:0px solid #000000; + overflow:hidden; +} + +.showroom_search_pager span, +.showroom_pager span { + margin: 0px 2px; + line-height:26px; + display:inline-block; + width:26px; + height:26px; + text-align:center; + vertical-align:middle; +} + +.showroom_search_pager span img, +.showroom_pager span img { + vertical-align:top; +} + +.showroom_search_pager a, +.showroom_pager a { + color:#676767; +} + +.showroom_search_pager a:hover, +.showroom_pager a:hover { + color:#ea620f; + text-decoration: none; +} + +.showroom_search_pager .active, +.showroom_pager .active { + border:1px solid #ea620f; + color:#ea620f; + font-weight:bold; +} + +.thinborder, +.showroom_search_pager .inactive, +.showroom_pager .inactive { + border:1px solid #ccc; +} + +.makeMeScrollable +{ + width:100%; + height: 162px; + position: relative; + border: solid 0px #000; + + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; +} + +.makeMeScrollable .contentBox { position: relative; float: left; display: block; height: 115px; width: 170px; padding: 10px; margin: 0px 5px; user-select: none; } +.makeMeScrollable .inactive { border: solid 1px #ccc; } +.makeMeScrollable .active { border-top: solid 8px #ea620f; border-right: solid 10px #ea620f; border-bottom: solid 8px #ea620f; border-left: solid 10px #ea620f; background-color: #fff; } + +.family_container .contentBox { position: relative; float: left; display: block; height: 115px; width: 170px; padding: 10px; margin: 0px 2px; user-select: none; } +.family_container .inactive { border: solid 1px #ccc; margin:8px; } +.family_container .active { border: solid 8px #ea620f;margin:1px;background-color: #fff; } + +.makeMeScrollable .scrollableArea img, +.family_container img +{ + position: relative; + float: center; + margin: 0; + padding: 0; + max-height: 120px; + user-select: none; +} + +.makeMeScrollable .scrollableArea .grayscalefilter, +.family_container .grayscalefilter +{ + filter: grayscale(100%); + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); +} + +/* Invisible left hotspot */ +.makeMeScrollable .scrollingHotSpotLeft +{ + /* The hotspots have a minimum width of 100 pixels and if there is room the will grow + and occupy 15% of the scrollable area (30% combined). Adjust it to your own taste. */ + min-width: 75px; + width: 10%; + height: 100%; + /* There is a big background image and it's used to solve some problems I experienced + in Internet Explorer 6. */ + background-image: url(/components/com_showroom/assets/images/big_transparent.gif); + background-repeat: repeat; + background-position: center center; + position: absolute; + z-index: 200; + left: 0; + /* The first url is for Firefox and other browsers, the second is for Internet Explorer */ + cursor: url(/components/com_showroom/assets/images/cursors/cursor_arrow_left.png), url(/components/com_showroom/assets/images/cursors/cursor_arrow_left.cur),w-resize; +} + +/* Visible left hotspot */ +.makeMeScrollable .scrollingHotSpotLeftVisible +{ + background-image: url(/components/com_showroom/assets/images/arrow_left.gif); + background-color: #fff; + background-repeat: no-repeat; + opacity: 0.35; /* Standard CSS3 opacity setting */ + -moz-opacity: 0.35; /* Opacity for really old versions of Mozilla Firefox (0.9 or older) */ + filter: alpha(opacity = 35); /* Opacity for Internet Explorer. */ + zoom: 1; /* Trigger "hasLayout" in Internet Explorer 6 or older versions */ +} + +/* Invisible right hotspot */ +.makeMeScrollable .scrollingHotSpotRight +{ + min-width: 75px; + width: 10%; + height: 100%; + background-image: url(/components/com_showroom/assets/images/big_transparent.gif); + background-repeat: repeat; + background-position: center center; + position: absolute; + z-index: 200; + right: 0; + cursor: url(/components/com_showroom/assets/images/cursors/cursor_arrow_right.png), url(/components/com_showroom/assets/images/cursors/cursor_arrow_right.cur),e-resize; +} + +/* Visible right hotspot */ +.makeMeScrollable .scrollingHotSpotRightVisible +{ + background-image: url(/components/com_showroom/assets/images/arrow_right.gif); + background-color: #fff; + background-repeat: no-repeat; + opacity: 0.35; + filter: alpha(opacity = 35); + -moz-opacity: 0.35; + zoom: 1; +} + +/* The scroll wrapper is always the same width and height as the containing element (div). + Overflow is hidden because you don't want to show all of the scrollable area. +*/ +.makeMeScrollable .scrollWrapper +{ + position: relative; + overflow: hidden; + width: 100%; + height: 100%; +} + +.makeMeScrollable .scrollableArea +{ + position: relative; + width: auto; + height: 100%; } \ No newline at end of file diff --git a/core/administrator/components/com_config/access.xml b/core/administrator/components/com_config/access.xml index 861fef08..0912e34e 100644 --- a/core/administrator/components/com_config/access.xml +++ b/core/administrator/components/com_config/access.xml @@ -1,6 +1,6 @@ - - -
                - -
                -
                + + +
                + +
                +
                diff --git a/core/components/com_mailto/models/forms/mailto.xml b/core/components/com_mailto/models/forms/mailto.xml index 0469129f..7b9d57ec 100644 --- a/core/components/com_mailto/models/forms/mailto.xml +++ b/core/components/com_mailto/models/forms/mailto.xml @@ -1,51 +1,51 @@ - -
                -
                - - - - - - - - - -
                -
                + +
                +
                + + + + + + + + + +
                +
                diff --git a/core/libraries/phputf8/README b/core/libraries/phputf8/README index 02c66a18..6c309054 100644 --- a/core/libraries/phputf8/README +++ b/core/libraries/phputf8/README @@ -1,82 +1,82 @@ -++PHP UTF-8++ - -Version 0.5 - -++DOCUMENTATION++ - -Documentation in progress in ./docs dir - -http://www.phpwact.org/php/i18n/charsets -http://www.phpwact.org/php/i18n/utf-8 - -Important Note: DO NOT use these functions without understanding WHY -you are using them. In particular, do not blindly replace all use of PHP's -string functions which functions found here - most of the time you will -not need to, and you will be introducing a significant performance -overhead to your application. You can get a good idea of when to use what -from reading: http://www.phpwact.org/php/i18n/utf-8 - -Important Note: For sake of performance most of the functions here are -not "defensive" (e.g. there is not extensive parameter checking, well -formed UTF-8 is assumed). This is particularily relevant when is comes to -catching badly formed UTF-8 - you should screen input on the "outer -perimeter" with help from functions in the utf8_validation.php and -utf8_bad.php files. - -Important Note: this library treats ALL ASCII characters as valid, including ASCII control characters. But if you use some ASCII control characters in XML, it will render the XML ill-formed. Don't be a bozo: http://hsivonen.iki.fi/producing-xml/#controlchar - -++BUGS / SUPPORT / FEATURE REQUESTS ++ - -Please report bugs to: -http://sourceforge.net/tracker/?group_id=142846&atid=753842 -- if you are able, please submit a failing unit test -(http://www.lastcraft.com/simple_test.php) with your bug report. - -For feature requests / faster implementation of functions found here, -please drop them in via the RFE tracker: http://sourceforge.net/tracker/?group_id=142846&atid=753845 -Particularily interested in faster implementations! - -For general support / help, use: -http://sourceforge.net/tracker/?group_id=142846&atid=753843 - -In the VERY WORST case, you can email me: hfuecks gmail com - I tend to be slow to respond though so be warned. - -Important Note: when reporting bugs, please provide the following -information; - -PHP version, whether the iconv extension is loaded (in PHP5 it's -there by default), whether the mbstring extension is loaded. The -following PHP script can be used to determine this information; - -"; -if ( extension_loaded('mbstring') ) { - print "mbstring available
                "; -} else { - print "mbstring not available
                "; -} -if ( extension_loaded('iconv') ) { - print "iconv available
                "; -} else { - print "iconv not available
                "; -} -?> - -++LICENSING++ - -Parts of the code in this library come from other places, under different -licenses. -The authors involved have been contacted (see below). Attribution for -which code came from elsewhere can be found in the source code itself. - -+Andreas Gohr / Chris Smith - Dokuwiki -There is a fair degree of collaboration / exchange of ideas and code -beteen Dokuwiki's UTF-8 library; -http://dev.splitbrain.org/view/darcs/dokuwiki/inc/utf8.php -and phputf8. Although Dokuwiki is released under GPL, its UTF-8 -library is released under LGPL, hence no conflict with phputf8 - -+Henri Sivonen (http://hsivonen.iki.fi/php-utf8/ / -http://hsivonen.iki.fi/php-utf8/) has also given permission for his -code to be released under the terms of the LGPL. He ported a Unicode / UTF-8 -converter from the Mozilla codebase to PHP, which is re-used in phputf8 +++PHP UTF-8++ + +Version 0.5 + +++DOCUMENTATION++ + +Documentation in progress in ./docs dir + +http://www.phpwact.org/php/i18n/charsets +http://www.phpwact.org/php/i18n/utf-8 + +Important Note: DO NOT use these functions without understanding WHY +you are using them. In particular, do not blindly replace all use of PHP's +string functions which functions found here - most of the time you will +not need to, and you will be introducing a significant performance +overhead to your application. You can get a good idea of when to use what +from reading: http://www.phpwact.org/php/i18n/utf-8 + +Important Note: For sake of performance most of the functions here are +not "defensive" (e.g. there is not extensive parameter checking, well +formed UTF-8 is assumed). This is particularily relevant when is comes to +catching badly formed UTF-8 - you should screen input on the "outer +perimeter" with help from functions in the utf8_validation.php and +utf8_bad.php files. + +Important Note: this library treats ALL ASCII characters as valid, including ASCII control characters. But if you use some ASCII control characters in XML, it will render the XML ill-formed. Don't be a bozo: http://hsivonen.iki.fi/producing-xml/#controlchar + +++BUGS / SUPPORT / FEATURE REQUESTS ++ + +Please report bugs to: +http://sourceforge.net/tracker/?group_id=142846&atid=753842 +- if you are able, please submit a failing unit test +(http://www.lastcraft.com/simple_test.php) with your bug report. + +For feature requests / faster implementation of functions found here, +please drop them in via the RFE tracker: http://sourceforge.net/tracker/?group_id=142846&atid=753845 +Particularily interested in faster implementations! + +For general support / help, use: +http://sourceforge.net/tracker/?group_id=142846&atid=753843 + +In the VERY WORST case, you can email me: hfuecks gmail com - I tend to be slow to respond though so be warned. + +Important Note: when reporting bugs, please provide the following +information; + +PHP version, whether the iconv extension is loaded (in PHP5 it's +there by default), whether the mbstring extension is loaded. The +following PHP script can be used to determine this information; + +"; +if ( extension_loaded('mbstring') ) { + print "mbstring available
                "; +} else { + print "mbstring not available
                "; +} +if ( extension_loaded('iconv') ) { + print "iconv available
                "; +} else { + print "iconv not available
                "; +} +?> + +++LICENSING++ + +Parts of the code in this library come from other places, under different +licenses. +The authors involved have been contacted (see below). Attribution for +which code came from elsewhere can be found in the source code itself. + ++Andreas Gohr / Chris Smith - Dokuwiki +There is a fair degree of collaboration / exchange of ideas and code +beteen Dokuwiki's UTF-8 library; +http://dev.splitbrain.org/view/darcs/dokuwiki/inc/utf8.php +and phputf8. Although Dokuwiki is released under GPL, its UTF-8 +library is released under LGPL, hence no conflict with phputf8 + ++Henri Sivonen (http://hsivonen.iki.fi/php-utf8/ / +http://hsivonen.iki.fi/php-utf8/) has also given permission for his +code to be released under the terms of the LGPL. He ported a Unicode / UTF-8 +converter from the Mozilla codebase to PHP, which is re-used in phputf8 diff --git a/core/media/editors/codemirror/lib/addons.css b/core/media/editors/codemirror/lib/addons.css index ad952844..fa1b786f 100644 --- a/core/media/editors/codemirror/lib/addons.css +++ b/core/media/editors/codemirror/lib/addons.css @@ -4,7 +4,7 @@ height: auto; z-index: 9; } - + .CodeMirror-foldmarker { color: blue; text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; @@ -25,7 +25,7 @@ .CodeMirror-foldgutter-folded:after { content: "\25B8"; } - + .CodeMirror-search-match { background: gold; border-top: 1px solid orange; @@ -34,7 +34,7 @@ box-sizing: border-box; opacity: .5; } - + .CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div { position: absolute; background: #ccc; diff --git a/core/media/editors/codemirror/lib/addons.js b/core/media/editors/codemirror/lib/addons.js index 8965b567..dcc9d27c 100644 --- a/core/media/editors/codemirror/lib/addons.js +++ b/core/media/editors/codemirror/lib/addons.js @@ -39,7 +39,7 @@ cm.refresh(); } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -163,7 +163,7 @@ return false } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -358,7 +358,7 @@ (pos.ch == 0 || !/\bstring/.test(cm.getTokenTypeAt(pos))) } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -534,7 +534,7 @@ return true; } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -680,7 +680,7 @@ return scanForBracket(this, pos, dir, style, config); }); }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -747,7 +747,7 @@ } }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -853,7 +853,7 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { }); }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1006,7 +1006,7 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { return getOption(this, options, name); }); }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1153,7 +1153,7 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { updateFoldInfo(cm, line, line + 1); } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1338,7 +1338,7 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { return findMatchingClose(iter, name); }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1403,7 +1403,7 @@ CodeMirror.registerHelper("fold", "include", function(cm, start) { }); }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1535,7 +1535,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1658,7 +1658,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { this.div.parentNode.removeChild(this.div); }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1811,7 +1811,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { return new SimpleScrollbars("CodeMirror-overlayscroll", place, scroll); }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -1909,7 +1909,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { this.annotation.clear(); }; }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -2075,7 +2075,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { }}; } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -2369,7 +2369,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { this.setSelections(ranges, 0) }) }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE @@ -2442,7 +2442,7 @@ CodeMirror.multiplexingMode = function(outer /*, others */) { updateActiveLines(cm, sel.ranges); } }); - + // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE diff --git a/core/media/jui/js/jquery.autocomplete.js b/core/media/jui/js/jquery.autocomplete.js index 9fc18b25..de88cdcf 100644 --- a/core/media/jui/js/jquery.autocomplete.js +++ b/core/media/jui/js/jquery.autocomplete.js @@ -1,998 +1,998 @@ -/** -* Ajax Autocomplete for jQuery, version 1.4.7 -* (c) 2017 Tomas Kirda -* -* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license. -* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete -*/ - -/*jslint browser: true, white: true, single: true, this: true, multivar: true */ -/*global define, window, document, jQuery, exports, require */ - -// Expose plugin as an AMD module if AMD loader is present: -(function (factory) { - "use strict"; - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object' && typeof require === 'function') { - // Browserify - factory(require('jquery')); - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - 'use strict'; - - var - utils = (function () { - return { - escapeRegExChars: function (value) { - return value.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"); - }, - createNode: function (containerClass) { - var div = document.createElement('div'); - div.className = containerClass; - div.style.position = 'absolute'; - div.style.display = 'none'; - return div; - } - }; - }()), - - keys = { - ESC: 27, - TAB: 9, - RETURN: 13, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40 - }, - - noop = $.noop; - - function Autocomplete(el, options) { - var that = this; - - // Shared variables: - that.element = el; - that.el = $(el); - that.suggestions = []; - that.badQueries = []; - that.selectedIndex = -1; - that.currentValue = that.element.value; - that.timeoutId = null; - that.cachedResponse = {}; - that.onChangeTimeout = null; - that.onChange = null; - that.isLocal = false; - that.suggestionsContainer = null; - that.noSuggestionsContainer = null; - that.options = $.extend({}, Autocomplete.defaults, options); - that.classes = { - selected: 'autocomplete-selected', - suggestion: 'autocomplete-suggestion' - }; - that.hint = null; - that.hintValue = ''; - that.selection = null; - - // Initialize and set options: - that.initialize(); - that.setOptions(options); - } - - Autocomplete.utils = utils; - - $.Autocomplete = Autocomplete; - - Autocomplete.defaults = { - ajaxSettings: {}, - autoSelectFirst: false, - appendTo: 'body', - serviceUrl: null, - lookup: null, - onSelect: null, - width: 'auto', - minChars: 1, - maxHeight: 300, - deferRequestBy: 0, - params: {}, - formatResult: _formatResult, - formatGroup: _formatGroup, - delimiter: null, - zIndex: 9999, - type: 'GET', - noCache: false, - onSearchStart: noop, - onSearchComplete: noop, - onSearchError: noop, - preserveInput: false, - containerClass: 'autocomplete-suggestions', - tabDisabled: false, - dataType: 'text', - currentRequest: null, - triggerSelectOnValidInput: true, - preventBadQueries: true, - lookupFilter: _lookupFilter, - paramName: 'query', - transformResult: _transformResult, - showNoSuggestionNotice: false, - noSuggestionNotice: 'No results', - orientation: 'bottom', - forceFixPosition: false - }; - - function _lookupFilter(suggestion, originalQuery, queryLowerCase) { - return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1; - }; - - function _transformResult(response) { - return typeof response === 'string' ? $.parseJSON(response) : response; - }; - - function _formatResult(suggestion, currentValue) { - // Do not replace anything if the current value is empty - if (!currentValue) { - return suggestion.value; - } - - var pattern = '(' + utils.escapeRegExChars(currentValue) + ')'; - - return suggestion.value - .replace(new RegExp(pattern, 'gi'), '$1<\/strong>') - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/<(\/?strong)>/g, '<$1>'); - }; - - function _formatGroup(suggestion, category) { - return '
                ' + category + '
                '; - }; - - Autocomplete.prototype = { - - initialize: function () { - var that = this, - suggestionSelector = '.' + that.classes.suggestion, - selected = that.classes.selected, - options = that.options, - container; - - // Remove autocomplete attribute to prevent native suggestions: - that.element.setAttribute('autocomplete', 'off'); - - // html() deals with many types: htmlString or Element or Array or jQuery - that.noSuggestionsContainer = $('
                ') - .html(this.options.noSuggestionNotice).get(0); - - that.suggestionsContainer = Autocomplete.utils.createNode(options.containerClass); - - container = $(that.suggestionsContainer); - - container.appendTo(options.appendTo || 'body'); - - // Only set width if it was provided: - if (options.width !== 'auto') { - container.css('width', options.width); - } - - // Listen for mouse over event on suggestions list: - container.on('mouseover.autocomplete', suggestionSelector, function () { - that.activate($(this).data('index')); - }); - - // Deselect active element when mouse leaves suggestions container: - container.on('mouseout.autocomplete', function () { - that.selectedIndex = -1; - container.children('.' + selected).removeClass(selected); - }); - - // Listen for click event on suggestions list: - container.on('click.autocomplete', suggestionSelector, function () { - that.select($(this).data('index')); - }); - - container.on('click.autocomplete', function () { - clearTimeout(that.blurTimeoutId); - }) - - that.fixPositionCapture = function () { - if (that.visible) { - that.fixPosition(); - } - }; - - $(window).on('resize.autocomplete', that.fixPositionCapture); - - that.el.on('keydown.autocomplete', function (e) { that.onKeyPress(e); }); - that.el.on('keyup.autocomplete', function (e) { that.onKeyUp(e); }); - that.el.on('blur.autocomplete', function () { that.onBlur(); }); - that.el.on('focus.autocomplete', function () { that.onFocus(); }); - that.el.on('change.autocomplete', function (e) { that.onKeyUp(e); }); - that.el.on('input.autocomplete', function (e) { that.onKeyUp(e); }); - }, - - onFocus: function () { - var that = this; - - that.fixPosition(); - - if (that.el.val().length >= that.options.minChars) { - that.onValueChange(); - } - }, - - onBlur: function () { - var that = this; - - // If user clicked on a suggestion, hide() will - // be canceled, otherwise close suggestions - that.blurTimeoutId = setTimeout(function () { - that.hide(); - }, 200); - }, - - abortAjax: function () { - var that = this; - if (that.currentRequest) { - that.currentRequest.abort(); - that.currentRequest = null; - } - }, - - setOptions: function (suppliedOptions) { - var that = this, - options = $.extend({}, that.options, suppliedOptions); - - that.isLocal = Array.isArray(options.lookup); - - if (that.isLocal) { - options.lookup = that.verifySuggestionsFormat(options.lookup); - } - - options.orientation = that.validateOrientation(options.orientation, 'bottom'); - - // Adjust height, width and z-index: - $(that.suggestionsContainer).css({ - 'max-height': options.maxHeight + 'px', - 'width': options.width + 'px', - 'z-index': options.zIndex - }); - - this.options = options; - }, - - - clearCache: function () { - this.cachedResponse = {}; - this.badQueries = []; - }, - - clear: function () { - this.clearCache(); - this.currentValue = ''; - this.suggestions = []; - }, - - disable: function () { - var that = this; - that.disabled = true; - clearTimeout(that.onChangeTimeout); - that.abortAjax(); - }, - - enable: function () { - this.disabled = false; - }, - - fixPosition: function () { - // Use only when container has already its content - - var that = this, - $container = $(that.suggestionsContainer), - containerParent = $container.parent().get(0); - // Fix position automatically when appended to body. - // In other cases force parameter must be given. - if (containerParent !== document.body && !that.options.forceFixPosition) { - return; - } - - // Choose orientation - var orientation = that.options.orientation, - containerHeight = $container.outerHeight(), - height = that.el.outerHeight(), - offset = that.el.offset(), - styles = { 'top': offset.top, 'left': offset.left }; - - if (orientation === 'auto') { - var viewPortHeight = $(window).height(), - scrollTop = $(window).scrollTop(), - topOverflow = -scrollTop + offset.top - containerHeight, - bottomOverflow = scrollTop + viewPortHeight - (offset.top + height + containerHeight); - - orientation = (Math.max(topOverflow, bottomOverflow) === topOverflow) ? 'top' : 'bottom'; - } - - if (orientation === 'top') { - styles.top += -containerHeight; - } else { - styles.top += height; - } - - // If container is not positioned to body, - // correct its position using offset parent offset - if(containerParent !== document.body) { - var opacity = $container.css('opacity'), - parentOffsetDiff; - - if (!that.visible){ - $container.css('opacity', 0).show(); - } - - parentOffsetDiff = $container.offsetParent().offset(); - styles.top -= parentOffsetDiff.top; - styles.top += containerParent.scrollTop; - styles.left -= parentOffsetDiff.left; - - if (!that.visible){ - $container.css('opacity', opacity).hide(); - } - } - - if (that.options.width === 'auto') { - styles.width = that.el.outerWidth() + 'px'; - } - - $container.css(styles); - }, - - isCursorAtEnd: function () { - var that = this, - valLength = that.el.val().length, - selectionStart = that.element.selectionStart, - range; - - if (typeof selectionStart === 'number') { - return selectionStart === valLength; - } - if (document.selection) { - range = document.selection.createRange(); - range.moveStart('character', -valLength); - return valLength === range.text.length; - } - return true; - }, - - onKeyPress: function (e) { - var that = this; - - // If suggestions are hidden and user presses arrow down, display suggestions: - if (!that.disabled && !that.visible && e.which === keys.DOWN && that.currentValue) { - that.suggest(); - return; - } - - if (that.disabled || !that.visible) { - return; - } - - switch (e.which) { - case keys.ESC: - that.el.val(that.currentValue); - that.hide(); - break; - case keys.RIGHT: - if (that.hint && that.options.onHint && that.isCursorAtEnd()) { - that.selectHint(); - break; - } - return; - case keys.TAB: - if (that.hint && that.options.onHint) { - that.selectHint(); - return; - } - if (that.selectedIndex === -1) { - that.hide(); - return; - } - that.select(that.selectedIndex); - if (that.options.tabDisabled === false) { - return; - } - break; - case keys.RETURN: - if (that.selectedIndex === -1) { - that.hide(); - return; - } - that.select(that.selectedIndex); - break; - case keys.UP: - that.moveUp(); - break; - case keys.DOWN: - that.moveDown(); - break; - default: - return; - } - - // Cancel event if function did not return: - e.stopImmediatePropagation(); - e.preventDefault(); - }, - - onKeyUp: function (e) { - var that = this; - - if (that.disabled) { - return; - } - - switch (e.which) { - case keys.UP: - case keys.DOWN: - return; - } - - clearTimeout(that.onChangeTimeout); - - if (that.currentValue !== that.el.val()) { - that.findBestHint(); - if (that.options.deferRequestBy > 0) { - // Defer lookup in case when value changes very quickly: - that.onChangeTimeout = setTimeout(function () { - that.onValueChange(); - }, that.options.deferRequestBy); - } else { - that.onValueChange(); - } - } - }, - - onValueChange: function () { - if (this.ignoreValueChange) { - this.ignoreValueChange = false; - return; - } - - var that = this, - options = that.options, - value = that.el.val(), - query = that.getQuery(value); - - if (that.selection && that.currentValue !== query) { - that.selection = null; - (options.onInvalidateSelection || $.noop).call(that.element); - } - - clearTimeout(that.onChangeTimeout); - that.currentValue = value; - that.selectedIndex = -1; - - // Check existing suggestion for the match before proceeding: - if (options.triggerSelectOnValidInput && that.isExactMatch(query)) { - that.select(0); - return; - } - - if (query.length < options.minChars) { - that.hide(); - } else { - that.getSuggestions(query); - } - }, - - isExactMatch: function (query) { - var suggestions = this.suggestions; - - return (suggestions.length === 1 && suggestions[0].value.toLowerCase() === query.toLowerCase()); - }, - - getQuery: function (value) { - var delimiter = this.options.delimiter, - parts; - - if (!delimiter) { - return value; - } - parts = value.split(delimiter); - return $.trim(parts[parts.length - 1]); - }, - - getSuggestionsLocal: function (query) { - var that = this, - options = that.options, - queryLowerCase = query.toLowerCase(), - filter = options.lookupFilter, - limit = parseInt(options.lookupLimit, 10), - data; - - data = { - suggestions: $.grep(options.lookup, function (suggestion) { - return filter(suggestion, query, queryLowerCase); - }) - }; - - if (limit && data.suggestions.length > limit) { - data.suggestions = data.suggestions.slice(0, limit); - } - - return data; - }, - - getSuggestions: function (q) { - var response, - that = this, - options = that.options, - serviceUrl = options.serviceUrl, - params, - cacheKey, - ajaxSettings; - - options.params[options.paramName] = q; - - if (options.onSearchStart.call(that.element, options.params) === false) { - return; - } - - params = options.ignoreParams ? null : options.params; - - if ($.isFunction(options.lookup)){ - options.lookup(q, function (data) { - that.suggestions = data.suggestions; - that.suggest(); - options.onSearchComplete.call(that.element, q, data.suggestions); - }); - return; - } - - if (that.isLocal) { - response = that.getSuggestionsLocal(q); - } else { - if ($.isFunction(serviceUrl)) { - serviceUrl = serviceUrl.call(that.element, q); - } - cacheKey = serviceUrl + '?' + $.param(params || {}); - response = that.cachedResponse[cacheKey]; - } - - if (response && Array.isArray(response.suggestions)) { - that.suggestions = response.suggestions; - that.suggest(); - options.onSearchComplete.call(that.element, q, response.suggestions); - } else if (!that.isBadQuery(q)) { - that.abortAjax(); - - ajaxSettings = { - url: serviceUrl, - data: params, - type: options.type, - dataType: options.dataType - }; - - $.extend(ajaxSettings, options.ajaxSettings); - - that.currentRequest = $.ajax(ajaxSettings).done(function (data) { - var result; - that.currentRequest = null; - result = options.transformResult(data, q); - that.processResponse(result, q, cacheKey); - options.onSearchComplete.call(that.element, q, result.suggestions); - }).fail(function (jqXHR, textStatus, errorThrown) { - options.onSearchError.call(that.element, q, jqXHR, textStatus, errorThrown); - }); - } else { - options.onSearchComplete.call(that.element, q, []); - } - }, - - isBadQuery: function (q) { - if (!this.options.preventBadQueries){ - return false; - } - - var badQueries = this.badQueries, - i = badQueries.length; - - while (i--) { - if (q.indexOf(badQueries[i]) === 0) { - return true; - } - } - - return false; - }, - - hide: function () { - var that = this, - container = $(that.suggestionsContainer); - - if ($.isFunction(that.options.onHide) && that.visible) { - that.options.onHide.call(that.element, container); - } - - that.visible = false; - that.selectedIndex = -1; - clearTimeout(that.onChangeTimeout); - $(that.suggestionsContainer).hide(); - that.signalHint(null); - }, - - suggest: function () { - if (!this.suggestions.length) { - if (this.options.showNoSuggestionNotice) { - this.noSuggestions(); - } else { - this.hide(); - } - return; - } - - var that = this, - options = that.options, - groupBy = options.groupBy, - formatResult = options.formatResult, - value = that.getQuery(that.currentValue), - className = that.classes.suggestion, - classSelected = that.classes.selected, - container = $(that.suggestionsContainer), - noSuggestionsContainer = $(that.noSuggestionsContainer), - beforeRender = options.beforeRender, - html = '', - category, - formatGroup = function (suggestion, index) { - var currentCategory = suggestion.data[groupBy]; - - if (category === currentCategory){ - return ''; - } - - category = currentCategory; - - return options.formatGroup(suggestion, category); - }; - - if (options.triggerSelectOnValidInput && that.isExactMatch(value)) { - that.select(0); - return; - } - - // Build suggestions inner HTML: - $.each(that.suggestions, function (i, suggestion) { - if (groupBy){ - html += formatGroup(suggestion, value, i); - } - - html += '
                ' + formatResult(suggestion, value, i) + '
                '; - }); - - this.adjustContainerWidth(); - - noSuggestionsContainer.detach(); - container.html(html); - - if ($.isFunction(beforeRender)) { - beforeRender.call(that.element, container, that.suggestions); - } - - that.fixPosition(); - container.show(); - - // Select first value by default: - if (options.autoSelectFirst) { - that.selectedIndex = 0; - container.scrollTop(0); - container.children('.' + className).first().addClass(classSelected); - } - - that.visible = true; - that.findBestHint(); - }, - - noSuggestions: function() { - var that = this, - beforeRender = that.options.beforeRender, - container = $(that.suggestionsContainer), - noSuggestionsContainer = $(that.noSuggestionsContainer); - - this.adjustContainerWidth(); - - // Some explicit steps. Be careful here as it easy to get - // noSuggestionsContainer removed from DOM if not detached properly. - noSuggestionsContainer.detach(); - - // clean suggestions if any - container.empty(); - container.append(noSuggestionsContainer); - - if ($.isFunction(beforeRender)) { - beforeRender.call(that.element, container, that.suggestions); - } - - that.fixPosition(); - - container.show(); - that.visible = true; - }, - - adjustContainerWidth: function() { - var that = this, - options = that.options, - width, - container = $(that.suggestionsContainer); - - // If width is auto, adjust width before displaying suggestions, - // because if instance was created before input had width, it will be zero. - // Also it adjusts if input width has changed. - if (options.width === 'auto') { - width = that.el.outerWidth(); - container.css('width', width > 0 ? width : 300); - } else if(options.width === 'flex') { - // Trust the source! Unset the width property so it will be the max length - // the containing elements. - container.css('width', ''); - } - }, - - findBestHint: function () { - var that = this, - value = that.el.val().toLowerCase(), - bestMatch = null; - - if (!value) { - return; - } - - $.each(that.suggestions, function (i, suggestion) { - var foundMatch = suggestion.value.toLowerCase().indexOf(value) === 0; - if (foundMatch) { - bestMatch = suggestion; - } - return !foundMatch; - }); - - that.signalHint(bestMatch); - }, - - signalHint: function (suggestion) { - var hintValue = '', - that = this; - if (suggestion) { - hintValue = that.currentValue + suggestion.value.substr(that.currentValue.length); - } - if (that.hintValue !== hintValue) { - that.hintValue = hintValue; - that.hint = suggestion; - (this.options.onHint || $.noop)(hintValue); - } - }, - - verifySuggestionsFormat: function (suggestions) { - // If suggestions is string array, convert them to supported format: - if (suggestions.length && typeof suggestions[0] === 'string') { - return $.map(suggestions, function (value) { - return { value: value, data: null }; - }); - } - - return suggestions; - }, - - validateOrientation: function(orientation, fallback) { - orientation = $.trim(orientation || '').toLowerCase(); - - if($.inArray(orientation, ['auto', 'bottom', 'top']) === -1){ - orientation = fallback; - } - - return orientation; - }, - - processResponse: function (result, originalQuery, cacheKey) { - var that = this, - options = that.options; - - result.suggestions = that.verifySuggestionsFormat(result.suggestions); - - // Cache results if cache is not disabled: - if (!options.noCache) { - that.cachedResponse[cacheKey] = result; - if (options.preventBadQueries && !result.suggestions.length) { - that.badQueries.push(originalQuery); - } - } - - // Return if originalQuery is not matching current query: - if (originalQuery !== that.getQuery(that.currentValue)) { - return; - } - - that.suggestions = result.suggestions; - that.suggest(); - }, - - activate: function (index) { - var that = this, - activeItem, - selected = that.classes.selected, - container = $(that.suggestionsContainer), - children = container.find('.' + that.classes.suggestion); - - container.find('.' + selected).removeClass(selected); - - that.selectedIndex = index; - - if (that.selectedIndex !== -1 && children.length > that.selectedIndex) { - activeItem = children.get(that.selectedIndex); - $(activeItem).addClass(selected); - return activeItem; - } - - return null; - }, - - selectHint: function () { - var that = this, - i = $.inArray(that.hint, that.suggestions); - - that.select(i); - }, - - select: function (i) { - var that = this; - that.hide(); - that.onSelect(i); - }, - - moveUp: function () { - var that = this; - - if (that.selectedIndex === -1) { - return; - } - - if (that.selectedIndex === 0) { - $(that.suggestionsContainer).children('.' + that.classes.suggestion).first().removeClass(that.classes.selected); - that.selectedIndex = -1; - that.ignoreValueChange = false; - that.el.val(that.currentValue); - that.findBestHint(); - return; - } - - that.adjustScroll(that.selectedIndex - 1); - }, - - moveDown: function () { - var that = this; - - if (that.selectedIndex === (that.suggestions.length - 1)) { - return; - } - - that.adjustScroll(that.selectedIndex + 1); - }, - - adjustScroll: function (index) { - var that = this, - activeItem = that.activate(index); - - if (!activeItem) { - return; - } - - var offsetTop, - upperBound, - lowerBound, - heightDelta = $(activeItem).outerHeight(); - - offsetTop = activeItem.offsetTop; - upperBound = $(that.suggestionsContainer).scrollTop(); - lowerBound = upperBound + that.options.maxHeight - heightDelta; - - if (offsetTop < upperBound) { - $(that.suggestionsContainer).scrollTop(offsetTop); - } else if (offsetTop > lowerBound) { - $(that.suggestionsContainer).scrollTop(offsetTop - that.options.maxHeight + heightDelta); - } - - if (!that.options.preserveInput) { - // During onBlur event, browser will trigger "change" event, - // because value has changed, to avoid side effect ignore, - // that event, so that correct suggestion can be selected - // when clicking on suggestion with a mouse - that.ignoreValueChange = true; - that.el.val(that.getValue(that.suggestions[index].value)); - } - - that.signalHint(null); - }, - - onSelect: function (index) { - var that = this, - onSelectCallback = that.options.onSelect, - suggestion = that.suggestions[index]; - - that.currentValue = that.getValue(suggestion.value); - - if (that.currentValue !== that.el.val() && !that.options.preserveInput) { - that.el.val(that.currentValue); - } - - that.signalHint(null); - that.suggestions = []; - that.selection = suggestion; - - if ($.isFunction(onSelectCallback)) { - onSelectCallback.call(that.element, suggestion); - } - }, - - getValue: function (value) { - var that = this, - delimiter = that.options.delimiter, - currentValue, - parts; - - if (!delimiter) { - return value; - } - - currentValue = that.currentValue; - parts = currentValue.split(delimiter); - - if (parts.length === 1) { - return value; - } - - return currentValue.substr(0, currentValue.length - parts[parts.length - 1].length) + value; - }, - - dispose: function () { - var that = this; - that.el.off('.autocomplete').removeData('autocomplete'); - $(window).off('resize.autocomplete', that.fixPositionCapture); - $(that.suggestionsContainer).remove(); - } - }; - - // Create chainable jQuery plugin: - $.fn.devbridgeAutocomplete = function (options, args) { - var dataKey = 'autocomplete'; - // If function invoked without argument return - // instance of the first matched element: - if (!arguments.length) { - return this.first().data(dataKey); - } - - return this.each(function () { - var inputElement = $(this), - instance = inputElement.data(dataKey); - - if (typeof options === 'string') { - if (instance && typeof instance[options] === 'function') { - instance[options](args); - } - } else { - // If instance already exists, destroy it: - if (instance && instance.dispose) { - instance.dispose(); - } - instance = new Autocomplete(this, options); - inputElement.data(dataKey, instance); - } - }); - }; - - // Don't overwrite if it already exists - if (!$.fn.autocomplete) { - $.fn.autocomplete = $.fn.devbridgeAutocomplete; - } -})); +/** +* Ajax Autocomplete for jQuery, version 1.4.7 +* (c) 2017 Tomas Kirda +* +* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license. +* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete +*/ + +/*jslint browser: true, white: true, single: true, this: true, multivar: true */ +/*global define, window, document, jQuery, exports, require */ + +// Expose plugin as an AMD module if AMD loader is present: +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object' && typeof require === 'function') { + // Browserify + factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + 'use strict'; + + var + utils = (function () { + return { + escapeRegExChars: function (value) { + return value.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"); + }, + createNode: function (containerClass) { + var div = document.createElement('div'); + div.className = containerClass; + div.style.position = 'absolute'; + div.style.display = 'none'; + return div; + } + }; + }()), + + keys = { + ESC: 27, + TAB: 9, + RETURN: 13, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 + }, + + noop = $.noop; + + function Autocomplete(el, options) { + var that = this; + + // Shared variables: + that.element = el; + that.el = $(el); + that.suggestions = []; + that.badQueries = []; + that.selectedIndex = -1; + that.currentValue = that.element.value; + that.timeoutId = null; + that.cachedResponse = {}; + that.onChangeTimeout = null; + that.onChange = null; + that.isLocal = false; + that.suggestionsContainer = null; + that.noSuggestionsContainer = null; + that.options = $.extend({}, Autocomplete.defaults, options); + that.classes = { + selected: 'autocomplete-selected', + suggestion: 'autocomplete-suggestion' + }; + that.hint = null; + that.hintValue = ''; + that.selection = null; + + // Initialize and set options: + that.initialize(); + that.setOptions(options); + } + + Autocomplete.utils = utils; + + $.Autocomplete = Autocomplete; + + Autocomplete.defaults = { + ajaxSettings: {}, + autoSelectFirst: false, + appendTo: 'body', + serviceUrl: null, + lookup: null, + onSelect: null, + width: 'auto', + minChars: 1, + maxHeight: 300, + deferRequestBy: 0, + params: {}, + formatResult: _formatResult, + formatGroup: _formatGroup, + delimiter: null, + zIndex: 9999, + type: 'GET', + noCache: false, + onSearchStart: noop, + onSearchComplete: noop, + onSearchError: noop, + preserveInput: false, + containerClass: 'autocomplete-suggestions', + tabDisabled: false, + dataType: 'text', + currentRequest: null, + triggerSelectOnValidInput: true, + preventBadQueries: true, + lookupFilter: _lookupFilter, + paramName: 'query', + transformResult: _transformResult, + showNoSuggestionNotice: false, + noSuggestionNotice: 'No results', + orientation: 'bottom', + forceFixPosition: false + }; + + function _lookupFilter(suggestion, originalQuery, queryLowerCase) { + return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1; + }; + + function _transformResult(response) { + return typeof response === 'string' ? $.parseJSON(response) : response; + }; + + function _formatResult(suggestion, currentValue) { + // Do not replace anything if the current value is empty + if (!currentValue) { + return suggestion.value; + } + + var pattern = '(' + utils.escapeRegExChars(currentValue) + ')'; + + return suggestion.value + .replace(new RegExp(pattern, 'gi'), '$1<\/strong>') + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/<(\/?strong)>/g, '<$1>'); + }; + + function _formatGroup(suggestion, category) { + return '
                ' + category + '
                '; + }; + + Autocomplete.prototype = { + + initialize: function () { + var that = this, + suggestionSelector = '.' + that.classes.suggestion, + selected = that.classes.selected, + options = that.options, + container; + + // Remove autocomplete attribute to prevent native suggestions: + that.element.setAttribute('autocomplete', 'off'); + + // html() deals with many types: htmlString or Element or Array or jQuery + that.noSuggestionsContainer = $('
                ') + .html(this.options.noSuggestionNotice).get(0); + + that.suggestionsContainer = Autocomplete.utils.createNode(options.containerClass); + + container = $(that.suggestionsContainer); + + container.appendTo(options.appendTo || 'body'); + + // Only set width if it was provided: + if (options.width !== 'auto') { + container.css('width', options.width); + } + + // Listen for mouse over event on suggestions list: + container.on('mouseover.autocomplete', suggestionSelector, function () { + that.activate($(this).data('index')); + }); + + // Deselect active element when mouse leaves suggestions container: + container.on('mouseout.autocomplete', function () { + that.selectedIndex = -1; + container.children('.' + selected).removeClass(selected); + }); + + // Listen for click event on suggestions list: + container.on('click.autocomplete', suggestionSelector, function () { + that.select($(this).data('index')); + }); + + container.on('click.autocomplete', function () { + clearTimeout(that.blurTimeoutId); + }) + + that.fixPositionCapture = function () { + if (that.visible) { + that.fixPosition(); + } + }; + + $(window).on('resize.autocomplete', that.fixPositionCapture); + + that.el.on('keydown.autocomplete', function (e) { that.onKeyPress(e); }); + that.el.on('keyup.autocomplete', function (e) { that.onKeyUp(e); }); + that.el.on('blur.autocomplete', function () { that.onBlur(); }); + that.el.on('focus.autocomplete', function () { that.onFocus(); }); + that.el.on('change.autocomplete', function (e) { that.onKeyUp(e); }); + that.el.on('input.autocomplete', function (e) { that.onKeyUp(e); }); + }, + + onFocus: function () { + var that = this; + + that.fixPosition(); + + if (that.el.val().length >= that.options.minChars) { + that.onValueChange(); + } + }, + + onBlur: function () { + var that = this; + + // If user clicked on a suggestion, hide() will + // be canceled, otherwise close suggestions + that.blurTimeoutId = setTimeout(function () { + that.hide(); + }, 200); + }, + + abortAjax: function () { + var that = this; + if (that.currentRequest) { + that.currentRequest.abort(); + that.currentRequest = null; + } + }, + + setOptions: function (suppliedOptions) { + var that = this, + options = $.extend({}, that.options, suppliedOptions); + + that.isLocal = Array.isArray(options.lookup); + + if (that.isLocal) { + options.lookup = that.verifySuggestionsFormat(options.lookup); + } + + options.orientation = that.validateOrientation(options.orientation, 'bottom'); + + // Adjust height, width and z-index: + $(that.suggestionsContainer).css({ + 'max-height': options.maxHeight + 'px', + 'width': options.width + 'px', + 'z-index': options.zIndex + }); + + this.options = options; + }, + + + clearCache: function () { + this.cachedResponse = {}; + this.badQueries = []; + }, + + clear: function () { + this.clearCache(); + this.currentValue = ''; + this.suggestions = []; + }, + + disable: function () { + var that = this; + that.disabled = true; + clearTimeout(that.onChangeTimeout); + that.abortAjax(); + }, + + enable: function () { + this.disabled = false; + }, + + fixPosition: function () { + // Use only when container has already its content + + var that = this, + $container = $(that.suggestionsContainer), + containerParent = $container.parent().get(0); + // Fix position automatically when appended to body. + // In other cases force parameter must be given. + if (containerParent !== document.body && !that.options.forceFixPosition) { + return; + } + + // Choose orientation + var orientation = that.options.orientation, + containerHeight = $container.outerHeight(), + height = that.el.outerHeight(), + offset = that.el.offset(), + styles = { 'top': offset.top, 'left': offset.left }; + + if (orientation === 'auto') { + var viewPortHeight = $(window).height(), + scrollTop = $(window).scrollTop(), + topOverflow = -scrollTop + offset.top - containerHeight, + bottomOverflow = scrollTop + viewPortHeight - (offset.top + height + containerHeight); + + orientation = (Math.max(topOverflow, bottomOverflow) === topOverflow) ? 'top' : 'bottom'; + } + + if (orientation === 'top') { + styles.top += -containerHeight; + } else { + styles.top += height; + } + + // If container is not positioned to body, + // correct its position using offset parent offset + if(containerParent !== document.body) { + var opacity = $container.css('opacity'), + parentOffsetDiff; + + if (!that.visible){ + $container.css('opacity', 0).show(); + } + + parentOffsetDiff = $container.offsetParent().offset(); + styles.top -= parentOffsetDiff.top; + styles.top += containerParent.scrollTop; + styles.left -= parentOffsetDiff.left; + + if (!that.visible){ + $container.css('opacity', opacity).hide(); + } + } + + if (that.options.width === 'auto') { + styles.width = that.el.outerWidth() + 'px'; + } + + $container.css(styles); + }, + + isCursorAtEnd: function () { + var that = this, + valLength = that.el.val().length, + selectionStart = that.element.selectionStart, + range; + + if (typeof selectionStart === 'number') { + return selectionStart === valLength; + } + if (document.selection) { + range = document.selection.createRange(); + range.moveStart('character', -valLength); + return valLength === range.text.length; + } + return true; + }, + + onKeyPress: function (e) { + var that = this; + + // If suggestions are hidden and user presses arrow down, display suggestions: + if (!that.disabled && !that.visible && e.which === keys.DOWN && that.currentValue) { + that.suggest(); + return; + } + + if (that.disabled || !that.visible) { + return; + } + + switch (e.which) { + case keys.ESC: + that.el.val(that.currentValue); + that.hide(); + break; + case keys.RIGHT: + if (that.hint && that.options.onHint && that.isCursorAtEnd()) { + that.selectHint(); + break; + } + return; + case keys.TAB: + if (that.hint && that.options.onHint) { + that.selectHint(); + return; + } + if (that.selectedIndex === -1) { + that.hide(); + return; + } + that.select(that.selectedIndex); + if (that.options.tabDisabled === false) { + return; + } + break; + case keys.RETURN: + if (that.selectedIndex === -1) { + that.hide(); + return; + } + that.select(that.selectedIndex); + break; + case keys.UP: + that.moveUp(); + break; + case keys.DOWN: + that.moveDown(); + break; + default: + return; + } + + // Cancel event if function did not return: + e.stopImmediatePropagation(); + e.preventDefault(); + }, + + onKeyUp: function (e) { + var that = this; + + if (that.disabled) { + return; + } + + switch (e.which) { + case keys.UP: + case keys.DOWN: + return; + } + + clearTimeout(that.onChangeTimeout); + + if (that.currentValue !== that.el.val()) { + that.findBestHint(); + if (that.options.deferRequestBy > 0) { + // Defer lookup in case when value changes very quickly: + that.onChangeTimeout = setTimeout(function () { + that.onValueChange(); + }, that.options.deferRequestBy); + } else { + that.onValueChange(); + } + } + }, + + onValueChange: function () { + if (this.ignoreValueChange) { + this.ignoreValueChange = false; + return; + } + + var that = this, + options = that.options, + value = that.el.val(), + query = that.getQuery(value); + + if (that.selection && that.currentValue !== query) { + that.selection = null; + (options.onInvalidateSelection || $.noop).call(that.element); + } + + clearTimeout(that.onChangeTimeout); + that.currentValue = value; + that.selectedIndex = -1; + + // Check existing suggestion for the match before proceeding: + if (options.triggerSelectOnValidInput && that.isExactMatch(query)) { + that.select(0); + return; + } + + if (query.length < options.minChars) { + that.hide(); + } else { + that.getSuggestions(query); + } + }, + + isExactMatch: function (query) { + var suggestions = this.suggestions; + + return (suggestions.length === 1 && suggestions[0].value.toLowerCase() === query.toLowerCase()); + }, + + getQuery: function (value) { + var delimiter = this.options.delimiter, + parts; + + if (!delimiter) { + return value; + } + parts = value.split(delimiter); + return $.trim(parts[parts.length - 1]); + }, + + getSuggestionsLocal: function (query) { + var that = this, + options = that.options, + queryLowerCase = query.toLowerCase(), + filter = options.lookupFilter, + limit = parseInt(options.lookupLimit, 10), + data; + + data = { + suggestions: $.grep(options.lookup, function (suggestion) { + return filter(suggestion, query, queryLowerCase); + }) + }; + + if (limit && data.suggestions.length > limit) { + data.suggestions = data.suggestions.slice(0, limit); + } + + return data; + }, + + getSuggestions: function (q) { + var response, + that = this, + options = that.options, + serviceUrl = options.serviceUrl, + params, + cacheKey, + ajaxSettings; + + options.params[options.paramName] = q; + + if (options.onSearchStart.call(that.element, options.params) === false) { + return; + } + + params = options.ignoreParams ? null : options.params; + + if ($.isFunction(options.lookup)){ + options.lookup(q, function (data) { + that.suggestions = data.suggestions; + that.suggest(); + options.onSearchComplete.call(that.element, q, data.suggestions); + }); + return; + } + + if (that.isLocal) { + response = that.getSuggestionsLocal(q); + } else { + if ($.isFunction(serviceUrl)) { + serviceUrl = serviceUrl.call(that.element, q); + } + cacheKey = serviceUrl + '?' + $.param(params || {}); + response = that.cachedResponse[cacheKey]; + } + + if (response && Array.isArray(response.suggestions)) { + that.suggestions = response.suggestions; + that.suggest(); + options.onSearchComplete.call(that.element, q, response.suggestions); + } else if (!that.isBadQuery(q)) { + that.abortAjax(); + + ajaxSettings = { + url: serviceUrl, + data: params, + type: options.type, + dataType: options.dataType + }; + + $.extend(ajaxSettings, options.ajaxSettings); + + that.currentRequest = $.ajax(ajaxSettings).done(function (data) { + var result; + that.currentRequest = null; + result = options.transformResult(data, q); + that.processResponse(result, q, cacheKey); + options.onSearchComplete.call(that.element, q, result.suggestions); + }).fail(function (jqXHR, textStatus, errorThrown) { + options.onSearchError.call(that.element, q, jqXHR, textStatus, errorThrown); + }); + } else { + options.onSearchComplete.call(that.element, q, []); + } + }, + + isBadQuery: function (q) { + if (!this.options.preventBadQueries){ + return false; + } + + var badQueries = this.badQueries, + i = badQueries.length; + + while (i--) { + if (q.indexOf(badQueries[i]) === 0) { + return true; + } + } + + return false; + }, + + hide: function () { + var that = this, + container = $(that.suggestionsContainer); + + if ($.isFunction(that.options.onHide) && that.visible) { + that.options.onHide.call(that.element, container); + } + + that.visible = false; + that.selectedIndex = -1; + clearTimeout(that.onChangeTimeout); + $(that.suggestionsContainer).hide(); + that.signalHint(null); + }, + + suggest: function () { + if (!this.suggestions.length) { + if (this.options.showNoSuggestionNotice) { + this.noSuggestions(); + } else { + this.hide(); + } + return; + } + + var that = this, + options = that.options, + groupBy = options.groupBy, + formatResult = options.formatResult, + value = that.getQuery(that.currentValue), + className = that.classes.suggestion, + classSelected = that.classes.selected, + container = $(that.suggestionsContainer), + noSuggestionsContainer = $(that.noSuggestionsContainer), + beforeRender = options.beforeRender, + html = '', + category, + formatGroup = function (suggestion, index) { + var currentCategory = suggestion.data[groupBy]; + + if (category === currentCategory){ + return ''; + } + + category = currentCategory; + + return options.formatGroup(suggestion, category); + }; + + if (options.triggerSelectOnValidInput && that.isExactMatch(value)) { + that.select(0); + return; + } + + // Build suggestions inner HTML: + $.each(that.suggestions, function (i, suggestion) { + if (groupBy){ + html += formatGroup(suggestion, value, i); + } + + html += '
                ' + formatResult(suggestion, value, i) + '
                '; + }); + + this.adjustContainerWidth(); + + noSuggestionsContainer.detach(); + container.html(html); + + if ($.isFunction(beforeRender)) { + beforeRender.call(that.element, container, that.suggestions); + } + + that.fixPosition(); + container.show(); + + // Select first value by default: + if (options.autoSelectFirst) { + that.selectedIndex = 0; + container.scrollTop(0); + container.children('.' + className).first().addClass(classSelected); + } + + that.visible = true; + that.findBestHint(); + }, + + noSuggestions: function() { + var that = this, + beforeRender = that.options.beforeRender, + container = $(that.suggestionsContainer), + noSuggestionsContainer = $(that.noSuggestionsContainer); + + this.adjustContainerWidth(); + + // Some explicit steps. Be careful here as it easy to get + // noSuggestionsContainer removed from DOM if not detached properly. + noSuggestionsContainer.detach(); + + // clean suggestions if any + container.empty(); + container.append(noSuggestionsContainer); + + if ($.isFunction(beforeRender)) { + beforeRender.call(that.element, container, that.suggestions); + } + + that.fixPosition(); + + container.show(); + that.visible = true; + }, + + adjustContainerWidth: function() { + var that = this, + options = that.options, + width, + container = $(that.suggestionsContainer); + + // If width is auto, adjust width before displaying suggestions, + // because if instance was created before input had width, it will be zero. + // Also it adjusts if input width has changed. + if (options.width === 'auto') { + width = that.el.outerWidth(); + container.css('width', width > 0 ? width : 300); + } else if(options.width === 'flex') { + // Trust the source! Unset the width property so it will be the max length + // the containing elements. + container.css('width', ''); + } + }, + + findBestHint: function () { + var that = this, + value = that.el.val().toLowerCase(), + bestMatch = null; + + if (!value) { + return; + } + + $.each(that.suggestions, function (i, suggestion) { + var foundMatch = suggestion.value.toLowerCase().indexOf(value) === 0; + if (foundMatch) { + bestMatch = suggestion; + } + return !foundMatch; + }); + + that.signalHint(bestMatch); + }, + + signalHint: function (suggestion) { + var hintValue = '', + that = this; + if (suggestion) { + hintValue = that.currentValue + suggestion.value.substr(that.currentValue.length); + } + if (that.hintValue !== hintValue) { + that.hintValue = hintValue; + that.hint = suggestion; + (this.options.onHint || $.noop)(hintValue); + } + }, + + verifySuggestionsFormat: function (suggestions) { + // If suggestions is string array, convert them to supported format: + if (suggestions.length && typeof suggestions[0] === 'string') { + return $.map(suggestions, function (value) { + return { value: value, data: null }; + }); + } + + return suggestions; + }, + + validateOrientation: function(orientation, fallback) { + orientation = $.trim(orientation || '').toLowerCase(); + + if($.inArray(orientation, ['auto', 'bottom', 'top']) === -1){ + orientation = fallback; + } + + return orientation; + }, + + processResponse: function (result, originalQuery, cacheKey) { + var that = this, + options = that.options; + + result.suggestions = that.verifySuggestionsFormat(result.suggestions); + + // Cache results if cache is not disabled: + if (!options.noCache) { + that.cachedResponse[cacheKey] = result; + if (options.preventBadQueries && !result.suggestions.length) { + that.badQueries.push(originalQuery); + } + } + + // Return if originalQuery is not matching current query: + if (originalQuery !== that.getQuery(that.currentValue)) { + return; + } + + that.suggestions = result.suggestions; + that.suggest(); + }, + + activate: function (index) { + var that = this, + activeItem, + selected = that.classes.selected, + container = $(that.suggestionsContainer), + children = container.find('.' + that.classes.suggestion); + + container.find('.' + selected).removeClass(selected); + + that.selectedIndex = index; + + if (that.selectedIndex !== -1 && children.length > that.selectedIndex) { + activeItem = children.get(that.selectedIndex); + $(activeItem).addClass(selected); + return activeItem; + } + + return null; + }, + + selectHint: function () { + var that = this, + i = $.inArray(that.hint, that.suggestions); + + that.select(i); + }, + + select: function (i) { + var that = this; + that.hide(); + that.onSelect(i); + }, + + moveUp: function () { + var that = this; + + if (that.selectedIndex === -1) { + return; + } + + if (that.selectedIndex === 0) { + $(that.suggestionsContainer).children('.' + that.classes.suggestion).first().removeClass(that.classes.selected); + that.selectedIndex = -1; + that.ignoreValueChange = false; + that.el.val(that.currentValue); + that.findBestHint(); + return; + } + + that.adjustScroll(that.selectedIndex - 1); + }, + + moveDown: function () { + var that = this; + + if (that.selectedIndex === (that.suggestions.length - 1)) { + return; + } + + that.adjustScroll(that.selectedIndex + 1); + }, + + adjustScroll: function (index) { + var that = this, + activeItem = that.activate(index); + + if (!activeItem) { + return; + } + + var offsetTop, + upperBound, + lowerBound, + heightDelta = $(activeItem).outerHeight(); + + offsetTop = activeItem.offsetTop; + upperBound = $(that.suggestionsContainer).scrollTop(); + lowerBound = upperBound + that.options.maxHeight - heightDelta; + + if (offsetTop < upperBound) { + $(that.suggestionsContainer).scrollTop(offsetTop); + } else if (offsetTop > lowerBound) { + $(that.suggestionsContainer).scrollTop(offsetTop - that.options.maxHeight + heightDelta); + } + + if (!that.options.preserveInput) { + // During onBlur event, browser will trigger "change" event, + // because value has changed, to avoid side effect ignore, + // that event, so that correct suggestion can be selected + // when clicking on suggestion with a mouse + that.ignoreValueChange = true; + that.el.val(that.getValue(that.suggestions[index].value)); + } + + that.signalHint(null); + }, + + onSelect: function (index) { + var that = this, + onSelectCallback = that.options.onSelect, + suggestion = that.suggestions[index]; + + that.currentValue = that.getValue(suggestion.value); + + if (that.currentValue !== that.el.val() && !that.options.preserveInput) { + that.el.val(that.currentValue); + } + + that.signalHint(null); + that.suggestions = []; + that.selection = suggestion; + + if ($.isFunction(onSelectCallback)) { + onSelectCallback.call(that.element, suggestion); + } + }, + + getValue: function (value) { + var that = this, + delimiter = that.options.delimiter, + currentValue, + parts; + + if (!delimiter) { + return value; + } + + currentValue = that.currentValue; + parts = currentValue.split(delimiter); + + if (parts.length === 1) { + return value; + } + + return currentValue.substr(0, currentValue.length - parts[parts.length - 1].length) + value; + }, + + dispose: function () { + var that = this; + that.el.off('.autocomplete').removeData('autocomplete'); + $(window).off('resize.autocomplete', that.fixPositionCapture); + $(that.suggestionsContainer).remove(); + } + }; + + // Create chainable jQuery plugin: + $.fn.devbridgeAutocomplete = function (options, args) { + var dataKey = 'autocomplete'; + // If function invoked without argument return + // instance of the first matched element: + if (!arguments.length) { + return this.first().data(dataKey); + } + + return this.each(function () { + var inputElement = $(this), + instance = inputElement.data(dataKey); + + if (typeof options === 'string') { + if (instance && typeof instance[options] === 'function') { + instance[options](args); + } + } else { + // If instance already exists, destroy it: + if (instance && instance.dispose) { + instance.dispose(); + } + instance = new Autocomplete(this, options); + inputElement.data(dataKey, instance); + } + }); + }; + + // Don't overwrite if it already exists + if (!$.fn.autocomplete) { + $.fn.autocomplete = $.fn.devbridgeAutocomplete; + } +})); diff --git a/core/media/jui/js/jquery.autocomplete.min.js b/core/media/jui/js/jquery.autocomplete.min.js index d1687ec9..f56296ca 100644 --- a/core/media/jui/js/jquery.autocomplete.min.js +++ b/core/media/jui/js/jquery.autocomplete.min.js @@ -1,8 +1,8 @@ -/** -* Ajax Autocomplete for jQuery, version 1.4.7 -* (c) 2017 Tomas Kirda -* -* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license. -* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete -*/ +/** +* Ajax Autocomplete for jQuery, version 1.4.7 +* (c) 2017 Tomas Kirda +* +* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license. +* For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete +*/ !function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports&&"function"==typeof require?require("jquery"):jQuery)}(function(a){"use strict";function b(c,d){var e=this;e.element=c,e.el=a(c),e.suggestions=[],e.badQueries=[],e.selectedIndex=-1,e.currentValue=e.element.value,e.timeoutId=null,e.cachedResponse={},e.onChangeTimeout=null,e.onChange=null,e.isLocal=!1,e.suggestionsContainer=null,e.noSuggestionsContainer=null,e.options=a.extend({},b.defaults,d),e.classes={selected:"autocomplete-selected",suggestion:"autocomplete-suggestion"},e.hint=null,e.hintValue="",e.selection=null,e.initialize(),e.setOptions(d)}function c(a,b,c){return a.value.toLowerCase().indexOf(c)!==-1}function d(b){return"string"==typeof b?a.parseJSON(b):b}function e(a,b){if(!b)return a.value;var c="("+g.escapeRegExChars(b)+")";return a.value.replace(new RegExp(c,"gi"),"$1").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/<(\/?strong)>/g,"<$1>")}function f(a,b){return'
                '+b+"
                "}var g=function(){return{escapeRegExChars:function(a){return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(a){var b=document.createElement("div");return b.className=a,b.style.position="absolute",b.style.display="none",b}}}(),h={ESC:27,TAB:9,RETURN:13,LEFT:37,UP:38,RIGHT:39,DOWN:40},i=a.noop;b.utils=g,a.Autocomplete=b,b.defaults={ajaxSettings:{},autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{},formatResult:e,formatGroup:f,delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:i,onSearchComplete:i,onSearchError:i,preserveInput:!1,containerClass:"autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:c,paramName:"query",transformResult:d,showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1},b.prototype={initialize:function(){var c,d=this,e="."+d.classes.suggestion,f=d.classes.selected,g=d.options;d.element.setAttribute("autocomplete","off"),d.noSuggestionsContainer=a('
                ').html(this.options.noSuggestionNotice).get(0),d.suggestionsContainer=b.utils.createNode(g.containerClass),c=a(d.suggestionsContainer),c.appendTo(g.appendTo||"body"),"auto"!==g.width&&c.css("width",g.width),c.on("mouseover.autocomplete",e,function(){d.activate(a(this).data("index"))}),c.on("mouseout.autocomplete",function(){d.selectedIndex=-1,c.children("."+f).removeClass(f)}),c.on("click.autocomplete",e,function(){d.select(a(this).data("index"))}),c.on("click.autocomplete",function(){clearTimeout(d.blurTimeoutId)}),d.fixPositionCapture=function(){d.visible&&d.fixPosition()},a(window).on("resize.autocomplete",d.fixPositionCapture),d.el.on("keydown.autocomplete",function(a){d.onKeyPress(a)}),d.el.on("keyup.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("blur.autocomplete",function(){d.onBlur()}),d.el.on("focus.autocomplete",function(){d.onFocus()}),d.el.on("change.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("input.autocomplete",function(a){d.onKeyUp(a)})},onFocus:function(){var a=this;a.fixPosition(),a.el.val().length>=a.options.minChars&&a.onValueChange()},onBlur:function(){var a=this;a.blurTimeoutId=setTimeout(function(){a.hide()},200)},abortAjax:function(){var a=this;a.currentRequest&&(a.currentRequest.abort(),a.currentRequest=null)},setOptions:function(b){var c=this,d=a.extend({},c.options,b);c.isLocal=Array.isArray(d.lookup),c.isLocal&&(d.lookup=c.verifySuggestionsFormat(d.lookup)),d.orientation=c.validateOrientation(d.orientation,"bottom"),a(c.suggestionsContainer).css({"max-height":d.maxHeight+"px",width:d.width+"px","z-index":d.zIndex}),this.options=d},clearCache:function(){this.cachedResponse={},this.badQueries=[]},clear:function(){this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){var a=this;a.disabled=!0,clearTimeout(a.onChangeTimeout),a.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var b=this,c=a(b.suggestionsContainer),d=c.parent().get(0);if(d===document.body||b.options.forceFixPosition){var e=b.options.orientation,f=c.outerHeight(),g=b.el.outerHeight(),h=b.el.offset(),i={top:h.top,left:h.left};if("auto"===e){var j=a(window).height(),k=a(window).scrollTop(),l=-k+h.top-f,m=k+j-(h.top+g+f);e=Math.max(l,m)===l?"top":"bottom"}if("top"===e?i.top+=-f:i.top+=g,d!==document.body){var n,o=c.css("opacity");b.visible||c.css("opacity",0).show(),n=c.offsetParent().offset(),i.top-=n.top,i.top+=d.scrollTop,i.left-=n.left,b.visible||c.css("opacity",o).hide()}"auto"===b.options.width&&(i.width=b.el.outerWidth()+"px"),c.css(i)}},isCursorAtEnd:function(){var a,b=this,c=b.el.val().length,d=b.element.selectionStart;return"number"==typeof d?d===c:!document.selection||(a=document.selection.createRange(),a.moveStart("character",-c),c===a.text.length)},onKeyPress:function(a){var b=this;if(!b.disabled&&!b.visible&&a.which===h.DOWN&&b.currentValue)return void b.suggest();if(!b.disabled&&b.visible){switch(a.which){case h.ESC:b.el.val(b.currentValue),b.hide();break;case h.RIGHT:if(b.hint&&b.options.onHint&&b.isCursorAtEnd()){b.selectHint();break}return;case h.TAB:if(b.hint&&b.options.onHint)return void b.selectHint();if(b.selectedIndex===-1)return void b.hide();if(b.select(b.selectedIndex),b.options.tabDisabled===!1)return;break;case h.RETURN:if(b.selectedIndex===-1)return void b.hide();b.select(b.selectedIndex);break;case h.UP:b.moveUp();break;case h.DOWN:b.moveDown();break;default:return}a.stopImmediatePropagation(),a.preventDefault()}},onKeyUp:function(a){var b=this;if(!b.disabled){switch(a.which){case h.UP:case h.DOWN:return}clearTimeout(b.onChangeTimeout),b.currentValue!==b.el.val()&&(b.findBestHint(),b.options.deferRequestBy>0?b.onChangeTimeout=setTimeout(function(){b.onValueChange()},b.options.deferRequestBy):b.onValueChange())}},onValueChange:function(){if(this.ignoreValueChange)return void(this.ignoreValueChange=!1);var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);return b.selection&&b.currentValue!==e&&(b.selection=null,(c.onInvalidateSelection||a.noop).call(b.element)),clearTimeout(b.onChangeTimeout),b.currentValue=d,b.selectedIndex=-1,c.triggerSelectOnValidInput&&b.isExactMatch(e)?void b.select(0):void(e.lengthh&&(c.suggestions=c.suggestions.slice(0,h)),c},getSuggestions:function(b){var c,d,e,f,g=this,h=g.options,i=h.serviceUrl;if(h.params[h.paramName]=b,h.onSearchStart.call(g.element,h.params)!==!1){if(d=h.ignoreParams?null:h.params,a.isFunction(h.lookup))return void h.lookup(b,function(a){g.suggestions=a.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,a.suggestions)});g.isLocal?c=g.getSuggestionsLocal(b):(a.isFunction(i)&&(i=i.call(g.element,b)),e=i+"?"+a.param(d||{}),c=g.cachedResponse[e]),c&&Array.isArray(c.suggestions)?(g.suggestions=c.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,c.suggestions)):g.isBadQuery(b)?h.onSearchComplete.call(g.element,b,[]):(g.abortAjax(),f={url:i,data:d,type:h.type,dataType:h.dataType},a.extend(f,h.ajaxSettings),g.currentRequest=a.ajax(f).done(function(a){var c;g.currentRequest=null,c=h.transformResult(a,b),g.processResponse(c,b,e),h.onSearchComplete.call(g.element,b,c.suggestions)}).fail(function(a,c,d){h.onSearchError.call(g.element,b,a,c,d)}))}},isBadQuery:function(a){if(!this.options.preventBadQueries)return!1;for(var b=this.badQueries,c=b.length;c--;)if(0===a.indexOf(b[c]))return!0;return!1},hide:function(){var b=this,c=a(b.suggestionsContainer);a.isFunction(b.options.onHide)&&b.visible&&b.options.onHide.call(b.element,c),b.visible=!1,b.selectedIndex=-1,clearTimeout(b.onChangeTimeout),a(b.suggestionsContainer).hide(),b.signalHint(null)},suggest:function(){if(!this.suggestions.length)return void(this.options.showNoSuggestionNotice?this.noSuggestions():this.hide());var b,c=this,d=c.options,e=d.groupBy,f=d.formatResult,g=c.getQuery(c.currentValue),h=c.classes.suggestion,i=c.classes.selected,j=a(c.suggestionsContainer),k=a(c.noSuggestionsContainer),l=d.beforeRender,m="",n=function(a,c){var f=a.data[e];return b===f?"":(b=f,d.formatGroup(a,b))};return d.triggerSelectOnValidInput&&c.isExactMatch(g)?void c.select(0):(a.each(c.suggestions,function(a,b){e&&(m+=n(b,g,a)),m+='
                '+f(b,g,a)+"
                "}),this.adjustContainerWidth(),k.detach(),j.html(m),a.isFunction(l)&&l.call(c.element,j,c.suggestions),c.fixPosition(),j.show(),d.autoSelectFirst&&(c.selectedIndex=0,j.scrollTop(0),j.children("."+h).first().addClass(i)),c.visible=!0,void c.findBestHint())},noSuggestions:function(){var b=this,c=b.options.beforeRender,d=a(b.suggestionsContainer),e=a(b.noSuggestionsContainer);this.adjustContainerWidth(),e.detach(),d.empty(),d.append(e),a.isFunction(c)&&c.call(b.element,d,b.suggestions),b.fixPosition(),d.show(),b.visible=!0},adjustContainerWidth:function(){var b,c=this,d=c.options,e=a(c.suggestionsContainer);"auto"===d.width?(b=c.el.outerWidth(),e.css("width",b>0?b:300)):"flex"===d.width&&e.css("width","")},findBestHint:function(){var b=this,c=b.el.val().toLowerCase(),d=null;c&&(a.each(b.suggestions,function(a,b){var e=0===b.value.toLowerCase().indexOf(c);return e&&(d=b),!e}),b.signalHint(d))},signalHint:function(b){var c="",d=this;b&&(c=d.currentValue+b.value.substr(d.currentValue.length)),d.hintValue!==c&&(d.hintValue=c,d.hint=b,(this.options.onHint||a.noop)(c))},verifySuggestionsFormat:function(b){return b.length&&"string"==typeof b[0]?a.map(b,function(a){return{value:a,data:null}}):b},validateOrientation:function(b,c){return b=a.trim(b||"").toLowerCase(),a.inArray(b,["auto","bottom","top"])===-1&&(b=c),b},processResponse:function(a,b,c){var d=this,e=d.options;a.suggestions=d.verifySuggestionsFormat(a.suggestions),e.noCache||(d.cachedResponse[c]=a,e.preventBadQueries&&!a.suggestions.length&&d.badQueries.push(b)),b===d.getQuery(d.currentValue)&&(d.suggestions=a.suggestions,d.suggest())},activate:function(b){var c,d=this,e=d.classes.selected,f=a(d.suggestionsContainer),g=f.find("."+d.classes.suggestion);return f.find("."+e).removeClass(e),d.selectedIndex=b,d.selectedIndex!==-1&&g.length>d.selectedIndex?(c=g.get(d.selectedIndex),a(c).addClass(e),c):null},selectHint:function(){var b=this,c=a.inArray(b.hint,b.suggestions);b.select(c)},select:function(a){var b=this;b.hide(),b.onSelect(a)},moveUp:function(){var b=this;if(b.selectedIndex!==-1)return 0===b.selectedIndex?(a(b.suggestionsContainer).children("."+b.classes.suggestion).first().removeClass(b.classes.selected),b.selectedIndex=-1,b.ignoreValueChange=!1,b.el.val(b.currentValue),void b.findBestHint()):void b.adjustScroll(b.selectedIndex-1)},moveDown:function(){var a=this;a.selectedIndex!==a.suggestions.length-1&&a.adjustScroll(a.selectedIndex+1)},adjustScroll:function(b){var c=this,d=c.activate(b);if(d){var e,f,g,h=a(d).outerHeight();e=d.offsetTop,f=a(c.suggestionsContainer).scrollTop(),g=f+c.options.maxHeight-h,eg&&a(c.suggestionsContainer).scrollTop(e-c.options.maxHeight+h),c.options.preserveInput||(c.ignoreValueChange=!0,c.el.val(c.getValue(c.suggestions[b].value))),c.signalHint(null)}},onSelect:function(b){var c=this,d=c.options.onSelect,e=c.suggestions[b];c.currentValue=c.getValue(e.value),c.currentValue===c.el.val()||c.options.preserveInput||c.el.val(c.currentValue),c.signalHint(null),c.suggestions=[],c.selection=e,a.isFunction(d)&&d.call(c.element,e)},getValue:function(a){var b,c,d=this,e=d.options.delimiter;return e?(b=d.currentValue,c=b.split(e),1===c.length?a:b.substr(0,b.length-c[c.length-1].length)+a):a},dispose:function(){var b=this;b.el.off(".autocomplete").removeData("autocomplete"),a(window).off("resize.autocomplete",b.fixPositionCapture),a(b.suggestionsContainer).remove()}},a.fn.devbridgeAutocomplete=function(c,d){var e="autocomplete";return arguments.length?this.each(function(){var f=a(this),g=f.data(e);"string"==typeof c?g&&"function"==typeof g[c]&&g[c](d):(g&&g.dispose&&g.dispose(),g=new b(this,c),f.data(e,g))}):this.first().data(e)},a.fn.autocomplete||(a.fn.autocomplete=a.fn.devbridgeAutocomplete)}); \ No newline at end of file diff --git a/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.php b/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.php index 0bb774a9..10610845 100644 --- a/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.php +++ b/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.php @@ -1,166 +1,166 @@ -EU Cookie Directive. -Version: 1.0.5 -Author: Channel Computing -Author URI: http://www.channelcomputing.co.uk - -Copyright (C) 2011-2012, Channel Computing -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -// no direct access -defined( '_JEXEC' ) or die( 'Restricted access' ); - -jimport( 'joomla.plugin.plugin' ); - -/** - * Joomla! EU Cookie Directive plugin - * - * @package Joomla - * @subpackage System - */ -class plgSystemEUCookieDirectiveLite extends JPlugin -{ - /** - * Constructor - * - * For php4 compatability we must not use the __constructor as a constructor for plugins - * because func_get_args ( void ) returns a copy of all passed arguments NOT references. - * This causes problems with cross-referencing necessary for the observer design pattern. - * - * @access protected - * @param object $subject The object to observe - * @param array $config An array that holds the plugin configuration - * @since 1.0 - */ - function plgSystemEUCookieDirectiveLite(& $subject, $config) - { - parent::__construct($subject, $config); - - } - - /** - * Start the output - * - */ - function onAfterRender() - { - - global $mainframe, $database; - - //get Params - $message = $this->params->get('warningMessage', ''); - $privacyLink = $this->params->get('detailsUrl', 'index.php'); - $width = $this->params->get('width', '0'); - - //deal with the width options - if ($width == "0") { - $width = "100%"; - } else { - $width = $width . "px"; - } - - $document = JFactory::getDocument(); - $doctype = $document->getType(); - $app = JFactory::getApplication(); - - $ICON_FOLDER = JURI::root() . 'plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/images/'; - - if ( $app->getClientId() === 0 ) { - - $strOutputHTML = ""; - $style = ''; - - $hide = "\n".''."\n"; - - //Define paths for portability - //$SCRIPTS_FOLDER = JURI::root() . 'plugins/system/EUCookieDirective/'; - $SCRIPTS_FOLDER = JURI::root() . 'plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/'; - $cookiescript = ''."\n"; - - $strOutputHTML = ""; - $strOutputHTML .= '
                '; - $strOutputHTML .= '
                '; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= '
                '; - $strOutputHTML .= '
                '; - $strOutputHTML .= '

                ' . $message . ' To find out more about the cookies we use and how to delete them, see our privacy policy.

                '; - $strOutputHTML .= '
                '; - $strOutputHTML .= '
                  '; - $strOutputHTML .= 'I accept cookies from this site. '; - $strOutputHTML .= ''; - $strOutputHTML .= ''; - $strOutputHTML .= '
                EU Cookie Directive Module Information
                '; - $strOutputHTML .= '
                '; - $strOutputHTML .= '
                '; - $strOutputHTML .= '
                '; - - //Only write the HTML Output if the cookie has not been set as "accepted" - if(!isset($_COOKIE['cookieAcceptanceCookie']) || $_COOKIE['cookieAcceptanceCookie'] != "accepted") - { - - $body = JResponse::getBody(); - $body = str_replace('', $style.'', $body); - $body = str_replace('', $strOutputHTML.$cookiescript.'', $body); - JResponse::setBody($body); - } - elseif($_COOKIE['cookieAcceptanceCookie'] == "accepted") { - $body = JResponse::getBody(); - $body = str_replace('', $hide.'', $body); - JResponse::setBody($body); - } - } - } +EU Cookie Directive. +Version: 1.0.5 +Author: Channel Computing +Author URI: http://www.channelcomputing.co.uk + +Copyright (C) 2011-2012, Channel Computing +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// no direct access +defined( '_JEXEC' ) or die( 'Restricted access' ); + +jimport( 'joomla.plugin.plugin' ); + +/** + * Joomla! EU Cookie Directive plugin + * + * @package Joomla + * @subpackage System + */ +class plgSystemEUCookieDirectiveLite extends JPlugin +{ + /** + * Constructor + * + * For php4 compatability we must not use the __constructor as a constructor for plugins + * because func_get_args ( void ) returns a copy of all passed arguments NOT references. + * This causes problems with cross-referencing necessary for the observer design pattern. + * + * @access protected + * @param object $subject The object to observe + * @param array $config An array that holds the plugin configuration + * @since 1.0 + */ + function plgSystemEUCookieDirectiveLite(& $subject, $config) + { + parent::__construct($subject, $config); + + } + + /** + * Start the output + * + */ + function onAfterRender() + { + + global $mainframe, $database; + + //get Params + $message = $this->params->get('warningMessage', ''); + $privacyLink = $this->params->get('detailsUrl', 'index.php'); + $width = $this->params->get('width', '0'); + + //deal with the width options + if ($width == "0") { + $width = "100%"; + } else { + $width = $width . "px"; + } + + $document = JFactory::getDocument(); + $doctype = $document->getType(); + $app = JFactory::getApplication(); + + $ICON_FOLDER = JURI::root() . 'plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/images/'; + + if ( $app->getClientId() === 0 ) { + + $strOutputHTML = ""; + $style = ''; + + $hide = "\n".''."\n"; + + //Define paths for portability + //$SCRIPTS_FOLDER = JURI::root() . 'plugins/system/EUCookieDirective/'; + $SCRIPTS_FOLDER = JURI::root() . 'plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/'; + $cookiescript = ''."\n"; + + $strOutputHTML = ""; + $strOutputHTML .= '
                '; + $strOutputHTML .= '
                '; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= '
                '; + $strOutputHTML .= '
                '; + $strOutputHTML .= '

                ' . $message . ' To find out more about the cookies we use and how to delete them, see our privacy policy.

                '; + $strOutputHTML .= '
                '; + $strOutputHTML .= '
                  '; + $strOutputHTML .= 'I accept cookies from this site. '; + $strOutputHTML .= ''; + $strOutputHTML .= ''; + $strOutputHTML .= '
                EU Cookie Directive Module Information
                '; + $strOutputHTML .= '
                '; + $strOutputHTML .= '
                '; + $strOutputHTML .= '
                '; + + //Only write the HTML Output if the cookie has not been set as "accepted" + if(!isset($_COOKIE['cookieAcceptanceCookie']) || $_COOKIE['cookieAcceptanceCookie'] != "accepted") + { + + $body = JResponse::getBody(); + $body = str_replace('', $style.'', $body); + $body = str_replace('', $strOutputHTML.$cookiescript.'', $body); + JResponse::setBody($body); + } + elseif($_COOKIE['cookieAcceptanceCookie'] == "accepted") { + $body = JResponse::getBody(); + $body = str_replace('', $hide.'', $body); + JResponse::setBody($body); + } + } + } } \ No newline at end of file diff --git a/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.xml b/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.xml index 990ba789..25bab776 100644 --- a/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.xml +++ b/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.xml @@ -1,27 +1,27 @@ - - - system - EUCookieDirectiveLite - Channel Digital. - 2013-11-19 - All rights reserved by channeldigital.co.uk 2013. - GPL 1.0 - info@channeldigital.co.uk - www.channeldigital.co.uk - 1.1.1 - Displays a cookie acceptance banner at the top of the site to warn about the site using cookies. - - EUCookieDirectiveLite.php - EUCookieDirectiveLite/images/info_icon.png - EUCookieDirectiveLite/images/continue_button.png - EUCookieDirectiveLite/EUCookieDirective.js - - - -
                - - - -
                -
                -
                -
                + + + system - EUCookieDirectiveLite + Channel Digital. + 2013-11-19 + All rights reserved by channeldigital.co.uk 2013. + GPL 1.0 + info@channeldigital.co.uk + www.channeldigital.co.uk + 1.1.1 + Displays a cookie acceptance banner at the top of the site to warn about the site using cookies. + + EUCookieDirectiveLite.php + EUCookieDirectiveLite/images/info_icon.png + EUCookieDirectiveLite/images/continue_button.png + EUCookieDirectiveLite/EUCookieDirective.js + + + +
                + + + +
                +
                +
                +
                diff --git a/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/EUCookieDirective.js b/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/EUCookieDirective.js index b829c99b..e32bd65d 100644 --- a/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/EUCookieDirective.js +++ b/deployed/EUCookieDirectiveLite/plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite/EUCookieDirective.js @@ -1,9 +1,9 @@ -function SetCookie(cookieName,cookieValue,nDays) { - var today = new Date(); - var expire = new Date(); - if (nDays==null || nDays==0) nDays=1; - expire.setTime(today.getTime() + 3600000*24*nDays); - document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString()+"; path=/"; - document.getElementById("cookieMessageContainer").style.display="none"; - window.location.href=window.location.href; +function SetCookie(cookieName,cookieValue,nDays) { + var today = new Date(); + var expire = new Date(); + if (nDays==null || nDays==0) nDays=1; + expire.setTime(today.getTime() + 3600000*24*nDays); + document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString()+"; path=/"; + document.getElementById("cookieMessageContainer").style.display="none"; + window.location.href=window.location.href; } \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_acym.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_acym.sys.ini index 6e857d99..21fe3264 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_acym.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_acym.sys.ini @@ -1,17 +1,17 @@ -ACYM="AcyMailing 6" -COM_ACYM="AcyMailing 6" -COM_ACYM_CONFIGURATION="AcyMailing 6" -ACYM_USERS="Users" -ACYM_CUSTOM_FIELDS="Custom fields" -ACYM_LISTS="Lists" -ACYM_TEMPLATES="Templates" -ACYM_CAMPAIGNS="Campaigns" -ACYM_QUEUE="Queue" -ACYM_AUTOMATION="Automation" -ACYM_STATISTICS="Statistics" -ACYM_BOUNCE_HANDLING="Bounce handling" -ACYM_CONFIGURATION="Configuration" -ACYM_MENU_PROFILE="User profile" -ACYM_MENU_PROFILE_DESC="This element gives your visitors or logged-in users a way to subscribe / modify their subscription." -ACYM_MENU_ARCHIVE="Newsletters archive" -ACYM_MENU_ARCHIVE_DESC="Show the sent newsletters" +ACYM="AcyMailing 6" +COM_ACYM="AcyMailing 6" +COM_ACYM_CONFIGURATION="AcyMailing 6" +ACYM_USERS="Users" +ACYM_CUSTOM_FIELDS="Custom fields" +ACYM_LISTS="Lists" +ACYM_TEMPLATES="Templates" +ACYM_CAMPAIGNS="Campaigns" +ACYM_QUEUE="Queue" +ACYM_AUTOMATION="Automation" +ACYM_STATISTICS="Statistics" +ACYM_BOUNCE_HANDLING="Bounce handling" +ACYM_CONFIGURATION="Configuration" +ACYM_MENU_PROFILE="User profile" +ACYM_MENU_PROFILE_DESC="This element gives your visitors or logged-in users a way to subscribe / modify their subscription." +ACYM_MENU_ARCHIVE="Newsletters archive" +ACYM_MENU_ARCHIVE_DESC="Show the sent newsletters" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_alworkshops.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_alworkshops.ini index d2e9e3b2..5e619b65 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_alworkshops.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_alworkshops.ini @@ -1,109 +1,109 @@ -COM_ALWORKSHOPS="ARCHLine Workshops" -COM_ALWORKSHOPS_COMPONENT_LABEL="Alworkshops" -COM_ALWORKSHOPS_CONFIGURATION="Alworkshops Configuration" -COM_ALWORKSHOPS_ACCESS_HEADING="Access" -COM_ALWORKSHOPS_COMPONENT_DESC="Manage workshops" -COM_ALWORKSHOPS_N_ITEMS_ARCHIVED="%d items successfully archived" -COM_ALWORKSHOPS_N_ITEMS_ARCHIVED_1="%d item successfully archived" -COM_ALWORKSHOPS_N_ITEMS_CHECKED_IN_0="No item successfully checked in" -COM_ALWORKSHOPS_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" -COM_ALWORKSHOPS_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" -COM_ALWORKSHOPS_N_ITEMS_DELETED="%d items successfully deleted" -COM_ALWORKSHOPS_N_ITEMS_DELETED_1="%d item successfully deleted" -COM_ALWORKSHOPS_N_ITEMS_PUBLISHED="%d items successfully published" -COM_ALWORKSHOPS_N_ITEMS_PUBLISHED_1="%d item successfully published" -COM_ALWORKSHOPS_N_ITEMS_TRASHED="%d items successfully trashed" -COM_ALWORKSHOPS_N_ITEMS_TRASHED_1="%d item successfully trashed" -COM_ALWORKSHOPS_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" -COM_ALWORKSHOPS_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" -COM_ALWORKSHOPS_NO_ITEM_SELECTED="No items selected" -COM_ALWORKSHOPS_SAVE_SUCCESS="Item successfully saved" -COM_ALWORKSHOPS_ITEM_ID_SELECT_LABEL="Select the item ID" -COM_ALWORKSHOPS_ITEM_ID_SELECT_LABEL_FORM="Select the Item ID to Edit (Set up as 0 if you want to set up as add form)" -COM_ALWORKSHOPS_FIELDSET_ITEM_ID_SELECT_LABEL="Required Settings" -COM_ALWORKSHOPS_FILTER_SELECT_LABEL=" - Select %s - " -COM_ALWORKSHOPS_TEST_LABEL="Test label" -COM_ALWORKSHOPS_FIELDSET_RULES="Permissions" -COM_ALWORKSHOPS_FROM_FILTER="From %s" -COM_ALWORKSHOPS_TO_FILTER="To %s" -COM_ALWORKSHOPS_VIEW_FILE="[View File]" -COM_ALWORKSHOPS_ITEMS_SUCCESS_DUPLICATED="Items successfully duplicated" - -COM_ALWORKSHOPS_EDIT="Edit" -COM_ALWORKSHOPS_NEW="New" -COM_ALWORKSHOPS_SAVE="Save" -COM_ALWORKSHOPS_EXIT="Exit" -COM_ALWORKSHOPS_ID="ID" -COM_ALWORKSHOPS_COURSEID="CourseID" -COM_ALWORKSHOPS_SESSIONID="SessID" -COM_ALWORKSHOPS_APPLICATIONID="AppID" -COM_ALWORKSHOPS_SWITCHID="SwitchID" -COM_ALWORKSHOPS_USERID="UserID" -COM_ALWORKSHOPS_NAME="Name" -COM_ALWORKSHOPS_EMAIL="Email" -COM_ALWORKSHOPS_TITLE="Title" -COM_ALWORKSHOPS_ALIAS="Alias" -COM_ALWORKSHOPS_PATH="Path" -COM_ALWORKSHOPS_PRICE="Price" -COM_ALWORKSHOPS_PRICE_PER_ATTENDEE="Price per attendee" -COM_ALWORKSHOPS_FULLPRICE="Full Price" -COM_ALWORKSHOPS_VAT="Vat" -COM_ALWORKSHOPS_MIN_ATTEND="Min. Attend" -COM_ALWORKSHOPS_CAPACITY="Capacity" -COM_ALWORKSHOPS_ATTENDEES="Attendees" -COM_ALWORKSHOPS_ATTEND="Attend" -COM_ALWORKSHOPS_LOCATION="Location" -COM_ALWORKSHOPS_EMAIL_TEMPLATE="Email template" -COM_ALWORKSHOPS_START_DATE="Start date" -COM_ALWORKSHOPS_START_TIME="Start time" -COM_ALWORKSHOPS_FINISH_DATE="Finish date" -COM_ALWORKSHOPS_FINISH_TIME="Finish time" -COM_ALWORKSHOPS_DURATION="Duration" -COM_ALWORKSHOPS_PUBLISHED="Published" -COM_ALWORKSHOPS_ONLYPAY="Only with price" -COM_ALWORKSHOPS_ORDERING="Ordering" -COM_ALWORKSHOPS_OPTIONS="Options" -COM_ALWORKSHOPS_YES="Yes" -COM_ALWORKSHOPS_NO="No" -COM_ALWORKSHOPS_ALL="All" -COM_ALWORKSHOPS_SEARCH="Search" -COM_ALWORKSHOPS_RESET="Reset" -COM_ALWORKSHOPS_CONTROL_PANEL_HELP="Control Panel & Help" -COM_ALWORKSHOPS_APPLICATIONS="Applications" -COM_ALWORKSHOPS_TYPE="Type" -COM_ALWORKSHOPS_WORKSHOP="Workshop" -COM_ALWORKSHOPS_COURSE="Course" -COM_ALWORKSHOPS_COURSES="Courses" -COM_ALWORKSHOPS_SESSIONS="Sessions" -COM_ALWORKSHOPS_SESSIONDESC="Session desc" -COM_ALWORKSHOPS_SESSIONDATE="Session date" -COM_ALWORKSHOPS_SWITCH="Switch" -COM_ALWORKSHOPS_ASK_FOR_COMPUTER="Ask for computer" -COM_ALWORKSHOPS_HAVE_LEASE="I have lease" -COM_ALWORKSHOPS_COMP="Comp" -COM_ALWORKSHOPS_LEASE="Lease" -COM_ALWORKSHOPS_GROUP="Group" -COM_ALWORKSHOPS_WEBINAIR="Webinar" -COM_ALWORKSHOPS_EVENT="Event" -COM_ALWORKSHOPS_EVENT_SHORT="Event" -COM_ALWORKSHOPS_PHONE="Phone" -COM_ALWORKSHOPS_PHONE_SHORT="Phone" -COM_ALWORKSHOPS_COUNTRY="Country" -COM_ALWORKSHOPS_COUNTRY_SHORT="Cntry" -COM_ALWORKSHOPS_PROFESSION="Profession" -COM_ALWORKSHOPS_PROFESSION_SHORT="Prof." -COM_ALWORKSHOPS_LOGIN="Login" -COM_ALWORKSHOPS_LOGIN_SHORT="Login" -COM_ALWORKSHOPS_COURSENO="Course number" -COM_ALWORKSHOPS_COURSENO_SHORT="Course no." -COM_ALWORKSHOPS_LEVEL="Level" -COM_ALWORKSHOPS_PRELIMINARY="Preliminary" -COM_ALWORKSHOPS_INTERMEDIATE="Intermediate" -COM_ALWORKSHOPS_TUTOR="Tutor" -COM_ALWORKSHOPS_EXAM="Exam" -COM_ALWORKSHOPS_EXAM_GROUP="Exam group" -COM_ALWORKSHOPS_COMMENT="Comment" -COM_ALWORKSHOPS_COMMENT_SHORT="Com." -COM_ALWORKSHOPS_ONLINE_SESSIONS = "Online Sessions" -COM_ALWORKSHOPS_EDUCATION="New Courses" +COM_ALWORKSHOPS="ARCHLine Workshops" +COM_ALWORKSHOPS_COMPONENT_LABEL="Alworkshops" +COM_ALWORKSHOPS_CONFIGURATION="Alworkshops Configuration" +COM_ALWORKSHOPS_ACCESS_HEADING="Access" +COM_ALWORKSHOPS_COMPONENT_DESC="Manage workshops" +COM_ALWORKSHOPS_N_ITEMS_ARCHIVED="%d items successfully archived" +COM_ALWORKSHOPS_N_ITEMS_ARCHIVED_1="%d item successfully archived" +COM_ALWORKSHOPS_N_ITEMS_CHECKED_IN_0="No item successfully checked in" +COM_ALWORKSHOPS_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" +COM_ALWORKSHOPS_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" +COM_ALWORKSHOPS_N_ITEMS_DELETED="%d items successfully deleted" +COM_ALWORKSHOPS_N_ITEMS_DELETED_1="%d item successfully deleted" +COM_ALWORKSHOPS_N_ITEMS_PUBLISHED="%d items successfully published" +COM_ALWORKSHOPS_N_ITEMS_PUBLISHED_1="%d item successfully published" +COM_ALWORKSHOPS_N_ITEMS_TRASHED="%d items successfully trashed" +COM_ALWORKSHOPS_N_ITEMS_TRASHED_1="%d item successfully trashed" +COM_ALWORKSHOPS_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" +COM_ALWORKSHOPS_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" +COM_ALWORKSHOPS_NO_ITEM_SELECTED="No items selected" +COM_ALWORKSHOPS_SAVE_SUCCESS="Item successfully saved" +COM_ALWORKSHOPS_ITEM_ID_SELECT_LABEL="Select the item ID" +COM_ALWORKSHOPS_ITEM_ID_SELECT_LABEL_FORM="Select the Item ID to Edit (Set up as 0 if you want to set up as add form)" +COM_ALWORKSHOPS_FIELDSET_ITEM_ID_SELECT_LABEL="Required Settings" +COM_ALWORKSHOPS_FILTER_SELECT_LABEL=" - Select %s - " +COM_ALWORKSHOPS_TEST_LABEL="Test label" +COM_ALWORKSHOPS_FIELDSET_RULES="Permissions" +COM_ALWORKSHOPS_FROM_FILTER="From %s" +COM_ALWORKSHOPS_TO_FILTER="To %s" +COM_ALWORKSHOPS_VIEW_FILE="[View File]" +COM_ALWORKSHOPS_ITEMS_SUCCESS_DUPLICATED="Items successfully duplicated" + +COM_ALWORKSHOPS_EDIT="Edit" +COM_ALWORKSHOPS_NEW="New" +COM_ALWORKSHOPS_SAVE="Save" +COM_ALWORKSHOPS_EXIT="Exit" +COM_ALWORKSHOPS_ID="ID" +COM_ALWORKSHOPS_COURSEID="CourseID" +COM_ALWORKSHOPS_SESSIONID="SessID" +COM_ALWORKSHOPS_APPLICATIONID="AppID" +COM_ALWORKSHOPS_SWITCHID="SwitchID" +COM_ALWORKSHOPS_USERID="UserID" +COM_ALWORKSHOPS_NAME="Name" +COM_ALWORKSHOPS_EMAIL="Email" +COM_ALWORKSHOPS_TITLE="Title" +COM_ALWORKSHOPS_ALIAS="Alias" +COM_ALWORKSHOPS_PATH="Path" +COM_ALWORKSHOPS_PRICE="Price" +COM_ALWORKSHOPS_PRICE_PER_ATTENDEE="Price per attendee" +COM_ALWORKSHOPS_FULLPRICE="Full Price" +COM_ALWORKSHOPS_VAT="Vat" +COM_ALWORKSHOPS_MIN_ATTEND="Min. Attend" +COM_ALWORKSHOPS_CAPACITY="Capacity" +COM_ALWORKSHOPS_ATTENDEES="Attendees" +COM_ALWORKSHOPS_ATTEND="Attend" +COM_ALWORKSHOPS_LOCATION="Location" +COM_ALWORKSHOPS_EMAIL_TEMPLATE="Email template" +COM_ALWORKSHOPS_START_DATE="Start date" +COM_ALWORKSHOPS_START_TIME="Start time" +COM_ALWORKSHOPS_FINISH_DATE="Finish date" +COM_ALWORKSHOPS_FINISH_TIME="Finish time" +COM_ALWORKSHOPS_DURATION="Duration" +COM_ALWORKSHOPS_PUBLISHED="Published" +COM_ALWORKSHOPS_ONLYPAY="Only with price" +COM_ALWORKSHOPS_ORDERING="Ordering" +COM_ALWORKSHOPS_OPTIONS="Options" +COM_ALWORKSHOPS_YES="Yes" +COM_ALWORKSHOPS_NO="No" +COM_ALWORKSHOPS_ALL="All" +COM_ALWORKSHOPS_SEARCH="Search" +COM_ALWORKSHOPS_RESET="Reset" +COM_ALWORKSHOPS_CONTROL_PANEL_HELP="Control Panel & Help" +COM_ALWORKSHOPS_APPLICATIONS="Applications" +COM_ALWORKSHOPS_TYPE="Type" +COM_ALWORKSHOPS_WORKSHOP="Workshop" +COM_ALWORKSHOPS_COURSE="Course" +COM_ALWORKSHOPS_COURSES="Courses" +COM_ALWORKSHOPS_SESSIONS="Sessions" +COM_ALWORKSHOPS_SESSIONDESC="Session desc" +COM_ALWORKSHOPS_SESSIONDATE="Session date" +COM_ALWORKSHOPS_SWITCH="Switch" +COM_ALWORKSHOPS_ASK_FOR_COMPUTER="Ask for computer" +COM_ALWORKSHOPS_HAVE_LEASE="I have lease" +COM_ALWORKSHOPS_COMP="Comp" +COM_ALWORKSHOPS_LEASE="Lease" +COM_ALWORKSHOPS_GROUP="Group" +COM_ALWORKSHOPS_WEBINAIR="Webinar" +COM_ALWORKSHOPS_EVENT="Event" +COM_ALWORKSHOPS_EVENT_SHORT="Event" +COM_ALWORKSHOPS_PHONE="Phone" +COM_ALWORKSHOPS_PHONE_SHORT="Phone" +COM_ALWORKSHOPS_COUNTRY="Country" +COM_ALWORKSHOPS_COUNTRY_SHORT="Cntry" +COM_ALWORKSHOPS_PROFESSION="Profession" +COM_ALWORKSHOPS_PROFESSION_SHORT="Prof." +COM_ALWORKSHOPS_LOGIN="Login" +COM_ALWORKSHOPS_LOGIN_SHORT="Login" +COM_ALWORKSHOPS_COURSENO="Course number" +COM_ALWORKSHOPS_COURSENO_SHORT="Course no." +COM_ALWORKSHOPS_LEVEL="Level" +COM_ALWORKSHOPS_PRELIMINARY="Preliminary" +COM_ALWORKSHOPS_INTERMEDIATE="Intermediate" +COM_ALWORKSHOPS_TUTOR="Tutor" +COM_ALWORKSHOPS_EXAM="Exam" +COM_ALWORKSHOPS_EXAM_GROUP="Exam group" +COM_ALWORKSHOPS_COMMENT="Comment" +COM_ALWORKSHOPS_COMMENT_SHORT="Com." +COM_ALWORKSHOPS_ONLINE_SESSIONS = "Online Sessions" +COM_ALWORKSHOPS_EDUCATION="New Courses" COM_ALWORKSHOPS_FILE_DOWNLOAD_LINK="File Link" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_jckman.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_jckman.ini index a6182e0d..b1124ac6 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_jckman.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_jckman.ini @@ -1,147 +1,147 @@ -COM_JCKMAN="JCK Manager" -COM_INSTALLER_TYPE_TYPE_BACKUP="backup" -WSC="WebSpellChecker (WSC)" -COM_JCKMAN_CONFIGURATION="JCK Manager Configuration" - -;======> ACCESS -JACTION_INSTALL_LBL="Install Plugin" -JACTION_INSTALL_DESC="Access to install a JCK Editor plugin" -JACTION_UNINSTALL_LBL="Uninstall Plugin" -JACTION_UNINSTALL_DESC="Access to uninstall a JCK Editor plugin" -JACTION_SYNC_LBL="Sync Component & Editor" -JACTION_SYNC_DESC="Sync the editor with the components' data" - -;=====> PERMISSIONS -COM_JCKMAN_PLUGIN_PERM_NO="You do not have sufficient permissions." -COM_JCKMAN_PLUGIN_PERM_NO_SAVE="You do not have sufficient permissions to save." -COM_JCKMAN_PLUGIN_PERM_NO_EDIT="You do not have sufficient permissions to edit." -COM_JCKMAN_PLUGIN_PERM_NO_COPY="You do not have sufficient permissions to copy." -COM_JCKMAN_PLUGIN_PERM_NO_CREATE="You do not have sufficient permissions to create." -COM_JCKMAN_PLUGIN_PERM_NO_DELETE="You do not have sufficient permissions to delete." -COM_JCKMAN_PLUGIN_PERM_NO_CHECK="You do not have sufficient permissions to check-in." -COM_JCKMAN_PLUGIN_PERM_NO_STATE="You do not have sufficient permissions to edit the state." -COM_JCKMAN_PLUGIN_PERM_NO_PUB="You do not have sufficient permissions to publish." -COM_JCKMAN_PLUGIN_PERM_NO_UNPUB="You do not have sufficient permissions to unpublish." -COM_JCKMAN_PLUGIN_PERM_NO_INSTALL="You do not have sufficient permissions to install plugins." -COM_JCKMAN_PLUGIN_PERM_NO_UNINSTALL="You do not have sufficient permissions to uninstall plugins." -COM_JCKMAN_PLUGIN_PERM_NO_SYNC="You do not have sufficient permissions to sync." - -;=====> MESSAGES -COM_JCKMAN_MSG_BEING_EDITED="%s (%s) is currently being edited by another user" -COM_JCKMAN_PLUGIN_SAVE="Successfully Saved Plugin: %s" -COM_JCKMAN_PLUGIN_SAVE_CHANGES="Successfully Saved changes to Plugin: %s" -COM_JCKMAN_PLUGIN_NO_CHECKIN="Select a plugin to checkin" -COM_JCKMAN_PLUGIN_CHECKIN="%d plugin%s checked in" -COM_JCKMAN_TOOLBAR_COPY="%s toolbars copied" -COM_JCKMAN_TOOLBAR_SAVE="Successfully saved toolbar %s" -COM_JCKMAN_TOOLBAR_APPLY="Successfully saved changes to toolbar %s" -COM_JCKMAN_TOOLBAR_NO_DEL_DEFAULT="Default toolbars cannot be deleted" -COM_JCKMAN_TOOLBAR_NO_DEL_CORE="Core toolbars cannot be deleted" -COM_JCKMAN_TOOLBAR_DELETE="Successfully deleted toolbars: %s" -COM_JCKMAN_TOOLBAR_NO_CHECKIN="Select a toolbar to checkin" -COM_JCKMAN_TOOLBAR_CHECKIN="%d toolbar%s checked in" - -;======> CPANEL Quick Icon Modules -COM_JCKMAN_QUICKICON_PLUGIN_NAME="Plugin Manager" -COM_JCKMAN_QUICKICON_INSTALL_NAME="Installer" -COM_JCKMAN_QUICKICON_UNINSTALL_NAME="Uninstaller" -COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME="System Check" -COM_JCKMAN_QUICKICON_LAYOUT_NAME="Layout Manager" -COM_JCKMAN_QUICKICON_IMPORT_NAME="Restore" -COM_JCKMAN_QUICKICON_BACKUP_NAME="Backup" -COM_JCKMAN_QUICKICON_SYNC_NAME="Sync" -COM_JCKMAN_QUICKICON_JCKEDITOR_NAME="JCK Editor" - -;========> CPANEL GENERAL -COM_JCKMAN_CPANEL_AUTO_CORRECTION_FAILED_INCORRECT_FILE_PERMISSION="Auto correction failed for incorrect file permissions for the JCK Editor" -COM_JCKMAN_CPANEL_SYSTEM_CHECKED_AND_UPDATED="System checked and updated" -COM_JCKMAN_CPANEL_UNABLE_MOVE_PLUGINOVERRIDES_PLUGIN="Unable to move pluginoverrides JCK plugin!" -COM_JCKMAN_CPANEL_UNABLE_MOVE_ACL_PLUGIN="Unable to move ACL JCK plugin!" -COM_JCKMAN_CPANEL_UNABLE_MOVE_COMPONENTS_PLUGIN="Unable to move components JCK toolbar plugin!" -COM_JCKMAN_CPANEL_UNABLE_MOVE_BASE_PLUGIN="Unable to move base plugins file to JCK library!" -COM_JCKMAN_CPANEL_UNABLE_MOVE_SCAYT_PLUGIN="Unable to move scayt JCK plugin!" -COM_JCKMAN_CPANEL_UNABLE_RESTORE_FOLDER="Unable to restore %s JCK plugin!" -COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_FOLDER="'Sucessfully restored %s JCK plugin!" -COM_JCKMAN_CPANEL_EDITOR_SYNCHRONIZED="Editor has been synchronized" -COM_JCKMAN_CPANEL_UNABLE_TO_COPY_MANIFEST="Unable to copy JCK Editor's Manifest file" -COM_JCKMAN_CPANEL_UNABLE_TO_COPY_TOOLBARS="Unable to copy JCK Editor's toolbars" -COM_JCKMAN_CPANEL_COULD_NOT_CREATE_SQL="Could not create SQL file" -COM_JCKMAN_CPANEL_LANGUAGE_EXISTS="Language file %s already exists" -COM_JCKMAN_CPANEL_UNABLE_RESTORE_LANGUAGE=" Unable to restore language file %s" -COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_LANGUAGE="Sucessfully restored language file %s" - -;=====> PLUGIN LIST -COM_JCKMAN_SEARCH_IN_PLUGIN_TITLE="Search in plugin title" -COM_JCKMAN_PLUGIN_LIST_NAME="Name" -COM_JCKMAN_PLUGIN_LIST_ICON="Icon" -COM_JCK_PLUGIN_NO_PLUGINS_FOUND="No Plugins Found" -COM_JCK_PLUGIN_LIST_FAILED_TO_MODIFY_TOOLBAR="Failed to add/remove %s plugin for the %s toolbar" -COM_JCK_PLUGIN_LIST_FAILED_TO_PUBLISH_UNPUBLISH_PLUGINS="Failed to %s all selected jckeditor plugins" - -;======> Installer -COM_JCKMAN_INSTALLER_SELECT_TOOLBAR_TO_INSTALL_PLUGIN="Select toolbar to install plugin" - -;======> Uninstaller -COM_JCK_UNINSTALLER_PLUGINS="Plugins" -COM_JCK_UNINSTALLER_LANGUAGES="Languages" -COM_JCK_UNINSTALLER_PLUGIN="Plugin" -COM_JCK_UNINSTALLER_LANGUAGE="Language" -COM_JCK_UNINSTALLER_LANGUAGE_TAG="Language Tag" -COM_JCK_UNINSTALLER_NO_CUSTOM_PLUGINS="No custom plugins" -COM_JCK_UNINSTALLER_NO_CUSTOM_LANGUAGES="No custom languages" -COM_JCK_UNINSTALLER_AUTHOR_INFORMATION="Author Information" - -;======> Layout Manager -COM_JCK_LAYOUT_MANAGER_NO_TOOLBARS_FOUND="No Toolbars Found" -COM_JCK_LAYOUT_MANAGER_NAME="Name" -COM_JCKMAN_SEARCH_IN_TOOLBAR_TITLE="Search in toolbar title" -COM_JCK_LAYOUT_MANAGER_THE_TOOLBAR="The toolbar" -COM_JCK_LAYOUT_MANAGER_COMPONENT_ASSIGNMENT="Component Assignment" -COM_JCK_LAYOUT_MANAGER_DESCRIPTION="Description" -COM_JCK_LAYOUT_MANAGER_TOOLBAR_NAME="Toolbar name" -COM_JCK_LAYOUT_MANAGER_LAYOUT_MANAGEMENT="Layout Management" -COM_JCK_LAYOUT_MANAGER_LAYOUT_TOOLBAR_MUST_HAVE_A_TITLE="Toolbar must have a title" -COM_JCK_LAYOUT_MANAGER_LAYOUT_TOOLBAR_MUST_HAVE_A_NAME="Toolbar must have a name" -COM_JCK_LAYOUT_MANAGER_LAYOUT_TOOLBAR_AVAILABLE_BUTTONS="Available Buttons" -COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST="Could not write to manifest file for JoomlaCK editor" -COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST="Could not load manifest file for JoomlaCK editor" -COM_JCKMAN_LAYOUT_MANAGER_FAILED_WRITE_FILE="Failed to write to file for the %s toolbar" - -;========> Adapters -COM_JCKMAN_ADAPTER_NO_PLUGIN_SPECIFIED="No plugin specified" -COM_JCKMAN_ADAPTER_CUSTOM_ABORT="Installer abort for custom plugin install script" -COM_JCKMAN_ADAPTER_COMPONENT="Component" -COM_JCKMAN_ADAPTER_INSTALL="Install" -COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE="Could not copy PHP install file" -COM_JCKMAN_ADAPTER_PLUGIN="Plugin" -COM_JCKMAN_ADAPTER_PLUGIN_INSTALL="Plugin Install: %s" -COM_JCKMAN_ADAPTER_PLUGIN_ALREADY_EXISTS="Plugin Install: Plugin %s already exists!" -COM_JCKMAN_ADAPTER_FAILED_PUBLISH_PLUGIN="Failed to publish %s jckeditor plugin" -COM_JCKMAN_ADAPTER_FAILED_TO_ADD_PLUGIN_TOOLBAR="Failed to add %s plugin to %s toolbar" -COM_JCKMAN_ADAPTER_PLUGIN_FIELD_EMPTY="Plugin Uninstall: Plugin field empty, cannot remove files"; -COM_JCKMAN_ADAPTER_UNINSTALL_COULD_NOT_LOAD_MANIFEST="Plugin Uninstall: Could not load manifest file" -COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_TOOLBAR="Failed to remove %s plugin to %s toolbar" -COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_FROM_CONFIG="Failed to remove %s jckeditor plugin from config file" -COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST="Plugin Uninstall: Invalid manifest file" -COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST_OR_NOT_FOUND="Plugin Uninstall: Manifest File invalid or not found. Plugin entry removed from database" -COM_JCKMAN_ADAPTER_COULD_NOT_COPY_MANIFEST="Unable to copy JCK Editor's Manifest file"; -COM_JCKMAN_ADAPTER_UNABLE_TO_COPY_TOOLBARS="Unable to copy JCK Editor's toolbars to editors" -COM_JCKMAN_ADAPTER_NOT_COPY_SETUP_FILE="Could not copy setup file" -COM_JCKMAN_ADAPTER_PLUGIN_FAILED_CREATE_DIRECTORY="Plugin Install: Failed to create directory : '%s'" -COM_JCKMAN_ADAPTER_PLUGIN_CUSTOM_INSTALL_ROUTINE_FAILURE="Plugin Install:Custom install routine failure" - -;=======> CPanel sliders -COM_JCKMAN_CPANEL_SLIDER_MANAGER_LABEL="JCK Plugin Manager" -COM_JCKMAN_CPANEL_SLIDER_MANAGER_HTML="
                The Plugin Manager controls what buttons are displayed in the editor’s interface. It allows plugins to be published, unpublished, and assigned to specific tool-bars with the ability to setup user permissions.

                In addition to these features the Plugin Manager will allow you to drill down and edit each and every plug-in that makes up the JCK Editor. The plugin allows for 3 globel parameters for the dialog popup screens: Height, Title and Width and you will find further customisable parameters just like any standard Joomla extension!
                " -COM_JCKMAN_CPANEL_SLIDER_PLUGIN_LABEL="JCK Plugin Installer" -COM_JCKMAN_CPANEL_SLIDER_PLUGIN_HTML="
                A JCK plugin consists of an extension that interacts with the editor. These plugins or extensions are used to enable the user to quickly and simply customise or expand the functionality of the editor. This could be done to meet your needs to portfolio images in a stylish light-box gallery or to expand the editor with media or image editing extensions. The possibilities are endless! What's so great about it is that it works similar to Joomla's stock installer, so it's very easy to install, and you don't have to be a developer to get started!
                Please click here to visit the official Plug-in Store: http://www.joomlackeditor.com/downloads/jck-plugins-store
                " -COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_LABEL="System Check" -COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_HTML="
                The JCK Manager has an intelligent API that will attempt to fix problems and reconfigure your website if you upgrade your template. It does this by automatically performing a health checks on your system and notifies you of these problems and will help you address them.
                This also reinitiates the helpful installation wizard which will walk you step by step through the process of setting up the basic functionally of the editor.
                " -COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER="Layout Manager" -COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER_HTML="
                The Layout manager allows control over the editors toolbars, with it you can create your own bespoke toolbars, position plugins, create new toolbars, add and remove! It's surprisingly easy do thanks to its simple drag-and-drop interface which will allow you to craft your own bespoke layouts.
                It also allows for different toolbars to be assigned to different components and areas of your website. This is especially useful if you want to use the 'blog' toolbar for your blogging component while having a more advanced 'editorial' toolbar for the rest of your site.
                " -COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL="Backup" -COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL_HTML="
                The backup wizard gives you the ability to create backup copies of your editor’s configuration and files. This includes backing up your JCK plugins and settings, your JCK Manager configuration (including toolbars and user permissions) and lastly your editor’s configuration. It does this by creating a clone and exporting it as a tar.gz file ready for you to reinstate via the JCK Managers backup restore feature!
                This feature is very useful, and can be used to export restore points prior to upgrading or used to export your custom configuration to another Joomla compatible system!
                " -COM_JCKMAN_CPANEL_SLIDER_RESTORE_LABEL="Restore" -COM_JCKMAN_CPANEL_SLIDER_RESTORE_HTML="
                To restore a backup is very easy! All you need to do is click in the ‘Restore’s icon, navigate to the tar.gz backup file and click in the ‘Upload File & install’s button. Or if you want to migrate your configuration from one server to another, all you need to do is install the JCK Editor & Manager first, and repeat the above – job done!
                " -COM_JCKMAN_CPANEL_SLIDER_SYNC_LABEL="Sync" +COM_JCKMAN="JCK Manager" +COM_INSTALLER_TYPE_TYPE_BACKUP="backup" +WSC="WebSpellChecker (WSC)" +COM_JCKMAN_CONFIGURATION="JCK Manager Configuration" + +;======> ACCESS +JACTION_INSTALL_LBL="Install Plugin" +JACTION_INSTALL_DESC="Access to install a JCK Editor plugin" +JACTION_UNINSTALL_LBL="Uninstall Plugin" +JACTION_UNINSTALL_DESC="Access to uninstall a JCK Editor plugin" +JACTION_SYNC_LBL="Sync Component & Editor" +JACTION_SYNC_DESC="Sync the editor with the components' data" + +;=====> PERMISSIONS +COM_JCKMAN_PLUGIN_PERM_NO="You do not have sufficient permissions." +COM_JCKMAN_PLUGIN_PERM_NO_SAVE="You do not have sufficient permissions to save." +COM_JCKMAN_PLUGIN_PERM_NO_EDIT="You do not have sufficient permissions to edit." +COM_JCKMAN_PLUGIN_PERM_NO_COPY="You do not have sufficient permissions to copy." +COM_JCKMAN_PLUGIN_PERM_NO_CREATE="You do not have sufficient permissions to create." +COM_JCKMAN_PLUGIN_PERM_NO_DELETE="You do not have sufficient permissions to delete." +COM_JCKMAN_PLUGIN_PERM_NO_CHECK="You do not have sufficient permissions to check-in." +COM_JCKMAN_PLUGIN_PERM_NO_STATE="You do not have sufficient permissions to edit the state." +COM_JCKMAN_PLUGIN_PERM_NO_PUB="You do not have sufficient permissions to publish." +COM_JCKMAN_PLUGIN_PERM_NO_UNPUB="You do not have sufficient permissions to unpublish." +COM_JCKMAN_PLUGIN_PERM_NO_INSTALL="You do not have sufficient permissions to install plugins." +COM_JCKMAN_PLUGIN_PERM_NO_UNINSTALL="You do not have sufficient permissions to uninstall plugins." +COM_JCKMAN_PLUGIN_PERM_NO_SYNC="You do not have sufficient permissions to sync." + +;=====> MESSAGES +COM_JCKMAN_MSG_BEING_EDITED="%s (%s) is currently being edited by another user" +COM_JCKMAN_PLUGIN_SAVE="Successfully Saved Plugin: %s" +COM_JCKMAN_PLUGIN_SAVE_CHANGES="Successfully Saved changes to Plugin: %s" +COM_JCKMAN_PLUGIN_NO_CHECKIN="Select a plugin to checkin" +COM_JCKMAN_PLUGIN_CHECKIN="%d plugin%s checked in" +COM_JCKMAN_TOOLBAR_COPY="%s toolbars copied" +COM_JCKMAN_TOOLBAR_SAVE="Successfully saved toolbar %s" +COM_JCKMAN_TOOLBAR_APPLY="Successfully saved changes to toolbar %s" +COM_JCKMAN_TOOLBAR_NO_DEL_DEFAULT="Default toolbars cannot be deleted" +COM_JCKMAN_TOOLBAR_NO_DEL_CORE="Core toolbars cannot be deleted" +COM_JCKMAN_TOOLBAR_DELETE="Successfully deleted toolbars: %s" +COM_JCKMAN_TOOLBAR_NO_CHECKIN="Select a toolbar to checkin" +COM_JCKMAN_TOOLBAR_CHECKIN="%d toolbar%s checked in" + +;======> CPANEL Quick Icon Modules +COM_JCKMAN_QUICKICON_PLUGIN_NAME="Plugin Manager" +COM_JCKMAN_QUICKICON_INSTALL_NAME="Installer" +COM_JCKMAN_QUICKICON_UNINSTALL_NAME="Uninstaller" +COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME="System Check" +COM_JCKMAN_QUICKICON_LAYOUT_NAME="Layout Manager" +COM_JCKMAN_QUICKICON_IMPORT_NAME="Restore" +COM_JCKMAN_QUICKICON_BACKUP_NAME="Backup" +COM_JCKMAN_QUICKICON_SYNC_NAME="Sync" +COM_JCKMAN_QUICKICON_JCKEDITOR_NAME="JCK Editor" + +;========> CPANEL GENERAL +COM_JCKMAN_CPANEL_AUTO_CORRECTION_FAILED_INCORRECT_FILE_PERMISSION="Auto correction failed for incorrect file permissions for the JCK Editor" +COM_JCKMAN_CPANEL_SYSTEM_CHECKED_AND_UPDATED="System checked and updated" +COM_JCKMAN_CPANEL_UNABLE_MOVE_PLUGINOVERRIDES_PLUGIN="Unable to move pluginoverrides JCK plugin!" +COM_JCKMAN_CPANEL_UNABLE_MOVE_ACL_PLUGIN="Unable to move ACL JCK plugin!" +COM_JCKMAN_CPANEL_UNABLE_MOVE_COMPONENTS_PLUGIN="Unable to move components JCK toolbar plugin!" +COM_JCKMAN_CPANEL_UNABLE_MOVE_BASE_PLUGIN="Unable to move base plugins file to JCK library!" +COM_JCKMAN_CPANEL_UNABLE_MOVE_SCAYT_PLUGIN="Unable to move scayt JCK plugin!" +COM_JCKMAN_CPANEL_UNABLE_RESTORE_FOLDER="Unable to restore %s JCK plugin!" +COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_FOLDER="'Sucessfully restored %s JCK plugin!" +COM_JCKMAN_CPANEL_EDITOR_SYNCHRONIZED="Editor has been synchronized" +COM_JCKMAN_CPANEL_UNABLE_TO_COPY_MANIFEST="Unable to copy JCK Editor's Manifest file" +COM_JCKMAN_CPANEL_UNABLE_TO_COPY_TOOLBARS="Unable to copy JCK Editor's toolbars" +COM_JCKMAN_CPANEL_COULD_NOT_CREATE_SQL="Could not create SQL file" +COM_JCKMAN_CPANEL_LANGUAGE_EXISTS="Language file %s already exists" +COM_JCKMAN_CPANEL_UNABLE_RESTORE_LANGUAGE=" Unable to restore language file %s" +COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_LANGUAGE="Sucessfully restored language file %s" + +;=====> PLUGIN LIST +COM_JCKMAN_SEARCH_IN_PLUGIN_TITLE="Search in plugin title" +COM_JCKMAN_PLUGIN_LIST_NAME="Name" +COM_JCKMAN_PLUGIN_LIST_ICON="Icon" +COM_JCK_PLUGIN_NO_PLUGINS_FOUND="No Plugins Found" +COM_JCK_PLUGIN_LIST_FAILED_TO_MODIFY_TOOLBAR="Failed to add/remove %s plugin for the %s toolbar" +COM_JCK_PLUGIN_LIST_FAILED_TO_PUBLISH_UNPUBLISH_PLUGINS="Failed to %s all selected jckeditor plugins" + +;======> Installer +COM_JCKMAN_INSTALLER_SELECT_TOOLBAR_TO_INSTALL_PLUGIN="Select toolbar to install plugin" + +;======> Uninstaller +COM_JCK_UNINSTALLER_PLUGINS="Plugins" +COM_JCK_UNINSTALLER_LANGUAGES="Languages" +COM_JCK_UNINSTALLER_PLUGIN="Plugin" +COM_JCK_UNINSTALLER_LANGUAGE="Language" +COM_JCK_UNINSTALLER_LANGUAGE_TAG="Language Tag" +COM_JCK_UNINSTALLER_NO_CUSTOM_PLUGINS="No custom plugins" +COM_JCK_UNINSTALLER_NO_CUSTOM_LANGUAGES="No custom languages" +COM_JCK_UNINSTALLER_AUTHOR_INFORMATION="Author Information" + +;======> Layout Manager +COM_JCK_LAYOUT_MANAGER_NO_TOOLBARS_FOUND="No Toolbars Found" +COM_JCK_LAYOUT_MANAGER_NAME="Name" +COM_JCKMAN_SEARCH_IN_TOOLBAR_TITLE="Search in toolbar title" +COM_JCK_LAYOUT_MANAGER_THE_TOOLBAR="The toolbar" +COM_JCK_LAYOUT_MANAGER_COMPONENT_ASSIGNMENT="Component Assignment" +COM_JCK_LAYOUT_MANAGER_DESCRIPTION="Description" +COM_JCK_LAYOUT_MANAGER_TOOLBAR_NAME="Toolbar name" +COM_JCK_LAYOUT_MANAGER_LAYOUT_MANAGEMENT="Layout Management" +COM_JCK_LAYOUT_MANAGER_LAYOUT_TOOLBAR_MUST_HAVE_A_TITLE="Toolbar must have a title" +COM_JCK_LAYOUT_MANAGER_LAYOUT_TOOLBAR_MUST_HAVE_A_NAME="Toolbar must have a name" +COM_JCK_LAYOUT_MANAGER_LAYOUT_TOOLBAR_AVAILABLE_BUTTONS="Available Buttons" +COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST="Could not write to manifest file for JoomlaCK editor" +COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST="Could not load manifest file for JoomlaCK editor" +COM_JCKMAN_LAYOUT_MANAGER_FAILED_WRITE_FILE="Failed to write to file for the %s toolbar" + +;========> Adapters +COM_JCKMAN_ADAPTER_NO_PLUGIN_SPECIFIED="No plugin specified" +COM_JCKMAN_ADAPTER_CUSTOM_ABORT="Installer abort for custom plugin install script" +COM_JCKMAN_ADAPTER_COMPONENT="Component" +COM_JCKMAN_ADAPTER_INSTALL="Install" +COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE="Could not copy PHP install file" +COM_JCKMAN_ADAPTER_PLUGIN="Plugin" +COM_JCKMAN_ADAPTER_PLUGIN_INSTALL="Plugin Install: %s" +COM_JCKMAN_ADAPTER_PLUGIN_ALREADY_EXISTS="Plugin Install: Plugin %s already exists!" +COM_JCKMAN_ADAPTER_FAILED_PUBLISH_PLUGIN="Failed to publish %s jckeditor plugin" +COM_JCKMAN_ADAPTER_FAILED_TO_ADD_PLUGIN_TOOLBAR="Failed to add %s plugin to %s toolbar" +COM_JCKMAN_ADAPTER_PLUGIN_FIELD_EMPTY="Plugin Uninstall: Plugin field empty, cannot remove files"; +COM_JCKMAN_ADAPTER_UNINSTALL_COULD_NOT_LOAD_MANIFEST="Plugin Uninstall: Could not load manifest file" +COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_TOOLBAR="Failed to remove %s plugin to %s toolbar" +COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_FROM_CONFIG="Failed to remove %s jckeditor plugin from config file" +COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST="Plugin Uninstall: Invalid manifest file" +COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST_OR_NOT_FOUND="Plugin Uninstall: Manifest File invalid or not found. Plugin entry removed from database" +COM_JCKMAN_ADAPTER_COULD_NOT_COPY_MANIFEST="Unable to copy JCK Editor's Manifest file"; +COM_JCKMAN_ADAPTER_UNABLE_TO_COPY_TOOLBARS="Unable to copy JCK Editor's toolbars to editors" +COM_JCKMAN_ADAPTER_NOT_COPY_SETUP_FILE="Could not copy setup file" +COM_JCKMAN_ADAPTER_PLUGIN_FAILED_CREATE_DIRECTORY="Plugin Install: Failed to create directory : '%s'" +COM_JCKMAN_ADAPTER_PLUGIN_CUSTOM_INSTALL_ROUTINE_FAILURE="Plugin Install:Custom install routine failure" + +;=======> CPanel sliders +COM_JCKMAN_CPANEL_SLIDER_MANAGER_LABEL="JCK Plugin Manager" +COM_JCKMAN_CPANEL_SLIDER_MANAGER_HTML="
                The Plugin Manager controls what buttons are displayed in the editor’s interface. It allows plugins to be published, unpublished, and assigned to specific tool-bars with the ability to setup user permissions.

                In addition to these features the Plugin Manager will allow you to drill down and edit each and every plug-in that makes up the JCK Editor. The plugin allows for 3 globel parameters for the dialog popup screens: Height, Title and Width and you will find further customisable parameters just like any standard Joomla extension!
                " +COM_JCKMAN_CPANEL_SLIDER_PLUGIN_LABEL="JCK Plugin Installer" +COM_JCKMAN_CPANEL_SLIDER_PLUGIN_HTML="
                A JCK plugin consists of an extension that interacts with the editor. These plugins or extensions are used to enable the user to quickly and simply customise or expand the functionality of the editor. This could be done to meet your needs to portfolio images in a stylish light-box gallery or to expand the editor with media or image editing extensions. The possibilities are endless! What's so great about it is that it works similar to Joomla's stock installer, so it's very easy to install, and you don't have to be a developer to get started!
                Please click here to visit the official Plug-in Store: http://www.joomlackeditor.com/downloads/jck-plugins-store
                " +COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_LABEL="System Check" +COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_HTML="
                The JCK Manager has an intelligent API that will attempt to fix problems and reconfigure your website if you upgrade your template. It does this by automatically performing a health checks on your system and notifies you of these problems and will help you address them.
                This also reinitiates the helpful installation wizard which will walk you step by step through the process of setting up the basic functionally of the editor.
                " +COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER="Layout Manager" +COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER_HTML="
                The Layout manager allows control over the editors toolbars, with it you can create your own bespoke toolbars, position plugins, create new toolbars, add and remove! It's surprisingly easy do thanks to its simple drag-and-drop interface which will allow you to craft your own bespoke layouts.
                It also allows for different toolbars to be assigned to different components and areas of your website. This is especially useful if you want to use the 'blog' toolbar for your blogging component while having a more advanced 'editorial' toolbar for the rest of your site.
                " +COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL="Backup" +COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL_HTML="
                The backup wizard gives you the ability to create backup copies of your editor’s configuration and files. This includes backing up your JCK plugins and settings, your JCK Manager configuration (including toolbars and user permissions) and lastly your editor’s configuration. It does this by creating a clone and exporting it as a tar.gz file ready for you to reinstate via the JCK Managers backup restore feature!
                This feature is very useful, and can be used to export restore points prior to upgrading or used to export your custom configuration to another Joomla compatible system!
                " +COM_JCKMAN_CPANEL_SLIDER_RESTORE_LABEL="Restore" +COM_JCKMAN_CPANEL_SLIDER_RESTORE_HTML="
                To restore a backup is very easy! All you need to do is click in the ‘Restore’s icon, navigate to the tar.gz backup file and click in the ‘Upload File & install’s button. Or if you want to migrate your configuration from one server to another, all you need to do is install the JCK Editor & Manager first, and repeat the above – job done!
                " +COM_JCKMAN_CPANEL_SLIDER_SYNC_LABEL="Sync" COM_JCKMAN_CPANEL_SLIDER_SYNC_HTML="
                The JCK Manager keeps a hard copy of your editor’s settings and plugins. At any given moment you can use the ‘Sync’ button to synchronize this data back to the JCK Editor. This is especially useful as it will allow you to uninstall and reinstall the editor during upgrade, before synchronizing your editor’s settings back!
                " \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.ini index 2e964913..4c36b20f 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.ini @@ -1,310 +1,310 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - - -;[3.0.2] -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED="Folder cannot be downloaded" -COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL="Display Download Button" -COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC="Display or hide download button" -COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL="Display Upload Button" -COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC="Display or hide upload button" - -;[3.0.1] -COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS="List of upload errors" -COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST="File does not exist" -COM_PHOCACOMMANDER_VIEW="View" -COM_PHOCACOMMANDER_DOWNLOAD="Download" -COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL="Inline Actions" -COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL="Display Inline Download" -COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC="Display or hide inline download icon" -COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL="Display Inline View" -COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC="Display or hide inline view icon" -COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL="Display Inline Edit" -COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC="Display or hide inline edit icon" - -;[3.0.0] -COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL="Enable ZIP Function" -COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC="Enable or disable ZIP function. Be aware, for running ZIP successfully, permissions and ownership of files and folders on your server needs to be OK. You can use this feature for zipping small files and small amount of files. Zipping large files or large amount of files can cause server problems (halting, overloading, performance problems or unexpected errors). For zipping large files or large amount of files like backup is, use standard server tools. Always check your newly created ZIP, if it includes all folders and files." -COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL="Experts only" -COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL="Experimental Features" -COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC="Please, read documenation before enabling experimental feature." -COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED="ZIP package created" -COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED="Error - ZIP file could not be created" -COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED="Error - file could not be created" -COM_PHOCACOMMANDER_ERROR_FILE_EXISTS="Error - file exists" -COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET="Error - no value sent or wrong file name added" -COM_PHOCACOMMANDER_PACK="Pack" -COM_PHOCACOMMANDER_SET_PACKAGE_NAME="Set package name" -COM_PHOCACOMMANDER_PACK="Pack" -COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL="Create Index File" -COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC="If new folder will be created, set if index.html file will be created inside this folder." -COM_PHOCACOMMANDER_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" -COM_PHOCACOMMANDER_PLEASE_READ="Please Read" -COM_PHOCACOMMANDER_USEFUL_TIPS="Useful Tips (Extensions)" -COM_PHOCACOMMANDER_USEFUL_LINKS="Useful Links" -;[3.0.0 Beta] -COM_PHOCACOMMANDER="Phoca Commander" -COM_PHOCACOMMANDER_CM_INFO="Phoca Commander Info" -COM_PHOCACOMMANDER_PHOCA_COMMANDER="Phoca Commander" -COM_PHOCACOMMANDER_INFORMATION="Information" -COM_PHOCACOMMANDER_HELP="Help" -COM_PHOCACOMMANDER_VERSION="Version" -COM_PHOCACOMMANDER_COPYRIGHT="Copyright" -COM_PHOCACOMMANDER_LICENSE="License" -COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" -COM_PHOCACOMMANDER_INFO="Info" -COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." -COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" -COM_PHOCACOMMANDER_NAME="Name" -COM_PHOCACOMMANDER_SIZE="Size" -COM_PHOCACOMMANDER_DATE="Date" -COM_PHOCACOMMANDER_ATTRIBUTES="Attributes" -COM_PHOCACOMMANDER_ATTR="Attr" -COM_PHOCACOMMANDER_OWNER="Owner" -COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED="No file or no folder selected" -; For Translaters - set your own data here -COM_PHOCACOMMANDER_TRANSLATION="Translation" -COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG="English" -COM_PHOCACOMMANDER_TRANSLATER="Jan Pavelka" -COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL="www.phoca.cz" -; End Translaters section - - - - - - - - -COM_PHOCACOMMANDER_CHECK_FOR_UPDATE="Check For Update" -COM_PHOCACOMMANDER_CONFIG_HEAD_GENERAL_LABEL="General" -COM_PHOCACOMMANDER_CONFIGURATION="Configuration" -COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY="Are you sure you want to copy" -COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE="Are you sure you want to move" -COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE="Are you sure you want to delete" -COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER="Joomla! root folder" -COM_PHOCACOMMANDER_TO="to" -COM_PHOCACOMMANDER_FILES_FOLDERS="Files (Folders)" -COM_PHOCACOMMANDER_FOLDER="Folder" -COM_PHOCACOMMANDER_FILE="File" -COM_PHOCACOMMANDER_FOLDER_SM="folder" -COM_PHOCACOMMANDER_FILES_FOLDERS_SM="files (folders)" -COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING="Be aware, this action removes selected files or folders (include their subfolders and files) from your server permanently" -COM_PHOCACOMMANDER_F1_ATTRIBUTES="F1 Attributes" -COM_PHOCACOMMANDER_F2_RENAME="F2 Rename" -COM_PHOCACOMMANDER_F3_VIEW="F3 View" -COM_PHOCACOMMANDER_F4_EDIT="F4 Edit" -COM_PHOCACOMMANDER_F5_COPY="F5 Copy" -COM_PHOCACOMMANDER_F6_MOVE="F6 Move" -COM_PHOCACOMMANDER_F7_NEW_FOLDER="F7 New Folder" -COM_PHOCACOMMANDER_F8_DELETE="F8 Delete" -COM_PHOCACOMMANDER_F9_UNPACK="F9 Unpack" -COM_PHOCACOMMANDER_F10_UPLOAD="F10 Upload" -COM_PHOCACOMMANDER_F1="F1" -COM_PHOCACOMMANDER_F2="F2" -COM_PHOCACOMMANDER_F3="F3" -COM_PHOCACOMMANDER_F4="F4" -COM_PHOCACOMMANDER_F5="F5" -COM_PHOCACOMMANDER_F6="F6" -COM_PHOCACOMMANDER_F7="F7" -COM_PHOCACOMMANDER_F8="F8" -COM_PHOCACOMMANDER_F9="F9" -COM_PHOCACOMMANDER_F10="F10" -COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED="Only one file or folder needs to be selected" -COM_PHOCACOMMANDER_RENAME="Rename" -COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED="Only one file needs to be selected" -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED="Folder cannot be previewed or edited" -COM_PHOCACOMMANDER_NEW_FOLDER="New Folder" -COM_PHOCACOMMANDER_NEW_ATTRIBUTES="New Attributes" -COM_PHOCACOMMANDER_CLOSE="Close" -COM_PHOCACOMMANDER_OK="OK" -COM_PHOCACOMMANDER_CANCEL="Cancel" -COM_PHOCACOMMANDER_WARNING="Warning" -COM_PHOCACOMMANDER_CONFIRM="Confirm" -COM_PHOCACOMMANDER_SET="Set" -COM_PHOCACOMMANDER_CREATE="Create" -COM_PHOCACOMMANDER_UPDATING="Updating" -COM_PHOCACOMMANDER_GROUP="Group" -COM_PHOCACOMMANDER_OTHER="Other" -COM_PHOCACOMMANDER_READ="Read" -COM_PHOCACOMMANDER_WRITE="Write" -COM_PHOCACOMMANDER_EXECUTE="Execute" -COM_PHOCACOMMANDER_VALUE="Value" -COM_PHOCACOMMANDER_PERMISSION="Permission" -COM_PHOCACOMMANDER_NEW_ATTRIBUTE="New Attribute" -COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR="Set new attribute for" -COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST="Error - no valid request" -COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK="Error - no valid task" -COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND="Error - no value send" -COM_PHOCACOMMANDER_ITEM_RENAMED="Item renamed" -COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND="Error - no file or folder found" -COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST="Folder does not exist" -COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST="File does not exist" -COM_PHOCACOMMANDER_FILE_RENAMED="File renamed" -COM_PHOCACOMMANDER_FOLDER_RENAMED="Folder renamed" -COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED="Only images can be previewed" -COM_PHOCACOMMANDER_EDIT="Edit" -COM_PHOCACOMMANDER_EDIT_OPTIONS="Edit Options" -COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL="Content" -COM_PHOCACOMMANDER_FIELD_CONTENT_DESC="Edit content" -COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL="Filename" -COM_PHOCACOMMANDER_FIELD_FILENAME_DESC="Filename (include path)" -COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD="New name is the same like the old one" -COM_PHOCACOMMANDER_EDITING_FILE="Editing file" -COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing." -COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE="Error - file is not writable" -COM_PHOCACOMMANDER_FILE_PERMISSIONS="Permissions" -COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP="Check file ownership" -COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Source file can't be returned to unwritable status" -COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - the file %s could not be saved." -COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION="Error - source is the same as destination" -COM_PHOCACOMMANDER_SERVER_ERROR="Server error" -COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES="Overwrite existing folders and files" -COM_PHOCACOMMANDER_COPY="Copy" -COM_PHOCACOMMANDER_ALL_FILES_COPIED="All files copied" -COM_PHOCACOMMANDER_FILES_COPIED="files copied" -COM_PHOCACOMMANDER_FILES_NOT_COPIED="files not copied" -COM_PHOCACOMMANDER_ALL_FOLDERS_COPIED="All folders copied" -COM_PHOCACOMMANDER_FOLDERS_COPIED="folders copied" -COM_PHOCACOMMANDER_FOLDERS_NOT_COPIED="files not copied" -COM_PHOCACOMMANDER_NO_FILES_COPIED="No files copied" -COM_PHOCACOMMANDER_NO_FOLDERS_COPIED="No folders copied" -COM_PHOCACOMMANDER_NO_ALL_FILES_COPIED="Not all files copied" -COM_PHOCACOMMANDER_NO_ALL_FOLDERS_COPIED="Not all folders copied" -COM_PHOCACOMMANDER_FILE_COPIED="File copied" -COM_PHOCACOMMANDER_FOLDER_COPIED="Folder copied" -COM_PHOCACOMMANDER_FILE_NOT_COPIED="File not copied" -COM_PHOCACOMMANDER_FOLDER_NOT_COPIED="Folder not copied" -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_COPIED_OWN_SUBFOLDER="Folder cannot be copied to its own subfolder" -COM_PHOCACOMMANDER_MOVE="Move" -COM_PHOCACOMMANDER_ALL_FILES_MOVED="All files moved" -COM_PHOCACOMMANDER_FILES_MOVED="files moved" -COM_PHOCACOMMANDER_FILES_NOT_MOVED="files not moved" -COM_PHOCACOMMANDER_ALL_FOLDERS_MOVED="All folders moved" -COM_PHOCACOMMANDER_FOLDERS_MOVED="folders moved" -COM_PHOCACOMMANDER_FOLDERS_NOT_MOVED="folders not moved" -COM_PHOCACOMMANDER_NO_FILES_MOVED="No files moved" -COM_PHOCACOMMANDER_NO_FOLDERS_MOVED="No folders moved" -COM_PHOCACOMMANDER_NO_ALL_FILES_MOVED="Not all files moved" -COM_PHOCACOMMANDER_NO_ALL_FOLDERS_MOVED="Not all folders moved" -COM_PHOCACOMMANDER_FILE_MOVED="File moved" -COM_PHOCACOMMANDER_FOLDER_MOVED="Folder moved" -COM_PHOCACOMMANDER_FILE_NOT_MOVED="File not moved" -COM_PHOCACOMMANDER_FOLDER_NOT_MOVED="Folder not moved" -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_MOVED_OWN_SUBFOLDER="Folder cannot be moved to its own subfolder" -COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN="Folder not overwritten" -COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN="File not overwritten" -COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL="General Options" -COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC="Display F keys with titles or without titles" -COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL="F Keys" -COM_PHOCACOMMANDER_WITHOUT_TITLES="Without Titles" -COM_PHOCACOMMANDER_WITH_TITLES="With Titles" -COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC="Set box (panel) height in px" -COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL="Box (Panel) Height" -COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS="New folder name is the same like existing folder" -COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS="New file name is the same like existing file" -COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED="New folder created" -COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NOT_CREATED="New folder not created" -COM_PHOCACOMMANDER_FILE_DELETED="File deleted" -COM_PHOCACOMMANDER_FILES_DELETED="files deleted" -COM_PHOCACOMMANDER_FILE_NOT_DELETED="File not deleted" -COM_PHOCACOMMANDER_NO_FILES_DELETED="No files deleted" -COM_PHOCACOMMANDER_FILES_NOT_DELETED="files not deleted" -COM_PHOCACOMMANDER_FOLDER_DELETED="Folder deleted (include its subfolders and files)" -COM_PHOCACOMMANDER_FOLDERS_DELETED="folders deleted (include their subfolders and files)" -COM_PHOCACOMMANDER_FOLDER_NOT_DELETED="Folder not deleted" -COM_PHOCACOMMANDER_NO_FOLDERS_DELETED="No folders deleted" -COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED="folders not deleted" -COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK="Are you sure you want to unpack" -COM_PHOCACOMMANDER_UNPACK="Unpack" -COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED="Only archive file can be unpacked" -COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE="File is not archive package" -COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS="File cannot be unpacked. One of the files or folders included in archive package exists in destination folder" -COM_PHOCACOMMANDER_FILE_UNPACKED="File unpacked" -COM_PHOCACOMMANDER_FILE_NOT_UNPACKED="File not unpacked" -COM_PHOCACOMMANDER_WRONG_REQUEST="Wrong request" -COM_PHOCACOMMANDER_UPLOAD="Upload" -COM_PHOCACOMMANDER_UPLOAD_FILE="Unpload File" -COM_PHOCACOMMANDER_MAX_SIZE="Max Size" -COM_PHOCACOMMANDER_SELECT_FILES="Select files" -COM_PHOCACOMMANDER_ADD_FILES="Add Files" -COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." -COM_PHOCACOMMANDER_FILENAME="Filename" -COM_PHOCACOMMANDER_SIZE="Size" -COM_PHOCACOMMANDER_STATUS="Status" -COM_PHOCACOMMANDER_NOT_AUTHORISED_ACTION="You are not authorized to do this action" -COM_PHOCACOMMANDER_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" -COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." -COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." -COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." -COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." -COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." -COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." -COM_PHOCACOMMANDER_START="Start" -COM_PHOCACOMMANDER_START_PUBLISHING="Start Publishing" -COM_PHOCACOMMANDER_START_UPLOAD="Start Upload" -COM_PHOCACOMMANDER_START_UPLOADING_QUEUE="Start Uploading Queue" -COM_PHOCACOMMANDER_STATISTICS="Statistics" -COM_PHOCACOMMANDER_STATUS="Status" -COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD="Stop Current Upload" -COM_PHOCACOMMANDER_SUCCESS="Success" -COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD="File uploaded" -COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOADED="File uploaded" -COM_PHOCACOMMANDER_SUCCESS_FOLDER_CREATING="Folder created" -COM_PHOCACOMMANDER_SUCCESS_RESET_USER_STAT="User Statistics reset" -COM_PHOCACOMMANDER_THERE_IS_NO_FILE="There is no file" -COM_PHOCACOMMANDER_DRAG_FILES_HERE="Drag files here" -COM_PHOCACOMMANDER_UPLOADING_FINISHED="Uploading finished" -COM_PHOCACOMMANDER_ERROR="Error" -COM_PHOCACOMMANDER_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." -COM_PHOCACOMMANDER_WARNFILETOOLARGE="This file is too large to upload." -COM_PHOCACOMMANDER_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." -COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" -COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" -COM_PHOCACOMMANDER_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" -COM_PHOCACOMMANDER_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" -COM_PHOCACOMMANDER_INVALID_TOKEN="Invalid Token" -COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS="File already exists" -COM_PHOCACOMMANDER_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" -COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" -COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" -COM_PHOCACOMMANDER_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" -COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" -COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" -COM_PHOCACOMMANDER_SUCCESS="Success" -COM_PHOCACOMMANDER_FILES_UPLOADED="Files uploaded" -COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" -COM_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" -COM_PHOCACOMMANDER_WARNINVALIDMIME="Illegal or invalid mime type detected." -COM_PHOCACOMMANDER_WARNIEXSS="Possible IE XSS Attack found." -COM_PHOCACOMMANDER_FTP_LOGIN_DESC="For uploading files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below." -COM_PHOCACOMMANDER_FTP_LOGIN_LABEL="FTP Login Details" -COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE="Max upload size" -COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for upload. Default list of filetypes is not complete and should be modified to fit your needs." -COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" -COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for upload" -COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" -COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" -COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" -COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" -COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size" -COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" -COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Upload) and Disallowed File Types (Upload) will be ignored." -COM_PHOCACOMMANDER_YES="Yes" -COM_PHOCACOMMANDER_NO="No" -COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED="files changed (permission)" -COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED="files not changed (permission)" -COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED="folders changed (permission)" -COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED="folders not changed (permission)" -COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED="No files changed (permission)" -COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED="No folders changed (permission)" -COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED="File changed (permission)" -COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED="Folder changed (permission)" -COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED="File not changed (permission)" -COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED="Folder not changed (permission)" -COM_PHOCACOMMANDER_FILE_PERMISSIONS="File permissions" -COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - failed to save filename" -COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL="Edit Not Writable Files" -COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC="Set if edit function can store files which should be not writable" -COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING="Be aware, extracted files will overwrite existing files" -COM_PHOCACOMMANDER_WELCOME_WARNING="
                Be aware, you are about to manage real folders and files on your server.
                • Files can be managed like in your FTP client
                • There is no UNDO action
                • Some tasks like DELETE or MOVE can remove folders or files permanently
                • Unpacking archive files can overwrite existing files permanently
                • Some features may not work if they are limited by server settings
                • Success in working with folders and files depends on server settings (permissions, ownership)
                • Check file handling (FTP layer) in Global Configuration
                Please see Documentation.
                If you get some problems while using Phoca Commander, please ask in Phoca Forum.
                " +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + + +;[3.0.2] +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED="Folder cannot be downloaded" +COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL="Display Download Button" +COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC="Display or hide download button" +COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL="Display Upload Button" +COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC="Display or hide upload button" + +;[3.0.1] +COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS="List of upload errors" +COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST="File does not exist" +COM_PHOCACOMMANDER_VIEW="View" +COM_PHOCACOMMANDER_DOWNLOAD="Download" +COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL="Inline Actions" +COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL="Display Inline Download" +COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC="Display or hide inline download icon" +COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL="Display Inline View" +COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC="Display or hide inline view icon" +COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL="Display Inline Edit" +COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC="Display or hide inline edit icon" + +;[3.0.0] +COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL="Enable ZIP Function" +COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC="Enable or disable ZIP function. Be aware, for running ZIP successfully, permissions and ownership of files and folders on your server needs to be OK. You can use this feature for zipping small files and small amount of files. Zipping large files or large amount of files can cause server problems (halting, overloading, performance problems or unexpected errors). For zipping large files or large amount of files like backup is, use standard server tools. Always check your newly created ZIP, if it includes all folders and files." +COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL="Experts only" +COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL="Experimental Features" +COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC="Please, read documenation before enabling experimental feature." +COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED="ZIP package created" +COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED="Error - ZIP file could not be created" +COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED="Error - file could not be created" +COM_PHOCACOMMANDER_ERROR_FILE_EXISTS="Error - file exists" +COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET="Error - no value sent or wrong file name added" +COM_PHOCACOMMANDER_PACK="Pack" +COM_PHOCACOMMANDER_SET_PACKAGE_NAME="Set package name" +COM_PHOCACOMMANDER_PACK="Pack" +COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL="Create Index File" +COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC="If new folder will be created, set if index.html file will be created inside this folder." +COM_PHOCACOMMANDER_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" +COM_PHOCACOMMANDER_PLEASE_READ="Please Read" +COM_PHOCACOMMANDER_USEFUL_TIPS="Useful Tips (Extensions)" +COM_PHOCACOMMANDER_USEFUL_LINKS="Useful Links" +;[3.0.0 Beta] +COM_PHOCACOMMANDER="Phoca Commander" +COM_PHOCACOMMANDER_CM_INFO="Phoca Commander Info" +COM_PHOCACOMMANDER_PHOCA_COMMANDER="Phoca Commander" +COM_PHOCACOMMANDER_INFORMATION="Information" +COM_PHOCACOMMANDER_HELP="Help" +COM_PHOCACOMMANDER_VERSION="Version" +COM_PHOCACOMMANDER_COPYRIGHT="Copyright" +COM_PHOCACOMMANDER_LICENSE="License" +COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" +COM_PHOCACOMMANDER_INFO="Info" +COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." +COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" +COM_PHOCACOMMANDER_NAME="Name" +COM_PHOCACOMMANDER_SIZE="Size" +COM_PHOCACOMMANDER_DATE="Date" +COM_PHOCACOMMANDER_ATTRIBUTES="Attributes" +COM_PHOCACOMMANDER_ATTR="Attr" +COM_PHOCACOMMANDER_OWNER="Owner" +COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED="No file or no folder selected" +; For Translaters - set your own data here +COM_PHOCACOMMANDER_TRANSLATION="Translation" +COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG="English" +COM_PHOCACOMMANDER_TRANSLATER="Jan Pavelka" +COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL="www.phoca.cz" +; End Translaters section - - - - - - - - +COM_PHOCACOMMANDER_CHECK_FOR_UPDATE="Check For Update" +COM_PHOCACOMMANDER_CONFIG_HEAD_GENERAL_LABEL="General" +COM_PHOCACOMMANDER_CONFIGURATION="Configuration" +COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY="Are you sure you want to copy" +COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE="Are you sure you want to move" +COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE="Are you sure you want to delete" +COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER="Joomla! root folder" +COM_PHOCACOMMANDER_TO="to" +COM_PHOCACOMMANDER_FILES_FOLDERS="Files (Folders)" +COM_PHOCACOMMANDER_FOLDER="Folder" +COM_PHOCACOMMANDER_FILE="File" +COM_PHOCACOMMANDER_FOLDER_SM="folder" +COM_PHOCACOMMANDER_FILES_FOLDERS_SM="files (folders)" +COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING="Be aware, this action removes selected files or folders (include their subfolders and files) from your server permanently" +COM_PHOCACOMMANDER_F1_ATTRIBUTES="F1 Attributes" +COM_PHOCACOMMANDER_F2_RENAME="F2 Rename" +COM_PHOCACOMMANDER_F3_VIEW="F3 View" +COM_PHOCACOMMANDER_F4_EDIT="F4 Edit" +COM_PHOCACOMMANDER_F5_COPY="F5 Copy" +COM_PHOCACOMMANDER_F6_MOVE="F6 Move" +COM_PHOCACOMMANDER_F7_NEW_FOLDER="F7 New Folder" +COM_PHOCACOMMANDER_F8_DELETE="F8 Delete" +COM_PHOCACOMMANDER_F9_UNPACK="F9 Unpack" +COM_PHOCACOMMANDER_F10_UPLOAD="F10 Upload" +COM_PHOCACOMMANDER_F1="F1" +COM_PHOCACOMMANDER_F2="F2" +COM_PHOCACOMMANDER_F3="F3" +COM_PHOCACOMMANDER_F4="F4" +COM_PHOCACOMMANDER_F5="F5" +COM_PHOCACOMMANDER_F6="F6" +COM_PHOCACOMMANDER_F7="F7" +COM_PHOCACOMMANDER_F8="F8" +COM_PHOCACOMMANDER_F9="F9" +COM_PHOCACOMMANDER_F10="F10" +COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED="Only one file or folder needs to be selected" +COM_PHOCACOMMANDER_RENAME="Rename" +COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED="Only one file needs to be selected" +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED="Folder cannot be previewed or edited" +COM_PHOCACOMMANDER_NEW_FOLDER="New Folder" +COM_PHOCACOMMANDER_NEW_ATTRIBUTES="New Attributes" +COM_PHOCACOMMANDER_CLOSE="Close" +COM_PHOCACOMMANDER_OK="OK" +COM_PHOCACOMMANDER_CANCEL="Cancel" +COM_PHOCACOMMANDER_WARNING="Warning" +COM_PHOCACOMMANDER_CONFIRM="Confirm" +COM_PHOCACOMMANDER_SET="Set" +COM_PHOCACOMMANDER_CREATE="Create" +COM_PHOCACOMMANDER_UPDATING="Updating" +COM_PHOCACOMMANDER_GROUP="Group" +COM_PHOCACOMMANDER_OTHER="Other" +COM_PHOCACOMMANDER_READ="Read" +COM_PHOCACOMMANDER_WRITE="Write" +COM_PHOCACOMMANDER_EXECUTE="Execute" +COM_PHOCACOMMANDER_VALUE="Value" +COM_PHOCACOMMANDER_PERMISSION="Permission" +COM_PHOCACOMMANDER_NEW_ATTRIBUTE="New Attribute" +COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR="Set new attribute for" +COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST="Error - no valid request" +COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK="Error - no valid task" +COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND="Error - no value send" +COM_PHOCACOMMANDER_ITEM_RENAMED="Item renamed" +COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND="Error - no file or folder found" +COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST="Folder does not exist" +COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST="File does not exist" +COM_PHOCACOMMANDER_FILE_RENAMED="File renamed" +COM_PHOCACOMMANDER_FOLDER_RENAMED="Folder renamed" +COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED="Only images can be previewed" +COM_PHOCACOMMANDER_EDIT="Edit" +COM_PHOCACOMMANDER_EDIT_OPTIONS="Edit Options" +COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL="Content" +COM_PHOCACOMMANDER_FIELD_CONTENT_DESC="Edit content" +COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL="Filename" +COM_PHOCACOMMANDER_FIELD_FILENAME_DESC="Filename (include path)" +COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD="New name is the same like the old one" +COM_PHOCACOMMANDER_EDITING_FILE="Editing file" +COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing." +COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE="Error - file is not writable" +COM_PHOCACOMMANDER_FILE_PERMISSIONS="Permissions" +COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP="Check file ownership" +COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Source file can't be returned to unwritable status" +COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - the file %s could not be saved." +COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION="Error - source is the same as destination" +COM_PHOCACOMMANDER_SERVER_ERROR="Server error" +COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES="Overwrite existing folders and files" +COM_PHOCACOMMANDER_COPY="Copy" +COM_PHOCACOMMANDER_ALL_FILES_COPIED="All files copied" +COM_PHOCACOMMANDER_FILES_COPIED="files copied" +COM_PHOCACOMMANDER_FILES_NOT_COPIED="files not copied" +COM_PHOCACOMMANDER_ALL_FOLDERS_COPIED="All folders copied" +COM_PHOCACOMMANDER_FOLDERS_COPIED="folders copied" +COM_PHOCACOMMANDER_FOLDERS_NOT_COPIED="files not copied" +COM_PHOCACOMMANDER_NO_FILES_COPIED="No files copied" +COM_PHOCACOMMANDER_NO_FOLDERS_COPIED="No folders copied" +COM_PHOCACOMMANDER_NO_ALL_FILES_COPIED="Not all files copied" +COM_PHOCACOMMANDER_NO_ALL_FOLDERS_COPIED="Not all folders copied" +COM_PHOCACOMMANDER_FILE_COPIED="File copied" +COM_PHOCACOMMANDER_FOLDER_COPIED="Folder copied" +COM_PHOCACOMMANDER_FILE_NOT_COPIED="File not copied" +COM_PHOCACOMMANDER_FOLDER_NOT_COPIED="Folder not copied" +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_COPIED_OWN_SUBFOLDER="Folder cannot be copied to its own subfolder" +COM_PHOCACOMMANDER_MOVE="Move" +COM_PHOCACOMMANDER_ALL_FILES_MOVED="All files moved" +COM_PHOCACOMMANDER_FILES_MOVED="files moved" +COM_PHOCACOMMANDER_FILES_NOT_MOVED="files not moved" +COM_PHOCACOMMANDER_ALL_FOLDERS_MOVED="All folders moved" +COM_PHOCACOMMANDER_FOLDERS_MOVED="folders moved" +COM_PHOCACOMMANDER_FOLDERS_NOT_MOVED="folders not moved" +COM_PHOCACOMMANDER_NO_FILES_MOVED="No files moved" +COM_PHOCACOMMANDER_NO_FOLDERS_MOVED="No folders moved" +COM_PHOCACOMMANDER_NO_ALL_FILES_MOVED="Not all files moved" +COM_PHOCACOMMANDER_NO_ALL_FOLDERS_MOVED="Not all folders moved" +COM_PHOCACOMMANDER_FILE_MOVED="File moved" +COM_PHOCACOMMANDER_FOLDER_MOVED="Folder moved" +COM_PHOCACOMMANDER_FILE_NOT_MOVED="File not moved" +COM_PHOCACOMMANDER_FOLDER_NOT_MOVED="Folder not moved" +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_MOVED_OWN_SUBFOLDER="Folder cannot be moved to its own subfolder" +COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN="Folder not overwritten" +COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN="File not overwritten" +COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL="General Options" +COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC="Display F keys with titles or without titles" +COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL="F Keys" +COM_PHOCACOMMANDER_WITHOUT_TITLES="Without Titles" +COM_PHOCACOMMANDER_WITH_TITLES="With Titles" +COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC="Set box (panel) height in px" +COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL="Box (Panel) Height" +COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS="New folder name is the same like existing folder" +COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS="New file name is the same like existing file" +COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED="New folder created" +COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NOT_CREATED="New folder not created" +COM_PHOCACOMMANDER_FILE_DELETED="File deleted" +COM_PHOCACOMMANDER_FILES_DELETED="files deleted" +COM_PHOCACOMMANDER_FILE_NOT_DELETED="File not deleted" +COM_PHOCACOMMANDER_NO_FILES_DELETED="No files deleted" +COM_PHOCACOMMANDER_FILES_NOT_DELETED="files not deleted" +COM_PHOCACOMMANDER_FOLDER_DELETED="Folder deleted (include its subfolders and files)" +COM_PHOCACOMMANDER_FOLDERS_DELETED="folders deleted (include their subfolders and files)" +COM_PHOCACOMMANDER_FOLDER_NOT_DELETED="Folder not deleted" +COM_PHOCACOMMANDER_NO_FOLDERS_DELETED="No folders deleted" +COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED="folders not deleted" +COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK="Are you sure you want to unpack" +COM_PHOCACOMMANDER_UNPACK="Unpack" +COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED="Only archive file can be unpacked" +COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE="File is not archive package" +COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS="File cannot be unpacked. One of the files or folders included in archive package exists in destination folder" +COM_PHOCACOMMANDER_FILE_UNPACKED="File unpacked" +COM_PHOCACOMMANDER_FILE_NOT_UNPACKED="File not unpacked" +COM_PHOCACOMMANDER_WRONG_REQUEST="Wrong request" +COM_PHOCACOMMANDER_UPLOAD="Upload" +COM_PHOCACOMMANDER_UPLOAD_FILE="Unpload File" +COM_PHOCACOMMANDER_MAX_SIZE="Max Size" +COM_PHOCACOMMANDER_SELECT_FILES="Select files" +COM_PHOCACOMMANDER_ADD_FILES="Add Files" +COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." +COM_PHOCACOMMANDER_FILENAME="Filename" +COM_PHOCACOMMANDER_SIZE="Size" +COM_PHOCACOMMANDER_STATUS="Status" +COM_PHOCACOMMANDER_NOT_AUTHORISED_ACTION="You are not authorized to do this action" +COM_PHOCACOMMANDER_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" +COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." +COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." +COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." +COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." +COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." +COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." +COM_PHOCACOMMANDER_START="Start" +COM_PHOCACOMMANDER_START_PUBLISHING="Start Publishing" +COM_PHOCACOMMANDER_START_UPLOAD="Start Upload" +COM_PHOCACOMMANDER_START_UPLOADING_QUEUE="Start Uploading Queue" +COM_PHOCACOMMANDER_STATISTICS="Statistics" +COM_PHOCACOMMANDER_STATUS="Status" +COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD="Stop Current Upload" +COM_PHOCACOMMANDER_SUCCESS="Success" +COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD="File uploaded" +COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOADED="File uploaded" +COM_PHOCACOMMANDER_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCACOMMANDER_SUCCESS_RESET_USER_STAT="User Statistics reset" +COM_PHOCACOMMANDER_THERE_IS_NO_FILE="There is no file" +COM_PHOCACOMMANDER_DRAG_FILES_HERE="Drag files here" +COM_PHOCACOMMANDER_UPLOADING_FINISHED="Uploading finished" +COM_PHOCACOMMANDER_ERROR="Error" +COM_PHOCACOMMANDER_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." +COM_PHOCACOMMANDER_WARNFILETOOLARGE="This file is too large to upload." +COM_PHOCACOMMANDER_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." +COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" +COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" +COM_PHOCACOMMANDER_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" +COM_PHOCACOMMANDER_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" +COM_PHOCACOMMANDER_INVALID_TOKEN="Invalid Token" +COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS="File already exists" +COM_PHOCACOMMANDER_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" +COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" +COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" +COM_PHOCACOMMANDER_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" +COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" +COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" +COM_PHOCACOMMANDER_SUCCESS="Success" +COM_PHOCACOMMANDER_FILES_UPLOADED="Files uploaded" +COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" +COM_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" +COM_PHOCACOMMANDER_WARNINVALIDMIME="Illegal or invalid mime type detected." +COM_PHOCACOMMANDER_WARNIEXSS="Possible IE XSS Attack found." +COM_PHOCACOMMANDER_FTP_LOGIN_DESC="For uploading files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below." +COM_PHOCACOMMANDER_FTP_LOGIN_LABEL="FTP Login Details" +COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE="Max upload size" +COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for upload. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" +COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for upload" +COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" +COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" +COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" +COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" +COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size" +COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" +COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Upload) and Disallowed File Types (Upload) will be ignored." +COM_PHOCACOMMANDER_YES="Yes" +COM_PHOCACOMMANDER_NO="No" +COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED="files changed (permission)" +COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED="files not changed (permission)" +COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED="folders changed (permission)" +COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED="folders not changed (permission)" +COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED="No files changed (permission)" +COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED="No folders changed (permission)" +COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED="File changed (permission)" +COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED="Folder changed (permission)" +COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED="File not changed (permission)" +COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED="Folder not changed (permission)" +COM_PHOCACOMMANDER_FILE_PERMISSIONS="File permissions" +COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - failed to save filename" +COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL="Edit Not Writable Files" +COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC="Set if edit function can store files which should be not writable" +COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING="Be aware, extracted files will overwrite existing files" +COM_PHOCACOMMANDER_WELCOME_WARNING="
                Be aware, you are about to manage real folders and files on your server.
                • Files can be managed like in your FTP client
                • There is no UNDO action
                • Some tasks like DELETE or MOVE can remove folders or files permanently
                • Unpacking archive files can overwrite existing files permanently
                • Some features may not work if they are limited by server settings
                • Success in working with folders and files depends on server settings (permissions, ownership)
                • Check file handling (FTP layer) in Global Configuration
                Please see Documentation.
                If you get some problems while using Phoca Commander, please ask in Phoca Forum.
                " diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.sys.ini index aab3a078..5598685f 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocacommander.sys.ini @@ -1,19 +1,19 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - -;[3.0.0] -COM_PHOCACOMMANDER="Phoca Commander" -COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" -COM_PHOCACOMMANDER_INFO="Info" -COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." -COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" -COM_PHOCACOMMANDER_VERSION="Version" - +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.0] +COM_PHOCACOMMANDER="Phoca Commander" +COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" +COM_PHOCACOMMANDER_INFO="Info" +COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." +COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" +COM_PHOCACOMMANDER_VERSION="Version" + diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.ini index b197f320..5a94747e 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.ini @@ -1,811 +1,811 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - - -;[3.1.1] -COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS="Select Max Levels" -COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_LABEL="Column size (Category View)" -COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_DESC="Set left column size for category view. Right column size will be automatically set. This parameter applies for Bootstrap layout only and maximum column size is 12." -COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_LABEL="Tags (String)" -COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_DESC="Set string tags. Separate each tag with comma (,). These tags are displayed next to filename or title. The don't include links, they cannot be searched in the system. They are just displayed like icons next to the filename or title" -COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_TITLE_SUFFIX="Yes (Category View) - Title Suffix" -COM_PHOCADOWNLOAD_YES_FILE_VIEW_TITLE_SUFFIX="Yes (FileView) - Title Suffix" -COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_TITLE_SUFFIX="Yes (Category And File View) - Title Suffix" -COM_PHOCADOWNLOAD_WAS_UPLOADED_BY="was uploaded by" -COM_PHOCADOWNLOAD_FILE_UPLOADED="File uploaded" -COM_PHOCADOWNLOAD_SEARCH_FILTER_IS_ACTIVE="Search filter is active. Listed categories are not displayed in category tree. Max levels filter is not active." -COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE="Please add a file. If added, please, test if it has the right format and size" -COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_LABEL="Display Bootstrap 3 Layout" -COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_DESC="When Bootstrap 3 layout is enabled, then specific layout will be not loaded. Don't forget to disable styles in Styles (CSS) view which can be in conflict with Bootstrap 3 (e.g. Bootstrap 2)" -;[3.1.0] -COM_PHOCADOWNLAD_CLOSE="Close" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_LABEL="Display Ordering Select Box (Category View)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_DESC="Display or hide ordering select box in Category View - ordering of files" -COM_PHOCADOWNLOAD_COUNT_ASC="Rating Count Ascending" -COM_PHOCADOWNLOAD_COUNT_DESC="Rating Count Descending" -COM_PHOCADOWNLOAD_AVERAGE_ASC="Rating Ascending" -COM_PHOCADOWNLOAD_AVERAGE_DESC="Rating Descending" -COM_PHOCADOWNLOAD_DOWNLOADS_ASC="Downloads Ascending" -COM_PHOCADOWNLOAD_DOWNLOADS_DESC="Downloads Descending" -COM_PHOCADOWNLOAD_ORDER_FRONT="Ordering" +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + + +;[3.1.1] +COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS="Select Max Levels" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_LABEL="Column size (Category View)" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_DESC="Set left column size for category view. Right column size will be automatically set. This parameter applies for Bootstrap layout only and maximum column size is 12." +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_LABEL="Tags (String)" +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_DESC="Set string tags. Separate each tag with comma (,). These tags are displayed next to filename or title. The don't include links, they cannot be searched in the system. They are just displayed like icons next to the filename or title" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_TITLE_SUFFIX="Yes (Category View) - Title Suffix" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_TITLE_SUFFIX="Yes (FileView) - Title Suffix" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_TITLE_SUFFIX="Yes (Category And File View) - Title Suffix" +COM_PHOCADOWNLOAD_WAS_UPLOADED_BY="was uploaded by" +COM_PHOCADOWNLOAD_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SEARCH_FILTER_IS_ACTIVE="Search filter is active. Listed categories are not displayed in category tree. Max levels filter is not active." +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE="Please add a file. If added, please, test if it has the right format and size" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_LABEL="Display Bootstrap 3 Layout" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_DESC="When Bootstrap 3 layout is enabled, then specific layout will be not loaded. Don't forget to disable styles in Styles (CSS) view which can be in conflict with Bootstrap 3 (e.g. Bootstrap 2)" +;[3.1.0] +COM_PHOCADOWNLAD_CLOSE="Close" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_LABEL="Display Ordering Select Box (Category View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_DESC="Display or hide ordering select box in Category View - ordering of files" +COM_PHOCADOWNLOAD_COUNT_ASC="Rating Count Ascending" +COM_PHOCADOWNLOAD_COUNT_DESC="Rating Count Descending" +COM_PHOCADOWNLOAD_AVERAGE_ASC="Rating Ascending" +COM_PHOCADOWNLOAD_AVERAGE_DESC="Rating Descending" +COM_PHOCADOWNLOAD_DOWNLOADS_ASC="Downloads Ascending" +COM_PHOCADOWNLOAD_DOWNLOADS_DESC="Downloads Descending" +COM_PHOCADOWNLOAD_ORDER_FRONT="Ordering" COM_PHOCADOWNLOAD_REGARDS="Regards" -COM_PHOCADOWNLOAD_MESSAGE="Message" +COM_PHOCADOWNLOAD_MESSAGE="Message" COM_PHOCADOWNLOAD_WEBSITE="Website" -COM_PHOCADOWNLOAD_WAS_DOWNLOADED_BY="was downloaded by" -COM_PHOCADOWNLOAD_SUCCESS_NEW_FILE_UPLOADED="New file uploaded" -COM_PHOCADOWNLOAD_FILE_DOWNLOADED="File downloaded" -COM_PHOCADOWNLOAD_ANONYMOUS="Anonymous" -COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_DESC="Set Multiple Upload Method in administration. See http://www.plupload.com/ which browsers and which functions are supported by selected method" -COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_LABEL="Multiple Upload Method (Administration)" -COM_PHOCADOWNLOAD_FLASH_UPLOADER="Flash Uploader" -COM_PHOCADOWNLOAD_GEARS_UPLOADER="Gears Uploader" -COM_PHOCADOWNLOAD_SILVERLIGHT_UPLOADER="Silverlight Uploader" -COM_PHOCADOWNLOAD_HTML4_UPLOADER="HTML4 Uploader" -COM_PHOCADOWNLOAD_HTML5_UPLOADER="HTML5 Uploader" -COM_PHOCADOWNLOAD_BROWSERPLUS_UPLOADER="Browserplus Uploader" - -;[3.0.6] -COM_PHOCADOWNLOAD_FILENAME_ASC="Filename Ascending" -COM_PHOCADOWNLOAD_FILENAME_DESC="Filename Descending" - -;[3.0.3] -COM_PHOCADOWNLOAD_BROWSER_DOES_NOT_SUPPORT_AUDIO_VIDEO_TAG="Your browser does not support the audio/video tag" -COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_LABEL="HTML5 Audio/Video" -COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_DESC="Set yes to enable HTML 5 player for audio and video" -;[3.0.2] -COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_LABEL="Enable Unique Download Link" -COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_DESC="Enable or disable unique download link feature (download with token)" -COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_TOKEN_REACHED="File cannot be downloaded. Maximum download limit of this file reached." -COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_DESC="Set maximum count of files user can download through unique download link. Be aware, 0 (Zero) means, there is no limit. This limit only takes effect for unique download link" -COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_LABEL="Maximum Count of downloads per file (Unique Download Link)" -COM_PHOCADOWNLOAD_URL_FORMAT_DEPENDS_ON_SEF="This Link may take different formats. Its format depends on your SEF Settings" -COM_PHOCADOWNLOAD_UNIQUE_DOWNLOAD_URL="Unique Download Link" -COM_PHOCADOWNLOAD_DOWNLOAD_FILE="Download file" -COM_PHOCADOWNLOAD_FILE_NOT_FOUND="File Not Found" -COM_PHOCADOWNLOAD_SET_TOKEN="Set Token" -COM_PHOCADOWNLOAD_FIELD_TOKEN_LABEL="Token (Unique Download Link)" -COM_PHOCADOWNLOAD_FIELD_TOKEN_DESC="Set token - unique download link of the file" -COM_PHOCADOWNLOAD_FIELD_TOKENHITS_LABEL="Token Downloads" -COM_PHOCADOWNLOAD_FIELD_TOKENHITS_DESC="How many times the file was downloaded by unique download link" -COM_PHOCADOWNLOAD_YES_FRONTEND="Yes (Frontend Only)" -COM_PHOCADOWNLOAD_YES_BACKEND="Yes (Backend Only)" -COM_PHOCADOWNLOAD_YES_FRONTEND_BACKEND="Yes (Frontend, Backend)" -;[3.0.1] -COM_PHOCADOWNLOAD_FIELD_ALIAS_M_DESC="Alias for all added images can be set. If empty, Alias will be created from Filename" -COM_PHOCADOWNLOAD_FIELD_TITLE_M_DESC="Title for all added images can be set. If empty, Title will be created from Filename" -COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." -;[3.0.0] -COM_PHOCADOWNLOAD_FIELD_COPY_PAP_LABEL="Copy Play and Preview" -COM_PHOCADOWNLOAD_FIELD_COPY_PAP_DESC="Set if files of added items will be copied to play and preview folder (in case they can be played or previewed). Items then will be downloadable and previewable or playable." -;[3.0.0 Beta] -COM_PHOCADOWNLOAD_HOT="Hot" -COM_PHOCADOWNLOAD_WILL_BE_CREATED_FROM_TITLE="Will be created from title" -;[3.0.0] -COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_PER_FILE_REACHED="You have reached maximum limit of downloads allowed per this file." -COM_PHOCADOWNLOAD_NOT_LOGGED_IN_USERS_NOT_ALLOWED_DOWNLOAD="Please login. Not logged in users are not allowed to download." -COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_DESC="Set maximum count of files user can download. Be aware, 0 (Zero) means, there is no limit. It is limit per file NOT for all downloads. If you set some limit here, anonymous users (guests) are not able to download any file." -COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_LABEL="Maximum Count of downloads per file" -COM_PHOCADOWNLOAD_LOGGING_NOT_ENABLED="Warning! Logging is not enabled at the moment!" -COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_LABEL="Play or Preview Copy" -COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_DESC="If yes (Frontend), file which is uploaded by user in fronted will be copied to phocadownloadpap folder so it can be played or previewed. If yes (Backend), then file which is added in File Add feature or in Multiple Add feature in Administration will be copied to phocadownloadpap folder too." -COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_LABEL="Enable Logging" -COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_DESC="Enable or disable logging for downloads, uploads or both. Be aware, logging of downloads and uploads can take a lot of memory in case a lot of downloads or uploads is done on your site. It is recommended to enable it only for short testing period" -COM_PHOCADOWNLOAD_YES_UPLOADS_ONLY="Yes (Uploads only)" -COM_PHOCADOWNLOAD_YES_DOWNLOADS_ONLY="Yes (Downloads only)" -COM_PHOCADOWNLOAD_YES_UPLOADS_DOWNLOADS="Yes (Uploads and Downloads)" -COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_LABEL="File Icon (Extension Mime Type)" -COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_DESC="Enable or disable displaying of file icon by extension mime type (for example: PDF icon will be displayed next to PDF documents). Be aware not all extension mime type icons are available." -COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM="Yes (download and upload parameters)" -COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM_ADMIN="Yes (download and upload parameter in administration only)" -COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM_ADMIN="Yes (only upload parameters in administration)" -COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM="Yes (only upload parameters)" -COM_PHOCADOWNLOAD_YES_DOWNLOAD_PARAM="Yes (only download parameters)" -COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" -COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Download), Allowed File Types (Upload), Disallowed File Types (Download), Disallowed File Types (Upload) will be ignored." -COM_PHOCADOWNLOAD_CONFIG_HEAD_DOWNLOADS_LABEL="Downloads" -COM_PHOCADOWNLOAD_CONFIG_HEAD_UPLOADS_LABEL="Uploads" -COM_PHOCADOWNLOAD_FILE_VIEW_LABEL="File View" -COM_PHOCADOWNLOAD_CONFIG_CATEGORY_CATEGORIES_VIEW_LABEL="Categories and Category View" -COM_PHOCADOWNLOAD_IP="IP" -COM_PHOCADOWNLOAD_PAGE="Page" -COM_PHOCADOWNLOAD_RESET_LOG="Reset Log" -COM_PHOCADOWNLOAD_WARNING_RESET_LOG="Are you sure you want to reset (clear) the log?" -COM_PHOCADOWNLOAD_SUCCESS_RESET_LOG_STAT="Log cleared" -COM_PHOCADOWNLOAD_ERROR_RESET_LOG_STAT="Error while clearing log" -COM_PHOCADOWNLOAD_ERROR_SERVER_NOT_ABLE_TO_STORE_FILE_TEMP_FOLDER="Error while uploading file. Server is not able to store this file to Temp folder." -COM_PHOCADOWNLOAD_COUNT="Count" -COM_PHOCADOWNLOAD_LOGGING="Logging" -COM_PHOCADOWNLOAD_UPLOADS="Uploads" -COM_PHOCADOWNLOAD_EDIT_CSS_FILES="Edit CSS Files" -COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_DESC="Set ID or IDs of menu link (Itemid) where the style will be displayed. Separate each parent ID with comma (,)" -COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_LABEL="Menu Link ID" -COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME="Error while saving the filename" -COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Error while making the source file unwritable" -COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_WRITABLE="Error while saving the file. Source File is not writable." -COM_PHOCADOWNLOAD_STYLE="Style" -COM_PHOCADOWNLOAD_FIELD_CSS_LABEL="Style (CSS Source)" -COM_PHOCADOWNLOAD_FIELD_CSS_DESC="Edit source of the style" -COM_PHOCADOWNLOAD_FIELD_TYPE_DESC="Type of the style" -COM_PHOCADOWNLOAD_FIELD_TYPE_LABEL="Type" -COM_PHOCADOWNLOAD_MAIN="Main" -COM_PHOCADOWNLOAD_FILE_EXISTS="File exists" -COM_PHOCADOWNLOAD_FILE_DOES_NOT_EXIST="File does not exist" -COM_PHOCADOWNLOAD_TYPE="Type" -COM_PHOCADOWNLOAD_CUSTOM_CSS="Custom" -COM_PHOCADOWNLOAD_MAIN_CSS="Main" -COM_PHOCADOWNLOAD_FILTER_SELECT_TYPE="- Select Type -" -COM_PHOCADOWNLOAD_STYLES="Styles" -COM_PHOCADOWNLOAD_FOLDER_NOT_FOUND="Folder not found" -COM_PHOCADOWNLOAD_EDIT_CSS="Edit CSS" -COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND="Custom CSS Folder Not Found" - -COM_PHOCADOWNLOAD_MIRROR_DETAILS="Mirror Details" -COM_PHOCADOWNLOAD_YOUTUBE_OPTIONS="YouTube Options" -COM_PHOCADOWNLOAD_GENERAL_OPTIONS="General Options" -COM_PHOCADOWNLOAD_PUBLISHING_OPTIONS="Publishing Options" -COM_PHOCADOWNLOAD_METADATA_OPTIONS="Metadata Options" -COM_PHOCADOWNLOAD_FILTER_SEARCH_LABEL="Search" -COM_PHOCADOWNLOAD_FILTER_SEARCH_DESC="Search the items" -COM_PHOCADOWNLOAD_LICENCE="Licence" -COM_PHOCADOWNLOAD_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" -COM_PHOCADOWNLOAD_PLEASE_READ="Please Read" -COM_PHOCADOWNLOAD_USEFUL_TIPS="Useful Tips (Extensions)" -COM_PHOCADOWNLOAD_USEFUL_LINKS="Useful Links" -;[2.1.5] -COM_PHOCADOWNLOAD_UPLOADED_BY_LABEL="Uploaded By" -COM_PHOCADOWNLOAD_UPLOADED_BY_DESC="Set Uploaded By" -COM_PHOCADOWNLOAD_OWNER_LABEL="Owner" -COM_PHOCADOWNLOAD_OWNER_DESC="Set Owner" -;[2.1.2] -COM_PHOCADOWNLOAD_BATCH_OPTIONS_CATEGORIES="Batch process the selected categories" -COM_PHOCADOWNLOAD_PHOCA_DOWNLOAD="Phoca Download" -COM_PHOCADOWNLOAD_INFORMATION="Information" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_LABEL="Select Category Link" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_DESC="Select category to link it" -COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_LABEL="Download Folder (Play, Preview)" -COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_DESC="Set download folder for play and preview files" -;[2.1.1] -COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_LABEL="Youtube Height (Detail View)" -COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_DESC="Set Youtube height for Detail View" -COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_LABEL="Youtube Width (Detail View)" -COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_DESC="Set Youtube width for Detail View" -COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_LABEL="Youtube Height (Category View)" -COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_DESC="Set Youtube height for Category View" -COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_LABEL="Youtube Width (Category View)" -COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_DESC="Set Youtube width for Category View" -COM_PHOCADOWNLOAD_GROUP_LABEL_YOUTUBE_DETAILS="Youtube" -COM_PHOCADOWNLOAD_VIDEO_LINK_LABEL="Youtube Link" -COM_PHOCADOWNLOAD_VIDEO_LINK_DESC="Set Youtube link" -COM_PHOCADOWNLOAD_YES_ONLY_MODALBOX="Yes (Only Modalbox - Category View)" -;[2.1.0 Stable] -COM_PHOCADOWNLOAD_SELECT_FILE="Select file" -COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_LABEL="Select file" -COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_DESC="Select display file" -COM_PHOCADOWNLOAD_OVERLIB_WIDTH_DETAIL="Overlib with detail" -;[2.1.0 Beta] -COM_PHOCADOWNLOAD_FILE_VIEW="File View" -COM_PHOCADOWNLOAD_CATEGORY_VIEW="Category View" -COM_PHOCADOWNLOAD_CATEGORIES_VIEW="Categories View" -COM_PHOCADOWNLOAD_PARAMETERS="Parameters" -COM_PHOCADOWNLOAD_STYLES="Styles (CSS)" -COM_PHOCADOWNLOAD_LAYOUT_WARNING="Warning: Parameters are mostly styled by CSS, here you can add or remove different parts of the view. For stylizing them, just check the Phoca Download CSS. Edit the HTML source (HTML source can be displayed by editor feature) Displaying specific layout must be enabled in parameters." -COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_LABEL="Display Specific Layout" -COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_DESC="Display specific layout - set in Phoca Download administration. Be aware, some parts of the layout needs to be changed in CSS too to display properly." -COM_PHOCADOWNLOAD_CLEAN="Clean" -COM_PHOCADOWNLOAD_YES_OVERLIB="Yes (Overlib)" -COM_PHOCADOWNLOAD_YES_MODAL="Yes (Modal Box)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_LABEL="Display Tags" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_DESC="Display or hide tags" -COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_BUTTON="Yes (Category View) as Button" -COM_PHOCADOWNLOAD_YES_FILE_VIEW_BUTTON="Yes (File View) as Button" -COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_BUTTON="Yes (Category And File View) as Button" -COM_PHOCADOWNLOAD_EXTERNAL_LINK="External Link" -COM_PHOCADOWNLOAD_CATEGORY_LINK="Category Link" -COM_PHOCADOWNLOAD_SEARCH_OUTCOME="Search Outcome" -COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_LABEL="Tags (Links)" -COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_DESC="Set if the tags will include a link. If yes, set type of this link" -COM_PHOCADOWNLOAD_AT="at" -COM_PHOCADOWNLOAD_FEATURES="Features" -COM_PHOCADOWNLOAD_CHANGELOG="Changelog" -COM_PHOCADOWNLOAD_NOTES="Notes" -COM_PHOCADOWNLOAD_ERROR_DELETING_ITEM="Error while deleting item" -COM_PHOCADOWNLOAD_SUCCESS_DELETING_ITEM="Item deleted" -COM_PHOCADOWNLOAD_ERROR_UNPUBLISHING_ITEM="Error while unpublishing item" -COM_PHOCADOWNLOAD_ERROR_PUBLISHING_ITEM="Error while publishing item" -COM_PHOCADOWNLOAD_SUCCESS_UNPUBLISHING_ITEM="Item unpublished" -COM_PHOCADOWNLOAD_SUCCESS_PUBLISHING_ITEM="Item published" -COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_LABEL="Delete Rights" -COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_DESC="Set delete rights" -COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_FILE="Category(ies): '%s' cannot be removed as it contains (they contain) Items. There may currently be File(s) within the Category which you must delete first." -COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_CAT="Category(ies): '%s' cannot be removed as it contains (they contain) Subcategories. There may currently be Subcategory(ies) within the Category which you must delete first." -COM_PHOCADOWNLOAD_CATEGORIES_ADDED="Category(ies) added" -COM_PHOCADOWNLOAD_FILES_ADDED="File(s) added" -COM_PHOCADOWNLOAD_CHECK_ALL="Check All" -COM_PHOCADOWNLOAD_WARNING_FILE_SELECTED_SELECT_CATEGORY="File(s) are selected. Category needs to be selected also" -COM_PHOCADOWNLOAD_WARNING_SELECT_FILENAME_OR_FOLDER="Select File or Folder" -COM_PHOCADOWNLOAD_MULTIPLE_ADD="Multiple Add" -COM_PHOCADOWNLOAD_BATCH_OPTIONS_FILES="Batch process the selected files" -;COM_PHOCADOWNLOAD_SUCCESS_COPY_FILE="File(s) copied" -;COM_PHOCADOWNLOAD_ERROR_COPY_FILE="Error while copying file(s)" -COM_PHOCADOWNLOAD_QUICK_COPY="Quick Copy" -COM_PHOCADOWNLOAD_COPY="Copy" -COM_PHOCADOWNLOAD_FORM_SELECT_IMAGE="Select Image" -COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_LABEL="Image" -COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_DESC="Set image for the file" -COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_LABEL="Categories View Layout" -COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_DESC="Set layout for Categories View" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_LABEL="Category View Layout" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_DESC="Set layout for Category View" -COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_LABEL="File View Layout" -COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_DESC="Set layout for File View" -COM_PHOCADOWNLOOAD_CONTROL_PANEL="Control Panel" -COM_PHOCADOWNLOAD_FIELD_FEATURES_DESC="Set Features Text" -COM_PHOCADOWNLOAD_FIELD_FEATURES_LABEL="Features" -COM_PHOCADOWNLOAD_FIELD_CHANGELOG_DESC="Set Changelog Text" -COM_PHOCADOWNLOAD_FIELD_CHANGELOG_LABEL="Changelog" -COM_PHOCADOWNLOAD_FIELD_NOTES_DESC="Set Notes Text" -COM_PHOCADOWNLOAD_FIELD_NOTES_LABEL="Notes" -COM_PHOCADOWNLOAD_FIELD_TAGS_LABEL="Tags" -COM_PHOCADOWNLOAD_FIELD_TAGS_DESC="Select tags" -COM_PHOCADOWNLOAD_NEW_TAG="New Tag" -COM_PHOCADOWNLOAD_EDIT_TAG="Edit Tag" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Link To Category" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_DES="Select category if you want to link this tag to category" -COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_LABEL="Link To External Site" -COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_DESC="Set link to external site if you want to link this tag to some site (include http://)" -COM_PHOCADOWNLOAD_TAG="Tag" -COM_PHOCADOWNLOAD_TAGS="Tags" -COM_PHOCADOWNLOAD_LAYOUT="Layout" -;[2.0.0] -COM_PHOCADOWNLOAD_NUM="Num" -COM_PHOCADOWNLOAD_LIMIT="Limit" -COM_PHOCADOWNLOAD_YOUTUBE_URL="Youtube URL" -COM_PHOCADOWNLOAD_WARNING_SET_YOUTUBE_URL="You must set URL of Youtube video" -COM_PHOCADOWNLOAD_PLAYER_WIDTH="Player Width" -COM_PHOCADOWNLOAD_PLAYER_HEIGHT="Player Height" -COM_PHOCADOWNLOAD_PLAYER_HEIGHT_MP3="Player Height (MP3)" -COM_PHOCADOWNLOAD_WARNING_PLAYER_SIZE="Only size of Popup Window (Modal Box) can be set here, size of player needs to be set in Parameters of Phoca Download Component" -COM_PHOCADOWNLOAD_PREVIEW_WIDTH="Preview Width" -COM_PHOCADOWNLOAD_PREVIEW_HEIGHT="Preview Height" -COM_PHOCADOWNLOAD_YOU_MUST_SELECT_FILE="You must select a file" -COM_PHOCADOWNLOAD_YOU_MUST_SELECT_CATEGORY="You must select a category" -COM_PHOCADOWNLOAD_TARGET="Target" -COM_PHOCADOWNLOAD_TARGET_SELF="Target _self" -COM_PHOCADOWNLOAD_TARGET_BLANK="Target _blank" -COM_PHOCADOWNLOAD_TARGET_TOP="Target _top" -COM_PHOCADOWNLOAD_TARGET_PARENT="Target _parent" -COM_PHOCADOWNLOAD_INSERT_CODE="Insert Code" -COM_PHOCADOWNLOAD_BACK="Back" -COM_PHOCADOWNLOAD_FILELIST="File List" -COM_PHOCADOWNLOAD_YOUTUBE_VIDEO="Youtube Video" -COM_PHOCADOWNLOAD_PLAY_FILE_LINK="Play File (Link)" -COM_PHOCADOWNLOAD_PLAY_FILE_DIRECT="Play File (Direct)" -COM_PHOCADOWNLOAD_PREVIEW_FILE_LINK="Preview File (Link)" -COM_PHOCADOWNLOAD_LINK_TO_FILE="Link To File" -COM_PHOCADOWNLOAD_LINK_TO_CATEGORY="Link To Category" -COM_PHOCADOWNLOAD_LINK_TO_CATEGORIES="Link To Categories" -COM_PHOCADOWNLOAD_SELECT_TYPE="Select Type" -COM_PHOCADOWNLOAD_UPLOADED_BY="Uploaded by" -COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_LABEL="Enable Cache" -COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_DESC="Enable cache if it is enabled in Joomla! Global Configuration" -;[2.0.0RC3] -COM_PHOCADOWNLOAD_USER_LANG="User's Language" -COM_PHOCADOWNLOAD_SITE_LANG="Site's Language" -COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_LABEL="User Language" -COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_DESC="Set which language will be set while creating category or uploading image in UCP" -COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY_FILE="You have no rights to access file in this category" -COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_LABEL="Select Category" -COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_DESC="Select category" -COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY="Facebook Application ID is empty" -COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_LABEL="Facebook comments application ID" -COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_DESC="Set Facebook Comments Application ID (ID of your created application in Facebook)" -COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_LABEL="Facebook Comments Width" -COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_DESC="Set Facebook comments box width" -COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_LABEL="Facebook Language" -COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_DESC="Set Facebook language" -COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_LABEL="Comments Count" -COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_DESC="Set count of comments displayed in comment box" -COM_PHOCADOWNLOAD_FACEBOOK="Facebook" -COM_PHOCADOWNLOAD_STARS_OUT_OF="stars out of" -COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." -COM_PHOCADOWNLOAD_FIELD_LANGUAGE_CATEGORY_DESC="The language that the category is assigned to." -;[2.0.0RC2] -COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_DESC="If yes then the file stored on server will be deleted in case the file will be deleted from Phoca Download" -COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_LABEL="Delete Existing Files" -COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" -COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" -COM_PHOCADOWNLOAD_REPORT="Report" -COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_LABEL="Guestbook ID (Report)" -COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_DESC="Set guestbook id (guestbook from Phoca Guestbook component) in case the report function is active" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_LABEL="Display Report Link" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_DESC="Display or hide report link. This link will run Phoca Guestbook in Report Mode. There users can report files. Phoca Guestbook needs to be installed and the report function enabled in guestbook settings to run this feature." -COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_LABEL="Display Mirror Links" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_DESC="Display or hide mirror links" -COM_PHOCADOWNLOAD_GROUP_LABEL_MIRROR_DETAILS="Mirror Details" -COM_PHOCADOWNLOAD_OPEN_WINDOW_BLANK="Open in new window (_blank)" -COM_PHOCADOWNLOAD_OPEN_WINDOW_PARENT="Open in parent window/frame (_parent)" -COM_PHOCADOWNLOAD_OPEN_WINDOW_SELF="Open in this window/frame (_self)" -COM_PHOCADOWNLOAD_OPEN_WINDOW_TOP="Open in top frame (replaces all frames) (_top)" -COM_PHOCADOWNLOAD_MIRROR_LINK_LINK_LABEL="Link" -COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET_LABEL="Target" -COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE_LABEL="Title (Link 1)" -COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK_DESC="Set first mirror link (Inlcude the protocol: e.g. http:// or https://)" -COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET_DESC="Set target for first mirror link" -COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE_DESC="Set title for first mirror link" -COM_PHOCADOWNLOAD_MIRROR_LINK_LINK2_LABEL="Link 2" -COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET2_LABEL="Target" -COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE2_LABEL="Title (Link 2)" -COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK2_DESC="Set second mirror link (Inlcude the protocol: e.g. http:// or https://)" -COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET2_DESC="Set target for second mirror link" -COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE2_DESC="Set title for second mirror link" -COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW="Yes (Category View)" -COM_PHOCADOWNLOAD_YES_FILE_VIEW="Yes (FileView)" -COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW="Yes (Category And File View)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_DESC="Display or hide rating for files" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_LABEL="Display Rating (File)" -COM_PHOCADOWNLOAD_CONFIG_RATING_SETTINGS_LABEL="Rating Settings" -COM_PHOCADOWNLOAD_ERROR_FILE_NOT_EXISTS="File does not exist" -COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE="You have already rated this file" -COM_PHOCADOWNLOAD_SUCCESS_RATING_FILE="Thank you for your rating" -COM_PHOCADOWNLOAD_ERROR_RATING_FILE="Error while rating the file" -COM_PHOCADOWNLOAD_ERROR_WRONG_RATING="Error while rating - wrong format added" -COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING="Error while requesting rating" -COM_PHOCADOWNLOAD_VOTE="vote" -COM_PHOCADOWNLOAD_VOTES="votes" -COM_PHOCADOWNLOAD_FILE_RATING="File Rating" -COM_PHOCADOWNLOAD_RATING="Rating" -COM_PHOCADOWNLOAD_STAR_OUT_OF="star out of" -COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE="Only registered and logged in users can rate this file" -;[2.0.0 RC] -COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for frontend upload." -COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for frontend upload. Default list of filetypes is not complete and should be modified to fit your needs." -COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LABEL="Display Pagination" -COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_DESC="Display or hide pagination" -COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_LABEL="Display Select Box - Pagination" -COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_DESC="Display or hide select box for pagination" -COM_PHOCADOWNLOAD_HIDE="Hide" -COM_PHOCADOWNLOAD_DISPLAY="Display" -;[2.0.0 BETA1] -COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_LABEL="Display Main Category Description" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_DESC="Set if category description should be displayed in Categories View - Description will be displayed instead of subcategories" -COM_PHOCADOWNLOAD_ERROR_CATEGORY_NOT_SELECTED="Category was not selected" -COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_LABEL="Access Level - Registered Users" -COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_DESC="Set access levels for registered users. Some actions in frontend can be done by registered users only. Set which access level group will be regarded as registered group." -COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_LABEL="Iconv Alias" -COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_DESC="Enable or disable creating of alias with help of iconv function" -COM_PHOCADOWNLOAD_UPGRADE="Upgrade" -COM_PHOCADOWNLOAD_INSTALL="Install" -; For Translaters - set your own data here -COM_PHOCADOWNLOAD_TRANSLATION="Translation" -COM_PHOCADOWNLOAD_TRANSLATION_LANGUAGE_TAG="English" -COM_PHOCADOWNLOAD_TRANSLATER="Jan Pavelka" -COM_PHOCADOWNLOAD_TRANSLATION_SUPPORT_URL="www.phoca.cz" -; End Translaters section - - - - - - - - -COM_PHOCADOWNLOAD_ACCESS="Access" -COM_PHOCADOWNLOAD_ACTIVE="Active" -COM_PHOCADOWNLOAD_ADD_FILES="Add Files" -COM_PHOCADOWNLOAD_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." -COM_PHOCADOWNLOAD_ADD_TEXT="Text" -COM_PHOCADOWNLOAD_ALL="All" -COM_PHOCADOWNLOAD_ALL_APPROVED="All files authorized" -COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS="All registered users" -COM_PHOCADOWNLOAD_ALWAYS="Always" -COM_PHOCADOWNLOAD_AND_LEFT_FOR_DESCRIPTION="and left for description" -COM_PHOCADOWNLOAD_APPROVE="Authorize" -COM_PHOCADOWNLOAD_APPROVED="Authorized" -COM_PHOCADOWNLOAD_APPROVE_ALL="Authorize All" -COM_PHOCADOWNLOAD_APPROVE_ALL_ERROR="Error while authorizing all files" -COM_PHOCADOWNLOAD_APPROVE_ITEM="Authorize item" -COM_PHOCADOWNLOAD_AUTHOR="Author" -COM_PHOCADOWNLOAD_AUTHOR_EMAIL="Author's Email" -COM_PHOCADOWNLOAD_AUTHOR_WEBSITE="Author's Website" -COM_PHOCADOWNLOAD_BLANK="Blank" -COM_PHOCADOWNLOAD_GREY2="Grey 2" -COM_PHOCADOWNLOAD_BOTTOM="Bottom" -COM_PHOCADOWNLOAD_BOTTOM_AND_OVERLIB="Bottom and Overlib" -COM_PHOCADOWNLOAD_BOTTOM_WITH_DETAIL_AND_OVERLIB="Bottom with detail and Overlib" -COM_PHOCADOWNLOAD_CATEGORIES="Categories" -COM_PHOCADOWNLOAD_CATEGORY="Category" -COM_PHOCADOWNLOAD_CHARACTERS_WRITTEN="Characters written" -COM_PHOCADOWNLOAD_CHECK_FOR_UPDATE="Check For Update" -COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" -COM_PHOCADOWNLOAD_CLOSE="Close" -COM_PHOCADOWNLOAD_CONFIGURATION="Phoca Download Configuration" -COM_PHOCADOWNLOAD_CONFIG_COMMENTS_SETTINGS_LABEL="Comments Settings" -COM_PHOCADOWNLOAD_CONFIG_GENERAL_SETTINGS_LABEL="General Settings" -COM_PHOCADOWNLOAD_CONFIG_HEAD_DISPLAY_LABEL="Display" -COM_PHOCADOWNLOAD_CONFIG_HEAD_GENERAL_LABEL="General" -COM_PHOCADOWNLOAD_CONFIG_HEAD_USER_UPLOAD_LABEL="User Upload" -COM_PHOCADOWNLOAD_CONFIG_THEME_SETTINGS_LABEL="Theme Settings" -COM_PHOCADOWNLOAD_CONTROL_PANEL="Control Panel" -COM_PHOCADOWNLOAD_COPYRIGHT="Copyright" -COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE="Count of not uploaded (failed) files" -COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE="Count of uploaded files" -COM_PHOCADOWNLOAD_COUNT_USER_FILES_APPROVED="Count (authorized files)" -COM_PHOCADOWNLOAD_COUNT_USER_FILES_NOT_APPROVED="Count (not authorized files)" -COM_PHOCADOWNLOAD_CREATE_FOLDER="Create Folder" -COM_PHOCADOWNLOAD_DATABASE_TIME="Database" -COM_PHOCADOWNLOAD_DATE="Date" -COM_PHOCADOWNLOAD_DATE_ASC="Date Ascending" -COM_PHOCADOWNLOAD_DATE_DESC="Date Descending" -COM_PHOCADOWNLOAD_DATE_UPLOAD="Upload Date" -COM_PHOCADOWNLOAD_DEFAULT="Default" -COM_PHOCADOWNLOAD_DELETE="Delete" -COM_PHOCADOWNLOAD_DESCRIPTION="Description" -COM_PHOCADOWNLOAD_DETAILS="Details" -COM_PHOCADOWNLOAD_DISPLAY_NUM="Display Num" -COM_PHOCADOWNLOAD_DOT="dot" -COM_PHOCADOWNLOAD_DOWNLOAD="Download" -COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" -COM_PHOCADOWNLOAD_DRAG_FILES_HERE="Drag Files Here" -COM_PHOCADOWNLOAD_EDIT="Edit" -COM_PHOCADOWNLOAD_EDIT_CATEGORY="Edit Category" -COM_PHOCADOWNLOAD_EDIT_FILE="Edit File" -COM_PHOCADOWNLOAD_EMAIL="Email" -COM_PHOCADOWNLOAD_ERROR="Error" -COM_PHOCADOWNLOAD_ERROR_APPROVE_ALL="Error while authorizing all files" -COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET="Error while creating folder - Manager not set" -COM_PHOCADOWNLOAD_ERROR_FILE_UPLOADED="File not uploaded" -COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING="Error while creating folder" -COM_PHOCADOWNLOAD_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" -COM_PHOCADOWNLOAD_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" -COM_PHOCADOWNLOAD_ERROR_NO_ABS_FILE="File not found on server" -COM_PHOCADOWNLOAD_ERROR_NO_CORRECT_FILE_TO_PLAY_FOUND="No correct file for playing found" -COM_PHOCADOWNLOAD_ERROR_NO_DB_FILE="File info not found in database" -COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT="Problems with database" -COM_PHOCADOWNLOAD_ERROR_NO_FILE_TO_PLAY_FOUND="No file for playing found" -COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" -COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" -COM_PHOCADOWNLOAD_ERROR_RESET_USER_STAT="Error while resetting user statistics" -COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" -COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" -COM_PHOCADOWNLOAD_ERROR_UPLOAD_MANAGER_NOT_SET="Error while uploading - Manager not set" -COM_PHOCADOWNLOAD_ERROR_WHILE_DOWNLOADING_FILE="Error while downloading file" -COM_PHOCADOWNLOAD_EXPERTS_ONLY_LABEL="Experts Only!" -COM_PHOCADOWNLOAD_EXPIRED="Expired" -COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_DESC="Set absolute path of Phoca Download folder (this can be path outside the public_html). Be aware, this path must exist and the folder and possible subfolders need to be created manually. If the path is outside the public_html the files cannot be previewed or played in browser." -COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_LABEL="Absolute Path" -COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_DESC="Set access rights" -COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_LABEL="Access Rights" -COM_PHOCADOWNLOAD_FIELD_ALIAS_DESC="Set alias" -COM_PHOCADOWNLOAD_FIELD_ALIAS_LABEL="Alias" -COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set allowed file types for frontend download. Default list of filetypes is not complete and should be modified to fit your needs." -COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Allowed File Types (Download)" -COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" -COM_PHOCADOWNLOAD_FIELD_APPROVED_DESC="Set if the file will be authorized or unathorized" -COM_PHOCADOWNLOAD_FIELD_APPROVED_LABEL="Authorized" -COM_PHOCADOWNLOAD_FIELD_AUTHOR_DESC="Set Author of the file" -COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_DESC="Set Author's email" -COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_LABEL="Author's Email" -COM_PHOCADOWNLOAD_FIELD_AUTHOR_LABEL="Author" -COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_DESC="Set Author's webstie" -COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_LABEL="Author's Website" -COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_DESC="Set button style" -COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_LABEL="Button Style" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_DESC="Select Category" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Category" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_DESC="Set category ordering" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_LABEL="Category Ordering" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_DESC="Set pagination values for Category View (file list). Separate each pagination value with comma (,)" -COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_LABEL="Pagination (Category View)" -COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_DESC="Select license for this file. If some license will be selected, file will be not downloaded after clicking on Download button, but the license text will be displayed. This text must be confirmed by user who wants to dowload the file." -COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_LABEL="Confirm license" -COM_PHOCADOWNLOAD_FIELD_DATE_DESC="Set date" -COM_PHOCADOWNLOAD_FIELD_DATE_LABEL="Date" -COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_DESC="Set default value for pagination which can be displayed in Category View (file list)" -COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_LABEL="Pagination Default Value" -COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_DESC="Set description. This will be displayed in Categories View" -COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_LABEL="Description" -COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_DESC="If direct link will be checked, Downlod button will link directly to the file. It means the file will be handled by browser (e.g. MP3 will be not downloaded but played). This option should be selected in case there are problems with downloading files from the server." -COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_LABEL="Direct Link" -COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set disallowed file types for frontend download." -COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Disallowed File Types (Download)" -COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_DESC="Set if category comments should be displayed or not" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_LABEL="Display Category Comments" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_DESC="Set date type" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_LABEL="Display Date Type" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_DESC="Display or hide description" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_LABEL="Display Description" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_DESC="Display or hide detail button" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_LABEL="Display Detail Button" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_DESC="Display or hide the count of downloads" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_LABEL="Display Downloads" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_DESC="Set if file comments should be displayed or not" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_LABEL="Display File Comments" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_DESC="Enable or disable File View before download a file" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_LABEL="Display File View" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_DESC="Set the number of hits (downloads). After reaching this number of downloads HOT icon will be displayed for the file, use zero for not displaying the icon" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_LABEL="Display Hot Icon" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_DESC="If the file will be inaccessible for e.g. not logged in users, it can be displayed for them. It means users will see the file but by clicking on the download button they will be redirected to login form." -COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_LABEL="Display Inaccessible file" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_DESC="Display Most Download Files in Categories View" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_LABEL="Display Most Download Files" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_DESC="Set the number of days. During these days NEW icon will be displayed for the file, use zero for not displaying the icon" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_LABEL="Display New Icon" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_DESC="Display or hide number of files (Categories View)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_DESC="Display or hide number of files (Categories View - Header)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_LABEL="Display Number of Files (Categories View - Header)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_LABEL="Display Number of Files (Categories View)" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_DESC="Display or hide play button" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_LABEL="Display Play Button" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_DESC="Display or hide preview button" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_LABEL="Display Preview Button" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_DESC="Display or hide up icon - icon back to category or back to categories view" -COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_LABEL="Display Up Icon" -COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_DESC="Set Dowloads" -COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_LABEL="Downloads" -COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_DESC="Set download folder. If absolute path will be set, this parameter will be ignored. Be aware, the folder set in the parameter must exist on the server." -COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_LABEL="Download Folder" -COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_DESC="If Yes, files will be uploaded as not authorized and must be authorized by administrator. If No, files will be uploaded as authorized" -COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_LABEL="Enable User File Authorization" -COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_DESC="Enable or disable multiple upload feature for administration" -COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_LABEL="Enable Multiple Upload (Administration)" -COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_DESC="Set if Plugin can modify SQL query (Experts only!)" -COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_LABEL="Enable Plugin Query" -COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_DESC="Enable or disable user statistics" -COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_LABEL="Enable User Statistics" -COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_DESC="Select if the external download link will have attribute TARGET=_self or TARGET=_blank" -COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_LABEL="External Download Link" -COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_DESC="If the file is stored on external server, paste the external link here. The form field 'Filename' must also be filled (paste the whole link to the file into the form field 'External file' and only the name of the file into the form field 'Filename'). If you set the form field 'Direct Link' (see above) to 'Yes', the external link will be directly accessed (without checking the rights or saving statistics). If you set the form field 'Direct Link' to 'No', internal site will be accessed - statistics will be saved, file will be checked for access rights and then the site will be redirected to the external link (be aware, if the file is public on external server, it cannot be protected by Phoca Download there). Be aware, internal site will be not accessed in File View while clicking on Submit (Download) button." -COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_LABEL="External Link" -COM_PHOCADOWNLOAD_FIELD_FILENAME_DESC="Set or select filename" -COM_PHOCADOWNLOAD_FIELD_FILENAME_LABEL="Filename" -COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL="Filename or Title" -COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL_DESC="Display Filename or Title" -COM_PHOCADOWNLOAD_FIELD_FILEPLAY_DESC="Set or select file which will be played." -COM_PHOCADOWNLOAD_FIELD_FILEPLAY_LABEL="File - Play" -COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_DESC="Set or select file which will be previewed" -COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_LABEL="File - Preview" -COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_DESC="Set size of file icon" -COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_LABEL="File Icon Size" -COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_DESC="Set size of file icon for most downloaded files" -COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_LABEL="File Icon Size (Most Downloaded Files)" -COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_DESC="Set file ordering" -COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_LABEL="File Ordering" -COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_DESC="Set finish publishing date" -COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_LABEL="Finish Publishing" -COM_PHOCADOWNLOAD_FIELD_HITS="Hits" -COM_PHOCADOWNLOAD_FIELD_HITS_DESC="Hits" -COM_PHOCADOWNLOAD_FIELD_ICON_DESC="Set icon for the file" -COM_PHOCADOWNLOAD_FIELD_ICON_LABEL="Icon" -COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_DESC="Set first specific icon for the file, will be displayed after filename" -COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_LABEL="Specific Icon (1)" -COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_DESC="Set first specific icon for the file, will be displayed after filename" -COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_LABEL="Specific Icon (2)" -COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_DESC="Permissions" -COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_LABEL="Permissions" -COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_DESC="Set height of license box" -COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_LABEL="License Box Height" -COM_PHOCADOWNLOAD_FIELD_LICENSE_DESC="Set license of the file, this is only information about the license, if you want that license text needs to be confirmed, you should fill the form field 'Confirm License'" -COM_PHOCADOWNLOAD_FIELD_LICENSE_LABEL="License" -COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_DESC="Set license text" -COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_LABEL="License Text" -COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_DESC="Set URL to license. URL to site where is described the license of the file" -COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_LABEL="License link" -COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_DESC="Set maximum count of files user can upload" -COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_LABEL="Maximum Count of uploaded user's files" -COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_DESC="Set maximum size of all files user can upload" -COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_LABEL="Maximum Size of all user's files" -COM_PHOCADOWNLOAD_FIELD_METADESC_DESC="Set meta description for Phoca Download" -COM_PHOCADOWNLOAD_FIELD_METADESC_LABEL="Meta Description" -COM_PHOCADOWNLOAD_FIELD_METAKEY_DESC="Set meta keywords for Phoca Download" -COM_PHOCADOWNLOAD_FIELD_METAKEY_LABEL="Meta Keywords" -COM_PHOCADOWNLOAD_FIELD_ORDERING_DESC="Set ordering" -COM_PHOCADOWNLOAD_FIELD_ORDERING_LABEL="Ordering" -COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_DESC="Set parent category" -COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_LABEL="Parent Category" -COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_DESC="Set player height (in px)" -COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_LABEL="Player Height" -COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_DESC="Set player height (MP3, OGG Audio)" -COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_LABEL="Player Height (MP3, OGG Audio)" -COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_DESC="Set player width (in px)" -COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_LABEL="Player Width" -COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_DESC="Select play popup window" -COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_LABEL="Play Popup Window" -COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_DESC="Set preview height (in px)" -COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_LABEL="Preview Height" -COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_DESC="Select preview popup window" -COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_LABEL="Preview Popup Window" -COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_DESC="Set preview width (in px)" -COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_LABEL="Preview Width" -COM_PHOCADOWNLOAD_FIELD_PUBLISHED_DESC="Publish or unpublish" -COM_PHOCADOWNLOAD_FIELD_PUBLISHED_LABEL="Published" -COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_DESC="Send email if user will download a file" -COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_LABEL="Send Email (Download)" -COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_DESC="Send email if user will upload a file" -COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_LABEL="Send Email (Upload)" -COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_DESC="Set start publishing date" -COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_LABEL="Start Publishing" -COM_PHOCADOWNLOAD_FIELD_THEME_DESC="Set theme" -COM_PHOCADOWNLOAD_FIELD_THEME_LABEL="Theme" -COM_PHOCADOWNLOAD_FIELD_TITLE_DESC="Set title" -COM_PHOCADOWNLOAD_FIELD_TITLE_LABEL="Title" -COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload in administration. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" -COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size (Administration)" -COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_DESC="Set upload rights" -COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_LABEL="Upload Rights" -COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_DESC="Set maximum size of file which can be uploaded by user in frontend" -COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_LABEL="User File Upload Size" -COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_DESC="Enable or disable user upload" -COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_LABEL="Enable User Upload" -COM_PHOCADOWNLOAD_FIELD_VERSION_DESC="Set version" -COM_PHOCADOWNLOAD_FIELD_VERSION_LABEL="Version" -COM_PHOCADOWNLOAD_FILE="File" -COM_PHOCADOWNLOAD_FILENAME="Filename" -COM_PHOCADOWNLOAD_FILENAME_AND_TITLE="Filename and Title" -COM_PHOCADOWNLOAD_FILES="Files" -COM_PHOCADOWNLOAD_FILESIZE="File Size" -COM_PHOCADOWNLOAD_FILES_UPLOADED="Files Uploaded" -COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS="File already exists" -COM_PHOCADOWNLOAD_FILE_FILEATIME="File (access time)" -COM_PHOCADOWNLOAD_FILE_FILECTIME="File (inode change time)" -COM_PHOCADOWNLOAD_FILE_FILEMTIME="File (modification time)" -COM_PHOCADOWNLOAD_FILE_SETTINGS_LABEL="File Settings" -COM_PHOCADOWNLOAD_FILE_SIZE_EMPTY="File Size is empty" -COM_PHOCADOWNLOAD_FILE_TITLE="File Title" -COM_PHOCADOWNLOAD_FILTER="Filter" -COM_PHOCADOWNLOAD_FINISH="Finish" -COM_PHOCADOWNLOAD_FINISH_PUBLISHING="Finish Publishing" -COM_PHOCADOWNLOAD_FOLDER="Folder" -COM_PHOCADOWNLOAD_FORM_SELECT_FILENAME="Select Filename" -COM_PHOCADOWNLOAD_FORM_SELECT_ICON="Select Icon" -COM_PHOCADOWNLOAD_FTP_LOGIN_DESC="For uploading files (images, themes), Joomla! will most likely need your FTP account details. Please enter them in the form fields below." -COM_PHOCADOWNLOAD_FTP_LOGIN_LABEL="FTP Login Details" -COM_PHOCADOWNLOAD_GREY="Grey" -COM_PHOCADOWNLOAD_GROUP_LABEL_PUBLISHING_DETAILS="Publishing Details" -COM_PHOCADOWNLOAD_GUEST="Guest" -COM_PHOCADOWNLOAD_HELP="Help" -COM_PHOCADOWNLOAD_HITS="Hits" -COM_PHOCADOWNLOAD_ID="ID" -COM_PHOCADOWNLOAD_ID_ASC="ID Ascending" -COM_PHOCADOWNLOAD_ID_DESC="ID Descending" -COM_PHOCADOWNLOAD_INFO="Info" -COM_PHOCADOWNLOAD_INSERT="Insert" -COM_PHOCADOWNLOAD_INSERT_FILENAME="Insert Filename" -COM_PHOCADOWNLOAD_INSERT_ICON="Insert Icon" -COM_PHOCADOWNLOAD_INVALID_TOKEN="Invalid Token" -COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE="I agree to the terms listed above" -COM_PHOCADOWNLOAD_JCOMMENTS="JComments" -COM_PHOCADOWNLOAD_LICENSE="License" -COM_PHOCADOWNLOAD_LICENSES="Licenses" -COM_PHOCADOWNLOAD_LICENSE_AGREEMENT="License Agreement" -COM_PHOCADOWNLOAD_LOADING="Loading" -COM_PHOCADOWNLOAD_MAX_LIMIT_CHARS_REACHED="You have reached maximum limit of characters allowed" -COM_PHOCADOWNLOAD_MAX_SIZE="Max Size" -COM_PHOCADOWNLOAD_MODAL_BOX="Modal Box" -COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES="Most downloaded files" -COM_PHOCADOWNLOAD_MULTIPLE_UPLOAD="Multiple Upload" -COM_PHOCADOWNLOAD_NEW="New" -COM_PHOCADOWNLOAD_NEW_CATEGORY="New Category" -COM_PHOCADOWNLOAD_NEW_FILE="New File" -COM_PHOCADOWNLOAD_NO="No" -COM_PHOCADOWNLOAD_NOBODY="Nobody" -COM_PHOCADOWNLOAD_NONE="None" -COM_PHOCADOWNLOAD_NOT_APPROVE="Unauthorize" -COM_PHOCADOWNLOAD_NOT_APPROVED="Not Authorized" -COM_PHOCADOWNLOAD_NOT_APPROVED_FILES_COUNT="Count of not authorized file(s)" -COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM="Unauthorize item" -COM_PHOCADOWNLOAD_NOT_AUTHORISED_ACTION="You are not authorized to do this action" -COM_PHOCADOWNLOAD_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" -COM_PHOCADOWNLOAD_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." -COM_PHOCADOWNLOAD_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." -COM_PHOCADOWNLOAD_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." -COM_PHOCADOWNLOAD_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." -COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." -COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." -COM_PHOCADOWNLOAD_NO_EXPIRY="No Expiry" -COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY="You have no rights to access this category" -COM_PHOCADOWNLOAD_NO_SUBCATEGORIES="No Subcategories" -COM_PHOCADOWNLOAD_N_ITEMS_APPROVED="%d items successfully authorized" -COM_PHOCADOWNLOAD_N_ITEMS_APPROVED_1="%d item successfully authorized" -COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_0="No item successfully checked in" -COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" -COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" -COM_PHOCADOWNLOAD_N_ITEMS_DELETED="%d items successfully deleted" -COM_PHOCADOWNLOAD_N_ITEMS_DELETED_1="%d item successfully deleted" -COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED="%d items successfully unauthorized" -COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED_1="%d item successfully unauthorized" -COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED="%d items successfully published" -COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED_1="%d item successfully published" -COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" -COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" -COM_PHOCADOWNLOAD_OPEN="Open" -COM_PHOCADOWNLOAD_ORDER="Order" -COM_PHOCADOWNLOAD_ORDERING="Ordering" -COM_PHOCADOWNLOAD_ORDERING_ASC="Ordering Ascending" -COM_PHOCADOWNLOAD_ORDERING_DESC="Ordering Descending" -COM_PHOCADOWNLOAD_OVERLIB="Overlib" -COM_PHOCADOWNLOAD_OWNER="Owner" -COM_PHOCADOWNLOAD_PARENT_CATEGORY="Parent Category" -COM_PHOCADOWNLOAD_PATH="Path" -COM_PHOCADOWNLOAD_PD_CONTROL_PANEL="Phoca Download Control Panel" -COM_PHOCADOWNLOAD_PD_INFO="Phoca Download Info" -COM_PHOCADOWNLOAD_PENDING="Pending" -COM_PHOCADOWNLOAD_PLAY="Play" -COM_PHOCADOWNLOAD_PLAY_SETTINGS_LABEL="Play Settings" -COM_PHOCADOWNLOAD_PLEASE_ADD_FILE="Please add a file" -COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_EMAIL_ADDRESS="Please enter a valid email address" -COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_WEBSITE="Please enter a valid website (format: http://your_site.com)" -COM_PHOCADOWNLOAD_PLEASE_LOGIN_DOWNLOAD_FILE="Please login to download the file" -COM_PHOCADOWNLOAD_PLEASE_SELECT_CATEGORY="Please select category" -COM_PHOCADOWNLOAD_PREVIEW="Preview" -COM_PHOCADOWNLOAD_PREVIEW_SETTINGS_LABEL="Preview Settings" -COM_PHOCADOWNLOAD_PUBLISHED="Published" -COM_PHOCADOWNLOAD_PUBLISH_INFORMATION="Publish Information" -COM_PHOCADOWNLOAD_RESET="Reset" -COM_PHOCADOWNLOAD_ROUNDED_CORNERS="Rounded Corners" -COM_PHOCADOWNLOAD_SEARCH="Search" -COM_PHOCADOWNLOAD_SEARCH_IN_TITLE="Search" -COM_PHOCADOWNLOAD_SELECT_CATEGORY="Select Category" -COM_PHOCADOWNLOAD_SELECT_FILES="Select Files" -COM_PHOCADOWNLOAD_SELECT_ITEM_RESET="Select an item to reset" -COM_PHOCADOWNLOAD_SELECT_LICENSE="Select License" -COM_PHOCADOWNLOAD_SELF="Self" -COM_PHOCADOWNLOAD_SIZE="Size" -COM_PHOCADOWNLOAD_STANDARD_POPUP_WINDOW="Standard Popup Window" -COM_PHOCADOWNLOAD_START="Start" -COM_PHOCADOWNLOAD_START_PUBLISHING="Start Publishing" -COM_PHOCADOWNLOAD_START_UPLOAD="Start Upload" -COM_PHOCADOWNLOAD_START_UPLOADING_QUEUE="Start Uploading Queue" -COM_PHOCADOWNLOAD_STATISTICS="Statistics" -COM_PHOCADOWNLOAD_STATUS="Status" -COM_PHOCADOWNLOAD_STOP_CURRENT_UPLOAD="Stop Current Upload" -COM_PHOCADOWNLOAD_SUCCESS="Success" -COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD="File uploaded" -COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOADED="File uploaded" -COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" -COM_PHOCADOWNLOAD_SUCCESS_RESET_USER_STAT="User Statistics reset" -COM_PHOCADOWNLOAD_THERE_IS_NO_FILE="There is no file" -COM_PHOCADOWNLOAD_TITLE="Title" -COM_PHOCADOWNLOAD_TITLE_ASC="Title Ascending" -COM_PHOCADOWNLOAD_TITLE_DESC="Title Descending" -COM_PHOCADOWNLOAD_TOP="Top" -COM_PHOCADOWNLOAD_TOP_AND_OVERLIB="Top and Overlib" -COM_PHOCADOWNLOAD_TOP_WITH_DETAIL_AND_OVERLIB="Top with detail and Overlib" -COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE="File cannot be uploaded - unable to move file" -COM_PHOCADOWNLOAD_UP="Up" -COM_PHOCADOWNLOAD_UPLOAD="Upload" -COM_PHOCADOWNLOAD_UPLOADED_FILES="Uploaded Files" -COM_PHOCADOWNLOAD_UPLOAD_FILE="Upload File" -COM_PHOCADOWNLOAD_USER="User" -COM_PHOCADOWNLOAD_USERNAME="Username" -COM_PHOCADOWNLOAD_USERS="Users" -COM_PHOCADOWNLOAD_USER_STATISTICS="User Statistics" -COM_PHOCADOWNLOAD_USER_UPLOAD_DISABLED="User Upload is disabled" -COM_PHOCADOWNLOAD_VERSION="Version" -COM_PHOCADOWNLOAD_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." -COM_PHOCADOWNLOAD_WARNFILETOOLARGE="This file is too large to upload." -COM_PHOCADOWNLOAD_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." -COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" -COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" -COM_PHOCADOWNLOAD_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" -COM_PHOCADOWNLOAD_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" -COM_PHOCADOWNLOAD_WARNIEXSS="Possible IE XSS Attack found." -COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS="You must agree to listed terms" -COM_PHOCADOWNLOAD_WARNING_AUTHORIZE_ALL="Do you really want to authorize all files of all users?" -COM_PHOCADOWNLOAD_WARNING_DELETE_ITEMS="Are you sure you want to delete the listed Items?" -COM_PHOCADOWNLOAD_WARNING_DIRNAME="Error: Wrong folder name" -COM_PHOCADOWNLOAD_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" -COM_PHOCADOWNLOAD_WARNING_RESET_DOWNLOADS="Really reset downloads?" -COM_PHOCADOWNLOAD_WARNINVALIDIMG="Not a valid image." -COM_PHOCADOWNLOAD_WARNINVALIDMIME="Illegal or invalid mime type detected." -COM_PHOCADOWNLOAD_WARNNOTADMIN="Uploaded file is not an image file and you are not a manager or higher." -COM_PHOCADOWNLOAD_WARNSAFEMODE="Directory creation is not allowed while running in SAFE MODE as this can cause problems." -COM_PHOCADOWNLOAD_WARNUSERFILESTOOLARGE="Maximum size of all your files reached. File cannot be uploaded." -COM_PHOCADOWNLOAD_WARNUSERFILESTOOMUCH="Maximum count of all your files reached. File cannot be uploaded." -COM_PHOCADOWNLOAD_YES="Yes" -COM_PHOCADOWNLOAD_AT="at" -COM_PHOCADOWNLOAD_ERROR_CONTROLLER="Error: No such controller or task" -COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS="Folder exists" -COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" -COM_PHOCADOWNLOAD_EDIT_LICENSE="Edit License" -COM_PHOCADOWNLOAD_NEW_LICENSE="New License" +COM_PHOCADOWNLOAD_WAS_DOWNLOADED_BY="was downloaded by" +COM_PHOCADOWNLOAD_SUCCESS_NEW_FILE_UPLOADED="New file uploaded" +COM_PHOCADOWNLOAD_FILE_DOWNLOADED="File downloaded" +COM_PHOCADOWNLOAD_ANONYMOUS="Anonymous" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_DESC="Set Multiple Upload Method in administration. See http://www.plupload.com/ which browsers and which functions are supported by selected method" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_LABEL="Multiple Upload Method (Administration)" +COM_PHOCADOWNLOAD_FLASH_UPLOADER="Flash Uploader" +COM_PHOCADOWNLOAD_GEARS_UPLOADER="Gears Uploader" +COM_PHOCADOWNLOAD_SILVERLIGHT_UPLOADER="Silverlight Uploader" +COM_PHOCADOWNLOAD_HTML4_UPLOADER="HTML4 Uploader" +COM_PHOCADOWNLOAD_HTML5_UPLOADER="HTML5 Uploader" +COM_PHOCADOWNLOAD_BROWSERPLUS_UPLOADER="Browserplus Uploader" + +;[3.0.6] +COM_PHOCADOWNLOAD_FILENAME_ASC="Filename Ascending" +COM_PHOCADOWNLOAD_FILENAME_DESC="Filename Descending" + +;[3.0.3] +COM_PHOCADOWNLOAD_BROWSER_DOES_NOT_SUPPORT_AUDIO_VIDEO_TAG="Your browser does not support the audio/video tag" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_LABEL="HTML5 Audio/Video" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_DESC="Set yes to enable HTML 5 player for audio and video" +;[3.0.2] +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_LABEL="Enable Unique Download Link" +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_DESC="Enable or disable unique download link feature (download with token)" +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_TOKEN_REACHED="File cannot be downloaded. Maximum download limit of this file reached." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_DESC="Set maximum count of files user can download through unique download link. Be aware, 0 (Zero) means, there is no limit. This limit only takes effect for unique download link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_LABEL="Maximum Count of downloads per file (Unique Download Link)" +COM_PHOCADOWNLOAD_URL_FORMAT_DEPENDS_ON_SEF="This Link may take different formats. Its format depends on your SEF Settings" +COM_PHOCADOWNLOAD_UNIQUE_DOWNLOAD_URL="Unique Download Link" +COM_PHOCADOWNLOAD_DOWNLOAD_FILE="Download file" +COM_PHOCADOWNLOAD_FILE_NOT_FOUND="File Not Found" +COM_PHOCADOWNLOAD_SET_TOKEN="Set Token" +COM_PHOCADOWNLOAD_FIELD_TOKEN_LABEL="Token (Unique Download Link)" +COM_PHOCADOWNLOAD_FIELD_TOKEN_DESC="Set token - unique download link of the file" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_LABEL="Token Downloads" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_DESC="How many times the file was downloaded by unique download link" +COM_PHOCADOWNLOAD_YES_FRONTEND="Yes (Frontend Only)" +COM_PHOCADOWNLOAD_YES_BACKEND="Yes (Backend Only)" +COM_PHOCADOWNLOAD_YES_FRONTEND_BACKEND="Yes (Frontend, Backend)" +;[3.0.1] +COM_PHOCADOWNLOAD_FIELD_ALIAS_M_DESC="Alias for all added images can be set. If empty, Alias will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_TITLE_M_DESC="Title for all added images can be set. If empty, Title will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +;[3.0.0] +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_LABEL="Copy Play and Preview" +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_DESC="Set if files of added items will be copied to play and preview folder (in case they can be played or previewed). Items then will be downloadable and previewable or playable." +;[3.0.0 Beta] +COM_PHOCADOWNLOAD_HOT="Hot" +COM_PHOCADOWNLOAD_WILL_BE_CREATED_FROM_TITLE="Will be created from title" +;[3.0.0] +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_PER_FILE_REACHED="You have reached maximum limit of downloads allowed per this file." +COM_PHOCADOWNLOAD_NOT_LOGGED_IN_USERS_NOT_ALLOWED_DOWNLOAD="Please login. Not logged in users are not allowed to download." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_DESC="Set maximum count of files user can download. Be aware, 0 (Zero) means, there is no limit. It is limit per file NOT for all downloads. If you set some limit here, anonymous users (guests) are not able to download any file." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_LABEL="Maximum Count of downloads per file" +COM_PHOCADOWNLOAD_LOGGING_NOT_ENABLED="Warning! Logging is not enabled at the moment!" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_LABEL="Play or Preview Copy" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_DESC="If yes (Frontend), file which is uploaded by user in fronted will be copied to phocadownloadpap folder so it can be played or previewed. If yes (Backend), then file which is added in File Add feature or in Multiple Add feature in Administration will be copied to phocadownloadpap folder too." +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_LABEL="Enable Logging" +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_DESC="Enable or disable logging for downloads, uploads or both. Be aware, logging of downloads and uploads can take a lot of memory in case a lot of downloads or uploads is done on your site. It is recommended to enable it only for short testing period" +COM_PHOCADOWNLOAD_YES_UPLOADS_ONLY="Yes (Uploads only)" +COM_PHOCADOWNLOAD_YES_DOWNLOADS_ONLY="Yes (Downloads only)" +COM_PHOCADOWNLOAD_YES_UPLOADS_DOWNLOADS="Yes (Uploads and Downloads)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_LABEL="File Icon (Extension Mime Type)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_DESC="Enable or disable displaying of file icon by extension mime type (for example: PDF icon will be displayed next to PDF documents). Be aware not all extension mime type icons are available." +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM="Yes (download and upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM_ADMIN="Yes (download and upload parameter in administration only)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM_ADMIN="Yes (only upload parameters in administration)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM="Yes (only upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_PARAM="Yes (only download parameters)" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Download), Allowed File Types (Upload), Disallowed File Types (Download), Disallowed File Types (Upload) will be ignored." +COM_PHOCADOWNLOAD_CONFIG_HEAD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_CONFIG_HEAD_UPLOADS_LABEL="Uploads" +COM_PHOCADOWNLOAD_FILE_VIEW_LABEL="File View" +COM_PHOCADOWNLOAD_CONFIG_CATEGORY_CATEGORIES_VIEW_LABEL="Categories and Category View" +COM_PHOCADOWNLOAD_IP="IP" +COM_PHOCADOWNLOAD_PAGE="Page" +COM_PHOCADOWNLOAD_RESET_LOG="Reset Log" +COM_PHOCADOWNLOAD_WARNING_RESET_LOG="Are you sure you want to reset (clear) the log?" +COM_PHOCADOWNLOAD_SUCCESS_RESET_LOG_STAT="Log cleared" +COM_PHOCADOWNLOAD_ERROR_RESET_LOG_STAT="Error while clearing log" +COM_PHOCADOWNLOAD_ERROR_SERVER_NOT_ABLE_TO_STORE_FILE_TEMP_FOLDER="Error while uploading file. Server is not able to store this file to Temp folder." +COM_PHOCADOWNLOAD_COUNT="Count" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_EDIT_CSS_FILES="Edit CSS Files" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_DESC="Set ID or IDs of menu link (Itemid) where the style will be displayed. Separate each parent ID with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_LABEL="Menu Link ID" +COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME="Error while saving the filename" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Error while making the source file unwritable" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_WRITABLE="Error while saving the file. Source File is not writable." +COM_PHOCADOWNLOAD_STYLE="Style" +COM_PHOCADOWNLOAD_FIELD_CSS_LABEL="Style (CSS Source)" +COM_PHOCADOWNLOAD_FIELD_CSS_DESC="Edit source of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_DESC="Type of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_LABEL="Type" +COM_PHOCADOWNLOAD_MAIN="Main" +COM_PHOCADOWNLOAD_FILE_EXISTS="File exists" +COM_PHOCADOWNLOAD_FILE_DOES_NOT_EXIST="File does not exist" +COM_PHOCADOWNLOAD_TYPE="Type" +COM_PHOCADOWNLOAD_CUSTOM_CSS="Custom" +COM_PHOCADOWNLOAD_MAIN_CSS="Main" +COM_PHOCADOWNLOAD_FILTER_SELECT_TYPE="- Select Type -" +COM_PHOCADOWNLOAD_STYLES="Styles" +COM_PHOCADOWNLOAD_FOLDER_NOT_FOUND="Folder not found" +COM_PHOCADOWNLOAD_EDIT_CSS="Edit CSS" +COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND="Custom CSS Folder Not Found" + +COM_PHOCADOWNLOAD_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_YOUTUBE_OPTIONS="YouTube Options" +COM_PHOCADOWNLOAD_GENERAL_OPTIONS="General Options" +COM_PHOCADOWNLOAD_PUBLISHING_OPTIONS="Publishing Options" +COM_PHOCADOWNLOAD_METADATA_OPTIONS="Metadata Options" +COM_PHOCADOWNLOAD_FILTER_SEARCH_LABEL="Search" +COM_PHOCADOWNLOAD_FILTER_SEARCH_DESC="Search the items" +COM_PHOCADOWNLOAD_LICENCE="Licence" +COM_PHOCADOWNLOAD_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" +COM_PHOCADOWNLOAD_PLEASE_READ="Please Read" +COM_PHOCADOWNLOAD_USEFUL_TIPS="Useful Tips (Extensions)" +COM_PHOCADOWNLOAD_USEFUL_LINKS="Useful Links" +;[2.1.5] +COM_PHOCADOWNLOAD_UPLOADED_BY_LABEL="Uploaded By" +COM_PHOCADOWNLOAD_UPLOADED_BY_DESC="Set Uploaded By" +COM_PHOCADOWNLOAD_OWNER_LABEL="Owner" +COM_PHOCADOWNLOAD_OWNER_DESC="Set Owner" +;[2.1.2] +COM_PHOCADOWNLOAD_BATCH_OPTIONS_CATEGORIES="Batch process the selected categories" +COM_PHOCADOWNLOAD_PHOCA_DOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_INFORMATION="Information" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_LABEL="Select Category Link" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_DESC="Select category to link it" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_LABEL="Download Folder (Play, Preview)" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_DESC="Set download folder for play and preview files" +;[2.1.1] +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_LABEL="Youtube Height (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_DESC="Set Youtube height for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_LABEL="Youtube Width (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_DESC="Set Youtube width for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_LABEL="Youtube Height (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_DESC="Set Youtube height for Category View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_LABEL="Youtube Width (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_DESC="Set Youtube width for Category View" +COM_PHOCADOWNLOAD_GROUP_LABEL_YOUTUBE_DETAILS="Youtube" +COM_PHOCADOWNLOAD_VIDEO_LINK_LABEL="Youtube Link" +COM_PHOCADOWNLOAD_VIDEO_LINK_DESC="Set Youtube link" +COM_PHOCADOWNLOAD_YES_ONLY_MODALBOX="Yes (Only Modalbox - Category View)" +;[2.1.0 Stable] +COM_PHOCADOWNLOAD_SELECT_FILE="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_LABEL="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_DESC="Select display file" +COM_PHOCADOWNLOAD_OVERLIB_WIDTH_DETAIL="Overlib with detail" +;[2.1.0 Beta] +COM_PHOCADOWNLOAD_FILE_VIEW="File View" +COM_PHOCADOWNLOAD_CATEGORY_VIEW="Category View" +COM_PHOCADOWNLOAD_CATEGORIES_VIEW="Categories View" +COM_PHOCADOWNLOAD_PARAMETERS="Parameters" +COM_PHOCADOWNLOAD_STYLES="Styles (CSS)" +COM_PHOCADOWNLOAD_LAYOUT_WARNING="Warning: Parameters are mostly styled by CSS, here you can add or remove different parts of the view. For stylizing them, just check the Phoca Download CSS. Edit the HTML source (HTML source can be displayed by editor feature) Displaying specific layout must be enabled in parameters." +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_LABEL="Display Specific Layout" +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_DESC="Display specific layout - set in Phoca Download administration. Be aware, some parts of the layout needs to be changed in CSS too to display properly." +COM_PHOCADOWNLOAD_CLEAN="Clean" +COM_PHOCADOWNLOAD_YES_OVERLIB="Yes (Overlib)" +COM_PHOCADOWNLOAD_YES_MODAL="Yes (Modal Box)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_LABEL="Display Tags" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_DESC="Display or hide tags" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_BUTTON="Yes (Category View) as Button" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_BUTTON="Yes (File View) as Button" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_BUTTON="Yes (Category And File View) as Button" +COM_PHOCADOWNLOAD_EXTERNAL_LINK="External Link" +COM_PHOCADOWNLOAD_CATEGORY_LINK="Category Link" +COM_PHOCADOWNLOAD_SEARCH_OUTCOME="Search Outcome" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_LABEL="Tags (Links)" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_DESC="Set if the tags will include a link. If yes, set type of this link" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_FEATURES="Features" +COM_PHOCADOWNLOAD_CHANGELOG="Changelog" +COM_PHOCADOWNLOAD_NOTES="Notes" +COM_PHOCADOWNLOAD_ERROR_DELETING_ITEM="Error while deleting item" +COM_PHOCADOWNLOAD_SUCCESS_DELETING_ITEM="Item deleted" +COM_PHOCADOWNLOAD_ERROR_UNPUBLISHING_ITEM="Error while unpublishing item" +COM_PHOCADOWNLOAD_ERROR_PUBLISHING_ITEM="Error while publishing item" +COM_PHOCADOWNLOAD_SUCCESS_UNPUBLISHING_ITEM="Item unpublished" +COM_PHOCADOWNLOAD_SUCCESS_PUBLISHING_ITEM="Item published" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_LABEL="Delete Rights" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_DESC="Set delete rights" +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_FILE="Category(ies): '%s' cannot be removed as it contains (they contain) Items. There may currently be File(s) within the Category which you must delete first." +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_CAT="Category(ies): '%s' cannot be removed as it contains (they contain) Subcategories. There may currently be Subcategory(ies) within the Category which you must delete first." +COM_PHOCADOWNLOAD_CATEGORIES_ADDED="Category(ies) added" +COM_PHOCADOWNLOAD_FILES_ADDED="File(s) added" +COM_PHOCADOWNLOAD_CHECK_ALL="Check All" +COM_PHOCADOWNLOAD_WARNING_FILE_SELECTED_SELECT_CATEGORY="File(s) are selected. Category needs to be selected also" +COM_PHOCADOWNLOAD_WARNING_SELECT_FILENAME_OR_FOLDER="Select File or Folder" +COM_PHOCADOWNLOAD_MULTIPLE_ADD="Multiple Add" +COM_PHOCADOWNLOAD_BATCH_OPTIONS_FILES="Batch process the selected files" +;COM_PHOCADOWNLOAD_SUCCESS_COPY_FILE="File(s) copied" +;COM_PHOCADOWNLOAD_ERROR_COPY_FILE="Error while copying file(s)" +COM_PHOCADOWNLOAD_QUICK_COPY="Quick Copy" +COM_PHOCADOWNLOAD_COPY="Copy" +COM_PHOCADOWNLOAD_FORM_SELECT_IMAGE="Select Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_LABEL="Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_DESC="Set image for the file" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_LABEL="Categories View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_DESC="Set layout for Categories View" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_LABEL="Category View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_DESC="Set layout for Category View" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_LABEL="File View Layout" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_DESC="Set layout for File View" +COM_PHOCADOWNLOOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_FIELD_FEATURES_DESC="Set Features Text" +COM_PHOCADOWNLOAD_FIELD_FEATURES_LABEL="Features" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_DESC="Set Changelog Text" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_LABEL="Changelog" +COM_PHOCADOWNLOAD_FIELD_NOTES_DESC="Set Notes Text" +COM_PHOCADOWNLOAD_FIELD_NOTES_LABEL="Notes" +COM_PHOCADOWNLOAD_FIELD_TAGS_LABEL="Tags" +COM_PHOCADOWNLOAD_FIELD_TAGS_DESC="Select tags" +COM_PHOCADOWNLOAD_NEW_TAG="New Tag" +COM_PHOCADOWNLOAD_EDIT_TAG="Edit Tag" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Link To Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DES="Select category if you want to link this tag to category" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_LABEL="Link To External Site" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_DESC="Set link to external site if you want to link this tag to some site (include http://)" +COM_PHOCADOWNLOAD_TAG="Tag" +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.0.0] +COM_PHOCADOWNLOAD_NUM="Num" +COM_PHOCADOWNLOAD_LIMIT="Limit" +COM_PHOCADOWNLOAD_YOUTUBE_URL="Youtube URL" +COM_PHOCADOWNLOAD_WARNING_SET_YOUTUBE_URL="You must set URL of Youtube video" +COM_PHOCADOWNLOAD_PLAYER_WIDTH="Player Width" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT="Player Height" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT_MP3="Player Height (MP3)" +COM_PHOCADOWNLOAD_WARNING_PLAYER_SIZE="Only size of Popup Window (Modal Box) can be set here, size of player needs to be set in Parameters of Phoca Download Component" +COM_PHOCADOWNLOAD_PREVIEW_WIDTH="Preview Width" +COM_PHOCADOWNLOAD_PREVIEW_HEIGHT="Preview Height" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_FILE="You must select a file" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_CATEGORY="You must select a category" +COM_PHOCADOWNLOAD_TARGET="Target" +COM_PHOCADOWNLOAD_TARGET_SELF="Target _self" +COM_PHOCADOWNLOAD_TARGET_BLANK="Target _blank" +COM_PHOCADOWNLOAD_TARGET_TOP="Target _top" +COM_PHOCADOWNLOAD_TARGET_PARENT="Target _parent" +COM_PHOCADOWNLOAD_INSERT_CODE="Insert Code" +COM_PHOCADOWNLOAD_BACK="Back" +COM_PHOCADOWNLOAD_FILELIST="File List" +COM_PHOCADOWNLOAD_YOUTUBE_VIDEO="Youtube Video" +COM_PHOCADOWNLOAD_PLAY_FILE_LINK="Play File (Link)" +COM_PHOCADOWNLOAD_PLAY_FILE_DIRECT="Play File (Direct)" +COM_PHOCADOWNLOAD_PREVIEW_FILE_LINK="Preview File (Link)" +COM_PHOCADOWNLOAD_LINK_TO_FILE="Link To File" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORY="Link To Category" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORIES="Link To Categories" +COM_PHOCADOWNLOAD_SELECT_TYPE="Select Type" +COM_PHOCADOWNLOAD_UPLOADED_BY="Uploaded by" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_LABEL="Enable Cache" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_DESC="Enable cache if it is enabled in Joomla! Global Configuration" +;[2.0.0RC3] +COM_PHOCADOWNLOAD_USER_LANG="User's Language" +COM_PHOCADOWNLOAD_SITE_LANG="Site's Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_LABEL="User Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_DESC="Set which language will be set while creating category or uploading image in UCP" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY_FILE="You have no rights to access file in this category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_LABEL="Select Category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_DESC="Select category" +COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY="Facebook Application ID is empty" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_LABEL="Facebook comments application ID" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_DESC="Set Facebook Comments Application ID (ID of your created application in Facebook)" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_LABEL="Facebook Comments Width" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_DESC="Set Facebook comments box width" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_LABEL="Facebook Language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_DESC="Set Facebook language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_LABEL="Comments Count" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_DESC="Set count of comments displayed in comment box" +COM_PHOCADOWNLOAD_FACEBOOK="Facebook" +COM_PHOCADOWNLOAD_STARS_OUT_OF="stars out of" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_CATEGORY_DESC="The language that the category is assigned to." +;[2.0.0RC2] +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_DESC="If yes then the file stored on server will be deleted in case the file will be deleted from Phoca Download" +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_LABEL="Delete Existing Files" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" +COM_PHOCADOWNLOAD_REPORT="Report" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_LABEL="Guestbook ID (Report)" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_DESC="Set guestbook id (guestbook from Phoca Guestbook component) in case the report function is active" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_LABEL="Display Report Link" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_DESC="Display or hide report link. This link will run Phoca Guestbook in Report Mode. There users can report files. Phoca Guestbook needs to be installed and the report function enabled in guestbook settings to run this feature." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_LABEL="Display Mirror Links" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_DESC="Display or hide mirror links" +COM_PHOCADOWNLOAD_GROUP_LABEL_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_OPEN_WINDOW_BLANK="Open in new window (_blank)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_PARENT="Open in parent window/frame (_parent)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_SELF="Open in this window/frame (_self)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_TOP="Open in top frame (replaces all frames) (_top)" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK_LABEL="Link" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE_LABEL="Title (Link 1)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK_DESC="Set first mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET_DESC="Set target for first mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE_DESC="Set title for first mirror link" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK2_LABEL="Link 2" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET2_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE2_LABEL="Title (Link 2)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK2_DESC="Set second mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET2_DESC="Set target for second mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE2_DESC="Set title for second mirror link" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW="Yes (Category View)" +COM_PHOCADOWNLOAD_YES_FILE_VIEW="Yes (FileView)" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW="Yes (Category And File View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_DESC="Display or hide rating for files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_LABEL="Display Rating (File)" +COM_PHOCADOWNLOAD_CONFIG_RATING_SETTINGS_LABEL="Rating Settings" +COM_PHOCADOWNLOAD_ERROR_FILE_NOT_EXISTS="File does not exist" +COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE="You have already rated this file" +COM_PHOCADOWNLOAD_SUCCESS_RATING_FILE="Thank you for your rating" +COM_PHOCADOWNLOAD_ERROR_RATING_FILE="Error while rating the file" +COM_PHOCADOWNLOAD_ERROR_WRONG_RATING="Error while rating - wrong format added" +COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING="Error while requesting rating" +COM_PHOCADOWNLOAD_VOTE="vote" +COM_PHOCADOWNLOAD_VOTES="votes" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_RATING="Rating" +COM_PHOCADOWNLOAD_STAR_OUT_OF="star out of" +COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE="Only registered and logged in users can rate this file" +;[2.0.0 RC] +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for frontend upload." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for frontend upload. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LABEL="Display Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_DESC="Display or hide pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_LABEL="Display Select Box - Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_DESC="Display or hide select box for pagination" +COM_PHOCADOWNLOAD_HIDE="Hide" +COM_PHOCADOWNLOAD_DISPLAY="Display" +;[2.0.0 BETA1] +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_LABEL="Display Main Category Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_DESC="Set if category description should be displayed in Categories View - Description will be displayed instead of subcategories" +COM_PHOCADOWNLOAD_ERROR_CATEGORY_NOT_SELECTED="Category was not selected" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_LABEL="Access Level - Registered Users" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_DESC="Set access levels for registered users. Some actions in frontend can be done by registered users only. Set which access level group will be regarded as registered group." +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_LABEL="Iconv Alias" +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_DESC="Enable or disable creating of alias with help of iconv function" +COM_PHOCADOWNLOAD_UPGRADE="Upgrade" +COM_PHOCADOWNLOAD_INSTALL="Install" +; For Translaters - set your own data here +COM_PHOCADOWNLOAD_TRANSLATION="Translation" +COM_PHOCADOWNLOAD_TRANSLATION_LANGUAGE_TAG="English" +COM_PHOCADOWNLOAD_TRANSLATER="Jan Pavelka" +COM_PHOCADOWNLOAD_TRANSLATION_SUPPORT_URL="www.phoca.cz" +; End Translaters section - - - - - - - - +COM_PHOCADOWNLOAD_ACCESS="Access" +COM_PHOCADOWNLOAD_ACTIVE="Active" +COM_PHOCADOWNLOAD_ADD_FILES="Add Files" +COM_PHOCADOWNLOAD_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." +COM_PHOCADOWNLOAD_ADD_TEXT="Text" +COM_PHOCADOWNLOAD_ALL="All" +COM_PHOCADOWNLOAD_ALL_APPROVED="All files authorized" +COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS="All registered users" +COM_PHOCADOWNLOAD_ALWAYS="Always" +COM_PHOCADOWNLOAD_AND_LEFT_FOR_DESCRIPTION="and left for description" +COM_PHOCADOWNLOAD_APPROVE="Authorize" +COM_PHOCADOWNLOAD_APPROVED="Authorized" +COM_PHOCADOWNLOAD_APPROVE_ALL="Authorize All" +COM_PHOCADOWNLOAD_APPROVE_ALL_ERROR="Error while authorizing all files" +COM_PHOCADOWNLOAD_APPROVE_ITEM="Authorize item" +COM_PHOCADOWNLOAD_AUTHOR="Author" +COM_PHOCADOWNLOAD_AUTHOR_EMAIL="Author's Email" +COM_PHOCADOWNLOAD_AUTHOR_WEBSITE="Author's Website" +COM_PHOCADOWNLOAD_BLANK="Blank" +COM_PHOCADOWNLOAD_GREY2="Grey 2" +COM_PHOCADOWNLOAD_BOTTOM="Bottom" +COM_PHOCADOWNLOAD_BOTTOM_AND_OVERLIB="Bottom and Overlib" +COM_PHOCADOWNLOAD_BOTTOM_WITH_DETAIL_AND_OVERLIB="Bottom with detail and Overlib" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_CATEGORY="Category" +COM_PHOCADOWNLOAD_CHARACTERS_WRITTEN="Characters written" +COM_PHOCADOWNLOAD_CHECK_FOR_UPDATE="Check For Update" +COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" +COM_PHOCADOWNLOAD_CLOSE="Close" +COM_PHOCADOWNLOAD_CONFIGURATION="Phoca Download Configuration" +COM_PHOCADOWNLOAD_CONFIG_COMMENTS_SETTINGS_LABEL="Comments Settings" +COM_PHOCADOWNLOAD_CONFIG_GENERAL_SETTINGS_LABEL="General Settings" +COM_PHOCADOWNLOAD_CONFIG_HEAD_DISPLAY_LABEL="Display" +COM_PHOCADOWNLOAD_CONFIG_HEAD_GENERAL_LABEL="General" +COM_PHOCADOWNLOAD_CONFIG_HEAD_USER_UPLOAD_LABEL="User Upload" +COM_PHOCADOWNLOAD_CONFIG_THEME_SETTINGS_LABEL="Theme Settings" +COM_PHOCADOWNLOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_COPYRIGHT="Copyright" +COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE="Count of not uploaded (failed) files" +COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE="Count of uploaded files" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_APPROVED="Count (authorized files)" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_NOT_APPROVED="Count (not authorized files)" +COM_PHOCADOWNLOAD_CREATE_FOLDER="Create Folder" +COM_PHOCADOWNLOAD_DATABASE_TIME="Database" +COM_PHOCADOWNLOAD_DATE="Date" +COM_PHOCADOWNLOAD_DATE_ASC="Date Ascending" +COM_PHOCADOWNLOAD_DATE_DESC="Date Descending" +COM_PHOCADOWNLOAD_DATE_UPLOAD="Upload Date" +COM_PHOCADOWNLOAD_DEFAULT="Default" +COM_PHOCADOWNLOAD_DELETE="Delete" +COM_PHOCADOWNLOAD_DESCRIPTION="Description" +COM_PHOCADOWNLOAD_DETAILS="Details" +COM_PHOCADOWNLOAD_DISPLAY_NUM="Display Num" +COM_PHOCADOWNLOAD_DOT="dot" +COM_PHOCADOWNLOAD_DOWNLOAD="Download" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_DRAG_FILES_HERE="Drag Files Here" +COM_PHOCADOWNLOAD_EDIT="Edit" +COM_PHOCADOWNLOAD_EDIT_CATEGORY="Edit Category" +COM_PHOCADOWNLOAD_EDIT_FILE="Edit File" +COM_PHOCADOWNLOAD_EMAIL="Email" +COM_PHOCADOWNLOAD_ERROR="Error" +COM_PHOCADOWNLOAD_ERROR_APPROVE_ALL="Error while authorizing all files" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET="Error while creating folder - Manager not set" +COM_PHOCADOWNLOAD_ERROR_FILE_UPLOADED="File not uploaded" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING="Error while creating folder" +COM_PHOCADOWNLOAD_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" +COM_PHOCADOWNLOAD_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" +COM_PHOCADOWNLOAD_ERROR_NO_ABS_FILE="File not found on server" +COM_PHOCADOWNLOAD_ERROR_NO_CORRECT_FILE_TO_PLAY_FOUND="No correct file for playing found" +COM_PHOCADOWNLOAD_ERROR_NO_DB_FILE="File info not found in database" +COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT="Problems with database" +COM_PHOCADOWNLOAD_ERROR_NO_FILE_TO_PLAY_FOUND="No file for playing found" +COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" +COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" +COM_PHOCADOWNLOAD_ERROR_RESET_USER_STAT="Error while resetting user statistics" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" +COM_PHOCADOWNLOAD_ERROR_UPLOAD_MANAGER_NOT_SET="Error while uploading - Manager not set" +COM_PHOCADOWNLOAD_ERROR_WHILE_DOWNLOADING_FILE="Error while downloading file" +COM_PHOCADOWNLOAD_EXPERTS_ONLY_LABEL="Experts Only!" +COM_PHOCADOWNLOAD_EXPIRED="Expired" +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_DESC="Set absolute path of Phoca Download folder (this can be path outside the public_html). Be aware, this path must exist and the folder and possible subfolders need to be created manually. If the path is outside the public_html the files cannot be previewed or played in browser." +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_LABEL="Absolute Path" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_DESC="Set access rights" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_LABEL="Access Rights" +COM_PHOCADOWNLOAD_FIELD_ALIAS_DESC="Set alias" +COM_PHOCADOWNLOAD_FIELD_ALIAS_LABEL="Alias" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set allowed file types for frontend download. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Allowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_APPROVED_DESC="Set if the file will be authorized or unathorized" +COM_PHOCADOWNLOAD_FIELD_APPROVED_LABEL="Authorized" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_DESC="Set Author of the file" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_DESC="Set Author's email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_LABEL="Author's Email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_LABEL="Author" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_DESC="Set Author's webstie" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_LABEL="Author's Website" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_DESC="Set button style" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_LABEL="Button Style" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DESC="Select Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_DESC="Set category ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_LABEL="Category Ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_DESC="Set pagination values for Category View (file list). Separate each pagination value with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_LABEL="Pagination (Category View)" +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_DESC="Select license for this file. If some license will be selected, file will be not downloaded after clicking on Download button, but the license text will be displayed. This text must be confirmed by user who wants to dowload the file." +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_LABEL="Confirm license" +COM_PHOCADOWNLOAD_FIELD_DATE_DESC="Set date" +COM_PHOCADOWNLOAD_FIELD_DATE_LABEL="Date" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_DESC="Set default value for pagination which can be displayed in Category View (file list)" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_LABEL="Pagination Default Value" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_DESC="Set description. This will be displayed in Categories View" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_LABEL="Description" +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_DESC="If direct link will be checked, Downlod button will link directly to the file. It means the file will be handled by browser (e.g. MP3 will be not downloaded but played). This option should be selected in case there are problems with downloading files from the server." +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_LABEL="Direct Link" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set disallowed file types for frontend download." +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Disallowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_DESC="Set if category comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_LABEL="Display Category Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_DESC="Set date type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_LABEL="Display Date Type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_DESC="Display or hide description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_LABEL="Display Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_DESC="Display or hide detail button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_LABEL="Display Detail Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_DESC="Display or hide the count of downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_LABEL="Display Downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_DESC="Set if file comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_LABEL="Display File Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_DESC="Enable or disable File View before download a file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_LABEL="Display File View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_DESC="Set the number of hits (downloads). After reaching this number of downloads HOT icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_LABEL="Display Hot Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_DESC="If the file will be inaccessible for e.g. not logged in users, it can be displayed for them. It means users will see the file but by clicking on the download button they will be redirected to login form." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_LABEL="Display Inaccessible file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_DESC="Display Most Download Files in Categories View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_LABEL="Display Most Download Files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_DESC="Set the number of days. During these days NEW icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_LABEL="Display New Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_DESC="Display or hide number of files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_DESC="Display or hide number of files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_LABEL="Display Number of Files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_LABEL="Display Number of Files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_DESC="Display or hide play button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_LABEL="Display Play Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_DESC="Display or hide preview button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_LABEL="Display Preview Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_DESC="Display or hide up icon - icon back to category or back to categories view" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_LABEL="Display Up Icon" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_DESC="Set Dowloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_DESC="Set download folder. If absolute path will be set, this parameter will be ignored. Be aware, the folder set in the parameter must exist on the server." +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_LABEL="Download Folder" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_DESC="If Yes, files will be uploaded as not authorized and must be authorized by administrator. If No, files will be uploaded as authorized" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_LABEL="Enable User File Authorization" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_DESC="Enable or disable multiple upload feature for administration" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_LABEL="Enable Multiple Upload (Administration)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_DESC="Set if Plugin can modify SQL query (Experts only!)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_LABEL="Enable Plugin Query" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_DESC="Enable or disable user statistics" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_LABEL="Enable User Statistics" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_DESC="Select if the external download link will have attribute TARGET=_self or TARGET=_blank" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_LABEL="External Download Link" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_DESC="If the file is stored on external server, paste the external link here. The form field 'Filename' must also be filled (paste the whole link to the file into the form field 'External file' and only the name of the file into the form field 'Filename'). If you set the form field 'Direct Link' (see above) to 'Yes', the external link will be directly accessed (without checking the rights or saving statistics). If you set the form field 'Direct Link' to 'No', internal site will be accessed - statistics will be saved, file will be checked for access rights and then the site will be redirected to the external link (be aware, if the file is public on external server, it cannot be protected by Phoca Download there). Be aware, internal site will be not accessed in File View while clicking on Submit (Download) button." +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_LABEL="External Link" +COM_PHOCADOWNLOAD_FIELD_FILENAME_DESC="Set or select filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_LABEL="Filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL="Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL_DESC="Display Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_DESC="Set or select file which will be played." +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_LABEL="File - Play" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_DESC="Set or select file which will be previewed" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_LABEL="File - Preview" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_DESC="Set size of file icon" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_LABEL="File Icon Size" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_DESC="Set size of file icon for most downloaded files" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_LABEL="File Icon Size (Most Downloaded Files)" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_DESC="Set file ordering" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_LABEL="File Ordering" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_DESC="Set finish publishing date" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_LABEL="Finish Publishing" +COM_PHOCADOWNLOAD_FIELD_HITS="Hits" +COM_PHOCADOWNLOAD_FIELD_HITS_DESC="Hits" +COM_PHOCADOWNLOAD_FIELD_ICON_DESC="Set icon for the file" +COM_PHOCADOWNLOAD_FIELD_ICON_LABEL="Icon" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_LABEL="Specific Icon (1)" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_LABEL="Specific Icon (2)" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_DESC="Permissions" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_LABEL="Permissions" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_DESC="Set height of license box" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_LABEL="License Box Height" +COM_PHOCADOWNLOAD_FIELD_LICENSE_DESC="Set license of the file, this is only information about the license, if you want that license text needs to be confirmed, you should fill the form field 'Confirm License'" +COM_PHOCADOWNLOAD_FIELD_LICENSE_LABEL="License" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_DESC="Set license text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_LABEL="License Text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_DESC="Set URL to license. URL to site where is described the license of the file" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_LABEL="License link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_DESC="Set maximum count of files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_LABEL="Maximum Count of uploaded user's files" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_DESC="Set maximum size of all files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_LABEL="Maximum Size of all user's files" +COM_PHOCADOWNLOAD_FIELD_METADESC_DESC="Set meta description for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METADESC_LABEL="Meta Description" +COM_PHOCADOWNLOAD_FIELD_METAKEY_DESC="Set meta keywords for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METAKEY_LABEL="Meta Keywords" +COM_PHOCADOWNLOAD_FIELD_ORDERING_DESC="Set ordering" +COM_PHOCADOWNLOAD_FIELD_ORDERING_LABEL="Ordering" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_DESC="Set parent category" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_LABEL="Parent Category" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_DESC="Set player height (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_LABEL="Player Height" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_DESC="Set player height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_LABEL="Player Height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_DESC="Set player width (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_LABEL="Player Width" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_DESC="Select play popup window" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_LABEL="Play Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_DESC="Set preview height (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_LABEL="Preview Height" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_DESC="Select preview popup window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_LABEL="Preview Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_DESC="Set preview width (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_LABEL="Preview Width" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_DESC="Publish or unpublish" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_LABEL="Published" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_DESC="Send email if user will download a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_LABEL="Send Email (Download)" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_DESC="Send email if user will upload a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_LABEL="Send Email (Upload)" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_DESC="Set start publishing date" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_LABEL="Start Publishing" +COM_PHOCADOWNLOAD_FIELD_THEME_DESC="Set theme" +COM_PHOCADOWNLOAD_FIELD_THEME_LABEL="Theme" +COM_PHOCADOWNLOAD_FIELD_TITLE_DESC="Set title" +COM_PHOCADOWNLOAD_FIELD_TITLE_LABEL="Title" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload in administration. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size (Administration)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_DESC="Set upload rights" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_LABEL="Upload Rights" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_DESC="Set maximum size of file which can be uploaded by user in frontend" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_LABEL="User File Upload Size" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_DESC="Enable or disable user upload" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_LABEL="Enable User Upload" +COM_PHOCADOWNLOAD_FIELD_VERSION_DESC="Set version" +COM_PHOCADOWNLOAD_FIELD_VERSION_LABEL="Version" +COM_PHOCADOWNLOAD_FILE="File" +COM_PHOCADOWNLOAD_FILENAME="Filename" +COM_PHOCADOWNLOAD_FILENAME_AND_TITLE="Filename and Title" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_FILESIZE="File Size" +COM_PHOCADOWNLOAD_FILES_UPLOADED="Files Uploaded" +COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS="File already exists" +COM_PHOCADOWNLOAD_FILE_FILEATIME="File (access time)" +COM_PHOCADOWNLOAD_FILE_FILECTIME="File (inode change time)" +COM_PHOCADOWNLOAD_FILE_FILEMTIME="File (modification time)" +COM_PHOCADOWNLOAD_FILE_SETTINGS_LABEL="File Settings" +COM_PHOCADOWNLOAD_FILE_SIZE_EMPTY="File Size is empty" +COM_PHOCADOWNLOAD_FILE_TITLE="File Title" +COM_PHOCADOWNLOAD_FILTER="Filter" +COM_PHOCADOWNLOAD_FINISH="Finish" +COM_PHOCADOWNLOAD_FINISH_PUBLISHING="Finish Publishing" +COM_PHOCADOWNLOAD_FOLDER="Folder" +COM_PHOCADOWNLOAD_FORM_SELECT_FILENAME="Select Filename" +COM_PHOCADOWNLOAD_FORM_SELECT_ICON="Select Icon" +COM_PHOCADOWNLOAD_FTP_LOGIN_DESC="For uploading files (images, themes), Joomla! will most likely need your FTP account details. Please enter them in the form fields below." +COM_PHOCADOWNLOAD_FTP_LOGIN_LABEL="FTP Login Details" +COM_PHOCADOWNLOAD_GREY="Grey" +COM_PHOCADOWNLOAD_GROUP_LABEL_PUBLISHING_DETAILS="Publishing Details" +COM_PHOCADOWNLOAD_GUEST="Guest" +COM_PHOCADOWNLOAD_HELP="Help" +COM_PHOCADOWNLOAD_HITS="Hits" +COM_PHOCADOWNLOAD_ID="ID" +COM_PHOCADOWNLOAD_ID_ASC="ID Ascending" +COM_PHOCADOWNLOAD_ID_DESC="ID Descending" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_INSERT="Insert" +COM_PHOCADOWNLOAD_INSERT_FILENAME="Insert Filename" +COM_PHOCADOWNLOAD_INSERT_ICON="Insert Icon" +COM_PHOCADOWNLOAD_INVALID_TOKEN="Invalid Token" +COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE="I agree to the terms listed above" +COM_PHOCADOWNLOAD_JCOMMENTS="JComments" +COM_PHOCADOWNLOAD_LICENSE="License" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_LICENSE_AGREEMENT="License Agreement" +COM_PHOCADOWNLOAD_LOADING="Loading" +COM_PHOCADOWNLOAD_MAX_LIMIT_CHARS_REACHED="You have reached maximum limit of characters allowed" +COM_PHOCADOWNLOAD_MAX_SIZE="Max Size" +COM_PHOCADOWNLOAD_MODAL_BOX="Modal Box" +COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES="Most downloaded files" +COM_PHOCADOWNLOAD_MULTIPLE_UPLOAD="Multiple Upload" +COM_PHOCADOWNLOAD_NEW="New" +COM_PHOCADOWNLOAD_NEW_CATEGORY="New Category" +COM_PHOCADOWNLOAD_NEW_FILE="New File" +COM_PHOCADOWNLOAD_NO="No" +COM_PHOCADOWNLOAD_NOBODY="Nobody" +COM_PHOCADOWNLOAD_NONE="None" +COM_PHOCADOWNLOAD_NOT_APPROVE="Unauthorize" +COM_PHOCADOWNLOAD_NOT_APPROVED="Not Authorized" +COM_PHOCADOWNLOAD_NOT_APPROVED_FILES_COUNT="Count of not authorized file(s)" +COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM="Unauthorize item" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_ACTION="You are not authorized to do this action" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" +COM_PHOCADOWNLOAD_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." +COM_PHOCADOWNLOAD_NO_EXPIRY="No Expiry" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY="You have no rights to access this category" +COM_PHOCADOWNLOAD_NO_SUBCATEGORIES="No Subcategories" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED="%d items successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED_1="%d item successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_0="No item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED="%d items successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED_1="%d item successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED="%d items successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED_1="%d item successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED="%d items successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED_1="%d item successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" +COM_PHOCADOWNLOAD_OPEN="Open" +COM_PHOCADOWNLOAD_ORDER="Order" +COM_PHOCADOWNLOAD_ORDERING="Ordering" +COM_PHOCADOWNLOAD_ORDERING_ASC="Ordering Ascending" +COM_PHOCADOWNLOAD_ORDERING_DESC="Ordering Descending" +COM_PHOCADOWNLOAD_OVERLIB="Overlib" +COM_PHOCADOWNLOAD_OWNER="Owner" +COM_PHOCADOWNLOAD_PARENT_CATEGORY="Parent Category" +COM_PHOCADOWNLOAD_PATH="Path" +COM_PHOCADOWNLOAD_PD_CONTROL_PANEL="Phoca Download Control Panel" +COM_PHOCADOWNLOAD_PD_INFO="Phoca Download Info" +COM_PHOCADOWNLOAD_PENDING="Pending" +COM_PHOCADOWNLOAD_PLAY="Play" +COM_PHOCADOWNLOAD_PLAY_SETTINGS_LABEL="Play Settings" +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE="Please add a file" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_EMAIL_ADDRESS="Please enter a valid email address" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_WEBSITE="Please enter a valid website (format: http://your_site.com)" +COM_PHOCADOWNLOAD_PLEASE_LOGIN_DOWNLOAD_FILE="Please login to download the file" +COM_PHOCADOWNLOAD_PLEASE_SELECT_CATEGORY="Please select category" +COM_PHOCADOWNLOAD_PREVIEW="Preview" +COM_PHOCADOWNLOAD_PREVIEW_SETTINGS_LABEL="Preview Settings" +COM_PHOCADOWNLOAD_PUBLISHED="Published" +COM_PHOCADOWNLOAD_PUBLISH_INFORMATION="Publish Information" +COM_PHOCADOWNLOAD_RESET="Reset" +COM_PHOCADOWNLOAD_ROUNDED_CORNERS="Rounded Corners" +COM_PHOCADOWNLOAD_SEARCH="Search" +COM_PHOCADOWNLOAD_SEARCH_IN_TITLE="Search" +COM_PHOCADOWNLOAD_SELECT_CATEGORY="Select Category" +COM_PHOCADOWNLOAD_SELECT_FILES="Select Files" +COM_PHOCADOWNLOAD_SELECT_ITEM_RESET="Select an item to reset" +COM_PHOCADOWNLOAD_SELECT_LICENSE="Select License" +COM_PHOCADOWNLOAD_SELF="Self" +COM_PHOCADOWNLOAD_SIZE="Size" +COM_PHOCADOWNLOAD_STANDARD_POPUP_WINDOW="Standard Popup Window" +COM_PHOCADOWNLOAD_START="Start" +COM_PHOCADOWNLOAD_START_PUBLISHING="Start Publishing" +COM_PHOCADOWNLOAD_START_UPLOAD="Start Upload" +COM_PHOCADOWNLOAD_START_UPLOADING_QUEUE="Start Uploading Queue" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_STATUS="Status" +COM_PHOCADOWNLOAD_STOP_CURRENT_UPLOAD="Stop Current Upload" +COM_PHOCADOWNLOAD_SUCCESS="Success" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_SUCCESS_RESET_USER_STAT="User Statistics reset" +COM_PHOCADOWNLOAD_THERE_IS_NO_FILE="There is no file" +COM_PHOCADOWNLOAD_TITLE="Title" +COM_PHOCADOWNLOAD_TITLE_ASC="Title Ascending" +COM_PHOCADOWNLOAD_TITLE_DESC="Title Descending" +COM_PHOCADOWNLOAD_TOP="Top" +COM_PHOCADOWNLOAD_TOP_AND_OVERLIB="Top and Overlib" +COM_PHOCADOWNLOAD_TOP_WITH_DETAIL_AND_OVERLIB="Top with detail and Overlib" +COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE="File cannot be uploaded - unable to move file" +COM_PHOCADOWNLOAD_UP="Up" +COM_PHOCADOWNLOAD_UPLOAD="Upload" +COM_PHOCADOWNLOAD_UPLOADED_FILES="Uploaded Files" +COM_PHOCADOWNLOAD_UPLOAD_FILE="Upload File" +COM_PHOCADOWNLOAD_USER="User" +COM_PHOCADOWNLOAD_USERNAME="Username" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_USER_STATISTICS="User Statistics" +COM_PHOCADOWNLOAD_USER_UPLOAD_DISABLED="User Upload is disabled" +COM_PHOCADOWNLOAD_VERSION="Version" +COM_PHOCADOWNLOAD_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." +COM_PHOCADOWNLOAD_WARNFILETOOLARGE="This file is too large to upload." +COM_PHOCADOWNLOAD_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" +COM_PHOCADOWNLOAD_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" +COM_PHOCADOWNLOAD_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNIEXSS="Possible IE XSS Attack found." +COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS="You must agree to listed terms" +COM_PHOCADOWNLOAD_WARNING_AUTHORIZE_ALL="Do you really want to authorize all files of all users?" +COM_PHOCADOWNLOAD_WARNING_DELETE_ITEMS="Are you sure you want to delete the listed Items?" +COM_PHOCADOWNLOAD_WARNING_DIRNAME="Error: Wrong folder name" +COM_PHOCADOWNLOAD_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" +COM_PHOCADOWNLOAD_WARNING_RESET_DOWNLOADS="Really reset downloads?" +COM_PHOCADOWNLOAD_WARNINVALIDIMG="Not a valid image." +COM_PHOCADOWNLOAD_WARNINVALIDMIME="Illegal or invalid mime type detected." +COM_PHOCADOWNLOAD_WARNNOTADMIN="Uploaded file is not an image file and you are not a manager or higher." +COM_PHOCADOWNLOAD_WARNSAFEMODE="Directory creation is not allowed while running in SAFE MODE as this can cause problems." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOLARGE="Maximum size of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOMUCH="Maximum count of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_YES="Yes" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER="Error: No such controller or task" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS="Folder exists" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_EDIT_LICENSE="Edit License" +COM_PHOCADOWNLOAD_NEW_LICENSE="New License" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini index f0d511f8..8009f968 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini @@ -1,59 +1,59 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - -;[3.0.2] -COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT="Download View" -COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC="This view displays link of file to download (File which is accessible by unique download URL)" -COM_PHOCADOWNLOAD_DOWNLOAD_GROUP="Download View" -COM_PHOCADOWNLOAD_DOWNLOAD_GROUP_DESC="This view displays link of file to download (File which is accessible by unique download URL)" - -;[3.0.0 Stable] -COM_PHOCADOWNLOAD_VERSION="Version" -;[3.0.0] -COM_PHOCADOWNLOAD_UPDATE_TEXT="Phoca Download updated" -COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" -COM_PHOCADOWNLOAD_UPLOADS="Uploads" -COM_PHOCADOWNLOAD_LOGGING="Logging" -COM_PHOCADOWNLOAD_STYLES="Styles" -;[2.1.2] -COM_PHOCADOWNLOAD_TAGS="Tags" -COM_PHOCADOWNLOAD_LAYOUT="Layout" -;[2.1.0] -PHOCADOWNLOAD="Phoca Download" -COM_PHOCADOWNLOAD="Phoca Download" -COM_PHOCADOWNLOAD_CONTROLPANEL="Control Panel" -COM_PHOCADOWNLOAD_FILES="Files" -COM_PHOCADOWNLOAD_CATEGORIES="Categories" -COM_PHOCADOWNLOAD_LICENSES="Licenses" -COM_PHOCADOWNLOAD_STATISTICS="Statistics" -COM_PHOCADOWNLOAD_USERS="Users" -COM_PHOCADOWNLOAD_INFO="Info" -COM_PHOCADOWNLOAD_FILE_RATING="File Rating" -COM_PHOCADOWNLOAD_XML_DESCRIPTION="Phoca Download is a download manager for Joomla! CMS. It includes component, modules and plugins and allows to add files to the site which can be downloaded by other users." -COM_PHOCADOWNLOAD_CATEGORIES_GROUP="List Of Categories (Categories View)" -COM_PHOCADOWNLOAD_CATEGORIES_GROUP_DESC="This view displays list of categories" -COM_PHOCADOWNLOAD_CATEGORY_GROUP="List of Files (Category View)" -COM_PHOCADOWNLOAD_CATEGORY_GROUP_DESC="This view displays list of files" -COM_PHOCADOWNLOAD_FILE_GROUP="File View - detail of a file" -COM_PHOCADOWNLOAD_FILE_GROUP_DESC="This view displays detail of a file" -COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP="User Upload View" -COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP_DESC="This view displays User Upload" -COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT="List Of Categories (Categories View)" -COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT_DESC="This view displays list of categories" -COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT="List of Files (Category View)" -COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC="This view displays list of files" -COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT="User Upload" -COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT_DESC="This view displays User Upload" -COM_PHOCADOWNLOAD_FILE_LAYOUT="File View" -COM_PHOCADOWNLOAD_FILE_LAYOUT_DESC="This view displays details of a file" - -COM_PHOCADOWNLOAD_INSTALL="Install" +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.2] +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC="This view displays link of file to download (File which is accessible by unique download URL)" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP_DESC="This view displays link of file to download (File which is accessible by unique download URL)" + +;[3.0.0 Stable] +COM_PHOCADOWNLOAD_VERSION="Version" +;[3.0.0] +COM_PHOCADOWNLOAD_UPDATE_TEXT="Phoca Download updated" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_STYLES="Styles" +;[2.1.2] +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.1.0] +PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_CONTROLPANEL="Control Panel" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_XML_DESCRIPTION="Phoca Download is a download manager for Joomla! CMS. It includes component, modules and plugins and allows to add files to the site which can be downloaded by other users." +COM_PHOCADOWNLOAD_CATEGORIES_GROUP="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_GROUP_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_GROUP="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_GROUP_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_FILE_GROUP="File View - detail of a file" +COM_PHOCADOWNLOAD_FILE_GROUP_DESC="This view displays detail of a file" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP="User Upload View" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT="User Upload" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_FILE_LAYOUT="File View" +COM_PHOCADOWNLOAD_FILE_LAYOUT_DESC="This view displays details of a file" + +COM_PHOCADOWNLOAD_INSTALL="Install" COM_PHOCADOWNLOAD_UPGRADE="Upgrade" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.acesef.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.acesef.ini index e7e6a077..62cce1a4 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.acesef.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.acesef.ini @@ -1,1284 +1,1284 @@ -; $Id: en-GB.com_acesef.ini 1.5.0 2010-08-29 -; JoomAce LLC -; 2009-2010 JoomAce LLC, www.joomace.net -; License GNU/GPL http://www.gnu.org/copyleft/gpl.html -; Note : All ini files have to be saved as UTF-8 - No BOM -; Valid for both J! 1.5 & 1.6 - -; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. - -; Banners extension -ACESEF_PARAMS_BANNERS_BANNER_ID="Add banner ID to URL" -ACESEF_PARAMS_BANNERS_BANNER_ID_HELP="If set to Yes, banner ID will be prepended to banner name." - -; Contact extension -ACESEF_PARAMS_CONTACT_PART_CONTACT="Contact URL part" -ACESEF_PARAMS_CONTACT_CONTACT_ID="Add contact ID" -ACESEF_PARAMS_CONTACT_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." - -; Content (Articles) extension -ACESEF_PARAMS_CONTENT_SECS="Sections" -ACESEF_PARAMS_CONTENT_SECS_HELP="Apply this feature to the selected sections. Use Ctrl-click to select more than one section." -ACESEF_PARAMS_CONTENT_PART_ARTICLE="Article URL part" -ACESEF_PARAMS_CONTENT_PART_SECTION="Section URL part" -ACESEF_PARAMS_CONTENT_LAYOUT_PREFIX="Add layout prefix" -ACESEF_PARAMS_CONTENT_LAYOUT_PREFIX_ID_HELP="If set to Yes, layout prefix will be prepended to category/section name." -ACESEF_PARAMS_CONTENT_LAYOUT_BLOG="Blog layout prefix" -ACESEF_PARAMS_CONTENT_LAYOUT_LIST="List layout prefix" -ACESEF_PARAMS_CONTENT_ARTICLE_ID="Add article ID" -ACESEF_PARAMS_CONTENT_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." -ACESEF_PARAMS_CONTENT_SECTION="Add section to URL" -ACESEF_PARAMS_CONTENT_SECTION_HELP="If set to Yes, section name will be added to URL." -ACESEF_PARAMS_CONTENT_SECTION_ID="Add section ID" -ACESEF_PARAMS_CONTENT_SECTION_ID_HELP="If set to Yes, section ID will be prepended to section name." - -; News Feeds -ACESEF_PARAMS_NEWSFEEDS_PART_FEED="Feed URL part" -ACESEF_PARAMS_NEWSFEEDS_FEED_ID="Add feed ID" -ACESEF_PARAMS_NEWSFEEDS_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." - -; Polls -ACESEF_PARAMS_POLLS_PART_POLL="Poll URL part" -ACESEF_PARAMS_POLLS_POLL_ID="Add poll ID" -ACESEF_PARAMS_POLLS_POLL_ID_HELP="If set to Yes, poll ID will be prepended to poll name." - -; Web Links -ACESEF_PARAMS_WEBLINKS_PART_LINK="Link URL part" -ACESEF_PARAMS_WEBLINKS_LINK_ID="Add link ID" -ACESEF_PARAMS_WEBLINKS_LINK_ID_HELP="If set to Yes, link ID will be prepended to link name." - -; ------------------------------- - -; Aardvertiser -ACESEF_PARAMS_AARDVERTISER_ADS_ID="Add ads ID" -ACESEF_PARAMS_AARDVERTISER_ADS_ID_HELP="If set to Yes, ads ID will be prepended to ads name." - -; AContact Manager -ACESEF_PARAMS_ACONTACT_PART_CONTACT="Contact URL part" -ACESEF_PARAMS_ACONTACT_CONTACT_ID="Add contact ID" -ACESEF_PARAMS_ACONTACT_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." - -; AcyMailing -ACESEF_PARAMS_ACYMAILING_LIST_ID="Add list ID" -ACESEF_PARAMS_ACYMAILING_LIST_ID_HELP="If set to Yes, list ID will be prepended to list name." -ACESEF_PARAMS_ACYMAILING_MAIL_ID="Add mail ID" -ACESEF_PARAMS_ACYMAILING_MAIL_ID_HELP="If set to Yes, mail ID will be prepended to mail name." - -; AdsManager -ACESEF_PARAMS_ADSMANAGER_AD_ID="Add ad ID" -ACESEF_PARAMS_ADSMANAGER_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." - -; Agora 3 -ACESEF_PARAMS_AGORA_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_AGORA_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." -ACESEF_PARAMS_AGORA_FORUM="Add forum to URL" -ACESEF_PARAMS_AGORA_FORUM_HELP="Controls the way forums are added to URL." -ACESEF_PARAMS_AGORA_FORUM_LAST="Only last one" -ACESEF_PARAMS_AGORA_FORUM_ALL="All forums" -ACESEF_PARAMS_AGORA_FORUM_ID="Add forum ID" -ACESEF_PARAMS_AGORA_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." -ACESEF_PARAMS_AGORA_MESSAGE_ID="Add message ID" -ACESEF_PARAMS_AGORA_MESSAGE_ID_HELP="If set to Yes, message ID will be prepended to message name." - -; aiContactSafe -ACESEF_PARAMS_AICONTACT_PROFILE_ID="Add profile ID" -ACESEF_PARAMS_AICONTACT_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." - -; Alberghi -ACESEF_PARAMS_ALBERGHI_LINKTYPE="Select URL type" -ACESEF_PARAMS_ALBERGHI_LINKTYPE_HELP="Location: yourdomain.com/region/country/town/hotel-name.html ; Category: yourdomain.com/cat-name/hotel-name.hmtl." -ACESEF_PARAMS_ALBERGHI_LINKTYPE_1="Category" -ACESEF_PARAMS_ALBERGHI_LINKTYPE_2="Location" -ACESEF_PARAMS_ALBERGHI_DETAIL_ID="Add detail ID" -ACESEF_PARAMS_ALBERGHI_DETAIL_ID_HELP="If set to Yes, detail ID will be prepended to detail name." -ACESEF_PARAMS_ALBERGHI_TOWN_ID="Add town ID" -ACESEF_PARAMS_ALBERGHI_TOWN_ID_HELP="If set to Yes, town ID will be prepended to town name." -ACESEF_PARAMS_ALBERGHI_COUNTRY_ID="Add country ID" -ACESEF_PARAMS_ALBERGHI_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." -ACESEF_PARAMS_ALBERGHI_REGION_ID="Add region ID" -ACESEF_PARAMS_ALBERGHI_REGION_ID_HELP="If set to Yes, region ID will be prepended to region name." - -; Almond Classifieds -ACESEF_PARAMS_ACLASSF_AD_ID="Add ad ID" -ACESEF_PARAMS_ACLASSF_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." - -; AlphaContent -ACESEF_PARAMS_ALPHACONTENT_SECTION="Add section to URL" -ACESEF_PARAMS_ALPHACONTENT_SECTION_HELP="If set to Yes, section name will be added before category name." -ACESEF_PARAMS_ALPHACONTENT_SECTION_ID="Add project ID" -ACESEF_PARAMS_ALPHACONTENT_SECTION_ID_HELP="If set to Yes, project ID will be prepended to project name." - -; Ambra Subsriptions -ACESEF_PARAMS_AMBRASUBS_TYPE_ID="Add type ID" -ACESEF_PARAMS_AMBRASUBS_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." -ACESEF_PARAMS_AMBRASUBS_DOWNLOAD_ID="Add download ID" -ACESEF_PARAMS_AMBRASUBS_DOWNLOAD_ID_HELP="If set to Yes, download ID will be prepended to download name." - -; Apoll -ACESEF_PARAMS_APOLL_PART_POLL="Poll URL part" -ACESEF_PARAMS_APOLL_POLL_ID="Add poll ID" -ACESEF_PARAMS_APOLL_POLL_ID_HELP="If set to Yes, poll ID will be prepended to poll name." - -; ARI Quiz -ACESEF_PARAMS_ARIQUIZ_QUIZ_ID="Add quiz ID" -ACESEF_PARAMS_ARIQUIZ_QUIZ_ID_HELP="If set to Yes, quiz ID will be prepended to quiz name." - -; Auction Factory -ACESEF_PARAMS_AUCTIONFAC_AUCTION_ID="Add auction ID" -ACESEF_PARAMS_AUCTIONFAC_AUCTION_ID_HELP="If set to Yes, auction ID will be prepended to auction name." -ACESEF_PARAMS_AUCTIONFAC_AUCTION_NR="Add auction Nr" -ACESEF_PARAMS_AUCTIONFAC_AUCTION_NR_HELP="If set to Yes, auction Nr will be added before auction name." - -; Billets -ACESEF_PARAMS_BILLETS_BILLET_ID="Add billet ID" -ACESEF_PARAMS_BILLETS_BILLET_ID_HELP="If set to Yes, billet ID will be prepended to billet name." - -; ccBoard -ACESEF_PARAMS_CCBOARD_FORUM="Add forum to URL" -ACESEF_PARAMS_CCBOARD_FORUM_HELP="If set to Yes, forum name will be added before topic name." -ACESEF_PARAMS_CCBOARD_FORUM_ID="Add forum ID" -ACESEF_PARAMS_CCBOARD_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." -ACESEF_PARAMS_CCBOARD_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_CCBOARD_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." - -; Community Builder -ACESEF_PARAMS_COMPROFILER_TYPE_NAME="Name Type" -ACESEF_PARAMS_COMPROFILER_TYPE_NAME_1="Username" -ACESEF_PARAMS_COMPROFILER_TYPE_NAME_2="Real Name" -ACESEF_PARAMS_COMPROFILER_FORUM="Add forum to URL" -ACESEF_PARAMS_COMPROFILER_FORUM_HELP="If set to Yes, forum name will be added before topic name." -ACESEF_PARAMS_COMPROFILER_PREFIX="List prefix" -ACESEF_PARAMS_COMPROFILER_PREFIX_HELP="Write a prefix that will be prepended to user lists." - -; Contact Enhanced -ACESEF_PARAMS_CONTACTENHAN_PART_CONTACT="Contact URL part" -ACESEF_PARAMS_CONTACTENHAN_CONTACT_ID="Add contact ID" -ACESEF_PARAMS_CONTACTENHAN_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." - -; DigiFolio -ACESEF_PARAMS_DIGIFOLIO_PROJECT_ID="Add project ID" -ACESEF_PARAMS_DIGIFOLIO_PROJECT_ID_HELP="If set to Yes, project ID will be prepended to project name." - -; DJ-Catalog -ACESEF_PARAMS_DJCATALOG_ITEM_ID="Add item ID" -ACESEF_PARAMS_DJCATALOG_ITEM_ID_HELP="If set to Yes, item ID will be prepended to item name." -ACESEF_PARAMS_DJCATALOG_PRODUCER_ID="Add producer ID" -ACESEF_PARAMS_DJCATALOG_PRODUCER_ID_HELP="If set to Yes, producer ID will be prepended to producer name." - -; DOCman -ACESEF_PARAMS_DOCMAN_DOCUMENT_ID="Add document ID" -ACESEF_PARAMS_DOCMAN_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." - -; Estate Agent Improved -ACESEF_PARAMS_ESTATEAGENT_OBJECT_ID="Add object ID" -ACESEF_PARAMS_ESTATEAGENT_OBJECT_ID_HELP="If set to Yes, object ID will be prepended to object name." -ACESEF_PARAMS_ESTATEAGENT_AGENT_ID="Add agent ID" -ACESEF_PARAMS_ESTATEAGENT_AGENT_ID_HELP="If set to Yes, agent ID will be prepended to agent name." - -; EventList -ACESEF_PARAMS_EVENTLIST_PART_EVENT="Event URL part" -ACESEF_PARAMS_EVENTLIST_PART_VENUE="Venue URL part" -ACESEF_PARAMS_EVENTLIST_EVENT_ID="Add event ID" -ACESEF_PARAMS_EVENTLIST_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." -ACESEF_PARAMS_EVENTLIST_AGENT_ID="Add venue ID" -ACESEF_PARAMS_EVENTLIST_AGENT_ID_HELP="If set to Yes, venue ID will be prepended to venue name." - -; EZ Autos -ACESEF_PARAMS_EZAUTOS_VEHICLE_ID="Add vehicle ID" -ACESEF_PARAMS_EZAUTOS_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." -ACESEF_PARAMS_EZAUTOS_MAKE_ID="Add make ID" -ACESEF_PARAMS_EZAUTOS_MAKE_ID_HELP="If set to Yes, make ID will be prepended to make name." -ACESEF_PARAMS_EZAUTOS_MODEL_ID="Add model ID" -ACESEF_PARAMS_EZAUTOS_MODEL_ID_HELP="If set to Yes, model ID will be prepended to model name." -ACESEF_PARAMS_EZAUTOS_PROFILE_ID="Add profile ID" -ACESEF_PARAMS_EZAUTOS_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." -ACESEF_PARAMS_EZAUTOS_TYPE="Select URL type" -ACESEF_PARAMS_EZAUTOS_TYPE_HELP="Make/Model: yourdomain.com/make/model/vehicle.html ...... Category: yourdomain.com/category/vehicle.hmtl." -ACESEF_PARAMS_EZAUTOS_TYPE_1="Make/Model" -ACESEF_PARAMS_EZAUTOS_TYPE_2="Category" - -; EZ Realty -ACESEF_PARAMS_EZREALTY_PROPERTY_ID="Add property ID" -ACESEF_PARAMS_EZREALTY_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." -ACESEF_PARAMS_EZREALTY_PROFILE_ID="Add profile ID" -ACESEF_PARAMS_EZREALTY_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." - -; EZ Rider -ACESEF_PARAMS_EZRIDER_VEHICLE_ID="Add vehicle ID" -ACESEF_PARAMS_EZRIDER_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." -ACESEF_PARAMS_EZRIDER_MAKE_ID="Add make ID" -ACESEF_PARAMS_EZRIDER_MAKE_ID_HELP="If set to Yes, make ID will be prepended to make name." -ACESEF_PARAMS_EZRIDER_MODEL_ID="Add model ID" -ACESEF_PARAMS_EZRIDER_MODEL_ID_HELP="If set to Yes, model ID will be prepended to model name." -ACESEF_PARAMS_EZRIDER_PROFILE_ID="Add profile ID" -ACESEF_PARAMS_EZRIDER_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." -ACESEF_PARAMS_EZRIDER_TYPE="Select URL type" -ACESEF_PARAMS_EZRIDER_TYPE_HELP="Make/Model: yourdomain.com/make/model/vehicle.html ...... Category: yourdomain.com/category/vehicle.hmtl." -ACESEF_PARAMS_EZRIDER_TYPE_1="Make/Model" -ACESEF_PARAMS_EZRIDER_TYPE_2="Category" - -; FJRelated Plus -ACESEF_PARAMS_FJRELATED_PART_ARTICLE="Article URL part" -ACESEF_PARAMS_FJRELATED_ARTICLE_ID="Add article ID" -ACESEF_PARAMS_FJRELATED_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." - -; FlippingBook -ACESEF_PARAMS_FLIPPINGBOOK_PART_BOOK="Book URL part" -ACESEF_PARAMS_FLIPPINGBOOK_BOOK_ID="Add book ID" -ACESEF_PARAMS_FLIPPINGBOOK_BOOK_ID_HELP="If set to Yes, book ID will be prepended to book name." - -; foobla RSS -ACESEF_PARAMS_FOOBLARSS_FEED_ID="Add feed ID" -ACESEF_PARAMS_FOOBLARSS_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." - -; Gary's Cook Book -ACESEF_PARAMS_GRAYSCOOKBOOK_IMAGE_ID="Add image ID" -ACESEF_PARAMS_GRAYSCOOKBOOK_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." - -; Glossary -ACESEF_PARAMS_GLOSSARY_TERM_ID="Add term ID" -ACESEF_PARAMS_GLOSSARY_TERM_ID_HELP="If set to Yes, term ID will be prepended to term name." -ACESEF_PARAMS_GLOSSARY_LETTER="Add letter to term" -ACESEF_PARAMS_GLOSSARY_LETTER_HELP="If set to Yes, letter will be added before term name." - -; GMapsPRO 2.0 -ACESEF_PARAMS_GMAPSPRO_MAP_ID="Add map ID" -ACESEF_PARAMS_GMAPSPRO_MAP_ID_HELP="If set to Yes, map ID will be prepended to map name." - -; GroupJive -ACESEF_PARAMS_GROUPJIVE_GROUP_ID="Add group ID" -ACESEF_PARAMS_GROUPJIVE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." - -; Mosets Hot Property -ACESEF_PARAMS_HOTPROPERTY_TYPE="Add type to property" -ACESEF_PARAMS_HOTPROPERTY_TYPE_HELP="If set to Yes, type name will be added before property name." -ACESEF_PARAMS_HOTPROPERTY_TYPE_ID="Add type ID" -ACESEF_PARAMS_HOTPROPERTY_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." -ACESEF_PARAMS_HOTPROPERTY_PROPERTY_ID="Add property ID" -ACESEF_PARAMS_HOTPROPERTY_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." -ACESEF_PARAMS_HOTPROPERTY_AGENT_ID="Add agent ID" -ACESEF_PARAMS_HOTPROPERTY_AGENT_ID_HELP="If set to Yes, agent ID will be prepended to agent name." -ACESEF_PARAMS_HOTPROPERTY_COMPANY_ID="Add company ID" -ACESEF_PARAMS_HOTPROPERTY_COMPANY_ID_HELP="If set to Yes, company ID will be prepended to company name." - -; hwdPhotoShare -ACESEF_PARAMS_HWDPHOTOSHARE_ALBUM_ID="Add album ID" -ACESEF_PARAMS_HWDPHOTOSHARE_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." -ACESEF_PARAMS_HWDPHOTOSHARE_GROUP_ID="Add group ID" -ACESEF_PARAMS_HWDPHOTOSHARE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." - -; hwdVideoShare -ACESEF_PARAMS_HWDVIDEOSHARE_VIDEO_ID="Add video ID" -ACESEF_PARAMS_HWDVIDEOSHARE_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." -ACESEF_PARAMS_HWDVIDEOSHARE_GROUP_ID="Add group ID" -ACESEF_PARAMS_HWDVIDEOSHARE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." - -; Ignite Gallery -ACESEF_PARAMS_IGALLERY_GALCAT_ID="Add gallery and category ID" -ACESEF_PARAMS_IGALLERY_GALCAT_ID_HELP="If set to Yes, gallery and category ID will be prepended to name." - -; iJoomla Digistore -ACESEF_PARAMS_DIGISTORE_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_DIGISTORE_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." - -; iJoomla Magazine -ACESEF_PARAMS_MAGAZINE_ISSUE_ID="Add issue ID" -ACESEF_PARAMS_MAGAZINE_ISSUE_ID_HELP="If set to Yes, issue ID will be prepended to issue name." -ACESEF_PARAMS_MAGAZINE_MAGAZINE_ID="Add magazine ID" -ACESEF_PARAMS_MAGAZINE_MAGAZINE_ID_HELP="If set to Yes, magazine ID will be prepended to magazine name." -ACESEF_PARAMS_MAGAZINE_AUTHOR_ID="Add author ID" -ACESEF_PARAMS_MAGAZINE_AUTHOR_ID_HELP="If set to Yes, author ID will be prepended to author name." - -; Intellectual Property -ACESEF_PARAMS_IPROPERTY_PROPERTY_ID="Add property ID" -ACESEF_PARAMS_IPROPERTY_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." - -; JA Job Board -ACESEF_PARAMS_JAJOBBOARD_JOB_ID="Add job ID" -ACESEF_PARAMS_JAJOBBOARD_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." -ACESEF_PARAMS_JAJOBBOARD_JOB_ALERT_ID="Add job alert ID" -ACESEF_PARAMS_JAJOBBOARD_JOB_ALERT_ID_HELP="If set to Yes, job alert ID will be prepended to job alert name." -ACESEF_PARAMS_JAJOBBOARD_JOBSEEKER_TITLE="Add jobseeker name to URL" -ACESEF_PARAMS_JAJOBBOARD_JOBSEEKER_TITLE_HELP="If set to Yes, jobseeker name will be prepended to jobseeker name." -ACESEF_PARAMS_JAJOBBOARD_FEED_ID="Add feed ID" -ACESEF_PARAMS_JAJOBBOARD_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." -ACESEF_PARAMS_JAJOBBOARD_POSTING_ID="Add posting ID" -ACESEF_PARAMS_JAJOBBOARD_POSTING_ID_HELP="If set to Yes, posting ID will be prepended to posting name." -ACESEF_PARAMS_JAJOBBOARD_PROFILE_ID="Add profile ID" -ACESEF_PARAMS_JAJOBBOARD_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." -ACESEF_PARAMS_JAJOBBOARD_RESUME_ID="Add resume ID" -ACESEF_PARAMS_JAJOBBOARD_RESUME_ID_HELP="If set to Yes, resume ID will be prepended to resume name." - -; Jambook -ACESEF_PARAMS_JAMBOOK_GUESTBOOK_ID="Add guestbook ID" -ACESEF_PARAMS_JAMBOOK_GUESTBOOK_ID_HELP="If set to Yes, guestbook ID will be prepended to guestbook name." - -; Jbook -ACESEF_PARAMS_JBOOK_NAME_FIELD="Name" -ACESEF_PARAMS_JBOOK_BOOK_ID="Add book ID" -ACESEF_PARAMS_JBOOK_BOOK_ID_HELP="If set to Yes, book ID will be prepended to book name." -ACESEF_PARAMS_JBOOK_AUTHOR_ID="Add author ID" -ACESEF_PARAMS_JBOOK_AUTHOR_ID_HELP="If set to Yes, author ID will be prepended to author name." - -; JCal Pro 2 -ACESEF_PARAMS_JCALPRO_EVENT_ID="Add event ID" -ACESEF_PARAMS_JCALPRO_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." -ACESEF_PARAMS_JCALPRO_CALLENDAR_ID="Add calendar ID" -ACESEF_PARAMS_JCALPRO_CALLENDAR_ID_HELP="If set to Yes, calendar ID will be prepended to calendar name." - -; JDirectory -ACESEF_PARAMS_JDIRECTORY_DIRECTORY="Add directory to URL" -ACESEF_PARAMS_JDIRECTORY_DIRECTORY_HELP="If set to Yes, directory name will be prepended in links." -ACESEF_PARAMS_JDIRECTORY_DIRECTORY_ID="Add directory ID" -ACESEF_PARAMS_JDIRECTORY_DIRECTORY_ID_HELP="If set to Yes, directory ID will be prepended to directory name." - -; jDownloads -ACESEF_PARAMS_JDOWNLOADS_DOWNLOAD_ID="Add download ID" -ACESEF_PARAMS_JDOWNLOADS_DOWNLOAD_ID_HELP="If set to Yes, download ID will be prepended to download name." - -; JE Comparison Charts -ACESEF_PARAMS_JECOMPARISON_CHART_ID="Add chart ID" -ACESEF_PARAMS_JECOMPARISON_CHART_ID_HELP="If set to Yes, chart ID will be prepended to chart name." - -; Joomla Estate Agency -ACESEF_PARAMS_JEA_PROPERTY_ID="Add property ID" -ACESEF_PARAMS_JEA_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." -ACESEF_PARAMS_JEA_SLOGAN="Add slogan to property" -ACESEF_PARAMS_JEA_SLOGAN_HELP="If set to Yes, slogan name will be added before property name." -ACESEF_PARAMS_JEA_TYPE="Add type to property" -ACESEF_PARAMS_JEA_TYPE_HELP="If set to Yes, type name will be added before property name." -ACESEF_PARAMS_JEA_TOWN="Add town to property" -ACESEF_PARAMS_JEA_TOWN_HELP="If set to Yes, town name will be added before property name." - -; JEvents -ACESEF_PARAMS_JEVENTS_EVENT_ID="Add event ID" -ACESEF_PARAMS_JEVENTS_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." - -; JForms -ACESEF_PARAMS_JFORMS_FORM_ID="Add form ID" -ACESEF_PARAMS_JFORMS_FORM_ID_HELP="If set to Yes, form ID will be prepended to form name." - -; JMovies -ACESEF_PARAMS_JMOVIES_MOVIE_ID="Add movie ID" -ACESEF_PARAMS_JMOVIES_MOVIE_ID_HELP="If set to Yes, movie ID will be prepended to movie name." - -; JMyLife -ACESEF_PARAMS_JMYLIFE_MOVIE_ID="Add story ID" -ACESEF_PARAMS_JMYLIFE_MOVIE_ID_HELP="If set to Yes, story ID will be prepended to story name." - -; Jobline -ACESEF_PARAMS_JOBLINE_JOB_ID="Add job ID" -ACESEF_PARAMS_JOBLINE_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." - -; Jobs -ACESEF_PARAMS_JOBS_PART_JOB="Job URL part" -ACESEF_PARAMS_JOBS_PART_COMPANY="Company URL part" -ACESEF_PARAMS_JOBS_PART_RESUME="Resume URL part" -ACESEF_PARAMS_JOBS_JOB_ID="Add job ID" -ACESEF_PARAMS_JOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." -ACESEF_PARAMS_JOBS_COMPANY_ID="Add company ID" -ACESEF_PARAMS_JOBS_COMPANY_ID_HELP="If set to Yes, company ID will be prepended to company name." -ACESEF_PARAMS_JOBS_COUNTRY_ID="Add country ID" -ACESEF_PARAMS_JOBS_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." -ACESEF_PARAMS_JOBS_COVVER_LETTER_ID="Add covver letter ID" -ACESEF_PARAMS_JOBS_COVVER_LETTER_ID_HELP="If set to Yes, covver letter ID will be prepended to covver letter name." -ACESEF_PARAMS_JOBS_RESUME_ID="Add resume ID" -ACESEF_PARAMS_JOBS_RESUME_ID_HELP="If set to Yes, resume ID will be prepended to resume name." -ACESEF_PARAMS_JOBS_APPLICATION_ID="Add application ID" -ACESEF_PARAMS_JOBS_APPLICATION_ID_HELP="If set to Yes, application ID will be prepended to application name." -ACESEF_PARAMS_JOBS_EMAIL_TEMPLATE_ID="Add email template ID" -ACESEF_PARAMS_JOBS_EMAIL_TEMPLATE_ID_HELP="If set to Yes, email template ID will be prepended to email template name." -ACESEF_PARAMS_JOBS_RESUME_FILES_ID="Add resume file ID" -ACESEF_PARAMS_JOBS_RESUME_FILES_ID_HELP="If set to Yes, resume file ID will be prepended to resume file name." - -; JomSocial -ACESEF_PARAMS_JOMSOCIAL_NAME_TYPE="Name Type" -ACESEF_PARAMS_JOMSOCIAL_NAME_TYPE_1="Username" -ACESEF_PARAMS_JOMSOCIAL_NAME_TYPE_2="Real Name" -ACESEF_PARAMS_JOMSOCIAL_PROFILE="Add profile to username" -ACESEF_PARAMS_JOMSOCIAL_PROFILE_HELP="If set to Yes, profile word will be appended to username." -ACESEF_PARAMS_JOMSOCIAL_MESSAGE_ID="Add message ID" -ACESEF_PARAMS_JOMSOCIAL_MESSAGE_ID_HELP="If set to Yes, message ID will be prepended to message name." -ACESEF_PARAMS_JOMSOCIAL_GROUP_ID="Add group ID" -ACESEF_PARAMS_JOMSOCIAL_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." -ACESEF_PARAMS_JOMSOCIAL_GROUP_CATEGORY_ID="Add group category ID" -ACESEF_PARAMS_JOMSOCIAL_GROUP_CATEGORY_ID_HELP="If set to Yes, group category ID will be prepended to group category name." -ACESEF_PARAMS_JOMSOCIAL_BULLETIN_ID="Add bulletin ID" -ACESEF_PARAMS_JOMSOCIAL_BULLETIN_ID_HELP="If set to Yes, bulletin ID will be prepended to bulletin name." -ACESEF_PARAMS_JOMSOCIAL_DISCUSSION_ID="Add discussion ID" -ACESEF_PARAMS_JOMSOCIAL_DISCUSSION_ID_HELP="If set to Yes, discussion ID will be prepended to discussion name." -ACESEF_PARAMS_JOMSOCIAL_PHOTO_ID="Add photo ID" -ACESEF_PARAMS_JOMSOCIAL_PHOTO_ID_HELP="If set to Yes, photo ID will be prepended to photo name." -ACESEF_PARAMS_JOMSOCIAL_ALBUM_ID="Add album ID" -ACESEF_PARAMS_JOMSOCIAL_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." -ACESEF_PARAMS_JOMSOCIAL_VIDEO_ID="Add video ID" -ACESEF_PARAMS_JOMSOCIAL_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." - -; JomTube -ACESEF_PARAMS_JOMTUBE_VIDEO_ID="Add video ID" -ACESEF_PARAMS_JOMTUBE_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." - -; Joo!BB -ACESEF_PARAMS_JOOBB_POST_ID="Add post ID" -ACESEF_PARAMS_JOOBB_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." -ACESEF_PARAMS_JOOBB_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_JOOBB_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." -ACESEF_PARAMS_JOOBB_FORUM_ID="Add forum ID" -ACESEF_PARAMS_JOOBB_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." -ACESEF_PARAMS_JOOBB_FORUM="Add forum to URL" -ACESEF_PARAMS_JOOBB_FORUM_HELP="If set to Yes, forum name will be added before topic name." - -; JoomDOC -ACESEF_PARAMS_JOOMDOC_DOCUMENT_ID="Add document ID" -ACESEF_PARAMS_JOOMDOC_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." - -; JoomDocs -ACESEF_PARAMS_JOOMDOCS_FILE_ID="Add file ID" -ACESEF_PARAMS_JOOMDOCS_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." - -; JoomGallery -ACESEF_PARAMS_JOOMGALLERY_PICTURE_ID="Add picture ID" -ACESEF_PARAMS_JOOMGALLERY_PICTURE_ID_HELP="If set to Yes, picture ID will be prepended to picture name." - -; JoomListings -ACESEF_PARAMS_JOOMLISTINGS_PART_TYPE="Type URL part" -ACESEF_PARAMS_JOOMLISTINGS_LISTING_ID="Add listing ID" -ACESEF_PARAMS_JOOMLISTINGS_LISTING_ID_HELP="If set to Yes, listing ID will be prepended to listing name." -ACESEF_PARAMS_JOOMLISTINGS_TYPE_ID="Add type ID" -ACESEF_PARAMS_JOOMLISTINGS_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." -ACESEF_PARAMS_JOOMLISTINGS_REGION_ID="Add region ID" -ACESEF_PARAMS_JOOMLISTINGS_REGION_ID_HELP="If set to Yes, covver letter ID will be prepended to region name." -ACESEF_PARAMS_JOOMLISTINGS_LOCATION_ID="Add location ID" -ACESEF_PARAMS_JOOMLISTINGS_LOCATION_ID_HELP="If set to Yes, location ID will be prepended to location name." - -; JP Jobs -ACESEF_PARAMS_JPJOBS_JOB_ID="Add job ID" -ACESEF_PARAMS_JPJOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." - -; jReviews -ACESEF_PARAMS_JREVIEWS_DIRECTORY_ID="Add directory ID" -ACESEF_PARAMS_JREVIEWS_DIRECTORY_ID_HELP="If set to Yes, directory ID will be prepended to directory name." -ACESEF_PARAMS_JREVIEWS_MENU_TYPE_LABEL="Add menu type label to URL" -ACESEF_PARAMS_JREVIEWS_MENU_TYPE_LABEL_HELP="Add menu type label to menu URL." -ACESEF_PARAMS_JREVIEWS_MENU_DIRECTORY="Add menu directory to URL" -ACESEF_PARAMS_JREVIEWS_MENU_DIRECTORY_HELP="Add menu directory to menu URL." -ACESEF_PARAMS_JREVIEWS_MENU_SECTION="Add menu section to URL" -ACESEF_PARAMS_JREVIEWS_MENU_SECTION_HELP="Add menu section to menu URL." -ACESEF_PARAMS_JREVIEWS_MENU_CATEGORY="Add menu category to URL" -ACESEF_PARAMS_JREVIEWS_MENU_CATEGORY_HELP="Add menu type label to menu URL." -ACESEF_PARAMS_JREVIEWS_MENU_CRITERIA="Add menu criteria to URL" -ACESEF_PARAMS_JREVIEWS_MENU_CRITERIA_HELP="Add search criteria title to menu URL." - -; JS Jobs -ACESEF_PARAMS_JSJOBS_COMPANY="Add company to job" -ACESEF_PARAMS_JSJOBS_COMPANY_HELP="If set to Yes, section name will be added before job name." -ACESEF_PARAMS_JSJOBS_RESUME_ID="Add resume ID" -ACESEF_PARAMS_JSJOBS_RESUME_ID_HELP="If set to Yes, resume ID will be prepended to resume name." -ACESEF_PARAMS_JSJOBS_COMPANY_ID="Add company ID" -ACESEF_PARAMS_JSJOBS_COMPANY_ID_HELP="If set to Yes, company ID will be prepended to company name." -ACESEF_PARAMS_JSJOBS_JOB_ID="Add job ID" -ACESEF_PARAMS_JSJOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." -ACESEF_PARAMS_JSJOBS_JOB_APPLY_ID="Add jobapply ID" -ACESEF_PARAMS_JSJOBS_JOB_APPLY_ID_HELP="If set to Yes, jobapply ID will be prepended to jobapply name." -ACESEF_PARAMS_JSJOBS_COVERLETTER_ID="Add coverletter ID" -ACESEF_PARAMS_JSJOBS_COVERLETTER_ID_HELP="If set to Yes, coverletter ID will be prepended to coverletter name." -ACESEF_PARAMS_JSJOBS_JOB_SEARCH_ID="Add jobsearch ID" -ACESEF_PARAMS_JSJOBS_JOB_SEARCH_ID_HELP="If set to Yes, jobsearch ID will be prepended to jobsearch name." -ACESEF_PARAMS_JSJOBS_RESUME_SEARCH_ID="Add resumesearch ID" -ACESEF_PARAMS_JSJOBS_RESUME_SEARCH_ID_HELP="If set to Yes, resumesearch ID will be prepended to resumesearch name." - -; JVideo! -ACESEF_PARAMS_JVIDEO_VIDEO_ID="Add video ID" -ACESEF_PARAMS_JVIDEO_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." -ACESEF_PARAMS_JVIDEO_MENU_CATEGORY="Add menu category to URL" -ACESEF_PARAMS_JVIDEO_MENU_CATEGORY_HELP="Add category title to URL" - -; JV-LinkExchanger -ACESEF_PARAMS_JVLINKX_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_JVLINKX_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." - -; JXtended Catalog -ACESEF_PARAMS_CATALOG_PART_NODE="Node URL part" -ACESEF_PARAMS_CATALOG_NODE_ID="Add node ID" -ACESEF_PARAMS_CATALOG_NODE_ID_HELP="If set to Yes, node ID will be prepended to node name." -ACESEF_PARAMS_CATALOG_CLASS_ID="Add class ID" -ACESEF_PARAMS_CATALOG_CLASS_ID_HELP="If set to Yes, class ID will be prepended to class name." - -; K2 -ACESEF_PARAMS_K2_CATEGORY_ITEM="Add category to item" -ACESEF_PARAMS_K2_CATEGORY_ITEM_HELP="Controls the way categories are added to items." - -; Knowledgebase -ACESEF_PARAMS_KB_ARTICLE_ID="Add article ID" -ACESEF_PARAMS_KB_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." - -; Kunena Forum -ACESEF_PARAMS_KUNENA_FORUM="Add forum to URL" -ACESEF_PARAMS_KUNENA_FORUM_HELP="Controls the way forums are added to URL." -ACESEF_PARAMS_KUNENA_FORUM_1="Only last one" -ACESEF_PARAMS_KUNENA_FORUM_2="All forums" -ACESEF_PARAMS_KUNENA_FORUM_ID="Add forum ID" -ACESEF_PARAMS_KUNENA_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." -ACESEF_PARAMS_KUNENA_TYPE_USER="User name type" -ACESEF_PARAMS_KUNENA_TYPE_USER_HELP="Select username or real name." -ACESEF_PARAMS_KUNENA_TYPE_USER_1="Username" -ACESEF_PARAMS_KUNENA_TYPE_USER_2="Real Name" -ACESEF_PARAMS_KUNENA_USER_ID="Add user ID" -ACESEF_PARAMS_KUNENA_USER_ID_HELP="If set to Yes, user ID will be prepended to user name." -ACESEF_PARAMS_KUNENA_POST_ID="Add post ID" -ACESEF_PARAMS_KUNENA_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." -ACESEF_PARAMS_KUNENA_ANNOUNCEMENT_ID="Add announcement ID" -ACESEF_PARAMS_KUNENA_ANNOUNCEMENT_ID_HELP="If set to Yes, announcement ID will be prepended to announcement name." - -; Linkdirectory2 -ACESEF_PARAMS_LINKDIRECTORY_LINK_ID="Add link ID" -ACESEF_PARAMS_LINKDIRECTORY_LINK_ID_HELP="If set to Yes, link ID will be prepended to link name." - -; LyftenBloggie -ACESEF_PARAMS_LYFTENBLOGGIE_DATE="Add date to item" -ACESEF_PARAMS_LYFTENBLOGGIE_DATE_HELP="If set to Yes, date will be added before item name in links." - -; Marketplace -ACESEF_PARAMS_MARKETPLACE_AD_ID="Add ad ID" -ACESEF_PARAMS_MARKETPLACE_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." - -; Mighty Resources -ACESEF_PARAMS_RESOURCES_PART_ARTICLE="Article URL part" -ACESEF_PARAMS_RESOURCES_ARTICLE_ID="Add article ID" -ACESEF_PARAMS_RESOURCES_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." - -; Mighty Touch -ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY="Add group category to group" -ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY_HELP="If set to Yes, group category name will be added before group name." -ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY_ID="Add group category ID" -ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY_ID_HELP="If set to Yes, group category ID will be prepended to group category name." -ACESEF_PARAMS_COMMUNITY_GROUP_ID="Add group ID" -ACESEF_PARAMS_COMMUNITY_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." -ACESEF_PARAMS_COMMUNITY_NAME_TYPE="Name Type" -ACESEF_PARAMS_COMMUNITY_NAME_TYPE_1="Username" -ACESEF_PARAMS_COMMUNITY_NAME_TYPE_2="Real Name" - -; MisterEstate -ACESEF_PARAMS_MISTERESTATE_OBJECT_ID="Add object ID" -ACESEF_PARAMS_MISTERESTATE_OBJECT_ID_HELP="If set to Yes, object ID will be prepended to object name." - -; MorfeoShow -ACESEF_PARAMS_MORFEOSHOW_GALLERY_ID="Add gallery ID" -ACESEF_PARAMS_MORFEOSHOW_GALLERI_ID_HELP="If set to Yes, gallery ID will be prepended to gallery name." - -; Mosets Tree -ACESEF_PARAMS_MTREE_OWNER_ID="Add owner ID" -ACESEF_PARAMS_MTREE_OWNER_ID_HELP="If set to Yes, owner ID will be prepended to owner name." - -; Music Collection -ACESEF_PARAMS_MUSCOL_ARTIST_ID="Add artist ID" -ACESEF_PARAMS_MUSCOL_ARTIST_ID_HELP="If set to Yes, artist ID will be prepended to artist name." -ACESEF_PARAMS_MUSCOL_ALBUM_ID="Add album ID" -ACESEF_PARAMS_MUSCOL_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." -ACESEF_PARAMS_MUSCOL_SONG_ID="Add song ID" -ACESEF_PARAMS_MUSCOL_SONG_ID_HELP="If set to Yes, song ID will be prepended to song name." -ACESEF_PARAMS_MUSCOL_FILE_ID="Add file ID" -ACESEF_PARAMS_MUSCOL_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." -ACESEF_PARAMS_MUSCOL_PLAYLIST_ID="Add playlist ID" -ACESEF_PARAMS_MUSCOL_PLAYLIST_ID_HELP="If set to Yes, playlist ID will be prepended to playlist name." - -; MyBlog -ACESEF_PARAMS_MYBLOG_BLOG="Blog Type" -ACESEF_PARAMS_MYBLOG_BLOG_HELP="If you set to Multi-User blog, the username (or real name) will be prepended to blog title." -ACESEF_PARAMS_MYBLOG_BLOG_1="Single blog" -ACESEF_PARAMS_MYBLOG_BLOG_2="Multi-User blog" -ACESEF_PARAMS_MYBLOG_BLOG_ID="Add blog ID" -ACESEF_PARAMS_MYBLOG_BLOG_ID_HELP="If set to Yes, blog ID will be prepended to blog name." -ACESEF_PARAMS_MYBLOG_BLOGGER="Blogger name" -ACESEF_PARAMS_MYBLOG_BLOGGER_HELP="Blogger name in links." -ACESEF_PARAMS_MYBLOG_BLOGGER_1="Username" -ACESEF_PARAMS_MYBLOG_BLOGGER_2="Real Name" -ACESEF_PARAMS_MYBLOG_BLOGGER_ID="Add blogger ID" -ACESEF_PARAMS_MYBLOG_BLOGGER_ID_HELP="If set to Yes, blogger ID will be prepended to blogger name." - -; Nice Talk -ACESEF_PARAMS_NICETALK_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_NICETALK_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." - -; NinjaBoard Forum -ACESEF_PARAMS_NINJABOARD_FORUM="Add forum to topic" -ACESEF_PARAMS_NINJABOARD_FORUM_HELP="If set to Yes, forum name will be added before topic name." -ACESEF_PARAMS_NINJABOARD_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_NINJABOARD_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." -ACESEF_PARAMS_NINJABOARD_POST_ID="Add post ID" -ACESEF_PARAMS_NINJABOARD_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." - -; Ninja RSS Syndicator -ACESEF_PARAMS_NINJARSS_FEED_ID="Add feed ID" -ACESEF_PARAMS_NINJARSS_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." - -; ODude Ecards -ACESEF_PARAMS_ODUDECARD_ECARD_ID="Add e-card ID" -ACESEF_PARAMS_ODUDECARD_ECARD_ID_HELP="If set to Yes, e-card ID will be prepended to e-card name." - -; Phoca Documentation -ACESEF_PARAMS_PHOCADOC_PART_CONTACT="Contact URL part" - -; Phoca Download -ACESEF_PARAMS_PHOCADOWNLOAD_PART_DOWNLOAD="Download URL part" -ACESEF_PARAMS_PHOCADOWNLOAD_DOWNLOAD_ID="Add download ID" -ACESEF_PARAMS_PHOCADOWNLOAD_DOWNLOAD_ID_HELP="If set to Yes, download ID will be prepended to download name." - -; Phoca Gallery -ACESEF_PARAMS_PHOCAGALLERY_PART_PICTURE="Picture URL part" -ACESEF_PARAMS_PHOCAGALLERY_PICTURE_ID="Add picture ID" -ACESEF_PARAMS_PHOCAGALLERY_PICTURE_ID_HELP="If set to Yes, picture ID will be prepended to picture name." - -; Phoca Guestbook -ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK="Add guestbook title to URL" -ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK_HELP="If set to Yes, guestbook title will be prepended in links." -ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK_ID="Add guestbook ID" -ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK_ID_HELP="If set to Yes, guestbook ID will be prepended to guestbook name." - -; Property -ACESEF_PARAMS_PROPERTY_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_PROPERTY_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." -ACESEF_PARAMS_PROPERTY_AGENT_ID="Add agent ID" -ACESEF_PARAMS_PROPERTY_AGENT_ID_HELP="If set to Yes, agent ID will be prepended to agent name." -ACESEF_PARAMS_PROPERTY_TYPE_ID="Add type ID" -ACESEF_PARAMS_PROPERTY_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." -ACESEF_PARAMS_PROPERTY_TYPE_URL="Add type to URL" -ACESEF_PARAMS_PROPERTY_TYPE_URL_HELP="If set to Yes, type name will be added to URL." - -; PU Arcade -ACESEF_PARAMS_PUARCADE_FOLDER="Add folder to URL" -ACESEF_PARAMS_PUARCADE_FOLDER_HELP="Controls the way folders are added to URL." -ACESEF_PARAMS_PUARCADE_FOLDER_1="Only last one" -ACESEF_PARAMS_PUARCADE_FOLDER_2="All folders" -ACESEF_PARAMS_PUARCADE_FOLDER_ID="Add folder ID" -ACESEF_PARAMS_PUARCADE_FOLDER_ID_HELP="If set to Yes, folder ID will be prepended to folder name." -ACESEF_PARAMS_PUARCADE_GAME_ID="Add game ID" -ACESEF_PARAMS_PUARCADE_GAME_ID_HELP="If set to Yes, game ID will be prepended to game name." -ACESEF_PARAMS_PUARCADE_CONTEST_ID="Add contest ID" -ACESEF_PARAMS_PUARCADE_CONTEST_ID_HELP="If set to Yes, contest ID will be prepended to contest name." - -; QContacts -ACESEF_PARAMS_QCONTACTS_PART_CONTACT="Contact URL part" -ACESEF_PARAMS_QCONTACTS_PART_CATEGORY="Category URL part" -ACESEF_PARAMS_QCONTACTS_CONTACT_ID="Add contact ID" -ACESEF_PARAMS_QCONTACTS_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." - -; Raf Cloud -ACESEF_PARAMS_RAFCLOUD_PHRASE_ID="Add phrase ID" -ACESEF_PARAMS_RAFCLOUD_PHRASE_ID_HELP="If set to Yes, phrase ID will be prepended to phrase name." - -; Raid Planning -ACESEF_PARAMS_RAIDPLANNING_RAID_ID="Add raid ID" -ACESEF_PARAMS_RAIDPLANNING_RAID_ID_HELP="If set to Yes, raid ID will be prepended to raid name." -ACESEF_PARAMS_RAIDPLANNING_CHARACTER_ID="Add character ID" -ACESEF_PARAMS_RAIDPLANNING_CHARACTER_ID_HELP="If set to Yes, character ID will be prepended to character name." - -; Rapidrecipe -ACESEF_PARAMS_RAPIDRECIPE_RECIPE_ID="Add recipe ID" -ACESEF_PARAMS_RAPIDRECIPE_RECIPE_ID_HELP="If set to Yes, recipe ID will be prepended to recipe name." - -; RD RSS -ACESEF_PARAMS_RDRSS_TITLE_ID="Add title ID" -ACESEF_PARAMS_RDRSS_TITLE_ID_HELP="If set to Yes, title ID will be prepended to title name." - -; RD-Autos -ACESEF_PARAMS_RDAUTOS_VEHICLE_ID="Add vehicle ID" -ACESEF_PARAMS_RDAUTOS_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." - -; RealEstate Manager -ACESEF_PARAMS_REALESTATE_PART_HOUSE="House URL part" -ACESEF_PARAMS_REALESTATE_HOUSE_ID="Add house ID" -ACESEF_PARAMS_REALESTATE_HOUSE_ID_HELP="If set to Yes, house ID will be prepended to house name." - -; Recruitment Agency Manage -ACESEF_PARAMS_RECRUITMENT_JOB_ID="Add job ID" -ACESEF_PARAMS_RECRUITMENT_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." - -; redEVENT -ACESEF_PARAMS_REDEVENT_PART_EVENT="Event URL part" -ACESEF_PARAMS_REDEVENT_PART_VENUE="Venue URL part" -ACESEF_PARAMS_REDEVENT_EVENT_ID="Add event ID" -ACESEF_PARAMS_REDEVENT_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." -ACESEF_PARAMS_REDEVENT_VENUE_ID="Add venue ID" -ACESEF_PARAMS_REDEVENT_VENUE_ID_HELP="If set to Yes, venue ID will be prepended to venue name." - -; Remository -ACESEF_PARAMS_REMOSITORY_PART_FILE="File URL part" -ACESEF_PARAMS_REMOSITORY_PART_CONTAINER="Container URL part" -ACESEF_PARAMS_REMOSITORY_CONTAINER="Add container to file" -ACESEF_PARAMS_REMOSITORY_CONTAINER_HELP="Controls the way containers are added to files." -ACESEF_PARAMS_REMOSITORY_CONTAINER_LAST="Only last one" -ACESEF_PARAMS_REMOSITORY_CONTAINER_ALL="All containers" -ACESEF_PARAMS_REMOSITORY_CONTAINER_ID="Add container ID" -ACESEF_PARAMS_REMOSITORY_CONTAINER_ID_HELP="If set to Yes, container ID will be prepended to container name." -ACESEF_PARAMS_REMOSITORY_FILE_ID="Add file ID" -ACESEF_PARAMS_REMOSITORY_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." - -; RokDownloads -ACESEF_PARAMS_ROKDOWNLOADS_ID="Add ID" -ACESEF_PARAMS_ROKDOWNLOADS_ID_HELP="If set to Yes, download/folder ID will be prepended to download/folder name." - -; RSEvents! -ACESEF_PARAMS_RSEVENTS_PART_EVENT="Event URL part" -ACESEF_PARAMS_RSEVENTS_PART_LOCATION="Location URL part" -ACESEF_PARAMS_RSEVENTS_EVENT_ID="Add event ID" -ACESEF_PARAMS_RSEVENTS_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." -ACESEF_PARAMS_RSEVENTS_LOCATION_ID="Add location ID" -ACESEF_PARAMS_RSEVENTS_LOCATION_ID_HELP="If set to Yes, location ID will be prepended to location name." -ACESEF_PARAMS_RSEVENTS_DESIGN_ID="Add design ID" -ACESEF_PARAMS_RSEVENTS_DESIGN_ID_HELP="If set to Yes, design ID will be prepended to design name." - -; RSGallery2 -ACESEF_PARAMS_RSGALLERY_GALLERY="Add gallery to item" -ACESEF_PARAMS_RSGALLERY_GALLERY_HELP="Controls the way galleries are added to items." -ACESEF_PARAMS_RSGALLERY_GALLERY_LAST="Only last one" -ACESEF_PARAMS_RSGALLERY_GALLERY_ALL="All galleries" -ACESEF_PARAMS_RSGALLERY_GALLERY_ID="Add gallery ID" -ACESEF_PARAMS_RSGALLERY_GALLERY_ID_HELP="If set to Yes, gallery ID will be prepended to gallery name." - -; RSS Factory PRO -ACESEF_PARAMS_RSSFACTORY_SOURCE_ID="Add source ID" -ACESEF_PARAMS_RSSFACTORY_SOURCE_ID_HELP="If set to Yes, source ID will be prepended to source name." - -; RSTickets! -ACESEF_PARAMS_RSTICKETS_TICKET_ID="Add ticket ID" -ACESEF_PARAMS_RSTICKETS_TICKET_ID_HELP="If set to Yes, ticket ID will be prepended to ticket name." - -; SectionEx -ACESEF_PARAMS_SECTIONEX_PART_ARTICLE="Article URL part" -ACESEF_PARAMS_SECTIONEX_ARTICLE_ID="Add article ID" -ACESEF_PARAMS_SECTIONEX_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." - -; Sermon Speaker -ACESEF_PARAMS_SERMONSPEAKER_SPEAKER_ID="Add speaker ID" -ACESEF_PARAMS_SERMONSPEAKER_SPEAKER_ID_HELP="If set to Yes, speaker ID will be prepended to speaker name." -ACESEF_PARAMS_SERMONSPEAKER_SERIE_ID="Add serie ID" -ACESEF_PARAMS_SERMONSPEAKER_SERIE_ID_HELP="If set to Yes, serie ID will be prepended to serie name." -ACESEF_PARAMS_SERMONSPEAKER_LATEST_SERMON_ID="Add latest sermon ID" -ACESEF_PARAMS_SERMONSPEAKER_LATEST_SERMON_ID_HELP="If set to Yes, latest sermon ID will be prepended to latest sermon name." - -; Şiirler -ACESEF_PARAMS_SIIRLER_PART_USER="User URL part" -ACESEF_PARAMS_SIIRLER_PART_USER_1="Name" -ACESEF_PARAMS_SIIRLER_PART_USER_2="Username" -ACESEF_PARAMS_SIIRLER_POEM_ID="Add poem ID" -ACESEF_PARAMS_SIIRLER_POEM_ID_HELP="If set to Yes, poem ID will be prepended to poem name." -ACESEF_PARAMS_SIIRLER_COMMENT_ID="Add comment ID" -ACESEF_PARAMS_SIIRLER_COMMENT_ID_HELP="If set to Yes, comment ID will be prepended to comment name." - -; SIMAnswers -ACESEF_PARAMS_SIMANSWER_PART_BOOK="Book URL part" -ACESEF_PARAMS_SIMANSWER_NAME_TYPE="Name Type" -ACESEF_PARAMS_SIMANSWER_NAME_TYPE_1="Username" -ACESEF_PARAMS_SIMANSWER_NAME_TYPE_2="Real Name" -ACESEF_PARAMS_SIMANSWER_QUESTION_ID="Add question ID" -ACESEF_PARAMS_SIMANSWER_QUESTION_ID_HELP="If set to Yes, question ID will be prepended to question name." - -; SIMGallery -ACESEF_PARAMS_SIMGALLERY_ALBUM_ID="Add album ID" -ACESEF_PARAMS_SIMGALLERY_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." -ACESEF_PARAMS_SIMGALLERY_IMAGE_ID="Add image ID" -ACESEF_PARAMS_SIMGALLERY_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." -ACESEF_PARAMS_SIMGALLERY_COMPROFILER_ID="Add comprofiler ID" -ACESEF_PARAMS_SIMGALLERY_COMPROFILER_ID_HELP="If set to Yes, comprofiler ID will be prepended to comprofiler name." - -; SimpleCalendar -ACESEF_PARAMS_SIMPLECAL_EVENT_ID="Add event ID" -ACESEF_PARAMS_SIMPLECAL_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." - -; Simplest Forum -ACESEF_PARAMS_SIMPLESTFORUM_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_SIMPLESTFORUM_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." -ACESEF_PARAMS_SIMPLESTFORUM_FORUM_ID="Add forum ID" -ACESEF_PARAMS_SIMPLESTFORUM_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." - -; TPDugg -ACESEF_PARAMS_TPDUGG_DUGG_ID="Add dugg ID" -ACESEF_PARAMS_TPDUGG_DUGG_ID_HELP="If set to Yes, dugg ID will be prepended to dugg name." - -; TPJobs -ACESEF_PARAMS_TPJOBS_SPECIALIZATION="Add specialization to job" -ACESEF_PARAMS_TPJOBS_SPECIALIZATION_HELP="If set to Yes, specialization name will be added before job name." -ACESEF_PARAMS_TPJOBS_JOB_ID="Add job ID" -ACESEF_PARAMS_TPJOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." -ACESEF_PARAMS_TPJOBS_SPECIALIZATION_ID="Add specialization ID" -ACESEF_PARAMS_TPJOBS_SPECIALIZATION_ID_HELP="If set to Yes, specialization ID will be prepended to specialization name." -ACESEF_PARAMS_TPJOBS_SEEKER_ID="Add seeker ID" -ACESEF_PARAMS_TPJOBS_SEEKER_ID_HELP="If set to Yes, seeker ID will be prepended to seeker name." -ACESEF_PARAMS_TPJOBS_EMPLOYER_ID="Add employer ID" -ACESEF_PARAMS_TPJOBS_EMPLOYER_ID_HELP="If set to Yes, employer ID will be prepended to employer name." - -; TPLancers -ACESEF_PARAMS_TPLANCERS_PROJECT_ID="Add project ID" -ACESEF_PARAMS_TPLANCERS_PROJECT_ID_HELP="If set to Yes, project ID will be prepended to project name." -ACESEF_PARAMS_TPLANCERS_FORUM_ID="Add forum ID" -ACESEF_PARAMS_TPLANCERS_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." -ACESEF_PARAMS_TPLANCERS_NAME_TYPE="Name Type" -ACESEF_PARAMS_TPLANCERS_NAME_TYPE_1="Username" -ACESEF_PARAMS_TPLANCERS_NAME_TYPE_2="Real Name" - -; TPResto -ACESEF_PARAMS_TPRESTO_GROUP_ID="Add group ID" -ACESEF_PARAMS_TPRESTO_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." -ACESEF_PARAMS_TPRESTO_TYPE_ID="Add type ID" -ACESEF_PARAMS_TPRESTO_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." - -; TPShowcase -ACESEF_PARAMS_TPSHOWCASE_SHOWCASE_ID="Add showcase ID" -ACESEF_PARAMS_TPSHOWCASE_SHOWCASE_ID_HELP="If set to Yes, showcase ID will be prepended to showcase name." - -; Vehicle Manager -ACESEF_PARAMS_VEHICLEMAN_VEHICLE_ID="Add vehicle ID" -ACESEF_PARAMS_VEHICLEMAN_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." - -; VirtueMart -ACESEF_PARAMS_VIRTUEMART_PRODUCT="Add product to URL" -ACESEF_PARAMS_VIRTUEMART_PRODUCT_HELP="Select which will be add as product name." -ACESEF_PARAMS_VIRTUEMART_PRODUCT_NAME="Product Name" -ACESEF_PARAMS_VIRTUEMART_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_VIRTUEMART_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." -ACESEF_PARAMS_VIRTUEMART_MANUFACTURE="Add manufacturer to URL" -ACESEF_PARAMS_VIRTUEMART_MANUFACTURE_HELP="If set to Yes, manufacturer name will be prepended to product name." -ACESEF_PARAMS_VIRTUEMART_MANUFACTURE_ID="Add manufacturer ID" -ACESEF_PARAMS_VIRTUEMART_MANUFACTURE_ID_HELP="If set to Yes, manufacturer ID will be prepended to manufacturer name." -ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE="Add product type to URL" -ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_HELP="If set to Yes, product type will be added to URL when browsing products using their type." -ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_ID="Add product type ID" -ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_ID_HELP="If set to Yes, product type ID will be prepended to product type." -ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_PARAM_ID="Add product type parameter name to URL" -ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_PARAM_ID_HELP="If set to Yes, product type parameter name will be added to URL when browsing products using their type." -ACESEF_PARAMS_VIRTUEMART_ITEM_DROP_DROWN="Items per page drop-down list" -ACESEF_PARAMS_VIRTUEMART_ITEM_DROP_DROWN_HELP="If is set Yes, the drop-down list number will be appended to page number." -ACESEF_PARAMS_VIRTUEMART_FILE_ID="Add file ID" -ACESEF_PARAMS_VIRTUEMART_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." -ACESEF_PARAMS_VIRTUEMART_SEF_CHECKOUT="SEF Checkout URLs" -ACESEF_PARAMS_VIRTUEMART_SEF_CHECKOUT_HELP="Select chekout page's URLs will be SEF'ed or not" -ACESEF_PARAMS_VIRTUEMART_SEF_CART="SEF Cart URLs" -ACESEF_PARAMS_VIRTUEMART_SEF_CART_HELP="Select which URLs to cart you want to SEF - all of them, direct link only (adding products will not be SEFed), or none of them." -ACESEF_PARAMS_VIRTUEMART_SEF_CART_1="All links" -ACESEF_PARAMS_VIRTUEMART_SEF_CART_2="Only direct links" -ACESEF_PARAMS_VIRTUEMART_SEF_CART_3="None links" - -; WordPress -ACESEF_PARAMS_WORDPRESS_PERMALINK="Permalink Settings" -ACESEF_PARAMS_WORDPRESS_PERMALINK_HELP="All SEF parameters could be set in Permalink Settings of WordPress component." - -; Xmap -ACESEF_PARAMS_XMAP_SITEMAP="Add sitemap name to URL" -ACESEF_PARAMS_XMAP_SITEMAP_HELP="If set to Yes, sitemap name will be added to URL." -ACESEF_PARAMS_XMAP_SITEMAP_ID="Add sitemap ID" -ACESEF_PARAMS_XMAP_SITEMAP_ID_HELP="If set to Yes, sitemap ID will be prepended to sitemap name." - -; YOS Resources Manager -ACESEF_PARAMS_YOS_PACKAGE_ID="Add package ID" -ACESEF_PARAMS_YOS_PACKAGE_ID_HELP="If set to Yes, package ID will be prepended to package name." - -; ---------------- - -; Annonces -ACESEF_PARAMS_ANNONCES_PART_AD="Ad URL part" -ACESEF_PARAMS_ANNONCES_CONSTRUCTOR="Constructor" -ACESEF_PARAMS_ANNONCES_OBJET="Object" -ACESEF_PARAMS_ANNONCES_AD_ID="Add ad ID" -ACESEF_PARAMS_ANNONCES_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." -ACESEF_PARAMS_ANNONCES_USER="Add user" -ACESEF_PARAMS_ANNONCES_USER_HELP="If set to Yes, user name will be added." - -; AcyMailing -ACESEF_PARAMS_ACYMAILING_SUBS_ID="Add subscriber ID" -ACESEF_PARAMS_ACYMAILING_SUBS_ID_HELP="If set to Yes, subscriber ID will be prepended to subscriber name." - -; Ck Forms -ACESEF_PARAMS_CKFORMS_PART_FORM="Form URL part" -ACESEF_PARAMS_CKFORMS_NAME="Name" -ACESEF_PARAMS_CKFORMS_FORM_ID="Add form ID" -ACESEF_PARAMS_CKFORMS_FORM_ID_HELP="If set to Yes, form ID will be prepended to form name." - -; Community Polls -ACESEF_PARAMS_COMMUNITY_PART_POLL="Poll URL part" -ACESEF_PARAMS_COMMUNITY_NAME="Name Type" -ACESEF_PARAMS_COMMUNITY_NAME_USER="Username" -ACESEF_PARAMS_COMMUNITY_NAME_REAL="Real Name" -ACESEF_PARAMS_COMMUNITY_POLL_ID="Add poll ID" -ACESEF_PARAMS_COMMUNITY_POLL_ID_HELP="If set to Yes, poll ID will be prepended to poll name." - -;AM Resurrected -ACESEF_PARAMS_AMRESURRECTED_AD_ID="Add ad ID" -ACESEF_PARAMS_AMRESURRECTED_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." - -;Ads Factory -ACESEF_PARAMS_ADSFACTORY_AD_ID="Add ad ID" -ACESEF_PARAMS_ADSFACTORY_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." - -;iJoomla Ad Agency -ACESEF_PARAMS_ADAGENCY_CAMPAIGN_ID="Add campaign ID" -ACESEF_PARAMS_ADAGENCY_CAMPAIGN_ID_HELP="If set to Yes, campaign ID will be prepended to campaign name." -ACESEF_PARAMS_ADAGENCY_BANNER_ID="Add banner ID" -ACESEF_PARAMS_ADAGENCY_BANNER_ID_HELP="If set to Yes, banner ID will be prepended to banner name." -ACESEF_PARAMS_ADAGENCY_PACKAGE_ID="Add package ID" -ACESEF_PARAMS_ADAGENCY_PACKAGE_ID_HELP="If set to Yes, package ID will be prepended to package name." -ACESEF_PARAMS_ADAGENCY_ZONE_ID="Add zone ID" -ACESEF_PARAMS_ADAGENCY_ZONE_ID_HELP="If set to Yes, zone ID will be prepended to zone name." - -;BearLeague -ACESEF_PARAMS_BEARLEAGUE_NICK="Nickname" -ACESEF_PARAMS_BEARLEAGUE_TITLE="Title" -ACESEF_PARAMS_BEARLEAGUE_PART_PLAYER="Player URL part" -ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT="Add tournament to URL" -ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT_HELP="If set to Yes, tournament name will be added to URL." -ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT_ID="Add tournament ID" -ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT_ID_HELP="If set to Yes, tournament ID will be prepended to tournament name." -ACESEF_PARAMS_BEARLEAGUE_SEASON_ID="Add season ID" -ACESEF_PARAMS_BEARLEAGUE_SEASON_ID_HELP="If set to Yes, season ID will be prepended to season name." -ACESEF_PARAMS_BEARLEAGUE_TEAM_ID="Add team ID" -ACESEF_PARAMS_BEARLEAGUE_TEAM_ID_HELP="If set to Yes, team ID will be prepended to team name." -ACESEF_PARAMS_BEARLEAGUE_GROUP_ID="Add group ID" -ACESEF_PARAMS_BEARLEAGUE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." -ACESEF_PARAMS_BEARLEAGUE_PLAYER_ID="Add player ID" -ACESEF_PARAMS_BEARLEAGUE_PLAYER_ID_HELP="If set to Yes, player ID will be prepended to player name." -ACESEF_PARAMS_BEARLEAGUE_MATCH_ID="Add match ID" -ACESEF_PARAMS_BEARLEAGUE_MATCH_ID_HELP="If set to Yes, match ID will be prepended to match name." -ACESEF_PARAMS_BEARLEAGUE_MATCHDAY_ID="Add match day ID" -ACESEF_PARAMS_BEARLEAGUE_MATCHDAY_ID_HELP="If set to Yes, match day ID will be prepended to match day name." - -;BeeHeard -ACESEF_PARAMS_BEEHEARD_PART_SUGGESTION="Suggestion URL part" -ACESEF_PARAMS_BEARLEAGUE_SUGGESTION_ID="Add suggestion ID" -ACESEF_PARAMS_BEARLEAGUE_SUGGESTION_ID_HELP="If set to Yes, suggestion ID will be prepended to suggestion name." - -;CMS Shop Builder -ACESEF_PARAMS_CMSSHOP_PART_PRODUCT="Product URL part" -ACESEF_PARAMS_CMSSHOP_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_CMSSHOP_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." - -;Community Answers -ACESEF_PARAMS_COMMUNANSWER_PART_QUESTION="Question URL part" -ACESEF_PARAMS_COMMUNANSWER_QUESTION_ID="Add question ID" -ACESEF_PARAMS_COMMUNANSWER_QUESTION_ID_HELP="If set to Yes, question ID will be prepended to question name." - -;DJ-Catalog -ACESEF_PARAMS_DJCATALOG_PART_PRODUCER="Producer URL part" - -;Documents Seller -ACESEF_PARAMS_DMS_DOCUMENT_ID="Add document ID" -ACESEF_PARAMS_DMS_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." - -;EasyBlog -ACESEF_PARAMS_EASYBLOG_PERMALINK="Permalink" -ACESEF_PARAMS_EASYBLOG_TEAM_ID="Add team ID" -ACESEF_PARAMS_EASYBLOG_TEAM_ID_HELP="If set to Yes, team ID will be prepended to team name." - -;Fabrik -ACESEF_PARAMS_FABRIK_PROFILE_ID="Add profile ID" -ACESEF_PARAMS_FABRIK_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." - -;FLEXIcontent -ACESEF_PARAMS_FLEXICONT_PART_CONTENT="Content URL part" -ACESEF_PARAMS_FLEXICONT_CONTENT_ID="Add content ID" -ACESEF_PARAMS_FLEXICONT_CONTENT_ID_HELP="If set to Yes, content ID will be prepended to content name." -ACESEF_PARAMS_FLEXICONT_FIELD_ID="Add content ID" -ACESEF_PARAMS_FLEXICONT_FIELD_ID_HELP="If set to Yes, field ID will be prepended to field name." - -;Glossary -ACESEF_PARAMS_GLOSSARY_GLOSS_ID="Add glossary ID" -ACESEF_PARAMS_GLOSSARY_GLOSS_ID_HELP="If set to Yes, glossary ID will be prepended to glossary name." - -;iJoomla Digistore -ACESEF_PARAMS_DIGISTORE_NAME="Name" - -;JispCom -ACESEF_PARAMS_JISPCOM_PLAN_ID="Add plan ID" -ACESEF_PARAMS_JISPCOM_PLAN_ID_HELP="If set to Yes, plan ID will be prepended to plan name." - -;JEvents -ACESEF_PARAMS_JEVENTS_SUBJECT="Subject" -ACESEF_PARAMS_JEVENTS_TITLE="Title" -ACESEF_PARAMS_JEVENTS_EVENT_NAME="Event subject or title" -ACESEF_PARAMS_JEVENTS_EVENT_NAME_HELP="Select whether event subject or title to be added to URL." - -;Jomres -ACESEF_PARAMS_JOMRES_PROPERTY_ID="Add property ID" -ACESEF_PARAMS_JOMRES_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." -ACESEF_PARAMS_JOMRES_ROOM_ID="Add room ID" -ACESEF_PARAMS_JOMRES_ROOM_ID_HELP="If set to Yes, room ID will be prepended to room name." -ACESEF_PARAMS_JOMRES_ARRIVAL_DATE="Add arrival datee" -ACESEF_PARAMS_JOMRES_ARRIVAL_DATE_HELP="Add arrival date into SEF URL." - -;JomSocial -ACESEF_PARAMS_JOMSOCIAL_EVENT_ID="Add event ID" -ACESEF_PARAMS_JOMSOCIAL_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." -ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT="Add video category" -ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT_HELP="If set to Yes, video category name will be added before video title." -ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT_ID="Add video category ID" -ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT_ID_HELP="If set to Yes, video category ID will be prepended to video category name." - -;JomSocial -ACESEF_PARAMS_JOOMLISTINGS_PACKAGE_ID="Add package ID" -ACESEF_PARAMS_JOOMLISTINGS_PACKAGE_ID_HELP="If set to Yes, package ID will be prepended to package name." - -;Kunena Forum -ACESEF_PARAMS_KUNENA_NONSEF="Append do as non-SEF" -ACESEF_PARAMS_KUNENA_NONSEF_HELP="Helps to reduce number of URLs generated." - -;MediaLibrary -ACESEF_PARAMS_MEDIALIBRARY_MEDIA_ID="Add media ID" -ACESEF_PARAMS_MEDIALIBRARY_MEDIA_ID_HELP="If set to Yes, media ID will be prepended to media name." - -;NeoRecruit -ACESEF_PARAMS_NEORECRUIT_OFFER_ID="Add offer ID" -ACESEF_PARAMS_NEORECRUIT_OFFER_ID_HELP="If set to Yes, offer ID will be prepended to offer name." - -;Property -ACESEF_PARAMS_PROPERTY_PART_PRODUCT="Product URL part" -ACESEF_PARAMS_PROPERTY_PART_TYPE="Type URL part" -ACESEF_PARAMS_PROPERTY_PART_AGENT="Agent URL part" -ACESEF_PARAMS_PROPERTY_PART_COUNTRY="Country URL part" -ACESEF_PARAMS_PROPERTY_PART_STATE="State URL part" -ACESEF_PARAMS_PROPERTY_PART_LOCALITY="Locality URL part" -ACESEF_PARAMS_PROPERTY_COUNTRY="Add country to URL" -ACESEF_PARAMS_PROPERTY_COUNTRY_HELP="If set to Yes, country name will be added to URL." -ACESEF_PARAMS_PROPERTY_COUNTRY_ID="Add country ID" -ACESEF_PARAMS_PROPERTY_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." -ACESEF_PARAMS_PROPERTY_STATE="Add state to URL" -ACESEF_PARAMS_PROPERTY_STATE_HELP="If set to Yes, state name will be added to URL." -ACESEF_PARAMS_PROPERTY_STATE_ID="Add state ID" -ACESEF_PARAMS_PROPERTY_STATE_ID_HELP="If set to Yes, state ID will be prepended to state name." -ACESEF_PARAMS_PROPERTY_LOCALITY="Add locality to URL" -ACESEF_PARAMS_PROPERTY_LOCALITY_HELP="If set to Yes, locality name will be added to URL." -ACESEF_PARAMS_PROPERTY_LOCALITY_ID="Add locality ID" -ACESEF_PARAMS_PROPERTY_LOCALITY_ID_HELP="If set to Yes, locality ID will be prepended to locality name." -ACESEF_PARAMS_PROPERTY_RATE_ID="Add rate ID" -ACESEF_PARAMS_PROPERTY_RATE_ID_HELP="If set to Yes, rate ID will be prepended to rate name." - -;QPersonel -ACESEF_PARAMS_QPERSONEL_PERSONEL_ID="Add personel ID" -ACESEF_PARAMS_QPERSONEL_PERSONEL_ID_HELP="If set to Yes, personel ID will be prepended to personel name." -ACESEF_PARAMS_QPERSONEL_COMMENT_ID="Add comment ID" -ACESEF_PARAMS_QPERSONEL_COMMENT_ID_HELP="If set to Yes, comment ID will be prepended to comment name." - -;Sermon Speaker -ACESEF_PARAMS_SERMONSPEAKER_SERMON_ID="Add sermon ID" -ACESEF_PARAMS_SERMONSPEAKER_SERMON_ID_HELP="If set to Yes, sermon ID will be prepended to sermon name." - -; Seyret -ACESEF_PARAMS_SEYRET_PART_USER="User URL part" -ACESEF_PARAMS_SEYRET_USER_1="Name" -ACESEF_PARAMS_SEYRET_USER_2="Username" -ACESEF_PARAMS_SEYRET_VIDEO_ID="Add video ID" -ACESEF_PARAMS_SEYRET_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." -ACESEF_PARAMS_SEYRET_CHANNEL_ID="Add channel ID" -ACESEF_PARAMS_SEYRET_CHANNEL_ID_HELP="If set to Yes, channel ID will be prepended to channel name." - -; SOBI2 -ACESEF_PARAMS_SOBI2_DUPLICATES="Prevent duplicates" -ACESEF_PARAMS_SOBI2_DUPLICATES_HELP="If set to Yes, only one category (the first assigned) will be used for items assigned to multiple categories." - -; TPJobs -ACESEF_PARAMS_TPJOBS_COUNTRY_ID="Add country ID" -ACESEF_PARAMS_TPJOBS_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." - -; Zoo -ACESEF_PARAMS_ZOO_VERSION="Zoo version" -ACESEF_PARAMS_ZOO_VERSION_HELP="Select which version are you using." -ACESEF_PARAMS_ZOO_PART_CATALOG="Catalog URL part" -ACESEF_PARAMS_ZOO_PART_SUBMISSION="Submission URL part" -ACESEF_PARAMS_ZOO_APPLICATION="Add application to URL" -ACESEF_PARAMS_ZOO_APPLICATION_HELP="If set to Yes, application name will be added before item / category name in links." -ACESEF_PARAMS_ZOO_APPLICATION_ID="Add application ID" -ACESEF_PARAMS_ZOO_APPLICATION_ID_HELP="If set to Yes, application ID will be prepended to application name." -ACESEF_PARAMS_ZOO_SUBMISSIOIN_ID="Add submission ID" -ACESEF_PARAMS_ZOO_SUBMISSIOIN_ID_HELP="If set to Yes, submission ID will be prepended to submission name." -ACESEF_PARAMS_ZOO_CATALOG_ID="Add catalog ID" -ACESEF_PARAMS_ZOO_CATALOG_ID_HELP="If set to Yes, catalog ID will be prepended to catalog name." - -; ABC -ACESEF_PARAMS_ABC_PREFIX="Letter listing prefix" -ACESEF_PARAMS_ABC_PREFIX_HELP="The SEF URI will be like [prefix]/[letter]" - -; AceVersions -ACESEF_PARAMS_ACEVERSIONS_EXTENSION_ID="Add extension ID" -ACESEF_PARAMS_ACEVERSIONS_EXTENSION_ID_HELP="If set to Yes, extension ID will be prepended to extension name." - -; BookLibrary -ACESEF_PARAMS_BOOKLIBRARY_BOOK_ID="Add book ID" -ACESEF_PARAMS_BOOKLIBRARY_BOOK_ID_HELP="If set to Yes, book ID will be prepended to book name." - -; ContusHDVideoShare -ACESEF_PARAMS_CONTUSHDVID_VIDEO_ID="Add video ID" -ACESEF_PARAMS_CONTUSHDVID_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." - -; Discussions -ACESEF_PARAMS_DISCUSSIONS_SUBJECT="Subject" -ACESEF_PARAMS_DISCUSSIONS_PART_POST="Post URL part" -ACESEF_PARAMS_DISCUSSIONS_POST_ID="Add post ID" -ACESEF_PARAMS_DISCUSSIONS_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." - -; Gamesbox -ACESEF_PARAMS_GAMESBOX_PART_CONSOLE="Console URL part" -ACESEF_PARAMS_GAMESBOX_PART_GENRE="Genre URL part" -ACESEF_PARAMS_GAMESBOX_PART_DOCUMENT="Document URL part" -ACESEF_PARAMS_GAMESBOX_CONSOLE_ID="Add console ID" -ACESEF_PARAMS_GAMESBOX_CONSOLE_ID_HELP="If set to Yes, console ID will be prepended to console name." -ACESEF_PARAMS_GAMESBOX_GENRE_ID="Add genre ID" -ACESEF_PARAMS_GAMESBOX_GENRE_ID_HELP="If set to Yes, genre ID will be prepended to genre name." -ACESEF_PARAMS_GAMESBOX_DOCUMENT_ID="Add document ID" -ACESEF_PARAMS_GAMESBOX_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." - -; HDVideoShare -ACESEF_PARAMS_HDVIDEOSHARE_VIDEO_ID="Add video ID" -ACESEF_PARAMS_HDVIDEOSHARE_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." - -; iJoomla RSS Feeder -ACESEF_PARAMS_IJOOMLA_RSS_READER_ID="Add reader ID" -ACESEF_PARAMS_IJOOMLA_RSS_READER_ID_HELP="If set to Yes, reader ID will be prepended to reader name." - -; jAwards -ACESEF_PARAMS_JAWARDS_AWARD_ID="Add award ID" -ACESEF_PARAMS_JAWARDS_AWARD_ID_HELP="If set to Yes, award ID will be prepended to award name." - -; News Feeds -ACESEF_PARAMS_NEWSFEED_PART_FEED="Feed URL part" -ACESEF_PARAMS_NEWSFEED_FEED_ID="Add feed ID" -ACESEF_PARAMS_NEWSFEED_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." - -; JHShop -ACESEF_PARAMS_JHSHOP_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_JHSHOP_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." -ACESEF_PARAMS_JHSHOP_INFORMATION_ID="Add information ID" -ACESEF_PARAMS_JHSHOP_INFORMATION_ID_HELP="If set to Yes, information ID will be prepended to information name." -ACESEF_PARAMS_JHSHOP_MANUFACTURER_ID="Add manufacturer ID" -ACESEF_PARAMS_JHSHOP_MANUFACTURER_ID_HELP="If set to Yes, manufacturer ID will be prepended to manufacturer name." -ACESEF_PARAMS_JHSHOP_ADDRESS_ID="Add address ID" -ACESEF_PARAMS_JHSHOP_ADDRESS_ID_HELP="If set to Yes, address ID will be prepended to address name." -ACESEF_PARAMS_JHSHOP_VENDOR_ID="Add vendor ID" -ACESEF_PARAMS_JHSHOP_VENDOR_ID_HELP="If set to Yes, vendor ID will be prepended to vendor name." - -; Joophone -ACESEF_PARAMS_JOOPHONE_PHONE_ID="Add phone ID" -ACESEF_PARAMS_JOOPHONE_PHONE_ID_HELP="If set to Yes, phone ID will be prepended to phone name." - -; Blogomunity p8pBB bridge -ACESEF_PARAMS_P8PBB_FORUM="Add forum to URL" -ACESEF_PARAMS_P8PBB_FORUM_HELP="Controls the way forums are added to URL." -ACESEF_PARAMS_P8PBB_FORUM_1="Only last one" -ACESEF_PARAMS_P8PBB_FORUM_2="All forums" -ACESEF_PARAMS_P8PBB_FORUM_ID="Add forum ID" -ACESEF_PARAMS_P8PBB_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." -ACESEF_PARAMS_P8PBB_TOPIC_ID="Add topic ID" -ACESEF_PARAMS_P8PBB_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." -ACESEF_PARAMS_P8PBB_DB_DRIVER="Database driver" -ACESEF_PARAMS_P8PBB_DB_DRIVER_HELP="Driver of your database where phpBB3 is installed." -ACESEF_PARAMS_P8PBB_DB_HOST="Database host" -ACESEF_PARAMS_P8PBB_DB_HOST_HELP="Host of your database where phpBB3 is installed." -ACESEF_PARAMS_P8PBB_DB_USER="Database user" -ACESEF_PARAMS_P8PBB_DB_USER_HELP="User of your database where phpBB3 is installed." -ACESEF_PARAMS_P8PBB_DB_PASSWORD="Database password" -ACESEF_PARAMS_P8PBB_DB_PASSWORD_HELP="Password of your database where phpBB3 is installed." -ACESEF_PARAMS_P8PBB_DB_NAME="Database name" -ACESEF_PARAMS_P8PBB_DB_NAME_HELP="Name of your database where phpBB3 is installed." -ACESEF_PARAMS_P8PBB_DB_PREFIX="Database prefix" -ACESEF_PARAMS_P8PBB_DB_PREFIX_HELP="Prefix of your database where phpBB3 is installed." - -; JPhoto -ACESEF_PARAMS_JPHOTO_PART_GALLERY="Gallery URL part" -ACESEF_PARAMS_JPHOTO_PART_IMAGE="Image URL part" -ACESEF_PARAMS_JPHOTO_CATEGORY_HELP="If set to Yes, category name will be added before gallery / image name." -ACESEF_PARAMS_JPHOTO_GALLERY="Add gallery to URL" -ACESEF_PARAMS_JPHOTO_GALLERY_HELP="If set to Yes, gallery name will be added before image name." -ACESEF_PARAMS_JPHOTO_GALLERY_ID="Add gallery ID" -ACESEF_PARAMS_JPHOTO_GALLERY_ID_HELP="If set to Yes, gallery ID will be prepended to gallery name." -ACESEF_PARAMS_JPHOTO_IMAGE_ID="Add image ID" -ACESEF_PARAMS_JPHOTO_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." - -; JResearch -ACESEF_PARAMS_JRESEARCH_COOPERATION_ID="Add cooperation ID" -ACESEF_PARAMS_JRESEARCH_COOPERATION_ID_HELP="If set to Yes, cooperation ID will be prepended to cooperation name." -ACESEF_PARAMS_JRESEARCH_FACILITY_ID="Add facility ID" -ACESEF_PARAMS_JRESEARCH_FACILITY_ID_HELP="If set to Yes, facility ID will be prepended to facility name." -ACESEF_PARAMS_JRESEARCH_PUBLICATION_ID="Add publication ID" -ACESEF_PARAMS_JRESEARCH_PUBLICATION_ID_HELP="If set to Yes, publication ID will be prepended to publication name." -ACESEF_PARAMS_JRESEARCH_PROJECT_ID="Add project ID" -ACESEF_PARAMS_JRESEARCH_PROJECT_ID_HELP="If set to Yes, project ID will be prepended to project name." -ACESEF_PARAMS_JRESEARCH_SEARCHAREA_ID="Add search area ID" -ACESEF_PARAMS_JRESEARCH_SEARCHAREA_ID_HELP="If set to Yes, search area ID will be prepended to search area name." -ACESEF_PARAMS_JRESEARCH_TEAM_ID="Add team ID" -ACESEF_PARAMS_JRESEARCH_TEAM_ID_HELP="If set to Yes, team ID will be prepended to team name." -ACESEF_PARAMS_JRESEARCH_THESIS_ID="Add thesis ID" -ACESEF_PARAMS_JRESEARCH_THESIS_ID_HELP="If set to Yes, thesis ID will be prepended to thesis name." -ACESEF_PARAMS_JRESEARCH_MEMBER_ID="Add member ID" -ACESEF_PARAMS_JRESEARCH_MEMBER_ID_HELP="If set to Yes, member ID will be prepended to member name." - -; jVideoDirect -ACESEF_PARAMS_JVIDEODIRECT_VIDEO_ID="Add video ID" -ACESEF_PARAMS_JVIDEODIRECT_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." - -; JV-LinkDirectory -ACESEF_PARAMS_JVLINKDIRECTORY_LINK_ID="Add link ID" -ACESEF_PARAMS_JVLINKDIRECTORY_LINK_ID_HELP="If set to Yes, link ID will be prepended to link name." - -; JWallpapers -ACESEF_PARAMS_JWALLPAPERS_PART_PICTURE="Picture URL part" -ACESEF_PARAMS_JWALLPAPERS_PART_TAG="Tag URL part" -ACESEF_PARAMS_JWALLPAPERS_PICTURE_ID="Add picture ID" -ACESEF_PARAMS_JWALLPAPERS_PICTURE_ID_HELP="If set to Yes, picture ID will be prepended to picture name." -ACESEF_PARAMS_JWALLPAPERS_TAG_ID="Add tag ID" -ACESEF_PARAMS_JWALLPAPERS_TAG_ID_HELP="If set to Yes, tag ID will be prepended to tag name." - -; mmPortfolio -ACESEF_PARAMS_MMPORTFOLIO_IMAGE_ID="Add image ID" -ACESEF_PARAMS_MMPORTFOLIO_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." - -; redSHOP -ACESEF_PARAMS_REDSHOP_CATEGORY_SEF="Use category SEF URL" -ACESEF_PARAMS_REDSHOP_CATEGORY_SEF_HELP="Use SEF URL entered manually in category SEO tab." -ACESEF_PARAMS_REDSHOP_PRODUCT_SEF="Use product SEF URL" -ACESEF_PARAMS_REDSHOP_PRODUCT_SEF_HELP="Use SEF URL entered manually in product SEO tab." -ACESEF_PARAMS_REDSHOP_MANUFACTURER_SEF="Use manufacturer SEF URL" -ACESEF_PARAMS_REDSHOP_MANUFACTURER_SEF_HELP="Use SEF URL entered manually in manufacturer SEO tab." -ACESEF_PARAMS_REDSHOP_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_REDSHOP_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." -ACESEF_PARAMS_REDSHOP_MANUFACTURER_ID="Add manufacturer ID" -ACESEF_PARAMS_REDSHOP_MANUFACTURER_ID_HELP="If set to Yes, manufacturer ID will be prepended to manufacturer name." -ACESEF_PARAMS_REDSHOP_META_TITLE="Use redSHOP generated title" -ACESEF_PARAMS_REDSHOP_META_TITLE_HELP="Use redSHOP generated title instead of AceSEF." -ACESEF_PARAMS_REDSHOP_META_DESC="Use redSHOP generated description" -ACESEF_PARAMS_REDSHOP_META_DESC_HELP="Use redSHOP generated description instead of AceSEF." -ACESEF_PARAMS_REDSHOP_META_KEY="Use redSHOP generated keywords" -ACESEF_PARAMS_REDSHOP_META_KEY_HELP="Use redSHOP generated keywords instead of AceSEF." - -; Registration Pro -ACESEF_PARAMS_REGISTRATIONPRO_EVENT_ID="Add event ID" -ACESEF_PARAMS_REGISTRATIONPRO_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." -ACESEF_PARAMS_REGISTRATIONPRO_REGISTER_ID="Add register ID" -ACESEF_PARAMS_REGISTRATIONPRO_REGISTER_ID_HELP="If set to Yes, register ID will be prepended to register name." - -; Spielothek -ACESEF_PARAMS_SPIELOTHEK_NAME="Name" -ACESEF_PARAMS_SPIELOTHEK_GAME_ID="Add game ID" -ACESEF_PARAMS_SPIELOTHEK_GAME_ID_HELP="If set to Yes, game ID will be prepended to game name." - -; Tienda -ACESEF_PARAMS_TIENDA_PART_PRODUCT="Product URL part" -ACESEF_PARAMS_TIENDA_PRODUCT_ID="Add product ID" -ACESEF_PARAMS_TIENDA_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." -ACESEF_PARAMS_TIENDA_ADDRESS_ID="Add address ID" -ACESEF_PARAMS_TIENDA_ADDRESS_ID_HELP="If set to Yes, address ID will be prepended to address name." - -; Work Force -ACESEF_PARAMS_WORKFORCE_DEPARTMENT="Add department to URL" -ACESEF_PARAMS_WORKFORCE_DEPARTMENT_HELP="If set to Yes, department name will be added before employee name." -ACESEF_PARAMS_WORKFORCE_DEPARTMENT_ID="Add department ID" -ACESEF_PARAMS_WORKFORCE_DEPARTMENT_ID_HELP="If set to Yes, department ID will be prepended to department name." -ACESEF_PARAMS_WORKFORCE_EMPLOYEE_ID="Add employee ID" -ACESEF_PARAMS_WORKFORCE_EMPLOYEE_ID_HELP="If set to Yes, employee ID will be prepended to employee name." - -; ZJ Downloads -ACESEF_PARAMS_ZJDOWNLOADS_PART_DOCUMENT="Document URL part" -ACESEF_PARAMS_ZJDOWNLOADS_DOCUMENT_ID="Add document ID" -ACESEF_PARAMS_ZJDOWNLOADS_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." - -; Mochigames -ACESEF_PARAMS_MOCHIGAMES_PART_GAME="Game URL part" -ACESEF_PARAMS_MOCHIGAMES_SLUG="Slug" -ACESEF_PARAMS_MOCHIGAMES_GAME_ID="Add game ID" +; $Id: en-GB.com_acesef.ini 1.5.0 2010-08-29 +; JoomAce LLC +; 2009-2010 JoomAce LLC, www.joomace.net +; License GNU/GPL http://www.gnu.org/copyleft/gpl.html +; Note : All ini files have to be saved as UTF-8 - No BOM +; Valid for both J! 1.5 & 1.6 + +; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. + +; Banners extension +ACESEF_PARAMS_BANNERS_BANNER_ID="Add banner ID to URL" +ACESEF_PARAMS_BANNERS_BANNER_ID_HELP="If set to Yes, banner ID will be prepended to banner name." + +; Contact extension +ACESEF_PARAMS_CONTACT_PART_CONTACT="Contact URL part" +ACESEF_PARAMS_CONTACT_CONTACT_ID="Add contact ID" +ACESEF_PARAMS_CONTACT_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." + +; Content (Articles) extension +ACESEF_PARAMS_CONTENT_SECS="Sections" +ACESEF_PARAMS_CONTENT_SECS_HELP="Apply this feature to the selected sections. Use Ctrl-click to select more than one section." +ACESEF_PARAMS_CONTENT_PART_ARTICLE="Article URL part" +ACESEF_PARAMS_CONTENT_PART_SECTION="Section URL part" +ACESEF_PARAMS_CONTENT_LAYOUT_PREFIX="Add layout prefix" +ACESEF_PARAMS_CONTENT_LAYOUT_PREFIX_ID_HELP="If set to Yes, layout prefix will be prepended to category/section name." +ACESEF_PARAMS_CONTENT_LAYOUT_BLOG="Blog layout prefix" +ACESEF_PARAMS_CONTENT_LAYOUT_LIST="List layout prefix" +ACESEF_PARAMS_CONTENT_ARTICLE_ID="Add article ID" +ACESEF_PARAMS_CONTENT_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." +ACESEF_PARAMS_CONTENT_SECTION="Add section to URL" +ACESEF_PARAMS_CONTENT_SECTION_HELP="If set to Yes, section name will be added to URL." +ACESEF_PARAMS_CONTENT_SECTION_ID="Add section ID" +ACESEF_PARAMS_CONTENT_SECTION_ID_HELP="If set to Yes, section ID will be prepended to section name." + +; News Feeds +ACESEF_PARAMS_NEWSFEEDS_PART_FEED="Feed URL part" +ACESEF_PARAMS_NEWSFEEDS_FEED_ID="Add feed ID" +ACESEF_PARAMS_NEWSFEEDS_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." + +; Polls +ACESEF_PARAMS_POLLS_PART_POLL="Poll URL part" +ACESEF_PARAMS_POLLS_POLL_ID="Add poll ID" +ACESEF_PARAMS_POLLS_POLL_ID_HELP="If set to Yes, poll ID will be prepended to poll name." + +; Web Links +ACESEF_PARAMS_WEBLINKS_PART_LINK="Link URL part" +ACESEF_PARAMS_WEBLINKS_LINK_ID="Add link ID" +ACESEF_PARAMS_WEBLINKS_LINK_ID_HELP="If set to Yes, link ID will be prepended to link name." + +; ------------------------------- + +; Aardvertiser +ACESEF_PARAMS_AARDVERTISER_ADS_ID="Add ads ID" +ACESEF_PARAMS_AARDVERTISER_ADS_ID_HELP="If set to Yes, ads ID will be prepended to ads name." + +; AContact Manager +ACESEF_PARAMS_ACONTACT_PART_CONTACT="Contact URL part" +ACESEF_PARAMS_ACONTACT_CONTACT_ID="Add contact ID" +ACESEF_PARAMS_ACONTACT_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." + +; AcyMailing +ACESEF_PARAMS_ACYMAILING_LIST_ID="Add list ID" +ACESEF_PARAMS_ACYMAILING_LIST_ID_HELP="If set to Yes, list ID will be prepended to list name." +ACESEF_PARAMS_ACYMAILING_MAIL_ID="Add mail ID" +ACESEF_PARAMS_ACYMAILING_MAIL_ID_HELP="If set to Yes, mail ID will be prepended to mail name." + +; AdsManager +ACESEF_PARAMS_ADSMANAGER_AD_ID="Add ad ID" +ACESEF_PARAMS_ADSMANAGER_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." + +; Agora 3 +ACESEF_PARAMS_AGORA_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_AGORA_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." +ACESEF_PARAMS_AGORA_FORUM="Add forum to URL" +ACESEF_PARAMS_AGORA_FORUM_HELP="Controls the way forums are added to URL." +ACESEF_PARAMS_AGORA_FORUM_LAST="Only last one" +ACESEF_PARAMS_AGORA_FORUM_ALL="All forums" +ACESEF_PARAMS_AGORA_FORUM_ID="Add forum ID" +ACESEF_PARAMS_AGORA_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." +ACESEF_PARAMS_AGORA_MESSAGE_ID="Add message ID" +ACESEF_PARAMS_AGORA_MESSAGE_ID_HELP="If set to Yes, message ID will be prepended to message name." + +; aiContactSafe +ACESEF_PARAMS_AICONTACT_PROFILE_ID="Add profile ID" +ACESEF_PARAMS_AICONTACT_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." + +; Alberghi +ACESEF_PARAMS_ALBERGHI_LINKTYPE="Select URL type" +ACESEF_PARAMS_ALBERGHI_LINKTYPE_HELP="Location: yourdomain.com/region/country/town/hotel-name.html ; Category: yourdomain.com/cat-name/hotel-name.hmtl." +ACESEF_PARAMS_ALBERGHI_LINKTYPE_1="Category" +ACESEF_PARAMS_ALBERGHI_LINKTYPE_2="Location" +ACESEF_PARAMS_ALBERGHI_DETAIL_ID="Add detail ID" +ACESEF_PARAMS_ALBERGHI_DETAIL_ID_HELP="If set to Yes, detail ID will be prepended to detail name." +ACESEF_PARAMS_ALBERGHI_TOWN_ID="Add town ID" +ACESEF_PARAMS_ALBERGHI_TOWN_ID_HELP="If set to Yes, town ID will be prepended to town name." +ACESEF_PARAMS_ALBERGHI_COUNTRY_ID="Add country ID" +ACESEF_PARAMS_ALBERGHI_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." +ACESEF_PARAMS_ALBERGHI_REGION_ID="Add region ID" +ACESEF_PARAMS_ALBERGHI_REGION_ID_HELP="If set to Yes, region ID will be prepended to region name." + +; Almond Classifieds +ACESEF_PARAMS_ACLASSF_AD_ID="Add ad ID" +ACESEF_PARAMS_ACLASSF_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." + +; AlphaContent +ACESEF_PARAMS_ALPHACONTENT_SECTION="Add section to URL" +ACESEF_PARAMS_ALPHACONTENT_SECTION_HELP="If set to Yes, section name will be added before category name." +ACESEF_PARAMS_ALPHACONTENT_SECTION_ID="Add project ID" +ACESEF_PARAMS_ALPHACONTENT_SECTION_ID_HELP="If set to Yes, project ID will be prepended to project name." + +; Ambra Subsriptions +ACESEF_PARAMS_AMBRASUBS_TYPE_ID="Add type ID" +ACESEF_PARAMS_AMBRASUBS_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." +ACESEF_PARAMS_AMBRASUBS_DOWNLOAD_ID="Add download ID" +ACESEF_PARAMS_AMBRASUBS_DOWNLOAD_ID_HELP="If set to Yes, download ID will be prepended to download name." + +; Apoll +ACESEF_PARAMS_APOLL_PART_POLL="Poll URL part" +ACESEF_PARAMS_APOLL_POLL_ID="Add poll ID" +ACESEF_PARAMS_APOLL_POLL_ID_HELP="If set to Yes, poll ID will be prepended to poll name." + +; ARI Quiz +ACESEF_PARAMS_ARIQUIZ_QUIZ_ID="Add quiz ID" +ACESEF_PARAMS_ARIQUIZ_QUIZ_ID_HELP="If set to Yes, quiz ID will be prepended to quiz name." + +; Auction Factory +ACESEF_PARAMS_AUCTIONFAC_AUCTION_ID="Add auction ID" +ACESEF_PARAMS_AUCTIONFAC_AUCTION_ID_HELP="If set to Yes, auction ID will be prepended to auction name." +ACESEF_PARAMS_AUCTIONFAC_AUCTION_NR="Add auction Nr" +ACESEF_PARAMS_AUCTIONFAC_AUCTION_NR_HELP="If set to Yes, auction Nr will be added before auction name." + +; Billets +ACESEF_PARAMS_BILLETS_BILLET_ID="Add billet ID" +ACESEF_PARAMS_BILLETS_BILLET_ID_HELP="If set to Yes, billet ID will be prepended to billet name." + +; ccBoard +ACESEF_PARAMS_CCBOARD_FORUM="Add forum to URL" +ACESEF_PARAMS_CCBOARD_FORUM_HELP="If set to Yes, forum name will be added before topic name." +ACESEF_PARAMS_CCBOARD_FORUM_ID="Add forum ID" +ACESEF_PARAMS_CCBOARD_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." +ACESEF_PARAMS_CCBOARD_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_CCBOARD_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." + +; Community Builder +ACESEF_PARAMS_COMPROFILER_TYPE_NAME="Name Type" +ACESEF_PARAMS_COMPROFILER_TYPE_NAME_1="Username" +ACESEF_PARAMS_COMPROFILER_TYPE_NAME_2="Real Name" +ACESEF_PARAMS_COMPROFILER_FORUM="Add forum to URL" +ACESEF_PARAMS_COMPROFILER_FORUM_HELP="If set to Yes, forum name will be added before topic name." +ACESEF_PARAMS_COMPROFILER_PREFIX="List prefix" +ACESEF_PARAMS_COMPROFILER_PREFIX_HELP="Write a prefix that will be prepended to user lists." + +; Contact Enhanced +ACESEF_PARAMS_CONTACTENHAN_PART_CONTACT="Contact URL part" +ACESEF_PARAMS_CONTACTENHAN_CONTACT_ID="Add contact ID" +ACESEF_PARAMS_CONTACTENHAN_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." + +; DigiFolio +ACESEF_PARAMS_DIGIFOLIO_PROJECT_ID="Add project ID" +ACESEF_PARAMS_DIGIFOLIO_PROJECT_ID_HELP="If set to Yes, project ID will be prepended to project name." + +; DJ-Catalog +ACESEF_PARAMS_DJCATALOG_ITEM_ID="Add item ID" +ACESEF_PARAMS_DJCATALOG_ITEM_ID_HELP="If set to Yes, item ID will be prepended to item name." +ACESEF_PARAMS_DJCATALOG_PRODUCER_ID="Add producer ID" +ACESEF_PARAMS_DJCATALOG_PRODUCER_ID_HELP="If set to Yes, producer ID will be prepended to producer name." + +; DOCman +ACESEF_PARAMS_DOCMAN_DOCUMENT_ID="Add document ID" +ACESEF_PARAMS_DOCMAN_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." + +; Estate Agent Improved +ACESEF_PARAMS_ESTATEAGENT_OBJECT_ID="Add object ID" +ACESEF_PARAMS_ESTATEAGENT_OBJECT_ID_HELP="If set to Yes, object ID will be prepended to object name." +ACESEF_PARAMS_ESTATEAGENT_AGENT_ID="Add agent ID" +ACESEF_PARAMS_ESTATEAGENT_AGENT_ID_HELP="If set to Yes, agent ID will be prepended to agent name." + +; EventList +ACESEF_PARAMS_EVENTLIST_PART_EVENT="Event URL part" +ACESEF_PARAMS_EVENTLIST_PART_VENUE="Venue URL part" +ACESEF_PARAMS_EVENTLIST_EVENT_ID="Add event ID" +ACESEF_PARAMS_EVENTLIST_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." +ACESEF_PARAMS_EVENTLIST_AGENT_ID="Add venue ID" +ACESEF_PARAMS_EVENTLIST_AGENT_ID_HELP="If set to Yes, venue ID will be prepended to venue name." + +; EZ Autos +ACESEF_PARAMS_EZAUTOS_VEHICLE_ID="Add vehicle ID" +ACESEF_PARAMS_EZAUTOS_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." +ACESEF_PARAMS_EZAUTOS_MAKE_ID="Add make ID" +ACESEF_PARAMS_EZAUTOS_MAKE_ID_HELP="If set to Yes, make ID will be prepended to make name." +ACESEF_PARAMS_EZAUTOS_MODEL_ID="Add model ID" +ACESEF_PARAMS_EZAUTOS_MODEL_ID_HELP="If set to Yes, model ID will be prepended to model name." +ACESEF_PARAMS_EZAUTOS_PROFILE_ID="Add profile ID" +ACESEF_PARAMS_EZAUTOS_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." +ACESEF_PARAMS_EZAUTOS_TYPE="Select URL type" +ACESEF_PARAMS_EZAUTOS_TYPE_HELP="Make/Model: yourdomain.com/make/model/vehicle.html ...... Category: yourdomain.com/category/vehicle.hmtl." +ACESEF_PARAMS_EZAUTOS_TYPE_1="Make/Model" +ACESEF_PARAMS_EZAUTOS_TYPE_2="Category" + +; EZ Realty +ACESEF_PARAMS_EZREALTY_PROPERTY_ID="Add property ID" +ACESEF_PARAMS_EZREALTY_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." +ACESEF_PARAMS_EZREALTY_PROFILE_ID="Add profile ID" +ACESEF_PARAMS_EZREALTY_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." + +; EZ Rider +ACESEF_PARAMS_EZRIDER_VEHICLE_ID="Add vehicle ID" +ACESEF_PARAMS_EZRIDER_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." +ACESEF_PARAMS_EZRIDER_MAKE_ID="Add make ID" +ACESEF_PARAMS_EZRIDER_MAKE_ID_HELP="If set to Yes, make ID will be prepended to make name." +ACESEF_PARAMS_EZRIDER_MODEL_ID="Add model ID" +ACESEF_PARAMS_EZRIDER_MODEL_ID_HELP="If set to Yes, model ID will be prepended to model name." +ACESEF_PARAMS_EZRIDER_PROFILE_ID="Add profile ID" +ACESEF_PARAMS_EZRIDER_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." +ACESEF_PARAMS_EZRIDER_TYPE="Select URL type" +ACESEF_PARAMS_EZRIDER_TYPE_HELP="Make/Model: yourdomain.com/make/model/vehicle.html ...... Category: yourdomain.com/category/vehicle.hmtl." +ACESEF_PARAMS_EZRIDER_TYPE_1="Make/Model" +ACESEF_PARAMS_EZRIDER_TYPE_2="Category" + +; FJRelated Plus +ACESEF_PARAMS_FJRELATED_PART_ARTICLE="Article URL part" +ACESEF_PARAMS_FJRELATED_ARTICLE_ID="Add article ID" +ACESEF_PARAMS_FJRELATED_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." + +; FlippingBook +ACESEF_PARAMS_FLIPPINGBOOK_PART_BOOK="Book URL part" +ACESEF_PARAMS_FLIPPINGBOOK_BOOK_ID="Add book ID" +ACESEF_PARAMS_FLIPPINGBOOK_BOOK_ID_HELP="If set to Yes, book ID will be prepended to book name." + +; foobla RSS +ACESEF_PARAMS_FOOBLARSS_FEED_ID="Add feed ID" +ACESEF_PARAMS_FOOBLARSS_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." + +; Gary's Cook Book +ACESEF_PARAMS_GRAYSCOOKBOOK_IMAGE_ID="Add image ID" +ACESEF_PARAMS_GRAYSCOOKBOOK_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." + +; Glossary +ACESEF_PARAMS_GLOSSARY_TERM_ID="Add term ID" +ACESEF_PARAMS_GLOSSARY_TERM_ID_HELP="If set to Yes, term ID will be prepended to term name." +ACESEF_PARAMS_GLOSSARY_LETTER="Add letter to term" +ACESEF_PARAMS_GLOSSARY_LETTER_HELP="If set to Yes, letter will be added before term name." + +; GMapsPRO 2.0 +ACESEF_PARAMS_GMAPSPRO_MAP_ID="Add map ID" +ACESEF_PARAMS_GMAPSPRO_MAP_ID_HELP="If set to Yes, map ID will be prepended to map name." + +; GroupJive +ACESEF_PARAMS_GROUPJIVE_GROUP_ID="Add group ID" +ACESEF_PARAMS_GROUPJIVE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." + +; Mosets Hot Property +ACESEF_PARAMS_HOTPROPERTY_TYPE="Add type to property" +ACESEF_PARAMS_HOTPROPERTY_TYPE_HELP="If set to Yes, type name will be added before property name." +ACESEF_PARAMS_HOTPROPERTY_TYPE_ID="Add type ID" +ACESEF_PARAMS_HOTPROPERTY_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." +ACESEF_PARAMS_HOTPROPERTY_PROPERTY_ID="Add property ID" +ACESEF_PARAMS_HOTPROPERTY_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." +ACESEF_PARAMS_HOTPROPERTY_AGENT_ID="Add agent ID" +ACESEF_PARAMS_HOTPROPERTY_AGENT_ID_HELP="If set to Yes, agent ID will be prepended to agent name." +ACESEF_PARAMS_HOTPROPERTY_COMPANY_ID="Add company ID" +ACESEF_PARAMS_HOTPROPERTY_COMPANY_ID_HELP="If set to Yes, company ID will be prepended to company name." + +; hwdPhotoShare +ACESEF_PARAMS_HWDPHOTOSHARE_ALBUM_ID="Add album ID" +ACESEF_PARAMS_HWDPHOTOSHARE_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." +ACESEF_PARAMS_HWDPHOTOSHARE_GROUP_ID="Add group ID" +ACESEF_PARAMS_HWDPHOTOSHARE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." + +; hwdVideoShare +ACESEF_PARAMS_HWDVIDEOSHARE_VIDEO_ID="Add video ID" +ACESEF_PARAMS_HWDVIDEOSHARE_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." +ACESEF_PARAMS_HWDVIDEOSHARE_GROUP_ID="Add group ID" +ACESEF_PARAMS_HWDVIDEOSHARE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." + +; Ignite Gallery +ACESEF_PARAMS_IGALLERY_GALCAT_ID="Add gallery and category ID" +ACESEF_PARAMS_IGALLERY_GALCAT_ID_HELP="If set to Yes, gallery and category ID will be prepended to name." + +; iJoomla Digistore +ACESEF_PARAMS_DIGISTORE_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_DIGISTORE_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." + +; iJoomla Magazine +ACESEF_PARAMS_MAGAZINE_ISSUE_ID="Add issue ID" +ACESEF_PARAMS_MAGAZINE_ISSUE_ID_HELP="If set to Yes, issue ID will be prepended to issue name." +ACESEF_PARAMS_MAGAZINE_MAGAZINE_ID="Add magazine ID" +ACESEF_PARAMS_MAGAZINE_MAGAZINE_ID_HELP="If set to Yes, magazine ID will be prepended to magazine name." +ACESEF_PARAMS_MAGAZINE_AUTHOR_ID="Add author ID" +ACESEF_PARAMS_MAGAZINE_AUTHOR_ID_HELP="If set to Yes, author ID will be prepended to author name." + +; Intellectual Property +ACESEF_PARAMS_IPROPERTY_PROPERTY_ID="Add property ID" +ACESEF_PARAMS_IPROPERTY_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." + +; JA Job Board +ACESEF_PARAMS_JAJOBBOARD_JOB_ID="Add job ID" +ACESEF_PARAMS_JAJOBBOARD_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." +ACESEF_PARAMS_JAJOBBOARD_JOB_ALERT_ID="Add job alert ID" +ACESEF_PARAMS_JAJOBBOARD_JOB_ALERT_ID_HELP="If set to Yes, job alert ID will be prepended to job alert name." +ACESEF_PARAMS_JAJOBBOARD_JOBSEEKER_TITLE="Add jobseeker name to URL" +ACESEF_PARAMS_JAJOBBOARD_JOBSEEKER_TITLE_HELP="If set to Yes, jobseeker name will be prepended to jobseeker name." +ACESEF_PARAMS_JAJOBBOARD_FEED_ID="Add feed ID" +ACESEF_PARAMS_JAJOBBOARD_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." +ACESEF_PARAMS_JAJOBBOARD_POSTING_ID="Add posting ID" +ACESEF_PARAMS_JAJOBBOARD_POSTING_ID_HELP="If set to Yes, posting ID will be prepended to posting name." +ACESEF_PARAMS_JAJOBBOARD_PROFILE_ID="Add profile ID" +ACESEF_PARAMS_JAJOBBOARD_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." +ACESEF_PARAMS_JAJOBBOARD_RESUME_ID="Add resume ID" +ACESEF_PARAMS_JAJOBBOARD_RESUME_ID_HELP="If set to Yes, resume ID will be prepended to resume name." + +; Jambook +ACESEF_PARAMS_JAMBOOK_GUESTBOOK_ID="Add guestbook ID" +ACESEF_PARAMS_JAMBOOK_GUESTBOOK_ID_HELP="If set to Yes, guestbook ID will be prepended to guestbook name." + +; Jbook +ACESEF_PARAMS_JBOOK_NAME_FIELD="Name" +ACESEF_PARAMS_JBOOK_BOOK_ID="Add book ID" +ACESEF_PARAMS_JBOOK_BOOK_ID_HELP="If set to Yes, book ID will be prepended to book name." +ACESEF_PARAMS_JBOOK_AUTHOR_ID="Add author ID" +ACESEF_PARAMS_JBOOK_AUTHOR_ID_HELP="If set to Yes, author ID will be prepended to author name." + +; JCal Pro 2 +ACESEF_PARAMS_JCALPRO_EVENT_ID="Add event ID" +ACESEF_PARAMS_JCALPRO_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." +ACESEF_PARAMS_JCALPRO_CALLENDAR_ID="Add calendar ID" +ACESEF_PARAMS_JCALPRO_CALLENDAR_ID_HELP="If set to Yes, calendar ID will be prepended to calendar name." + +; JDirectory +ACESEF_PARAMS_JDIRECTORY_DIRECTORY="Add directory to URL" +ACESEF_PARAMS_JDIRECTORY_DIRECTORY_HELP="If set to Yes, directory name will be prepended in links." +ACESEF_PARAMS_JDIRECTORY_DIRECTORY_ID="Add directory ID" +ACESEF_PARAMS_JDIRECTORY_DIRECTORY_ID_HELP="If set to Yes, directory ID will be prepended to directory name." + +; jDownloads +ACESEF_PARAMS_JDOWNLOADS_DOWNLOAD_ID="Add download ID" +ACESEF_PARAMS_JDOWNLOADS_DOWNLOAD_ID_HELP="If set to Yes, download ID will be prepended to download name." + +; JE Comparison Charts +ACESEF_PARAMS_JECOMPARISON_CHART_ID="Add chart ID" +ACESEF_PARAMS_JECOMPARISON_CHART_ID_HELP="If set to Yes, chart ID will be prepended to chart name." + +; Joomla Estate Agency +ACESEF_PARAMS_JEA_PROPERTY_ID="Add property ID" +ACESEF_PARAMS_JEA_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." +ACESEF_PARAMS_JEA_SLOGAN="Add slogan to property" +ACESEF_PARAMS_JEA_SLOGAN_HELP="If set to Yes, slogan name will be added before property name." +ACESEF_PARAMS_JEA_TYPE="Add type to property" +ACESEF_PARAMS_JEA_TYPE_HELP="If set to Yes, type name will be added before property name." +ACESEF_PARAMS_JEA_TOWN="Add town to property" +ACESEF_PARAMS_JEA_TOWN_HELP="If set to Yes, town name will be added before property name." + +; JEvents +ACESEF_PARAMS_JEVENTS_EVENT_ID="Add event ID" +ACESEF_PARAMS_JEVENTS_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." + +; JForms +ACESEF_PARAMS_JFORMS_FORM_ID="Add form ID" +ACESEF_PARAMS_JFORMS_FORM_ID_HELP="If set to Yes, form ID will be prepended to form name." + +; JMovies +ACESEF_PARAMS_JMOVIES_MOVIE_ID="Add movie ID" +ACESEF_PARAMS_JMOVIES_MOVIE_ID_HELP="If set to Yes, movie ID will be prepended to movie name." + +; JMyLife +ACESEF_PARAMS_JMYLIFE_MOVIE_ID="Add story ID" +ACESEF_PARAMS_JMYLIFE_MOVIE_ID_HELP="If set to Yes, story ID will be prepended to story name." + +; Jobline +ACESEF_PARAMS_JOBLINE_JOB_ID="Add job ID" +ACESEF_PARAMS_JOBLINE_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." + +; Jobs +ACESEF_PARAMS_JOBS_PART_JOB="Job URL part" +ACESEF_PARAMS_JOBS_PART_COMPANY="Company URL part" +ACESEF_PARAMS_JOBS_PART_RESUME="Resume URL part" +ACESEF_PARAMS_JOBS_JOB_ID="Add job ID" +ACESEF_PARAMS_JOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." +ACESEF_PARAMS_JOBS_COMPANY_ID="Add company ID" +ACESEF_PARAMS_JOBS_COMPANY_ID_HELP="If set to Yes, company ID will be prepended to company name." +ACESEF_PARAMS_JOBS_COUNTRY_ID="Add country ID" +ACESEF_PARAMS_JOBS_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." +ACESEF_PARAMS_JOBS_COVVER_LETTER_ID="Add covver letter ID" +ACESEF_PARAMS_JOBS_COVVER_LETTER_ID_HELP="If set to Yes, covver letter ID will be prepended to covver letter name." +ACESEF_PARAMS_JOBS_RESUME_ID="Add resume ID" +ACESEF_PARAMS_JOBS_RESUME_ID_HELP="If set to Yes, resume ID will be prepended to resume name." +ACESEF_PARAMS_JOBS_APPLICATION_ID="Add application ID" +ACESEF_PARAMS_JOBS_APPLICATION_ID_HELP="If set to Yes, application ID will be prepended to application name." +ACESEF_PARAMS_JOBS_EMAIL_TEMPLATE_ID="Add email template ID" +ACESEF_PARAMS_JOBS_EMAIL_TEMPLATE_ID_HELP="If set to Yes, email template ID will be prepended to email template name." +ACESEF_PARAMS_JOBS_RESUME_FILES_ID="Add resume file ID" +ACESEF_PARAMS_JOBS_RESUME_FILES_ID_HELP="If set to Yes, resume file ID will be prepended to resume file name." + +; JomSocial +ACESEF_PARAMS_JOMSOCIAL_NAME_TYPE="Name Type" +ACESEF_PARAMS_JOMSOCIAL_NAME_TYPE_1="Username" +ACESEF_PARAMS_JOMSOCIAL_NAME_TYPE_2="Real Name" +ACESEF_PARAMS_JOMSOCIAL_PROFILE="Add profile to username" +ACESEF_PARAMS_JOMSOCIAL_PROFILE_HELP="If set to Yes, profile word will be appended to username." +ACESEF_PARAMS_JOMSOCIAL_MESSAGE_ID="Add message ID" +ACESEF_PARAMS_JOMSOCIAL_MESSAGE_ID_HELP="If set to Yes, message ID will be prepended to message name." +ACESEF_PARAMS_JOMSOCIAL_GROUP_ID="Add group ID" +ACESEF_PARAMS_JOMSOCIAL_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." +ACESEF_PARAMS_JOMSOCIAL_GROUP_CATEGORY_ID="Add group category ID" +ACESEF_PARAMS_JOMSOCIAL_GROUP_CATEGORY_ID_HELP="If set to Yes, group category ID will be prepended to group category name." +ACESEF_PARAMS_JOMSOCIAL_BULLETIN_ID="Add bulletin ID" +ACESEF_PARAMS_JOMSOCIAL_BULLETIN_ID_HELP="If set to Yes, bulletin ID will be prepended to bulletin name." +ACESEF_PARAMS_JOMSOCIAL_DISCUSSION_ID="Add discussion ID" +ACESEF_PARAMS_JOMSOCIAL_DISCUSSION_ID_HELP="If set to Yes, discussion ID will be prepended to discussion name." +ACESEF_PARAMS_JOMSOCIAL_PHOTO_ID="Add photo ID" +ACESEF_PARAMS_JOMSOCIAL_PHOTO_ID_HELP="If set to Yes, photo ID will be prepended to photo name." +ACESEF_PARAMS_JOMSOCIAL_ALBUM_ID="Add album ID" +ACESEF_PARAMS_JOMSOCIAL_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." +ACESEF_PARAMS_JOMSOCIAL_VIDEO_ID="Add video ID" +ACESEF_PARAMS_JOMSOCIAL_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." + +; JomTube +ACESEF_PARAMS_JOMTUBE_VIDEO_ID="Add video ID" +ACESEF_PARAMS_JOMTUBE_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." + +; Joo!BB +ACESEF_PARAMS_JOOBB_POST_ID="Add post ID" +ACESEF_PARAMS_JOOBB_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." +ACESEF_PARAMS_JOOBB_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_JOOBB_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." +ACESEF_PARAMS_JOOBB_FORUM_ID="Add forum ID" +ACESEF_PARAMS_JOOBB_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." +ACESEF_PARAMS_JOOBB_FORUM="Add forum to URL" +ACESEF_PARAMS_JOOBB_FORUM_HELP="If set to Yes, forum name will be added before topic name." + +; JoomDOC +ACESEF_PARAMS_JOOMDOC_DOCUMENT_ID="Add document ID" +ACESEF_PARAMS_JOOMDOC_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." + +; JoomDocs +ACESEF_PARAMS_JOOMDOCS_FILE_ID="Add file ID" +ACESEF_PARAMS_JOOMDOCS_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." + +; JoomGallery +ACESEF_PARAMS_JOOMGALLERY_PICTURE_ID="Add picture ID" +ACESEF_PARAMS_JOOMGALLERY_PICTURE_ID_HELP="If set to Yes, picture ID will be prepended to picture name." + +; JoomListings +ACESEF_PARAMS_JOOMLISTINGS_PART_TYPE="Type URL part" +ACESEF_PARAMS_JOOMLISTINGS_LISTING_ID="Add listing ID" +ACESEF_PARAMS_JOOMLISTINGS_LISTING_ID_HELP="If set to Yes, listing ID will be prepended to listing name." +ACESEF_PARAMS_JOOMLISTINGS_TYPE_ID="Add type ID" +ACESEF_PARAMS_JOOMLISTINGS_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." +ACESEF_PARAMS_JOOMLISTINGS_REGION_ID="Add region ID" +ACESEF_PARAMS_JOOMLISTINGS_REGION_ID_HELP="If set to Yes, covver letter ID will be prepended to region name." +ACESEF_PARAMS_JOOMLISTINGS_LOCATION_ID="Add location ID" +ACESEF_PARAMS_JOOMLISTINGS_LOCATION_ID_HELP="If set to Yes, location ID will be prepended to location name." + +; JP Jobs +ACESEF_PARAMS_JPJOBS_JOB_ID="Add job ID" +ACESEF_PARAMS_JPJOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." + +; jReviews +ACESEF_PARAMS_JREVIEWS_DIRECTORY_ID="Add directory ID" +ACESEF_PARAMS_JREVIEWS_DIRECTORY_ID_HELP="If set to Yes, directory ID will be prepended to directory name." +ACESEF_PARAMS_JREVIEWS_MENU_TYPE_LABEL="Add menu type label to URL" +ACESEF_PARAMS_JREVIEWS_MENU_TYPE_LABEL_HELP="Add menu type label to menu URL." +ACESEF_PARAMS_JREVIEWS_MENU_DIRECTORY="Add menu directory to URL" +ACESEF_PARAMS_JREVIEWS_MENU_DIRECTORY_HELP="Add menu directory to menu URL." +ACESEF_PARAMS_JREVIEWS_MENU_SECTION="Add menu section to URL" +ACESEF_PARAMS_JREVIEWS_MENU_SECTION_HELP="Add menu section to menu URL." +ACESEF_PARAMS_JREVIEWS_MENU_CATEGORY="Add menu category to URL" +ACESEF_PARAMS_JREVIEWS_MENU_CATEGORY_HELP="Add menu type label to menu URL." +ACESEF_PARAMS_JREVIEWS_MENU_CRITERIA="Add menu criteria to URL" +ACESEF_PARAMS_JREVIEWS_MENU_CRITERIA_HELP="Add search criteria title to menu URL." + +; JS Jobs +ACESEF_PARAMS_JSJOBS_COMPANY="Add company to job" +ACESEF_PARAMS_JSJOBS_COMPANY_HELP="If set to Yes, section name will be added before job name." +ACESEF_PARAMS_JSJOBS_RESUME_ID="Add resume ID" +ACESEF_PARAMS_JSJOBS_RESUME_ID_HELP="If set to Yes, resume ID will be prepended to resume name." +ACESEF_PARAMS_JSJOBS_COMPANY_ID="Add company ID" +ACESEF_PARAMS_JSJOBS_COMPANY_ID_HELP="If set to Yes, company ID will be prepended to company name." +ACESEF_PARAMS_JSJOBS_JOB_ID="Add job ID" +ACESEF_PARAMS_JSJOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." +ACESEF_PARAMS_JSJOBS_JOB_APPLY_ID="Add jobapply ID" +ACESEF_PARAMS_JSJOBS_JOB_APPLY_ID_HELP="If set to Yes, jobapply ID will be prepended to jobapply name." +ACESEF_PARAMS_JSJOBS_COVERLETTER_ID="Add coverletter ID" +ACESEF_PARAMS_JSJOBS_COVERLETTER_ID_HELP="If set to Yes, coverletter ID will be prepended to coverletter name." +ACESEF_PARAMS_JSJOBS_JOB_SEARCH_ID="Add jobsearch ID" +ACESEF_PARAMS_JSJOBS_JOB_SEARCH_ID_HELP="If set to Yes, jobsearch ID will be prepended to jobsearch name." +ACESEF_PARAMS_JSJOBS_RESUME_SEARCH_ID="Add resumesearch ID" +ACESEF_PARAMS_JSJOBS_RESUME_SEARCH_ID_HELP="If set to Yes, resumesearch ID will be prepended to resumesearch name." + +; JVideo! +ACESEF_PARAMS_JVIDEO_VIDEO_ID="Add video ID" +ACESEF_PARAMS_JVIDEO_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." +ACESEF_PARAMS_JVIDEO_MENU_CATEGORY="Add menu category to URL" +ACESEF_PARAMS_JVIDEO_MENU_CATEGORY_HELP="Add category title to URL" + +; JV-LinkExchanger +ACESEF_PARAMS_JVLINKX_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_JVLINKX_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." + +; JXtended Catalog +ACESEF_PARAMS_CATALOG_PART_NODE="Node URL part" +ACESEF_PARAMS_CATALOG_NODE_ID="Add node ID" +ACESEF_PARAMS_CATALOG_NODE_ID_HELP="If set to Yes, node ID will be prepended to node name." +ACESEF_PARAMS_CATALOG_CLASS_ID="Add class ID" +ACESEF_PARAMS_CATALOG_CLASS_ID_HELP="If set to Yes, class ID will be prepended to class name." + +; K2 +ACESEF_PARAMS_K2_CATEGORY_ITEM="Add category to item" +ACESEF_PARAMS_K2_CATEGORY_ITEM_HELP="Controls the way categories are added to items." + +; Knowledgebase +ACESEF_PARAMS_KB_ARTICLE_ID="Add article ID" +ACESEF_PARAMS_KB_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." + +; Kunena Forum +ACESEF_PARAMS_KUNENA_FORUM="Add forum to URL" +ACESEF_PARAMS_KUNENA_FORUM_HELP="Controls the way forums are added to URL." +ACESEF_PARAMS_KUNENA_FORUM_1="Only last one" +ACESEF_PARAMS_KUNENA_FORUM_2="All forums" +ACESEF_PARAMS_KUNENA_FORUM_ID="Add forum ID" +ACESEF_PARAMS_KUNENA_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." +ACESEF_PARAMS_KUNENA_TYPE_USER="User name type" +ACESEF_PARAMS_KUNENA_TYPE_USER_HELP="Select username or real name." +ACESEF_PARAMS_KUNENA_TYPE_USER_1="Username" +ACESEF_PARAMS_KUNENA_TYPE_USER_2="Real Name" +ACESEF_PARAMS_KUNENA_USER_ID="Add user ID" +ACESEF_PARAMS_KUNENA_USER_ID_HELP="If set to Yes, user ID will be prepended to user name." +ACESEF_PARAMS_KUNENA_POST_ID="Add post ID" +ACESEF_PARAMS_KUNENA_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." +ACESEF_PARAMS_KUNENA_ANNOUNCEMENT_ID="Add announcement ID" +ACESEF_PARAMS_KUNENA_ANNOUNCEMENT_ID_HELP="If set to Yes, announcement ID will be prepended to announcement name." + +; Linkdirectory2 +ACESEF_PARAMS_LINKDIRECTORY_LINK_ID="Add link ID" +ACESEF_PARAMS_LINKDIRECTORY_LINK_ID_HELP="If set to Yes, link ID will be prepended to link name." + +; LyftenBloggie +ACESEF_PARAMS_LYFTENBLOGGIE_DATE="Add date to item" +ACESEF_PARAMS_LYFTENBLOGGIE_DATE_HELP="If set to Yes, date will be added before item name in links." + +; Marketplace +ACESEF_PARAMS_MARKETPLACE_AD_ID="Add ad ID" +ACESEF_PARAMS_MARKETPLACE_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." + +; Mighty Resources +ACESEF_PARAMS_RESOURCES_PART_ARTICLE="Article URL part" +ACESEF_PARAMS_RESOURCES_ARTICLE_ID="Add article ID" +ACESEF_PARAMS_RESOURCES_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." + +; Mighty Touch +ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY="Add group category to group" +ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY_HELP="If set to Yes, group category name will be added before group name." +ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY_ID="Add group category ID" +ACESEF_PARAMS_COMMUNITY_GROUP_CATEGORY_ID_HELP="If set to Yes, group category ID will be prepended to group category name." +ACESEF_PARAMS_COMMUNITY_GROUP_ID="Add group ID" +ACESEF_PARAMS_COMMUNITY_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." +ACESEF_PARAMS_COMMUNITY_NAME_TYPE="Name Type" +ACESEF_PARAMS_COMMUNITY_NAME_TYPE_1="Username" +ACESEF_PARAMS_COMMUNITY_NAME_TYPE_2="Real Name" + +; MisterEstate +ACESEF_PARAMS_MISTERESTATE_OBJECT_ID="Add object ID" +ACESEF_PARAMS_MISTERESTATE_OBJECT_ID_HELP="If set to Yes, object ID will be prepended to object name." + +; MorfeoShow +ACESEF_PARAMS_MORFEOSHOW_GALLERY_ID="Add gallery ID" +ACESEF_PARAMS_MORFEOSHOW_GALLERI_ID_HELP="If set to Yes, gallery ID will be prepended to gallery name." + +; Mosets Tree +ACESEF_PARAMS_MTREE_OWNER_ID="Add owner ID" +ACESEF_PARAMS_MTREE_OWNER_ID_HELP="If set to Yes, owner ID will be prepended to owner name." + +; Music Collection +ACESEF_PARAMS_MUSCOL_ARTIST_ID="Add artist ID" +ACESEF_PARAMS_MUSCOL_ARTIST_ID_HELP="If set to Yes, artist ID will be prepended to artist name." +ACESEF_PARAMS_MUSCOL_ALBUM_ID="Add album ID" +ACESEF_PARAMS_MUSCOL_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." +ACESEF_PARAMS_MUSCOL_SONG_ID="Add song ID" +ACESEF_PARAMS_MUSCOL_SONG_ID_HELP="If set to Yes, song ID will be prepended to song name." +ACESEF_PARAMS_MUSCOL_FILE_ID="Add file ID" +ACESEF_PARAMS_MUSCOL_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." +ACESEF_PARAMS_MUSCOL_PLAYLIST_ID="Add playlist ID" +ACESEF_PARAMS_MUSCOL_PLAYLIST_ID_HELP="If set to Yes, playlist ID will be prepended to playlist name." + +; MyBlog +ACESEF_PARAMS_MYBLOG_BLOG="Blog Type" +ACESEF_PARAMS_MYBLOG_BLOG_HELP="If you set to Multi-User blog, the username (or real name) will be prepended to blog title." +ACESEF_PARAMS_MYBLOG_BLOG_1="Single blog" +ACESEF_PARAMS_MYBLOG_BLOG_2="Multi-User blog" +ACESEF_PARAMS_MYBLOG_BLOG_ID="Add blog ID" +ACESEF_PARAMS_MYBLOG_BLOG_ID_HELP="If set to Yes, blog ID will be prepended to blog name." +ACESEF_PARAMS_MYBLOG_BLOGGER="Blogger name" +ACESEF_PARAMS_MYBLOG_BLOGGER_HELP="Blogger name in links." +ACESEF_PARAMS_MYBLOG_BLOGGER_1="Username" +ACESEF_PARAMS_MYBLOG_BLOGGER_2="Real Name" +ACESEF_PARAMS_MYBLOG_BLOGGER_ID="Add blogger ID" +ACESEF_PARAMS_MYBLOG_BLOGGER_ID_HELP="If set to Yes, blogger ID will be prepended to blogger name." + +; Nice Talk +ACESEF_PARAMS_NICETALK_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_NICETALK_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." + +; NinjaBoard Forum +ACESEF_PARAMS_NINJABOARD_FORUM="Add forum to topic" +ACESEF_PARAMS_NINJABOARD_FORUM_HELP="If set to Yes, forum name will be added before topic name." +ACESEF_PARAMS_NINJABOARD_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_NINJABOARD_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." +ACESEF_PARAMS_NINJABOARD_POST_ID="Add post ID" +ACESEF_PARAMS_NINJABOARD_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." + +; Ninja RSS Syndicator +ACESEF_PARAMS_NINJARSS_FEED_ID="Add feed ID" +ACESEF_PARAMS_NINJARSS_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." + +; ODude Ecards +ACESEF_PARAMS_ODUDECARD_ECARD_ID="Add e-card ID" +ACESEF_PARAMS_ODUDECARD_ECARD_ID_HELP="If set to Yes, e-card ID will be prepended to e-card name." + +; Phoca Documentation +ACESEF_PARAMS_PHOCADOC_PART_CONTACT="Contact URL part" + +; Phoca Download +ACESEF_PARAMS_PHOCADOWNLOAD_PART_DOWNLOAD="Download URL part" +ACESEF_PARAMS_PHOCADOWNLOAD_DOWNLOAD_ID="Add download ID" +ACESEF_PARAMS_PHOCADOWNLOAD_DOWNLOAD_ID_HELP="If set to Yes, download ID will be prepended to download name." + +; Phoca Gallery +ACESEF_PARAMS_PHOCAGALLERY_PART_PICTURE="Picture URL part" +ACESEF_PARAMS_PHOCAGALLERY_PICTURE_ID="Add picture ID" +ACESEF_PARAMS_PHOCAGALLERY_PICTURE_ID_HELP="If set to Yes, picture ID will be prepended to picture name." + +; Phoca Guestbook +ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK="Add guestbook title to URL" +ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK_HELP="If set to Yes, guestbook title will be prepended in links." +ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK_ID="Add guestbook ID" +ACESEF_PARAMS_PHOCAGUESTBOOK_GUESTBOOK_ID_HELP="If set to Yes, guestbook ID will be prepended to guestbook name." + +; Property +ACESEF_PARAMS_PROPERTY_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_PROPERTY_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." +ACESEF_PARAMS_PROPERTY_AGENT_ID="Add agent ID" +ACESEF_PARAMS_PROPERTY_AGENT_ID_HELP="If set to Yes, agent ID will be prepended to agent name." +ACESEF_PARAMS_PROPERTY_TYPE_ID="Add type ID" +ACESEF_PARAMS_PROPERTY_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." +ACESEF_PARAMS_PROPERTY_TYPE_URL="Add type to URL" +ACESEF_PARAMS_PROPERTY_TYPE_URL_HELP="If set to Yes, type name will be added to URL." + +; PU Arcade +ACESEF_PARAMS_PUARCADE_FOLDER="Add folder to URL" +ACESEF_PARAMS_PUARCADE_FOLDER_HELP="Controls the way folders are added to URL." +ACESEF_PARAMS_PUARCADE_FOLDER_1="Only last one" +ACESEF_PARAMS_PUARCADE_FOLDER_2="All folders" +ACESEF_PARAMS_PUARCADE_FOLDER_ID="Add folder ID" +ACESEF_PARAMS_PUARCADE_FOLDER_ID_HELP="If set to Yes, folder ID will be prepended to folder name." +ACESEF_PARAMS_PUARCADE_GAME_ID="Add game ID" +ACESEF_PARAMS_PUARCADE_GAME_ID_HELP="If set to Yes, game ID will be prepended to game name." +ACESEF_PARAMS_PUARCADE_CONTEST_ID="Add contest ID" +ACESEF_PARAMS_PUARCADE_CONTEST_ID_HELP="If set to Yes, contest ID will be prepended to contest name." + +; QContacts +ACESEF_PARAMS_QCONTACTS_PART_CONTACT="Contact URL part" +ACESEF_PARAMS_QCONTACTS_PART_CATEGORY="Category URL part" +ACESEF_PARAMS_QCONTACTS_CONTACT_ID="Add contact ID" +ACESEF_PARAMS_QCONTACTS_CONTACT_ID_HELP="If set to Yes, contact ID will be prepended to contact name." + +; Raf Cloud +ACESEF_PARAMS_RAFCLOUD_PHRASE_ID="Add phrase ID" +ACESEF_PARAMS_RAFCLOUD_PHRASE_ID_HELP="If set to Yes, phrase ID will be prepended to phrase name." + +; Raid Planning +ACESEF_PARAMS_RAIDPLANNING_RAID_ID="Add raid ID" +ACESEF_PARAMS_RAIDPLANNING_RAID_ID_HELP="If set to Yes, raid ID will be prepended to raid name." +ACESEF_PARAMS_RAIDPLANNING_CHARACTER_ID="Add character ID" +ACESEF_PARAMS_RAIDPLANNING_CHARACTER_ID_HELP="If set to Yes, character ID will be prepended to character name." + +; Rapidrecipe +ACESEF_PARAMS_RAPIDRECIPE_RECIPE_ID="Add recipe ID" +ACESEF_PARAMS_RAPIDRECIPE_RECIPE_ID_HELP="If set to Yes, recipe ID will be prepended to recipe name." + +; RD RSS +ACESEF_PARAMS_RDRSS_TITLE_ID="Add title ID" +ACESEF_PARAMS_RDRSS_TITLE_ID_HELP="If set to Yes, title ID will be prepended to title name." + +; RD-Autos +ACESEF_PARAMS_RDAUTOS_VEHICLE_ID="Add vehicle ID" +ACESEF_PARAMS_RDAUTOS_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." + +; RealEstate Manager +ACESEF_PARAMS_REALESTATE_PART_HOUSE="House URL part" +ACESEF_PARAMS_REALESTATE_HOUSE_ID="Add house ID" +ACESEF_PARAMS_REALESTATE_HOUSE_ID_HELP="If set to Yes, house ID will be prepended to house name." + +; Recruitment Agency Manage +ACESEF_PARAMS_RECRUITMENT_JOB_ID="Add job ID" +ACESEF_PARAMS_RECRUITMENT_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." + +; redEVENT +ACESEF_PARAMS_REDEVENT_PART_EVENT="Event URL part" +ACESEF_PARAMS_REDEVENT_PART_VENUE="Venue URL part" +ACESEF_PARAMS_REDEVENT_EVENT_ID="Add event ID" +ACESEF_PARAMS_REDEVENT_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." +ACESEF_PARAMS_REDEVENT_VENUE_ID="Add venue ID" +ACESEF_PARAMS_REDEVENT_VENUE_ID_HELP="If set to Yes, venue ID will be prepended to venue name." + +; Remository +ACESEF_PARAMS_REMOSITORY_PART_FILE="File URL part" +ACESEF_PARAMS_REMOSITORY_PART_CONTAINER="Container URL part" +ACESEF_PARAMS_REMOSITORY_CONTAINER="Add container to file" +ACESEF_PARAMS_REMOSITORY_CONTAINER_HELP="Controls the way containers are added to files." +ACESEF_PARAMS_REMOSITORY_CONTAINER_LAST="Only last one" +ACESEF_PARAMS_REMOSITORY_CONTAINER_ALL="All containers" +ACESEF_PARAMS_REMOSITORY_CONTAINER_ID="Add container ID" +ACESEF_PARAMS_REMOSITORY_CONTAINER_ID_HELP="If set to Yes, container ID will be prepended to container name." +ACESEF_PARAMS_REMOSITORY_FILE_ID="Add file ID" +ACESEF_PARAMS_REMOSITORY_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." + +; RokDownloads +ACESEF_PARAMS_ROKDOWNLOADS_ID="Add ID" +ACESEF_PARAMS_ROKDOWNLOADS_ID_HELP="If set to Yes, download/folder ID will be prepended to download/folder name." + +; RSEvents! +ACESEF_PARAMS_RSEVENTS_PART_EVENT="Event URL part" +ACESEF_PARAMS_RSEVENTS_PART_LOCATION="Location URL part" +ACESEF_PARAMS_RSEVENTS_EVENT_ID="Add event ID" +ACESEF_PARAMS_RSEVENTS_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." +ACESEF_PARAMS_RSEVENTS_LOCATION_ID="Add location ID" +ACESEF_PARAMS_RSEVENTS_LOCATION_ID_HELP="If set to Yes, location ID will be prepended to location name." +ACESEF_PARAMS_RSEVENTS_DESIGN_ID="Add design ID" +ACESEF_PARAMS_RSEVENTS_DESIGN_ID_HELP="If set to Yes, design ID will be prepended to design name." + +; RSGallery2 +ACESEF_PARAMS_RSGALLERY_GALLERY="Add gallery to item" +ACESEF_PARAMS_RSGALLERY_GALLERY_HELP="Controls the way galleries are added to items." +ACESEF_PARAMS_RSGALLERY_GALLERY_LAST="Only last one" +ACESEF_PARAMS_RSGALLERY_GALLERY_ALL="All galleries" +ACESEF_PARAMS_RSGALLERY_GALLERY_ID="Add gallery ID" +ACESEF_PARAMS_RSGALLERY_GALLERY_ID_HELP="If set to Yes, gallery ID will be prepended to gallery name." + +; RSS Factory PRO +ACESEF_PARAMS_RSSFACTORY_SOURCE_ID="Add source ID" +ACESEF_PARAMS_RSSFACTORY_SOURCE_ID_HELP="If set to Yes, source ID will be prepended to source name." + +; RSTickets! +ACESEF_PARAMS_RSTICKETS_TICKET_ID="Add ticket ID" +ACESEF_PARAMS_RSTICKETS_TICKET_ID_HELP="If set to Yes, ticket ID will be prepended to ticket name." + +; SectionEx +ACESEF_PARAMS_SECTIONEX_PART_ARTICLE="Article URL part" +ACESEF_PARAMS_SECTIONEX_ARTICLE_ID="Add article ID" +ACESEF_PARAMS_SECTIONEX_ARTICLE_ID_HELP="If set to Yes, article ID will be prepended to article name." + +; Sermon Speaker +ACESEF_PARAMS_SERMONSPEAKER_SPEAKER_ID="Add speaker ID" +ACESEF_PARAMS_SERMONSPEAKER_SPEAKER_ID_HELP="If set to Yes, speaker ID will be prepended to speaker name." +ACESEF_PARAMS_SERMONSPEAKER_SERIE_ID="Add serie ID" +ACESEF_PARAMS_SERMONSPEAKER_SERIE_ID_HELP="If set to Yes, serie ID will be prepended to serie name." +ACESEF_PARAMS_SERMONSPEAKER_LATEST_SERMON_ID="Add latest sermon ID" +ACESEF_PARAMS_SERMONSPEAKER_LATEST_SERMON_ID_HELP="If set to Yes, latest sermon ID will be prepended to latest sermon name." + +; Şiirler +ACESEF_PARAMS_SIIRLER_PART_USER="User URL part" +ACESEF_PARAMS_SIIRLER_PART_USER_1="Name" +ACESEF_PARAMS_SIIRLER_PART_USER_2="Username" +ACESEF_PARAMS_SIIRLER_POEM_ID="Add poem ID" +ACESEF_PARAMS_SIIRLER_POEM_ID_HELP="If set to Yes, poem ID will be prepended to poem name." +ACESEF_PARAMS_SIIRLER_COMMENT_ID="Add comment ID" +ACESEF_PARAMS_SIIRLER_COMMENT_ID_HELP="If set to Yes, comment ID will be prepended to comment name." + +; SIMAnswers +ACESEF_PARAMS_SIMANSWER_PART_BOOK="Book URL part" +ACESEF_PARAMS_SIMANSWER_NAME_TYPE="Name Type" +ACESEF_PARAMS_SIMANSWER_NAME_TYPE_1="Username" +ACESEF_PARAMS_SIMANSWER_NAME_TYPE_2="Real Name" +ACESEF_PARAMS_SIMANSWER_QUESTION_ID="Add question ID" +ACESEF_PARAMS_SIMANSWER_QUESTION_ID_HELP="If set to Yes, question ID will be prepended to question name." + +; SIMGallery +ACESEF_PARAMS_SIMGALLERY_ALBUM_ID="Add album ID" +ACESEF_PARAMS_SIMGALLERY_ALBUM_ID_HELP="If set to Yes, album ID will be prepended to album name." +ACESEF_PARAMS_SIMGALLERY_IMAGE_ID="Add image ID" +ACESEF_PARAMS_SIMGALLERY_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." +ACESEF_PARAMS_SIMGALLERY_COMPROFILER_ID="Add comprofiler ID" +ACESEF_PARAMS_SIMGALLERY_COMPROFILER_ID_HELP="If set to Yes, comprofiler ID will be prepended to comprofiler name." + +; SimpleCalendar +ACESEF_PARAMS_SIMPLECAL_EVENT_ID="Add event ID" +ACESEF_PARAMS_SIMPLECAL_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." + +; Simplest Forum +ACESEF_PARAMS_SIMPLESTFORUM_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_SIMPLESTFORUM_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." +ACESEF_PARAMS_SIMPLESTFORUM_FORUM_ID="Add forum ID" +ACESEF_PARAMS_SIMPLESTFORUM_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." + +; TPDugg +ACESEF_PARAMS_TPDUGG_DUGG_ID="Add dugg ID" +ACESEF_PARAMS_TPDUGG_DUGG_ID_HELP="If set to Yes, dugg ID will be prepended to dugg name." + +; TPJobs +ACESEF_PARAMS_TPJOBS_SPECIALIZATION="Add specialization to job" +ACESEF_PARAMS_TPJOBS_SPECIALIZATION_HELP="If set to Yes, specialization name will be added before job name." +ACESEF_PARAMS_TPJOBS_JOB_ID="Add job ID" +ACESEF_PARAMS_TPJOBS_JOB_ID_HELP="If set to Yes, job ID will be prepended to job name." +ACESEF_PARAMS_TPJOBS_SPECIALIZATION_ID="Add specialization ID" +ACESEF_PARAMS_TPJOBS_SPECIALIZATION_ID_HELP="If set to Yes, specialization ID will be prepended to specialization name." +ACESEF_PARAMS_TPJOBS_SEEKER_ID="Add seeker ID" +ACESEF_PARAMS_TPJOBS_SEEKER_ID_HELP="If set to Yes, seeker ID will be prepended to seeker name." +ACESEF_PARAMS_TPJOBS_EMPLOYER_ID="Add employer ID" +ACESEF_PARAMS_TPJOBS_EMPLOYER_ID_HELP="If set to Yes, employer ID will be prepended to employer name." + +; TPLancers +ACESEF_PARAMS_TPLANCERS_PROJECT_ID="Add project ID" +ACESEF_PARAMS_TPLANCERS_PROJECT_ID_HELP="If set to Yes, project ID will be prepended to project name." +ACESEF_PARAMS_TPLANCERS_FORUM_ID="Add forum ID" +ACESEF_PARAMS_TPLANCERS_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." +ACESEF_PARAMS_TPLANCERS_NAME_TYPE="Name Type" +ACESEF_PARAMS_TPLANCERS_NAME_TYPE_1="Username" +ACESEF_PARAMS_TPLANCERS_NAME_TYPE_2="Real Name" + +; TPResto +ACESEF_PARAMS_TPRESTO_GROUP_ID="Add group ID" +ACESEF_PARAMS_TPRESTO_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." +ACESEF_PARAMS_TPRESTO_TYPE_ID="Add type ID" +ACESEF_PARAMS_TPRESTO_TYPE_ID_HELP="If set to Yes, type ID will be prepended to type name." + +; TPShowcase +ACESEF_PARAMS_TPSHOWCASE_SHOWCASE_ID="Add showcase ID" +ACESEF_PARAMS_TPSHOWCASE_SHOWCASE_ID_HELP="If set to Yes, showcase ID will be prepended to showcase name." + +; Vehicle Manager +ACESEF_PARAMS_VEHICLEMAN_VEHICLE_ID="Add vehicle ID" +ACESEF_PARAMS_VEHICLEMAN_VEHICLE_ID_HELP="If set to Yes, vehicle ID will be prepended to vehicle name." + +; VirtueMart +ACESEF_PARAMS_VIRTUEMART_PRODUCT="Add product to URL" +ACESEF_PARAMS_VIRTUEMART_PRODUCT_HELP="Select which will be add as product name." +ACESEF_PARAMS_VIRTUEMART_PRODUCT_NAME="Product Name" +ACESEF_PARAMS_VIRTUEMART_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_VIRTUEMART_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." +ACESEF_PARAMS_VIRTUEMART_MANUFACTURE="Add manufacturer to URL" +ACESEF_PARAMS_VIRTUEMART_MANUFACTURE_HELP="If set to Yes, manufacturer name will be prepended to product name." +ACESEF_PARAMS_VIRTUEMART_MANUFACTURE_ID="Add manufacturer ID" +ACESEF_PARAMS_VIRTUEMART_MANUFACTURE_ID_HELP="If set to Yes, manufacturer ID will be prepended to manufacturer name." +ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE="Add product type to URL" +ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_HELP="If set to Yes, product type will be added to URL when browsing products using their type." +ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_ID="Add product type ID" +ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_ID_HELP="If set to Yes, product type ID will be prepended to product type." +ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_PARAM_ID="Add product type parameter name to URL" +ACESEF_PARAMS_VIRTUEMART_PRODUCT_TYPE_PARAM_ID_HELP="If set to Yes, product type parameter name will be added to URL when browsing products using their type." +ACESEF_PARAMS_VIRTUEMART_ITEM_DROP_DROWN="Items per page drop-down list" +ACESEF_PARAMS_VIRTUEMART_ITEM_DROP_DROWN_HELP="If is set Yes, the drop-down list number will be appended to page number." +ACESEF_PARAMS_VIRTUEMART_FILE_ID="Add file ID" +ACESEF_PARAMS_VIRTUEMART_FILE_ID_HELP="If set to Yes, file ID will be prepended to file name." +ACESEF_PARAMS_VIRTUEMART_SEF_CHECKOUT="SEF Checkout URLs" +ACESEF_PARAMS_VIRTUEMART_SEF_CHECKOUT_HELP="Select chekout page's URLs will be SEF'ed or not" +ACESEF_PARAMS_VIRTUEMART_SEF_CART="SEF Cart URLs" +ACESEF_PARAMS_VIRTUEMART_SEF_CART_HELP="Select which URLs to cart you want to SEF - all of them, direct link only (adding products will not be SEFed), or none of them." +ACESEF_PARAMS_VIRTUEMART_SEF_CART_1="All links" +ACESEF_PARAMS_VIRTUEMART_SEF_CART_2="Only direct links" +ACESEF_PARAMS_VIRTUEMART_SEF_CART_3="None links" + +; WordPress +ACESEF_PARAMS_WORDPRESS_PERMALINK="Permalink Settings" +ACESEF_PARAMS_WORDPRESS_PERMALINK_HELP="All SEF parameters could be set in Permalink Settings of WordPress component." + +; Xmap +ACESEF_PARAMS_XMAP_SITEMAP="Add sitemap name to URL" +ACESEF_PARAMS_XMAP_SITEMAP_HELP="If set to Yes, sitemap name will be added to URL." +ACESEF_PARAMS_XMAP_SITEMAP_ID="Add sitemap ID" +ACESEF_PARAMS_XMAP_SITEMAP_ID_HELP="If set to Yes, sitemap ID will be prepended to sitemap name." + +; YOS Resources Manager +ACESEF_PARAMS_YOS_PACKAGE_ID="Add package ID" +ACESEF_PARAMS_YOS_PACKAGE_ID_HELP="If set to Yes, package ID will be prepended to package name." + +; ---------------- + +; Annonces +ACESEF_PARAMS_ANNONCES_PART_AD="Ad URL part" +ACESEF_PARAMS_ANNONCES_CONSTRUCTOR="Constructor" +ACESEF_PARAMS_ANNONCES_OBJET="Object" +ACESEF_PARAMS_ANNONCES_AD_ID="Add ad ID" +ACESEF_PARAMS_ANNONCES_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." +ACESEF_PARAMS_ANNONCES_USER="Add user" +ACESEF_PARAMS_ANNONCES_USER_HELP="If set to Yes, user name will be added." + +; AcyMailing +ACESEF_PARAMS_ACYMAILING_SUBS_ID="Add subscriber ID" +ACESEF_PARAMS_ACYMAILING_SUBS_ID_HELP="If set to Yes, subscriber ID will be prepended to subscriber name." + +; Ck Forms +ACESEF_PARAMS_CKFORMS_PART_FORM="Form URL part" +ACESEF_PARAMS_CKFORMS_NAME="Name" +ACESEF_PARAMS_CKFORMS_FORM_ID="Add form ID" +ACESEF_PARAMS_CKFORMS_FORM_ID_HELP="If set to Yes, form ID will be prepended to form name." + +; Community Polls +ACESEF_PARAMS_COMMUNITY_PART_POLL="Poll URL part" +ACESEF_PARAMS_COMMUNITY_NAME="Name Type" +ACESEF_PARAMS_COMMUNITY_NAME_USER="Username" +ACESEF_PARAMS_COMMUNITY_NAME_REAL="Real Name" +ACESEF_PARAMS_COMMUNITY_POLL_ID="Add poll ID" +ACESEF_PARAMS_COMMUNITY_POLL_ID_HELP="If set to Yes, poll ID will be prepended to poll name." + +;AM Resurrected +ACESEF_PARAMS_AMRESURRECTED_AD_ID="Add ad ID" +ACESEF_PARAMS_AMRESURRECTED_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." + +;Ads Factory +ACESEF_PARAMS_ADSFACTORY_AD_ID="Add ad ID" +ACESEF_PARAMS_ADSFACTORY_AD_ID_HELP="If set to Yes, ad ID will be prepended to ad name." + +;iJoomla Ad Agency +ACESEF_PARAMS_ADAGENCY_CAMPAIGN_ID="Add campaign ID" +ACESEF_PARAMS_ADAGENCY_CAMPAIGN_ID_HELP="If set to Yes, campaign ID will be prepended to campaign name." +ACESEF_PARAMS_ADAGENCY_BANNER_ID="Add banner ID" +ACESEF_PARAMS_ADAGENCY_BANNER_ID_HELP="If set to Yes, banner ID will be prepended to banner name." +ACESEF_PARAMS_ADAGENCY_PACKAGE_ID="Add package ID" +ACESEF_PARAMS_ADAGENCY_PACKAGE_ID_HELP="If set to Yes, package ID will be prepended to package name." +ACESEF_PARAMS_ADAGENCY_ZONE_ID="Add zone ID" +ACESEF_PARAMS_ADAGENCY_ZONE_ID_HELP="If set to Yes, zone ID will be prepended to zone name." + +;BearLeague +ACESEF_PARAMS_BEARLEAGUE_NICK="Nickname" +ACESEF_PARAMS_BEARLEAGUE_TITLE="Title" +ACESEF_PARAMS_BEARLEAGUE_PART_PLAYER="Player URL part" +ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT="Add tournament to URL" +ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT_HELP="If set to Yes, tournament name will be added to URL." +ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT_ID="Add tournament ID" +ACESEF_PARAMS_BEARLEAGUE_TOURNAMENT_ID_HELP="If set to Yes, tournament ID will be prepended to tournament name." +ACESEF_PARAMS_BEARLEAGUE_SEASON_ID="Add season ID" +ACESEF_PARAMS_BEARLEAGUE_SEASON_ID_HELP="If set to Yes, season ID will be prepended to season name." +ACESEF_PARAMS_BEARLEAGUE_TEAM_ID="Add team ID" +ACESEF_PARAMS_BEARLEAGUE_TEAM_ID_HELP="If set to Yes, team ID will be prepended to team name." +ACESEF_PARAMS_BEARLEAGUE_GROUP_ID="Add group ID" +ACESEF_PARAMS_BEARLEAGUE_GROUP_ID_HELP="If set to Yes, group ID will be prepended to group name." +ACESEF_PARAMS_BEARLEAGUE_PLAYER_ID="Add player ID" +ACESEF_PARAMS_BEARLEAGUE_PLAYER_ID_HELP="If set to Yes, player ID will be prepended to player name." +ACESEF_PARAMS_BEARLEAGUE_MATCH_ID="Add match ID" +ACESEF_PARAMS_BEARLEAGUE_MATCH_ID_HELP="If set to Yes, match ID will be prepended to match name." +ACESEF_PARAMS_BEARLEAGUE_MATCHDAY_ID="Add match day ID" +ACESEF_PARAMS_BEARLEAGUE_MATCHDAY_ID_HELP="If set to Yes, match day ID will be prepended to match day name." + +;BeeHeard +ACESEF_PARAMS_BEEHEARD_PART_SUGGESTION="Suggestion URL part" +ACESEF_PARAMS_BEARLEAGUE_SUGGESTION_ID="Add suggestion ID" +ACESEF_PARAMS_BEARLEAGUE_SUGGESTION_ID_HELP="If set to Yes, suggestion ID will be prepended to suggestion name." + +;CMS Shop Builder +ACESEF_PARAMS_CMSSHOP_PART_PRODUCT="Product URL part" +ACESEF_PARAMS_CMSSHOP_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_CMSSHOP_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." + +;Community Answers +ACESEF_PARAMS_COMMUNANSWER_PART_QUESTION="Question URL part" +ACESEF_PARAMS_COMMUNANSWER_QUESTION_ID="Add question ID" +ACESEF_PARAMS_COMMUNANSWER_QUESTION_ID_HELP="If set to Yes, question ID will be prepended to question name." + +;DJ-Catalog +ACESEF_PARAMS_DJCATALOG_PART_PRODUCER="Producer URL part" + +;Documents Seller +ACESEF_PARAMS_DMS_DOCUMENT_ID="Add document ID" +ACESEF_PARAMS_DMS_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." + +;EasyBlog +ACESEF_PARAMS_EASYBLOG_PERMALINK="Permalink" +ACESEF_PARAMS_EASYBLOG_TEAM_ID="Add team ID" +ACESEF_PARAMS_EASYBLOG_TEAM_ID_HELP="If set to Yes, team ID will be prepended to team name." + +;Fabrik +ACESEF_PARAMS_FABRIK_PROFILE_ID="Add profile ID" +ACESEF_PARAMS_FABRIK_PROFILE_ID_HELP="If set to Yes, profile ID will be prepended to profile name." + +;FLEXIcontent +ACESEF_PARAMS_FLEXICONT_PART_CONTENT="Content URL part" +ACESEF_PARAMS_FLEXICONT_CONTENT_ID="Add content ID" +ACESEF_PARAMS_FLEXICONT_CONTENT_ID_HELP="If set to Yes, content ID will be prepended to content name." +ACESEF_PARAMS_FLEXICONT_FIELD_ID="Add content ID" +ACESEF_PARAMS_FLEXICONT_FIELD_ID_HELP="If set to Yes, field ID will be prepended to field name." + +;Glossary +ACESEF_PARAMS_GLOSSARY_GLOSS_ID="Add glossary ID" +ACESEF_PARAMS_GLOSSARY_GLOSS_ID_HELP="If set to Yes, glossary ID will be prepended to glossary name." + +;iJoomla Digistore +ACESEF_PARAMS_DIGISTORE_NAME="Name" + +;JispCom +ACESEF_PARAMS_JISPCOM_PLAN_ID="Add plan ID" +ACESEF_PARAMS_JISPCOM_PLAN_ID_HELP="If set to Yes, plan ID will be prepended to plan name." + +;JEvents +ACESEF_PARAMS_JEVENTS_SUBJECT="Subject" +ACESEF_PARAMS_JEVENTS_TITLE="Title" +ACESEF_PARAMS_JEVENTS_EVENT_NAME="Event subject or title" +ACESEF_PARAMS_JEVENTS_EVENT_NAME_HELP="Select whether event subject or title to be added to URL." + +;Jomres +ACESEF_PARAMS_JOMRES_PROPERTY_ID="Add property ID" +ACESEF_PARAMS_JOMRES_PROPERTY_ID_HELP="If set to Yes, property ID will be prepended to property name." +ACESEF_PARAMS_JOMRES_ROOM_ID="Add room ID" +ACESEF_PARAMS_JOMRES_ROOM_ID_HELP="If set to Yes, room ID will be prepended to room name." +ACESEF_PARAMS_JOMRES_ARRIVAL_DATE="Add arrival datee" +ACESEF_PARAMS_JOMRES_ARRIVAL_DATE_HELP="Add arrival date into SEF URL." + +;JomSocial +ACESEF_PARAMS_JOMSOCIAL_EVENT_ID="Add event ID" +ACESEF_PARAMS_JOMSOCIAL_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." +ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT="Add video category" +ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT_HELP="If set to Yes, video category name will be added before video title." +ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT_ID="Add video category ID" +ACESEF_PARAMS_JOMSOCIAL_VIDEO_CAT_ID_HELP="If set to Yes, video category ID will be prepended to video category name." + +;JomSocial +ACESEF_PARAMS_JOOMLISTINGS_PACKAGE_ID="Add package ID" +ACESEF_PARAMS_JOOMLISTINGS_PACKAGE_ID_HELP="If set to Yes, package ID will be prepended to package name." + +;Kunena Forum +ACESEF_PARAMS_KUNENA_NONSEF="Append do as non-SEF" +ACESEF_PARAMS_KUNENA_NONSEF_HELP="Helps to reduce number of URLs generated." + +;MediaLibrary +ACESEF_PARAMS_MEDIALIBRARY_MEDIA_ID="Add media ID" +ACESEF_PARAMS_MEDIALIBRARY_MEDIA_ID_HELP="If set to Yes, media ID will be prepended to media name." + +;NeoRecruit +ACESEF_PARAMS_NEORECRUIT_OFFER_ID="Add offer ID" +ACESEF_PARAMS_NEORECRUIT_OFFER_ID_HELP="If set to Yes, offer ID will be prepended to offer name." + +;Property +ACESEF_PARAMS_PROPERTY_PART_PRODUCT="Product URL part" +ACESEF_PARAMS_PROPERTY_PART_TYPE="Type URL part" +ACESEF_PARAMS_PROPERTY_PART_AGENT="Agent URL part" +ACESEF_PARAMS_PROPERTY_PART_COUNTRY="Country URL part" +ACESEF_PARAMS_PROPERTY_PART_STATE="State URL part" +ACESEF_PARAMS_PROPERTY_PART_LOCALITY="Locality URL part" +ACESEF_PARAMS_PROPERTY_COUNTRY="Add country to URL" +ACESEF_PARAMS_PROPERTY_COUNTRY_HELP="If set to Yes, country name will be added to URL." +ACESEF_PARAMS_PROPERTY_COUNTRY_ID="Add country ID" +ACESEF_PARAMS_PROPERTY_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." +ACESEF_PARAMS_PROPERTY_STATE="Add state to URL" +ACESEF_PARAMS_PROPERTY_STATE_HELP="If set to Yes, state name will be added to URL." +ACESEF_PARAMS_PROPERTY_STATE_ID="Add state ID" +ACESEF_PARAMS_PROPERTY_STATE_ID_HELP="If set to Yes, state ID will be prepended to state name." +ACESEF_PARAMS_PROPERTY_LOCALITY="Add locality to URL" +ACESEF_PARAMS_PROPERTY_LOCALITY_HELP="If set to Yes, locality name will be added to URL." +ACESEF_PARAMS_PROPERTY_LOCALITY_ID="Add locality ID" +ACESEF_PARAMS_PROPERTY_LOCALITY_ID_HELP="If set to Yes, locality ID will be prepended to locality name." +ACESEF_PARAMS_PROPERTY_RATE_ID="Add rate ID" +ACESEF_PARAMS_PROPERTY_RATE_ID_HELP="If set to Yes, rate ID will be prepended to rate name." + +;QPersonel +ACESEF_PARAMS_QPERSONEL_PERSONEL_ID="Add personel ID" +ACESEF_PARAMS_QPERSONEL_PERSONEL_ID_HELP="If set to Yes, personel ID will be prepended to personel name." +ACESEF_PARAMS_QPERSONEL_COMMENT_ID="Add comment ID" +ACESEF_PARAMS_QPERSONEL_COMMENT_ID_HELP="If set to Yes, comment ID will be prepended to comment name." + +;Sermon Speaker +ACESEF_PARAMS_SERMONSPEAKER_SERMON_ID="Add sermon ID" +ACESEF_PARAMS_SERMONSPEAKER_SERMON_ID_HELP="If set to Yes, sermon ID will be prepended to sermon name." + +; Seyret +ACESEF_PARAMS_SEYRET_PART_USER="User URL part" +ACESEF_PARAMS_SEYRET_USER_1="Name" +ACESEF_PARAMS_SEYRET_USER_2="Username" +ACESEF_PARAMS_SEYRET_VIDEO_ID="Add video ID" +ACESEF_PARAMS_SEYRET_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." +ACESEF_PARAMS_SEYRET_CHANNEL_ID="Add channel ID" +ACESEF_PARAMS_SEYRET_CHANNEL_ID_HELP="If set to Yes, channel ID will be prepended to channel name." + +; SOBI2 +ACESEF_PARAMS_SOBI2_DUPLICATES="Prevent duplicates" +ACESEF_PARAMS_SOBI2_DUPLICATES_HELP="If set to Yes, only one category (the first assigned) will be used for items assigned to multiple categories." + +; TPJobs +ACESEF_PARAMS_TPJOBS_COUNTRY_ID="Add country ID" +ACESEF_PARAMS_TPJOBS_COUNTRY_ID_HELP="If set to Yes, country ID will be prepended to country name." + +; Zoo +ACESEF_PARAMS_ZOO_VERSION="Zoo version" +ACESEF_PARAMS_ZOO_VERSION_HELP="Select which version are you using." +ACESEF_PARAMS_ZOO_PART_CATALOG="Catalog URL part" +ACESEF_PARAMS_ZOO_PART_SUBMISSION="Submission URL part" +ACESEF_PARAMS_ZOO_APPLICATION="Add application to URL" +ACESEF_PARAMS_ZOO_APPLICATION_HELP="If set to Yes, application name will be added before item / category name in links." +ACESEF_PARAMS_ZOO_APPLICATION_ID="Add application ID" +ACESEF_PARAMS_ZOO_APPLICATION_ID_HELP="If set to Yes, application ID will be prepended to application name." +ACESEF_PARAMS_ZOO_SUBMISSIOIN_ID="Add submission ID" +ACESEF_PARAMS_ZOO_SUBMISSIOIN_ID_HELP="If set to Yes, submission ID will be prepended to submission name." +ACESEF_PARAMS_ZOO_CATALOG_ID="Add catalog ID" +ACESEF_PARAMS_ZOO_CATALOG_ID_HELP="If set to Yes, catalog ID will be prepended to catalog name." + +; ABC +ACESEF_PARAMS_ABC_PREFIX="Letter listing prefix" +ACESEF_PARAMS_ABC_PREFIX_HELP="The SEF URI will be like [prefix]/[letter]" + +; AceVersions +ACESEF_PARAMS_ACEVERSIONS_EXTENSION_ID="Add extension ID" +ACESEF_PARAMS_ACEVERSIONS_EXTENSION_ID_HELP="If set to Yes, extension ID will be prepended to extension name." + +; BookLibrary +ACESEF_PARAMS_BOOKLIBRARY_BOOK_ID="Add book ID" +ACESEF_PARAMS_BOOKLIBRARY_BOOK_ID_HELP="If set to Yes, book ID will be prepended to book name." + +; ContusHDVideoShare +ACESEF_PARAMS_CONTUSHDVID_VIDEO_ID="Add video ID" +ACESEF_PARAMS_CONTUSHDVID_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." + +; Discussions +ACESEF_PARAMS_DISCUSSIONS_SUBJECT="Subject" +ACESEF_PARAMS_DISCUSSIONS_PART_POST="Post URL part" +ACESEF_PARAMS_DISCUSSIONS_POST_ID="Add post ID" +ACESEF_PARAMS_DISCUSSIONS_POST_ID_HELP="If set to Yes, post ID will be prepended to post name." + +; Gamesbox +ACESEF_PARAMS_GAMESBOX_PART_CONSOLE="Console URL part" +ACESEF_PARAMS_GAMESBOX_PART_GENRE="Genre URL part" +ACESEF_PARAMS_GAMESBOX_PART_DOCUMENT="Document URL part" +ACESEF_PARAMS_GAMESBOX_CONSOLE_ID="Add console ID" +ACESEF_PARAMS_GAMESBOX_CONSOLE_ID_HELP="If set to Yes, console ID will be prepended to console name." +ACESEF_PARAMS_GAMESBOX_GENRE_ID="Add genre ID" +ACESEF_PARAMS_GAMESBOX_GENRE_ID_HELP="If set to Yes, genre ID will be prepended to genre name." +ACESEF_PARAMS_GAMESBOX_DOCUMENT_ID="Add document ID" +ACESEF_PARAMS_GAMESBOX_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." + +; HDVideoShare +ACESEF_PARAMS_HDVIDEOSHARE_VIDEO_ID="Add video ID" +ACESEF_PARAMS_HDVIDEOSHARE_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." + +; iJoomla RSS Feeder +ACESEF_PARAMS_IJOOMLA_RSS_READER_ID="Add reader ID" +ACESEF_PARAMS_IJOOMLA_RSS_READER_ID_HELP="If set to Yes, reader ID will be prepended to reader name." + +; jAwards +ACESEF_PARAMS_JAWARDS_AWARD_ID="Add award ID" +ACESEF_PARAMS_JAWARDS_AWARD_ID_HELP="If set to Yes, award ID will be prepended to award name." + +; News Feeds +ACESEF_PARAMS_NEWSFEED_PART_FEED="Feed URL part" +ACESEF_PARAMS_NEWSFEED_FEED_ID="Add feed ID" +ACESEF_PARAMS_NEWSFEED_FEED_ID_HELP="If set to Yes, feed ID will be prepended to feed name." + +; JHShop +ACESEF_PARAMS_JHSHOP_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_JHSHOP_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." +ACESEF_PARAMS_JHSHOP_INFORMATION_ID="Add information ID" +ACESEF_PARAMS_JHSHOP_INFORMATION_ID_HELP="If set to Yes, information ID will be prepended to information name." +ACESEF_PARAMS_JHSHOP_MANUFACTURER_ID="Add manufacturer ID" +ACESEF_PARAMS_JHSHOP_MANUFACTURER_ID_HELP="If set to Yes, manufacturer ID will be prepended to manufacturer name." +ACESEF_PARAMS_JHSHOP_ADDRESS_ID="Add address ID" +ACESEF_PARAMS_JHSHOP_ADDRESS_ID_HELP="If set to Yes, address ID will be prepended to address name." +ACESEF_PARAMS_JHSHOP_VENDOR_ID="Add vendor ID" +ACESEF_PARAMS_JHSHOP_VENDOR_ID_HELP="If set to Yes, vendor ID will be prepended to vendor name." + +; Joophone +ACESEF_PARAMS_JOOPHONE_PHONE_ID="Add phone ID" +ACESEF_PARAMS_JOOPHONE_PHONE_ID_HELP="If set to Yes, phone ID will be prepended to phone name." + +; Blogomunity p8pBB bridge +ACESEF_PARAMS_P8PBB_FORUM="Add forum to URL" +ACESEF_PARAMS_P8PBB_FORUM_HELP="Controls the way forums are added to URL." +ACESEF_PARAMS_P8PBB_FORUM_1="Only last one" +ACESEF_PARAMS_P8PBB_FORUM_2="All forums" +ACESEF_PARAMS_P8PBB_FORUM_ID="Add forum ID" +ACESEF_PARAMS_P8PBB_FORUM_ID_HELP="If set to Yes, forum ID will be prepended to forum name." +ACESEF_PARAMS_P8PBB_TOPIC_ID="Add topic ID" +ACESEF_PARAMS_P8PBB_TOPIC_ID_HELP="If set to Yes, topic ID will be prepended to topic name." +ACESEF_PARAMS_P8PBB_DB_DRIVER="Database driver" +ACESEF_PARAMS_P8PBB_DB_DRIVER_HELP="Driver of your database where phpBB3 is installed." +ACESEF_PARAMS_P8PBB_DB_HOST="Database host" +ACESEF_PARAMS_P8PBB_DB_HOST_HELP="Host of your database where phpBB3 is installed." +ACESEF_PARAMS_P8PBB_DB_USER="Database user" +ACESEF_PARAMS_P8PBB_DB_USER_HELP="User of your database where phpBB3 is installed." +ACESEF_PARAMS_P8PBB_DB_PASSWORD="Database password" +ACESEF_PARAMS_P8PBB_DB_PASSWORD_HELP="Password of your database where phpBB3 is installed." +ACESEF_PARAMS_P8PBB_DB_NAME="Database name" +ACESEF_PARAMS_P8PBB_DB_NAME_HELP="Name of your database where phpBB3 is installed." +ACESEF_PARAMS_P8PBB_DB_PREFIX="Database prefix" +ACESEF_PARAMS_P8PBB_DB_PREFIX_HELP="Prefix of your database where phpBB3 is installed." + +; JPhoto +ACESEF_PARAMS_JPHOTO_PART_GALLERY="Gallery URL part" +ACESEF_PARAMS_JPHOTO_PART_IMAGE="Image URL part" +ACESEF_PARAMS_JPHOTO_CATEGORY_HELP="If set to Yes, category name will be added before gallery / image name." +ACESEF_PARAMS_JPHOTO_GALLERY="Add gallery to URL" +ACESEF_PARAMS_JPHOTO_GALLERY_HELP="If set to Yes, gallery name will be added before image name." +ACESEF_PARAMS_JPHOTO_GALLERY_ID="Add gallery ID" +ACESEF_PARAMS_JPHOTO_GALLERY_ID_HELP="If set to Yes, gallery ID will be prepended to gallery name." +ACESEF_PARAMS_JPHOTO_IMAGE_ID="Add image ID" +ACESEF_PARAMS_JPHOTO_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." + +; JResearch +ACESEF_PARAMS_JRESEARCH_COOPERATION_ID="Add cooperation ID" +ACESEF_PARAMS_JRESEARCH_COOPERATION_ID_HELP="If set to Yes, cooperation ID will be prepended to cooperation name." +ACESEF_PARAMS_JRESEARCH_FACILITY_ID="Add facility ID" +ACESEF_PARAMS_JRESEARCH_FACILITY_ID_HELP="If set to Yes, facility ID will be prepended to facility name." +ACESEF_PARAMS_JRESEARCH_PUBLICATION_ID="Add publication ID" +ACESEF_PARAMS_JRESEARCH_PUBLICATION_ID_HELP="If set to Yes, publication ID will be prepended to publication name." +ACESEF_PARAMS_JRESEARCH_PROJECT_ID="Add project ID" +ACESEF_PARAMS_JRESEARCH_PROJECT_ID_HELP="If set to Yes, project ID will be prepended to project name." +ACESEF_PARAMS_JRESEARCH_SEARCHAREA_ID="Add search area ID" +ACESEF_PARAMS_JRESEARCH_SEARCHAREA_ID_HELP="If set to Yes, search area ID will be prepended to search area name." +ACESEF_PARAMS_JRESEARCH_TEAM_ID="Add team ID" +ACESEF_PARAMS_JRESEARCH_TEAM_ID_HELP="If set to Yes, team ID will be prepended to team name." +ACESEF_PARAMS_JRESEARCH_THESIS_ID="Add thesis ID" +ACESEF_PARAMS_JRESEARCH_THESIS_ID_HELP="If set to Yes, thesis ID will be prepended to thesis name." +ACESEF_PARAMS_JRESEARCH_MEMBER_ID="Add member ID" +ACESEF_PARAMS_JRESEARCH_MEMBER_ID_HELP="If set to Yes, member ID will be prepended to member name." + +; jVideoDirect +ACESEF_PARAMS_JVIDEODIRECT_VIDEO_ID="Add video ID" +ACESEF_PARAMS_JVIDEODIRECT_VIDEO_ID_HELP="If set to Yes, video ID will be prepended to video name." + +; JV-LinkDirectory +ACESEF_PARAMS_JVLINKDIRECTORY_LINK_ID="Add link ID" +ACESEF_PARAMS_JVLINKDIRECTORY_LINK_ID_HELP="If set to Yes, link ID will be prepended to link name." + +; JWallpapers +ACESEF_PARAMS_JWALLPAPERS_PART_PICTURE="Picture URL part" +ACESEF_PARAMS_JWALLPAPERS_PART_TAG="Tag URL part" +ACESEF_PARAMS_JWALLPAPERS_PICTURE_ID="Add picture ID" +ACESEF_PARAMS_JWALLPAPERS_PICTURE_ID_HELP="If set to Yes, picture ID will be prepended to picture name." +ACESEF_PARAMS_JWALLPAPERS_TAG_ID="Add tag ID" +ACESEF_PARAMS_JWALLPAPERS_TAG_ID_HELP="If set to Yes, tag ID will be prepended to tag name." + +; mmPortfolio +ACESEF_PARAMS_MMPORTFOLIO_IMAGE_ID="Add image ID" +ACESEF_PARAMS_MMPORTFOLIO_IMAGE_ID_HELP="If set to Yes, image ID will be prepended to image name." + +; redSHOP +ACESEF_PARAMS_REDSHOP_CATEGORY_SEF="Use category SEF URL" +ACESEF_PARAMS_REDSHOP_CATEGORY_SEF_HELP="Use SEF URL entered manually in category SEO tab." +ACESEF_PARAMS_REDSHOP_PRODUCT_SEF="Use product SEF URL" +ACESEF_PARAMS_REDSHOP_PRODUCT_SEF_HELP="Use SEF URL entered manually in product SEO tab." +ACESEF_PARAMS_REDSHOP_MANUFACTURER_SEF="Use manufacturer SEF URL" +ACESEF_PARAMS_REDSHOP_MANUFACTURER_SEF_HELP="Use SEF URL entered manually in manufacturer SEO tab." +ACESEF_PARAMS_REDSHOP_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_REDSHOP_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." +ACESEF_PARAMS_REDSHOP_MANUFACTURER_ID="Add manufacturer ID" +ACESEF_PARAMS_REDSHOP_MANUFACTURER_ID_HELP="If set to Yes, manufacturer ID will be prepended to manufacturer name." +ACESEF_PARAMS_REDSHOP_META_TITLE="Use redSHOP generated title" +ACESEF_PARAMS_REDSHOP_META_TITLE_HELP="Use redSHOP generated title instead of AceSEF." +ACESEF_PARAMS_REDSHOP_META_DESC="Use redSHOP generated description" +ACESEF_PARAMS_REDSHOP_META_DESC_HELP="Use redSHOP generated description instead of AceSEF." +ACESEF_PARAMS_REDSHOP_META_KEY="Use redSHOP generated keywords" +ACESEF_PARAMS_REDSHOP_META_KEY_HELP="Use redSHOP generated keywords instead of AceSEF." + +; Registration Pro +ACESEF_PARAMS_REGISTRATIONPRO_EVENT_ID="Add event ID" +ACESEF_PARAMS_REGISTRATIONPRO_EVENT_ID_HELP="If set to Yes, event ID will be prepended to event name." +ACESEF_PARAMS_REGISTRATIONPRO_REGISTER_ID="Add register ID" +ACESEF_PARAMS_REGISTRATIONPRO_REGISTER_ID_HELP="If set to Yes, register ID will be prepended to register name." + +; Spielothek +ACESEF_PARAMS_SPIELOTHEK_NAME="Name" +ACESEF_PARAMS_SPIELOTHEK_GAME_ID="Add game ID" +ACESEF_PARAMS_SPIELOTHEK_GAME_ID_HELP="If set to Yes, game ID will be prepended to game name." + +; Tienda +ACESEF_PARAMS_TIENDA_PART_PRODUCT="Product URL part" +ACESEF_PARAMS_TIENDA_PRODUCT_ID="Add product ID" +ACESEF_PARAMS_TIENDA_PRODUCT_ID_HELP="If set to Yes, product ID will be prepended to product name." +ACESEF_PARAMS_TIENDA_ADDRESS_ID="Add address ID" +ACESEF_PARAMS_TIENDA_ADDRESS_ID_HELP="If set to Yes, address ID will be prepended to address name." + +; Work Force +ACESEF_PARAMS_WORKFORCE_DEPARTMENT="Add department to URL" +ACESEF_PARAMS_WORKFORCE_DEPARTMENT_HELP="If set to Yes, department name will be added before employee name." +ACESEF_PARAMS_WORKFORCE_DEPARTMENT_ID="Add department ID" +ACESEF_PARAMS_WORKFORCE_DEPARTMENT_ID_HELP="If set to Yes, department ID will be prepended to department name." +ACESEF_PARAMS_WORKFORCE_EMPLOYEE_ID="Add employee ID" +ACESEF_PARAMS_WORKFORCE_EMPLOYEE_ID_HELP="If set to Yes, employee ID will be prepended to employee name." + +; ZJ Downloads +ACESEF_PARAMS_ZJDOWNLOADS_PART_DOCUMENT="Document URL part" +ACESEF_PARAMS_ZJDOWNLOADS_DOCUMENT_ID="Add document ID" +ACESEF_PARAMS_ZJDOWNLOADS_DOCUMENT_ID_HELP="If set to Yes, document ID will be prepended to document name." + +; Mochigames +ACESEF_PARAMS_MOCHIGAMES_PART_GAME="Game URL part" +ACESEF_PARAMS_MOCHIGAMES_SLUG="Slug" +ACESEF_PARAMS_MOCHIGAMES_GAME_ID="Add game ID" ACESEF_PARAMS_MOCHIGAMES_GAME_ID_HELP="If set to Yes, game ID will be prepended to game name." \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.ini index 2dd5ba70..2986dbb7 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.ini @@ -1,1123 +1,1123 @@ -; @version $Id$ -; @package sh404sef-1 -; @author Yannick Gaultier -; @copyright Copyright (C) 2014 Yannick Gaultier All rights reserved. -; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL - -COM_SH404SEF_404PAGE="404 Page" -COM_SH404SEF_ADD="Add" -COM_SH404SEF_ADDFILE="Default index file." -COM_SH404SEF_ASC=" (asc) " -COM_SH404SEF_BADURL="The Non-SEF Url must begin with index.php" -COM_SH404SEF_CHK_PERMS="Please check your file permissions and ensure that that this file can be read." -COM_SH404SEF_CONFIG="General" -COM_SH404SEF_CONFIG_DESC="Configure main sh404SEF functionalities. After changing settings on this page, you will most likely need to purge the SEF urls database, so that new urls are recreated in accordance with the new parameters you now use. This is done from the URL manager." -COM_SH404SEF_CONFIG_UPDATED="Configuration updated" -COM_SH404SEF_CONFIRM_ERASE_CACHE="Do you want to clear the URL cache ? This is highly recommended after changing configuration. To generate again the cache, you should browse again your homepage, or better : generate a sitemap for your site." -COM_SH404SEF_COPYRIGHT="Copyright" -COM_SH404SEF_DATEADD="Date Added" -COM_SH404SEF_DEBUG_DATA_DUMP="DEBUG DATA DUMP COMPLETE: Page Load Terminated" -COM_SH404SEF_DEF_404_MSG="

                Bad karma: we can't find that page!

                You asked for {%sh404SEF_404_URL%}, but despite our computers looking very hard, we could not find it. What happened ?

                • the link you clicked to arrive here has a typo in it
                • or somehow we removed that page, or gave it another name
                • or, quite unlikely for sure, maybe you typed it yourself and there was a little mistake ?

                {sh404sefSimilarUrlsCommentStart}It's not the end of everything though : you may be interested in the following pages on our site:{sh404sefSimilarUrlsCommentEnd}

                {sh404sefSimilarUrls}

                " -COM_SH404SEF_DEF_404_PAGE="Default 404 Page" -COM_SH404SEF_DESC=" (desc) " -COM_SH404SEF_EDIT="Edit" -COM_SH404SEF_EMPTYURL="You must provide a URL for the redirection." -COM_SH404SEF_ENABLED="Enabled" -COM_SH404SEF_ERROR_IMPORT="Error while importing:" -COM_SH404SEF_EXPORT="Backup Custom URLS" -COM_SH404SEF_EXPORT_FAILED="EXPORT FAILED!!!" -COM_SH404SEF_FATAL_ERROR_HEADERS="FATAL ERROR: HEADER ALREADY SENT" -COM_SH404SEF_FRIENDTRIM_CHAR="Trim friendly characters" -COM_SH404SEF_HELP="sh404SEF
                Support" -COM_SH404SEF_HELPDESC="Need help with sh404SEF?" -COM_SH404SEF_HELPVIA="Help is availible via the following forums:" -COM_SH404SEF_HIDE_CAT="Hide Category" -COM_SH404SEF_IMPORT="Import Custom URLS" -COM_SH404SEF_IMPORT_EXPORT="Import/Export URLS" -COM_SH404SEF_IMPORT_OK="Custom URLS were successfully imported!" -COM_SH404SEF_INFO="sh404SEF Documentation" -COM_SH404SEF_INFODESC="View sh404SEF Project Summary and Documentation" -COM_SH404SEF_INSTALLED_VERS="Installed version:" -COM_SH404SEF_INVALID_SQL="INVALID DATA IN SQL FILE :" -COM_SH404SEF_INVALID_URL="INVALID URL: this link requires a valid Itemid, but one was not found.
                SOLUTION: Create a menuitem for this item. You do not have to publish it, just create it." -COM_SH404SEF_LICENSE="License" -COM_SH404SEF_LOWER="All lowercase" -COM_SH404SEF_MAMBERS="Mambers Forum" -COM_SH404SEF_NO_UNLINK="Unable to remove uploaded file from media directory" -COM_SH404SEF_NOACCESS="Unable to access" -COM_SH404SEF_NOCACHE="Simple encoding" -COM_SH404SEF_NOLEADSLASH="The should be NO LEADING SLASH on the New SEF URL" -COM_SH404SEF_NOREAD="FATAL ERROR: Unable to read file " -COM_SH404SEF_NORECORDS="No records found." -COM_SH404SEF_OFFICIAL="Official Project Forum" -COM_SH404SEF_OK=" OK " -COM_SH404SEF_PAGEREP_CHAR="Page spacer character" -COM_SH404SEF_PAGETEXT="Page text" -COM_SH404SEF_PROCEED=" Proceed " -COM_SH404SEF_PURGE404="Purge 404 Logs" -COM_SH404SEF_PURGE404DESC="Purge 404 Logs" -COM_SH404SEF_PURGECUSTOM="Purge
                Custom Redirects" -COM_SH404SEF_PURGECUSTOMDESC="Purge Custom Redirects" -COM_SH404SEF_PURGEURL="Purge
                SEF Urls" -COM_SH404SEF_PURGEURLDESC="Purge SEF Urls" -COM_SH404SEF_REALURL="Real Url" -COM_SH404SEF_RECORD=" record" -COM_SH404SEF_RECORDS=" records" -COM_SH404SEF_REPLACE_CHAR="Replacement character" -COM_SH404SEF_SAVEAS="Save as Custom Redirect" -COM_SH404SEF_SEFURL="SEF Url" -COM_SH404SEF_SELECT_DELETE="Select an item to delete" -COM_SH404SEF_SELECT_FILE="Please select a file first" -COM_SH404SEF_ACTIVATE_IJOOMLA_MAG="Activate iJoomla magazine in content" -COM_SH404SEF_ADV_INSERT_ISO="Insert ISO code" -COM_SH404SEF_ADV_MANAGE_URL="URL processing" -COM_SH404SEF_ADV_TRANSLATE_URL="Translate URL" -COM_SH404SEF_ALWAYS_INSERT_ITEMID="Always append Itemid to SEF URL" -COM_SH404SEF_ALWAYS_INSERT_MENU_TITLE="Always insert menu title" -COM_SH404SEF_CACHE_TITLE="Cache management" -COM_SH404SEF_CAT_TABLE_SUFFIX="Table" -COM_SH404SEF_CB_INSERT_NAME="Insert Community Builder name" -COM_SH404SEF_CB_INSERT_USER_ID="Insert user ID" -COM_SH404SEF_CB_INSERT_USER_NAME="Insert user name" -COM_SH404SEF_CB_NAME="Default CB name" -COM_SH404SEF_CB_TITLE="Community Builder configuration " -COM_SH404SEF_CB_USE_USER_PSEUDO="Insert user pseudo" -COM_SH404SEF_CONF_TAB_ADVANCED="Advanced" -COM_SH404SEF_CONF_TAB_BY_COMPONENT="By component" -COM_SH404SEF_CONF_TAB_MAIN="Main" -COM_SH404SEF_CONF_TAB_PLUGINS="Plugins" -COM_SH404SEF_DEFAULT_MENU_ITEM_NAME="Default menu title" -COM_SH404SEF_DO_NOT_INSERT_LANGUAGE_CODE="Do not insert code" -COM_SH404SEF_DO_NOT_OVERRIDE_SEF_EXT="Use component or core plugin" -COM_SH404SEF_OVERRIDE_SEF_EXT="Use sh404sef plugin if available" -COM_SH404SEF_DO_NOT_TRANSLATE_URL="Do not translate" -COM_SH404SEF_ENCODE_URL="Encode URL" -COM_SH404SEF_FB_INSERT_CATEGORY_ID="Insert category ID" -COM_SH404SEF_FB_INSERT_CATEGORY_NAME="Insert category name" -COM_SH404SEF_FB_INSERT_MESSAGE_ID="Insert post ID" -COM_SH404SEF_FB_INSERT_MESSAGE_SUBJECT="Insert post subject" -COM_SH404SEF_FB_INSERT_NAME="Insert Kunena name" -COM_SH404SEF_FB_NAME="Default Kunena Name" -COM_SH404SEF_FB_TITLE="Kunena Configuration " -COM_SH404SEF_FILTER="Filter" -COM_SH404SEF_FORCE_NON_SEF_HTTPS="Force non sef if HTTPS" -COM_SH404SEF_GUESS_HOMEPAGE_ITEMID="Guess Itemid on homepage" -COM_SH404SEF_IJOOMLA_MAG_NAME="Default magazine name" -COM_SH404SEF_IJOOMLA_MAG_TITLE="iJoomla Magazine configuration" -COM_SH404SEF_INSERT_GLOBAL_ITEMID_IF_NONE="Insert menu Itemid if none" -COM_SH404SEF_INSERT_IJOOMLA_MAG_ARTICLE_ID="Insert article id in URL" -COM_SH404SEF_INSERT_IJOOMLA_MAG_ISSUE_ID="Insert issue id in URL" -COM_SH404SEF_INSERT_IJOOMLA_MAG_MAGAZINE_ID="Insert magazine id in URL" -COM_SH404SEF_INSERT_IJOOMLA_MAG_NAME="Insert magazine name in URL" -COM_SH404SEF_INSERT_LANGUAGE_CODE="Insert language code in URL" -COM_SH404SEF_INSERT_NUMERICAL_ID="Insert numerical id in URL" -COM_SH404SEF_INSERT_NUMERICAL_ID_ALL_CAT="All categories" -COM_SH404SEF_INSERT_NUMERICAL_ID_CAT_LIST="Apply to which categories" -COM_SH404SEF_INSERT_NUMERICAL_ID_TITLE="Unique ID" -COM_SH404SEF_INSERT_PRODUCT_ID="Insert product ID in URL" -COM_SH404SEF_INSERT_TITLE_IF_NO_ITEMID="Insert menu title if no Itemid" -COM_SH404SEF_ITEMID_TITLE="Itemid management" -COM_SH404SEF_LETTERMAN_DEFAULT_ITEMID="Default Itemid for Letterman page" -COM_SH404SEF_LETTERMAN_TITLE="Letterman configuration " -COM_SH404SEF_LIVE_SECURE_SITE="SSL secure URL" -COM_SH404SEF_LOG_404_ERRORS="Log 404 errors" -COM_SH404SEF_MAX_URL_IN_CACHE="Cache size" -COM_SH404SEF_REDIR_404="404" -COM_SH404SEF_REDIR_CUSTOM="Custom" -COM_SH404SEF_REDIR_SEF="SEF" -COM_SH404SEF_REDIR_TOTAL="Total" -COM_SH404SEF_REDIRECT_JOOMLA_SEF_TO_SEF="301 redirect from JOOMLA SEF to sh404SEF" -COM_SH404SEF_REDIRECT_NON_SEF_TO_SEF="301 redirect from non-sef to sef URL" -COM_SH404SEF_REPLACEMENTS="Character replacements list" -COM_SH404SEF_SHOP_NAME="Default shop name" -COM_SH404SEF_TRANSLATE_URL="Translate URL" -COM_SH404SEF_TRANSLATION_TITLE="Translation management" -COM_SH404SEF_USE_URL_CACHE="Activate URL cache" -COM_SH404SEF_VM_ADDITIONAL_TEXT="Additionnal text" -COM_SH404SEF_VM_DO_NOT_SHOW_CATEGORIES="None" -COM_SH404SEF_VM_INSERT_CATEGORIES="Insert categories" -COM_SH404SEF_VM_INSERT_CATEGORY_ID="Insert category ID in URL" -COM_SH404SEF_VM_INSERT_FLYPAGE="Insert flypage name" -COM_SH404SEF_VM_INSERT_MANUFACTURER_ID="Insert manufacturer ID" -COM_SH404SEF_VM_INSERT_MANUFACTURER_NAME="Insert manufacturer name in URL" -COM_SH404SEF_VM_INSERT_SHOP_NAME="Insert shop name in URL" -COM_SH404SEF_VM_SHOW_ALL_CATEGORIES="All nested categories" -COM_SH404SEF_VM_SHOW_LAST_CATEGORY="Only last one" -COM_SH404SEF_VM_TITLE="VirtueMart configuration" -COM_SH404SEF_VM_USE_PRODUCT_SKU="Use product SKU for name" -COM_SH404SEF_SHOW0="Show SEF Urls" -COM_SH404SEF_SHOW1="Show 404 Log" -COM_SH404SEF_SHOW2="Show Custom Redirects" -COM_SH404SEF_SKIP="Leave as non-sef" -COM_SH404SEF_SORTBY="Sort by:" -COM_SH404SEF_STRANGE="Something strange has occured. This should not happen
                " -COM_SH404SEF_STRIP_CHAR="Strip characters" -COM_SH404SEF_SUCCESSPURGE="Successfully purged records" -COM_SH404SEF_SUFFIX="File suffix" -COM_SH404SEF_SUPPORT="Support
                WebSite" -COM_SH404SEF_SUPPORTDESC="Connect to the sh404SEF website (new window)" -COM_SH404SEF_TITLE_ADV="Advanced Component Configuration" -COM_SH404SEF_TITLE_BASIC="Basic Configuration" -COM_SH404SEF_TITLE_CONFIG="sh404SEF Configuration" -COM_SH404SEF_TITLE_MANAGER="sh404SEF URL Manager" -COM_SH404SEF_TITLE_PURGE="sh404SEF Purge Database" -COM_SH404SEF_TITLE_SUPPORT="sh404SEF Support" -COM_SH404SEF_TT_ADDFILE="File name to place after a blank url / when no file exists. Useful for bots that crawl your site looking for a specific file in that place but returns a 404 because there is none there." -COM_SH404SEF_TT_ADV4="Advanced Options for " -COM_SH404SEF_TT_ENABLED="If set to No the default SEF for Joomla will be used" -COM_SH404SEF_TT_FRIENDTRIM_CHAR="Characters to trim from around the URL, separate with |. Warning: if you change this from its default value, make sure to not leave it empty. At least use a space. Due to a small bug in Joomla, this cannot be left empty." -COM_SH404SEF_TT_LOWER="Convert all characters to lowercase characters in the URL" -COM_SH404SEF_TT_PAGEREP_CHAR="Character to use to space page numbers away from the rest of the URL" -COM_SH404SEF_TT_PAGETEXT="Text to append to url for multiple pages. Use %s to insert page number, by default it will be at end. If a suffix is defined, it will be added to the end of this string." -COM_SH404SEF_TT_REPLACE_CHAR="Character to use to replace unknown characters in URL" -COM_SH404SEF_TT_ACTIVATE_IJOOMLA_MAG="If set to Yes, the ed parameter if passed to the com_content component will be interpreted as the iJoomla magazine edition id." -COM_SH404SEF_TT_ADV_INSERT_ISO="For each component installed, and if your site is multi-lingual, choose to insert or not the target language ISO code in the SEF URL. For instance : www.monsite.com/fr/introduction.html. fr stands for french. This code will not be inserted in default language URL." -COM_SH404SEF_TT_ADV_MANAGE_URL="For each component installed:
                use default handler
                process normally, if an SEF Advanced extension is present it will be used instead.
                Simple encoding
                do not store in DB and create old style SEF URLs
                Leave as non-sef
                do not make SEF urls for this component
                use Joomla! router
                Use Joomla! routing system, without storing urls in database. Some features will not work in this mode, such as Itemid management" -COM_SH404SEF_TT_ADV_OVERRIDE_SEF="Some components come with their own sef_ext files intended for use with Joomla SEF, OpenSEF or SEF Advanced. If this parameter is on (Override sef_ext), this extension file will not be used, and sh404SEF own plugin will be used instead (assuming there is one for that particular component). If not, then the component’s own sef_ext file will be used." -COM_SH404SEF_TT_ADV_TRANSLATE_URL="For each component installed, select if URL should be translated. No effect if site has only one language." -COM_SH404SEF_TT_ALWAYS_INSERT_ITEMID="If set to yes, the non-sef Itemid (or the current menu item Itemid if none is set in the non-sef URL) will be appended to the SEF URL. This should be used instead of Always insert menu title parameter, if you have several menu items with the same title (as if one in main menu and one in top menu for instance)" -COM_SH404SEF_TT_ALWAYS_INSERT_MENU_TITLE="If set to yes, the menu item title corresponding to the Itemid set up in the non-sef URL, or the current menu item title if no Itemid is set, will be inserted in the SEF URL." -COM_SH404SEF_TT_CB_INSERT_NAME="If set to Yes, the menu element title leading to Community Builder main page will be prepended to all CB SEF URL" -COM_SH404SEF_TT_CB_INSERT_USER_ID="If set to Yes, user ID will be prepended to its name whe previous option is also set to Yes, just in case two users have the same name." -COM_SH404SEF_TT_CB_INSERT_USER_NAME="If set to Yes, user name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users. If set to No, the user id will be used instead, using regular format : ..../send-user-email.html?user=245" -COM_SH404SEF_TT_CB_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." -COM_SH404SEF_TT_CB_USE_USER_PSEUDO="If set to Yes, the user pseudo will be inserted in SEF URL, if you have activated this option above, instead of its actual name." -COM_SH404SEF_TT_DEFAULT_MENU_ITEM_NAME="When the above parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance" -COM_SH404SEF_TT_ENCODE_URL="If set to Yes, URL will be encoded so as to be compatible with languages having non-latin characters. Encoded URL will look like : mysite.com/%34%56%E8%67%12....." -COM_SH404SEF_TT_FB_INSERT_CATEGORY_ID="If set to Yes, category ID will be prepended to its name whe previous option is also set to Yes, just in case two categories have the same name." -COM_SH404SEF_TT_FB_INSERT_CATEGORY_NAME="If set to Yes, the category name will be inserted into all SEF links to a post or a category" -COM_SH404SEF_TT_FB_INSERT_MESSAGE_ID="If set to Yes, each post ID will be prepended to its subject whe previous option is also set to Yes, just in case two posts have the same subject." -COM_SH404SEF_TT_FB_INSERT_MESSAGE_SUBJECT="If set to Yes, each post subject will be inserted in the SEF url leading to this post " -COM_SH404SEF_TT_FB_INSERT_NAME="If set to Yes, the menu element title leading to Kunena main page will be prepended to all Kunena SEF URL" -COM_SH404SEF_TT_FB_NAME="If set to yes, Kunena name (as defined by Kunena menu item title) will allways be prepended to SEF URL." -COM_SH404SEF_TT_FORCE_NON_SEF_HTTPS="If set to Yes, URL will be forced to non sef after switching to SSL mode(HTTPS). This allows operation with some shared SSL servers causing problems otherwise." -COM_SH404SEF_TT_GUESS_HOMEPAGE_ITEMID="If set to yes, and on homepage only, Itemid of com_content URLs will be removed and replaced by the one sh404SEF guestimates. This is useful when some content elements can be viewed on the frontpage (in blog view for instance), and also on other pages on the site." -COM_SH404SEF_TT_IJOOMLA_MAG_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance" -COM_SH404SEF_TT_INSERT_GLOBAL_ITEMID_IF_NONE="If no Itemid is set in the non-sef URL before it is turned into an SEF one, and you set this option to true, the curent menu item Itemid will be added to it. This will ensure that, if clicked, the link will stay on the same page (ie: same modules displayed)" -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ARTICLE_ID="If set to Yes, article ID will be prepended to each article title inserted in an URL, as in :
                mysite.com/Joomla-magazine/56-Good-article-title.html" -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ISSUE_ID="If set to Yes, the issue unique internal id will be prepended to each issue name, to make sure it is unique." -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_MAGAZINE_ID="If set to Yes, magazine ID will be prepended to each magazine name inserted in an URL, as in :
                mysite.com/4-Joomla-magazine/Good-article-title.html" -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_NAME="If set to yes, magazine name (as defined by magazine menu item title) will allways be prepended to SEF URL" -COM_SH404SEF_TT_INSERT_NUMERICAL_ID="If set to Yes, a numerical id will be added to the URL, in order to facilitate inclusion in services such as Google news. The id will follow this format : 2007041100000, where 20070411 is date of creation and 00000 is internal unique id of the content element. You should finally set the date of creation when your content is ready for publishing. Please be aware that you should not change it afterwards." -COM_SH404SEF_TT_INSERT_NUMERICAL_ID_CAT_LIST="Numerical id will be inserted in sef URLs of content elements found in onl y those categories listed here. You can select multiple categories by pressing and holding the CTRL key before clicking on a category name." -COM_SH404SEF_TT_INSERT_PRODUCT_ID="If set to Yes, product ID will be prepended to product name in the SEF URL
                For instance : mysite.com/3-my-very-nice-product.html.
                This is useful if you do not insert all categories names in URL, as several products may have same name, in various categories. Please note that this is not the product SKU, but rather the internal product id, which is always unique." -COM_SH404SEF_TT_INSERT_TITLE_IF_NO_ITEMID="If no Itemid is set in the non-sef URL before it is turned into an SEF one, and you set this option to true, the current menu item title will be inserted in the SEF URL. This should be set to true if above parameter is also set to true, as this will prevent -2, -3, -... to be appended to the SEF URL if an article is viewed from different locations" -COM_SH404SEF_TT_LETTERMAN_DEFAULT_ITEMID="Enter Itemid of page to be inserted in Letterman links (unsubscribe, confirmation messages, ..." -COM_SH404SEF_TT_LIVE_SECURE_SITE="Set this to the full base URL of your site when in SSL mode.
                Required only if you use https access. If not set, will default to httpS://normalSiteURL.
                Please enter full url, without any trailing slash. Example : https://www.mysite.com or https://sharedsslserveur.com/myaccount." -COM_SH404SEF_TT_LOG_404_ERRORS="If set to Yes, 404 errors will be logged to database. This may help you find errors within your site links. It may also use up uneeded database space, so you can probably disable i when your site has been well tested." -COM_SH404SEF_TT_MAX_URL_IN_CACHE="When URL cache is activated, this parameter sets its maximum size. Enter the maximum number of URL that can be stored in the cache (additional URL will be processed, but not stored in cache, so loading time will be higher). Roughly speaking, each URL is worth around 200 bytes (100 for the SEF URL and 100 for the non-sef URL). So, for instance, 5000 URLs will use about 1 Mb of memory." -COM_SH404SEF_TT_REDIRECT_JOOMLA_SEF_TO_SEF="If set to Yes, sh404sef will try to redirect JOOMLA standard SEF url to their sh404SEF equivalent, if any in the database. If it does not exists, it will be created on the fly, unless there is some POST data, in which case nothing happens. Warning: this feature will work in most cases, but may give bad redirects for some Joomla SEF URL. Leave off if possible." -COM_SH404SEF_TT_REDIRECT_NON_SEF_TO_SEF="If set to Yes, non-sef URL already existing in the DB will be redirected to their SEF counterpart, using a 301 - Moved permanently redirection. If the SEF URL does not exist, it will be created, except if there are some POST data passed in the page request." -COM_SH404SEF_TT_REPLACEMENTS="Characters non accepted in URL, such as non-latin or accented, can be replaced as per this replacement table.
                Format is xxx | yyy for each replacement rule. xxx is the character to be replaced, whereas yyy is the new character.
                There can be many of this rules, separated by commas (,). Between the old character and the new one, use a | character.
                Note also that xxx or yyy can be multiple characters, such as in Å’|oe " -COM_SH404SEF_TT_SHOP_NAME="When the above parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance" -COM_SH404SEF_TT_TRANSLATE_URL="If activated, and site is multi-lingual, SEF URL elements will be translated to the visitor language, as decided by Joomfish. If de-activated, URL will always be in default language of site. Not used if site is not multi-lingual." -COM_SH404SEF_TT_USE_URL_CACHE="If activated, SEF URL will be written to an in-memory cache, which will improve page load time significantly. This will however use up memory!" -COM_SH404SEF_TT_VM_ADDITIONAL_TEXT="If set to Yes, an additional text will be appended to browse categories URL. For instance : ..../category-A/View-all-products.html VS ..../category-A/ ." -COM_SH404SEF_TT_VM_INSERT_CATEGORIES="If set to None, no category name will be inserted in a URL leading to a product display, as in :
                mysite.com/joomla-cms.html
                If set to Only last one, the name of the category to which the product belongs will be inserted in the SEF URL, as in :
                mysite.com/joomla/joomla-cms.html
                If set to All nested categories, the names of all categories to which the product belongs will be added, as in :
                mysite.com/software/cms/joomla/joomla-cms.html" -COM_SH404SEF_TT_VM_INSERT_CATEGORY_ID="If set to Yes, category ID will be prepended to each category name inserted in an URL leading to a product, as in :
                mysite.com/1-software/4-cms/1-joomla/joomla-cms.html" -COM_SH404SEF_TT_VM_INSERT_FLYPAGE="If set to Yes, the flypage name will be inserted in the URL leading to a product details. Can be deactivated if you use only one flypage." -COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_ID="If set to Yes, manufacturer ID will be prepended to manufacturer name in the SEF URL
                For instance : mysite.com/6-manufacturer-name/3-my-very-nice-product.html." -COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_NAME="If set to Yes, manufacturer name, if any, will be inserted in SEF URL leading to a product.
                For instance : mysite.com/manufacturer-name/product-name.html" -COM_SH404SEF_TT_VM_INSERT_SHOP_NAME="If set to yes, shop name (as defined by shop menu item title) will allways be prepended to SEF URL" -COM_SH404SEF_TT_VM_USE_PRODUCT_SKU="If set to Yes, product SKU, the product code you enter for each product, will be used instead of the product full name." -COM_SH404SEF_TT_STRIP_CHAR="Characters to strip from the URL, separate with |" -COM_SH404SEF_TT_SUFFIX="Extension to use for 'files'. Leave blank to disable. A common entry here is 'html'." -COM_SH404SEF_TT_USE_ALIAS="Set to yes to use the title_alias instead of title in the URL" -COM_SH404SEF_UNWRITEABLE=" Unwriteable" -COM_SH404SEF_UPLOAD_OK="File was successfully uploaded" -COM_SH404SEF_URLEXIST="This URL already exists in the database!" -COM_SH404SEF_USE_ALIAS="Use Title Alias" -COM_SH404SEF_USE_DEFAULT="(use default handler)" -COM_SH404SEF_USING_DEFAULT=" Using Default Values" -COM_SH404SEF_VIEW404="View/Edit
                404 Logs" -COM_SH404SEF_VIEW404DESC="This page will show you a list of requests made to your web site by users that ended up being for a non-existing page. You'll be able to purge those records - after carefully cheching whether they result from simple typos or possibly from broken links on your sites" -COM_SH404SEF_VIEWCUSTOM="View/Edit
                Custom Redirects" -COM_SH404SEF_VIEWCUSTOMDESC="View/Edit Custom Redirects" -COM_SH404SEF_VIEWMODE="ViewMode:" -COM_SH404SEF_VIEWURL="URL manager" -COM_SH404SEF_VIEWURLDESC="This page will show you a list of all your SEF urls, with all details about them. That's where you want to go to either customize or delete some SEF urls. From there, you'll also be able to set page titles and meta tags, create aliases, manage non-sef url duplication, and purge some or all urls in the database" -COM_SH404SEF_WARNDELETE="WARNING!!! You are about to delete " -COM_SH404SEF_WRITE_ERROR="Error writing config" -COM_SH404SEF_WRITE_FAILED="Unable to write uploaded file to tmp directory" -COM_SH404SEF_WRITEABLE=" Writeable" -COM_SH404SEF_DOCMAN_TITLE="DOCMan configuration" -COM_SH404SEF_DOCMAN_INSERT_NAME="Insert DOCMan name" -COM_SH404SEF_TT_DOCMAN_INSERT_NAME="If set to Yes, the menu element title leading to DOCMan main page will be prepended to all DOCMan SEF URL" -COM_SH404SEF_DOCMAN_NAME="Default DOCMan name" -COM_SH404SEF_TT_DOCMAN_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." -COM_SH404SEF_DOCMAN_INSERT_DOC_ID="Insert document ID" -COM_SH404SEF_TT_DOCMAN_INSERT_DOC_ID="If set to Yes, document ID will be prepended to a document name, which is needed in case some documents have identical names." -COM_SH404SEF_DOCMAN_INSERT_DOC_NAME="Insert document name" -COM_SH404SEF_TT_DOCMAN_INSERT_DOC_NAME="If set to Yes, a document name will be inserted in all SEF URL leading to an action on this document" -COM_SH404SEF_MYBLOG_TITLE="MyBlog Configuration" -COM_SH404SEF_MYBLOG_INSERT_NAME="Insert MyBlog name" -COM_SH404SEF_TT_MYBLOG_INSERT_NAME="If set to Yes, the menu element title leading to MyBlog main page will be prepended to all MyBlog SEF URL" -COM_SH404SEF_MYBLOG_NAME="Default Myblog name" -COM_SH404SEF_TT_MYBLOG_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." -COM_SH404SEF_MYBLOG_INSERT_POST_ID="Insert post ID" -COM_SH404SEF_TT_MYBLOG_INSERT_POST_ID="If set to Yes, internal post ID will be prepended to the post title, which is needed in case several posts have identical titles." -COM_SH404SEF_MYBLOG_INSERT_TAG_ID="Insert tag id" -COM_SH404SEF_TT_MYBLOG_INSERT_TAG_ID="If set to Yes, internal tag ID will be prepended to the tag name, which is needed in case several tags are identical, or in case of interference with other a category name." -COM_SH404SEF_MYBLOG_INSERT_BLOGGER_ID="Insert blogger id" -COM_SH404SEF_TT_MYBLOG_INSERT_BLOGGER_ID="If set to Yes, internal blogger ID will be prepended to the blogger name, which is needed in case several bloggers have the same name." -COM_SH404SEF_RW_MODE_NORMAL="with .htaccess (mod_rewrite)" -COM_SH404SEF_RW_MODE_INDEXPHP="without .htaccess (index.php)" -COM_SH404SEF_RW_MODE_INDEXPHP2="without .htaccess (index.php?)" -COM_SH404SEF_SELECT_REWRITE_MODE="Rewriting mode" -COM_SH404SEF_TT_SELECT_REWRITE_MODE="Select a rewriting mode for sh404SEF.
                with .htaccess (mod_rewrite)
                Default mode : you must have a .htacces file, properly configured to match your server configuration
                without .htaccess (index.php)
                You don’t need a .htaccess file. This mode uses the PathInfo function of Apache servers. URLs will have an added /index.php/ bit at the beginning. It is not impossible that IIS servers also accept these URLS
                " -COM_SH404SEF_RECORD_DUPLICATES="Record duplicated URL" -COM_SH404SEF_TT_RECORD_DUPLICATES="If set to Yes, sh404SEF will record in the DB all non sef URL that yield the same SEF url. This will aloow you to choose which one you prefer, using the Manage Duplicates function on the SEF URL display list." -COM_SH404SEF_META_TITLE="Page title" -COM_SH404SEF_TT_META_TITLE="Enter the text to be inserted in the META Title tag for currently selected URL." -COM_SH404SEF_META_DESC="Description tag" -COM_SH404SEF_TT_META_DESC="Enter the text to be inserted in the META Description tag for currently selected URL." -COM_SH404SEF_META_KEYWORDS="Keywords tag" -COM_SH404SEF_TT_META_KEYWORDS="Enter the text to be inserted in the META keywords tag for currently selected URL. Every words or group of words must be comma separated." -COM_SH404SEF_META_ROBOTS="Robots tag" -COM_SH404SEF_TT_META_ROBOTS="Enter the text to be inserted in the META Robots tag for currently selected URL. This tag tells search engines whether they must follow links on the current page, and what to do with the content of this current page. Common values :
                INDEX,FOLLOW : index current page content, and follow all links found on the page
                INDEX,NO FOLLOW : index current page content, but do not follow links found within the page
                NO INDEX, NO FOLLOW : do not index the current page content, and do not follow links found within the page
                " -COM_SH404SEF_META_LANG="Language tag" -COM_SH404SEF_TT_META_LANG="Enter the text to be inserted in the META http-equiv= Content-Language tag for currently selected URL. " -COM_SH404SEF_CONF_TAB_META="Meta/SEO" -COM_SH404SEF_CONF_META_DOC="sh404SEF has several plugins to automatically create page title and description tags for some components. More plugins can be created by third-parties developers, when automatic meta tags creation is possible. If no plugin is supplied for a given extensions, it is usually better to either manually customize tags, or leave them empty.
                " -COM_SH404SEF_REMOVE_JOOMLA_GENERATOR="Remove Joomla Generator tag" -COM_SH404SEF_TT_REMOVE_JOOMLA_GENERATOR="If set to Yes, the Generator = Joomla meta tag will be removed from all pages." -COM_SH404SEF_PUT_H1_TAG="Insert h1 tags" -COM_SH404SEF_TT_PUT_H1_TAG="If set to Yes, regular content titles will be placed within h1 tags. These titles are normally placed by Joomla in a CSS class which name begins with contentheading." -COM_SH404SEF_META_MANAGEMENT_ACTIVATED="Activate SEO management" -COM_SH404SEF_TT_META_MANAGEMENT_ACTIVATED="If set to Yes, Title, Description, Keywords, Robots and Language META tags will be managed by sh404SEF. Otherwise, original values produced by Joomla and/or other components will be left untouched. " -COM_SH404SEF_TITLE_META_MANAGEMENT="SEO management" -COM_SH404SEF_META_EDIT="Modify tags" -COM_SH404SEF_META_ADD="Add tags" -COM_SH404SEF_META_TAGS="Title and metas manager" -COM_SH404SEF_META_TAGS_DESC="Create/modify Meta tags" -COM_SH404SEF_PURGE_META_DESC="Purge meta tags" -COM_SH404SEF_PURGE_META="Delete META" -COM_SH404SEF_IMPORT_EXPORT_META="Import/ export META" -COM_SH404SEF_NEW_META="New META" -COM_SH404SEF_NEWURL_META="Non SEF url" -COM_SH404SEF_TT_NEWURL_META="Enter the non SEF URL for which you whish to set Meta tags. WARNING: it must starts with by index.php!" -COM_SH404SEF_BAD_META="Please check your data: some input is not valid." -COM_SH404SEF_META_TITLE_PURGE="Erase Meta tags" -COM_SH404SEF_META_SUCCESS_PURGE="Meta tags erased" -COM_SH404SEF_IMPORT_META="Import Meta tags" -COM_SH404SEF_EXPORT_META="Export Meta tags" -COM_SH404SEF_IMPORT_META_OK="Meta tags successfully imported" -COM_SH404SEF_SELECT_ONE_URL="Please select one (and only one) URL." -COM_SH404SEF_MANAGE_DUPLICATES="URL management for : " -COM_SH404SEF_MANAGE_DUPLICATES_RANK="Rank" -COM_SH404SEF_MANAGE_DUPLICATES_BUTTON="Duplicate URL" -COM_SH404SEF_MANAGE_MAKE_MAIN_URL="Main URL" -COM_SH404SEF_BAD_DUPLICATES_DATA="Error : invalid URL data" -COM_SH404SEF_BAD_DUPLICATES_NOTHING_TO_DO="This URL is already the main URL" -COM_SH404SEF_MAKE_MAIN_URL_OK="Operation successfully completed" -COM_SH404SEF_MAKE_MAIN_URL_ERROR="An error occured, operation failure" -COM_SH404SEF_CONTENT_TITLE="Content configuration" -COM_SH404SEF_INSERT_CONTENT_TABLE_NAME="Insert content table name" -COM_SH404SEF_TT_INSERT_CONTENT_TABLE_NAME="If set to Yes, the menu element title leading to a table of articles (category or section) will be prepended to its SEF URL. This allow segragating table display from blog displays." -COM_SH404SEF_CONTENT_TABLE_NAME="Default table views name" -COM_SH404SEF_TT_CONTENT_TABLE_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." -COM_SH404SEF_REDIRECT_WWW="301 redirect www/non-www" -COM_SH404SEF_TT_REDIRECT_WWW="Select whether sh404SEF should perform a 301 redirect when your site is accessed from a wrong url. It is recommended to switch this on. You can select either with or without www as your preferred setting, but always use only one version of your site URL. Will prevent duplicate content penalties, and some issues depending on your Apache server config, as well as problems with Joomla (WYSYWIG editors).
                " -COM_SH404SEF_INSERT_PRODUCT_NAME="Insert product name" -COM_SH404SEF_TT_INSERT_PRODUCT_NAME="If set to Yes, product name will be inserted in URL" -COM_SH404SEF_VM_USE_PRODUCT_SKU_124S="Insert product code" -COM_SH404SEF_TT_VM_USE_PRODUCT_SKU_124S="If set to Yes, product code (called SKU in VirtueMart) will be inserted in URL." -COM_SH404SEF_DOCMAN_INSERT_CAT_ID="Insert category id" -COM_SH404SEF_TT_DOCMAN_INSERT_CAT_ID="If set to Yes, category ID will be prepended to its name when previous option is also set to Yes, just in case two categories have the same name." -COM_SH404SEF_DOCMAN_INSERT_CATEGORIES="Insert category name" -COM_SH404SEF_TT_DOCMAN_INSERT_CATEGORIES="If set to None, no category name will be inserted in URL, as in :
                mysite.com/joomla-cms.html
                If set to Only last one, the category name will be inserted in the SEF URL, as in :
                mysite.com/joomla/joomla-cms.html
                If set to All nested categories, the names of all categories will be added, as in :
                mysite.com/software/cms/joomla/joomla-cms.html" -COM_SH404SEF_FORCED_HOMEPAGE="Home page URL" -COM_SH404SEF_TT_FORCED_HOMEPAGE="You can enter here a forced home page URL. Useful if you have setup a ’splash page’ usually a index.html file, which is displayed when you browse http://www.mysite.com. If so, type the following URL: http://www.mysite.com/index.php (no trailing /), so that the Joomla site is displayed when the Home link of main menu or pathway is clicked" -COM_SH404SEF_INSERT_CONTENT_BLOG_NAME="Insert blog view name" -COM_SH404SEF_TT_INSERT_CONTENT_BLOG_NAME="If set to Yes, the menu element title leading to a blog of articles (category or section) will be prepended to its SEF URL. This allow segregating table displays from blog displays." -COM_SH404SEF_CONTENT_BLOG_NAME="Default blog views name" -COM_SH404SEF_TT_CONTENT_BLOG_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." -COM_SH404SEF_MTREE_TITLE="Mosets TreeConfiguration" -COM_SH404SEF_MTREE_INSERT_NAME="Insert MTree name" -COM_SH404SEF_TT_MTREE_INSERT_NAME="If set to Yes, the menu element title leading to Mosets Tree will be prepended to its SEF URL." -COM_SH404SEF_MTREE_NAME="Default MTree name" -COM_SH404SEF_MTREE_INSERT_LISTING_ID="Insert listing ID" -COM_SH404SEF_TT_MTREE_INSERT_LISTING_ID="If set to Yes, a listing ID will be prepended to its name, just in case two listings have the same name." -COM_SH404SEF_MTREE_PREPEND_LISTING_ID="Prepend ID to name" -COM_SH404SEF_TT_MTREE_PREPEND_LISTING_ID="If set to Yes, when previous option is also set to Yes, the ID will be prepended to the listing name. If set to No, it will be appended." -COM_SH404SEF_MTREE_INSERT_LISTING_NAME="Insert listing name" -COM_SH404SEF_TT_MTREE_INSERT_LISTING_NAME="If set to Yes, a listing name will be inserted in all URL leading to an action on this listing." -COM_SH404SEF_IJOOMLA_NEWSP_TITLE="News Portal configuration" -COM_SH404SEF_INSERT_IJOOMLA_NEWSP_NAME="Insert News Portal name" -COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_NAME="If set to Yes, the menu element title leading to iJoomla News Portal will be prepended to its SEF URL." -COM_SH404SEF_IJOOMLA_NEWSP_NAME="Default News Portal name" -COM_SH404SEF_INSERT_IJOOMLA_NEWSP_CAT_ID="Insert category ID" -COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_CAT_ID="If set to Yes, a category ID will be prepended to its name, just in case two listings have the same name." -COM_SH404SEF_INSERT_IJOOMLA_NEWSP_SECTION_ID="Insert section ID" -COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_SECTION_ID="If set to Yes, a category ID will be prepended to its name, just in case two listings have the same name." -COM_SH404SEF_REMO_TITLE="Remository configuration" -COM_SH404SEF_REMO_INSERT_NAME="Insert Remository name" -COM_SH404SEF_TT_REMO_INSERT_NAME="If set to Yes, the menu element title leading to Remository will be prepended to its SEF URL." -COM_SH404SEF_REMO_NAME="Default Remository name" -COM_SH404SEF_CB_SHORT_USER_URL="Short URL to user profile" -COM_SH404SEF_TT_CB_SHORT_USER_URL="If set to Yes, a user will be able to access his/her profile through a short URL, similar to www.mysite.com/username. Before activating this option, make sure this will not generate any conflict with existing URL in the site." -COM_SH404SEF_NEW_HOME_META="Home page Meta" -COM_SH404SEF_CONF_ERASE_HOME_META="Do you really want to delete home page title and meta tags ?" -COM_SH404SEF_UPGRADE_TITLE="Upgrade configuration" -COM_SH404SEF_UPGRADE_KEEP_URL="Preserve automatic URL" -COM_SH404SEF_TT_UPGRADE_KEEP_URL="If set to Yes, SEF URL automatically generated by sh40SEF will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." -COM_SH404SEF_UPGRADE_KEEP_CUSTOM="Preserve custom URL, aliases, shURLs" -COM_SH404SEF_TT_UPGRADE_KEEP_CUSTOM="If set to Yes, custom SEF URL you may have entered will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." -COM_SH404SEF_UPGRADE_KEEP_META="Preserve Title and meta" -COM_SH404SEF_TT_UPGRADE_KEEP_META="If set to Yes, custom Title and Meta tags you may have entered will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." -COM_SH404SEF_UPGRADE_KEEP_MODULES="Preserve modules parameters" -COM_SH404SEF_TT_UPGRADE_KEEP_MODULES="If set to Yes, current publication parameters like position, order, titles, etc of shJoomfish and shCustomtags modules will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." -COM_SH404SEF_IMPORT_OPEN_SEF="Import redirections from OpenSEF" -COM_SH404SEF_IMPORT_ALL="Import redirections" -COM_SH404SEF_EXPORT_ALL="Export redirections" -COM_SH404SEF_IMPORT_EXPORT_CUSTOM="Import/Export custom redirections" -COM_SH404SEF_DUPLICATE_NOT_ALLOWED="This URL already exists, while you have not allowed duplicate URL" -COM_SH404SEF_INSERT_CONTENT_MULTIPAGES_TITLE="Activate multipage article smart titles" -COM_SH404SEF_TT_INSERT_CONTENT_MULTIPAGES_TITLE="If set to Yes, for multi-pages article (those with a Table of content), sh404SEF will use the page titles inserted using the mospagebreak command : {mospagebreak title=Next_Page_Title & heading=Previous_Page_Title}, instead of the page number
                For instance, a SEF URL similar to www.mysite.com/user-documentation/Page-2.html will now be replaced by www.mysite.com/user-documentation/Getting-started-with-sh404SEF.html." -COM_SH404SEF_UPGRADE_KEEP_CONFIG="Preserve configuration" -COM_SH404SEF_TT_UPGRADE_KEEP_CONFIG="If set to Yes, all configuration parameters will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." -COM_SH404SEF_CONF_TAB_SECURITY="Security" -COM_SH404SEF_SECURITY_TITLE="Security" -COM_SH404SEF_HONEYPOT_TITLE="Project Honey Pot" -COM_SH404SEF_CONF_HONEYPOT_DOC="Project Honey Pot is an initiative aiming at protecting web sites from spam robots. It provides a database to check a visitor IP address against known robots. Using this database requires an access key (free) you will have to obtain from the project web site
                (You must create an account before requesting your access key - this is free as well). If you can, consider helping the project by setting up `traps` in your webspace, to help identify spam robots." -COM_SH404SEF_ACTIVATE_SECURITY="Activate security functions" -COM_SH404SEF_TT_ACTIVATE_SECURITY="If set to Yes, sh404SEF will do some basic checks on the URLs requested to your web site, in order to protect it agains common attacks." -COM_SH404SEF_LOG_ATTACKS="Log attacks" -COM_SH404SEF_TT_LOG_ATTACKS="If set to Yes, attacks identified will be logged to a text file, including IP address of attacker and page request made.
                There is one log file per month. They are located in the /administrator/com_sh404sef/logs directory. You can download them using FTP, or use a Joomla utility such as Joomla Explorer to view them. They are TAB separated text file, so your spreadsheet software should open then up easily, probably the easiest way to view them." -COM_SH404SEF_CHECK_HONEY_POT="Use Project Honey Pot" -COM_SH404SEF_TT_CHECK_HONEY_POT="If set to Yes, your visitors IP address will be checked against Project Hoeny Pot database, using their HTTP:BL service. It is free, but requires getting an access key from their web site." -COM_SH404SEF_HONEYPOT_KEY="Project Honey Pot access key" -COM_SH404SEF_TT_HONEYPOT_KEY="If the Use Project Honey Pot option is activated, you must obtain an access key from P.H.P. Type the received access key here. It is a 12 characters string." -COM_SH404SEF_HONEYPOT_ENTRANCE_TEXT="Alternative entry text" -COM_SH404SEF_TT_HONEYPOT_ENTRANCE_TEXT="If a visitor IP address has been tagged as suspicious by Project Honey Pot, access will be denied (403 result code).
                However, in case of false detection, the text typed here will be shown to the visitor, with a link he/she must click to actually access the site. Only a human can read and understand such text, and the robot cannot access the link.
                You can adjust this text to your liking." -COM_SH404SEF_SMELLYPOT_TEXT="Robot trap text" -COM_SH404SEF_TT_SMELLYPOT_TEXT="When a spam robot has been identified through Project Honey Pot, and access has been denied, a link is added at the bottom of the deny screen, in order to have Project Honey Pot record the robot action. A message is also added to prevent real people to click on that link, in case they were wrongly flagged. " -COM_SH404SEF_ONLY_NUM_VARS="Numeric parameters" -COM_SH404SEF_TT_ONLY_NUM_VARS="Parameter names put in this list will be checked for being only numeric : digits 0 to 9 only. Enter one parameter per line." -COM_SH404SEF_ONLY_ALPHA_NUM_VARS="Alpha-numeric parameters" -COM_SH404SEF_TT_ONLY_ALPHA_NUM_VARS="Parameter names put in this list will be checked for being only alpha-numeric : digits from 0 to 9, and letters a through z. Enter one parameter per line" -COM_SH404SEF_NO_PROTOCOL_VARS="Check hyperlinks in parameters" -COM_SH404SEF_TT_NO_PROTOCOL_VARS="Parameter names put in this list will be checked for not having hyperlinks in them, starting with http://, https://, ftp:// " -COM_SH404SEF_IP_WHITE_LIST="IP white list" -COM_SH404SEF_TT_IP_WHITE_LIST="Any page request coming from an IP address on this list will be accepted
                , assuming the URL passes the above mentioned checks. Enter one IP per line.
                You can use * as a wildcard, as in : 192.168.0.*. This will comprise IP from 192.168.0.0 through 192.168.0.255." -COM_SH404SEF_IP_BLACK_LIST="IP black list" -COM_SH404SEF_TT_IP_BLACK_LIST="Any page request coming from an IP address on this list will be denied, assuming the URL passes the above mentioned checks. Enter one IP per line.
                You can use * as a wildcard, as in : 192.168.0.*. This will comprise IP from 192.168.0.1 through 192.168.0.255." -COM_SH404SEF_UAGENT_WHITE_LIST="UserAgent white list" -COM_SH404SEF_TT_UAGENT_WHITE_LIST="Any request made with a UserAgent string on this list will be accepted
                , assuming the URL passes the above mentioned checks. Enter one UserAgent string per line." -COM_SH404SEF_UAGENT_BLACK_LIST="UserAgent black list" -COM_SH404SEF_TT_UAGENT_BLACK_LIST="Any request made with a UserAgent string on this list will be denied, assuming the URL passes the above mentioned checks. Enter one UserAgent string per line." -COM_SH404SEF_MONTHS_TO_KEEP_LOGS="Months to keep security logs" -COM_SH404SEF_TT_MONTHS_TO_KEEP_LOGS="If logging of attacks is activated, you can set here the number of months to keep these log files. For instance, setting this to 1 means that the current month PLUS the month before will be kept available. Previous months log files will be deleted." -COM_SH404SEF_ANTIFLOOD_TITLE="Anti-flood" -COM_SH404SEF_ACTIVATE_ANTIFLOOD="Activate anti-flood" -COM_SH404SEF_TT_ACTIVATE_ANTIFLOOD="If set to Yes, sh404SEF will check that any given IP address will not make too many page request to your site. By making many requests, close to each other, a pirate can make your site unusable by simply overloading it." -COM_SH404SEF_ANTIFLOOD_ONLY_ON_POST="Only if POST data (forms)" -COM_SH404SEF_TT_ANTIFLOOD_ONLY_ON_POST="If set to Yes, this control will only happen if there are some POST data in the page request. This is usually the case in form pages, so you may limit anti-flood control to forms only to help protect your site agains comment spamming robots." -COM_SH404SEF_ANTIFLOOD_PERIOD="Anti-flood control" -COM_SH404SEF_TT_ANTIFLOOD_PERIOD="Time (in seconds) over which the number of requests from the same IP address will controled" -COM_SH404SEF_ANTIFLOOD_COUNT="Max number of requests" -COM_SH404SEF_TT_ANTIFLOOD_COUNT="Number of request that will trigger blocking pages for the offending IP address. For instance, entering Period = 10 and Number of requests = 4 will block access (return of a 403 code, and almost blank page) as soon as 4 requests will have been received from a given IP address in less than 10 seconds. Of course, access will be blocked only for this IP address, not for your other visitors." -COM_SH404SEF_CONF_TAB_LANGUAGES="Languages" -COM_SH404SEF_DEFAULT="Default" -COM_SH404SEF_YES="Yes" -COM_SH404SEF_NO="No" -COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_PER_LANG="If set to Yes, language code will be inserted in URL for this language. If set to No, language code will never be inserted. If set to Default, language code will be inserted for all languages but default language of the site." -COM_SH404SEF_TT_TRANSLATE_URL_PER_LANG="If set to Yes, and your site is multi-lingual, your URL will be translated for URL in this language, as per Joomfish settings. If set to No, URL will never be translated. If set to Default, they will also be translated. Has no effect on mono-lingual sites." -COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_GEN="If set to Yes, a language code will be inserted in URL built by sh404SEF. You can also have a per language setting (see below)." -COM_SH404SEF_TT_TRANSLATE_URL_GEN="If set to Yes, an,d your site is multi-lingual, URL will be translated into your visitor language, as per Joomfish settings. Otherwise, URL will stay in the site default language. You can also have a per language setting (see below)" -COM_SH404SEF_ADV_COMP_DEFAULT_STRING="Default name" -COM_SH404SEF_TT_ADV_COMP_DEFAULT_STRING="If you enter here a text string, it will be inserted at the beginning of all URL for that component. Not used normally, only here for backward compatibility with old URL from other SEF components." -COM_SH404SEF_TT_NAME_BY_COMP=".
                You can type in a name that will be used instead of the menu element name. To do this, please go to the By component tab. Note that this text will be invariant, and will not be translated for instance." -COM_SH404SEF_STANDARD_ADMIN="Click here to switch to standard display (with only main parameters)" -COM_SH404SEF_ADVANCED_ADMIN="Click here to switch to extended display (with all available parameters)" -COM_SH404SEF_MULTIPLE_H1_TO_H2="Change multiple h1 in h2" -COM_SH404SEF_TT_MULTIPLE_H1_TO_H2="If set to Yes, and there are several instances of h1 tags on a page, they wil lbe turned into h2 tags.
                If there is only one h1 tag on a page, it will left untouched." -COM_SH404SEF_INSERT_NOFOLLOW_PDF_PRINT="Insert nofollow tag on Print and PDF links" -COM_SH404SEF_TT_INSERT_NOFOLLOW_PDF_PRINT="If set to Yes, rel=nofollow attributes will be added to all PDF and Print links created by Joomla. This reduce duplicate content seen by search engines." -COM_SH404SEF_INSERT_READMORE_PAGE_TITLE="Insert title in Read more ... links" -COM_SH404SEF_TT_INSERT_READMORE_PAGE_TITLE="If set to Yes, and a Read more link is displayed on a page, the corresponding content title will be inserted in the link, to improve the link weight in search engines" -COM_SH404SEF_VM_USE_ITEMS_PER_PAGE="Using Items per page drop-down list" -COM_SH404SEF_TT_VM_USE_ITEMS_PER_PAGE="If set to Yes, URLs will be adjusted to allow for using drop-down lists to let user select the number of items per page. If you don’t use such drop-down lists, AND your URLs are already indexed by search engines, you can set it to NO to keep your existing URL. " -COM_SH404SEF_CHECK_POST_DATA="Check also forms data (POST)" -COM_SH404SEF_TT_CHECK_POST_DATA="If set to Yes, data coming from input forms will be checked against passing config variables or similar threats. This may cause unneeded blockages if you have, for instance, a forum where users may discuss such things as Joomla programming or similar. They may then want to discuss the exact text strings we are looking for as a potential attack. You should then disable this feature if you experience unappropriate forbidden access" -COM_SH404SEF_SEC_STATS_TITLE="Security stats" -COM_SH404SEF_SEC_STATS_UPDATE="Click here to update blocked attacks counters" -COM_SH404SEF_TOTAL_ATTACKS="Blocked attacks count" -COM_SH404SEF_TOTAL_CONFIG_VARS="mosConfig var in URL" -COM_SH404SEF_TOTAL_BASE64="Base64 injection" -COM_SH404SEF_TOTAL_SCRIPTS="Script injection" -COM_SH404SEF_TOTAL_STANDARD_VARS="Illegal standard vars" -COM_SH404SEF_TOTAL_IMG_TXT_CMD="remote file inclusion" -COM_SH404SEF_TOTAL_IP_DENIED="IP address denied" -COM_SH404SEF_TOTAL_USER_AGENT_DENIED="User agent denied" -COM_SH404SEF_TOTAL_FLOODING="Too many requests (flooding)" -COM_SH404SEF_TOTAL_PHP="Rejected by Project Honey Pot" -COM_SH404SEF_TOTAL_PER_HOUR=" /h" -COM_SH404SEF_SEC_DEACTIVATED="Sec. functions not in use" -COM_SH404SEF_TOTAL_PHP_USER_CLICKED="PHP, but user clicked" -COM_SH404SEF_PREPEND_TO_PAGE_TITLE="Insert before page title" -COM_SH404SEF_TT_PREPEND_TO_PAGE_TITLE="Any text entered her will be prepended to all page title tags." -COM_SH404SEF_APPEND_TO_PAGE_TITLE="Append to page title" -COM_SH404SEF_TT_APPEND_TO_PAGE_TITLE="Any text entered here will be appended to all page title tags." -COM_SH404SEF_DEBUG_TO_LOG_FILE="Log debug info to file" -COM_SH404SEF_TT_DEBUG_TO_LOG_FILE="If set to Yes, sh404SEF will log to a text file many internal information. This data will help us troubleshoot problems you may be facing using sh404SEF.
                Warning: this file can quickly become fairly big. Also, this function will certainly slow down your site. Be sure to turn it on only when required. For this reason, it will de-activate automaticaly one hour after being started. Just turn it off then on again to activate it again. The log file is located in /administrator/components/com_sh404sef/logs/ " -COM_SH404SEF_ALIAS_LIST="Alias list" -COM_SH404SEF_TT_ALIAS_LIST="Enter here a list of alias for this URL. Put only one alias per line, like :
                old-url.html
                or
                my-other-old-url.php?var=12&test=15
                sh404SEF will do a 301 redirect to the current SEF URL if any one of those aliases is requested." -COM_SH404SEF_HOME_ALIAS="Home page alias" -COM_SH404SEF_TT_HOME_PAGE_ALIAS_LIST="Enter here a list of alias for your home page. Put only one alias per line, like :
                old-url.html
                or
                my-other-old-url.php?var=12&test=15
                sh404SEF will do a 301 redirect to your home page if any one of those aliases is requested" -COM_SH404SEF_INSERT_OUTBOUND_LINKS_IMAGE="Insert outbound links symbol" -COM_SH404SEF_TT_INSERT_OUTBOUND_LINKS_IMAGE="If set to Yes, a visual symbol will be inserted next to every link targeting another website, to allow easier identification of these links." -COM_SH404SEF_OUTBOUND_LINKS_IMAGE_BLACK="Use black symbol" -COM_SH404SEF_OUTBOUND_LINKS_IMAGE_WHITE="Use white symbol" -COM_SH404SEF_OUTBOUND_LINKS_IMAGE="Outbound links color symbol" -COM_SH404SEF_TT_OUTBOUND_LINKS_IMAGE="Both images have a transparent background. Select the black one if your site has a white background. Select the white one if your site has a dark background. These images are /administrator/components/com_sef/images/external-white.png and external-black.png. They are 15x16 pixels in size." -COM_SH404SEF_DEFAULT_PARAMS_TITLE="Very adv." -COM_SH404SEF_DEFAULT_PARAMS_WARNING="WARNING: change these values only if you know what you are doing! In case of wrongdoing, you could make damages you will have trouble repairing." -COM_SH404SEF_USE_CAT_ALIAS="Use category alias" -COM_SH404SEF_TT_USE_CAT_ALIAS="If set to Yes, sh404sef will use a category alias instead of its actual name every time that name is required to build a url" -COM_SH404SEF_USE_MENU_ALIAS="Use menu alias" -COM_SH404SEF_TT_USE_MENU_ALIAS="If set to Yes, sh404sef will use a menu item alias instead of its actual title every time that title is required to build a url" -COM_SH404SEF_JC_MODULE_CACHING_DISABLED="Caching for Joomfish language selection module has been disabled!" -COM_SH404SEF_ALWAYS_APPEND_ITEMS_PER_PAGE="Always append #items per page" -COM_SH404SEF_TT_ALWAYS_APPEND_ITEMS_PER_PAGE="If set to Yes, sh404sef will always append the number of items per page to paginated urls. For instance, .../Page-2.html will become .../Page2-10.html, if the current settings cause 10 items to be displayed per page. This is required for instance if you activated drop-down lists to let your user select number of items per page." -COM_SH404SEF_REDIRECT_CORRECT_CASE_URL="301 redirect url to correct case" -COM_SH404SEF_TT_REDIRECT_CORRECT_CASE_URL="If set to Yes, sh404sef will perform a 301 redirect from a SEF url if it does not have the same case as an url found in the database. For instance, example.com/My-page.html will be redirected to example.com/my-page.html, if the latter is stored in the database. Conversely, example.com/my-page.html will be redirected to example.com/My-page.html if the later is the url used on your site, and therefore stored in the database." -COM_SH404SEF_JCL_INSERT_EVENT_ID="Insert event Id" -COM_SH404SEF_TT_JCL_INSERT_EVENT_ID="If set to Yes, event internal id will be prepended to the event title in the urls, to make them unique" -COM_SH404SEF_JCL_INSERT_CATEGORY_ID="Insert category id" -COM_SH404SEF_TT_JCL_INSERT_CATEGORY_ID="If set to Yes, when a category is used in a url, it will be prepended with the internal category id, to make it unique." -COM_SH404SEF_JCL_INSERT_CALENDAR_ID="Insert calendar id" -COM_SH404SEF_TT_JCL_INSERT_CALENDAR_ID="If set to Yes, when a calendar name is used in a url, it will be prepended with this calendar internal id, to make it unique" -COM_SH404SEF_JCL_INSERT_CALENDAR_NAME="Insert Calendar name" -COM_SH404SEF_TT_JCL_INSERT_CALENDAR_NAME="If set to Yes, all urls where a specific calendar is set will have that calendar name included in the url. If no calendar id is specified in the url, the menu item title will be included instead" -COM_SH404SEF_JCL_INSERT_DATE="Insert date" -COM_SH404SEF_TT_JCL_INSERT_DATE="If set to yes, the date of the target page will be inserted into each url" -COM_SH404SEF_JCL_INSERT_DATE_IN_EVENT_VIEW="Insert date in event link" -COM_SH404SEF_TT_JCL_INSERT_DATE_IN_EVENT_VIEW="If set to Yes, each event date will be prepended to urls to the event details page" -COM_SH404SEF_JCL_TITLE="JCal Pro configuration" -COM_SH404SEF_PAGE_TITLE_TITLE="Page title" -COM_SH404SEF_CONTENT_TITLE_TITLE="Joomla content page title" -COM_SH404SEF_CONTENT_TITLE_USE_ALIAS="Use article title alias" -COM_SH404SEF_TT_CONTENT_TITLE_USE_ALIAS="If set to Yes, the article alias will be used in the page title instead of the actual article title" -COM_SH404SEF_CONTENT_TITLE_USE_CAT_ALIAS="Use category alias" -COM_SH404SEF_TT_CONTENT_TITLE_USE_CAT_ALIAS="If set to Yes, a category alias will be used in the page title instead of the actual category title" -COM_SH404SEF_PAGE_TITLE_SEPARATOR="Page title separator" -COM_SH404SEF_TT_PAGE_TITLE_SEPARATOR="Enter here a character or a string to separate the various parts of the page title, if there is more than one. Defaults to the | character, surrounded by a single space" -COM_SH404SEF_DISPLAY_DUPLICATE_URLS_TITLE="Duplicates" -COM_SH404SEF_DISPLAY_DUPLICATE_URLS_NOT="Show only main url" -COM_SH404SEF_DISPLAY_DUPLICATE_URLS="Show main and duplicate urls" -COM_SH404SEF_INSERT_ARTICLE_ID_TITLE="Insert article id in URL" -COM_SH404SEF_TT_INSERT_ARTICLE_ID_TITLE="If set to Yes, an article internal id will be appended to the title of that article in URLs, in order to be sure each article can be accessed individually, even if 2 articles have the exact same titles, or titles that yields the same URL (after being cleaned up for invalid characters and such). This id will bring no SEO value, and you should rather make sure you do not have articles with the same title in the same section and category.
                In case you do not control article entries, this setting may help you make sure articles can be accessed, at the cost of good search engine optimization." -COM_SH404SEF_JS_TITLE="JomSocial configuration " -COM_SH404SEF_JS_INSERT_NAME="Insert JomSocial name" -COM_SH404SEF_TT_JS_INSERT_NAME="If set to Yes, the menu element title leading to JomSocial main page will be prepended to all JomSocial SEF URL" -COM_SH404SEF_JS_INSERT_USER_NAME="Insert user short name" -COM_SH404SEF_TT_JS_INSERT_USER_NAME="If set to Yes, user name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." -COM_SH404SEF_JS_INSERT_USER_FULL_NAME="Insert user full name" -COM_SH404SEF_TT_JS_INSERT_USER_FULL_NAME="If set to Yes, user full name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." -COM_SH404SEF_JS_INSERT_GROUP_CATEGORY="Insert group category" -COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY="If set to Yes, a users group's category will be inserted into SEF URLs where the group name is used." -COM_SH404SEF_JS_INSERT_GROUP_CATEGORY_ID="Insert group category ID" -COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY_ID="If set to Yes, a users group category ID will be prepended to the category name when previous option is also set to Yes, just in case two categories have the same name." -COM_SH404SEF_JS_INSERT_GROUP_ID="Insert group ID" -COM_SH404SEF_TT_JS_INSERT_GROUP_ID="If set to Yes, a users group ID will be prepended to the group name, just in case two groups have the same name." -COM_SH404SEF_JS_INSERT_GROUP_BULLETIN_ID="Insert group bulletin ID" -COM_SH404SEF_TT_JS_INSERT_GROUP_BULLETIN_ID="If set to Yes, a users group bulletin ID will be prepended to the bulletin name, just in case two bulletins have the same name." -COM_SH404SEF_JS_INSERT_DISCUSSION_ID="Insert group discussion ID" -COM_SH404SEF_TT_JS_INSERT_DISCUSSION_ID="If set to Yes, a users group discussion ID will be prepended to the discussion name, just in case two discussions have the same name." -COM_SH404SEF_JS_INSERT_MESSAGE_ID="Insert message ID" -COM_SH404SEF_TT_JS_INSERT_MESSAGE_ID="If set to Yes, a message ID will be prepended to the message name, just in case two messages have the same subject." -COM_SH404SEF_JS_INSERT_PHOTO_ALBUM="Insert photo album name" -COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM="If set to Yes, the name of the album it belongs to will be inserted into SEF URLs of a photo or set of photos." -COM_SH404SEF_JS_INSERT_PHOTO_ALBUM_ID="Insert photo album ID" -COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM_ID="If set to Yes, an album ID will be prepended to the album name, just in case two albums have the same subject." -COM_SH404SEF_JS_INSERT_PHOTO_ID="Insert photo ID" -COM_SH404SEF_TT_JS_INSERT_PHOTO_ID="If set to Yes, a photo ID will be prepended to the photo name, just in case two photos have the same subject." -COM_SH404SEF_JS_INSERT_VIDEO_CAT="Insert video category name" -COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT="If set to Yes, the name of the category it belongs to will be inserted into SEF URLs of a video or set of videos." -COM_SH404SEF_JS_INSERT_VIDEO_CAT_ID="Insert video category ID" -COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT_ID="If set to Yes, a video category ID will be prepended to the category name, just in case two categories have the same subject." -COM_SH404SEF_JS_INSERT_VIDEO_ID="Insert video ID" -COM_SH404SEF_TT_JS_INSERT_VIDEO_ID="If set to Yes, a video ID will be prepended to the video name, just in case two videos have the same subject." -COM_SH404SEF_FB_INSERT_USERNAME="Insert user name" -COM_SH404SEF_TT_FB_INSERT_USERNAME="If set to Yes, the username will be inserted into SEF URLs for her posts or profile." -COM_SH404SEF_FB_INSERT_USER_ID="Insert user ID" -COM_SH404SEF_TT_FB_INSERT_USER_ID="If set to Yes, a user ID will be prepended to her name, if the preceding setting is set to yes, just in case two users have the same username." -COM_SH404SEF_PAGE_NOT_FOUND_ITEMID="Itemid to use for 404 page" -COM_SH404SEF_TT_PAGE_NOT_FOUND_ITEMID="The value entered here, if non zero, will be used to display the 404 page. Joomla will use the Itemid to decide which template and modules to display. Itemid represents a menu item, so you can look up Itemids in your menus list." -; -COM_SH404SEF_PAGE_ID="shURL" -COM_SH404SEF_HITS="Hits" -COM_SH404SEF_SEF_URL="SEF url" -COM_SH404SEF_NON_SEF_URL="Non-SEF url" -COM_SH404SEF_SEF_URL_LIST="URL manager" -COM_SH404SEF_HAS_DUPLICATE="Duplicates" -COM_SH404SEF_HAS_METAS="Meta" -COM_SH404SEF_DUPLICATE_MAIN="Main" -COM_SH404SEF_DUPLICATES_OF="duplicates of" -COM_SH404SEF_DUPLICATE_MANAGER="Duplicate urls manager" -COM_SH404SEF_DUPLICATE_HELP="Joomla! may create several non-sef urls going to the same page. Select which one to use when this SEF url is requested" -COM_SH404SEF_DUPLICATE_MAKE_MAIN="Choose this non-sef url to be associated with %s" -COM_SH404SEF_DUPLICATE_IS_MAIN="This is the main non-sef url!" -COM_SH404SEF_ALIASES="Aliases" -COM_SH404SEF_IS_CUSTOM="Custom" -COM_SH404SEF_NO_URL="No url to be displayed" -COM_SH404SEF_ALL_COMPONENTS=" - All components - " -COM_SH404SEF_ALL_DUPLICATES=" - With or w/o duplicates - " -COM_SH404SEF_ONLY_NO_DUPLICATES="Only w/o duplicates" -COM_SH404SEF_ONLY_DUPLICATES="Only with duplicates" -COM_SH404SEF_ALL_ALIASES=" - With or w/o aliases - " -COM_SH404SEF_ONLY_NO_ALIASES="Only w/o aliases" -COM_SH404SEF_ONLY_ALIASES="Only with aliases" -COM_SH404SEF_ALL_LANGUAGES=" - All languages - " -COM_SH404SEF_ALL_URL_TYPES=" - Automatic and custom - " -COM_SH404SEF_ONLY_CUSTOM="Only custom urls" -COM_SH404SEF_ONLY_AUTO="Only automatic urls" -COM_SH404SEF_EDIT_URL_TITLE="Modify a URL" -COM_SH404SEF_ADD_URL_TITLE="Add an url record" -COM_SH404SEF_EDIT_URL="Edit url record" -COM_SH404SEF_OLDURL="New SEF URL" -COM_SH404SEF_TT_OLDURL="Enter only a relative url from the Joomla root without a leading slash" -COM_SH404SEF_NEWURL="non-SEF url" -COM_SH404SEF_TT_NEWURL="Enter the non SEF URL corresponding to the SEF url above. WARNING: it must starts with index.php and must not be longer than 255 characters!" -COM_SH404SEF_EDIT_META="Title and meta tags" -COM_SH404SEF_OPERATION_COMPLETED="Operation completed successfully !" -COM_SH404SEF_ELEMENT_NOT_SAVED="An error happened while saving. Please try again or cancel editing" -COM_SH404SEF_ELEMENT_SAVED="Element successfully saved" -COM_SH404SEF_ELEMENT_DELETED="Element successfully deleted" -COM_SH404SEF_HOME_PAGE_EDIT_TITLE="Edit home page data" -COM_SH404SEF_HOME_PAGE_ICON="home page meta" -COM_SH404SEF_HOME_PAGE="____ Home page ____" -COM_SH404SEF_CONFIRM_TITLE="You sure ??" -COM_SH404SEF_CONFIRM_URL_DELETION="You are about to delete %d url(s) from the database." -COM_SH404SEF_CONFIRM_BOX_TITLE="Confirmation box" -COM_SH404SEF_PURGE="Purge" -COM_SH404SEF_PURGE_SELECTED="Purge list" -COM_SH404SEF_CONFIRM_PURGE_URLS="You are about to delete %d urls from the database (including duplicates).
                Custom urls, aliases and pageid will be left untouched." -COM_SH404SEF_CONFIRM_PURGE_URLS_SELECTED="The urls matching your selection criteria will be deleted (%d urls in total).
                This may include custom urls depending on the choices you made in drop-down lists. If automatic urls are in the list, their duplicates will also be removed." -COM_SH404SEF_CONFIRM_PURGE_URLS_404="Records of requests for non-existing pages (%s in total) will be deleted from the database." -COM_SH404SEF_404_MANAGER="404 requests manager" -COM_SH404SEF_CUSTOM_URL_LINK_TITLE="Is custom url" -COM_SH404SEF_HAS_META_LINK_TITLE="Has custom meta data" -COM_SH404SEF_MODIFY_LINK_TITLE="Modify" -COM_SH404SEF_HAS_DUPLICATES_LINK_TITLE="Has %d duplicate(s)" -COM_SH404SEF_HAS_ALIASES_LINK_TITLE="Has %d alias(es)" -COM_SH404SEF_ALIASES_MANAGER="Aliases manager" -COM_SH404SEF_ALIASES_HELP="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection). Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window." -COM_SH404SEF_NO_ALIASES="No aliases to display" -COM_SH404SEF_MODIFY_ALIAS_TITLE="Modify" -COM_SH404SEF_ALIAS="Alias" -COM_SH404SEF_URL="URL" -COM_SH404SEF_CONFIRM_PURGE_ALIASES="You are about to delete %d aliases from the database.
                This count includes home page aliases. They cannot be recreated automatically, so be careful!" -COM_SH404SEF_CONFIRM_PURGE_ALIASES_SELECTED="The aliases matching your selection criteria will be deleted (%d aliases in total).
                They cannot be recreated automatically, so be careful!" -COM_SH404SEF_CONFIRM_ALIAS_DELETION="You are about to delete %d alias(es) from the database." -COM_SH404SEF_SELECT_ALIAS="Please select one or more aliases" -COM_SH404SEF_ACCESS_URLS_STATS="Access and urls stats" -COM_SH404SEF_URLS_STATS="Urls stats" -COM_SH404SEF_CONTROL_PANEL="Control panel" -COM_SH404SEF_CONFIGURATION="Configuration" -COM_SH404SEF_MANAGEMENT="Management" -COM_SH404SEF_CONFIG_EXT="Extensions" -COM_SH404SEF_CONFIG_EXT_DESC="Set up the way urls are built for the various extensions used on your site. After changing settings on this page, you will most likely need to purge the SEF urls database, so that new urls are recreated in accordance with the new parameters you now use. This is done from the URL manager." -COM_SH404SEF_CONFIG_ERROR_PAGE="Error page" -COM_SH404SEF_CONFIG_ERROR_PAGE_DESC="Select and adjust the content of your 404 error page" -COM_SH404SEF_CONFIG_SEO="SEO" -COM_SH404SEF_CONFIG_SEO_DESC="Change various settings that will change elements of your Joomla! web site to improve search results" -COM_SH404SEF_CONFIG_SEC="Security" -COM_SH404SEF_CONFIG_SEC_DESC="Settings dealing with built in security features" -COM_SH404SEF_QCONTROL="

                Welcome to sh404SEF!

                To enable it for your site, use the main Enable URL optimization Yes/No selector and press the Save button. sh404SEF will start with its default settings, suitable in most cases.
                You can change the Rewriting mode to use mod_rewrite. You won't have those /index.php/ bits in your URL any more, but you must setup correctly a .htaccess file (or the equivalent for your web server) before you can proceed.
                Please check out the FAQ" -COM_SH404SEF_PAGEID_MANAGER="shURL manager" -COM_SH404SEF_CP_PAGEID_HELP="shURL is your very own url shortener. Works very much like an alias, but shURLs are automatically created by sh404sef, so that your pages can also be accessed using www.example.com/p412 for instance. No risk of url shortener provider disappearing, or users being afraid because they don't know where a short url is taken them." -COM_SH404SEF_VERSION_INFO="Version and updates" -COM_SH404SEF_COULD_NOT_CHECK_FOR_NEW_VERSION="Sorry, could not check if a newer version is available (response code %d)" -COM_SH404SEF_CHECK_UPDATES="Check again" -COM_SH404SEF_CLICK_TO_CHECK_UPDATES="Click button to check for updates" -COM_SH404SEF_NEW_VERSION_AVAILABLE="New version available !" -COM_SH404SEF_YOU_ARE_UP_TO_DATE="No update required for your site" -COM_SH404SEF_AVAILABLE_VERSION="Available version" -COM_SH404SEF_ERROR_CHECKING_NEW_VERSION="Communication error trying to contact version information server. Try again later!" -COM_SH404SEF_VIEW_CHANGELOG="View changelog" -COM_SH404SEF_GET_IT="Get it !" -COM_SH404SEF_NOTES="Notes" -COM_SH404SEF_MODIFY_META_TITLE="Modify meta data for" -COM_SH404SEF_ALL_TITLE="With or w/o page title" -COM_SH404SEF_ONLY_TITLE="Only with page title" -COM_SH404SEF_NO_TITLE="Without page title" -COM_SH404SEF_ALL_DESC="With or w/o description" -COM_SH404SEF_ONLY_DESC="Only with description" -COM_SH404SEF_NO_DESC="Only w/o description" -COM_SH404SEF_DATA_NOT_MODIFIED="Data not modified !" -COM_SH404SEF_META_HELP="You can use these pages to customize page title and/or description meta tags for any page on your site. The values entered here will override any values that may be coming directly from Joomla own input boxes. Likewise, they will override any page title or description that may have been generated otherwise by sh404sef built in plugins.
                You usually will not have to use this section, as Joomla!, sh404sef and most extensions will create suitable page titles. Beware to create short and to the point page titles. Description should also be concise and clearly describe your page content. Better leave description empty if it does not bring value for visitors. Other meta elements can be setup by clicking on a url. Beware when you do so, as you may do more harm than good. In particular, you should probably leave Keywords meta data empty. They are not used by search engines, and under some circumstances can have a negative effect on your ranking." -COM_SH404SEF_PAGE_NOT_FOUND_TEMPLATE="Sub-template for display" -COM_SH404SEF_TT_PAGE_NOT_FOUND_TEMPLATE="By default (when value is set to 'index'), sh404sef will display the 'Page not found' error page using your regular Joomla! template file, in accordance with the Itemid setting. However you may enter here the name of an alternate sub-template file. For instance, most template come with a 'component' sub-template, which is much simpler and does not display any module. Just enter 'component' instead of 'index', to start using it.
                You can also provide your own sub-template. Create it - let's say you call it 'error404.php', then store it in your template main directory, alongside index.php and component.php. Don't forget to enter 'error404' (without the trailing '.php') here so that sh404sef use it." -COM_SH404SEF_CONFIRM_PURGE_METAS="You are about to delete meta data records for %d non-sef urls from the database.
                Urls themselves, aliases or pageid will be left untouched." -COM_SH404SEF_CONFIRM_PURGE_METAS_SELECTED="Meta data records for the urls matching your selection criteria will be deleted
                (%d non-sef urls in total).
                Urls themselves, aliases or pageid will be left untouched." -COM_SH404SEF_PREVIEW="Preview" -COM_SH404SEF_404_PAGE_EDIT_HELP="You can use the following tags while editing this error page:
                • {%sh404SEF_404_URL%} will be replaced by the url the visitor requested, the one that we could not find
                • {sh404sefSimilarUrls} will be replaced by a list of urls found in the database that are similar to the one requested but not found. If none are found to be similar, nothing will be displayed and the tag removed. You can go to Joomla's plugins list, and set some parameters to alter the way the 'sh404sef similar urls plugin' operates
                • {sh404sefSimilarUrlsCommentStart} and {sh404sefSimilarUrlsCommentEnd} everything you put between those two tags will be displayed only if some similar urls are found
                " -COM_SH404SEF_ENABLE_PAGEID="Enable shURL" -COM_SH404SEF_DISABLE_PAGEID="Disable shURL" -COM_SH404SEF_COMP_ENABLE_PAGEID="Enable shURL creation" -COM_SH404SEF_TT_COMP_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for all urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for this particular component. Please note that shURL creation should also be enabled globally in sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                It will be replaced automatically by sh404sef by the shURL." -COM_SH404SEF_ENABLE_PAGEID_HELP="Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration" -COM_SH404SEF_CONF_TAB_PAGEID="shURL" -COM_SH404SEF_TT_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for most urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for your site. Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                It will be replaced automatically by sh404sef by the shURL." -COM_SH404SEF_PAGEIDS_MANAGER="shURL manager" -COM_SH404SEF_PAGEID_HELP="This page will show you all the already created shURL for your site. shURL are short urls automatically created by sh404sef upon creation of a SEF url. They allow you to provide internal shortcuts to commonly used pages. They can be used for instance in printed material, on business cards or in short messages system such as mobile phone text messages or Twitter.WARNING: once created, shURLs should never be deleted, as they cannot be recreated the same. If shURLs have been distributed to users, or bookmarked by people online, and you delete them from your site, new shURLs will be generated next time you purge your SEF urls database. However, those new shURLs will NOT be the same as the previous one, and so existing links will be lost. Please note that this does not apply to search engines. Basically, search engines will not index shURLs at all, as they will follow the redirects towards the final, full length, keyword-full version of the url." -COM_SH404SEF_CONFIRM_PAGEID_DELETION="You are about to delete %d shURL record(s) from the database.
                Warning : they cannot be recreated the same after being deleted!" -COM_SH404SEF_SEF_ENABLED="Enable URL optimization" -COM_SH404SEF_TT_SEF_ENABLED="When set to Yes, sh404sef will take over SEF url generation from Joomla!This will happen regardless of the SEF setting found under Joomla!'s Global configuration panel." -COM_SH404SEF_UPGRADE_ENABLE_CHECK="Enable new version check" -COM_SH404SEF_TT_UPGRADE_ENABLE_CHECK="If set to Yes, sh404sef will check for the availability of new versions. It will not send any information from your site, but only call our servers to know if a version newer than the one currently running on your site is available. Result of such check will be cached for 24 hours, meaning that at most one such call per day will be done, regardless of how many times you access sh404sef main control panel. If a newer version is available, the Version and updates tab on the main screen will turn red, and a (!) sign will be added to its title. Going to this tab, you'll find a link to download the new version, and another one to view the changelog." -COM_SH404SEF_MAY_NEED_PURGE_DIALOGBOX="You have modified some settings that could change urls on your site. For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated. Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]]." -COM_SH404SEF_MAY_NEED_PURGE="
              • Element successfully saved.
              • You have modified some settings that could change urls on your site.
              • For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated.
              • Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]].
              • " -COM_SH404SEF_INVALID_WIZARD_STEP="Internal error : invalid wizard step. Please contact administrator" -COM_SH404SEF_WIZARD_CANCELLED="Operation cancelled" -COM_SH404SEF_INVALID_WIZARD_ADAPTER="Internal error : invalid wizard adapter. Please contact administrator" -COM_SH404SEF_ALIASES_HELP_NEW_ALIAS="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection).

                Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window. This is done in the Urls manager, by clicking on any listed url and entering new alias(es) on the 'Aliases' tab. Go to Url manager" -COM_SH404SEF_IMPORT_PAGEIDS_START="Welcome to the shURL import wizard. Please press the Next button to start importing shURLs into your database. Suitable data sources are files obtained through the Export shURLs feature" -COM_SH404SEF_EXPORT_PAGEIDS_START="Welcome to the shURL export wizard. Please press the Next button to start exporting shURLs from your database to a text file. This text file may be used later on to import back shURL records into this same web site or another web for instance, through the Import shURLs feature.

                Warning: only shURLs matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_EXPORTING="Exporting record %d of %d" -COM_SH404SEF_EXPORTING_TITLE="Exporting" -COM_SH404SEF_EXPORT_DONE="Export of %d record(s) done. Please click on Terminate button to close this window

                Note : temporary export files are left available in Joomla! /tmp directory. You should delete them on a regular basis." -COM_SH404SEF_NOTHING_TO_EXPORT="No data to export!" -COM_SH404SEF_EXPORT_METAS_START="Welcome to the page title and meta data export wizard. Please press the Next button to start exporting page title and meta data from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only page title and meta data records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_URLS_START="Welcome to the page urls export wizard. Please press the Next button to start exporting url records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only url records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_ALIASES_START="Welcome to the aliases export wizard. Please press the Next button to start exporting aliases records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only aliases records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_VIEW404_START="Welcome to the 404 error records export wizard. Please press the Next button to start exporting 404 error records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only 404 error records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_PURGE_TEMP_FILES="Purge temporary files on terminating" -COM_SH404SEF_IMPORTING_TITLE="Importing" -COM_SH404SEF_IMPORT_UPLOAD_FILE="Please select a data file to import using the input below, or the 'browse' button. This data file must be :
                • either coming from sh404sef itself (through the export functions)
                • or be a modified version of such file, customized in a spreadsheet program for instance
                • at most %s in size, which is maximum size allowed by your server

                " -COM_SH404SEF_IMPORT_VALIDATE_IMPORT="This file appears to be valid, and contains %s data. I have found %d records. Click Next button to import them into the database." -COM_SH404SEF_IMPORT_UNRECOGNIZED_CONTENT="Sorry, could not recognize the content of this file. Please select another one!" -COM_SH404SEF_IMPORT_ERROR_INSERTING_INTO_DB="There was an error inserting a record in the database. This happened with record #%d of the import file. Please double-check the file content and try again! Many times, the reason for such error is that the record already exists in the database. Either remove it from the database, or from the import file." -COM_SH404SEF_IMPORT_ALIASES_START="Welcome to the alias import wizard. Please press the Next button to start importing aliases into your database. Suitable data sources are files obtained through the Export aliases feature" -COM_SH404SEF_IMPORT_DONE="Imported %d %s record(s). Please click on Terminate button to close this window
                " -COM_SH404SEF_IMPORT_URLS_WARNING="
                Warning: please note that if you imported meta data or 404 error pages records, these are considered and were previously exported as regular urls records, and so you are now on the 'Url manager page'. Just go to the title and metas manager or the 404 error requests manager to view the newly imported records" -COM_SH404SEF_IMPORT_URLS_START="Welcome to the urls and meta data import wizard. Please press the Next button to start importing urls and meta data records into your database. Suitable data sources are files obtained through the Export urls or Export meta data feature" -COM_SH404SEF_ANALYTICS="Analytics" -COM_SH404SEF_CHECK_ANALYTICS="Click to update" -COM_SH404SEF_ERROR_CHECKING_ANALYTICS="Could not connect to analytics server (not available, or no account configured ? are cURL and SSL enabled in your phpinfo ?)" -COM_SH404SEF_ERROR_AUTH_ANALYTICS="Error trying to contact analytics server: not authorized. Check password and user name!" -COM_SH404SEF_CONF_ANALYTICS="Analytics" -COM_SH404SEF_CONF_ANALYTICS_HELP="Analytics is an sh404sef feature designed to work with Google Analytics traffic analysis service. To use it, you should create an account with Google Analytics. Visit Google Analytics to do this. And don't forget to check out our video tutorial
                sh404SEF itself does not collect any traffic data, but instead will query Google Analytics for traffic data to display reports.
                Security consideration: sh404sef needs your Google Analytics user name AND password. We advice to use a dedicated Google account and password for your Google Analytics needs, so as to avoid having the same password on all your emails accounts, FTP server, online banking and everything else." -COM_SH404SEF_ANALYTICS_ENABLED="Enable data collection" -COM_SH404SEF_TT_ANALYTICS_ENABLED="If set to Yes, a javascript snippet, suitable for use with Google Analytics service, will be included in all pages, complying with next settings, so that analytics data are collected by the analytics service.
                Warning: there are other Joomla! extensions developed to include such snippet into your pages. Make sure you only have one at a time activated!" -COM_SH404SEF_ANALYTICS_ID="Web Property ID" -COM_SH404SEF_TT_ANALYTICS_ID="The ID for this site, as supplied by Google analytics. It should look like UA-XXXXX-Y where X and Y are numbers.
                We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                If you already have an account, just use it, you don't need to create a separate one for sh404sef." -COM_SH404SEF_ANALYTICS_EXCLUDE_IP="Excluded IP list" -COM_SH404SEF_TT_ANALYTICS_EXCLUDE_IP="Analytics data will not be collected for requests coming from one of those IP addresses (one per line). Use to exclude yourself or your company members from collected data" -COM_SH404SEF_ANALYTICS_MAX_USER_LEVEL="Max user level" -COM_SH404SEF_TT_ANALYTICS_MAX_USER_LEVEL="Analytics data will not be collected for requests by users above the selected level. By default, data is collected for all users. Selecting 'Administrator', for instance, will make sure anyone logged in as 'Super administrator' is not counted as a visitor, or enter the statistics in any manner" -COM_SH404SEF_ANALYTICS_REPORTS_TITLE="Analytics report" -COM_SH404SEF_ANALYTICS_REPORTS_ENABLED="Display report" -COM_SH404SEF_TT_ANALYTICS_REPORTS_ENABLED="If set to Yes, analytics report will be included on the front of the control panel." -COM_SH404SEF_ANALYTICS_USER="Analytics user name" -COM_SH404SEF_TT_ANALYTICS_USER="The username for the analytics account you use, as supplied by analytics service supplier. For Google Analytics, this is going to be a full email address. For better security, please use a dedicated gmail account for your Google Analytics need, separate from your main email address. You can however monitor many web sites with the same, dedicated, Google Analytics account" -COM_SH404SEF_ANALYTICS_PASSWORD="Analytics password" -COM_SH404SEF_TT_ANALYTICS_PASSWORD="The password for the analytics account you use, as supplied by analytics service supplier. The value you type here will override any existing password stored" -COM_SH404SEF_ANALYTICS_ACCOUNT="Analytics account" -COM_SH404SEF_TT_ANALYTICS_ACCOUNT="The account you use, as supplied by analytics service supplier" -COM_SH404SEF_ANALYTICS_PROFILE="" -COM_SH404SEF_TT_ANALYTICS_PROFILE="" -COM_SH404SEF_ANALYTICS_ENABLE_AUTO_CHECK="Automatic analytics updates" -COM_SH404SEF_TT_ANALYTICS_ENABLE_AUTO_CHECK="If set to Yes, analytics report data will be updated every hour. If set to No, you will need to click the [Click to update] link on the Analytics tab to refresh the displayed data" -COM_SH404SEF_CLICK_TO_CHECK_ANALYTICS="No data available, click [Click to update] link to get new data. (OpenSSL required in PHP config)" -COM_SH404SEF_MOBILE_SWITCH_ENABLED="Enable template switcher" -COM_SH404SEF_TT_MOBILE_SWITCH_ENABLED="If yes, site template will be set to the template listed below for requests identified by Joomla as coming from a mobile device" -COM_SH404SEF_MOBILE_SWITCH_TEMPLATE="Switch to template" -COM_SH404SEF_TT_MOBILE_SWITCH_TEMPLATE="The site template to switch to when a mobile device request is detected" -COM_SH404SEF_MOBILE_CONFIG="Mobile" -COM_SH404SEF_UPDATED_ON="Last updated on %s" -COM_SH404SEF_CONFIG_ANALYTICS="Analytics" -COM_SH404SEF_CONFIG_ANALYTICS_DESC="Activate and adjust settings of analytics feature of sh404sef for your web site." -COM_SH404SEF_ANALYTICS_MANAGER="Analytics manager" -COM_SH404SEF_ANALYTICSDESC="View detailed reports about your web site traffic and visitors (requires activation and data collection - see Analytics configuration)" -COM_SH404SEF_ANALYTICS_REPORT="Report" -COM_SH404SEF_ANALYTICS_REPORT_PER_LABEL=" per " -COM_SH404SEF_ANALYTICS_REPORT_BY_LABEL=" by " -COM_SH404SEF_ANALYTICS_REPORT_DASHBOARD="Dashboard" -COM_SH404SEF_ANALYTICS_REPORT_VISITS="Visits and visitors" -COM_SH404SEF_ANALYTICS_REPORT_VISITS_ONLY="Visits" -COM_SH404SEF_ANALYTICS_REPORT_SOURCES="Traffic sources" -COM_SH404SEF_ANALYTICS_REPORT_KEYWORDS="Keywords analytics" -COM_SH404SEF_ANALYTICS_REPORT_URLS="Site pages analytics" -COM_SH404SEF_ANALYTICS_REPORT_VISITORS_EQUIPMENT="Visitors equipment" -COM_SH404SEF_ANALYTICS_GROUP_BY="Group by" -COM_SH404SEF_ANALYTICS_START_DATE="Start" -COM_SH404SEF_ANALYTICS_END_DATE="End" -COM_SH404SEF_ANALYTICS_DASHBOARD_DATE_RANGE="Dashboard date range" -COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATE_RANGE="Select the date range that will be used to fetch analytics data for the dashboard (main control panel). This can be either a week, a month or a year, always counted from the last day available, normally yesterday. On the main Analytics view however, you can select the date range yourself for customized reports" -COM_SH404SEF_WEEK="Week" -COM_SH404SEF_MONTH="Month" -COM_SH404SEF_YEAR="Year" -COM_SH404SEF_ANALYTICS_ENABLE_TIME_COLLECTION="Collect creation time & memory" -COM_SH404SEF_TT_ANALYTICS_ENABLE_TIME_COLLECTION="If Yes, the time required by Joomla to create the page will be recorded and made available in reports. Note that this time is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second.
                Memory used by this creation process will also be collected, but only if the memory collection function is available in your PHP installation. This information will become important if and when you decide on upgrading your web server, or even simply to adjust the settings of your web server." -COM_SH404SEF_ANALYTICS_ENABLE_LOGGED_IN_USER="Collect logged user" -COM_SH404SEF_TT_ANALYTICS_ENABLE_LOGGED_IN_USER="If Yes, the logged-in status of visitors will be collected and made available for reports. You will thus be able to know the percentage of your page views that are for non-logged in users globally and evaluate, for instance, the expected benefit of caching on your site.
                Note that you must allow analytics data collection for at least some logged in users for this value to have any meaning (see Max user level setting above)" -COM_SH404SEF_ANALYTICS_REF_LABEL_DIRECT="Direct" -COM_SH404SEF_ANALYTICS_REF_LABEL_ORGANIC="Search eng." -COM_SH404SEF_ANALYTICS_REF_LABEL_REFERRAL="Referral" -COM_SH404SEF_ANALYTICS_REF_LABEL_OTHER="Others" -COM_SH404SEF_ANALYTICS_DATA_VISITORS="Unique visitors" -COM_SH404SEF_ANALYTICS_DATA_VISITS="Visits" -COM_SH404SEF_ANALYTICS_DATA_PAGEVIEWS="Page views" -COM_SH404SEF_ANALYTICS_DASHBOARD_DATA_TYPE="Display data type" -COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATA_TYPE="Select which metrics to display on the dashboard.
                Page views simply counts the number of pages that were displayed to any visitor. This is a very good indicator of the volume of traffic on your site.
                Unique visitors: this measures the number of actual individual visitors visiting your site. Users visiting twice or more within the selected period of time will be counted only once, as per Google calculation definition (see http://www.google.com/support/analytics /bin/answer.py?hl=en&answer=33087).
                Visits will show the number of visit sessions to your site. However, visitors returning several times within the selected period will be counted several times and so may not be the best indicator of how many people come to your site.
                Please be aware that Google does not allow all combinations. Specfically, traffic sources, page creation time and memory, and logd in users cannot be viewed per Unique visitors." -COM_SH404SEF_ANALYTICS_TOP5_PAGES="Pages on your site that are viewed most" -COM_SH404SEF_ANALYTICS_TOP5_URL="Url" -COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS="Pageviews" -COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS_PERCENT="%" -COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_PAGE="Avg time
                on page" -COM_SH404SEF_ANALYTICS_TOP5_REFERRERS="The web sites that send you the most traffic (by page views)" -COM_SH404SEF_ANALYTICS_TOP5_REF_SOURCE="Source" -COM_SH404SEF_ANALYTICS_TOP5_REF_PATH="Path" -COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_SITE="Avg time
                on site" -COM_SH404SEF_ANALYTICS_GLOBAL_DATA="Global stats" -COM_SH404SEF_ANALYTICS_PERF_DATA="Performance and users (per page view)" -COM_SH404SEF_ANALYTICS_DATE_RANGE="Report date range:" -COM_SH404SEF_ANALYTICS_TT_SOURCE_SITE_DESC="This column shows the website which sent you visitors.
                (direct) means people directly typed in your web site address in their browser address bar" -COM_SH404SEF_ANALYTICS_TT_SOURCE_PATH_DESC="The specific path on the referrer web site that links to you, if any. Sometimes this information is not recorded, in particular when the referrer is a search engine - in such case, you'll see '(not set)'" -COM_SH404SEF_ANALYTICS_TT_PAGE_VIEWS_DESC="This is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for
                By monitoring page views by for each page, or for each referrer, you can decide on actions to be taken to improve your traffic, such as modifying your content to make it more attractive to specific visitors, or contacting referring sites to get better linkage, etc" -COM_SH404SEF_ANALYTICS_TT_REFERRER_PER_CENT_DESC="This column shows the share of pageviews for each referrer, as a percentage of the total number of pageviews on your site for the given period of time. As only the top referrers are shown on the list, this may not add up to 100%" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE="Average time on site" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE_DESC="The average time spent on your site by visitors coming from each referrers. We can assume the people staying longer will benefit more from your site information, products or services. Action may then be taken to either favor those referrers sending the most interested visitors, and/or adjust your web site content so as to be more attractive to visitors coming from those other sources" -COM_SH404SEF_ANALYTICS_TT_URL_DESC="The specific path on your web site for which the most traffic was recorded.
                Note that it is the textual path that matters, and not url parameters. Therefore /my-page.html and /mypage.html?start=5 are considered the same page by Google, and so pageviews for those 2 pages will be aggregated. Another good reason to use sh404sef pagination system!" -COM_SH404SEF_ANALYTICS_TT_URL_PER_CENT_DESC="This column shows the share of pageviews for each path in your web site, as a percentage of the total number of pageviews on your site for the given period of time. As only the top paths are shown on the list, this may not add up to 100%" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE="Average time on page" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE_DESC="The average time spent on a particular page by visitors. We can assume the people staying longer on a page will benefit more from this page information, products or services. Action may then be taken to either improve again those page, and/or adjust other pages content so as to be more attractive and get a more balanced and globally higher traffic on your site." -COM_SH404SEF_ANALYTICS_AVG_CREATION_TIME="Avg page creation time" -COM_SH404SEF_ANALYTICS_TT_AVG_CREATION_TIME="Average time Joomla needed to create pages displayed over the period of time covered by the report. This is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second." -COM_SH404SEF_ANALYTICS_AVG_MEMORY_USED="Avg memory used" -COM_SH404SEF_ANALYTICS_TT_AVG_MEMORY_USED="Memory used by Joomla page creation process, in megabytes. This information will become important if and when you decide on upgrading your web server, or even simply to adjust the settings of your web server." -COM_SH404SEF_ANALYTICS_USER_STATUS="Logged in users" -COM_SH404SEF_ANALYTICS_TT_USER_STATUS="The percentage of pages viewed by your visitors while they were logged in to your site, against the total number of pages viewed. Currently, no distinction is made on the dashboard based on the user type (Registered, Author, adminstrator, etc), though this information is actually collected.
                From a performance standpoint, this will help you decide if it is worth activating a cache system (as caches are usually more efficient for non-logged in users). From an SEO/business standpoint, this may help you make changes in your content for instance, in order to try attract more user to register, or maybe reserve some content to registered users." -COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" -COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC_RAW="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" -COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors.
                It follows that the number of visitors is less than the number of visits - see definition of visits above." -COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC_RAW="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors. It follows that the number of visitors is less than the number of visits - see definition of visits above." -COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for.
                Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" -COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC_RAW="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for. Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT="Avg pages/visit" -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT_DESC="The average number of pages a visitor looks at during a single visit - a visit being considered finished when we see no activity during 30 minutes or more. A higher figure will probably means that your content is attractive to your visitors, which is to say the peoople coming to your site are the one attracted in your content. A lower figure will probably indicate that content and traffic don't match each other. Either you need to adjust your content and make it more appealing to the visitors you get. Or you need to get other visitors, that is try to attract a different kind of visitors.
                As usual, you'll need more detailed data to be able to figure out ways of improving things, but radical changes in those figures should be investigated." -COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE="Bounce rate" -COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE_DESC="The bounce rate is the % of visits where visitors only saw one page. Which means they came to your site, saw one page and then moved away and never came back - at least not withing the 30 minutes limit used to decide a given visitor is making a 'new' visit.
                This will always happen, but of course you probably want that % to be as small as possible, and like other metrics, significant changes should be monitored and acted upon.
                You will probably need more detailed data to be able to act in case there is a sudden surge in bounces. You may for instance want to find out if specific pages are causing the rate increase, so as to be able to adjust its content to visitors interest." -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE="Avg time on site" -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE_DESC="The average time spent on your site during a visit. Combined with the number of pages viewed per visit, this is a measure of visit quality. As usual with averages, it must taken with a grain of salt, but significant variations over time are to be investigated" -COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS="% of new visits" -COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS_DESC="The percentage of visitors coming to your site that where not previously identified.
                Getting many new visitors tends to mean you attract traffic to your site, possibly by being well ranked in search engines. A lower percentage of new visits may also means that your site itself is attractive, with people coming back after their first visit. You will need more detailed data to analyse this fully, but as always monitor changes carefully" -COM_SH404SEF_ANALYTICS_DATA_SOURCES_DESC_RAW="The traffic sources graph shows you a synthetic view of where visitors to your site are coming from. The pie chart breaks down visits (or page views or visitors, depending on the setting you chose in configuration) between: referral (visitors coming from another website), search engines (coming from all known search engines result page), direct (user typed your web site address directly into his/her browser address bar)" -COM_SH404SEF_ALIAS_ALREADY_EXISTS="Alias %s already exists as an alias, or as a SEF url. It was not stored into the aliases database" -COM_SH404SEF_SLOW_SERVER="Slow server" -COM_SH404SEF_TT_SLOW_SERVER="If set to Yes, a simplified version of the sh404sef control panel will be used.
                While sh404sef can handle several hundreds of thousands of urls on appropriate server on the front end (what your visitors can see), the sh404sef control panel, and specifically the Url manager, uses more advanced database queries which can become very slow if the combination web server power/ number of urls in the database is not sufficient.
                In such cases, switching to slow server mode will make the url manager snappy again, at the expense of missing information such as duplicates and aliases count" -COM_SH404SEF_IS_DUPLICATE="Is a duplicate" -COM_SH404SEF_IS_A_MAIN_URL="Is a main url" -COM_SH404SEF_SLOW_SERVER_MODE_ON="Displaying in slow server mode. Change mode under Advanced tab of main configuration" -COM_SH404SEF_INSERT_CONTACT_CAT="Insert contacts category name" -COM_SH404SEF_TT_INSERT_CONTACT_CAT="If set to yes, the category name a contact belongs to will be inserted in the url leading to this contact" -; -COM_SH404SEF_QUICK_START="Quick start" -COM_SH404SEF_SAVE="Start!" -COM_SH404SEF_WITH_HTACCESS_MOD_REWRITE="With .htaccess (mod_rewrite)" -COM_SH404SEF_IMPORT_BUTTON="Import" -COM_SH404SEF_EXPORT_BUTTON="Export" -COM_SH404SEF_WIZARD_START="Start" -COM_SH404SEF_WIZARD_NEXT="Next" -COM_SH404SEF_WIZARD_PREVIOUS="Previous" -COM_SH404SEF_WIZARD_CANCEL="Cancel" -COM_SH404SEF_WIZARD_TERMINATE="Terminate" -COM_SH404SEF_DELETE_URLS_WITH_DUP="Delete with dupl." -; -COM_SH404SEF_USE_SH404SEF_PLUGIN="Use sh404SEF plugin if available" -COM_SH404SEF_USE_JOOMLA_PLUGIN="Use Joomla! router.php" -COM_SH404SEF_USE_JOOMSEF_PLUGIN="Use Joomsef plugin" -COM_SH404SEF_USE_ACESEF_PLUGIN="Use Acesef plugin" -; -COM_SH404SEF_DUPLICATES_MAKE_MAIN="Make main" -COM_SH404SEF_BACK="Back" -; -COM_SH404SEF_NOT_FOUND_SHOW_URLS="Redirect to a SEF URL" -COM_SH404SEF_NOT_FOUND_SHOW_URLS_TITLE="Select a URL to 301 redirect new requests for this non-existing page. sh404SEF will select and propose a short list of URLS that look similar to the missing one. After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT="Enter a redirect URL" -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_TITLE="Click here to manually enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'). After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_FOR="redirect for" -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_LABEL="redirect to" -COM_SH404SEF_TT_ENTER_REDIRECT="Enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'), on your own site, and it should start with index.php?" -COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT="Select redirect target" -COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT_FOR="select a redirect for" -COM_SH404SEF_BACK_TO_NOT_FOUND="Back to not found list" -COM_SH404SEF_SELECT_ONLY_ONE_URL_TO_REDIRECT="Please select only one URL to redirect to" -COM_SH404SEF_INVALID_REDIRECT_TARGET_ID="Id of redirection target is not valid. Please contact administrator" -COM_SH404SEF_NOT_FOUND_REDIRECT_TO="Redirect %s to %s" -COM_SH404SEF_NOT_FOUND_SHOW_SIMILAR_URLS="Show only similar urls" -COM_SH404SEF_NOT_FOUND_SHOW_ALL_URLS="Show all SEF urls" -COM_SH404SEF_NOT_FOUND_SWITCHING_TO_DISPLAY_ALL_SEF="Could not find any similar SEF URL. Displaying all SEF URLs instead!" -COM_SH404SEF_INSERT_SHORTLINK_TAG="Insert shortlink tag" -COM_SH404SEF_TT_INSERT_SHORTLINK_TAG="If set to Yes, and a shURL is available for current page, a rel='shortlink' link tag will be inserted in the head section of the document, and as an HTTP header." -COM_SH404SEF_INSERT_REV_CAN_TAG="Insert rev canonical tag" -COM_SH404SEF_TT_INSERT_REV_CAN_TAG="If set to Yes, and a shURL is available for current page, a rev='canonical' link tag will be inserted in the head section of the document (not to be mistaken with a rel='canonical' link)" -COM_SH404SEF_INSERT_ALT_SHORT_TAG="Insert Alt. shorter tag" -COM_SH404SEF_TT_INSERT_ALT_SHORT_TAG="If set to Yes, and a shURL is available for current page, a rel='alternate shorter' link tag will be inserted in the head section of the document" -COM_SH404SEF_CAN_READ_REMOTE_CONFIG="Enable remote configuration" -COM_SH404SEF_TT_CAN_READ_REMOTE_CONFIG="If set to Yes, sh404sef will read up to date configuration from a central configuration file located on one of our server (http://versions.siliana.com/sh404sef_config.xml). This is an extremely useful feature, and we strongly encourage you to enable it. sh404SEF will work as usual without this switched on, but you will not get access to the latest version of various pieces of data, such as update server urls or search engines list especially in between releases." -COM_SH404SEF_STOP_CREATING_SHURLS="Stop creating new shURL" -COM_SH404SEF_TT_STOP_CREATING_SHURLS="If set to Yes, sh404sef will stop creating new shURLs for new pages. Existing shURL will still work normally, and will be redirected to their full-length SEF url counterpart" -COM_SH404SEF_SHURL_BLACKLIST="shURL blacklist" -COM_SH404SEF_TT_SHURL_BLACKLIST="Enter here a list of shURL you do NOT want to be created. Separate each one with a pipe ( | ) character. For instance, entering bad|bar will cause sh404SEF to never create a example.com/bad or a example.com/bar shURL.
                Note that letters i, j, l, m, n, o, s, t, v and 0, 1, 2, 5 will never be used to create shURL, so you do not need to blacklist any word that contains one of them." -COM_SH404SEF_SHURL_NON_SEF_BLACKLIST="Non-sef url blacklist" -COM_SH404SEF_TT_SHURL_NON_SEF_BLACKLIST="Enter here a list of non-sef url parts that will prevent shURL to be generated. Separate each one with a pipe ( | ) character. For instance, entering Itemid=34|task=edit will make sure no shURL is created for any non-sef url that contains the string 'Itemid=34' or the string 'task=edit'." -; -COM_SH404SEF_CANNOT_SAVE_404_NO_UNCAT="Cannot save error page to database: no sh404SEF category on your site, probably an error during installation" -; -COM_SH404SEF_INCLUDE_CONTENT_CAT="Show Category" -COM_SH404SEF_TT_INCLUDE_CONTENT_CAT="Select how a content item category should be included in the url. First and last refer to the category position in the list of categories, when there are several nested categories" -; -COM_SH404SEF_INCLUDE_CONTENT_CAT_CATEGORIES="Show cat. in categories links" -COM_SH404SEF_TT_INCLUDE_CONTENT_CAT_CATEGORIES="Select how category should be included in urls to Categories-type urls. See the menu item types to distinguish between this setting and the setting above" -COM_SH404SEF_CONTENT_TITLE_INCLUDE_CAT="Show category in title" -COM_SH404SEF_TT_CONTENT_TITLE_INCLUDE_CAT="Select how content item category will be included a browser page title" -COM_SH404SEF_CATEGORIES_SUFFIX="Categories view suffix" -COM_SH404SEF_TT_CATEGORIES_SUFFIX="Suffix used to distinguish between a regular category link and a [ List all categories ] link. The latter will have this suffix added" -COM_SH404SEF_CAT_NONE="None" -COM_SH404SEF_CAT_FIRST="Top one only" -COM_SH404SEF_CAT_LAST="Last one only" -COM_SH404SEF_CAT_2_FIRST="Top two" -COM_SH404SEF_CAT_2_LAST="Last 2" -COM_SH404SEF_CAT_ALL_NESTED_CAT="All nested categories" -; -COM_SH404SEF_LIVE_SITES="Url" -COM_SH404SEF_TT_LIVE_SITES="Url where the site can be accessed for this language. Leave empty if all languages are accessed at same address - with language code such as www.exeample.org/fr/.
                Enter a full url with no trailing slash such as http://www.frenchexample.fr, http://frenchexample.fr or http://fr.example.org.
                You will need to set DNS records so that all requests are routed to your web server for this to work." -COM_SH404SEF_WWW_DONT_ENFORCE="Do not enforce" -COM_SH404SEF_WWW_ENFORCE_WWW="Enforce access through www url" -COM_SH404SEF_WWW_ENFORCE_NO_WWW="Enforce access without www" -COM_SH404SEF_USE_JOOMLA_ROUTER="Use Joomla! router" -; -COM_SH404SEF_UNCAT_ITEM_SLUG_NO_CAT="Use only item title" -COM_SH404SEF_UNCAT_ITEM_SLUG_USE_MENU_ITEM="Insert menu item title" -COM_SH404SEF_SLUG_FOR_UNCATEGORIZED_ITEMS="Uncategorized items" -COM_SH404SEF_TT_SLUG_FOR_UNCATEGORIZED_ITEMS="Urls for uncategorized items will either include only the item title/alias, or be prepended with the menu item title.
                It is recommended to use the default value, Use item title, to avoid duplicate content that may be created when inserting a menu item title in a url" -; -COM_SH404SEF_SEE_LICENSE_AND_TERMS="see licence & terms" -; -COM_SH404SEF_ENABLE_MULTILINGUAL_SUPPORT="Enable multilingual support" -COM_SH404SEF_TT_ENABLE_MULTILINGUAL_SUPPORT="If set to Yes, sh404SEF will support multilingual features of Joomla! Please do not enable the Language Filter plugin, sh404SEF will do it for you transparently." -COM_SH404SEF_CONFIG_SOCIAL_SEO_DESC="Configure inclusion of tags to be used by social networks when sharing your website content" -COM_SH404SEF_CONFIG_SOCIAL_SEO="Social SEO" -COM_SH404SEF_CONF_SOCIAL_SEO_HELP="You can enter here some default data that will be added to each page of your site. These (invisible) Open Graph data tags will be read and used by Facebook, Google+ and possibly other social networks to help them display and organize your content, when users use Like or Send buttons on your site.
                You can override these values on a url by url basis using the URL manager or the Title and metas manager.
                Please become familiar with the Open Graph data tags name and content before starting to use them!
                You can easily insert Facebook, Twitter and Google Plus buttons on your pages (articles, products, modules or even templates) by using the sh404SEF Social buttons plugin! Using sh404SEF social buttons, social actions will be tracked in your Analytics reports
                " -COM_SH404SEF_OG_CONFIG="Social networking" -COM_SH404SEF_OG_DATA_ENABLED="Enable on all pages" -COM_SH404SEF_TT_OG_DATA_ENABLED="Set to Yes to insert Open Graph tags to your pages, using default values set below, or information you will set url by url. If set to No, you can still enable this feature url by url" -COM_SH404SEF_OG_REQUIRED_TITLE="Required tags" -COM_SH404SEF_OG_TYPE_SELECT="Object type" -COM_SH404SEF_TT_OG_TYPE_SELECT="Select the object type for the object described on your pages. 'Website' should be selected only on your site homepage, while 'article' is the normal type for most content" -COM_SH404SEF_OG_IMAGE_PATH="Image" -COM_SH404SEF_TT_OG_IMAGE_PATH="Enter the path of an image (at least 50x50px) that represent the object on your page. This should probably be set url by url. The path must be absolute, starting with a /" -COM_SH404SEF_OG_OPTIONAL_TITLE="Optional tags" -COM_SH404SEF_OG_INSERT_DESCRIPTION="Insert description" -COM_SH404SEF_TT_OG_INSERT_DESCRIPTION="If set to yes, an Open graph tag with a page description will be added to your pages. The description used will be the same as the regular Description meta tag, and can be set, for instance, using sh404SEF Title and metas manager." -COM_SH404SEF_OG_INSERT_SITE_NAME="Insert site name" -COM_SH404SEF_TT_OG_INSERT_SITE_NAME="If set to Yes, an Open Graph tag with your site name will be added to your pages" -COM_SH404SEF_OG_SITE_NAME="Site name" -COM_SH404SEF_TT_OG_SITE_NAME="Enter your site name. If left empty, the site name set in Joomla! general configuration will be used." -COM_SH404SEF_FB_ADMIN_IDS="Facebook admin ids" -COM_SH404SEF_TT_FB_ADMIN_IDS="Enter a comma separated list of Facebook admin ids. If set, this will be used by Facebook to attach your objects to your profile" -COM_SH404SEF_OG_LOCATION_TITLE="Location tags" -COM_SH404SEF_OG_INSERT_LOCATION="Insert location" -COM_SH404SEF_TT_OG_INSERT_LOCATION="If set to Yes, Open Graph location data tags will be inserted into your pages, using default values set below, or information you will set url by url" -COM_SH404SEF_OG_LATITUDE="Latitude" -COM_SH404SEF_TT_OG_LATITUDE="Enter the latitude of the object described on your page, for instance: 37.416343" -COM_SH404SEF_OG_LONGITUDE="Longitude" -COM_SH404SEF_TT_OG_LONGITUDE="Enter the longitude of the object described on your page, for instance: -122.153013" -COM_SH404SEF_OG_STREET_ADDRESS="Street address" -COM_SH404SEF_TT_OG_STREET_ADDRESS="Enter the street address of the object described on your page, for instance: 1601 S California Ave" -COM_SH404SEF_OG_LOCALITY="Locality" -COM_SH404SEF_TT_OG_LOCALITY="Enter the locality of the object described on your page, for instance: Palo Alto" -COM_SH404SEF_OG_POSTAL_CODE="Postal code" -COM_SH404SEF_TT_OG_POSTAL_CODE="Enter the postal code of the object described on your page, for instance: 94304" -COM_SH404SEF_OG_COUNTRY_NAME="Country name" -COM_SH404SEF_TT_OG_COUNTRY_NAME="Enter the country name of the object described on your page, for instance: USA" -COM_SH404SEF_OG_CONTACT_TITLE="Contact tags" -COM_SH404SEF_OG_INSERT_CONTACT="Insert contact info" -COM_SH404SEF_TT_OG_INSERT_CONTACT="If set to Yes, Open Graph contact information tags will be inserted into your pages, using default values set below, or information you will set url by url" -COM_SH404SEF_OG_EMAIL="Email" -COM_SH404SEF_TT_OG_EMAIL="Enter email of the object described on your page, for instance: me@example.com" -COM_SH404SEF_OG_PHONE_NUMBER="Phone number" -COM_SH404SEF_TT_OG_PHONE_NUMBER="Enter the phone number of the object described on your page, for instance: 650-123-4567" -COM_SH404SEF_OG_FAX_NUMBER="Fax number" -COM_SH404SEF_TT_OG_FAX_NUMBER="Enter the fax number of the object described on your page, for instance: +1-415-123-4567" -COM_SH404SEF_OG_TYPES_GROUP_ACTIVITIES="Activities" -COM_SH404SEF_OG_TYPES_ACTIVITY="Activity" -COM_SH404SEF_OG_TYPES_SPORT="Sport" -COM_SH404SEF_OG_TYPES_GROUP_BUSINESSES="Businesses" -COM_SH404SEF_OG_TYPES_BAR="Bar" -COM_SH404SEF_OG_TYPES_COMPANY="Company" -COM_SH404SEF_OG_TYPES_CAFE="Cafe" -COM_SH404SEF_OG_TYPES_HOTEL="Hotel" -COM_SH404SEF_OG_TYPES_RESTAURANT="Restaurant" -COM_SH404SEF_OG_TYPES_GROUP_GROUPS="Groups" -COM_SH404SEF_OG_TYPES_CAUSE="Cause" -COM_SH404SEF_OG_TYPES_SPORTS_LEAGUE="Sports league" -COM_SH404SEF_OG_TYPES_SPORTS_TEAM="Sports team" -COM_SH404SEF_OG_TYPES_GROUP_ORGANIZATIONS="Organizations" -COM_SH404SEF_OG_TYPES_BAND="Band" -COM_SH404SEF_OG_TYPES_GOVERNMENT="Government" -COM_SH404SEF_OG_TYPES_NON_PROFIT="Non profit" -COM_SH404SEF_OG_TYPES_SCHOOL="School" -COM_SH404SEF_OG_TYPES_UNIVERSITY="University" -COM_SH404SEF_OG_TYPES_GROUP_PEOPLE="People" -COM_SH404SEF_OG_TYPES_ACTOR="Actor" -COM_SH404SEF_OG_TYPES_ATHLETE="Athlete" -COM_SH404SEF_OG_TYPES_AUTHOR="Author" -COM_SH404SEF_OG_TYPES_DIRECTOR="Director" -COM_SH404SEF_OG_TYPES_MUSICIAN="Musician" -COM_SH404SEF_OG_TYPES_POLITICIAN="Politician" -COM_SH404SEF_OG_TYPES_PUBLIC_FIGURE="Public figure" -COM_SH404SEF_OG_TYPES_GROUP_PLACES="Places" -COM_SH404SEF_OG_TYPES_CITY="City" -COM_SH404SEF_OG_TYPES_COUNTRY="Country" -COM_SH404SEF_OG_TYPES_LANDMARK="Landmark" -COM_SH404SEF_OG_TYPES_STATE_PROVINCE="State/Province" -COM_SH404SEF_OG_TYPES_GROUP_PROD_AND_ENTERTAINMENT="Product and entertainement" -COM_SH404SEF_OG_TYPES_ALBUM="Album" -COM_SH404SEF_OG_TYPES_BOOK="Book" -COM_SH404SEF_OG_TYPES_DRINK="Drink" -COM_SH404SEF_OG_TYPES_FOOD="Food" -COM_SH404SEF_OG_TYPES_GAME="Game" -COM_SH404SEF_OG_TYPES_PRODUCT="Product" -COM_SH404SEF_OG_TYPES_SONG="Song" -COM_SH404SEF_OG_TYPES_MOVIE="Movie" -COM_SH404SEF_OG_TYPES_TV_SHOW="TV show" -COM_SH404SEF_OG_TYPES_GROUP_WEBSITES="Websites" -COM_SH404SEF_OG_TYPES_BLOG="Blog" -COM_SH404SEF_OG_TYPES_WEBSITE="Website" -COM_SH404SEF_OG_TYPES_ARTICLE="Article" -COM_SH404SEF_OG_TT_CLEAR_PER_URL="
                Enter a @ sign to clear the global value set in configuration for this field" -COM_SH404SEF_OG_DATA_ENABLED_BY_URL="Enable on this page" -COM_SH404SEF_TT_OG_DATA_ENABLED_BY_URL="If set to Yes, Open graph data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" -COM_SH404SEF_CANONICAL="Canonical url" -COM_SH404SEF_TT_CANONICAL="Enter a canonical url for this page. A canonical url will help search engines consolidate content which can be accessed through several URL under a unique one.
                You can enter any type of URL here, relative, absolute, on your site or even onto another web site. To reduce errors, we advise you enter an absolute url, either starting with a / or with http://
                Make sur you know what you're doing, a wrong canonical url can kill your site rankings." -COM_SH404SEF_OG_ENABLE_FB_ADMIN_IDS="Insert Facebook admin ids" -COM_SH404SEF_TT_OG_ENABLE_FB_ADMIN_IDS="If set to Yes, Facebook admin ids will be inserted in current page, regardless of the default setting in sh404SEF configuration. You can also customize the ids used on this page using the input box below. If set to No, the ids will not be inserted, and if set to Use Default, it will depend on sh404SEF global configuration" -COM_SH404SEF_ANALYTICS_SOCIAL_ENGAGEMENT="Social engagement" -COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT="Total social actions" -COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT_DESC="Total net number of social engagement actions that took place on your site" -COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT="Visits with social action" -COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT_DESC="Net number of visits that included some social actions" -COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT="Facebook actions count" -COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT_DESC="Net number of Facebok actions (Likes - Unlikes)" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT="+1 actions" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT_DESC="Net number of Google +1 actions (Plused - Unplused)" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT="+1 page actions count" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT_DESC="Total number of Google +1 page actions" -COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT="Twitter actions count" -COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT_DESC="Total number of Twitter actions" -COM_SH404SEF_ANALYTICS_SOCIAL_FACEBOOK_ENGAGEMENT="Facebook engagement" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_FACEBOOK_ENGAGEMENT="There was no Facebook engagement recorded" -COM_SH404SEF_ANALYTICS_SOCIAL_TWEETER_ENGAGEMENT="Twitter engagement" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_TWEETER_ENGAGEMENT="There was no recorded Twitter engagement" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ENGAGEMENT="+1 engagement" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_ENGAGEMENT="There was no +1 engagement recorded" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_PAGE_ENGAGEMENT="+1 page engagement" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_PAGE_ENGAGEMENT="There was no +1 page engagement recorded" -COM_SH404SEF_ANALYTICS_SOCIAL_LIKE="Like" -COM_SH404SEF_ANALYTICS_SOCIAL_UNLIKE="Unlike" -COM_SH404SEF_ANALYTICS_SOCIAL_SEND="Send" -COM_SH404SEF_ANALYTICS_SOCIAL_TYPE="Type" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_ENGAGEMENT="Google +1 engagement" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_PAGE_ENGAGEMENT="Google +1 pages engagement" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT="+1 page actions count" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT_DESC="Number of actions performed by visitors" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ON="Plused" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_OFF="Unplused" -; -COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT="Pinterest actions count" -COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT_DESC="Total number of Pinterest actions" -COM_SH404SEF_ANALYTICS_SOCIAL_PINNED="Pinned" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_PINTEREST_ENGAGEMENT="There was no Pinterest page engagement recorded" -COM_SH404SEF_ANALYTICS_SOCIAL_PINTEREST_ENGAGEMENT="Pinterest engagement" -COM_SH404SEF_INSERT_PAGINATION_TAGS="Insert prev/next pagination tags" -COM_SH404SEF_TT_INSERT_PAGINATION_TAGS="If set to Yes, rel='prev' and rel='next' link tags will be inserted in html documents section, to help search engines identify pages that are part of a paginated series" -; -COM_SH404SEF_TT_VIRTUEMART_NOTE="
                Note:When using Virtuemart, more url settings are available directly inside Virtuemart configuration, under the SEO tab. However, some sh404SEF general settings such as pagination strings will not work with Virtuemart urls" -; -COM_SH404SEF_TT_DEBUG_TO_LOG_FILE_PLUGIN="You can enable logging of useful debug information to a log file in the ShLib plugin parameters. Set 'Log debug message' to Yes there. Don't forget to disable it after a while, as log files may get quite large quite soon" -COM_SH404SEF_CONFIGURE_SHLIB_PLUGIN="Configure shLib plugin" -; -COM_SH404SEF_404_PAGE_DESCRIPTION="You can edit here the text of an article that will be displayed as an error page in case of '404 Page not found' error.
                The error page is a regular Joomla! content article, stored in the 'sh404SEF custom content' category. The content displayed here is for the 'All' or '*' language. It can equally be modified from Joomla!'s article list, under the title '__404__'.
                You can also make copies of that '__404__' article in other languages, in the same category, and translate them, but always keep the same '__404__' title for all languages" -; -COM_SH404SEF_OG_TYPES_PROFILE="Profile" -COM_SH404SEF_OG_TYPES_TV_EPISODE="TV episode" -COM_SH404SEF_OG_TYPES_TV_VIDEO="Video" -; -COM_SH404SEF_URL_CACHE_HANDLER="Url cache handler" -COM_SH404SEF_TT_URL_CACHE_HANDLER="If URL cache is enabled, URLs can be cached either on a disk file (default), or in shared memory. The latter requires a cache system such as APC, Memcache, WinCache to be installed and properly activated on your server.
                You can set up connection parameters for these cache system, if required, in the shLib system plugin" -COM_SH404SEF_URL_CACHE_HANDLER_FILE="Disk file" -COM_SH404SEF_URL_CACHE_HANDLER_SHARED_MEMORY="Shared memory" -COM_SH404SEF_DISPLAY_URL_CACHE_STATS="Display cache stats" -COM_SH404SEF_TT_DISPLAY_URL_CACHE_STATS="If set to Yes, URL cache statistics will be appended to the end of each page. Enable only for debugging and testing purpose" -; -COM_SH404SEF_ANALYTICS_USER_GROUPS="Enable for groups" -COM_SH404SEF_TT_ANALYTICS_USER_GROUPS="Select one or more user groups for which Analytics data collection is enabled." -; -COM_SH404SEF_COM_CONFIG_INFO_TEXT="sh404SEF configuration is accessed from it's main control panel, using the 'Configuration' toolbar button." -COM_SH404SEF_START="Start!" -COM_SH404SEF_PLEASE_WAIT="Just a moment..." -COM_SH404SEF_NEW_VERSION_AVAILABLE_NO_HTML="New version available !" -; -COM_SH404SEF_REMOVE_OTHER_CANONICALS="Remove other canonicals" -COM_SH404SEF_TT_REMOVE_OTHER_CANONICALS="If set to Yes, multiple canonical tags inserted by Joomla! and/or other extensions will be removed so that only one canonical tag at most is left." -; -COM_SH404SEF_FOOTER_FULL="sh404SEF %s %s | Copyright ©%s Yannick Gaultier, Anything Digital,llc" -; -COM_SH404SEF_TT_ANALYTICS_EDITION="Select which edition of Google Analytics to use. You can use Universal analytics with sh404SEF, but due to Universal current limitations (beta), none of the advanced analytics features of sh404SEF are available with it. It is recommended for now to run either Classic or both.
                You can also decide to use Google Tags Manager (GTM). GTM replaces both Classic Google Analytics and Universal Analytics." -COM_SH404SEF_ANALYTICS_NONE="None" -COM_SH404SEF_ANALYTICS_CLASSIC="Classic" -COM_SH404SEF_ANALYTICS_UNIVERSAL="Universal" -COM_SH404SEF_ANALYTICS_BOTH="Classic & Universal" -COM_SH404SEF_ANALYTICS_UGA_ID="Web Property ID (universal)" -COM_SH404SEF_TT_ANALYTICS_UGA_ID="The ID for this site, as supplied by Google analytics Universal edition. It should look like UA-XXXXX-Y where X and Y are numbers.
                We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                If you already have an account, just use it, you don't need to create a separate one for sh404SEF." -; -COM_SH404SEF_UPDATES="Updates" -COM_SH404SEF_UPDATES_DESCRIPTION="Some editions of this extension requires credentials to perform one-click updates. Cut and paste them from your subscription dashboard on our website." -COM_SH404SEF_CONF_TAB_UPDATES="Update credentials" -COM_SH404SEF_UPDATE_ACCESS_KEY="Access key" -COM_SH404SEF_TT_UPDATE_ACCESS_KEY="Enter here your update access key" -COM_SH404SEF_UPDATE_SECRET_KEY="Secret key" -COM_SH404SEF_TT_UPDATE_SECRET_KEY="Enter here your update secret key" -COM_SH404SEF_PERFORM_UPDATE="Update now!" -; -COM_SH404SEF_ANALYTICS_GOOGLE_TAGS_MANAGER="Use Google Tags Manager" -COM_SH404SEF_ANALYTICS_GTM_ID="Google Tags manager ID" -COM_SH404SEF_TT_ANALYTICS_GTM_ID="Insert here your Google Tags Manager ID. It should look like GTM-XXXXXX." -; -COM_SH404SEF_TWITTER_CARDS_TITLE="Twitter Cards" -COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS="Enable Twitter Cards" -COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC="If set to Yes, Twitter Cards meta tags will be inserted into the page head section" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT="Site account" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:site' cards meta tag, including @ sign" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT="Creator account" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:creator' cards meta tag, including @ sign" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_USE_OG_IMAGE="Please note that Twitter Cards image tag will use the same image as OpenGraph image tag" -COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC_PER_URL="If set to Yes, Twitter Cards data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES="Enable on categories" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_DESC="Select one or more Joomla! content categories where Twitter Cards informaton should be inserted" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_SHOW_ON_ALL="All categories" -; -COM_SH404SEF_GOOGLE_AUTHORSHIP_TITLE="Google authorship" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP="Enable Google authorship" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP_DESC="If set to Yes, Google+ authorship information will replace Joomla! provided author information" -COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE="Profile id" -COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE_DESC="Enter your Google+ profile Id. This may be a number such as 1464599466741256989 or named url similar to +johnDoe (include the leading +)" -COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME="Author name" -COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME_DESC="Enter your full name as it appears on your Google+ profile" -COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES="Enable on categories" -COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_DESC="Select one or more Joomla! content categories where Google+ authorship informaton should be inserted" -COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_SHOW_ON_ALL="All categories" -; -COM_SH404SEF_LANGUAGEFILTER_PLUGIN_WARNING="It seems your site is multilingual. From sh404SEF version 4.3.1 up, Joomla! languagefilter system plugin should now be enabled, while older versions required it to be disabled. You can enable it on this page" -; -COM_SH404SEF_ANALYTICS_ENABLE_ANONYMIZATION="Anonymize IP" -COM_SH404SEF_TT_ANALYTICS_ENABLE_ANONYMIZATION="If set to Yes, required code to ask Google to anonymize visitors IP address will be added to the tracking snippet" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER="Enable Google publisher tag" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER_DESC="If set to Yes, a rel=publisher tag will be inserted in the section of each page - unless you already have set a visible Google+ page badge (see sh404SEF core social plugin parameters). In such case, the latter will take precedence." -COM_SH404SEF_GOOGLE_PUBLISHER_URL="Google+ publisher URL" -COM_SH404SEF_GOOGLE_PUBLISHER_URL_DESC="Enter here the Google+ page of the publisher. This may be a number such as 1464599466741256989 or a named url similar to +myCompany (include the leading +)" +; @version $Id$ +; @package sh404sef-1 +; @author Yannick Gaultier +; @copyright Copyright (C) 2014 Yannick Gaultier All rights reserved. +; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL + +COM_SH404SEF_404PAGE="404 Page" +COM_SH404SEF_ADD="Add" +COM_SH404SEF_ADDFILE="Default index file." +COM_SH404SEF_ASC=" (asc) " +COM_SH404SEF_BADURL="The Non-SEF Url must begin with index.php" +COM_SH404SEF_CHK_PERMS="Please check your file permissions and ensure that that this file can be read." +COM_SH404SEF_CONFIG="General" +COM_SH404SEF_CONFIG_DESC="Configure main sh404SEF functionalities. After changing settings on this page, you will most likely need to purge the SEF urls database, so that new urls are recreated in accordance with the new parameters you now use. This is done from the URL manager." +COM_SH404SEF_CONFIG_UPDATED="Configuration updated" +COM_SH404SEF_CONFIRM_ERASE_CACHE="Do you want to clear the URL cache ? This is highly recommended after changing configuration. To generate again the cache, you should browse again your homepage, or better : generate a sitemap for your site." +COM_SH404SEF_COPYRIGHT="Copyright" +COM_SH404SEF_DATEADD="Date Added" +COM_SH404SEF_DEBUG_DATA_DUMP="DEBUG DATA DUMP COMPLETE: Page Load Terminated" +COM_SH404SEF_DEF_404_MSG="

                Bad karma: we can't find that page!

                You asked for {%sh404SEF_404_URL%}, but despite our computers looking very hard, we could not find it. What happened ?

                • the link you clicked to arrive here has a typo in it
                • or somehow we removed that page, or gave it another name
                • or, quite unlikely for sure, maybe you typed it yourself and there was a little mistake ?

                {sh404sefSimilarUrlsCommentStart}It's not the end of everything though : you may be interested in the following pages on our site:{sh404sefSimilarUrlsCommentEnd}

                {sh404sefSimilarUrls}

                " +COM_SH404SEF_DEF_404_PAGE="Default 404 Page" +COM_SH404SEF_DESC=" (desc) " +COM_SH404SEF_EDIT="Edit" +COM_SH404SEF_EMPTYURL="You must provide a URL for the redirection." +COM_SH404SEF_ENABLED="Enabled" +COM_SH404SEF_ERROR_IMPORT="Error while importing:" +COM_SH404SEF_EXPORT="Backup Custom URLS" +COM_SH404SEF_EXPORT_FAILED="EXPORT FAILED!!!" +COM_SH404SEF_FATAL_ERROR_HEADERS="FATAL ERROR: HEADER ALREADY SENT" +COM_SH404SEF_FRIENDTRIM_CHAR="Trim friendly characters" +COM_SH404SEF_HELP="sh404SEF
                Support" +COM_SH404SEF_HELPDESC="Need help with sh404SEF?" +COM_SH404SEF_HELPVIA="Help is availible via the following forums:" +COM_SH404SEF_HIDE_CAT="Hide Category" +COM_SH404SEF_IMPORT="Import Custom URLS" +COM_SH404SEF_IMPORT_EXPORT="Import/Export URLS" +COM_SH404SEF_IMPORT_OK="Custom URLS were successfully imported!" +COM_SH404SEF_INFO="sh404SEF Documentation" +COM_SH404SEF_INFODESC="View sh404SEF Project Summary and Documentation" +COM_SH404SEF_INSTALLED_VERS="Installed version:" +COM_SH404SEF_INVALID_SQL="INVALID DATA IN SQL FILE :" +COM_SH404SEF_INVALID_URL="INVALID URL: this link requires a valid Itemid, but one was not found.
                SOLUTION: Create a menuitem for this item. You do not have to publish it, just create it." +COM_SH404SEF_LICENSE="License" +COM_SH404SEF_LOWER="All lowercase" +COM_SH404SEF_MAMBERS="Mambers Forum" +COM_SH404SEF_NO_UNLINK="Unable to remove uploaded file from media directory" +COM_SH404SEF_NOACCESS="Unable to access" +COM_SH404SEF_NOCACHE="Simple encoding" +COM_SH404SEF_NOLEADSLASH="The should be NO LEADING SLASH on the New SEF URL" +COM_SH404SEF_NOREAD="FATAL ERROR: Unable to read file " +COM_SH404SEF_NORECORDS="No records found." +COM_SH404SEF_OFFICIAL="Official Project Forum" +COM_SH404SEF_OK=" OK " +COM_SH404SEF_PAGEREP_CHAR="Page spacer character" +COM_SH404SEF_PAGETEXT="Page text" +COM_SH404SEF_PROCEED=" Proceed " +COM_SH404SEF_PURGE404="Purge 404 Logs" +COM_SH404SEF_PURGE404DESC="Purge 404 Logs" +COM_SH404SEF_PURGECUSTOM="Purge
                Custom Redirects" +COM_SH404SEF_PURGECUSTOMDESC="Purge Custom Redirects" +COM_SH404SEF_PURGEURL="Purge
                SEF Urls" +COM_SH404SEF_PURGEURLDESC="Purge SEF Urls" +COM_SH404SEF_REALURL="Real Url" +COM_SH404SEF_RECORD=" record" +COM_SH404SEF_RECORDS=" records" +COM_SH404SEF_REPLACE_CHAR="Replacement character" +COM_SH404SEF_SAVEAS="Save as Custom Redirect" +COM_SH404SEF_SEFURL="SEF Url" +COM_SH404SEF_SELECT_DELETE="Select an item to delete" +COM_SH404SEF_SELECT_FILE="Please select a file first" +COM_SH404SEF_ACTIVATE_IJOOMLA_MAG="Activate iJoomla magazine in content" +COM_SH404SEF_ADV_INSERT_ISO="Insert ISO code" +COM_SH404SEF_ADV_MANAGE_URL="URL processing" +COM_SH404SEF_ADV_TRANSLATE_URL="Translate URL" +COM_SH404SEF_ALWAYS_INSERT_ITEMID="Always append Itemid to SEF URL" +COM_SH404SEF_ALWAYS_INSERT_MENU_TITLE="Always insert menu title" +COM_SH404SEF_CACHE_TITLE="Cache management" +COM_SH404SEF_CAT_TABLE_SUFFIX="Table" +COM_SH404SEF_CB_INSERT_NAME="Insert Community Builder name" +COM_SH404SEF_CB_INSERT_USER_ID="Insert user ID" +COM_SH404SEF_CB_INSERT_USER_NAME="Insert user name" +COM_SH404SEF_CB_NAME="Default CB name" +COM_SH404SEF_CB_TITLE="Community Builder configuration " +COM_SH404SEF_CB_USE_USER_PSEUDO="Insert user pseudo" +COM_SH404SEF_CONF_TAB_ADVANCED="Advanced" +COM_SH404SEF_CONF_TAB_BY_COMPONENT="By component" +COM_SH404SEF_CONF_TAB_MAIN="Main" +COM_SH404SEF_CONF_TAB_PLUGINS="Plugins" +COM_SH404SEF_DEFAULT_MENU_ITEM_NAME="Default menu title" +COM_SH404SEF_DO_NOT_INSERT_LANGUAGE_CODE="Do not insert code" +COM_SH404SEF_DO_NOT_OVERRIDE_SEF_EXT="Use component or core plugin" +COM_SH404SEF_OVERRIDE_SEF_EXT="Use sh404sef plugin if available" +COM_SH404SEF_DO_NOT_TRANSLATE_URL="Do not translate" +COM_SH404SEF_ENCODE_URL="Encode URL" +COM_SH404SEF_FB_INSERT_CATEGORY_ID="Insert category ID" +COM_SH404SEF_FB_INSERT_CATEGORY_NAME="Insert category name" +COM_SH404SEF_FB_INSERT_MESSAGE_ID="Insert post ID" +COM_SH404SEF_FB_INSERT_MESSAGE_SUBJECT="Insert post subject" +COM_SH404SEF_FB_INSERT_NAME="Insert Kunena name" +COM_SH404SEF_FB_NAME="Default Kunena Name" +COM_SH404SEF_FB_TITLE="Kunena Configuration " +COM_SH404SEF_FILTER="Filter" +COM_SH404SEF_FORCE_NON_SEF_HTTPS="Force non sef if HTTPS" +COM_SH404SEF_GUESS_HOMEPAGE_ITEMID="Guess Itemid on homepage" +COM_SH404SEF_IJOOMLA_MAG_NAME="Default magazine name" +COM_SH404SEF_IJOOMLA_MAG_TITLE="iJoomla Magazine configuration" +COM_SH404SEF_INSERT_GLOBAL_ITEMID_IF_NONE="Insert menu Itemid if none" +COM_SH404SEF_INSERT_IJOOMLA_MAG_ARTICLE_ID="Insert article id in URL" +COM_SH404SEF_INSERT_IJOOMLA_MAG_ISSUE_ID="Insert issue id in URL" +COM_SH404SEF_INSERT_IJOOMLA_MAG_MAGAZINE_ID="Insert magazine id in URL" +COM_SH404SEF_INSERT_IJOOMLA_MAG_NAME="Insert magazine name in URL" +COM_SH404SEF_INSERT_LANGUAGE_CODE="Insert language code in URL" +COM_SH404SEF_INSERT_NUMERICAL_ID="Insert numerical id in URL" +COM_SH404SEF_INSERT_NUMERICAL_ID_ALL_CAT="All categories" +COM_SH404SEF_INSERT_NUMERICAL_ID_CAT_LIST="Apply to which categories" +COM_SH404SEF_INSERT_NUMERICAL_ID_TITLE="Unique ID" +COM_SH404SEF_INSERT_PRODUCT_ID="Insert product ID in URL" +COM_SH404SEF_INSERT_TITLE_IF_NO_ITEMID="Insert menu title if no Itemid" +COM_SH404SEF_ITEMID_TITLE="Itemid management" +COM_SH404SEF_LETTERMAN_DEFAULT_ITEMID="Default Itemid for Letterman page" +COM_SH404SEF_LETTERMAN_TITLE="Letterman configuration " +COM_SH404SEF_LIVE_SECURE_SITE="SSL secure URL" +COM_SH404SEF_LOG_404_ERRORS="Log 404 errors" +COM_SH404SEF_MAX_URL_IN_CACHE="Cache size" +COM_SH404SEF_REDIR_404="404" +COM_SH404SEF_REDIR_CUSTOM="Custom" +COM_SH404SEF_REDIR_SEF="SEF" +COM_SH404SEF_REDIR_TOTAL="Total" +COM_SH404SEF_REDIRECT_JOOMLA_SEF_TO_SEF="301 redirect from JOOMLA SEF to sh404SEF" +COM_SH404SEF_REDIRECT_NON_SEF_TO_SEF="301 redirect from non-sef to sef URL" +COM_SH404SEF_REPLACEMENTS="Character replacements list" +COM_SH404SEF_SHOP_NAME="Default shop name" +COM_SH404SEF_TRANSLATE_URL="Translate URL" +COM_SH404SEF_TRANSLATION_TITLE="Translation management" +COM_SH404SEF_USE_URL_CACHE="Activate URL cache" +COM_SH404SEF_VM_ADDITIONAL_TEXT="Additionnal text" +COM_SH404SEF_VM_DO_NOT_SHOW_CATEGORIES="None" +COM_SH404SEF_VM_INSERT_CATEGORIES="Insert categories" +COM_SH404SEF_VM_INSERT_CATEGORY_ID="Insert category ID in URL" +COM_SH404SEF_VM_INSERT_FLYPAGE="Insert flypage name" +COM_SH404SEF_VM_INSERT_MANUFACTURER_ID="Insert manufacturer ID" +COM_SH404SEF_VM_INSERT_MANUFACTURER_NAME="Insert manufacturer name in URL" +COM_SH404SEF_VM_INSERT_SHOP_NAME="Insert shop name in URL" +COM_SH404SEF_VM_SHOW_ALL_CATEGORIES="All nested categories" +COM_SH404SEF_VM_SHOW_LAST_CATEGORY="Only last one" +COM_SH404SEF_VM_TITLE="VirtueMart configuration" +COM_SH404SEF_VM_USE_PRODUCT_SKU="Use product SKU for name" +COM_SH404SEF_SHOW0="Show SEF Urls" +COM_SH404SEF_SHOW1="Show 404 Log" +COM_SH404SEF_SHOW2="Show Custom Redirects" +COM_SH404SEF_SKIP="Leave as non-sef" +COM_SH404SEF_SORTBY="Sort by:" +COM_SH404SEF_STRANGE="Something strange has occured. This should not happen
                " +COM_SH404SEF_STRIP_CHAR="Strip characters" +COM_SH404SEF_SUCCESSPURGE="Successfully purged records" +COM_SH404SEF_SUFFIX="File suffix" +COM_SH404SEF_SUPPORT="Support
                WebSite" +COM_SH404SEF_SUPPORTDESC="Connect to the sh404SEF website (new window)" +COM_SH404SEF_TITLE_ADV="Advanced Component Configuration" +COM_SH404SEF_TITLE_BASIC="Basic Configuration" +COM_SH404SEF_TITLE_CONFIG="sh404SEF Configuration" +COM_SH404SEF_TITLE_MANAGER="sh404SEF URL Manager" +COM_SH404SEF_TITLE_PURGE="sh404SEF Purge Database" +COM_SH404SEF_TITLE_SUPPORT="sh404SEF Support" +COM_SH404SEF_TT_ADDFILE="File name to place after a blank url / when no file exists. Useful for bots that crawl your site looking for a specific file in that place but returns a 404 because there is none there." +COM_SH404SEF_TT_ADV4="Advanced Options for " +COM_SH404SEF_TT_ENABLED="If set to No the default SEF for Joomla will be used" +COM_SH404SEF_TT_FRIENDTRIM_CHAR="Characters to trim from around the URL, separate with |. Warning: if you change this from its default value, make sure to not leave it empty. At least use a space. Due to a small bug in Joomla, this cannot be left empty." +COM_SH404SEF_TT_LOWER="Convert all characters to lowercase characters in the URL" +COM_SH404SEF_TT_PAGEREP_CHAR="Character to use to space page numbers away from the rest of the URL" +COM_SH404SEF_TT_PAGETEXT="Text to append to url for multiple pages. Use %s to insert page number, by default it will be at end. If a suffix is defined, it will be added to the end of this string." +COM_SH404SEF_TT_REPLACE_CHAR="Character to use to replace unknown characters in URL" +COM_SH404SEF_TT_ACTIVATE_IJOOMLA_MAG="If set to Yes, the ed parameter if passed to the com_content component will be interpreted as the iJoomla magazine edition id." +COM_SH404SEF_TT_ADV_INSERT_ISO="For each component installed, and if your site is multi-lingual, choose to insert or not the target language ISO code in the SEF URL. For instance : www.monsite.com/fr/introduction.html. fr stands for french. This code will not be inserted in default language URL." +COM_SH404SEF_TT_ADV_MANAGE_URL="For each component installed:
                use default handler
                process normally, if an SEF Advanced extension is present it will be used instead.
                Simple encoding
                do not store in DB and create old style SEF URLs
                Leave as non-sef
                do not make SEF urls for this component
                use Joomla! router
                Use Joomla! routing system, without storing urls in database. Some features will not work in this mode, such as Itemid management" +COM_SH404SEF_TT_ADV_OVERRIDE_SEF="Some components come with their own sef_ext files intended for use with Joomla SEF, OpenSEF or SEF Advanced. If this parameter is on (Override sef_ext), this extension file will not be used, and sh404SEF own plugin will be used instead (assuming there is one for that particular component). If not, then the component’s own sef_ext file will be used." +COM_SH404SEF_TT_ADV_TRANSLATE_URL="For each component installed, select if URL should be translated. No effect if site has only one language." +COM_SH404SEF_TT_ALWAYS_INSERT_ITEMID="If set to yes, the non-sef Itemid (or the current menu item Itemid if none is set in the non-sef URL) will be appended to the SEF URL. This should be used instead of Always insert menu title parameter, if you have several menu items with the same title (as if one in main menu and one in top menu for instance)" +COM_SH404SEF_TT_ALWAYS_INSERT_MENU_TITLE="If set to yes, the menu item title corresponding to the Itemid set up in the non-sef URL, or the current menu item title if no Itemid is set, will be inserted in the SEF URL." +COM_SH404SEF_TT_CB_INSERT_NAME="If set to Yes, the menu element title leading to Community Builder main page will be prepended to all CB SEF URL" +COM_SH404SEF_TT_CB_INSERT_USER_ID="If set to Yes, user ID will be prepended to its name whe previous option is also set to Yes, just in case two users have the same name." +COM_SH404SEF_TT_CB_INSERT_USER_NAME="If set to Yes, user name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users. If set to No, the user id will be used instead, using regular format : ..../send-user-email.html?user=245" +COM_SH404SEF_TT_CB_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." +COM_SH404SEF_TT_CB_USE_USER_PSEUDO="If set to Yes, the user pseudo will be inserted in SEF URL, if you have activated this option above, instead of its actual name." +COM_SH404SEF_TT_DEFAULT_MENU_ITEM_NAME="When the above parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance" +COM_SH404SEF_TT_ENCODE_URL="If set to Yes, URL will be encoded so as to be compatible with languages having non-latin characters. Encoded URL will look like : mysite.com/%34%56%E8%67%12....." +COM_SH404SEF_TT_FB_INSERT_CATEGORY_ID="If set to Yes, category ID will be prepended to its name whe previous option is also set to Yes, just in case two categories have the same name." +COM_SH404SEF_TT_FB_INSERT_CATEGORY_NAME="If set to Yes, the category name will be inserted into all SEF links to a post or a category" +COM_SH404SEF_TT_FB_INSERT_MESSAGE_ID="If set to Yes, each post ID will be prepended to its subject whe previous option is also set to Yes, just in case two posts have the same subject." +COM_SH404SEF_TT_FB_INSERT_MESSAGE_SUBJECT="If set to Yes, each post subject will be inserted in the SEF url leading to this post " +COM_SH404SEF_TT_FB_INSERT_NAME="If set to Yes, the menu element title leading to Kunena main page will be prepended to all Kunena SEF URL" +COM_SH404SEF_TT_FB_NAME="If set to yes, Kunena name (as defined by Kunena menu item title) will allways be prepended to SEF URL." +COM_SH404SEF_TT_FORCE_NON_SEF_HTTPS="If set to Yes, URL will be forced to non sef after switching to SSL mode(HTTPS). This allows operation with some shared SSL servers causing problems otherwise." +COM_SH404SEF_TT_GUESS_HOMEPAGE_ITEMID="If set to yes, and on homepage only, Itemid of com_content URLs will be removed and replaced by the one sh404SEF guestimates. This is useful when some content elements can be viewed on the frontpage (in blog view for instance), and also on other pages on the site." +COM_SH404SEF_TT_IJOOMLA_MAG_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance" +COM_SH404SEF_TT_INSERT_GLOBAL_ITEMID_IF_NONE="If no Itemid is set in the non-sef URL before it is turned into an SEF one, and you set this option to true, the curent menu item Itemid will be added to it. This will ensure that, if clicked, the link will stay on the same page (ie: same modules displayed)" +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ARTICLE_ID="If set to Yes, article ID will be prepended to each article title inserted in an URL, as in :
                mysite.com/Joomla-magazine/56-Good-article-title.html" +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ISSUE_ID="If set to Yes, the issue unique internal id will be prepended to each issue name, to make sure it is unique." +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_MAGAZINE_ID="If set to Yes, magazine ID will be prepended to each magazine name inserted in an URL, as in :
                mysite.com/4-Joomla-magazine/Good-article-title.html" +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_NAME="If set to yes, magazine name (as defined by magazine menu item title) will allways be prepended to SEF URL" +COM_SH404SEF_TT_INSERT_NUMERICAL_ID="If set to Yes, a numerical id will be added to the URL, in order to facilitate inclusion in services such as Google news. The id will follow this format : 2007041100000, where 20070411 is date of creation and 00000 is internal unique id of the content element. You should finally set the date of creation when your content is ready for publishing. Please be aware that you should not change it afterwards." +COM_SH404SEF_TT_INSERT_NUMERICAL_ID_CAT_LIST="Numerical id will be inserted in sef URLs of content elements found in onl y those categories listed here. You can select multiple categories by pressing and holding the CTRL key before clicking on a category name." +COM_SH404SEF_TT_INSERT_PRODUCT_ID="If set to Yes, product ID will be prepended to product name in the SEF URL
                For instance : mysite.com/3-my-very-nice-product.html.
                This is useful if you do not insert all categories names in URL, as several products may have same name, in various categories. Please note that this is not the product SKU, but rather the internal product id, which is always unique." +COM_SH404SEF_TT_INSERT_TITLE_IF_NO_ITEMID="If no Itemid is set in the non-sef URL before it is turned into an SEF one, and you set this option to true, the current menu item title will be inserted in the SEF URL. This should be set to true if above parameter is also set to true, as this will prevent -2, -3, -... to be appended to the SEF URL if an article is viewed from different locations" +COM_SH404SEF_TT_LETTERMAN_DEFAULT_ITEMID="Enter Itemid of page to be inserted in Letterman links (unsubscribe, confirmation messages, ..." +COM_SH404SEF_TT_LIVE_SECURE_SITE="Set this to the full base URL of your site when in SSL mode.
                Required only if you use https access. If not set, will default to httpS://normalSiteURL.
                Please enter full url, without any trailing slash. Example : https://www.mysite.com or https://sharedsslserveur.com/myaccount." +COM_SH404SEF_TT_LOG_404_ERRORS="If set to Yes, 404 errors will be logged to database. This may help you find errors within your site links. It may also use up uneeded database space, so you can probably disable i when your site has been well tested." +COM_SH404SEF_TT_MAX_URL_IN_CACHE="When URL cache is activated, this parameter sets its maximum size. Enter the maximum number of URL that can be stored in the cache (additional URL will be processed, but not stored in cache, so loading time will be higher). Roughly speaking, each URL is worth around 200 bytes (100 for the SEF URL and 100 for the non-sef URL). So, for instance, 5000 URLs will use about 1 Mb of memory." +COM_SH404SEF_TT_REDIRECT_JOOMLA_SEF_TO_SEF="If set to Yes, sh404sef will try to redirect JOOMLA standard SEF url to their sh404SEF equivalent, if any in the database. If it does not exists, it will be created on the fly, unless there is some POST data, in which case nothing happens. Warning: this feature will work in most cases, but may give bad redirects for some Joomla SEF URL. Leave off if possible." +COM_SH404SEF_TT_REDIRECT_NON_SEF_TO_SEF="If set to Yes, non-sef URL already existing in the DB will be redirected to their SEF counterpart, using a 301 - Moved permanently redirection. If the SEF URL does not exist, it will be created, except if there are some POST data passed in the page request." +COM_SH404SEF_TT_REPLACEMENTS="Characters non accepted in URL, such as non-latin or accented, can be replaced as per this replacement table.
                Format is xxx | yyy for each replacement rule. xxx is the character to be replaced, whereas yyy is the new character.
                There can be many of this rules, separated by commas (,). Between the old character and the new one, use a | character.
                Note also that xxx or yyy can be multiple characters, such as in Å’|oe " +COM_SH404SEF_TT_SHOP_NAME="When the above parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance" +COM_SH404SEF_TT_TRANSLATE_URL="If activated, and site is multi-lingual, SEF URL elements will be translated to the visitor language, as decided by Joomfish. If de-activated, URL will always be in default language of site. Not used if site is not multi-lingual." +COM_SH404SEF_TT_USE_URL_CACHE="If activated, SEF URL will be written to an in-memory cache, which will improve page load time significantly. This will however use up memory!" +COM_SH404SEF_TT_VM_ADDITIONAL_TEXT="If set to Yes, an additional text will be appended to browse categories URL. For instance : ..../category-A/View-all-products.html VS ..../category-A/ ." +COM_SH404SEF_TT_VM_INSERT_CATEGORIES="If set to None, no category name will be inserted in a URL leading to a product display, as in :
                mysite.com/joomla-cms.html
                If set to Only last one, the name of the category to which the product belongs will be inserted in the SEF URL, as in :
                mysite.com/joomla/joomla-cms.html
                If set to All nested categories, the names of all categories to which the product belongs will be added, as in :
                mysite.com/software/cms/joomla/joomla-cms.html" +COM_SH404SEF_TT_VM_INSERT_CATEGORY_ID="If set to Yes, category ID will be prepended to each category name inserted in an URL leading to a product, as in :
                mysite.com/1-software/4-cms/1-joomla/joomla-cms.html" +COM_SH404SEF_TT_VM_INSERT_FLYPAGE="If set to Yes, the flypage name will be inserted in the URL leading to a product details. Can be deactivated if you use only one flypage." +COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_ID="If set to Yes, manufacturer ID will be prepended to manufacturer name in the SEF URL
                For instance : mysite.com/6-manufacturer-name/3-my-very-nice-product.html." +COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_NAME="If set to Yes, manufacturer name, if any, will be inserted in SEF URL leading to a product.
                For instance : mysite.com/manufacturer-name/product-name.html" +COM_SH404SEF_TT_VM_INSERT_SHOP_NAME="If set to yes, shop name (as defined by shop menu item title) will allways be prepended to SEF URL" +COM_SH404SEF_TT_VM_USE_PRODUCT_SKU="If set to Yes, product SKU, the product code you enter for each product, will be used instead of the product full name." +COM_SH404SEF_TT_STRIP_CHAR="Characters to strip from the URL, separate with |" +COM_SH404SEF_TT_SUFFIX="Extension to use for 'files'. Leave blank to disable. A common entry here is 'html'." +COM_SH404SEF_TT_USE_ALIAS="Set to yes to use the title_alias instead of title in the URL" +COM_SH404SEF_UNWRITEABLE=" Unwriteable" +COM_SH404SEF_UPLOAD_OK="File was successfully uploaded" +COM_SH404SEF_URLEXIST="This URL already exists in the database!" +COM_SH404SEF_USE_ALIAS="Use Title Alias" +COM_SH404SEF_USE_DEFAULT="(use default handler)" +COM_SH404SEF_USING_DEFAULT=" Using Default Values" +COM_SH404SEF_VIEW404="View/Edit
                404 Logs" +COM_SH404SEF_VIEW404DESC="This page will show you a list of requests made to your web site by users that ended up being for a non-existing page. You'll be able to purge those records - after carefully cheching whether they result from simple typos or possibly from broken links on your sites" +COM_SH404SEF_VIEWCUSTOM="View/Edit
                Custom Redirects" +COM_SH404SEF_VIEWCUSTOMDESC="View/Edit Custom Redirects" +COM_SH404SEF_VIEWMODE="ViewMode:" +COM_SH404SEF_VIEWURL="URL manager" +COM_SH404SEF_VIEWURLDESC="This page will show you a list of all your SEF urls, with all details about them. That's where you want to go to either customize or delete some SEF urls. From there, you'll also be able to set page titles and meta tags, create aliases, manage non-sef url duplication, and purge some or all urls in the database" +COM_SH404SEF_WARNDELETE="WARNING!!! You are about to delete " +COM_SH404SEF_WRITE_ERROR="Error writing config" +COM_SH404SEF_WRITE_FAILED="Unable to write uploaded file to tmp directory" +COM_SH404SEF_WRITEABLE=" Writeable" +COM_SH404SEF_DOCMAN_TITLE="DOCMan configuration" +COM_SH404SEF_DOCMAN_INSERT_NAME="Insert DOCMan name" +COM_SH404SEF_TT_DOCMAN_INSERT_NAME="If set to Yes, the menu element title leading to DOCMan main page will be prepended to all DOCMan SEF URL" +COM_SH404SEF_DOCMAN_NAME="Default DOCMan name" +COM_SH404SEF_TT_DOCMAN_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." +COM_SH404SEF_DOCMAN_INSERT_DOC_ID="Insert document ID" +COM_SH404SEF_TT_DOCMAN_INSERT_DOC_ID="If set to Yes, document ID will be prepended to a document name, which is needed in case some documents have identical names." +COM_SH404SEF_DOCMAN_INSERT_DOC_NAME="Insert document name" +COM_SH404SEF_TT_DOCMAN_INSERT_DOC_NAME="If set to Yes, a document name will be inserted in all SEF URL leading to an action on this document" +COM_SH404SEF_MYBLOG_TITLE="MyBlog Configuration" +COM_SH404SEF_MYBLOG_INSERT_NAME="Insert MyBlog name" +COM_SH404SEF_TT_MYBLOG_INSERT_NAME="If set to Yes, the menu element title leading to MyBlog main page will be prepended to all MyBlog SEF URL" +COM_SH404SEF_MYBLOG_NAME="Default Myblog name" +COM_SH404SEF_TT_MYBLOG_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." +COM_SH404SEF_MYBLOG_INSERT_POST_ID="Insert post ID" +COM_SH404SEF_TT_MYBLOG_INSERT_POST_ID="If set to Yes, internal post ID will be prepended to the post title, which is needed in case several posts have identical titles." +COM_SH404SEF_MYBLOG_INSERT_TAG_ID="Insert tag id" +COM_SH404SEF_TT_MYBLOG_INSERT_TAG_ID="If set to Yes, internal tag ID will be prepended to the tag name, which is needed in case several tags are identical, or in case of interference with other a category name." +COM_SH404SEF_MYBLOG_INSERT_BLOGGER_ID="Insert blogger id" +COM_SH404SEF_TT_MYBLOG_INSERT_BLOGGER_ID="If set to Yes, internal blogger ID will be prepended to the blogger name, which is needed in case several bloggers have the same name." +COM_SH404SEF_RW_MODE_NORMAL="with .htaccess (mod_rewrite)" +COM_SH404SEF_RW_MODE_INDEXPHP="without .htaccess (index.php)" +COM_SH404SEF_RW_MODE_INDEXPHP2="without .htaccess (index.php?)" +COM_SH404SEF_SELECT_REWRITE_MODE="Rewriting mode" +COM_SH404SEF_TT_SELECT_REWRITE_MODE="Select a rewriting mode for sh404SEF.
                with .htaccess (mod_rewrite)
                Default mode : you must have a .htacces file, properly configured to match your server configuration
                without .htaccess (index.php)
                You don’t need a .htaccess file. This mode uses the PathInfo function of Apache servers. URLs will have an added /index.php/ bit at the beginning. It is not impossible that IIS servers also accept these URLS
                " +COM_SH404SEF_RECORD_DUPLICATES="Record duplicated URL" +COM_SH404SEF_TT_RECORD_DUPLICATES="If set to Yes, sh404SEF will record in the DB all non sef URL that yield the same SEF url. This will aloow you to choose which one you prefer, using the Manage Duplicates function on the SEF URL display list." +COM_SH404SEF_META_TITLE="Page title" +COM_SH404SEF_TT_META_TITLE="Enter the text to be inserted in the META Title tag for currently selected URL." +COM_SH404SEF_META_DESC="Description tag" +COM_SH404SEF_TT_META_DESC="Enter the text to be inserted in the META Description tag for currently selected URL." +COM_SH404SEF_META_KEYWORDS="Keywords tag" +COM_SH404SEF_TT_META_KEYWORDS="Enter the text to be inserted in the META keywords tag for currently selected URL. Every words or group of words must be comma separated." +COM_SH404SEF_META_ROBOTS="Robots tag" +COM_SH404SEF_TT_META_ROBOTS="Enter the text to be inserted in the META Robots tag for currently selected URL. This tag tells search engines whether they must follow links on the current page, and what to do with the content of this current page. Common values :
                INDEX,FOLLOW : index current page content, and follow all links found on the page
                INDEX,NO FOLLOW : index current page content, but do not follow links found within the page
                NO INDEX, NO FOLLOW : do not index the current page content, and do not follow links found within the page
                " +COM_SH404SEF_META_LANG="Language tag" +COM_SH404SEF_TT_META_LANG="Enter the text to be inserted in the META http-equiv= Content-Language tag for currently selected URL. " +COM_SH404SEF_CONF_TAB_META="Meta/SEO" +COM_SH404SEF_CONF_META_DOC="sh404SEF has several plugins to automatically create page title and description tags for some components. More plugins can be created by third-parties developers, when automatic meta tags creation is possible. If no plugin is supplied for a given extensions, it is usually better to either manually customize tags, or leave them empty.
                " +COM_SH404SEF_REMOVE_JOOMLA_GENERATOR="Remove Joomla Generator tag" +COM_SH404SEF_TT_REMOVE_JOOMLA_GENERATOR="If set to Yes, the Generator = Joomla meta tag will be removed from all pages." +COM_SH404SEF_PUT_H1_TAG="Insert h1 tags" +COM_SH404SEF_TT_PUT_H1_TAG="If set to Yes, regular content titles will be placed within h1 tags. These titles are normally placed by Joomla in a CSS class which name begins with contentheading." +COM_SH404SEF_META_MANAGEMENT_ACTIVATED="Activate SEO management" +COM_SH404SEF_TT_META_MANAGEMENT_ACTIVATED="If set to Yes, Title, Description, Keywords, Robots and Language META tags will be managed by sh404SEF. Otherwise, original values produced by Joomla and/or other components will be left untouched. " +COM_SH404SEF_TITLE_META_MANAGEMENT="SEO management" +COM_SH404SEF_META_EDIT="Modify tags" +COM_SH404SEF_META_ADD="Add tags" +COM_SH404SEF_META_TAGS="Title and metas manager" +COM_SH404SEF_META_TAGS_DESC="Create/modify Meta tags" +COM_SH404SEF_PURGE_META_DESC="Purge meta tags" +COM_SH404SEF_PURGE_META="Delete META" +COM_SH404SEF_IMPORT_EXPORT_META="Import/ export META" +COM_SH404SEF_NEW_META="New META" +COM_SH404SEF_NEWURL_META="Non SEF url" +COM_SH404SEF_TT_NEWURL_META="Enter the non SEF URL for which you whish to set Meta tags. WARNING: it must starts with by index.php!" +COM_SH404SEF_BAD_META="Please check your data: some input is not valid." +COM_SH404SEF_META_TITLE_PURGE="Erase Meta tags" +COM_SH404SEF_META_SUCCESS_PURGE="Meta tags erased" +COM_SH404SEF_IMPORT_META="Import Meta tags" +COM_SH404SEF_EXPORT_META="Export Meta tags" +COM_SH404SEF_IMPORT_META_OK="Meta tags successfully imported" +COM_SH404SEF_SELECT_ONE_URL="Please select one (and only one) URL." +COM_SH404SEF_MANAGE_DUPLICATES="URL management for : " +COM_SH404SEF_MANAGE_DUPLICATES_RANK="Rank" +COM_SH404SEF_MANAGE_DUPLICATES_BUTTON="Duplicate URL" +COM_SH404SEF_MANAGE_MAKE_MAIN_URL="Main URL" +COM_SH404SEF_BAD_DUPLICATES_DATA="Error : invalid URL data" +COM_SH404SEF_BAD_DUPLICATES_NOTHING_TO_DO="This URL is already the main URL" +COM_SH404SEF_MAKE_MAIN_URL_OK="Operation successfully completed" +COM_SH404SEF_MAKE_MAIN_URL_ERROR="An error occured, operation failure" +COM_SH404SEF_CONTENT_TITLE="Content configuration" +COM_SH404SEF_INSERT_CONTENT_TABLE_NAME="Insert content table name" +COM_SH404SEF_TT_INSERT_CONTENT_TABLE_NAME="If set to Yes, the menu element title leading to a table of articles (category or section) will be prepended to its SEF URL. This allow segragating table display from blog displays." +COM_SH404SEF_CONTENT_TABLE_NAME="Default table views name" +COM_SH404SEF_TT_CONTENT_TABLE_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." +COM_SH404SEF_REDIRECT_WWW="301 redirect www/non-www" +COM_SH404SEF_TT_REDIRECT_WWW="Select whether sh404SEF should perform a 301 redirect when your site is accessed from a wrong url. It is recommended to switch this on. You can select either with or without www as your preferred setting, but always use only one version of your site URL. Will prevent duplicate content penalties, and some issues depending on your Apache server config, as well as problems with Joomla (WYSYWIG editors).
                " +COM_SH404SEF_INSERT_PRODUCT_NAME="Insert product name" +COM_SH404SEF_TT_INSERT_PRODUCT_NAME="If set to Yes, product name will be inserted in URL" +COM_SH404SEF_VM_USE_PRODUCT_SKU_124S="Insert product code" +COM_SH404SEF_TT_VM_USE_PRODUCT_SKU_124S="If set to Yes, product code (called SKU in VirtueMart) will be inserted in URL." +COM_SH404SEF_DOCMAN_INSERT_CAT_ID="Insert category id" +COM_SH404SEF_TT_DOCMAN_INSERT_CAT_ID="If set to Yes, category ID will be prepended to its name when previous option is also set to Yes, just in case two categories have the same name." +COM_SH404SEF_DOCMAN_INSERT_CATEGORIES="Insert category name" +COM_SH404SEF_TT_DOCMAN_INSERT_CATEGORIES="If set to None, no category name will be inserted in URL, as in :
                mysite.com/joomla-cms.html
                If set to Only last one, the category name will be inserted in the SEF URL, as in :
                mysite.com/joomla/joomla-cms.html
                If set to All nested categories, the names of all categories will be added, as in :
                mysite.com/software/cms/joomla/joomla-cms.html" +COM_SH404SEF_FORCED_HOMEPAGE="Home page URL" +COM_SH404SEF_TT_FORCED_HOMEPAGE="You can enter here a forced home page URL. Useful if you have setup a ’splash page’ usually a index.html file, which is displayed when you browse http://www.mysite.com. If so, type the following URL: http://www.mysite.com/index.php (no trailing /), so that the Joomla site is displayed when the Home link of main menu or pathway is clicked" +COM_SH404SEF_INSERT_CONTENT_BLOG_NAME="Insert blog view name" +COM_SH404SEF_TT_INSERT_CONTENT_BLOG_NAME="If set to Yes, the menu element title leading to a blog of articles (category or section) will be prepended to its SEF URL. This allow segregating table displays from blog displays." +COM_SH404SEF_CONTENT_BLOG_NAME="Default blog views name" +COM_SH404SEF_TT_CONTENT_BLOG_NAME="When the previous parameter is set to Yes, you can override the text inserted in the SEF URL here. Note that this text will be invariant, and will not be translated for instance." +COM_SH404SEF_MTREE_TITLE="Mosets TreeConfiguration" +COM_SH404SEF_MTREE_INSERT_NAME="Insert MTree name" +COM_SH404SEF_TT_MTREE_INSERT_NAME="If set to Yes, the menu element title leading to Mosets Tree will be prepended to its SEF URL." +COM_SH404SEF_MTREE_NAME="Default MTree name" +COM_SH404SEF_MTREE_INSERT_LISTING_ID="Insert listing ID" +COM_SH404SEF_TT_MTREE_INSERT_LISTING_ID="If set to Yes, a listing ID will be prepended to its name, just in case two listings have the same name." +COM_SH404SEF_MTREE_PREPEND_LISTING_ID="Prepend ID to name" +COM_SH404SEF_TT_MTREE_PREPEND_LISTING_ID="If set to Yes, when previous option is also set to Yes, the ID will be prepended to the listing name. If set to No, it will be appended." +COM_SH404SEF_MTREE_INSERT_LISTING_NAME="Insert listing name" +COM_SH404SEF_TT_MTREE_INSERT_LISTING_NAME="If set to Yes, a listing name will be inserted in all URL leading to an action on this listing." +COM_SH404SEF_IJOOMLA_NEWSP_TITLE="News Portal configuration" +COM_SH404SEF_INSERT_IJOOMLA_NEWSP_NAME="Insert News Portal name" +COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_NAME="If set to Yes, the menu element title leading to iJoomla News Portal will be prepended to its SEF URL." +COM_SH404SEF_IJOOMLA_NEWSP_NAME="Default News Portal name" +COM_SH404SEF_INSERT_IJOOMLA_NEWSP_CAT_ID="Insert category ID" +COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_CAT_ID="If set to Yes, a category ID will be prepended to its name, just in case two listings have the same name." +COM_SH404SEF_INSERT_IJOOMLA_NEWSP_SECTION_ID="Insert section ID" +COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_SECTION_ID="If set to Yes, a category ID will be prepended to its name, just in case two listings have the same name." +COM_SH404SEF_REMO_TITLE="Remository configuration" +COM_SH404SEF_REMO_INSERT_NAME="Insert Remository name" +COM_SH404SEF_TT_REMO_INSERT_NAME="If set to Yes, the menu element title leading to Remository will be prepended to its SEF URL." +COM_SH404SEF_REMO_NAME="Default Remository name" +COM_SH404SEF_CB_SHORT_USER_URL="Short URL to user profile" +COM_SH404SEF_TT_CB_SHORT_USER_URL="If set to Yes, a user will be able to access his/her profile through a short URL, similar to www.mysite.com/username. Before activating this option, make sure this will not generate any conflict with existing URL in the site." +COM_SH404SEF_NEW_HOME_META="Home page Meta" +COM_SH404SEF_CONF_ERASE_HOME_META="Do you really want to delete home page title and meta tags ?" +COM_SH404SEF_UPGRADE_TITLE="Upgrade configuration" +COM_SH404SEF_UPGRADE_KEEP_URL="Preserve automatic URL" +COM_SH404SEF_TT_UPGRADE_KEEP_URL="If set to Yes, SEF URL automatically generated by sh40SEF will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." +COM_SH404SEF_UPGRADE_KEEP_CUSTOM="Preserve custom URL, aliases, shURLs" +COM_SH404SEF_TT_UPGRADE_KEEP_CUSTOM="If set to Yes, custom SEF URL you may have entered will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." +COM_SH404SEF_UPGRADE_KEEP_META="Preserve Title and meta" +COM_SH404SEF_TT_UPGRADE_KEEP_META="If set to Yes, custom Title and Meta tags you may have entered will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." +COM_SH404SEF_UPGRADE_KEEP_MODULES="Preserve modules parameters" +COM_SH404SEF_TT_UPGRADE_KEEP_MODULES="If set to Yes, current publication parameters like position, order, titles, etc of shJoomfish and shCustomtags modules will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." +COM_SH404SEF_IMPORT_OPEN_SEF="Import redirections from OpenSEF" +COM_SH404SEF_IMPORT_ALL="Import redirections" +COM_SH404SEF_EXPORT_ALL="Export redirections" +COM_SH404SEF_IMPORT_EXPORT_CUSTOM="Import/Export custom redirections" +COM_SH404SEF_DUPLICATE_NOT_ALLOWED="This URL already exists, while you have not allowed duplicate URL" +COM_SH404SEF_INSERT_CONTENT_MULTIPAGES_TITLE="Activate multipage article smart titles" +COM_SH404SEF_TT_INSERT_CONTENT_MULTIPAGES_TITLE="If set to Yes, for multi-pages article (those with a Table of content), sh404SEF will use the page titles inserted using the mospagebreak command : {mospagebreak title=Next_Page_Title & heading=Previous_Page_Title}, instead of the page number
                For instance, a SEF URL similar to www.mysite.com/user-documentation/Page-2.html will now be replaced by www.mysite.com/user-documentation/Getting-started-with-sh404SEF.html." +COM_SH404SEF_UPGRADE_KEEP_CONFIG="Preserve configuration" +COM_SH404SEF_TT_UPGRADE_KEEP_CONFIG="If set to Yes, all configuration parameters will be stored and preserved when you unistall the component. This way, you will find them back when you install a new version, with no additional action required." +COM_SH404SEF_CONF_TAB_SECURITY="Security" +COM_SH404SEF_SECURITY_TITLE="Security" +COM_SH404SEF_HONEYPOT_TITLE="Project Honey Pot" +COM_SH404SEF_CONF_HONEYPOT_DOC="Project Honey Pot is an initiative aiming at protecting web sites from spam robots. It provides a database to check a visitor IP address against known robots. Using this database requires an access key (free) you will have to obtain from the project web site
                (You must create an account before requesting your access key - this is free as well). If you can, consider helping the project by setting up `traps` in your webspace, to help identify spam robots." +COM_SH404SEF_ACTIVATE_SECURITY="Activate security functions" +COM_SH404SEF_TT_ACTIVATE_SECURITY="If set to Yes, sh404SEF will do some basic checks on the URLs requested to your web site, in order to protect it agains common attacks." +COM_SH404SEF_LOG_ATTACKS="Log attacks" +COM_SH404SEF_TT_LOG_ATTACKS="If set to Yes, attacks identified will be logged to a text file, including IP address of attacker and page request made.
                There is one log file per month. They are located in the /administrator/com_sh404sef/logs directory. You can download them using FTP, or use a Joomla utility such as Joomla Explorer to view them. They are TAB separated text file, so your spreadsheet software should open then up easily, probably the easiest way to view them." +COM_SH404SEF_CHECK_HONEY_POT="Use Project Honey Pot" +COM_SH404SEF_TT_CHECK_HONEY_POT="If set to Yes, your visitors IP address will be checked against Project Hoeny Pot database, using their HTTP:BL service. It is free, but requires getting an access key from their web site." +COM_SH404SEF_HONEYPOT_KEY="Project Honey Pot access key" +COM_SH404SEF_TT_HONEYPOT_KEY="If the Use Project Honey Pot option is activated, you must obtain an access key from P.H.P. Type the received access key here. It is a 12 characters string." +COM_SH404SEF_HONEYPOT_ENTRANCE_TEXT="Alternative entry text" +COM_SH404SEF_TT_HONEYPOT_ENTRANCE_TEXT="If a visitor IP address has been tagged as suspicious by Project Honey Pot, access will be denied (403 result code).
                However, in case of false detection, the text typed here will be shown to the visitor, with a link he/she must click to actually access the site. Only a human can read and understand such text, and the robot cannot access the link.
                You can adjust this text to your liking." +COM_SH404SEF_SMELLYPOT_TEXT="Robot trap text" +COM_SH404SEF_TT_SMELLYPOT_TEXT="When a spam robot has been identified through Project Honey Pot, and access has been denied, a link is added at the bottom of the deny screen, in order to have Project Honey Pot record the robot action. A message is also added to prevent real people to click on that link, in case they were wrongly flagged. " +COM_SH404SEF_ONLY_NUM_VARS="Numeric parameters" +COM_SH404SEF_TT_ONLY_NUM_VARS="Parameter names put in this list will be checked for being only numeric : digits 0 to 9 only. Enter one parameter per line." +COM_SH404SEF_ONLY_ALPHA_NUM_VARS="Alpha-numeric parameters" +COM_SH404SEF_TT_ONLY_ALPHA_NUM_VARS="Parameter names put in this list will be checked for being only alpha-numeric : digits from 0 to 9, and letters a through z. Enter one parameter per line" +COM_SH404SEF_NO_PROTOCOL_VARS="Check hyperlinks in parameters" +COM_SH404SEF_TT_NO_PROTOCOL_VARS="Parameter names put in this list will be checked for not having hyperlinks in them, starting with http://, https://, ftp:// " +COM_SH404SEF_IP_WHITE_LIST="IP white list" +COM_SH404SEF_TT_IP_WHITE_LIST="Any page request coming from an IP address on this list will be accepted
                , assuming the URL passes the above mentioned checks. Enter one IP per line.
                You can use * as a wildcard, as in : 192.168.0.*. This will comprise IP from 192.168.0.0 through 192.168.0.255." +COM_SH404SEF_IP_BLACK_LIST="IP black list" +COM_SH404SEF_TT_IP_BLACK_LIST="Any page request coming from an IP address on this list will be denied, assuming the URL passes the above mentioned checks. Enter one IP per line.
                You can use * as a wildcard, as in : 192.168.0.*. This will comprise IP from 192.168.0.1 through 192.168.0.255." +COM_SH404SEF_UAGENT_WHITE_LIST="UserAgent white list" +COM_SH404SEF_TT_UAGENT_WHITE_LIST="Any request made with a UserAgent string on this list will be accepted
                , assuming the URL passes the above mentioned checks. Enter one UserAgent string per line." +COM_SH404SEF_UAGENT_BLACK_LIST="UserAgent black list" +COM_SH404SEF_TT_UAGENT_BLACK_LIST="Any request made with a UserAgent string on this list will be denied, assuming the URL passes the above mentioned checks. Enter one UserAgent string per line." +COM_SH404SEF_MONTHS_TO_KEEP_LOGS="Months to keep security logs" +COM_SH404SEF_TT_MONTHS_TO_KEEP_LOGS="If logging of attacks is activated, you can set here the number of months to keep these log files. For instance, setting this to 1 means that the current month PLUS the month before will be kept available. Previous months log files will be deleted." +COM_SH404SEF_ANTIFLOOD_TITLE="Anti-flood" +COM_SH404SEF_ACTIVATE_ANTIFLOOD="Activate anti-flood" +COM_SH404SEF_TT_ACTIVATE_ANTIFLOOD="If set to Yes, sh404SEF will check that any given IP address will not make too many page request to your site. By making many requests, close to each other, a pirate can make your site unusable by simply overloading it." +COM_SH404SEF_ANTIFLOOD_ONLY_ON_POST="Only if POST data (forms)" +COM_SH404SEF_TT_ANTIFLOOD_ONLY_ON_POST="If set to Yes, this control will only happen if there are some POST data in the page request. This is usually the case in form pages, so you may limit anti-flood control to forms only to help protect your site agains comment spamming robots." +COM_SH404SEF_ANTIFLOOD_PERIOD="Anti-flood control" +COM_SH404SEF_TT_ANTIFLOOD_PERIOD="Time (in seconds) over which the number of requests from the same IP address will controled" +COM_SH404SEF_ANTIFLOOD_COUNT="Max number of requests" +COM_SH404SEF_TT_ANTIFLOOD_COUNT="Number of request that will trigger blocking pages for the offending IP address. For instance, entering Period = 10 and Number of requests = 4 will block access (return of a 403 code, and almost blank page) as soon as 4 requests will have been received from a given IP address in less than 10 seconds. Of course, access will be blocked only for this IP address, not for your other visitors." +COM_SH404SEF_CONF_TAB_LANGUAGES="Languages" +COM_SH404SEF_DEFAULT="Default" +COM_SH404SEF_YES="Yes" +COM_SH404SEF_NO="No" +COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_PER_LANG="If set to Yes, language code will be inserted in URL for this language. If set to No, language code will never be inserted. If set to Default, language code will be inserted for all languages but default language of the site." +COM_SH404SEF_TT_TRANSLATE_URL_PER_LANG="If set to Yes, and your site is multi-lingual, your URL will be translated for URL in this language, as per Joomfish settings. If set to No, URL will never be translated. If set to Default, they will also be translated. Has no effect on mono-lingual sites." +COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_GEN="If set to Yes, a language code will be inserted in URL built by sh404SEF. You can also have a per language setting (see below)." +COM_SH404SEF_TT_TRANSLATE_URL_GEN="If set to Yes, an,d your site is multi-lingual, URL will be translated into your visitor language, as per Joomfish settings. Otherwise, URL will stay in the site default language. You can also have a per language setting (see below)" +COM_SH404SEF_ADV_COMP_DEFAULT_STRING="Default name" +COM_SH404SEF_TT_ADV_COMP_DEFAULT_STRING="If you enter here a text string, it will be inserted at the beginning of all URL for that component. Not used normally, only here for backward compatibility with old URL from other SEF components." +COM_SH404SEF_TT_NAME_BY_COMP=".
                You can type in a name that will be used instead of the menu element name. To do this, please go to the By component tab. Note that this text will be invariant, and will not be translated for instance." +COM_SH404SEF_STANDARD_ADMIN="Click here to switch to standard display (with only main parameters)" +COM_SH404SEF_ADVANCED_ADMIN="Click here to switch to extended display (with all available parameters)" +COM_SH404SEF_MULTIPLE_H1_TO_H2="Change multiple h1 in h2" +COM_SH404SEF_TT_MULTIPLE_H1_TO_H2="If set to Yes, and there are several instances of h1 tags on a page, they wil lbe turned into h2 tags.
                If there is only one h1 tag on a page, it will left untouched." +COM_SH404SEF_INSERT_NOFOLLOW_PDF_PRINT="Insert nofollow tag on Print and PDF links" +COM_SH404SEF_TT_INSERT_NOFOLLOW_PDF_PRINT="If set to Yes, rel=nofollow attributes will be added to all PDF and Print links created by Joomla. This reduce duplicate content seen by search engines." +COM_SH404SEF_INSERT_READMORE_PAGE_TITLE="Insert title in Read more ... links" +COM_SH404SEF_TT_INSERT_READMORE_PAGE_TITLE="If set to Yes, and a Read more link is displayed on a page, the corresponding content title will be inserted in the link, to improve the link weight in search engines" +COM_SH404SEF_VM_USE_ITEMS_PER_PAGE="Using Items per page drop-down list" +COM_SH404SEF_TT_VM_USE_ITEMS_PER_PAGE="If set to Yes, URLs will be adjusted to allow for using drop-down lists to let user select the number of items per page. If you don’t use such drop-down lists, AND your URLs are already indexed by search engines, you can set it to NO to keep your existing URL. " +COM_SH404SEF_CHECK_POST_DATA="Check also forms data (POST)" +COM_SH404SEF_TT_CHECK_POST_DATA="If set to Yes, data coming from input forms will be checked against passing config variables or similar threats. This may cause unneeded blockages if you have, for instance, a forum where users may discuss such things as Joomla programming or similar. They may then want to discuss the exact text strings we are looking for as a potential attack. You should then disable this feature if you experience unappropriate forbidden access" +COM_SH404SEF_SEC_STATS_TITLE="Security stats" +COM_SH404SEF_SEC_STATS_UPDATE="Click here to update blocked attacks counters" +COM_SH404SEF_TOTAL_ATTACKS="Blocked attacks count" +COM_SH404SEF_TOTAL_CONFIG_VARS="mosConfig var in URL" +COM_SH404SEF_TOTAL_BASE64="Base64 injection" +COM_SH404SEF_TOTAL_SCRIPTS="Script injection" +COM_SH404SEF_TOTAL_STANDARD_VARS="Illegal standard vars" +COM_SH404SEF_TOTAL_IMG_TXT_CMD="remote file inclusion" +COM_SH404SEF_TOTAL_IP_DENIED="IP address denied" +COM_SH404SEF_TOTAL_USER_AGENT_DENIED="User agent denied" +COM_SH404SEF_TOTAL_FLOODING="Too many requests (flooding)" +COM_SH404SEF_TOTAL_PHP="Rejected by Project Honey Pot" +COM_SH404SEF_TOTAL_PER_HOUR=" /h" +COM_SH404SEF_SEC_DEACTIVATED="Sec. functions not in use" +COM_SH404SEF_TOTAL_PHP_USER_CLICKED="PHP, but user clicked" +COM_SH404SEF_PREPEND_TO_PAGE_TITLE="Insert before page title" +COM_SH404SEF_TT_PREPEND_TO_PAGE_TITLE="Any text entered her will be prepended to all page title tags." +COM_SH404SEF_APPEND_TO_PAGE_TITLE="Append to page title" +COM_SH404SEF_TT_APPEND_TO_PAGE_TITLE="Any text entered here will be appended to all page title tags." +COM_SH404SEF_DEBUG_TO_LOG_FILE="Log debug info to file" +COM_SH404SEF_TT_DEBUG_TO_LOG_FILE="If set to Yes, sh404SEF will log to a text file many internal information. This data will help us troubleshoot problems you may be facing using sh404SEF.
                Warning: this file can quickly become fairly big. Also, this function will certainly slow down your site. Be sure to turn it on only when required. For this reason, it will de-activate automaticaly one hour after being started. Just turn it off then on again to activate it again. The log file is located in /administrator/components/com_sh404sef/logs/ " +COM_SH404SEF_ALIAS_LIST="Alias list" +COM_SH404SEF_TT_ALIAS_LIST="Enter here a list of alias for this URL. Put only one alias per line, like :
                old-url.html
                or
                my-other-old-url.php?var=12&test=15
                sh404SEF will do a 301 redirect to the current SEF URL if any one of those aliases is requested." +COM_SH404SEF_HOME_ALIAS="Home page alias" +COM_SH404SEF_TT_HOME_PAGE_ALIAS_LIST="Enter here a list of alias for your home page. Put only one alias per line, like :
                old-url.html
                or
                my-other-old-url.php?var=12&test=15
                sh404SEF will do a 301 redirect to your home page if any one of those aliases is requested" +COM_SH404SEF_INSERT_OUTBOUND_LINKS_IMAGE="Insert outbound links symbol" +COM_SH404SEF_TT_INSERT_OUTBOUND_LINKS_IMAGE="If set to Yes, a visual symbol will be inserted next to every link targeting another website, to allow easier identification of these links." +COM_SH404SEF_OUTBOUND_LINKS_IMAGE_BLACK="Use black symbol" +COM_SH404SEF_OUTBOUND_LINKS_IMAGE_WHITE="Use white symbol" +COM_SH404SEF_OUTBOUND_LINKS_IMAGE="Outbound links color symbol" +COM_SH404SEF_TT_OUTBOUND_LINKS_IMAGE="Both images have a transparent background. Select the black one if your site has a white background. Select the white one if your site has a dark background. These images are /administrator/components/com_sef/images/external-white.png and external-black.png. They are 15x16 pixels in size." +COM_SH404SEF_DEFAULT_PARAMS_TITLE="Very adv." +COM_SH404SEF_DEFAULT_PARAMS_WARNING="WARNING: change these values only if you know what you are doing! In case of wrongdoing, you could make damages you will have trouble repairing." +COM_SH404SEF_USE_CAT_ALIAS="Use category alias" +COM_SH404SEF_TT_USE_CAT_ALIAS="If set to Yes, sh404sef will use a category alias instead of its actual name every time that name is required to build a url" +COM_SH404SEF_USE_MENU_ALIAS="Use menu alias" +COM_SH404SEF_TT_USE_MENU_ALIAS="If set to Yes, sh404sef will use a menu item alias instead of its actual title every time that title is required to build a url" +COM_SH404SEF_JC_MODULE_CACHING_DISABLED="Caching for Joomfish language selection module has been disabled!" +COM_SH404SEF_ALWAYS_APPEND_ITEMS_PER_PAGE="Always append #items per page" +COM_SH404SEF_TT_ALWAYS_APPEND_ITEMS_PER_PAGE="If set to Yes, sh404sef will always append the number of items per page to paginated urls. For instance, .../Page-2.html will become .../Page2-10.html, if the current settings cause 10 items to be displayed per page. This is required for instance if you activated drop-down lists to let your user select number of items per page." +COM_SH404SEF_REDIRECT_CORRECT_CASE_URL="301 redirect url to correct case" +COM_SH404SEF_TT_REDIRECT_CORRECT_CASE_URL="If set to Yes, sh404sef will perform a 301 redirect from a SEF url if it does not have the same case as an url found in the database. For instance, example.com/My-page.html will be redirected to example.com/my-page.html, if the latter is stored in the database. Conversely, example.com/my-page.html will be redirected to example.com/My-page.html if the later is the url used on your site, and therefore stored in the database." +COM_SH404SEF_JCL_INSERT_EVENT_ID="Insert event Id" +COM_SH404SEF_TT_JCL_INSERT_EVENT_ID="If set to Yes, event internal id will be prepended to the event title in the urls, to make them unique" +COM_SH404SEF_JCL_INSERT_CATEGORY_ID="Insert category id" +COM_SH404SEF_TT_JCL_INSERT_CATEGORY_ID="If set to Yes, when a category is used in a url, it will be prepended with the internal category id, to make it unique." +COM_SH404SEF_JCL_INSERT_CALENDAR_ID="Insert calendar id" +COM_SH404SEF_TT_JCL_INSERT_CALENDAR_ID="If set to Yes, when a calendar name is used in a url, it will be prepended with this calendar internal id, to make it unique" +COM_SH404SEF_JCL_INSERT_CALENDAR_NAME="Insert Calendar name" +COM_SH404SEF_TT_JCL_INSERT_CALENDAR_NAME="If set to Yes, all urls where a specific calendar is set will have that calendar name included in the url. If no calendar id is specified in the url, the menu item title will be included instead" +COM_SH404SEF_JCL_INSERT_DATE="Insert date" +COM_SH404SEF_TT_JCL_INSERT_DATE="If set to yes, the date of the target page will be inserted into each url" +COM_SH404SEF_JCL_INSERT_DATE_IN_EVENT_VIEW="Insert date in event link" +COM_SH404SEF_TT_JCL_INSERT_DATE_IN_EVENT_VIEW="If set to Yes, each event date will be prepended to urls to the event details page" +COM_SH404SEF_JCL_TITLE="JCal Pro configuration" +COM_SH404SEF_PAGE_TITLE_TITLE="Page title" +COM_SH404SEF_CONTENT_TITLE_TITLE="Joomla content page title" +COM_SH404SEF_CONTENT_TITLE_USE_ALIAS="Use article title alias" +COM_SH404SEF_TT_CONTENT_TITLE_USE_ALIAS="If set to Yes, the article alias will be used in the page title instead of the actual article title" +COM_SH404SEF_CONTENT_TITLE_USE_CAT_ALIAS="Use category alias" +COM_SH404SEF_TT_CONTENT_TITLE_USE_CAT_ALIAS="If set to Yes, a category alias will be used in the page title instead of the actual category title" +COM_SH404SEF_PAGE_TITLE_SEPARATOR="Page title separator" +COM_SH404SEF_TT_PAGE_TITLE_SEPARATOR="Enter here a character or a string to separate the various parts of the page title, if there is more than one. Defaults to the | character, surrounded by a single space" +COM_SH404SEF_DISPLAY_DUPLICATE_URLS_TITLE="Duplicates" +COM_SH404SEF_DISPLAY_DUPLICATE_URLS_NOT="Show only main url" +COM_SH404SEF_DISPLAY_DUPLICATE_URLS="Show main and duplicate urls" +COM_SH404SEF_INSERT_ARTICLE_ID_TITLE="Insert article id in URL" +COM_SH404SEF_TT_INSERT_ARTICLE_ID_TITLE="If set to Yes, an article internal id will be appended to the title of that article in URLs, in order to be sure each article can be accessed individually, even if 2 articles have the exact same titles, or titles that yields the same URL (after being cleaned up for invalid characters and such). This id will bring no SEO value, and you should rather make sure you do not have articles with the same title in the same section and category.
                In case you do not control article entries, this setting may help you make sure articles can be accessed, at the cost of good search engine optimization." +COM_SH404SEF_JS_TITLE="JomSocial configuration " +COM_SH404SEF_JS_INSERT_NAME="Insert JomSocial name" +COM_SH404SEF_TT_JS_INSERT_NAME="If set to Yes, the menu element title leading to JomSocial main page will be prepended to all JomSocial SEF URL" +COM_SH404SEF_JS_INSERT_USER_NAME="Insert user short name" +COM_SH404SEF_TT_JS_INSERT_USER_NAME="If set to Yes, user name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." +COM_SH404SEF_JS_INSERT_USER_FULL_NAME="Insert user full name" +COM_SH404SEF_TT_JS_INSERT_USER_FULL_NAME="If set to Yes, user full name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." +COM_SH404SEF_JS_INSERT_GROUP_CATEGORY="Insert group category" +COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY="If set to Yes, a users group's category will be inserted into SEF URLs where the group name is used." +COM_SH404SEF_JS_INSERT_GROUP_CATEGORY_ID="Insert group category ID" +COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY_ID="If set to Yes, a users group category ID will be prepended to the category name when previous option is also set to Yes, just in case two categories have the same name." +COM_SH404SEF_JS_INSERT_GROUP_ID="Insert group ID" +COM_SH404SEF_TT_JS_INSERT_GROUP_ID="If set to Yes, a users group ID will be prepended to the group name, just in case two groups have the same name." +COM_SH404SEF_JS_INSERT_GROUP_BULLETIN_ID="Insert group bulletin ID" +COM_SH404SEF_TT_JS_INSERT_GROUP_BULLETIN_ID="If set to Yes, a users group bulletin ID will be prepended to the bulletin name, just in case two bulletins have the same name." +COM_SH404SEF_JS_INSERT_DISCUSSION_ID="Insert group discussion ID" +COM_SH404SEF_TT_JS_INSERT_DISCUSSION_ID="If set to Yes, a users group discussion ID will be prepended to the discussion name, just in case two discussions have the same name." +COM_SH404SEF_JS_INSERT_MESSAGE_ID="Insert message ID" +COM_SH404SEF_TT_JS_INSERT_MESSAGE_ID="If set to Yes, a message ID will be prepended to the message name, just in case two messages have the same subject." +COM_SH404SEF_JS_INSERT_PHOTO_ALBUM="Insert photo album name" +COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM="If set to Yes, the name of the album it belongs to will be inserted into SEF URLs of a photo or set of photos." +COM_SH404SEF_JS_INSERT_PHOTO_ALBUM_ID="Insert photo album ID" +COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM_ID="If set to Yes, an album ID will be prepended to the album name, just in case two albums have the same subject." +COM_SH404SEF_JS_INSERT_PHOTO_ID="Insert photo ID" +COM_SH404SEF_TT_JS_INSERT_PHOTO_ID="If set to Yes, a photo ID will be prepended to the photo name, just in case two photos have the same subject." +COM_SH404SEF_JS_INSERT_VIDEO_CAT="Insert video category name" +COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT="If set to Yes, the name of the category it belongs to will be inserted into SEF URLs of a video or set of videos." +COM_SH404SEF_JS_INSERT_VIDEO_CAT_ID="Insert video category ID" +COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT_ID="If set to Yes, a video category ID will be prepended to the category name, just in case two categories have the same subject." +COM_SH404SEF_JS_INSERT_VIDEO_ID="Insert video ID" +COM_SH404SEF_TT_JS_INSERT_VIDEO_ID="If set to Yes, a video ID will be prepended to the video name, just in case two videos have the same subject." +COM_SH404SEF_FB_INSERT_USERNAME="Insert user name" +COM_SH404SEF_TT_FB_INSERT_USERNAME="If set to Yes, the username will be inserted into SEF URLs for her posts or profile." +COM_SH404SEF_FB_INSERT_USER_ID="Insert user ID" +COM_SH404SEF_TT_FB_INSERT_USER_ID="If set to Yes, a user ID will be prepended to her name, if the preceding setting is set to yes, just in case two users have the same username." +COM_SH404SEF_PAGE_NOT_FOUND_ITEMID="Itemid to use for 404 page" +COM_SH404SEF_TT_PAGE_NOT_FOUND_ITEMID="The value entered here, if non zero, will be used to display the 404 page. Joomla will use the Itemid to decide which template and modules to display. Itemid represents a menu item, so you can look up Itemids in your menus list." +; +COM_SH404SEF_PAGE_ID="shURL" +COM_SH404SEF_HITS="Hits" +COM_SH404SEF_SEF_URL="SEF url" +COM_SH404SEF_NON_SEF_URL="Non-SEF url" +COM_SH404SEF_SEF_URL_LIST="URL manager" +COM_SH404SEF_HAS_DUPLICATE="Duplicates" +COM_SH404SEF_HAS_METAS="Meta" +COM_SH404SEF_DUPLICATE_MAIN="Main" +COM_SH404SEF_DUPLICATES_OF="duplicates of" +COM_SH404SEF_DUPLICATE_MANAGER="Duplicate urls manager" +COM_SH404SEF_DUPLICATE_HELP="Joomla! may create several non-sef urls going to the same page. Select which one to use when this SEF url is requested" +COM_SH404SEF_DUPLICATE_MAKE_MAIN="Choose this non-sef url to be associated with %s" +COM_SH404SEF_DUPLICATE_IS_MAIN="This is the main non-sef url!" +COM_SH404SEF_ALIASES="Aliases" +COM_SH404SEF_IS_CUSTOM="Custom" +COM_SH404SEF_NO_URL="No url to be displayed" +COM_SH404SEF_ALL_COMPONENTS=" - All components - " +COM_SH404SEF_ALL_DUPLICATES=" - With or w/o duplicates - " +COM_SH404SEF_ONLY_NO_DUPLICATES="Only w/o duplicates" +COM_SH404SEF_ONLY_DUPLICATES="Only with duplicates" +COM_SH404SEF_ALL_ALIASES=" - With or w/o aliases - " +COM_SH404SEF_ONLY_NO_ALIASES="Only w/o aliases" +COM_SH404SEF_ONLY_ALIASES="Only with aliases" +COM_SH404SEF_ALL_LANGUAGES=" - All languages - " +COM_SH404SEF_ALL_URL_TYPES=" - Automatic and custom - " +COM_SH404SEF_ONLY_CUSTOM="Only custom urls" +COM_SH404SEF_ONLY_AUTO="Only automatic urls" +COM_SH404SEF_EDIT_URL_TITLE="Modify a URL" +COM_SH404SEF_ADD_URL_TITLE="Add an url record" +COM_SH404SEF_EDIT_URL="Edit url record" +COM_SH404SEF_OLDURL="New SEF URL" +COM_SH404SEF_TT_OLDURL="Enter only a relative url from the Joomla root without a leading slash" +COM_SH404SEF_NEWURL="non-SEF url" +COM_SH404SEF_TT_NEWURL="Enter the non SEF URL corresponding to the SEF url above. WARNING: it must starts with index.php and must not be longer than 255 characters!" +COM_SH404SEF_EDIT_META="Title and meta tags" +COM_SH404SEF_OPERATION_COMPLETED="Operation completed successfully !" +COM_SH404SEF_ELEMENT_NOT_SAVED="An error happened while saving. Please try again or cancel editing" +COM_SH404SEF_ELEMENT_SAVED="Element successfully saved" +COM_SH404SEF_ELEMENT_DELETED="Element successfully deleted" +COM_SH404SEF_HOME_PAGE_EDIT_TITLE="Edit home page data" +COM_SH404SEF_HOME_PAGE_ICON="home page meta" +COM_SH404SEF_HOME_PAGE="____ Home page ____" +COM_SH404SEF_CONFIRM_TITLE="You sure ??" +COM_SH404SEF_CONFIRM_URL_DELETION="You are about to delete %d url(s) from the database." +COM_SH404SEF_CONFIRM_BOX_TITLE="Confirmation box" +COM_SH404SEF_PURGE="Purge" +COM_SH404SEF_PURGE_SELECTED="Purge list" +COM_SH404SEF_CONFIRM_PURGE_URLS="You are about to delete %d urls from the database (including duplicates).
                Custom urls, aliases and pageid will be left untouched." +COM_SH404SEF_CONFIRM_PURGE_URLS_SELECTED="The urls matching your selection criteria will be deleted (%d urls in total).
                This may include custom urls depending on the choices you made in drop-down lists. If automatic urls are in the list, their duplicates will also be removed." +COM_SH404SEF_CONFIRM_PURGE_URLS_404="Records of requests for non-existing pages (%s in total) will be deleted from the database." +COM_SH404SEF_404_MANAGER="404 requests manager" +COM_SH404SEF_CUSTOM_URL_LINK_TITLE="Is custom url" +COM_SH404SEF_HAS_META_LINK_TITLE="Has custom meta data" +COM_SH404SEF_MODIFY_LINK_TITLE="Modify" +COM_SH404SEF_HAS_DUPLICATES_LINK_TITLE="Has %d duplicate(s)" +COM_SH404SEF_HAS_ALIASES_LINK_TITLE="Has %d alias(es)" +COM_SH404SEF_ALIASES_MANAGER="Aliases manager" +COM_SH404SEF_ALIASES_HELP="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection). Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window." +COM_SH404SEF_NO_ALIASES="No aliases to display" +COM_SH404SEF_MODIFY_ALIAS_TITLE="Modify" +COM_SH404SEF_ALIAS="Alias" +COM_SH404SEF_URL="URL" +COM_SH404SEF_CONFIRM_PURGE_ALIASES="You are about to delete %d aliases from the database.
                This count includes home page aliases. They cannot be recreated automatically, so be careful!" +COM_SH404SEF_CONFIRM_PURGE_ALIASES_SELECTED="The aliases matching your selection criteria will be deleted (%d aliases in total).
                They cannot be recreated automatically, so be careful!" +COM_SH404SEF_CONFIRM_ALIAS_DELETION="You are about to delete %d alias(es) from the database." +COM_SH404SEF_SELECT_ALIAS="Please select one or more aliases" +COM_SH404SEF_ACCESS_URLS_STATS="Access and urls stats" +COM_SH404SEF_URLS_STATS="Urls stats" +COM_SH404SEF_CONTROL_PANEL="Control panel" +COM_SH404SEF_CONFIGURATION="Configuration" +COM_SH404SEF_MANAGEMENT="Management" +COM_SH404SEF_CONFIG_EXT="Extensions" +COM_SH404SEF_CONFIG_EXT_DESC="Set up the way urls are built for the various extensions used on your site. After changing settings on this page, you will most likely need to purge the SEF urls database, so that new urls are recreated in accordance with the new parameters you now use. This is done from the URL manager." +COM_SH404SEF_CONFIG_ERROR_PAGE="Error page" +COM_SH404SEF_CONFIG_ERROR_PAGE_DESC="Select and adjust the content of your 404 error page" +COM_SH404SEF_CONFIG_SEO="SEO" +COM_SH404SEF_CONFIG_SEO_DESC="Change various settings that will change elements of your Joomla! web site to improve search results" +COM_SH404SEF_CONFIG_SEC="Security" +COM_SH404SEF_CONFIG_SEC_DESC="Settings dealing with built in security features" +COM_SH404SEF_QCONTROL="

                Welcome to sh404SEF!

                To enable it for your site, use the main Enable URL optimization Yes/No selector and press the Save button. sh404SEF will start with its default settings, suitable in most cases.
                You can change the Rewriting mode to use mod_rewrite. You won't have those /index.php/ bits in your URL any more, but you must setup correctly a .htaccess file (or the equivalent for your web server) before you can proceed.
                Please check out the FAQ" +COM_SH404SEF_PAGEID_MANAGER="shURL manager" +COM_SH404SEF_CP_PAGEID_HELP="shURL is your very own url shortener. Works very much like an alias, but shURLs are automatically created by sh404sef, so that your pages can also be accessed using www.example.com/p412 for instance. No risk of url shortener provider disappearing, or users being afraid because they don't know where a short url is taken them." +COM_SH404SEF_VERSION_INFO="Version and updates" +COM_SH404SEF_COULD_NOT_CHECK_FOR_NEW_VERSION="Sorry, could not check if a newer version is available (response code %d)" +COM_SH404SEF_CHECK_UPDATES="Check again" +COM_SH404SEF_CLICK_TO_CHECK_UPDATES="Click button to check for updates" +COM_SH404SEF_NEW_VERSION_AVAILABLE="New version available !" +COM_SH404SEF_YOU_ARE_UP_TO_DATE="No update required for your site" +COM_SH404SEF_AVAILABLE_VERSION="Available version" +COM_SH404SEF_ERROR_CHECKING_NEW_VERSION="Communication error trying to contact version information server. Try again later!" +COM_SH404SEF_VIEW_CHANGELOG="View changelog" +COM_SH404SEF_GET_IT="Get it !" +COM_SH404SEF_NOTES="Notes" +COM_SH404SEF_MODIFY_META_TITLE="Modify meta data for" +COM_SH404SEF_ALL_TITLE="With or w/o page title" +COM_SH404SEF_ONLY_TITLE="Only with page title" +COM_SH404SEF_NO_TITLE="Without page title" +COM_SH404SEF_ALL_DESC="With or w/o description" +COM_SH404SEF_ONLY_DESC="Only with description" +COM_SH404SEF_NO_DESC="Only w/o description" +COM_SH404SEF_DATA_NOT_MODIFIED="Data not modified !" +COM_SH404SEF_META_HELP="You can use these pages to customize page title and/or description meta tags for any page on your site. The values entered here will override any values that may be coming directly from Joomla own input boxes. Likewise, they will override any page title or description that may have been generated otherwise by sh404sef built in plugins.
                You usually will not have to use this section, as Joomla!, sh404sef and most extensions will create suitable page titles. Beware to create short and to the point page titles. Description should also be concise and clearly describe your page content. Better leave description empty if it does not bring value for visitors. Other meta elements can be setup by clicking on a url. Beware when you do so, as you may do more harm than good. In particular, you should probably leave Keywords meta data empty. They are not used by search engines, and under some circumstances can have a negative effect on your ranking." +COM_SH404SEF_PAGE_NOT_FOUND_TEMPLATE="Sub-template for display" +COM_SH404SEF_TT_PAGE_NOT_FOUND_TEMPLATE="By default (when value is set to 'index'), sh404sef will display the 'Page not found' error page using your regular Joomla! template file, in accordance with the Itemid setting. However you may enter here the name of an alternate sub-template file. For instance, most template come with a 'component' sub-template, which is much simpler and does not display any module. Just enter 'component' instead of 'index', to start using it.
                You can also provide your own sub-template. Create it - let's say you call it 'error404.php', then store it in your template main directory, alongside index.php and component.php. Don't forget to enter 'error404' (without the trailing '.php') here so that sh404sef use it." +COM_SH404SEF_CONFIRM_PURGE_METAS="You are about to delete meta data records for %d non-sef urls from the database.
                Urls themselves, aliases or pageid will be left untouched." +COM_SH404SEF_CONFIRM_PURGE_METAS_SELECTED="Meta data records for the urls matching your selection criteria will be deleted
                (%d non-sef urls in total).
                Urls themselves, aliases or pageid will be left untouched." +COM_SH404SEF_PREVIEW="Preview" +COM_SH404SEF_404_PAGE_EDIT_HELP="You can use the following tags while editing this error page:
                • {%sh404SEF_404_URL%} will be replaced by the url the visitor requested, the one that we could not find
                • {sh404sefSimilarUrls} will be replaced by a list of urls found in the database that are similar to the one requested but not found. If none are found to be similar, nothing will be displayed and the tag removed. You can go to Joomla's plugins list, and set some parameters to alter the way the 'sh404sef similar urls plugin' operates
                • {sh404sefSimilarUrlsCommentStart} and {sh404sefSimilarUrlsCommentEnd} everything you put between those two tags will be displayed only if some similar urls are found
                " +COM_SH404SEF_ENABLE_PAGEID="Enable shURL" +COM_SH404SEF_DISABLE_PAGEID="Disable shURL" +COM_SH404SEF_COMP_ENABLE_PAGEID="Enable shURL creation" +COM_SH404SEF_TT_COMP_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for all urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for this particular component. Please note that shURL creation should also be enabled globally in sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                It will be replaced automatically by sh404sef by the shURL." +COM_SH404SEF_ENABLE_PAGEID_HELP="Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration" +COM_SH404SEF_CONF_TAB_PAGEID="shURL" +COM_SH404SEF_TT_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for most urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for your site. Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                It will be replaced automatically by sh404sef by the shURL." +COM_SH404SEF_PAGEIDS_MANAGER="shURL manager" +COM_SH404SEF_PAGEID_HELP="This page will show you all the already created shURL for your site. shURL are short urls automatically created by sh404sef upon creation of a SEF url. They allow you to provide internal shortcuts to commonly used pages. They can be used for instance in printed material, on business cards or in short messages system such as mobile phone text messages or Twitter.WARNING: once created, shURLs should never be deleted, as they cannot be recreated the same. If shURLs have been distributed to users, or bookmarked by people online, and you delete them from your site, new shURLs will be generated next time you purge your SEF urls database. However, those new shURLs will NOT be the same as the previous one, and so existing links will be lost. Please note that this does not apply to search engines. Basically, search engines will not index shURLs at all, as they will follow the redirects towards the final, full length, keyword-full version of the url." +COM_SH404SEF_CONFIRM_PAGEID_DELETION="You are about to delete %d shURL record(s) from the database.
                Warning : they cannot be recreated the same after being deleted!" +COM_SH404SEF_SEF_ENABLED="Enable URL optimization" +COM_SH404SEF_TT_SEF_ENABLED="When set to Yes, sh404sef will take over SEF url generation from Joomla!This will happen regardless of the SEF setting found under Joomla!'s Global configuration panel." +COM_SH404SEF_UPGRADE_ENABLE_CHECK="Enable new version check" +COM_SH404SEF_TT_UPGRADE_ENABLE_CHECK="If set to Yes, sh404sef will check for the availability of new versions. It will not send any information from your site, but only call our servers to know if a version newer than the one currently running on your site is available. Result of such check will be cached for 24 hours, meaning that at most one such call per day will be done, regardless of how many times you access sh404sef main control panel. If a newer version is available, the Version and updates tab on the main screen will turn red, and a (!) sign will be added to its title. Going to this tab, you'll find a link to download the new version, and another one to view the changelog." +COM_SH404SEF_MAY_NEED_PURGE_DIALOGBOX="You have modified some settings that could change urls on your site. For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated. Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]]." +COM_SH404SEF_MAY_NEED_PURGE="
              • Element successfully saved.
              • You have modified some settings that could change urls on your site.
              • For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated.
              • Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]].
              • " +COM_SH404SEF_INVALID_WIZARD_STEP="Internal error : invalid wizard step. Please contact administrator" +COM_SH404SEF_WIZARD_CANCELLED="Operation cancelled" +COM_SH404SEF_INVALID_WIZARD_ADAPTER="Internal error : invalid wizard adapter. Please contact administrator" +COM_SH404SEF_ALIASES_HELP_NEW_ALIAS="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection).

                Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window. This is done in the Urls manager, by clicking on any listed url and entering new alias(es) on the 'Aliases' tab. Go to Url manager" +COM_SH404SEF_IMPORT_PAGEIDS_START="Welcome to the shURL import wizard. Please press the Next button to start importing shURLs into your database. Suitable data sources are files obtained through the Export shURLs feature" +COM_SH404SEF_EXPORT_PAGEIDS_START="Welcome to the shURL export wizard. Please press the Next button to start exporting shURLs from your database to a text file. This text file may be used later on to import back shURL records into this same web site or another web for instance, through the Import shURLs feature.

                Warning: only shURLs matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_EXPORTING="Exporting record %d of %d" +COM_SH404SEF_EXPORTING_TITLE="Exporting" +COM_SH404SEF_EXPORT_DONE="Export of %d record(s) done. Please click on Terminate button to close this window

                Note : temporary export files are left available in Joomla! /tmp directory. You should delete them on a regular basis." +COM_SH404SEF_NOTHING_TO_EXPORT="No data to export!" +COM_SH404SEF_EXPORT_METAS_START="Welcome to the page title and meta data export wizard. Please press the Next button to start exporting page title and meta data from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only page title and meta data records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_URLS_START="Welcome to the page urls export wizard. Please press the Next button to start exporting url records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only url records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_ALIASES_START="Welcome to the aliases export wizard. Please press the Next button to start exporting aliases records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only aliases records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_VIEW404_START="Welcome to the 404 error records export wizard. Please press the Next button to start exporting 404 error records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                Warning: only 404 error records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_PURGE_TEMP_FILES="Purge temporary files on terminating" +COM_SH404SEF_IMPORTING_TITLE="Importing" +COM_SH404SEF_IMPORT_UPLOAD_FILE="Please select a data file to import using the input below, or the 'browse' button. This data file must be :
                • either coming from sh404sef itself (through the export functions)
                • or be a modified version of such file, customized in a spreadsheet program for instance
                • at most %s in size, which is maximum size allowed by your server

                " +COM_SH404SEF_IMPORT_VALIDATE_IMPORT="This file appears to be valid, and contains %s data. I have found %d records. Click Next button to import them into the database." +COM_SH404SEF_IMPORT_UNRECOGNIZED_CONTENT="Sorry, could not recognize the content of this file. Please select another one!" +COM_SH404SEF_IMPORT_ERROR_INSERTING_INTO_DB="There was an error inserting a record in the database. This happened with record #%d of the import file. Please double-check the file content and try again! Many times, the reason for such error is that the record already exists in the database. Either remove it from the database, or from the import file." +COM_SH404SEF_IMPORT_ALIASES_START="Welcome to the alias import wizard. Please press the Next button to start importing aliases into your database. Suitable data sources are files obtained through the Export aliases feature" +COM_SH404SEF_IMPORT_DONE="Imported %d %s record(s). Please click on Terminate button to close this window
                " +COM_SH404SEF_IMPORT_URLS_WARNING="
                Warning: please note that if you imported meta data or 404 error pages records, these are considered and were previously exported as regular urls records, and so you are now on the 'Url manager page'. Just go to the title and metas manager or the 404 error requests manager to view the newly imported records" +COM_SH404SEF_IMPORT_URLS_START="Welcome to the urls and meta data import wizard. Please press the Next button to start importing urls and meta data records into your database. Suitable data sources are files obtained through the Export urls or Export meta data feature" +COM_SH404SEF_ANALYTICS="Analytics" +COM_SH404SEF_CHECK_ANALYTICS="Click to update" +COM_SH404SEF_ERROR_CHECKING_ANALYTICS="Could not connect to analytics server (not available, or no account configured ? are cURL and SSL enabled in your phpinfo ?)" +COM_SH404SEF_ERROR_AUTH_ANALYTICS="Error trying to contact analytics server: not authorized. Check password and user name!" +COM_SH404SEF_CONF_ANALYTICS="Analytics" +COM_SH404SEF_CONF_ANALYTICS_HELP="Analytics is an sh404sef feature designed to work with Google Analytics traffic analysis service. To use it, you should create an account with Google Analytics. Visit Google Analytics to do this. And don't forget to check out our video tutorial
                sh404SEF itself does not collect any traffic data, but instead will query Google Analytics for traffic data to display reports.
                Security consideration: sh404sef needs your Google Analytics user name AND password. We advice to use a dedicated Google account and password for your Google Analytics needs, so as to avoid having the same password on all your emails accounts, FTP server, online banking and everything else." +COM_SH404SEF_ANALYTICS_ENABLED="Enable data collection" +COM_SH404SEF_TT_ANALYTICS_ENABLED="If set to Yes, a javascript snippet, suitable for use with Google Analytics service, will be included in all pages, complying with next settings, so that analytics data are collected by the analytics service.
                Warning: there are other Joomla! extensions developed to include such snippet into your pages. Make sure you only have one at a time activated!" +COM_SH404SEF_ANALYTICS_ID="Web Property ID" +COM_SH404SEF_TT_ANALYTICS_ID="The ID for this site, as supplied by Google analytics. It should look like UA-XXXXX-Y where X and Y are numbers.
                We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                If you already have an account, just use it, you don't need to create a separate one for sh404sef." +COM_SH404SEF_ANALYTICS_EXCLUDE_IP="Excluded IP list" +COM_SH404SEF_TT_ANALYTICS_EXCLUDE_IP="Analytics data will not be collected for requests coming from one of those IP addresses (one per line). Use to exclude yourself or your company members from collected data" +COM_SH404SEF_ANALYTICS_MAX_USER_LEVEL="Max user level" +COM_SH404SEF_TT_ANALYTICS_MAX_USER_LEVEL="Analytics data will not be collected for requests by users above the selected level. By default, data is collected for all users. Selecting 'Administrator', for instance, will make sure anyone logged in as 'Super administrator' is not counted as a visitor, or enter the statistics in any manner" +COM_SH404SEF_ANALYTICS_REPORTS_TITLE="Analytics report" +COM_SH404SEF_ANALYTICS_REPORTS_ENABLED="Display report" +COM_SH404SEF_TT_ANALYTICS_REPORTS_ENABLED="If set to Yes, analytics report will be included on the front of the control panel." +COM_SH404SEF_ANALYTICS_USER="Analytics user name" +COM_SH404SEF_TT_ANALYTICS_USER="The username for the analytics account you use, as supplied by analytics service supplier. For Google Analytics, this is going to be a full email address. For better security, please use a dedicated gmail account for your Google Analytics need, separate from your main email address. You can however monitor many web sites with the same, dedicated, Google Analytics account" +COM_SH404SEF_ANALYTICS_PASSWORD="Analytics password" +COM_SH404SEF_TT_ANALYTICS_PASSWORD="The password for the analytics account you use, as supplied by analytics service supplier. The value you type here will override any existing password stored" +COM_SH404SEF_ANALYTICS_ACCOUNT="Analytics account" +COM_SH404SEF_TT_ANALYTICS_ACCOUNT="The account you use, as supplied by analytics service supplier" +COM_SH404SEF_ANALYTICS_PROFILE="" +COM_SH404SEF_TT_ANALYTICS_PROFILE="" +COM_SH404SEF_ANALYTICS_ENABLE_AUTO_CHECK="Automatic analytics updates" +COM_SH404SEF_TT_ANALYTICS_ENABLE_AUTO_CHECK="If set to Yes, analytics report data will be updated every hour. If set to No, you will need to click the [Click to update] link on the Analytics tab to refresh the displayed data" +COM_SH404SEF_CLICK_TO_CHECK_ANALYTICS="No data available, click [Click to update] link to get new data. (OpenSSL required in PHP config)" +COM_SH404SEF_MOBILE_SWITCH_ENABLED="Enable template switcher" +COM_SH404SEF_TT_MOBILE_SWITCH_ENABLED="If yes, site template will be set to the template listed below for requests identified by Joomla as coming from a mobile device" +COM_SH404SEF_MOBILE_SWITCH_TEMPLATE="Switch to template" +COM_SH404SEF_TT_MOBILE_SWITCH_TEMPLATE="The site template to switch to when a mobile device request is detected" +COM_SH404SEF_MOBILE_CONFIG="Mobile" +COM_SH404SEF_UPDATED_ON="Last updated on %s" +COM_SH404SEF_CONFIG_ANALYTICS="Analytics" +COM_SH404SEF_CONFIG_ANALYTICS_DESC="Activate and adjust settings of analytics feature of sh404sef for your web site." +COM_SH404SEF_ANALYTICS_MANAGER="Analytics manager" +COM_SH404SEF_ANALYTICSDESC="View detailed reports about your web site traffic and visitors (requires activation and data collection - see Analytics configuration)" +COM_SH404SEF_ANALYTICS_REPORT="Report" +COM_SH404SEF_ANALYTICS_REPORT_PER_LABEL=" per " +COM_SH404SEF_ANALYTICS_REPORT_BY_LABEL=" by " +COM_SH404SEF_ANALYTICS_REPORT_DASHBOARD="Dashboard" +COM_SH404SEF_ANALYTICS_REPORT_VISITS="Visits and visitors" +COM_SH404SEF_ANALYTICS_REPORT_VISITS_ONLY="Visits" +COM_SH404SEF_ANALYTICS_REPORT_SOURCES="Traffic sources" +COM_SH404SEF_ANALYTICS_REPORT_KEYWORDS="Keywords analytics" +COM_SH404SEF_ANALYTICS_REPORT_URLS="Site pages analytics" +COM_SH404SEF_ANALYTICS_REPORT_VISITORS_EQUIPMENT="Visitors equipment" +COM_SH404SEF_ANALYTICS_GROUP_BY="Group by" +COM_SH404SEF_ANALYTICS_START_DATE="Start" +COM_SH404SEF_ANALYTICS_END_DATE="End" +COM_SH404SEF_ANALYTICS_DASHBOARD_DATE_RANGE="Dashboard date range" +COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATE_RANGE="Select the date range that will be used to fetch analytics data for the dashboard (main control panel). This can be either a week, a month or a year, always counted from the last day available, normally yesterday. On the main Analytics view however, you can select the date range yourself for customized reports" +COM_SH404SEF_WEEK="Week" +COM_SH404SEF_MONTH="Month" +COM_SH404SEF_YEAR="Year" +COM_SH404SEF_ANALYTICS_ENABLE_TIME_COLLECTION="Collect creation time & memory" +COM_SH404SEF_TT_ANALYTICS_ENABLE_TIME_COLLECTION="If Yes, the time required by Joomla to create the page will be recorded and made available in reports. Note that this time is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second.
                Memory used by this creation process will also be collected, but only if the memory collection function is available in your PHP installation. This information will become important if and when you decide on upgrading your web server, or even simply to adjust the settings of your web server." +COM_SH404SEF_ANALYTICS_ENABLE_LOGGED_IN_USER="Collect logged user" +COM_SH404SEF_TT_ANALYTICS_ENABLE_LOGGED_IN_USER="If Yes, the logged-in status of visitors will be collected and made available for reports. You will thus be able to know the percentage of your page views that are for non-logged in users globally and evaluate, for instance, the expected benefit of caching on your site.
                Note that you must allow analytics data collection for at least some logged in users for this value to have any meaning (see Max user level setting above)" +COM_SH404SEF_ANALYTICS_REF_LABEL_DIRECT="Direct" +COM_SH404SEF_ANALYTICS_REF_LABEL_ORGANIC="Search eng." +COM_SH404SEF_ANALYTICS_REF_LABEL_REFERRAL="Referral" +COM_SH404SEF_ANALYTICS_REF_LABEL_OTHER="Others" +COM_SH404SEF_ANALYTICS_DATA_VISITORS="Unique visitors" +COM_SH404SEF_ANALYTICS_DATA_VISITS="Visits" +COM_SH404SEF_ANALYTICS_DATA_PAGEVIEWS="Page views" +COM_SH404SEF_ANALYTICS_DASHBOARD_DATA_TYPE="Display data type" +COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATA_TYPE="Select which metrics to display on the dashboard.
                Page views simply counts the number of pages that were displayed to any visitor. This is a very good indicator of the volume of traffic on your site.
                Unique visitors: this measures the number of actual individual visitors visiting your site. Users visiting twice or more within the selected period of time will be counted only once, as per Google calculation definition (see http://www.google.com/support/analytics /bin/answer.py?hl=en&answer=33087).
                Visits will show the number of visit sessions to your site. However, visitors returning several times within the selected period will be counted several times and so may not be the best indicator of how many people come to your site.
                Please be aware that Google does not allow all combinations. Specfically, traffic sources, page creation time and memory, and logd in users cannot be viewed per Unique visitors." +COM_SH404SEF_ANALYTICS_TOP5_PAGES="Pages on your site that are viewed most" +COM_SH404SEF_ANALYTICS_TOP5_URL="Url" +COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS="Pageviews" +COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS_PERCENT="%" +COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_PAGE="Avg time
                on page" +COM_SH404SEF_ANALYTICS_TOP5_REFERRERS="The web sites that send you the most traffic (by page views)" +COM_SH404SEF_ANALYTICS_TOP5_REF_SOURCE="Source" +COM_SH404SEF_ANALYTICS_TOP5_REF_PATH="Path" +COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_SITE="Avg time
                on site" +COM_SH404SEF_ANALYTICS_GLOBAL_DATA="Global stats" +COM_SH404SEF_ANALYTICS_PERF_DATA="Performance and users (per page view)" +COM_SH404SEF_ANALYTICS_DATE_RANGE="Report date range:" +COM_SH404SEF_ANALYTICS_TT_SOURCE_SITE_DESC="This column shows the website which sent you visitors.
                (direct) means people directly typed in your web site address in their browser address bar" +COM_SH404SEF_ANALYTICS_TT_SOURCE_PATH_DESC="The specific path on the referrer web site that links to you, if any. Sometimes this information is not recorded, in particular when the referrer is a search engine - in such case, you'll see '(not set)'" +COM_SH404SEF_ANALYTICS_TT_PAGE_VIEWS_DESC="This is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for
                By monitoring page views by for each page, or for each referrer, you can decide on actions to be taken to improve your traffic, such as modifying your content to make it more attractive to specific visitors, or contacting referring sites to get better linkage, etc" +COM_SH404SEF_ANALYTICS_TT_REFERRER_PER_CENT_DESC="This column shows the share of pageviews for each referrer, as a percentage of the total number of pageviews on your site for the given period of time. As only the top referrers are shown on the list, this may not add up to 100%" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE="Average time on site" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE_DESC="The average time spent on your site by visitors coming from each referrers. We can assume the people staying longer will benefit more from your site information, products or services. Action may then be taken to either favor those referrers sending the most interested visitors, and/or adjust your web site content so as to be more attractive to visitors coming from those other sources" +COM_SH404SEF_ANALYTICS_TT_URL_DESC="The specific path on your web site for which the most traffic was recorded.
                Note that it is the textual path that matters, and not url parameters. Therefore /my-page.html and /mypage.html?start=5 are considered the same page by Google, and so pageviews for those 2 pages will be aggregated. Another good reason to use sh404sef pagination system!" +COM_SH404SEF_ANALYTICS_TT_URL_PER_CENT_DESC="This column shows the share of pageviews for each path in your web site, as a percentage of the total number of pageviews on your site for the given period of time. As only the top paths are shown on the list, this may not add up to 100%" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE="Average time on page" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE_DESC="The average time spent on a particular page by visitors. We can assume the people staying longer on a page will benefit more from this page information, products or services. Action may then be taken to either improve again those page, and/or adjust other pages content so as to be more attractive and get a more balanced and globally higher traffic on your site." +COM_SH404SEF_ANALYTICS_AVG_CREATION_TIME="Avg page creation time" +COM_SH404SEF_ANALYTICS_TT_AVG_CREATION_TIME="Average time Joomla needed to create pages displayed over the period of time covered by the report. This is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second." +COM_SH404SEF_ANALYTICS_AVG_MEMORY_USED="Avg memory used" +COM_SH404SEF_ANALYTICS_TT_AVG_MEMORY_USED="Memory used by Joomla page creation process, in megabytes. This information will become important if and when you decide on upgrading your web server, or even simply to adjust the settings of your web server." +COM_SH404SEF_ANALYTICS_USER_STATUS="Logged in users" +COM_SH404SEF_ANALYTICS_TT_USER_STATUS="The percentage of pages viewed by your visitors while they were logged in to your site, against the total number of pages viewed. Currently, no distinction is made on the dashboard based on the user type (Registered, Author, adminstrator, etc), though this information is actually collected.
                From a performance standpoint, this will help you decide if it is worth activating a cache system (as caches are usually more efficient for non-logged in users). From an SEO/business standpoint, this may help you make changes in your content for instance, in order to try attract more user to register, or maybe reserve some content to registered users." +COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" +COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC_RAW="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" +COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors.
                It follows that the number of visitors is less than the number of visits - see definition of visits above." +COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC_RAW="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors. It follows that the number of visitors is less than the number of visits - see definition of visits above." +COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for.
                Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" +COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC_RAW="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for. Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT="Avg pages/visit" +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT_DESC="The average number of pages a visitor looks at during a single visit - a visit being considered finished when we see no activity during 30 minutes or more. A higher figure will probably means that your content is attractive to your visitors, which is to say the peoople coming to your site are the one attracted in your content. A lower figure will probably indicate that content and traffic don't match each other. Either you need to adjust your content and make it more appealing to the visitors you get. Or you need to get other visitors, that is try to attract a different kind of visitors.
                As usual, you'll need more detailed data to be able to figure out ways of improving things, but radical changes in those figures should be investigated." +COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE="Bounce rate" +COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE_DESC="The bounce rate is the % of visits where visitors only saw one page. Which means they came to your site, saw one page and then moved away and never came back - at least not withing the 30 minutes limit used to decide a given visitor is making a 'new' visit.
                This will always happen, but of course you probably want that % to be as small as possible, and like other metrics, significant changes should be monitored and acted upon.
                You will probably need more detailed data to be able to act in case there is a sudden surge in bounces. You may for instance want to find out if specific pages are causing the rate increase, so as to be able to adjust its content to visitors interest." +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE="Avg time on site" +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE_DESC="The average time spent on your site during a visit. Combined with the number of pages viewed per visit, this is a measure of visit quality. As usual with averages, it must taken with a grain of salt, but significant variations over time are to be investigated" +COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS="% of new visits" +COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS_DESC="The percentage of visitors coming to your site that where not previously identified.
                Getting many new visitors tends to mean you attract traffic to your site, possibly by being well ranked in search engines. A lower percentage of new visits may also means that your site itself is attractive, with people coming back after their first visit. You will need more detailed data to analyse this fully, but as always monitor changes carefully" +COM_SH404SEF_ANALYTICS_DATA_SOURCES_DESC_RAW="The traffic sources graph shows you a synthetic view of where visitors to your site are coming from. The pie chart breaks down visits (or page views or visitors, depending on the setting you chose in configuration) between: referral (visitors coming from another website), search engines (coming from all known search engines result page), direct (user typed your web site address directly into his/her browser address bar)" +COM_SH404SEF_ALIAS_ALREADY_EXISTS="Alias %s already exists as an alias, or as a SEF url. It was not stored into the aliases database" +COM_SH404SEF_SLOW_SERVER="Slow server" +COM_SH404SEF_TT_SLOW_SERVER="If set to Yes, a simplified version of the sh404sef control panel will be used.
                While sh404sef can handle several hundreds of thousands of urls on appropriate server on the front end (what your visitors can see), the sh404sef control panel, and specifically the Url manager, uses more advanced database queries which can become very slow if the combination web server power/ number of urls in the database is not sufficient.
                In such cases, switching to slow server mode will make the url manager snappy again, at the expense of missing information such as duplicates and aliases count" +COM_SH404SEF_IS_DUPLICATE="Is a duplicate" +COM_SH404SEF_IS_A_MAIN_URL="Is a main url" +COM_SH404SEF_SLOW_SERVER_MODE_ON="Displaying in slow server mode. Change mode under Advanced tab of main configuration" +COM_SH404SEF_INSERT_CONTACT_CAT="Insert contacts category name" +COM_SH404SEF_TT_INSERT_CONTACT_CAT="If set to yes, the category name a contact belongs to will be inserted in the url leading to this contact" +; +COM_SH404SEF_QUICK_START="Quick start" +COM_SH404SEF_SAVE="Start!" +COM_SH404SEF_WITH_HTACCESS_MOD_REWRITE="With .htaccess (mod_rewrite)" +COM_SH404SEF_IMPORT_BUTTON="Import" +COM_SH404SEF_EXPORT_BUTTON="Export" +COM_SH404SEF_WIZARD_START="Start" +COM_SH404SEF_WIZARD_NEXT="Next" +COM_SH404SEF_WIZARD_PREVIOUS="Previous" +COM_SH404SEF_WIZARD_CANCEL="Cancel" +COM_SH404SEF_WIZARD_TERMINATE="Terminate" +COM_SH404SEF_DELETE_URLS_WITH_DUP="Delete with dupl." +; +COM_SH404SEF_USE_SH404SEF_PLUGIN="Use sh404SEF plugin if available" +COM_SH404SEF_USE_JOOMLA_PLUGIN="Use Joomla! router.php" +COM_SH404SEF_USE_JOOMSEF_PLUGIN="Use Joomsef plugin" +COM_SH404SEF_USE_ACESEF_PLUGIN="Use Acesef plugin" +; +COM_SH404SEF_DUPLICATES_MAKE_MAIN="Make main" +COM_SH404SEF_BACK="Back" +; +COM_SH404SEF_NOT_FOUND_SHOW_URLS="Redirect to a SEF URL" +COM_SH404SEF_NOT_FOUND_SHOW_URLS_TITLE="Select a URL to 301 redirect new requests for this non-existing page. sh404SEF will select and propose a short list of URLS that look similar to the missing one. After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT="Enter a redirect URL" +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_TITLE="Click here to manually enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'). After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_FOR="redirect for" +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_LABEL="redirect to" +COM_SH404SEF_TT_ENTER_REDIRECT="Enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'), on your own site, and it should start with index.php?" +COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT="Select redirect target" +COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT_FOR="select a redirect for" +COM_SH404SEF_BACK_TO_NOT_FOUND="Back to not found list" +COM_SH404SEF_SELECT_ONLY_ONE_URL_TO_REDIRECT="Please select only one URL to redirect to" +COM_SH404SEF_INVALID_REDIRECT_TARGET_ID="Id of redirection target is not valid. Please contact administrator" +COM_SH404SEF_NOT_FOUND_REDIRECT_TO="Redirect %s to %s" +COM_SH404SEF_NOT_FOUND_SHOW_SIMILAR_URLS="Show only similar urls" +COM_SH404SEF_NOT_FOUND_SHOW_ALL_URLS="Show all SEF urls" +COM_SH404SEF_NOT_FOUND_SWITCHING_TO_DISPLAY_ALL_SEF="Could not find any similar SEF URL. Displaying all SEF URLs instead!" +COM_SH404SEF_INSERT_SHORTLINK_TAG="Insert shortlink tag" +COM_SH404SEF_TT_INSERT_SHORTLINK_TAG="If set to Yes, and a shURL is available for current page, a rel='shortlink' link tag will be inserted in the head section of the document, and as an HTTP header." +COM_SH404SEF_INSERT_REV_CAN_TAG="Insert rev canonical tag" +COM_SH404SEF_TT_INSERT_REV_CAN_TAG="If set to Yes, and a shURL is available for current page, a rev='canonical' link tag will be inserted in the head section of the document (not to be mistaken with a rel='canonical' link)" +COM_SH404SEF_INSERT_ALT_SHORT_TAG="Insert Alt. shorter tag" +COM_SH404SEF_TT_INSERT_ALT_SHORT_TAG="If set to Yes, and a shURL is available for current page, a rel='alternate shorter' link tag will be inserted in the head section of the document" +COM_SH404SEF_CAN_READ_REMOTE_CONFIG="Enable remote configuration" +COM_SH404SEF_TT_CAN_READ_REMOTE_CONFIG="If set to Yes, sh404sef will read up to date configuration from a central configuration file located on one of our server (http://versions.siliana.com/sh404sef_config.xml). This is an extremely useful feature, and we strongly encourage you to enable it. sh404SEF will work as usual without this switched on, but you will not get access to the latest version of various pieces of data, such as update server urls or search engines list especially in between releases." +COM_SH404SEF_STOP_CREATING_SHURLS="Stop creating new shURL" +COM_SH404SEF_TT_STOP_CREATING_SHURLS="If set to Yes, sh404sef will stop creating new shURLs for new pages. Existing shURL will still work normally, and will be redirected to their full-length SEF url counterpart" +COM_SH404SEF_SHURL_BLACKLIST="shURL blacklist" +COM_SH404SEF_TT_SHURL_BLACKLIST="Enter here a list of shURL you do NOT want to be created. Separate each one with a pipe ( | ) character. For instance, entering bad|bar will cause sh404SEF to never create a example.com/bad or a example.com/bar shURL.
                Note that letters i, j, l, m, n, o, s, t, v and 0, 1, 2, 5 will never be used to create shURL, so you do not need to blacklist any word that contains one of them." +COM_SH404SEF_SHURL_NON_SEF_BLACKLIST="Non-sef url blacklist" +COM_SH404SEF_TT_SHURL_NON_SEF_BLACKLIST="Enter here a list of non-sef url parts that will prevent shURL to be generated. Separate each one with a pipe ( | ) character. For instance, entering Itemid=34|task=edit will make sure no shURL is created for any non-sef url that contains the string 'Itemid=34' or the string 'task=edit'." +; +COM_SH404SEF_CANNOT_SAVE_404_NO_UNCAT="Cannot save error page to database: no sh404SEF category on your site, probably an error during installation" +; +COM_SH404SEF_INCLUDE_CONTENT_CAT="Show Category" +COM_SH404SEF_TT_INCLUDE_CONTENT_CAT="Select how a content item category should be included in the url. First and last refer to the category position in the list of categories, when there are several nested categories" +; +COM_SH404SEF_INCLUDE_CONTENT_CAT_CATEGORIES="Show cat. in categories links" +COM_SH404SEF_TT_INCLUDE_CONTENT_CAT_CATEGORIES="Select how category should be included in urls to Categories-type urls. See the menu item types to distinguish between this setting and the setting above" +COM_SH404SEF_CONTENT_TITLE_INCLUDE_CAT="Show category in title" +COM_SH404SEF_TT_CONTENT_TITLE_INCLUDE_CAT="Select how content item category will be included a browser page title" +COM_SH404SEF_CATEGORIES_SUFFIX="Categories view suffix" +COM_SH404SEF_TT_CATEGORIES_SUFFIX="Suffix used to distinguish between a regular category link and a [ List all categories ] link. The latter will have this suffix added" +COM_SH404SEF_CAT_NONE="None" +COM_SH404SEF_CAT_FIRST="Top one only" +COM_SH404SEF_CAT_LAST="Last one only" +COM_SH404SEF_CAT_2_FIRST="Top two" +COM_SH404SEF_CAT_2_LAST="Last 2" +COM_SH404SEF_CAT_ALL_NESTED_CAT="All nested categories" +; +COM_SH404SEF_LIVE_SITES="Url" +COM_SH404SEF_TT_LIVE_SITES="Url where the site can be accessed for this language. Leave empty if all languages are accessed at same address - with language code such as www.exeample.org/fr/.
                Enter a full url with no trailing slash such as http://www.frenchexample.fr, http://frenchexample.fr or http://fr.example.org.
                You will need to set DNS records so that all requests are routed to your web server for this to work." +COM_SH404SEF_WWW_DONT_ENFORCE="Do not enforce" +COM_SH404SEF_WWW_ENFORCE_WWW="Enforce access through www url" +COM_SH404SEF_WWW_ENFORCE_NO_WWW="Enforce access without www" +COM_SH404SEF_USE_JOOMLA_ROUTER="Use Joomla! router" +; +COM_SH404SEF_UNCAT_ITEM_SLUG_NO_CAT="Use only item title" +COM_SH404SEF_UNCAT_ITEM_SLUG_USE_MENU_ITEM="Insert menu item title" +COM_SH404SEF_SLUG_FOR_UNCATEGORIZED_ITEMS="Uncategorized items" +COM_SH404SEF_TT_SLUG_FOR_UNCATEGORIZED_ITEMS="Urls for uncategorized items will either include only the item title/alias, or be prepended with the menu item title.
                It is recommended to use the default value, Use item title, to avoid duplicate content that may be created when inserting a menu item title in a url" +; +COM_SH404SEF_SEE_LICENSE_AND_TERMS="see licence & terms" +; +COM_SH404SEF_ENABLE_MULTILINGUAL_SUPPORT="Enable multilingual support" +COM_SH404SEF_TT_ENABLE_MULTILINGUAL_SUPPORT="If set to Yes, sh404SEF will support multilingual features of Joomla! Please do not enable the Language Filter plugin, sh404SEF will do it for you transparently." +COM_SH404SEF_CONFIG_SOCIAL_SEO_DESC="Configure inclusion of tags to be used by social networks when sharing your website content" +COM_SH404SEF_CONFIG_SOCIAL_SEO="Social SEO" +COM_SH404SEF_CONF_SOCIAL_SEO_HELP="You can enter here some default data that will be added to each page of your site. These (invisible) Open Graph data tags will be read and used by Facebook, Google+ and possibly other social networks to help them display and organize your content, when users use Like or Send buttons on your site.
                You can override these values on a url by url basis using the URL manager or the Title and metas manager.
                Please become familiar with the Open Graph data tags name and content before starting to use them!
                You can easily insert Facebook, Twitter and Google Plus buttons on your pages (articles, products, modules or even templates) by using the sh404SEF Social buttons plugin! Using sh404SEF social buttons, social actions will be tracked in your Analytics reports
                " +COM_SH404SEF_OG_CONFIG="Social networking" +COM_SH404SEF_OG_DATA_ENABLED="Enable on all pages" +COM_SH404SEF_TT_OG_DATA_ENABLED="Set to Yes to insert Open Graph tags to your pages, using default values set below, or information you will set url by url. If set to No, you can still enable this feature url by url" +COM_SH404SEF_OG_REQUIRED_TITLE="Required tags" +COM_SH404SEF_OG_TYPE_SELECT="Object type" +COM_SH404SEF_TT_OG_TYPE_SELECT="Select the object type for the object described on your pages. 'Website' should be selected only on your site homepage, while 'article' is the normal type for most content" +COM_SH404SEF_OG_IMAGE_PATH="Image" +COM_SH404SEF_TT_OG_IMAGE_PATH="Enter the path of an image (at least 50x50px) that represent the object on your page. This should probably be set url by url. The path must be absolute, starting with a /" +COM_SH404SEF_OG_OPTIONAL_TITLE="Optional tags" +COM_SH404SEF_OG_INSERT_DESCRIPTION="Insert description" +COM_SH404SEF_TT_OG_INSERT_DESCRIPTION="If set to yes, an Open graph tag with a page description will be added to your pages. The description used will be the same as the regular Description meta tag, and can be set, for instance, using sh404SEF Title and metas manager." +COM_SH404SEF_OG_INSERT_SITE_NAME="Insert site name" +COM_SH404SEF_TT_OG_INSERT_SITE_NAME="If set to Yes, an Open Graph tag with your site name will be added to your pages" +COM_SH404SEF_OG_SITE_NAME="Site name" +COM_SH404SEF_TT_OG_SITE_NAME="Enter your site name. If left empty, the site name set in Joomla! general configuration will be used." +COM_SH404SEF_FB_ADMIN_IDS="Facebook admin ids" +COM_SH404SEF_TT_FB_ADMIN_IDS="Enter a comma separated list of Facebook admin ids. If set, this will be used by Facebook to attach your objects to your profile" +COM_SH404SEF_OG_LOCATION_TITLE="Location tags" +COM_SH404SEF_OG_INSERT_LOCATION="Insert location" +COM_SH404SEF_TT_OG_INSERT_LOCATION="If set to Yes, Open Graph location data tags will be inserted into your pages, using default values set below, or information you will set url by url" +COM_SH404SEF_OG_LATITUDE="Latitude" +COM_SH404SEF_TT_OG_LATITUDE="Enter the latitude of the object described on your page, for instance: 37.416343" +COM_SH404SEF_OG_LONGITUDE="Longitude" +COM_SH404SEF_TT_OG_LONGITUDE="Enter the longitude of the object described on your page, for instance: -122.153013" +COM_SH404SEF_OG_STREET_ADDRESS="Street address" +COM_SH404SEF_TT_OG_STREET_ADDRESS="Enter the street address of the object described on your page, for instance: 1601 S California Ave" +COM_SH404SEF_OG_LOCALITY="Locality" +COM_SH404SEF_TT_OG_LOCALITY="Enter the locality of the object described on your page, for instance: Palo Alto" +COM_SH404SEF_OG_POSTAL_CODE="Postal code" +COM_SH404SEF_TT_OG_POSTAL_CODE="Enter the postal code of the object described on your page, for instance: 94304" +COM_SH404SEF_OG_COUNTRY_NAME="Country name" +COM_SH404SEF_TT_OG_COUNTRY_NAME="Enter the country name of the object described on your page, for instance: USA" +COM_SH404SEF_OG_CONTACT_TITLE="Contact tags" +COM_SH404SEF_OG_INSERT_CONTACT="Insert contact info" +COM_SH404SEF_TT_OG_INSERT_CONTACT="If set to Yes, Open Graph contact information tags will be inserted into your pages, using default values set below, or information you will set url by url" +COM_SH404SEF_OG_EMAIL="Email" +COM_SH404SEF_TT_OG_EMAIL="Enter email of the object described on your page, for instance: me@example.com" +COM_SH404SEF_OG_PHONE_NUMBER="Phone number" +COM_SH404SEF_TT_OG_PHONE_NUMBER="Enter the phone number of the object described on your page, for instance: 650-123-4567" +COM_SH404SEF_OG_FAX_NUMBER="Fax number" +COM_SH404SEF_TT_OG_FAX_NUMBER="Enter the fax number of the object described on your page, for instance: +1-415-123-4567" +COM_SH404SEF_OG_TYPES_GROUP_ACTIVITIES="Activities" +COM_SH404SEF_OG_TYPES_ACTIVITY="Activity" +COM_SH404SEF_OG_TYPES_SPORT="Sport" +COM_SH404SEF_OG_TYPES_GROUP_BUSINESSES="Businesses" +COM_SH404SEF_OG_TYPES_BAR="Bar" +COM_SH404SEF_OG_TYPES_COMPANY="Company" +COM_SH404SEF_OG_TYPES_CAFE="Cafe" +COM_SH404SEF_OG_TYPES_HOTEL="Hotel" +COM_SH404SEF_OG_TYPES_RESTAURANT="Restaurant" +COM_SH404SEF_OG_TYPES_GROUP_GROUPS="Groups" +COM_SH404SEF_OG_TYPES_CAUSE="Cause" +COM_SH404SEF_OG_TYPES_SPORTS_LEAGUE="Sports league" +COM_SH404SEF_OG_TYPES_SPORTS_TEAM="Sports team" +COM_SH404SEF_OG_TYPES_GROUP_ORGANIZATIONS="Organizations" +COM_SH404SEF_OG_TYPES_BAND="Band" +COM_SH404SEF_OG_TYPES_GOVERNMENT="Government" +COM_SH404SEF_OG_TYPES_NON_PROFIT="Non profit" +COM_SH404SEF_OG_TYPES_SCHOOL="School" +COM_SH404SEF_OG_TYPES_UNIVERSITY="University" +COM_SH404SEF_OG_TYPES_GROUP_PEOPLE="People" +COM_SH404SEF_OG_TYPES_ACTOR="Actor" +COM_SH404SEF_OG_TYPES_ATHLETE="Athlete" +COM_SH404SEF_OG_TYPES_AUTHOR="Author" +COM_SH404SEF_OG_TYPES_DIRECTOR="Director" +COM_SH404SEF_OG_TYPES_MUSICIAN="Musician" +COM_SH404SEF_OG_TYPES_POLITICIAN="Politician" +COM_SH404SEF_OG_TYPES_PUBLIC_FIGURE="Public figure" +COM_SH404SEF_OG_TYPES_GROUP_PLACES="Places" +COM_SH404SEF_OG_TYPES_CITY="City" +COM_SH404SEF_OG_TYPES_COUNTRY="Country" +COM_SH404SEF_OG_TYPES_LANDMARK="Landmark" +COM_SH404SEF_OG_TYPES_STATE_PROVINCE="State/Province" +COM_SH404SEF_OG_TYPES_GROUP_PROD_AND_ENTERTAINMENT="Product and entertainement" +COM_SH404SEF_OG_TYPES_ALBUM="Album" +COM_SH404SEF_OG_TYPES_BOOK="Book" +COM_SH404SEF_OG_TYPES_DRINK="Drink" +COM_SH404SEF_OG_TYPES_FOOD="Food" +COM_SH404SEF_OG_TYPES_GAME="Game" +COM_SH404SEF_OG_TYPES_PRODUCT="Product" +COM_SH404SEF_OG_TYPES_SONG="Song" +COM_SH404SEF_OG_TYPES_MOVIE="Movie" +COM_SH404SEF_OG_TYPES_TV_SHOW="TV show" +COM_SH404SEF_OG_TYPES_GROUP_WEBSITES="Websites" +COM_SH404SEF_OG_TYPES_BLOG="Blog" +COM_SH404SEF_OG_TYPES_WEBSITE="Website" +COM_SH404SEF_OG_TYPES_ARTICLE="Article" +COM_SH404SEF_OG_TT_CLEAR_PER_URL="
                Enter a @ sign to clear the global value set in configuration for this field" +COM_SH404SEF_OG_DATA_ENABLED_BY_URL="Enable on this page" +COM_SH404SEF_TT_OG_DATA_ENABLED_BY_URL="If set to Yes, Open graph data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" +COM_SH404SEF_CANONICAL="Canonical url" +COM_SH404SEF_TT_CANONICAL="Enter a canonical url for this page. A canonical url will help search engines consolidate content which can be accessed through several URL under a unique one.
                You can enter any type of URL here, relative, absolute, on your site or even onto another web site. To reduce errors, we advise you enter an absolute url, either starting with a / or with http://
                Make sur you know what you're doing, a wrong canonical url can kill your site rankings." +COM_SH404SEF_OG_ENABLE_FB_ADMIN_IDS="Insert Facebook admin ids" +COM_SH404SEF_TT_OG_ENABLE_FB_ADMIN_IDS="If set to Yes, Facebook admin ids will be inserted in current page, regardless of the default setting in sh404SEF configuration. You can also customize the ids used on this page using the input box below. If set to No, the ids will not be inserted, and if set to Use Default, it will depend on sh404SEF global configuration" +COM_SH404SEF_ANALYTICS_SOCIAL_ENGAGEMENT="Social engagement" +COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT="Total social actions" +COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT_DESC="Total net number of social engagement actions that took place on your site" +COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT="Visits with social action" +COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT_DESC="Net number of visits that included some social actions" +COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT="Facebook actions count" +COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT_DESC="Net number of Facebok actions (Likes - Unlikes)" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT="+1 actions" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT_DESC="Net number of Google +1 actions (Plused - Unplused)" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT="+1 page actions count" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT_DESC="Total number of Google +1 page actions" +COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT="Twitter actions count" +COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT_DESC="Total number of Twitter actions" +COM_SH404SEF_ANALYTICS_SOCIAL_FACEBOOK_ENGAGEMENT="Facebook engagement" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_FACEBOOK_ENGAGEMENT="There was no Facebook engagement recorded" +COM_SH404SEF_ANALYTICS_SOCIAL_TWEETER_ENGAGEMENT="Twitter engagement" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_TWEETER_ENGAGEMENT="There was no recorded Twitter engagement" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ENGAGEMENT="+1 engagement" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_ENGAGEMENT="There was no +1 engagement recorded" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_PAGE_ENGAGEMENT="+1 page engagement" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_PAGE_ENGAGEMENT="There was no +1 page engagement recorded" +COM_SH404SEF_ANALYTICS_SOCIAL_LIKE="Like" +COM_SH404SEF_ANALYTICS_SOCIAL_UNLIKE="Unlike" +COM_SH404SEF_ANALYTICS_SOCIAL_SEND="Send" +COM_SH404SEF_ANALYTICS_SOCIAL_TYPE="Type" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_ENGAGEMENT="Google +1 engagement" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_PAGE_ENGAGEMENT="Google +1 pages engagement" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT="+1 page actions count" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT_DESC="Number of actions performed by visitors" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ON="Plused" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_OFF="Unplused" +; +COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT="Pinterest actions count" +COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT_DESC="Total number of Pinterest actions" +COM_SH404SEF_ANALYTICS_SOCIAL_PINNED="Pinned" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_PINTEREST_ENGAGEMENT="There was no Pinterest page engagement recorded" +COM_SH404SEF_ANALYTICS_SOCIAL_PINTEREST_ENGAGEMENT="Pinterest engagement" +COM_SH404SEF_INSERT_PAGINATION_TAGS="Insert prev/next pagination tags" +COM_SH404SEF_TT_INSERT_PAGINATION_TAGS="If set to Yes, rel='prev' and rel='next' link tags will be inserted in html documents section, to help search engines identify pages that are part of a paginated series" +; +COM_SH404SEF_TT_VIRTUEMART_NOTE="
                Note:When using Virtuemart, more url settings are available directly inside Virtuemart configuration, under the SEO tab. However, some sh404SEF general settings such as pagination strings will not work with Virtuemart urls" +; +COM_SH404SEF_TT_DEBUG_TO_LOG_FILE_PLUGIN="You can enable logging of useful debug information to a log file in the ShLib plugin parameters. Set 'Log debug message' to Yes there. Don't forget to disable it after a while, as log files may get quite large quite soon" +COM_SH404SEF_CONFIGURE_SHLIB_PLUGIN="Configure shLib plugin" +; +COM_SH404SEF_404_PAGE_DESCRIPTION="You can edit here the text of an article that will be displayed as an error page in case of '404 Page not found' error.
                The error page is a regular Joomla! content article, stored in the 'sh404SEF custom content' category. The content displayed here is for the 'All' or '*' language. It can equally be modified from Joomla!'s article list, under the title '__404__'.
                You can also make copies of that '__404__' article in other languages, in the same category, and translate them, but always keep the same '__404__' title for all languages" +; +COM_SH404SEF_OG_TYPES_PROFILE="Profile" +COM_SH404SEF_OG_TYPES_TV_EPISODE="TV episode" +COM_SH404SEF_OG_TYPES_TV_VIDEO="Video" +; +COM_SH404SEF_URL_CACHE_HANDLER="Url cache handler" +COM_SH404SEF_TT_URL_CACHE_HANDLER="If URL cache is enabled, URLs can be cached either on a disk file (default), or in shared memory. The latter requires a cache system such as APC, Memcache, WinCache to be installed and properly activated on your server.
                You can set up connection parameters for these cache system, if required, in the shLib system plugin" +COM_SH404SEF_URL_CACHE_HANDLER_FILE="Disk file" +COM_SH404SEF_URL_CACHE_HANDLER_SHARED_MEMORY="Shared memory" +COM_SH404SEF_DISPLAY_URL_CACHE_STATS="Display cache stats" +COM_SH404SEF_TT_DISPLAY_URL_CACHE_STATS="If set to Yes, URL cache statistics will be appended to the end of each page. Enable only for debugging and testing purpose" +; +COM_SH404SEF_ANALYTICS_USER_GROUPS="Enable for groups" +COM_SH404SEF_TT_ANALYTICS_USER_GROUPS="Select one or more user groups for which Analytics data collection is enabled." +; +COM_SH404SEF_COM_CONFIG_INFO_TEXT="sh404SEF configuration is accessed from it's main control panel, using the 'Configuration' toolbar button." +COM_SH404SEF_START="Start!" +COM_SH404SEF_PLEASE_WAIT="Just a moment..." +COM_SH404SEF_NEW_VERSION_AVAILABLE_NO_HTML="New version available !" +; +COM_SH404SEF_REMOVE_OTHER_CANONICALS="Remove other canonicals" +COM_SH404SEF_TT_REMOVE_OTHER_CANONICALS="If set to Yes, multiple canonical tags inserted by Joomla! and/or other extensions will be removed so that only one canonical tag at most is left." +; +COM_SH404SEF_FOOTER_FULL="sh404SEF %s %s | Copyright ©%s Yannick Gaultier, Anything Digital,llc" +; +COM_SH404SEF_TT_ANALYTICS_EDITION="Select which edition of Google Analytics to use. You can use Universal analytics with sh404SEF, but due to Universal current limitations (beta), none of the advanced analytics features of sh404SEF are available with it. It is recommended for now to run either Classic or both.
                You can also decide to use Google Tags Manager (GTM). GTM replaces both Classic Google Analytics and Universal Analytics." +COM_SH404SEF_ANALYTICS_NONE="None" +COM_SH404SEF_ANALYTICS_CLASSIC="Classic" +COM_SH404SEF_ANALYTICS_UNIVERSAL="Universal" +COM_SH404SEF_ANALYTICS_BOTH="Classic & Universal" +COM_SH404SEF_ANALYTICS_UGA_ID="Web Property ID (universal)" +COM_SH404SEF_TT_ANALYTICS_UGA_ID="The ID for this site, as supplied by Google analytics Universal edition. It should look like UA-XXXXX-Y where X and Y are numbers.
                We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                If you already have an account, just use it, you don't need to create a separate one for sh404SEF." +; +COM_SH404SEF_UPDATES="Updates" +COM_SH404SEF_UPDATES_DESCRIPTION="Some editions of this extension requires credentials to perform one-click updates. Cut and paste them from your subscription dashboard on our website." +COM_SH404SEF_CONF_TAB_UPDATES="Update credentials" +COM_SH404SEF_UPDATE_ACCESS_KEY="Access key" +COM_SH404SEF_TT_UPDATE_ACCESS_KEY="Enter here your update access key" +COM_SH404SEF_UPDATE_SECRET_KEY="Secret key" +COM_SH404SEF_TT_UPDATE_SECRET_KEY="Enter here your update secret key" +COM_SH404SEF_PERFORM_UPDATE="Update now!" +; +COM_SH404SEF_ANALYTICS_GOOGLE_TAGS_MANAGER="Use Google Tags Manager" +COM_SH404SEF_ANALYTICS_GTM_ID="Google Tags manager ID" +COM_SH404SEF_TT_ANALYTICS_GTM_ID="Insert here your Google Tags Manager ID. It should look like GTM-XXXXXX." +; +COM_SH404SEF_TWITTER_CARDS_TITLE="Twitter Cards" +COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS="Enable Twitter Cards" +COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC="If set to Yes, Twitter Cards meta tags will be inserted into the page head section" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT="Site account" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:site' cards meta tag, including @ sign" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT="Creator account" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:creator' cards meta tag, including @ sign" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_USE_OG_IMAGE="Please note that Twitter Cards image tag will use the same image as OpenGraph image tag" +COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC_PER_URL="If set to Yes, Twitter Cards data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES="Enable on categories" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_DESC="Select one or more Joomla! content categories where Twitter Cards informaton should be inserted" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_SHOW_ON_ALL="All categories" +; +COM_SH404SEF_GOOGLE_AUTHORSHIP_TITLE="Google authorship" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP="Enable Google authorship" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP_DESC="If set to Yes, Google+ authorship information will replace Joomla! provided author information" +COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE="Profile id" +COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE_DESC="Enter your Google+ profile Id. This may be a number such as 1464599466741256989 or named url similar to +johnDoe (include the leading +)" +COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME="Author name" +COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME_DESC="Enter your full name as it appears on your Google+ profile" +COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES="Enable on categories" +COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_DESC="Select one or more Joomla! content categories where Google+ authorship informaton should be inserted" +COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_SHOW_ON_ALL="All categories" +; +COM_SH404SEF_LANGUAGEFILTER_PLUGIN_WARNING="It seems your site is multilingual. From sh404SEF version 4.3.1 up, Joomla! languagefilter system plugin should now be enabled, while older versions required it to be disabled. You can enable it on this page" +; +COM_SH404SEF_ANALYTICS_ENABLE_ANONYMIZATION="Anonymize IP" +COM_SH404SEF_TT_ANALYTICS_ENABLE_ANONYMIZATION="If set to Yes, required code to ask Google to anonymize visitors IP address will be added to the tracking snippet" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER="Enable Google publisher tag" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER_DESC="If set to Yes, a rel=publisher tag will be inserted in the section of each page - unless you already have set a visible Google+ page badge (see sh404SEF core social plugin parameters). In such case, the latter will take precedence." +COM_SH404SEF_GOOGLE_PUBLISHER_URL="Google+ publisher URL" +COM_SH404SEF_GOOGLE_PUBLISHER_URL_DESC="Enter here the Google+ page of the publisher. This may be a number such as 1464599466741256989 or a named url similar to +myCompany (include the leading +)" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.joomsef.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.joomsef.ini index f94f5b0c..364d5b1d 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.joomsef.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.joomsef.ini @@ -1,6 +1,6 @@ -; @version $Id$ -; @package sh404sef-15 -; @author Yannick Gaultier -; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. -; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL - +; @version $Id$ +; @package sh404sef-15 +; @author Yannick Gaultier +; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. +; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL + diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.sys.ini index 2aac1e78..69bf63da 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_sh404sef.sys.ini @@ -1,17 +1,17 @@ -; @version $Id$ -; @package sh404sef-15 -; @subpackage -; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. -; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL - -COM_SH404SEF="sh404SEF" -COM_SH404SEF_CONTROL_PANEL="Control panel" -COM_SH404SEF_URL_MANAGER="Url manager" -COM_SH404SEF_ALIASES_MANAGER="Aliases manager" -COM_SH404SEF_PAGEID_MANAGER="shURL manager" -COM_SH404SEF_404_REQ_MANAGER="404 requests manager" -COM_SH404SEF_TITLE_METAS_MANAGER="Title and metas manager" -COM_SH404SEF_ANALYTICS_MANAGER="Analytics manager" -COM_SH404SEF_DOCUMENTATION="Documentation" -; common strings -COM_SH404SEF_ALWAYS_INSERT_ITEMID_PREFIX="menu id" +; @version $Id$ +; @package sh404sef-15 +; @subpackage +; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. +; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL + +COM_SH404SEF="sh404SEF" +COM_SH404SEF_CONTROL_PANEL="Control panel" +COM_SH404SEF_URL_MANAGER="Url manager" +COM_SH404SEF_ALIASES_MANAGER="Aliases manager" +COM_SH404SEF_PAGEID_MANAGER="shURL manager" +COM_SH404SEF_404_REQ_MANAGER="404 requests manager" +COM_SH404SEF_TITLE_METAS_MANAGER="Title and metas manager" +COM_SH404SEF_ANALYTICS_MANAGER="Analytics manager" +COM_SH404SEF_DOCUMENTATION="Documentation" +; common strings +COM_SH404SEF_ALWAYS_INSERT_ITEMID_PREFIX="menu id" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_smartshoutbox.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_smartshoutbox.ini index 921ac6a3..24789052 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_smartshoutbox.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_smartshoutbox.ini @@ -1,557 +1,557 @@ - -COM_SMARTSHOUTBOX = "Smart Shoutbox" -COM_SMARTSHOUTBOX_TITLE = "Smart Shoutbox" -COM_SMARTSHOUTBOX_CONFIGURATION = "Smart Shoutbox Configuration" -COM_SMARTSHOUTBOX_VERSION_CURRENT = "Version: %s" -COM_SMARTSHOUTBOX_VERSION_LATEST = "You have the latest version: %s" -COM_SMARTSHOUTBOX_VERSION_UPDATE = "A new version is available: %s. Click here to download." -COM_SMARTSHOUTBOX_VERSION_FUTURE = "Wow! You have version %s and it's from THE FUTURE!"; -COM_SMARTSHOUTBOX_COPYRIGHT = "© 2011-%s Powered by The Krotek" -COM_SMARTSHOUTBOX_DESCRIPTION = "Welcome to Smart Shoutbox - the best chatting extension on Joomla market! Smart Shoutbox is a balanced chat component with neat layout and a fairly enough scripts and features to work smoothly and almost faultlessly. Create chat rooms, attach files, install multiple chat modules and tweak tons of options to make your chatting experience as comfortable as possible." - -; Common strings - -COM_SMARTSHOUTBOX_FILTER_DATE = "d.m.Y" -COM_SMARTSHOUTBOX_FILTER_TIME = "H:i" -COM_SMARTSHOUTBOX_FILTER_DATETIME = "d.m.Y, H:i" - -COM_SMARTSHOUTBOX_PUBLISHED = "Published" -COM_SMARTSHOUTBOX_UNPUBLISHED = "Unpublished" -COM_SMARTSHOUTBOX_USER = "User ID" -COM_SMARTSHOUTBOX_IP = "IP-address" -COM_SMARTSHOUTBOX_SHOUT_ID = "Shout ID" - -COM_SMARTSHOUTBOX_CATEGORY = "Category" -COM_SMARTSHOUTBOX_CATEGORIES = "Categories" -COM_SMARTSHOUTBOX_SHOUT = "Shout" -COM_SMARTSHOUTBOX_SHOUTS = "Shouts" -COM_SMARTSHOUTBOX_BANNED = "Banned users" -COM_SMARTSHOUTBOX_SMILEYS = "Smileys" -COM_SMARTSHOUTBOX_OPTIONS = "Options" - -COM_SMARTSHOUTBOX_SELECT_ALL = "Select all" -COM_SMARTSHOUTBOX_SELECT_ARTICLE = "- Select article -" -COM_SMARTSHOUTBOX_SELECT_FILTER = "- Select filter -" -COM_SMARTSHOUTBOX_SELECT_MENU = "- Select menu item -" -COM_SMARTSHOUTBOX_SELECT_MENU_TYPE = "- Select menu type -" -COM_SMARTSHOUTBOX_SELECT_CATEGORY = "- Select category -" -COM_SMARTSHOUTBOX_SELECT_USER = "- Select user -" -COM_SMARTSHOUTBOX_SELECT_STATUS = "- Select status -" -COM_SMARTSHOUTBOX_SELECT_FOLDER = "- Select folder -" - -COM_SMARTSHOUTBOX_ALL_COLUMNS = "All columns" -COM_SMARTSHOUTBOX_ALL_FIELDS = "All fields" -COM_SMARTSHOUTBOX_ALL_GROUPS = "All groups" -COM_SMARTSHOUTBOX_ALL_TYPES = "All types" -COM_SMARTSHOUTBOX_ALL_CATEGORIES = "All categories" -COM_SMARTSHOUTBOX_ALL_BUTTONS = "All buttons" - -COM_SMARTSHOUTBOX_ATTACHED = "Attached" -COM_SMARTSHOUTBOX_ATTACHED_REMOVE = "Uncheck to remove" -COM_SMARTSHOUTBOX_ATTACHED_VIEW = "Click to view" - -COM_SMARTSHOUTBOX_UNCATEGORIZED = "Uncategorized" -COM_SMARTSHOUTBOX_GUEST = "Guest" -COM_SMARTSHOUTBOX_GUESTS = "Guests" -COM_SMARTSHOUTBOX_USERS = "Users" -COM_SMARTSHOUTBOX_REQUIRED = " (required)" -COM_SMARTSHOUTBOX_OPEN_LINK = "Click to open link" -COM_SMARTSHOUTBOX_VIEW_IMAGE = "Click to view image" -COM_SMARTSHOUTBOX_WATCH_VIDEO = "Click to watch video" - -COM_SMARTSHOUTBOX_MENU_DEFAULT = "Default (current)" - -COM_SMARTSHOUTBOX_ATTACHED = "Attached files:" -COM_SMARTSHOUTBOX_DOWNLOAD_ATTACHMENT = "Download attachment" - -; Buttons - -COM_SMARTSHOUTBOX_BUTTON_HOME = "Home" -COM_SMARTSHOUTBOX_BUTTON_CATEGORIES = "Categories" -COM_SMARTSHOUTBOX_BUTTON_SHOUTS = "Shouts" -COM_SMARTSHOUTBOX_BUTTON_BANNED = "Banned" -COM_SMARTSHOUTBOX_BUTTON_SMILEYS = "Smileys" -COM_SMARTSHOUTBOX_BUTTON_OPTIONS = "Options" -COM_SMARTSHOUTBOX_BUTTON_HELP = "Help" - -COM_SMARTSHOUTBOX_BUTTON_ADD = "New" -COM_SMARTSHOUTBOX_BUTTON_ADD_TITLE = "Add new item" -COM_SMARTSHOUTBOX_BUTTON_VIEW = "View" -COM_SMARTSHOUTBOX_BUTTON_VIEW_TITLE = "View selected item" -COM_SMARTSHOUTBOX_BUTTON_EDIT = "Edit" -COM_SMARTSHOUTBOX_BUTTON_EDIT_TITLE = "Edit selected item" -COM_SMARTSHOUTBOX_BUTTON_COPY = "Copy" -COM_SMARTSHOUTBOX_BUTTON_COPY_TITLE = "Copy selected items" -COM_SMARTSHOUTBOX_BUTTON_PUBLISH = "Publish" -COM_SMARTSHOUTBOX_BUTTON_PUBLISH_TITLE = "Publish selected items" -COM_SMARTSHOUTBOX_BUTTON_UNPUBLISH = "Unpublish" -COM_SMARTSHOUTBOX_BUTTON_UNPUBLISH_TITLE = "Unpublish selected items" -COM_SMARTSHOUTBOX_BUTTON_TOGGLE = "Toggle" -COM_SMARTSHOUTBOX_BUTTON_TOGGLE_TITLE = "Toggle state for selected item" -COM_SMARTSHOUTBOX_BUTTON_DELETE = "Delete" -COM_SMARTSHOUTBOX_BUTTON_DELETE_TITLE = "Delete selected items" -COM_SMARTSHOUTBOX_BUTTON_EMPTY = "Empty" -COM_SMARTSHOUTBOX_BUTTON_EMPTY_TITLE = "Delete all items" -COM_SMARTSHOUTBOX_BUTTON_SAVE = "Save" -COM_SMARTSHOUTBOX_BUTTON_SAVE_TITLE = "Save and close" -COM_SMARTSHOUTBOX_BUTTON_APPLY = "Apply" -COM_SMARTSHOUTBOX_BUTTON_APPLY_TITLE = "Apply and stay" -COM_SMARTSHOUTBOX_BUTTON_CANCEL = "Cancel" -COM_SMARTSHOUTBOX_BUTTON_CANCEL_TITLE = "Cancel action" -COM_SMARTSHOUTBOX_BUTTON_SCAN = "Scan" -COM_SMARTSHOUTBOX_BUTTON_SCAN_TITLE = "Scan for new items" - -COM_SMARTSHOUTBOX_BUTTON_COPY_ITEM = "Copy" -COM_SMARTSHOUTBOX_BUTTON_VIEW_ITEM = "View" -COM_SMARTSHOUTBOX_BUTTON_EDIT_ITEM = "Edit" -COM_SMARTSHOUTBOX_BUTTON_DELETE_ITEM = "Delete" -COM_SMARTSHOUTBOX_BUTTON_TOGGLE_ITEM = "Toggle" - -COM_SMARTSHOUTBOX_BUTTON_SEARCH = "Search" -COM_SMARTSHOUTBOX_BUTTON_SEARCH_TITLE = "Search for entered keywords." -COM_SMARTSHOUTBOX_BUTTON_CLEAR = "Clear" -COM_SMARTSHOUTBOX_BUTTON_CLEAR_TITLE = "Clear search." -COM_SMARTSHOUTBOX_BUTTON_SAVE = "Save" -COM_SMARTSHOUTBOX_BUTTON_SAVE_TITLE = "Save items" -COM_SMARTSHOUTBOX_BUTTON_UPDATE = "Update" -COM_SMARTSHOUTBOX_BUTTON_UPDATE_TITLE = "Update options." -COM_SMARTSHOUTBOX_BUTTON_RESET = "Reset" -COM_SMARTSHOUTBOX_BUTTON_RESET_TITLE = "Reset to default values." -COM_SMARTSHOUTBOX_BUTTON_CLOSE = "Close" -COM_SMARTSHOUTBOX_BUTTON_CLOSE_TITLE = "Close message" -COM_SMARTSHOUTBOX_BUTTON_DISABLED = "Disabled" -COM_SMARTSHOUTBOX_BUTTON_DISABLED_TITLE = "You are not allowed to use this function" - -COM_SMARTSHOUTBOX_BUTTON_BAN = "Ban" -COM_SMARTSHOUTBOX_BUTTON_BAN_TITLE = "Ban selected users" - -; Search - -COM_SMARTSHOUTBOX_SEARCH = "Enter keywords" -COM_SMARTSHOUTBOX_SEARCH_SUBMIT = "Submit search" -COM_SMARTSHOUTBOX_SEARCH_CLEAR = "Clear search" -COM_SMARTSHOUTBOX_SEARCH_CATEGORIES = "Search by category title or description." -COM_SMARTSHOUTBOX_SEARCH_SHOUTS = "Search by shout text, category title, author name or IP-address." -COM_SMARTSHOUTBOX_SEARCH_BANNED = "Search by user ID, author name or IP-address." -COM_SMARTSHOUTBOX_SEARCH_SMILEYS = "Search by image name, title or typed value." - -; Filters - -COM_SMARTSHOUTBOX_FILTER_CATEGORY = "Any category" -COM_SMARTSHOUTBOX_FILTER_LANGUAGE = "Any language" -COM_SMARTSHOUTBOX_FILTER_STATUS = "Any status" - -; Columns: Common - -COM_SMARTSHOUTBOX_COLUMN_ALL = "All columns" -COM_SMARTSHOUTBOX_COLUMN_ID = "ID" -COM_SMARTSHOUTBOX_COLUMN_STATUS = "Status" -COM_SMARTSHOUTBOX_COLUMN_ADDED = "Added" -COM_SMARTSHOUTBOX_COLUMN_IP = "IP-address" -COM_SMARTSHOUTBOX_COLUMN_ACTIONS = "Actions" - -; Columns: Categories - -COM_SMARTSHOUTBOX_COLUMN_ICON = "Icon" -COM_SMARTSHOUTBOX_COLUMN_TITLE = "Title" -COM_SMARTSHOUTBOX_COLUMN_DESCRIPTION = "Description" -COM_SMARTSHOUTBOX_COLUMN_GROUPS = "Groups" -COM_SMARTSHOUTBOX_COLUMN_SHOUTS = "Shouts" -COM_SMARTSHOUTBOX_COLUMN_ORDERING = "Ordering" - -; Columns: Shouts - -COM_SMARTSHOUTBOX_COLUMN_CATEGORY = "Category" -COM_SMARTSHOUTBOX_COLUMN_MESSAGE = "Message" - -; Columns: Banned - -COM_SMARTSHOUTBOX_COLUMN_SHOUT_ID = "Shout ID" -COM_SMARTSHOUTBOX_COLUMN_AUTHOR_ID = "Joomla User" -COM_SMARTSHOUTBOX_COLUMN_AUTHOR = "Author Name" -COM_SMARTSHOUTBOX_COLUMN_EMAIL = "Email" - -; Columns: Smileys - -COM_SMARTSHOUTBOX_COLUMN_IMAGE = "Image" -COM_SMARTSHOUTBOX_COLUMN_FOLDER = "Folder" -COM_SMARTSHOUTBOX_COLUMN_TYPED = "Typed values" - -; Fields: Common - -COM_SMARTSHOUTBOX_FIELD_ID = "ID" -COM_SMARTSHOUTBOX_FIELD_ID_DESC = "Item ID" -COM_SMARTSHOUTBOX_FIELD_ADDED = "Added" -COM_SMARTSHOUTBOX_FIELD_ADDED_DESC = "Date added" -COM_SMARTSHOUTBOX_FIELD_TITLE = "Title" -COM_SMARTSHOUTBOX_FIELD_TITLE_DESC = "Item title" -COM_SMARTSHOUTBOX_FIELD_DESCRIPTION = "Description" -COM_SMARTSHOUTBOX_FIELD_DESCRIPTION_DESC = "Item description" -COM_SMARTSHOUTBOX_FIELD_STATUS = "Status" -COM_SMARTSHOUTBOX_FIELD_STATUS_DESC = "Item status" - -; Fields: Categories - -COM_SMARTSHOUTBOX_FIELD_GROUPS = "User groups" -COM_SMARTSHOUTBOX_FIELD_GROUPS_DESC = "Category will be available to selected user groups only (empty - all groups and guests)." - -COM_SMARTSHOUTBOX_FIELD_ICON = "Icon" -COM_SMARTSHOUTBOX_FIELD_ICON_DESC = "Icon name from Fontawesome font to display in title." - -COM_SMARTSHOUTBOX_FIELD_ORDERING = "Ordering" -COM_SMARTSHOUTBOX_FIELD_ORDERING_DESC = "Category list ordering value for front-end." - -; Fields: Shouts - -COM_SMARTSHOUTBOX_FIELD_AUTHOR_ID = "User" -COM_SMARTSHOUTBOX_FIELD_AUTHOR_ID_DESC = "Assigned user" -COM_SMARTSHOUTBOX_FIELD_AUTHOR = "Author" -COM_SMARTSHOUTBOX_FIELD_AUTHOR_DESC = "Shout author name" -COM_SMARTSHOUTBOX_FIELD_CATEGORY_ID = "Category" -COM_SMARTSHOUTBOX_FIELD_CATEGORY_ID_DESC = "Shout category" -COM_SMARTSHOUTBOX_FIELD_MESSAGE = "Message" -COM_SMARTSHOUTBOX_FIELD_MESSAGE_DESC = "Message text" -COM_SMARTSHOUTBOX_FIELD_ATTACHMENTS = "Files" -COM_SMARTSHOUTBOX_FIELD_ATTACHMENTS_DESC = "Attached files" - -; Titles - -COM_SMARTSHOUTBOX_HOME_PAGE = "Smart Shoutbox" -COM_SMARTSHOUTBOX_CATEGORIES_PAGE = "Categories" -COM_SMARTSHOUTBOX_CATEGORY_PAGE = "Edit Category" -COM_SMARTSHOUTBOX_SHOUTS_PAGE = "Shouts" -COM_SMARTSHOUTBOX_SHOUT_PAGE = "Edit Shout" -COM_SMARTSHOUTBOX_BANNED_PAGE = "Banned Users" -COM_SMARTSHOUTBOX_SMILEYS_PAGE = "Smileys" -COM_SMARTSHOUTBOX_OPTIONS_PAGE = "Options" - -; Home - -COM_SMARTSHOUTBOX_HOME_CATEGORIES_TITLE = "Add category" -COM_SMARTSHOUTBOX_HOME_CATEGORIES_TEXT = "Create new category for shouts." - -COM_SMARTSHOUTBOX_HOME_SHOUTS_TITLE = "Add shout" -COM_SMARTSHOUTBOX_HOME_SHOUTS_TEXT = "Create new shout manually." - -COM_SMARTSHOUTBOX_HOME_USERS_TITLE = "Add user" -COM_SMARTSHOUTBOX_HOME_USERS_TEXT = "Add new Joomla user to join the chat." - -COM_SMARTSHOUTBOX_HOME_BANNED_TITLE = "Check banned" -COM_SMARTSHOUTBOX_HOME_BANNED_TEXT = "See the banned users list and extend mercy." - -; General settings - -COM_SMARTSHOUTBOX_GENERAL = "General" -COM_SMARTSHOUTBOX_GENERAL_NOTE = "Basic extension settings. Carefully inspect all options and read their hints (point cursor on option's name to see hint)." - -COM_SMARTSHOUTBOX_GENERAL_ANNOUNCE = "Global announce" -COM_SMARTSHOUTBOX_GENERAL_ANNOUNCE_DESC = "Will replace announce in ALL shoutbox instances (empty - use instance announces)." - -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS = "Editor groups" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_DESC = "Select button groups to display in WYSIWYG editor." -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_STYLE = "Styles" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_LINK = "Links" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_LIST = "Lists" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_JUSTIFY = "Justify" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_COLOR = "Colors" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_FORMAT = "Formatting" -COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_EXTRA = "Extra" - -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS = "Chat buttons" -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_DESC = "Select buttons to display in shoutbox window." -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_SMILEYS = "Smileys" -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_ATTACH = "Attach" -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_REFRESH = "Refresh" -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_SOUNDS = "Sounds" -COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_READ = "Read" - -COM_SMARTSHOUTBOX_GENERAL_SOURCE = "Data source" -COM_SMARTSHOUTBOX_GENERAL_SOURCE_DESC = "Local - same site and database; External - another site and database." -COM_SMARTSHOUTBOX_GENERAL_SOURCE_LOCAL = "Local" -COM_SMARTSHOUTBOX_GENERAL_SOURCE_EXTERNAL = "External" - -COM_SMARTSHOUTBOX_GENERAL_FEEDBACK = "Feedback" -COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_DESC = "Display feedback: All - all messages, Errors - only errors and warnings." -COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_ALL = "All" -COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_ERRORS = "Errors" -COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_NONE = "None" - -COM_SMARTSHOUTBOX_GENERAL_SOUNDS = "Enable sounds" -COM_SMARTSHOUTBOX_GENERAL_SOUNDS_DESC = "Enable sounds in chat." - -COM_SMARTSHOUTBOX_GENERAL_SIDEBARWIDTH = "Mobile width" -COM_SMARTSHOUTBOX_GENERAL_SIDEBARWIDTH_DESC = "Maximum window width for mobile/sidebar template in pixels (without px, 350 minimum)." - -COM_SMARTSHOUTBOX_GENERAL_AUTOREFRESH = "Automatic refresh" -COM_SMARTSHOUTBOX_GENERAL_AUTOREFRESH_DESC = "Automatic refresh time in seconds." - -COM_SMARTSHOUTBOX_GENERAL_INTERVAL = "Shouting interval" -COM_SMARTSHOUTBOX_GENERAL_INTERVAL_DESC = "In how many seconds next shout can be sent." - -COM_SMARTSHOUTBOX_GENERAL_SHOWDESCRIPTION = "Show category description" -COM_SMARTSHOUTBOX_GENERAL_SHOWDESCRIPTION_DESC = "Display current category description above shouts list." - -COM_SMARTSHOUTBOX_GENERAL_SMILEYFOLDER = "Smileys folder" -COM_SMARTSHOUTBOX_GENERAL_SMILEYFOLDER_DESC = "Your active smileys folder." - -COM_SMARTSHOUTBOX_GENERAL_SENDKEY = "Submit with" -COM_SMARTSHOUTBOX_GENERAL_SENDKEY_DESC = "Submit shouts from keyboar with ENTER or CTRL + ENTER." -COM_SMARTSHOUTBOX_GENERAL_SENDKEY_ENTER = "Enter" -COM_SMARTSHOUTBOX_GENERAL_SENDKEY_CTRLENTER = "Ctrl + Enter" - -COM_SMARTSHOUTBOX_GENERAL_ATTACHMENTS = "Attachments" -COM_SMARTSHOUTBOX_GENERAL_ATTACHMENTS_DESC = "How many files per shout can be attached (minimum 1)." - -COM_SMARTSHOUTBOX_GENERAL_FILETYPES = "File types" -COM_SMARTSHOUTBOX_GENERAL_FILETYPES_DESC = "List of allowed file types for attachments." - -; Shouts - -COM_SMARTSHOUTBOX_SHOUTS = "Shouts" -COM_SMARTSHOUTBOX_SHOUTS_NOTE = "Settings related to shouts list, its layout and behavior." - -COM_SMARTSHOUTBOX_SHOUTS_PROFILES = "User profiles" -COM_SMARTSHOUTBOX_SHOUTS_PROFILES_DESC = "Get user avatar and link to profile from selected component." -COM_SMARTSHOUTBOX_SHOUTS_PROFILES_GENERIC = "Generic profile" - -COM_SMARTSHOUTBOX_SHOUTS_LIMIT = "Shouts displayed" -COM_SMARTSHOUTBOX_SHOUTS_LIMIT_DESC = "How many shouts to display in the list (per category)." - -COM_SMARTSHOUTBOX_SHOUTS_ORDERING = "Shout ordering" -COM_SMARTSHOUTBOX_SHOUTS_ORDERING_DESC = "Display shouts in descending (new to old) or ascending (old to new) order." -COM_SMARTSHOUTBOX_SHOUTS_ORDERING_ASC = "Ascending" -COM_SMARTSHOUTBOX_SHOUTS_ORDERING_DSC = "Descending" - -COM_SMARTSHOUTBOX_SHOUTS_COMBINE = "Combine shouts" -COM_SMARTSHOUTBOX_SHOUTS_COMBINE_DESC = "Consequent shouts from the same user will be combined." - -COM_SMARTSHOUTBOX_SHOUTS_DUPLICATES = "Allow duplicates" -COM_SMARTSHOUTBOX_SHOUTS_DUPLICATES_DESC = "Allow users to post the same shouts successively." - -COM_SMARTSHOUTBOX_SHOUTS_SHOUTLENGTH = "Shout length" -COM_SMARTSHOUTBOX_SHOUTS_SHOUTLENGTH_DESC = "Limit shout length by characters (empty - unlimited)." - -COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE = "Author names" -COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE_DESC = "Use name or username as shout author names." -COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE_NAME = "Name" -COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE_USERNAME = "Username" - -COM_SMARTSHOUTBOX_SHOUTS_GENERATENAME = "Generate names" -COM_SMARTSHOUTBOX_SHOUTS_GENERATENAME_DESC = "Generate random names for guests or use generic Guest name." - -COM_SMARTSHOUTBOX_SHOUTS_NAMELENGTH = "Truncate names" -COM_SMARTSHOUTBOX_SHOUTS_NAMELENGTH_DESC = "Truncate user names by given value (empty - disabled)." - -COM_SMARTSHOUTBOX_SHOUTS_HTML = "Allow HTML" -COM_SMARTSHOUTBOX_SHOUTS_HTML_DESC = "Allow HTML in shouts. If set to No, all tags will be stripped." - -COM_SMARTSHOUTBOX_SHOUTS_ALLOWEDTAGS = "Allowed tags" -COM_SMARTSHOUTBOX_SHOUTS_ALLOWEDTAGS_DESC = "To allow some HTML in shouts, list desired opening tags like this: ." - -; External database - -COM_SMARTSHOUTBOX_EXTERNAL = "External" -COM_SMARTSHOUTBOX_EXTERNAL_NOTE = "If you want to use cross-site shoutbox, fill the form below with your remote database options and select External as Shoutbox Type." - -COM_SMARTSHOUTBOX_EXTERNAL_DRIVER = "Database driver" -COM_SMARTSHOUTBOX_EXTERNAL_DRIVER_DESC = "Your external database driver (usually 'mysqli')." - -COM_SMARTSHOUTBOX_EXTERNAL_HOST = "Database server" -COM_SMARTSHOUTBOX_EXTERNAL_HOST_DESC = "Your external database server (usually 'localhost')." - -COM_SMARTSHOUTBOX_EXTERNAL_USER = "Database Username" -COM_SMARTSHOUTBOX_EXTERNAL_USER_DESC = "Your external database username." - -COM_SMARTSHOUTBOX_EXTERNAL_PASSWORD = "Database Password" -COM_SMARTSHOUTBOX_EXTERNAL_PASSWORD_DESC = "Your external database password." - -COM_SMARTSHOUTBOX_EXTERNAL_DATABASE = "Database name" -COM_SMARTSHOUTBOX_EXTERNAL_DATABASE_DESC = "Your external database name." - -COM_SMARTSHOUTBOX_EXTERNAL_PORT = "Database port" -COM_SMARTSHOUTBOX_EXTERNAL_PORT_DESC = "Your external database port number." - -COM_SMARTSHOUTBOX_EXTERNAL_SOCKET = "Database socket" -COM_SMARTSHOUTBOX_EXTERNAL_SOCKET_DESC = "Your external database socket number." - -COM_SMARTSHOUTBOX_EXTERNAL_PREFIX = "Table prefix" -COM_SMARTSHOUTBOX_EXTERNAL_PREFIX_DESC = "Prefix for external database tables." - -COM_SMARTSHOUTBOX_EXTERNAL_URL = "External URL" -COM_SMARTSHOUTBOX_EXTERNAL_URL_DESC = "Your external site's address for profile links." - -; Administration - -COM_SMARTSHOUTBOX_ADMIN = "Admin" -COM_SMARTSHOUTBOX_ADMIN_NOTE = "Everything related to back-end and extension administration." - -COM_SMARTSHOUTBOX_ADMIN_LICENSE = "License ID" -COM_SMARTSHOUTBOX_ADMIN_LICENSE_DESC = "Your order ID, email or download key." - -COM_SMARTSHOUTBOX_ADMIN_MESSAGES = "Display messages" -COM_SMARTSHOUTBOX_ADMIN_MESSAGES_DESC = "Display system messages: All - all messages, Errors - only errors and warnings." -COM_SMARTSHOUTBOX_ADMIN_MESSAGES_ALL = "All" -COM_SMARTSHOUTBOX_ADMIN_MESSAGES_ERRORS = "Errors" -COM_SMARTSHOUTBOX_ADMIN_MESSAGES_NONE = "None" - -COM_SMARTSHOUTBOX_ADMIN_CATEGORIESCOLUMNS = "Categories columns" -COM_SMARTSHOUTBOX_ADMIN_CATEGORIESCOLUMNS_DESC = "Select columns you want to be displayed on Categories page." - -COM_SMARTSHOUTBOX_ADMIN_SHOUTSCOLUMNS = "Shouts columns" -COM_SMARTSHOUTBOX_ADMIN_SHOUTSCOLUMNS_DESC = "Select columns you want to be displayed on Shouts page." - -COM_SMARTSHOUTBOX_ADMIN_BANNEDCOLUMNS = "Banned columns" -COM_SMARTSHOUTBOX_ADMIN_BANNEDCOLUMNS_DESC = "Select columns you want to be displayed on Banned page." - -COM_SMARTSHOUTBOX_ADMIN_SMILEYSCOLUMNS = "Smiley columns" -COM_SMARTSHOUTBOX_ADMIN_SMILEYSCOLUMNS_DESC = "Select columns you want to be displayed on Smileys page." - -COM_SMARTSHOUTBOX_ADMIN_DELETESHOUTS = "Delete shouts" -COM_SMARTSHOUTBOX_ADMIN_DELETESHOUTS_DESC = "Delete shouts, when deleting a category." - -COM_SMARTSHOUTBOX_ADMIN_SECRET = "Action secret" -COM_SMARTSHOUTBOX_ADMIN_SECRET_DESC = "Secret code for cron job (only Latin and numberic characters)." - -COM_SMARTSHOUTBOX_ADMIN_CRON = "Action link" -COM_SMARTSHOUTBOX_ADMIN_CRON_DESC = "Your personal link for cron command." - -COM_SMARTSHOUTBOX_ADMIN_SHOUTLIFE = "Shout life" -COM_SMARTSHOUTBOX_ADMIN_SHOUTLIFE_DESC = "Shouts older than given days value will be removed by cron job (empty - keep all shouts)." - -COM_SMARTSHOUTBOX_ADMIN_ORPHANS = "Delete orphans" -COM_SMARTSHOUTBOX_ADMIN_ORPHANS_DESC = "Delete orphaned attached files with cron job." - -COM_SMARTSHOUTBOX_ADMIN_VERSION = "Check version" -COM_SMARTSHOUTBOX_ADMIN_VERSION_DESC = "Disable only if you have any issues with connection to updates server." - -COM_SMARTSHOUTBOX_ADMIN_REPORT = "Send report" -COM_SMARTSHOUTBOX_ADMIN_REPORT_DESC = "Send report upon each run." - -COM_SMARTSHOUTBOX_ADMIN_TEST = "Test mode" -COM_SMARTSHOUTBOX_ADMIN_TEST_DESC = "In test mode emails will not be sent, but queue will be populated." - -COM_SMARTSHOUTBOX_ADMIN_DEBUG = "Debug" -COM_SMARTSHOUTBOX_ADMIN_DEBUG_DESC = "Will save essential information to log file for further debugging." - -; Permissions - -COM_SMARTSHOUTBOX_PERMISSIONS = "Permissions" -COM_SMARTSHOUTBOX_PERMISSIONS_NOTE = "Permissions to perform different actions by different user groups. Set them carefully for they affect extension's performance!" - -COM_SMARTSHOUTBOX_PERMISSIONS = "Permissions" -COM_SMARTSHOUTBOX_PERMISSIONS_NOTE = "Permissions to perform different actions by different user groups. Set them carefully for they affect extension's performance!" - -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_VIEW = "View content in admin" -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_VIEW_DESC = "Allows users from this group to view extension's content in admin." - -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_CREATE = "Create content in admin" -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_CREATE_DESC = "Allows users from this group to create new content in admin." - -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT = "Edit content in admin" -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT_DESC = "Allows users from this group to edit content in admin." - -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT_STATE = "Publish content in admin" -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT_STATE_DESC = "Allows users from this group to publish or unpublish content in admin." - -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_DELETE = "Delete content in admin" -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_DELETE_DESC = "Allows users from this group to delete content in admin." - -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_OPTIONS = "Manage options" -COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_OPTIONS_DESC = "Allows users from this group to manage extension's options." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_VIEW = "View shoutbox" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_VIEW_DESC = "Allows users from this group to view shoutbox." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_USE = "Use shoutbox" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_USE_DESC = "Allows users from this group to use shoutbox." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_LIKE = "Like shouts" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_LIKE_DESC = "Allows users from this group to like shouts." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_ATTACH = "Attach files" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_ATTACH_DESC = "Allows users from this group to attach files to shouts." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT = "Edit ALL shouts" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_DESC = "Allows users from this group to edit ALL shouts." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_OWN = "Edit OWN shouts" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_OWN_DESC = "Allows users from this group to edit ONLY OWN shouts." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_NAME = "Change name" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_NAME_DESC = "Allows users from this group to change their name." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_ANNOUNCE = "Edit announces" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_ANNOUNCE_DESC = "Allows users from this group to edit announces." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE = "Delete ALL shouts" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE_DESC = "Allows users from this group to delete ALL shouts." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE_OWN = "Delete OWN shouts" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE_OWN_DESC = "Allows users from this group to delete ONLY OWN shouts." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_BAN = "Toogle ban" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_BAN_DESC = "Allows users from this group to ban or unban shoutbox users." - -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_INTERVAL = "Unlimited shouting" -COM_SMARTSHOUTBOX_PERMISSIONS_SITE_INTERVAL_DESC = "Allows users from this group to ignore shouting interval." - -; Messages - -COM_SMARTSHOUTBOX_MESSAGE_NORESULTS = "No items have been added yet or match given criteria, list is empty." -COM_SMARTSHOUTBOX_MESSAGE_OPTIONS_SAVED = "Options were successfully saved." -COM_SMARTSHOUTBOX_MESSAGE_OPTIONS_RESET = "Options were successfully reset to default. Don't forget to save them!" - -COM_SMARTSHOUTBOX_MESSAGE_SELECT_NO_RESULTS = "No items matching" -COM_SMARTSHOUTBOX_MESSAGE_SELECT_SOME = "Select some options" -COM_SMARTSHOUTBOX_MESSAGE_SELECT_ONE = "Select an option" -COM_SMARTSHOUTBOX_MESSAGE_SELECT_SOURCE = "Select source first." - -COM_SMARTSHOUTBOX_MESSAGE_ADDED = "Item was successfully added." -COM_SMARTSHOUTBOX_MESSAGE_UPDATED = "Item was successfully updated." -COM_SMARTSHOUTBOX_MESSAGE_SAVED = "Selected items were successfully saved." -COM_SMARTSHOUTBOX_MESSAGE_PUBLISHED = "Selected items were successfully published." -COM_SMARTSHOUTBOX_MESSAGE_UNPUBLISHED = "Selected items were successfully published." -COM_SMARTSHOUTBOX_MESSAGE_DELETED = "Selected items were successfully deleted." -COM_SMARTSHOUTBOX_MESSAGE_EMPTIED = "Items list was successfully emptied." -COM_SMARTSHOUTBOX_MESSAGE_COPIED = "Selected items were successfully copied." - -COM_SMARTSHOUTBOX_MESSAGE_SMILEYS_ADDED = "%s new smileys added." -COM_SMARTSHOUTBOX_MESSAGE_SMILEYS_NONEW = "No new smileys found." - -COM_SMARTSHOUTBOX_MESSAGE_SHOUTS_UPDATED = "Shouts from selected categories are now uncategorized." -COM_SMARTSHOUTBOX_MESSAGE_SHOUTS_DELETED = "Shouts from selected categories were deleted." - -; Warnings - -COM_SMARTSHOUTBOX_WARNING_SELECT = "Warning: You didn't select anything. Please, do so first." -COM_SMARTSHOUTBOX_WARNING_EMPTY = "Warning: You are about to delete all items! Do you wish to continue?" -COM_SMARTSHOUTBOX_WARNING_RESET_SETTINGS = "Warning: All settings will be reset to default! Do you wish to continue?" - -; Errors - -COM_SMARTSHOUTBOX_ERROR_LICENSE_WRONG = "Given license ID is wrong. Please, check your input." -COM_SMARTSHOUTBOX_ERROR_LICENSE_EMPTY = "License ID is missing. Please, enter your order ID, email or download key." -COM_SMARTSHOUTBOX_ERROR_LICENSE_WRONG = "Given license ID is wrong. Please, check your input." -COM_SMARTSHOUTBOX_ERROR_LICENSE_EXPIRED = "Your license has expired. Please, renew extension to receive updates and support." -COM_SMARTSHOUTBOX_ERROR_RESPONSE = "License check failed: wrong response from server. Try again later." -COM_SMARTSHOUTBOX_ERROR_OPTIONS = "You didn't save the settings. Go to Options page and save at least once." -COM_SMARTSHOUTBOX_ERROR_VERSION = "Impossible to get version information: no connection to server." -COM_SMARTSHOUTBOX_ERROR_FOPEN = "Impossible to get version information: allow_url_fopen option is disabled." -COM_SMARTSHOUTBOX_ERROR_CRON = "Cron secret is not set. Check your settings." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_VIEW = "You are not allowed to view this page. Ask administrator for permissions." -COM_SMARTSHOUTBOX_ERROR_NOT_SELECTED = "Nothing to process, no items selected." -COM_SMARTSHOUTBOX_ERROR_EMPTY = "One of the required fields is empty. Check your input." - -COM_SMARTSHOUTBOX_ERROR_PUBLISH = "Publishing of the selected items failed." -COM_SMARTSHOUTBOX_ERROR_UNPUBLISH = "Unpublishing of the selected items failed." -COM_SMARTSHOUTBOX_ERROR_SAVE = "Saving of the selected items failed." - -COM_SMARTSHOUTBOX_ERROR_EMPTY_AUTHOR = "Shout author can not be empty. Enter name or select user." -COM_SMARTSHOUTBOX_ERROR_EMPTY_MESSAGE = "Message can not be empty. Type something and try to save again." - -COM_SMARTSHOUTBOX_ERROR_NO_USERGROUPS = "No usergroups found." -COM_SMARTSHOUTBOX_ERROR_NO_CATEGORIES = "No categories found." -COM_SMARTSHOUTBOX_ERROR_NO_CATEGORY = "Category not found." -COM_SMARTSHOUTBOX_ERROR_NO_USERS = "No users found." -COM_SMARTSHOUTBOX_ERROR_NO_USER = "User not found." + +COM_SMARTSHOUTBOX = "Smart Shoutbox" +COM_SMARTSHOUTBOX_TITLE = "Smart Shoutbox" +COM_SMARTSHOUTBOX_CONFIGURATION = "Smart Shoutbox Configuration" +COM_SMARTSHOUTBOX_VERSION_CURRENT = "Version: %s" +COM_SMARTSHOUTBOX_VERSION_LATEST = "You have the latest version: %s" +COM_SMARTSHOUTBOX_VERSION_UPDATE = "A new version is available: %s. Click here to download." +COM_SMARTSHOUTBOX_VERSION_FUTURE = "Wow! You have version %s and it's from THE FUTURE!"; +COM_SMARTSHOUTBOX_COPYRIGHT = "© 2011-%s Powered by The Krotek" +COM_SMARTSHOUTBOX_DESCRIPTION = "Welcome to Smart Shoutbox - the best chatting extension on Joomla market! Smart Shoutbox is a balanced chat component with neat layout and a fairly enough scripts and features to work smoothly and almost faultlessly. Create chat rooms, attach files, install multiple chat modules and tweak tons of options to make your chatting experience as comfortable as possible." + +; Common strings + +COM_SMARTSHOUTBOX_FILTER_DATE = "d.m.Y" +COM_SMARTSHOUTBOX_FILTER_TIME = "H:i" +COM_SMARTSHOUTBOX_FILTER_DATETIME = "d.m.Y, H:i" + +COM_SMARTSHOUTBOX_PUBLISHED = "Published" +COM_SMARTSHOUTBOX_UNPUBLISHED = "Unpublished" +COM_SMARTSHOUTBOX_USER = "User ID" +COM_SMARTSHOUTBOX_IP = "IP-address" +COM_SMARTSHOUTBOX_SHOUT_ID = "Shout ID" + +COM_SMARTSHOUTBOX_CATEGORY = "Category" +COM_SMARTSHOUTBOX_CATEGORIES = "Categories" +COM_SMARTSHOUTBOX_SHOUT = "Shout" +COM_SMARTSHOUTBOX_SHOUTS = "Shouts" +COM_SMARTSHOUTBOX_BANNED = "Banned users" +COM_SMARTSHOUTBOX_SMILEYS = "Smileys" +COM_SMARTSHOUTBOX_OPTIONS = "Options" + +COM_SMARTSHOUTBOX_SELECT_ALL = "Select all" +COM_SMARTSHOUTBOX_SELECT_ARTICLE = "- Select article -" +COM_SMARTSHOUTBOX_SELECT_FILTER = "- Select filter -" +COM_SMARTSHOUTBOX_SELECT_MENU = "- Select menu item -" +COM_SMARTSHOUTBOX_SELECT_MENU_TYPE = "- Select menu type -" +COM_SMARTSHOUTBOX_SELECT_CATEGORY = "- Select category -" +COM_SMARTSHOUTBOX_SELECT_USER = "- Select user -" +COM_SMARTSHOUTBOX_SELECT_STATUS = "- Select status -" +COM_SMARTSHOUTBOX_SELECT_FOLDER = "- Select folder -" + +COM_SMARTSHOUTBOX_ALL_COLUMNS = "All columns" +COM_SMARTSHOUTBOX_ALL_FIELDS = "All fields" +COM_SMARTSHOUTBOX_ALL_GROUPS = "All groups" +COM_SMARTSHOUTBOX_ALL_TYPES = "All types" +COM_SMARTSHOUTBOX_ALL_CATEGORIES = "All categories" +COM_SMARTSHOUTBOX_ALL_BUTTONS = "All buttons" + +COM_SMARTSHOUTBOX_ATTACHED = "Attached" +COM_SMARTSHOUTBOX_ATTACHED_REMOVE = "Uncheck to remove" +COM_SMARTSHOUTBOX_ATTACHED_VIEW = "Click to view" + +COM_SMARTSHOUTBOX_UNCATEGORIZED = "Uncategorized" +COM_SMARTSHOUTBOX_GUEST = "Guest" +COM_SMARTSHOUTBOX_GUESTS = "Guests" +COM_SMARTSHOUTBOX_USERS = "Users" +COM_SMARTSHOUTBOX_REQUIRED = " (required)" +COM_SMARTSHOUTBOX_OPEN_LINK = "Click to open link" +COM_SMARTSHOUTBOX_VIEW_IMAGE = "Click to view image" +COM_SMARTSHOUTBOX_WATCH_VIDEO = "Click to watch video" + +COM_SMARTSHOUTBOX_MENU_DEFAULT = "Default (current)" + +COM_SMARTSHOUTBOX_ATTACHED = "Attached files:" +COM_SMARTSHOUTBOX_DOWNLOAD_ATTACHMENT = "Download attachment" + +; Buttons + +COM_SMARTSHOUTBOX_BUTTON_HOME = "Home" +COM_SMARTSHOUTBOX_BUTTON_CATEGORIES = "Categories" +COM_SMARTSHOUTBOX_BUTTON_SHOUTS = "Shouts" +COM_SMARTSHOUTBOX_BUTTON_BANNED = "Banned" +COM_SMARTSHOUTBOX_BUTTON_SMILEYS = "Smileys" +COM_SMARTSHOUTBOX_BUTTON_OPTIONS = "Options" +COM_SMARTSHOUTBOX_BUTTON_HELP = "Help" + +COM_SMARTSHOUTBOX_BUTTON_ADD = "New" +COM_SMARTSHOUTBOX_BUTTON_ADD_TITLE = "Add new item" +COM_SMARTSHOUTBOX_BUTTON_VIEW = "View" +COM_SMARTSHOUTBOX_BUTTON_VIEW_TITLE = "View selected item" +COM_SMARTSHOUTBOX_BUTTON_EDIT = "Edit" +COM_SMARTSHOUTBOX_BUTTON_EDIT_TITLE = "Edit selected item" +COM_SMARTSHOUTBOX_BUTTON_COPY = "Copy" +COM_SMARTSHOUTBOX_BUTTON_COPY_TITLE = "Copy selected items" +COM_SMARTSHOUTBOX_BUTTON_PUBLISH = "Publish" +COM_SMARTSHOUTBOX_BUTTON_PUBLISH_TITLE = "Publish selected items" +COM_SMARTSHOUTBOX_BUTTON_UNPUBLISH = "Unpublish" +COM_SMARTSHOUTBOX_BUTTON_UNPUBLISH_TITLE = "Unpublish selected items" +COM_SMARTSHOUTBOX_BUTTON_TOGGLE = "Toggle" +COM_SMARTSHOUTBOX_BUTTON_TOGGLE_TITLE = "Toggle state for selected item" +COM_SMARTSHOUTBOX_BUTTON_DELETE = "Delete" +COM_SMARTSHOUTBOX_BUTTON_DELETE_TITLE = "Delete selected items" +COM_SMARTSHOUTBOX_BUTTON_EMPTY = "Empty" +COM_SMARTSHOUTBOX_BUTTON_EMPTY_TITLE = "Delete all items" +COM_SMARTSHOUTBOX_BUTTON_SAVE = "Save" +COM_SMARTSHOUTBOX_BUTTON_SAVE_TITLE = "Save and close" +COM_SMARTSHOUTBOX_BUTTON_APPLY = "Apply" +COM_SMARTSHOUTBOX_BUTTON_APPLY_TITLE = "Apply and stay" +COM_SMARTSHOUTBOX_BUTTON_CANCEL = "Cancel" +COM_SMARTSHOUTBOX_BUTTON_CANCEL_TITLE = "Cancel action" +COM_SMARTSHOUTBOX_BUTTON_SCAN = "Scan" +COM_SMARTSHOUTBOX_BUTTON_SCAN_TITLE = "Scan for new items" + +COM_SMARTSHOUTBOX_BUTTON_COPY_ITEM = "Copy" +COM_SMARTSHOUTBOX_BUTTON_VIEW_ITEM = "View" +COM_SMARTSHOUTBOX_BUTTON_EDIT_ITEM = "Edit" +COM_SMARTSHOUTBOX_BUTTON_DELETE_ITEM = "Delete" +COM_SMARTSHOUTBOX_BUTTON_TOGGLE_ITEM = "Toggle" + +COM_SMARTSHOUTBOX_BUTTON_SEARCH = "Search" +COM_SMARTSHOUTBOX_BUTTON_SEARCH_TITLE = "Search for entered keywords." +COM_SMARTSHOUTBOX_BUTTON_CLEAR = "Clear" +COM_SMARTSHOUTBOX_BUTTON_CLEAR_TITLE = "Clear search." +COM_SMARTSHOUTBOX_BUTTON_SAVE = "Save" +COM_SMARTSHOUTBOX_BUTTON_SAVE_TITLE = "Save items" +COM_SMARTSHOUTBOX_BUTTON_UPDATE = "Update" +COM_SMARTSHOUTBOX_BUTTON_UPDATE_TITLE = "Update options." +COM_SMARTSHOUTBOX_BUTTON_RESET = "Reset" +COM_SMARTSHOUTBOX_BUTTON_RESET_TITLE = "Reset to default values." +COM_SMARTSHOUTBOX_BUTTON_CLOSE = "Close" +COM_SMARTSHOUTBOX_BUTTON_CLOSE_TITLE = "Close message" +COM_SMARTSHOUTBOX_BUTTON_DISABLED = "Disabled" +COM_SMARTSHOUTBOX_BUTTON_DISABLED_TITLE = "You are not allowed to use this function" + +COM_SMARTSHOUTBOX_BUTTON_BAN = "Ban" +COM_SMARTSHOUTBOX_BUTTON_BAN_TITLE = "Ban selected users" + +; Search + +COM_SMARTSHOUTBOX_SEARCH = "Enter keywords" +COM_SMARTSHOUTBOX_SEARCH_SUBMIT = "Submit search" +COM_SMARTSHOUTBOX_SEARCH_CLEAR = "Clear search" +COM_SMARTSHOUTBOX_SEARCH_CATEGORIES = "Search by category title or description." +COM_SMARTSHOUTBOX_SEARCH_SHOUTS = "Search by shout text, category title, author name or IP-address." +COM_SMARTSHOUTBOX_SEARCH_BANNED = "Search by user ID, author name or IP-address." +COM_SMARTSHOUTBOX_SEARCH_SMILEYS = "Search by image name, title or typed value." + +; Filters + +COM_SMARTSHOUTBOX_FILTER_CATEGORY = "Any category" +COM_SMARTSHOUTBOX_FILTER_LANGUAGE = "Any language" +COM_SMARTSHOUTBOX_FILTER_STATUS = "Any status" + +; Columns: Common + +COM_SMARTSHOUTBOX_COLUMN_ALL = "All columns" +COM_SMARTSHOUTBOX_COLUMN_ID = "ID" +COM_SMARTSHOUTBOX_COLUMN_STATUS = "Status" +COM_SMARTSHOUTBOX_COLUMN_ADDED = "Added" +COM_SMARTSHOUTBOX_COLUMN_IP = "IP-address" +COM_SMARTSHOUTBOX_COLUMN_ACTIONS = "Actions" + +; Columns: Categories + +COM_SMARTSHOUTBOX_COLUMN_ICON = "Icon" +COM_SMARTSHOUTBOX_COLUMN_TITLE = "Title" +COM_SMARTSHOUTBOX_COLUMN_DESCRIPTION = "Description" +COM_SMARTSHOUTBOX_COLUMN_GROUPS = "Groups" +COM_SMARTSHOUTBOX_COLUMN_SHOUTS = "Shouts" +COM_SMARTSHOUTBOX_COLUMN_ORDERING = "Ordering" + +; Columns: Shouts + +COM_SMARTSHOUTBOX_COLUMN_CATEGORY = "Category" +COM_SMARTSHOUTBOX_COLUMN_MESSAGE = "Message" + +; Columns: Banned + +COM_SMARTSHOUTBOX_COLUMN_SHOUT_ID = "Shout ID" +COM_SMARTSHOUTBOX_COLUMN_AUTHOR_ID = "Joomla User" +COM_SMARTSHOUTBOX_COLUMN_AUTHOR = "Author Name" +COM_SMARTSHOUTBOX_COLUMN_EMAIL = "Email" + +; Columns: Smileys + +COM_SMARTSHOUTBOX_COLUMN_IMAGE = "Image" +COM_SMARTSHOUTBOX_COLUMN_FOLDER = "Folder" +COM_SMARTSHOUTBOX_COLUMN_TYPED = "Typed values" + +; Fields: Common + +COM_SMARTSHOUTBOX_FIELD_ID = "ID" +COM_SMARTSHOUTBOX_FIELD_ID_DESC = "Item ID" +COM_SMARTSHOUTBOX_FIELD_ADDED = "Added" +COM_SMARTSHOUTBOX_FIELD_ADDED_DESC = "Date added" +COM_SMARTSHOUTBOX_FIELD_TITLE = "Title" +COM_SMARTSHOUTBOX_FIELD_TITLE_DESC = "Item title" +COM_SMARTSHOUTBOX_FIELD_DESCRIPTION = "Description" +COM_SMARTSHOUTBOX_FIELD_DESCRIPTION_DESC = "Item description" +COM_SMARTSHOUTBOX_FIELD_STATUS = "Status" +COM_SMARTSHOUTBOX_FIELD_STATUS_DESC = "Item status" + +; Fields: Categories + +COM_SMARTSHOUTBOX_FIELD_GROUPS = "User groups" +COM_SMARTSHOUTBOX_FIELD_GROUPS_DESC = "Category will be available to selected user groups only (empty - all groups and guests)." + +COM_SMARTSHOUTBOX_FIELD_ICON = "Icon" +COM_SMARTSHOUTBOX_FIELD_ICON_DESC = "Icon name from Fontawesome font to display in title." + +COM_SMARTSHOUTBOX_FIELD_ORDERING = "Ordering" +COM_SMARTSHOUTBOX_FIELD_ORDERING_DESC = "Category list ordering value for front-end." + +; Fields: Shouts + +COM_SMARTSHOUTBOX_FIELD_AUTHOR_ID = "User" +COM_SMARTSHOUTBOX_FIELD_AUTHOR_ID_DESC = "Assigned user" +COM_SMARTSHOUTBOX_FIELD_AUTHOR = "Author" +COM_SMARTSHOUTBOX_FIELD_AUTHOR_DESC = "Shout author name" +COM_SMARTSHOUTBOX_FIELD_CATEGORY_ID = "Category" +COM_SMARTSHOUTBOX_FIELD_CATEGORY_ID_DESC = "Shout category" +COM_SMARTSHOUTBOX_FIELD_MESSAGE = "Message" +COM_SMARTSHOUTBOX_FIELD_MESSAGE_DESC = "Message text" +COM_SMARTSHOUTBOX_FIELD_ATTACHMENTS = "Files" +COM_SMARTSHOUTBOX_FIELD_ATTACHMENTS_DESC = "Attached files" + +; Titles + +COM_SMARTSHOUTBOX_HOME_PAGE = "Smart Shoutbox" +COM_SMARTSHOUTBOX_CATEGORIES_PAGE = "Categories" +COM_SMARTSHOUTBOX_CATEGORY_PAGE = "Edit Category" +COM_SMARTSHOUTBOX_SHOUTS_PAGE = "Shouts" +COM_SMARTSHOUTBOX_SHOUT_PAGE = "Edit Shout" +COM_SMARTSHOUTBOX_BANNED_PAGE = "Banned Users" +COM_SMARTSHOUTBOX_SMILEYS_PAGE = "Smileys" +COM_SMARTSHOUTBOX_OPTIONS_PAGE = "Options" + +; Home + +COM_SMARTSHOUTBOX_HOME_CATEGORIES_TITLE = "Add category" +COM_SMARTSHOUTBOX_HOME_CATEGORIES_TEXT = "Create new category for shouts." + +COM_SMARTSHOUTBOX_HOME_SHOUTS_TITLE = "Add shout" +COM_SMARTSHOUTBOX_HOME_SHOUTS_TEXT = "Create new shout manually." + +COM_SMARTSHOUTBOX_HOME_USERS_TITLE = "Add user" +COM_SMARTSHOUTBOX_HOME_USERS_TEXT = "Add new Joomla user to join the chat." + +COM_SMARTSHOUTBOX_HOME_BANNED_TITLE = "Check banned" +COM_SMARTSHOUTBOX_HOME_BANNED_TEXT = "See the banned users list and extend mercy." + +; General settings + +COM_SMARTSHOUTBOX_GENERAL = "General" +COM_SMARTSHOUTBOX_GENERAL_NOTE = "Basic extension settings. Carefully inspect all options and read their hints (point cursor on option's name to see hint)." + +COM_SMARTSHOUTBOX_GENERAL_ANNOUNCE = "Global announce" +COM_SMARTSHOUTBOX_GENERAL_ANNOUNCE_DESC = "Will replace announce in ALL shoutbox instances (empty - use instance announces)." + +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS = "Editor groups" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_DESC = "Select button groups to display in WYSIWYG editor." +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_STYLE = "Styles" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_LINK = "Links" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_LIST = "Lists" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_JUSTIFY = "Justify" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_COLOR = "Colors" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_FORMAT = "Formatting" +COM_SMARTSHOUTBOX_GENERAL_EDITORGROUPS_EXTRA = "Extra" + +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS = "Chat buttons" +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_DESC = "Select buttons to display in shoutbox window." +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_SMILEYS = "Smileys" +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_ATTACH = "Attach" +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_REFRESH = "Refresh" +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_SOUNDS = "Sounds" +COM_SMARTSHOUTBOX_GENERAL_CHATBUTTONS_READ = "Read" + +COM_SMARTSHOUTBOX_GENERAL_SOURCE = "Data source" +COM_SMARTSHOUTBOX_GENERAL_SOURCE_DESC = "Local - same site and database; External - another site and database." +COM_SMARTSHOUTBOX_GENERAL_SOURCE_LOCAL = "Local" +COM_SMARTSHOUTBOX_GENERAL_SOURCE_EXTERNAL = "External" + +COM_SMARTSHOUTBOX_GENERAL_FEEDBACK = "Feedback" +COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_DESC = "Display feedback: All - all messages, Errors - only errors and warnings." +COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_ALL = "All" +COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_ERRORS = "Errors" +COM_SMARTSHOUTBOX_GENERAL_FEEDBACK_NONE = "None" + +COM_SMARTSHOUTBOX_GENERAL_SOUNDS = "Enable sounds" +COM_SMARTSHOUTBOX_GENERAL_SOUNDS_DESC = "Enable sounds in chat." + +COM_SMARTSHOUTBOX_GENERAL_SIDEBARWIDTH = "Mobile width" +COM_SMARTSHOUTBOX_GENERAL_SIDEBARWIDTH_DESC = "Maximum window width for mobile/sidebar template in pixels (without px, 350 minimum)." + +COM_SMARTSHOUTBOX_GENERAL_AUTOREFRESH = "Automatic refresh" +COM_SMARTSHOUTBOX_GENERAL_AUTOREFRESH_DESC = "Automatic refresh time in seconds." + +COM_SMARTSHOUTBOX_GENERAL_INTERVAL = "Shouting interval" +COM_SMARTSHOUTBOX_GENERAL_INTERVAL_DESC = "In how many seconds next shout can be sent." + +COM_SMARTSHOUTBOX_GENERAL_SHOWDESCRIPTION = "Show category description" +COM_SMARTSHOUTBOX_GENERAL_SHOWDESCRIPTION_DESC = "Display current category description above shouts list." + +COM_SMARTSHOUTBOX_GENERAL_SMILEYFOLDER = "Smileys folder" +COM_SMARTSHOUTBOX_GENERAL_SMILEYFOLDER_DESC = "Your active smileys folder." + +COM_SMARTSHOUTBOX_GENERAL_SENDKEY = "Submit with" +COM_SMARTSHOUTBOX_GENERAL_SENDKEY_DESC = "Submit shouts from keyboar with ENTER or CTRL + ENTER." +COM_SMARTSHOUTBOX_GENERAL_SENDKEY_ENTER = "Enter" +COM_SMARTSHOUTBOX_GENERAL_SENDKEY_CTRLENTER = "Ctrl + Enter" + +COM_SMARTSHOUTBOX_GENERAL_ATTACHMENTS = "Attachments" +COM_SMARTSHOUTBOX_GENERAL_ATTACHMENTS_DESC = "How many files per shout can be attached (minimum 1)." + +COM_SMARTSHOUTBOX_GENERAL_FILETYPES = "File types" +COM_SMARTSHOUTBOX_GENERAL_FILETYPES_DESC = "List of allowed file types for attachments." + +; Shouts + +COM_SMARTSHOUTBOX_SHOUTS = "Shouts" +COM_SMARTSHOUTBOX_SHOUTS_NOTE = "Settings related to shouts list, its layout and behavior." + +COM_SMARTSHOUTBOX_SHOUTS_PROFILES = "User profiles" +COM_SMARTSHOUTBOX_SHOUTS_PROFILES_DESC = "Get user avatar and link to profile from selected component." +COM_SMARTSHOUTBOX_SHOUTS_PROFILES_GENERIC = "Generic profile" + +COM_SMARTSHOUTBOX_SHOUTS_LIMIT = "Shouts displayed" +COM_SMARTSHOUTBOX_SHOUTS_LIMIT_DESC = "How many shouts to display in the list (per category)." + +COM_SMARTSHOUTBOX_SHOUTS_ORDERING = "Shout ordering" +COM_SMARTSHOUTBOX_SHOUTS_ORDERING_DESC = "Display shouts in descending (new to old) or ascending (old to new) order." +COM_SMARTSHOUTBOX_SHOUTS_ORDERING_ASC = "Ascending" +COM_SMARTSHOUTBOX_SHOUTS_ORDERING_DSC = "Descending" + +COM_SMARTSHOUTBOX_SHOUTS_COMBINE = "Combine shouts" +COM_SMARTSHOUTBOX_SHOUTS_COMBINE_DESC = "Consequent shouts from the same user will be combined." + +COM_SMARTSHOUTBOX_SHOUTS_DUPLICATES = "Allow duplicates" +COM_SMARTSHOUTBOX_SHOUTS_DUPLICATES_DESC = "Allow users to post the same shouts successively." + +COM_SMARTSHOUTBOX_SHOUTS_SHOUTLENGTH = "Shout length" +COM_SMARTSHOUTBOX_SHOUTS_SHOUTLENGTH_DESC = "Limit shout length by characters (empty - unlimited)." + +COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE = "Author names" +COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE_DESC = "Use name or username as shout author names." +COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE_NAME = "Name" +COM_SMARTSHOUTBOX_SHOUTS_NAMETYPE_USERNAME = "Username" + +COM_SMARTSHOUTBOX_SHOUTS_GENERATENAME = "Generate names" +COM_SMARTSHOUTBOX_SHOUTS_GENERATENAME_DESC = "Generate random names for guests or use generic Guest name." + +COM_SMARTSHOUTBOX_SHOUTS_NAMELENGTH = "Truncate names" +COM_SMARTSHOUTBOX_SHOUTS_NAMELENGTH_DESC = "Truncate user names by given value (empty - disabled)." + +COM_SMARTSHOUTBOX_SHOUTS_HTML = "Allow HTML" +COM_SMARTSHOUTBOX_SHOUTS_HTML_DESC = "Allow HTML in shouts. If set to No, all tags will be stripped." + +COM_SMARTSHOUTBOX_SHOUTS_ALLOWEDTAGS = "Allowed tags" +COM_SMARTSHOUTBOX_SHOUTS_ALLOWEDTAGS_DESC = "To allow some HTML in shouts, list desired opening tags like this: ." + +; External database + +COM_SMARTSHOUTBOX_EXTERNAL = "External" +COM_SMARTSHOUTBOX_EXTERNAL_NOTE = "If you want to use cross-site shoutbox, fill the form below with your remote database options and select External as Shoutbox Type." + +COM_SMARTSHOUTBOX_EXTERNAL_DRIVER = "Database driver" +COM_SMARTSHOUTBOX_EXTERNAL_DRIVER_DESC = "Your external database driver (usually 'mysqli')." + +COM_SMARTSHOUTBOX_EXTERNAL_HOST = "Database server" +COM_SMARTSHOUTBOX_EXTERNAL_HOST_DESC = "Your external database server (usually 'localhost')." + +COM_SMARTSHOUTBOX_EXTERNAL_USER = "Database Username" +COM_SMARTSHOUTBOX_EXTERNAL_USER_DESC = "Your external database username." + +COM_SMARTSHOUTBOX_EXTERNAL_PASSWORD = "Database Password" +COM_SMARTSHOUTBOX_EXTERNAL_PASSWORD_DESC = "Your external database password." + +COM_SMARTSHOUTBOX_EXTERNAL_DATABASE = "Database name" +COM_SMARTSHOUTBOX_EXTERNAL_DATABASE_DESC = "Your external database name." + +COM_SMARTSHOUTBOX_EXTERNAL_PORT = "Database port" +COM_SMARTSHOUTBOX_EXTERNAL_PORT_DESC = "Your external database port number." + +COM_SMARTSHOUTBOX_EXTERNAL_SOCKET = "Database socket" +COM_SMARTSHOUTBOX_EXTERNAL_SOCKET_DESC = "Your external database socket number." + +COM_SMARTSHOUTBOX_EXTERNAL_PREFIX = "Table prefix" +COM_SMARTSHOUTBOX_EXTERNAL_PREFIX_DESC = "Prefix for external database tables." + +COM_SMARTSHOUTBOX_EXTERNAL_URL = "External URL" +COM_SMARTSHOUTBOX_EXTERNAL_URL_DESC = "Your external site's address for profile links." + +; Administration + +COM_SMARTSHOUTBOX_ADMIN = "Admin" +COM_SMARTSHOUTBOX_ADMIN_NOTE = "Everything related to back-end and extension administration." + +COM_SMARTSHOUTBOX_ADMIN_LICENSE = "License ID" +COM_SMARTSHOUTBOX_ADMIN_LICENSE_DESC = "Your order ID, email or download key." + +COM_SMARTSHOUTBOX_ADMIN_MESSAGES = "Display messages" +COM_SMARTSHOUTBOX_ADMIN_MESSAGES_DESC = "Display system messages: All - all messages, Errors - only errors and warnings." +COM_SMARTSHOUTBOX_ADMIN_MESSAGES_ALL = "All" +COM_SMARTSHOUTBOX_ADMIN_MESSAGES_ERRORS = "Errors" +COM_SMARTSHOUTBOX_ADMIN_MESSAGES_NONE = "None" + +COM_SMARTSHOUTBOX_ADMIN_CATEGORIESCOLUMNS = "Categories columns" +COM_SMARTSHOUTBOX_ADMIN_CATEGORIESCOLUMNS_DESC = "Select columns you want to be displayed on Categories page." + +COM_SMARTSHOUTBOX_ADMIN_SHOUTSCOLUMNS = "Shouts columns" +COM_SMARTSHOUTBOX_ADMIN_SHOUTSCOLUMNS_DESC = "Select columns you want to be displayed on Shouts page." + +COM_SMARTSHOUTBOX_ADMIN_BANNEDCOLUMNS = "Banned columns" +COM_SMARTSHOUTBOX_ADMIN_BANNEDCOLUMNS_DESC = "Select columns you want to be displayed on Banned page." + +COM_SMARTSHOUTBOX_ADMIN_SMILEYSCOLUMNS = "Smiley columns" +COM_SMARTSHOUTBOX_ADMIN_SMILEYSCOLUMNS_DESC = "Select columns you want to be displayed on Smileys page." + +COM_SMARTSHOUTBOX_ADMIN_DELETESHOUTS = "Delete shouts" +COM_SMARTSHOUTBOX_ADMIN_DELETESHOUTS_DESC = "Delete shouts, when deleting a category." + +COM_SMARTSHOUTBOX_ADMIN_SECRET = "Action secret" +COM_SMARTSHOUTBOX_ADMIN_SECRET_DESC = "Secret code for cron job (only Latin and numberic characters)." + +COM_SMARTSHOUTBOX_ADMIN_CRON = "Action link" +COM_SMARTSHOUTBOX_ADMIN_CRON_DESC = "Your personal link for cron command." + +COM_SMARTSHOUTBOX_ADMIN_SHOUTLIFE = "Shout life" +COM_SMARTSHOUTBOX_ADMIN_SHOUTLIFE_DESC = "Shouts older than given days value will be removed by cron job (empty - keep all shouts)." + +COM_SMARTSHOUTBOX_ADMIN_ORPHANS = "Delete orphans" +COM_SMARTSHOUTBOX_ADMIN_ORPHANS_DESC = "Delete orphaned attached files with cron job." + +COM_SMARTSHOUTBOX_ADMIN_VERSION = "Check version" +COM_SMARTSHOUTBOX_ADMIN_VERSION_DESC = "Disable only if you have any issues with connection to updates server." + +COM_SMARTSHOUTBOX_ADMIN_REPORT = "Send report" +COM_SMARTSHOUTBOX_ADMIN_REPORT_DESC = "Send report upon each run." + +COM_SMARTSHOUTBOX_ADMIN_TEST = "Test mode" +COM_SMARTSHOUTBOX_ADMIN_TEST_DESC = "In test mode emails will not be sent, but queue will be populated." + +COM_SMARTSHOUTBOX_ADMIN_DEBUG = "Debug" +COM_SMARTSHOUTBOX_ADMIN_DEBUG_DESC = "Will save essential information to log file for further debugging." + +; Permissions + +COM_SMARTSHOUTBOX_PERMISSIONS = "Permissions" +COM_SMARTSHOUTBOX_PERMISSIONS_NOTE = "Permissions to perform different actions by different user groups. Set them carefully for they affect extension's performance!" + +COM_SMARTSHOUTBOX_PERMISSIONS = "Permissions" +COM_SMARTSHOUTBOX_PERMISSIONS_NOTE = "Permissions to perform different actions by different user groups. Set them carefully for they affect extension's performance!" + +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_VIEW = "View content in admin" +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_VIEW_DESC = "Allows users from this group to view extension's content in admin." + +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_CREATE = "Create content in admin" +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_CREATE_DESC = "Allows users from this group to create new content in admin." + +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT = "Edit content in admin" +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT_DESC = "Allows users from this group to edit content in admin." + +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT_STATE = "Publish content in admin" +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_EDIT_STATE_DESC = "Allows users from this group to publish or unpublish content in admin." + +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_DELETE = "Delete content in admin" +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_DELETE_DESC = "Allows users from this group to delete content in admin." + +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_OPTIONS = "Manage options" +COM_SMARTSHOUTBOX_PERMISSIONS_ADMIN_OPTIONS_DESC = "Allows users from this group to manage extension's options." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_VIEW = "View shoutbox" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_VIEW_DESC = "Allows users from this group to view shoutbox." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_USE = "Use shoutbox" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_USE_DESC = "Allows users from this group to use shoutbox." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_LIKE = "Like shouts" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_LIKE_DESC = "Allows users from this group to like shouts." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_ATTACH = "Attach files" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_ATTACH_DESC = "Allows users from this group to attach files to shouts." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT = "Edit ALL shouts" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_DESC = "Allows users from this group to edit ALL shouts." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_OWN = "Edit OWN shouts" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_OWN_DESC = "Allows users from this group to edit ONLY OWN shouts." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_NAME = "Change name" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_NAME_DESC = "Allows users from this group to change their name." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_ANNOUNCE = "Edit announces" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_EDIT_ANNOUNCE_DESC = "Allows users from this group to edit announces." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE = "Delete ALL shouts" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE_DESC = "Allows users from this group to delete ALL shouts." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE_OWN = "Delete OWN shouts" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_DELETE_OWN_DESC = "Allows users from this group to delete ONLY OWN shouts." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_BAN = "Toogle ban" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_BAN_DESC = "Allows users from this group to ban or unban shoutbox users." + +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_INTERVAL = "Unlimited shouting" +COM_SMARTSHOUTBOX_PERMISSIONS_SITE_INTERVAL_DESC = "Allows users from this group to ignore shouting interval." + +; Messages + +COM_SMARTSHOUTBOX_MESSAGE_NORESULTS = "No items have been added yet or match given criteria, list is empty." +COM_SMARTSHOUTBOX_MESSAGE_OPTIONS_SAVED = "Options were successfully saved." +COM_SMARTSHOUTBOX_MESSAGE_OPTIONS_RESET = "Options were successfully reset to default. Don't forget to save them!" + +COM_SMARTSHOUTBOX_MESSAGE_SELECT_NO_RESULTS = "No items matching" +COM_SMARTSHOUTBOX_MESSAGE_SELECT_SOME = "Select some options" +COM_SMARTSHOUTBOX_MESSAGE_SELECT_ONE = "Select an option" +COM_SMARTSHOUTBOX_MESSAGE_SELECT_SOURCE = "Select source first." + +COM_SMARTSHOUTBOX_MESSAGE_ADDED = "Item was successfully added." +COM_SMARTSHOUTBOX_MESSAGE_UPDATED = "Item was successfully updated." +COM_SMARTSHOUTBOX_MESSAGE_SAVED = "Selected items were successfully saved." +COM_SMARTSHOUTBOX_MESSAGE_PUBLISHED = "Selected items were successfully published." +COM_SMARTSHOUTBOX_MESSAGE_UNPUBLISHED = "Selected items were successfully published." +COM_SMARTSHOUTBOX_MESSAGE_DELETED = "Selected items were successfully deleted." +COM_SMARTSHOUTBOX_MESSAGE_EMPTIED = "Items list was successfully emptied." +COM_SMARTSHOUTBOX_MESSAGE_COPIED = "Selected items were successfully copied." + +COM_SMARTSHOUTBOX_MESSAGE_SMILEYS_ADDED = "%s new smileys added." +COM_SMARTSHOUTBOX_MESSAGE_SMILEYS_NONEW = "No new smileys found." + +COM_SMARTSHOUTBOX_MESSAGE_SHOUTS_UPDATED = "Shouts from selected categories are now uncategorized." +COM_SMARTSHOUTBOX_MESSAGE_SHOUTS_DELETED = "Shouts from selected categories were deleted." + +; Warnings + +COM_SMARTSHOUTBOX_WARNING_SELECT = "Warning: You didn't select anything. Please, do so first." +COM_SMARTSHOUTBOX_WARNING_EMPTY = "Warning: You are about to delete all items! Do you wish to continue?" +COM_SMARTSHOUTBOX_WARNING_RESET_SETTINGS = "Warning: All settings will be reset to default! Do you wish to continue?" + +; Errors + +COM_SMARTSHOUTBOX_ERROR_LICENSE_WRONG = "Given license ID is wrong. Please, check your input." +COM_SMARTSHOUTBOX_ERROR_LICENSE_EMPTY = "License ID is missing. Please, enter your order ID, email or download key." +COM_SMARTSHOUTBOX_ERROR_LICENSE_WRONG = "Given license ID is wrong. Please, check your input." +COM_SMARTSHOUTBOX_ERROR_LICENSE_EXPIRED = "Your license has expired. Please, renew extension to receive updates and support." +COM_SMARTSHOUTBOX_ERROR_RESPONSE = "License check failed: wrong response from server. Try again later." +COM_SMARTSHOUTBOX_ERROR_OPTIONS = "You didn't save the settings. Go to Options page and save at least once." +COM_SMARTSHOUTBOX_ERROR_VERSION = "Impossible to get version information: no connection to server." +COM_SMARTSHOUTBOX_ERROR_FOPEN = "Impossible to get version information: allow_url_fopen option is disabled." +COM_SMARTSHOUTBOX_ERROR_CRON = "Cron secret is not set. Check your settings." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_VIEW = "You are not allowed to view this page. Ask administrator for permissions." +COM_SMARTSHOUTBOX_ERROR_NOT_SELECTED = "Nothing to process, no items selected." +COM_SMARTSHOUTBOX_ERROR_EMPTY = "One of the required fields is empty. Check your input." + +COM_SMARTSHOUTBOX_ERROR_PUBLISH = "Publishing of the selected items failed." +COM_SMARTSHOUTBOX_ERROR_UNPUBLISH = "Unpublishing of the selected items failed." +COM_SMARTSHOUTBOX_ERROR_SAVE = "Saving of the selected items failed." + +COM_SMARTSHOUTBOX_ERROR_EMPTY_AUTHOR = "Shout author can not be empty. Enter name or select user." +COM_SMARTSHOUTBOX_ERROR_EMPTY_MESSAGE = "Message can not be empty. Type something and try to save again." + +COM_SMARTSHOUTBOX_ERROR_NO_USERGROUPS = "No usergroups found." +COM_SMARTSHOUTBOX_ERROR_NO_CATEGORIES = "No categories found." +COM_SMARTSHOUTBOX_ERROR_NO_CATEGORY = "Category not found." +COM_SMARTSHOUTBOX_ERROR_NO_USERS = "No users found." +COM_SMARTSHOUTBOX_ERROR_NO_USER = "User not found." COM_SMARTSHOUTBOX_ERROR_NO_FOLDERS = "No folders found." \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.ini index 11f4fa51..f28c2044 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.ini @@ -1,72 +1,72 @@ -; $Id: en-GB.com_socialloginandsocialshare.ini 1.6 2012-03-16 02:40:25Z Team LoginRadius $ -; Joomla! Project -; Copyright (C) 2011 - till Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - -COM_SOCIALLOGINANDSOCIALSHARE_CONFIGURATION_TITLE = "Social Login And Social Share Configuration" -COM_SOCIALLOGIN_THANK="Thank you for installing the LoginRadius Joomla Extension!" -COM_SOCIALLOGIN_THANK_BLOCK="Configure the settings below to get Social Login and Social Sharing with Facebook and Google as Social IDs and you are ready to go!" -COM_SOCIALLOGIN_THANK_BLOCK_TWO="We also have Social Plugin for WordPress, Drupal, vBulletin, VanillaForum, Magento, OSCommerce, PrestaShop, X-Cart, Zen-Cart and DotNetNuke!" -COM_SOCIALLOGIN_THANK_BLOCK_FIVE="Set up my FREE account!" -COM_SOCIALLOGIN_PANEL_LOGIN="Social Login" -COM_SOCIALLOGIN_PANEL_SHARE="Social Share" -COM_SOCIALLOGIN_EXTENSION_HELP="Help & Documentations" -COM_SOCIALLOGIN_EXTENSION_HELP_LINK_ONE="Plugin Installation and Configuration" -COM_SOCIALLOGIN_EXTENSION_HELP_LINK_TWO="How to get LoginRadius API Key & Secret" -COM_SOCIALLOGIN_EXTENSION_HELP_LINK_FOUR="Discussion Forum" -COM_SOCIALLOGIN_EXTENSION_HELP_LINK_FIVE="About LoginRadius" -COM_SOCIALLOGIN_EXTENSION_HELP_LINK_SIX="LoginRadius Products" -COM_SOCIALLOGIN_EXTENSION_TECH_SUPPORT_TEXT_ONE="To receive updates on new features, releases, etc. Please connect to one of our social media pages." -COM_SOCIALLOGIN_STAY_UPDATE="Stay Updated!" -COM_SOCIALLOGIN_EXTENSION_UPDATE="Upgrade to Advanced Extension" -COM_SOCIALLOGIN_EXTENSION_UPDATE_TEXT="If you are looking for many more Social ID providers like Twitter, Linkedin, Vkontakte, Live and others for Social Login and Social Sharing as well as many advance functionality, download our Advance Social Login and Social Share Extension now for FREE! -Our advance extension is compatible with Joomla 1.5, 1.6, 1.7, 2.5, 3.x and also supports Joomla communities, JomSocial, Community Builder, Jcomment, JomFish, Kunena, K2 content management, Mijoshop and VirtueMart." -COM_SOCIALLOGIN_EXTENSION_UPDATE_BUTTON="Upgrade now for FREE" -COM_SOCIALLOGIN_APP_HEAD_SETTING="Social Login App Configuration Settings" -COM_SOCIALLOGIN_FACEBOOK_SUBHEAD="Do you want to enable Facebook Login for your website?" -COM_SOCIALLOGIN_FBYES="Yes" -COM_SOCIALLOGIN_FBNO="No" -COM_SOCIALLOGIN_TITLE_SUBHEAD="Enter the text that you wish to be displayed above the Social Log-in Interface. Leave the field blank if you don't want any text to be displayed." -COM_SOCIALLOGIN_FBAPIKEY_SUBHEAD="To activate the Facebook Login, insert Facebook App ID & App Secret" -COM_SOCIALLOGIN_FBAPIKEY="App ID" -COM_SOCIALLOGIN_FBAPISECRET="App Secret" -COM_SOCIALLOGIN_FBCALLBACK="Site URL" -COM_SOCIALLOGIN_GOOGLE_SUBHEAD="Do you want to Enable Google Login for your website?" -COM_SOCIALLOGIN_GYES="Yes" -COM_SOCIALLOGIN_GNO="No" -COM_SOCIALLOGIN_GAPIKEY_SUBHEAD="To activate the Google Login, insert Google App ID & App Secret" -COM_SOCIALLOGIN_GAPIKEY="App ID" -COM_SOCIALLOGIN_GAPISECRET="App Secret" -COM_SOCIALLOGIN_GCALLBACK="Site URL" -COM_SOCIALSHARE_HEAD="LoginRadius Social Share Settings" -COM_SOCIALSHARE_SUBHEAD="Do you want to Enable Social Sharing for your website?" -COM_SOCIALSHARE_SHARE_YES="Yes" -COM_SOCIALSHARE_SHARE_NO="No" -COM_SOCIALSHARE_SHARETITLE_SUBHEAD="Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." -COM_SOCIALSHARE_INTERFACE_SUBHEAD="What Sharing Networks do you want to show in the sharing widget?" -COM_SOCIALSHARE_FACEBOOK_LIKE="Facebook Like" -COM_SOCIALSHARE_FACEBOOK_SEND="Facebook Send" -COM_SOCIALSHARE_GOOGLE_PLUS="Google+ +1" -COM_SOCIALSHARE_GOOGLE_SHARE="Google+ Share" -COM_SOCIALSHARE_POSITION_SUBHEAD="Select the position of Social sharing interface" -COM_SOCIALSHARE_POSITION_TOP="Show at the top of content" -COM_SOCIALSHARE_POSITION_BOTTOM="Show at the bottom of content" -COM_SOCIALSHARE_ARTICLES_SUBHEAD="What area(s) do you want to show the social sharing widget?" -COM_SOCIALLOGIN_SETTING_SAVED="Configuration has been saved successfully" -COM_SOCIALLOGIN_USER_NOTACTIVATE="you have not activated your account. please check your email." -COM_SOCIALLOGIN_APIKEY_ERROR="Your LoginRadius API key is not valid. please correct it or contact LoginRadius support at www.loginradius.com" -COM_SOCIALLOGIN_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY="Hello %s , \n \n Thank you for registering at %s using Social Login. Your account is created and must be verified before you can use it. \n To verify the account click on the following link or copy-paste it in your browser: \n %s \n \n After verification an administrator will be notified to activate your account. You'll receive a confirmation when it's done. \n Once that account has been activated you may login to %s using the following username and password: \n \n Username: %s \n Password: %s \n OR you can also login with your selected social login provider." -COM_SOCIALLOGIN_SEND_MSG="Hello %s , \n \n Thank you for registering at %s using social login. \n \n You may now log in to %s using your selected social login provider you registered with \n \n Username=%s \n \n Password=%s" -COM_SOCIALLOGIN_SEND_MSG_ADMIN="Hello %s , \n \n A new user has registered at %s using social login. \n This e-mail contains their details: \n \n SiteName: %s \n E-mail: %s \n Username: %s \n \n Please do not respond to this message. It is automatically generated and is for information purposes only." -COM_SOCIALLOGIN_REG_COMPLETE_ACTIVATE="Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link when you get the e-mail before you can login." -COM_SOCIALLOGIN_REGISTER_FAILED="user save or registration failed. please try again" -COM_SOCIALLOGIN_EMAIL_EXIST="This email is already registered. please try with another email" -COM_SOCIALLOGIN_SESSION_EXPIRED="Your session has been expired" -COM_SOCIALLOGIN_REGISTER_DISABLED="User registration is not allowed." -COM_SOCIALLOGIN_POPUP_DESC="Enter your email address:" -COM_SOCIALLOGIN_USER_BLOCK="Your account has been blocked." -COM_SOCIALLOGIN_PLUGIN_INSTALL_FAILURE="Social Login plugin not installed correctly" -COM_SOCIALLOGIN_ADD_ID="You have sucessfully added one more identity to your account." -COM_SOCIALLOGIN_EXIST_ID="This account is already mapped with your account. please try with another account." -COM_SOCIALLOGIN_SETTING_USEAPI_DESC="Recommended API connection method but sometimes this is disabled at hosting server." +; $Id: en-GB.com_socialloginandsocialshare.ini 1.6 2012-03-16 02:40:25Z Team LoginRadius $ +; Joomla! Project +; Copyright (C) 2011 - till Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +COM_SOCIALLOGINANDSOCIALSHARE_CONFIGURATION_TITLE = "Social Login And Social Share Configuration" +COM_SOCIALLOGIN_THANK="Thank you for installing the LoginRadius Joomla Extension!" +COM_SOCIALLOGIN_THANK_BLOCK="Configure the settings below to get Social Login and Social Sharing with Facebook and Google as Social IDs and you are ready to go!" +COM_SOCIALLOGIN_THANK_BLOCK_TWO="We also have Social Plugin for WordPress, Drupal, vBulletin, VanillaForum, Magento, OSCommerce, PrestaShop, X-Cart, Zen-Cart and DotNetNuke!" +COM_SOCIALLOGIN_THANK_BLOCK_FIVE="Set up my FREE account!" +COM_SOCIALLOGIN_PANEL_LOGIN="Social Login" +COM_SOCIALLOGIN_PANEL_SHARE="Social Share" +COM_SOCIALLOGIN_EXTENSION_HELP="Help & Documentations" +COM_SOCIALLOGIN_EXTENSION_HELP_LINK_ONE="Plugin Installation and Configuration" +COM_SOCIALLOGIN_EXTENSION_HELP_LINK_TWO="How to get LoginRadius API Key & Secret" +COM_SOCIALLOGIN_EXTENSION_HELP_LINK_FOUR="Discussion Forum" +COM_SOCIALLOGIN_EXTENSION_HELP_LINK_FIVE="About LoginRadius" +COM_SOCIALLOGIN_EXTENSION_HELP_LINK_SIX="LoginRadius Products" +COM_SOCIALLOGIN_EXTENSION_TECH_SUPPORT_TEXT_ONE="To receive updates on new features, releases, etc. Please connect to one of our social media pages." +COM_SOCIALLOGIN_STAY_UPDATE="Stay Updated!" +COM_SOCIALLOGIN_EXTENSION_UPDATE="Upgrade to Advanced Extension" +COM_SOCIALLOGIN_EXTENSION_UPDATE_TEXT="If you are looking for many more Social ID providers like Twitter, Linkedin, Vkontakte, Live and others for Social Login and Social Sharing as well as many advance functionality, download our Advance Social Login and Social Share Extension now for FREE! +Our advance extension is compatible with Joomla 1.5, 1.6, 1.7, 2.5, 3.x and also supports Joomla communities, JomSocial, Community Builder, Jcomment, JomFish, Kunena, K2 content management, Mijoshop and VirtueMart." +COM_SOCIALLOGIN_EXTENSION_UPDATE_BUTTON="Upgrade now for FREE" +COM_SOCIALLOGIN_APP_HEAD_SETTING="Social Login App Configuration Settings" +COM_SOCIALLOGIN_FACEBOOK_SUBHEAD="Do you want to enable Facebook Login for your website?" +COM_SOCIALLOGIN_FBYES="Yes" +COM_SOCIALLOGIN_FBNO="No" +COM_SOCIALLOGIN_TITLE_SUBHEAD="Enter the text that you wish to be displayed above the Social Log-in Interface. Leave the field blank if you don't want any text to be displayed." +COM_SOCIALLOGIN_FBAPIKEY_SUBHEAD="To activate the Facebook Login, insert Facebook App ID & App Secret" +COM_SOCIALLOGIN_FBAPIKEY="App ID" +COM_SOCIALLOGIN_FBAPISECRET="App Secret" +COM_SOCIALLOGIN_FBCALLBACK="Site URL" +COM_SOCIALLOGIN_GOOGLE_SUBHEAD="Do you want to Enable Google Login for your website?" +COM_SOCIALLOGIN_GYES="Yes" +COM_SOCIALLOGIN_GNO="No" +COM_SOCIALLOGIN_GAPIKEY_SUBHEAD="To activate the Google Login, insert Google App ID & App Secret" +COM_SOCIALLOGIN_GAPIKEY="App ID" +COM_SOCIALLOGIN_GAPISECRET="App Secret" +COM_SOCIALLOGIN_GCALLBACK="Site URL" +COM_SOCIALSHARE_HEAD="LoginRadius Social Share Settings" +COM_SOCIALSHARE_SUBHEAD="Do you want to Enable Social Sharing for your website?" +COM_SOCIALSHARE_SHARE_YES="Yes" +COM_SOCIALSHARE_SHARE_NO="No" +COM_SOCIALSHARE_SHARETITLE_SUBHEAD="Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +COM_SOCIALSHARE_INTERFACE_SUBHEAD="What Sharing Networks do you want to show in the sharing widget?" +COM_SOCIALSHARE_FACEBOOK_LIKE="Facebook Like" +COM_SOCIALSHARE_FACEBOOK_SEND="Facebook Send" +COM_SOCIALSHARE_GOOGLE_PLUS="Google+ +1" +COM_SOCIALSHARE_GOOGLE_SHARE="Google+ Share" +COM_SOCIALSHARE_POSITION_SUBHEAD="Select the position of Social sharing interface" +COM_SOCIALSHARE_POSITION_TOP="Show at the top of content" +COM_SOCIALSHARE_POSITION_BOTTOM="Show at the bottom of content" +COM_SOCIALSHARE_ARTICLES_SUBHEAD="What area(s) do you want to show the social sharing widget?" +COM_SOCIALLOGIN_SETTING_SAVED="Configuration has been saved successfully" +COM_SOCIALLOGIN_USER_NOTACTIVATE="you have not activated your account. please check your email." +COM_SOCIALLOGIN_APIKEY_ERROR="Your LoginRadius API key is not valid. please correct it or contact LoginRadius support at www.loginradius.com" +COM_SOCIALLOGIN_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY="Hello %s , \n \n Thank you for registering at %s using Social Login. Your account is created and must be verified before you can use it. \n To verify the account click on the following link or copy-paste it in your browser: \n %s \n \n After verification an administrator will be notified to activate your account. You'll receive a confirmation when it's done. \n Once that account has been activated you may login to %s using the following username and password: \n \n Username: %s \n Password: %s \n OR you can also login with your selected social login provider." +COM_SOCIALLOGIN_SEND_MSG="Hello %s , \n \n Thank you for registering at %s using social login. \n \n You may now log in to %s using your selected social login provider you registered with \n \n Username=%s \n \n Password=%s" +COM_SOCIALLOGIN_SEND_MSG_ADMIN="Hello %s , \n \n A new user has registered at %s using social login. \n This e-mail contains their details: \n \n SiteName: %s \n E-mail: %s \n Username: %s \n \n Please do not respond to this message. It is automatically generated and is for information purposes only." +COM_SOCIALLOGIN_REG_COMPLETE_ACTIVATE="Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link when you get the e-mail before you can login." +COM_SOCIALLOGIN_REGISTER_FAILED="user save or registration failed. please try again" +COM_SOCIALLOGIN_EMAIL_EXIST="This email is already registered. please try with another email" +COM_SOCIALLOGIN_SESSION_EXPIRED="Your session has been expired" +COM_SOCIALLOGIN_REGISTER_DISABLED="User registration is not allowed." +COM_SOCIALLOGIN_POPUP_DESC="Enter your email address:" +COM_SOCIALLOGIN_USER_BLOCK="Your account has been blocked." +COM_SOCIALLOGIN_PLUGIN_INSTALL_FAILURE="Social Login plugin not installed correctly" +COM_SOCIALLOGIN_ADD_ID="You have sucessfully added one more identity to your account." +COM_SOCIALLOGIN_EXIST_ID="This account is already mapped with your account. please try with another account." +COM_SOCIALLOGIN_SETTING_USEAPI_DESC="Recommended API connection method but sometimes this is disabled at hosting server." diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.sys.ini index 1763215e..0e009d46 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.com_socialloginandsocialshare.sys.ini @@ -1,9 +1,9 @@ -; $Id: en-GB.com_socialloginandsocialshare.ini 1.6 2012-03-16 02:40:25Z Team LoginRadius $ -; Joomla! Project -; Copyright (C) 2011 - till Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - -COM_SOCIALLOGINANDSOCIALSHARE ="Social Login And Social Share" -COM_LOGINRADIUS_ADVANCED = "Advanced Setting (paid plan only)" -COM_LOGINRADIUS_USERMANAGER="User Manager" +; $Id: en-GB.com_socialloginandsocialshare.ini 1.6 2012-03-16 02:40:25Z Team LoginRadius $ +; Joomla! Project +; Copyright (C) 2011 - till Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +COM_SOCIALLOGINANDSOCIALSHARE ="Social Login And Social Share" +COM_LOGINRADIUS_ADVANCED = "Advanced Setting (paid plan only)" +COM_LOGINRADIUS_USERMANAGER="User Manager" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.mod_sh404sef_cpicon.ini b/deployed/_shared/administrator/language/en-GB/en-GB.mod_sh404sef_cpicon.ini index 2e356d6b..11641ad9 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.mod_sh404sef_cpicon.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.mod_sh404sef_cpicon.ini @@ -1,8 +1,8 @@ -; @version $Id$ -; @package sh404sef-15 -; @subpackage -; @copyright Copyright (C) 2010 Yannick Gaultier All rights reserved. -; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL - -COM_SH404SEF_UPDATE_REQUIRED="Update required!" +; @version $Id$ +; @package sh404sef-15 +; @subpackage +; @copyright Copyright (C) 2010 Yannick Gaultier All rights reserved. +; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL + +COM_SH404SEF_UPDATE_REQUIRED="Update required!" COM_SH404SEF_UPDATE_NOT_REQUIRED="Using latest version!" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.ini index 33efc05e..a385af4d 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.ini @@ -1,6 +1,6 @@ -; @copyright Copyright (c) 2017 ARCHLine. All rights reserved. -; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - - -PLG_CONTENT_WORKSHOPDATES="content - ARCHLine Workshop dates" - +; @copyright Copyright (c) 2017 ARCHLine. All rights reserved. +; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + + +PLG_CONTENT_WORKSHOPDATES="content - ARCHLine Workshop dates" + diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.sys.ini index 33efc05e..a385af4d 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_content_workshopdates.sys.ini @@ -1,6 +1,6 @@ -; @copyright Copyright (c) 2017 ARCHLine. All rights reserved. -; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - - -PLG_CONTENT_WORKSHOPDATES="content - ARCHLine Workshop dates" - +; @copyright Copyright (c) 2017 ARCHLine. All rights reserved. +; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + + +PLG_CONTENT_WORKSHOPDATES="content - ARCHLine Workshop dates" + diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_editors_jckeditor.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_editors_jckeditor.ini index ebbfb09b..b0f8dd80 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_editors_jckeditor.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_editors_jckeditor.ini @@ -1,138 +1,138 @@ -;====>Basic Parameters - -PLG_JCK_BROWSER_DEFAULT="Browser Default" -PLG_JCK_ADMINISTRATOR_END_TOOLBAR_MODE="Administrator End Toolbar Mode" -PLG_JCK_FRONTEND_TOOLBAR_MODE="FrontEnd Toolbar Mode" -PLG_JCK_TOOLBAR_COLOUR="Toolbar Color" -PLG_JCK_TOOLBAR_COLOUR_DESC="The Toolbar Color." -PLG_JCK_SKIN="Skin" -PLG_JCK_USE_TEMPLATE_CSS_CLASSES="Use Template CSS Classes
                for Editing Area?" -PLG_JCK_USE_EDITOR_CSS_CLASSES="Use Editor CSS Classes?" -PLG_JCK_USE_CUSTOM_CSS_CLASSES="Use Custom CSS Classes
                for Editing Area?" -PLG_JCK_USE_TEMPLATE_STYLES_CSS_CLASSES="Use Template CSS Classes
                for Styles ComboBox?" -PLG_JCK_USE_CUSTOM_STYLES_CSS_CLASSES="Use Custom CSS Classes
                for Styles ComboBox?" -PLG_JCK_LOCATION_OF_THE_IMAGES="Location of the Images?" -PLG_JCK_LOCATION_OF_THE_FLASH="Location of the Flash Files?" -PLG_JCK_LOCATION_OF_THE_DOCS="Location of the Documents?" -PLG_JCK_TEXT_DIRECTION="Text Direction" -PLG_JCK_FUNCTIONBK="Option choses which toolbar view to use when editing articles in the Administration section." -PLG_JCK_FUNCTIONFT="Option choses which toolbar view to use when editing articles in the front end." -PLG_JCK_EDITORSKIN="The skin of Editor." -PLG_JCK_LOADCSSTMPT="Load CSS classes from template.css." -PLG_JCK_LOADCSSED="Load CSS classes from editor.css. NOTE: Template CSS takes priority and will overide this setting." -PLG_JCK_CUSLOADCSS="Specify a custom CSS file to load - simply enter the FULL path to the css file you want loaded." -PLG_JCK_STYLES_LOADCSSED="Load CSS classes from template.css for styles dropdown list. NOTE: Template CSS takes priority and will overide this setting." -PLG_JCK_STYLES_CUSLOADCSS="Specify a custom CSS file to load for the styles dropdown list - simply enter the FULL path to the css file you want loaded." -PLG_JCK_IMGPATH="Here you can overide the default image directory location. " -PLG_JCK_FLAPATH="Here you can overide the default flash directory location. " -PLG_JCK_MEDIAPATH="Here you can overide the default media directory location. " -PLG_JCK_FILEPATH="Here you can overide the default file directory location. " -PLG_JCK_TXTDIRN="Change the text display direction." -PLG_JCK_DESCENTERMODE="Sets the behavior for when the enter key is pressed." -PLG_JCK_DESCLANGCODE="Editor UI Language. A value here is mandatory if Manual language selection is set" -PLG_JCK_DESCLANGMODE="Manual - editor language set by Language code defined below.
                Joomla! Default - editor language editor language will automatically match Joomla! language.
                Browser Default - editor language will automatically match your browser language." -PLG_JCK_DESCJOOMLAFCK="JoomlaFCK 2.6.3 is a platform independent web based JavaScript HTML WYSIWYG Editor control." -PLG_JCK_DESCSHIFTENTERMODE="Sets the behavior for when the enter key is pressed while shift is held down." -PLG_JCK_DESCCRTLSHIFTENTERMODE="Sets the behavior for when the enter key is pressed while control and shift are held down." -PLG_JCK_JOOMLA_DEFAULT="Joomla! Default" -PLG_JCK_LANGUAGE_CODE="Language Code" -PLG_JCK_LANGUAGE_SELECTION_MODE="Language Selection Mode" -PLG_JCK_MANUAL="Manual" -PLG_JCK_ENTER_MODE="Enter Mode" -PLG_JCK_SHIFT_ENTER_MODE="Shift Enter Mode" -PLG_JCK_CRTL_SHIFT_ENTER_MODE=" CRTL Shift Enter Mode" -PLG_JCK_WIDTH="Width" -PLG_JCK_WIDTH_DESC="The width of Editor" -PLG_JCK_HEIGHT="Height" -PLG_JCK_HEIGHT_DESC="The height of Editor" -PLG_JCK_DISPLAY_ERRORS="Display Errors" - -;====>Advanced Parameters - -PLG_JCK_PROCESS_HTML_ENTITIES="Process HTML Entities" -PLG_JCK_INCLUDE_LATIN_ENTITIES="Include Latin Entities" -PLG_JCK_INCLUDE_GREEK_ENTITIES="Include Greek Entities" -PLG_JCK_PROCESS_NUMERIC_ENTITIES="Process Numeric Entities" -PLG_JCK_USE_RELATIVE_PATH_FOR_IMAGES="Use Relative path for Images/Flash?" -PLG_JCK_AUTO_FORMAT_SOURCE_OFF="Auto Format Source OFF?" -PLG_JCK_AUTO_FORMAT_SOURCE="Auto Format Source" -PLG_JCK_LOCATION_FOR_ADDITIONAL_STYLESHEETS="Location For Addition Stylesheets" -PLG_JCK_ADDITIONAL_STYLESHEETS="Additional Stylesheets" -PLG_JCK_BACKGROUND_COLOUR="Background Color" -PLG_JCK_FONT_COLOUR="Font Color" -PLG_JCK_DESCPROCHTMLENT="Specifies that the editor must convert all special characters available in the text to their relative HTML entities, as defined by the W3C standards." -PLG_JCK_DESCINCLATINENT="This setting tells the editor to convert accented Latin letters to their relative HTML entities." -PLG_JCK_DESCINCGREEKENT="This setting tells the editor to convert Greek letters to their relative HTML entities." -PLG_JCK_DECPROCNUMENT="Set the editor to transform all characters that are out of the ASCII table to their relative Unicode numeric entities." -PLG_JCK_USERELPATH="Insert images using the relative path?" -PLG_JCK_FMTSRC="Formats XHTML when swiching between the WYSIWYG and source mode." -PLG_JCK_DESCADDCSSSHEET="Specify location for additional template stylesheets." -PLG_JCK_DESCADDCSSHEETNAMES="Semi-colon() delimited list of addition stylesheet names(one.css;two.css;three.css etc)." -PLG_JCK_DESCBKCOLOR="Sets the background color of the Editor - Defaults to white." -PLG_JCK_DESCCOLOR="Sets the font color of the Editor " -PLG_JCK_DESCFONTCOLOR="Sets the font color of the Editor." -PLG_JCK_DESCUSERFOLDER="Use User foldes for storing/uplaoding media files." -PLG_JCK_TXTALIGN="Set the text alignment that the editor uses for content in the editor area. by default this is set to the template setting." -PLG_JCK_TXT_ALIGNMENT="Text Alignment" -PLG_JCK_TXT_ALIGNMENT_DESC="Default text alignment used by the editor." -PLG_JCK_AUTO_LOAD="Auto Load" -PLG_JCK_AUTO_LOAD_DESC="Option determines if editor autoloads at startup." -PLG_JCK_USE_USER_FOLDERS="Use User Folders" -PLG_JCK_USER_FOLDER_TYPE="User Folder Type(ID Or Username)" -PLG_JCK_USER_FOLDER_TYPE_DESC="Options determinse if editor uses IDs or usernames for user folders." -PLG_JCK_ALLOW_USERS_TO_SEE="Allow These Users To See All Folders" -PLG_JCK_ALLOW_USERS_TO_SEE_DESC="Allows these users to see all of the folders if 'Use user folders' is switched on." -PLG_JCK_FORCE_SIMPLE_AMPERSAND="Force Simple Ampersand" -PLG_JCK_FORCE_SIMPLE_AMPERSAND_DESC="Stop editor from converting ampersands to its html enitiy equivalent(&)" -PLG_JCK_STARTUP_FOCUS="Auto Focus" -PLG_JCK_STARTUP_FOCUS_DESC="Sets whether the editor should have the focus when the page loads." -PLG_JCK_FORCE_FILEBROWSER_TO_ALLOW_ACCESS_TO="Allow User group To access File browser" -PLG_JCK_FORCE_FILEBROWSER_TO_ALLOW_ACCESS_TO_DESC="This setting overrides Joomla's ACL system and users groups selected here will always be able to view the file browser" -PLG_JCK_IMAGE_DRAGNDROP="Enable Image Drag and drop" -PLG_JCK_IMAGE_DRAGNDROP_DESC="This settings determines if the end user is allowed to drag and upload images from their desktop computer" -PLG_JCK_LOCATION_OF_THE_DND_IMAGES="Drag and Drop Upload Path?" -PLG_JCK_DND_IMGPATH="Here you can overide the default drag and drop upload path" -PLG_JCK_LOAD_JCK_TYPOGRAPHY="Load JCK typography" -PLG_JCK_LOAD_JCK_TYPOGRAPHY_DESC="This option determines if the JCK typography stylesheet is loaded up for the editor and your default template" -PLG_JCK_EDIT_JCK_TYPOGRAPHY="Edit JCK typography" -PLG_JCK_EDIT_JCK_TYPOGRAPHY_DESC="Edit if you want to change the JCK typography styles" -PLG_JCK_AUTO_LAUNCH_FILEBROWSER="Auto Launch Filebrowser" -PLG_JCK_AUTO_LAUNCH_FILEBROWSER_DESC="This option determines if the filebroswer will automatically launch when clicking the Image, Flash, Link Dialog etc." -PLG_JCK_MINIFY_JAVASCRIPT="Minify Inline JavaScript" -PLG_JCK_MINIFY_JAVASCRIPT_DESC="This options determines if the inline javscript code generated by the editor will be minified" -PLG_JCK_MAGICLINE_ENABLED="Enable Magicline" -PLG_JCK_MAGICLINE_ENABLED_DESC="In some cases, it is very difficult to position the caret for typing on specific positions, like the start of the document when it starts with a table, or between a table and a rule
                Move the mouse on some of this hard to focus places and see the magic-line appearing. Then, just click on its button." - -;====>Install Wizard - -PLG_JCK_INSTALL_WIZARD_NEXT="Next" -PLG_JCK_INSTALL_WIZARD_PREV="Prev" -PLG_JCK_INSTALL_WIZARD_FINISH="Finish" -PLG_JCK_INSTALL_WIZARD_WELCOME="Welcome" -PLG_JCK_INSTALL_WIZARD_GETTING_STARTED="Getting Started" -PLG_JCK_INSTALL_WIZARD_WELCOME_MSG="

                Getting off on the right foot can make all the difference to your editing experience! That's why we have taken the time to develop a free 'Installation Guide' to support you through the installation of this extension.

                If you haven't done so already we would advise you to click on the Installation Guide link below before you go any further. This will help you get the best out of the editor and walk you through, the latest changes, setup and site configuration.

                Download:  Installation Guide..." -PLG_JCK_INSTALL_WIZARD_SYSTEM_HEALTH_CHECK="System Health Check" -PLG_JCK_INSTALL_WIZARD_EDITOR_FILE_PERMISSIONS="Editor File Permissions" -PLG_JCK_INSTALL_WIZARD_FILES_NOT_EXECUTABLE="Files not executable" -PLG_JCK_INSTALL_WIZARD_FILES_WITH_NOT_RECOMMENDED_PERMISSIONS="Files with not recommended permissions" -PLG_JCK_INSTALL_WIZARD_FOLDERS_WITH_NOT_RECOMMENDED_PERMISSIONS="Folders with not recommended permissions" -PLG_JCK_INSTALL_WIZARD_IMAGE_FOLDER_PERMISSION="Image Folder Permission" -PLG_JCK_INSTALL_WIZARD_FOLDERS_NOT_WRITABLE="Folders not writable" -PLG_JCK_INSTALL_WIZARD_CHANGE_NOW="Change now!" -PLG_JCK_INSTALL_WIZARD_SETUP="Setup" -PLG_JCK_INSTALL_WIZARD_EDITING_AREA="Editing Area" -PLG_JCK_INSTALL_WIZARD_SELECT_FONT_FAMILY="Select font-family to be used in the editing area" -PLG_JCK_INSTALL_WIZARD_SELECT_FONT_COLOR="Select font-color to be used in the editing area" -PLG_JCK_INSTALL_WIZARD_SELECT_FONT_SIZE="Select font-size to be used in the editing area" -PLG_JCK_INSTALL_WIZARD_SELECT_BACKGROUND_COLOR="Select background-color to be used in the editing area" -PLG_JCK_INSTALL_WIZARD_USERS_FOLDERS="Users Folders" -PLG_JCK_INSTALL_WIZARD_USE_SPECIFIC_USER_FOLDERS="Use specific user folders when using the file browser to upload and browse files" -PLG_JCK_INSTALL_WIZARD_USE_SPECIFIC_USER_FOLDERS_NOTE="Note: If this is set to 'No' you can skip the settings below" -PLG_JCK_INSTALL_WIZARD_USE_FOLDER_TYPE="Use Folder Type" -PLG_JCK_INSTALL_WIZARD_ALLOW_THESE_USERS_TO_SEE_ALL_FOLDERS="Allow these users to see all folders" -PLG_JCK_INSTALL_WIZARD_EDITING_STYLES="Editing Styles" -PLG_JCK_INSTALL_WIZARD_SELECT_DEFAULT_TEMPLATE="Select your default template: (Note this is the default site template
                used on your joomla website)" -PLG_JCK_INSTALL_WIZARD_SELECT_TEMPLATE_STYLE_SHEET="Select your style-sheet for the Editing Area: (Note this should be the style-sheet containing your templates typography: body tag, H headers etc..)" -PLG_JCK_INSTALL_WIZARD_USE_JCK_STYLE_SHEET="Use the JCK typography style-sheet" -PLG_JCK_INSTALL_WIZARD_STYLES_DROPDOWN="Styles Dropdown" +;====>Basic Parameters + +PLG_JCK_BROWSER_DEFAULT="Browser Default" +PLG_JCK_ADMINISTRATOR_END_TOOLBAR_MODE="Administrator End Toolbar Mode" +PLG_JCK_FRONTEND_TOOLBAR_MODE="FrontEnd Toolbar Mode" +PLG_JCK_TOOLBAR_COLOUR="Toolbar Color" +PLG_JCK_TOOLBAR_COLOUR_DESC="The Toolbar Color." +PLG_JCK_SKIN="Skin" +PLG_JCK_USE_TEMPLATE_CSS_CLASSES="Use Template CSS Classes
                for Editing Area?" +PLG_JCK_USE_EDITOR_CSS_CLASSES="Use Editor CSS Classes?" +PLG_JCK_USE_CUSTOM_CSS_CLASSES="Use Custom CSS Classes
                for Editing Area?" +PLG_JCK_USE_TEMPLATE_STYLES_CSS_CLASSES="Use Template CSS Classes
                for Styles ComboBox?" +PLG_JCK_USE_CUSTOM_STYLES_CSS_CLASSES="Use Custom CSS Classes
                for Styles ComboBox?" +PLG_JCK_LOCATION_OF_THE_IMAGES="Location of the Images?" +PLG_JCK_LOCATION_OF_THE_FLASH="Location of the Flash Files?" +PLG_JCK_LOCATION_OF_THE_DOCS="Location of the Documents?" +PLG_JCK_TEXT_DIRECTION="Text Direction" +PLG_JCK_FUNCTIONBK="Option choses which toolbar view to use when editing articles in the Administration section." +PLG_JCK_FUNCTIONFT="Option choses which toolbar view to use when editing articles in the front end." +PLG_JCK_EDITORSKIN="The skin of Editor." +PLG_JCK_LOADCSSTMPT="Load CSS classes from template.css." +PLG_JCK_LOADCSSED="Load CSS classes from editor.css. NOTE: Template CSS takes priority and will overide this setting." +PLG_JCK_CUSLOADCSS="Specify a custom CSS file to load - simply enter the FULL path to the css file you want loaded." +PLG_JCK_STYLES_LOADCSSED="Load CSS classes from template.css for styles dropdown list. NOTE: Template CSS takes priority and will overide this setting." +PLG_JCK_STYLES_CUSLOADCSS="Specify a custom CSS file to load for the styles dropdown list - simply enter the FULL path to the css file you want loaded." +PLG_JCK_IMGPATH="Here you can overide the default image directory location. " +PLG_JCK_FLAPATH="Here you can overide the default flash directory location. " +PLG_JCK_MEDIAPATH="Here you can overide the default media directory location. " +PLG_JCK_FILEPATH="Here you can overide the default file directory location. " +PLG_JCK_TXTDIRN="Change the text display direction." +PLG_JCK_DESCENTERMODE="Sets the behavior for when the enter key is pressed." +PLG_JCK_DESCLANGCODE="Editor UI Language. A value here is mandatory if Manual language selection is set" +PLG_JCK_DESCLANGMODE="Manual - editor language set by Language code defined below.
                Joomla! Default - editor language editor language will automatically match Joomla! language.
                Browser Default - editor language will automatically match your browser language." +PLG_JCK_DESCJOOMLAFCK="JoomlaFCK 2.6.3 is a platform independent web based JavaScript HTML WYSIWYG Editor control." +PLG_JCK_DESCSHIFTENTERMODE="Sets the behavior for when the enter key is pressed while shift is held down." +PLG_JCK_DESCCRTLSHIFTENTERMODE="Sets the behavior for when the enter key is pressed while control and shift are held down." +PLG_JCK_JOOMLA_DEFAULT="Joomla! Default" +PLG_JCK_LANGUAGE_CODE="Language Code" +PLG_JCK_LANGUAGE_SELECTION_MODE="Language Selection Mode" +PLG_JCK_MANUAL="Manual" +PLG_JCK_ENTER_MODE="Enter Mode" +PLG_JCK_SHIFT_ENTER_MODE="Shift Enter Mode" +PLG_JCK_CRTL_SHIFT_ENTER_MODE=" CRTL Shift Enter Mode" +PLG_JCK_WIDTH="Width" +PLG_JCK_WIDTH_DESC="The width of Editor" +PLG_JCK_HEIGHT="Height" +PLG_JCK_HEIGHT_DESC="The height of Editor" +PLG_JCK_DISPLAY_ERRORS="Display Errors" + +;====>Advanced Parameters + +PLG_JCK_PROCESS_HTML_ENTITIES="Process HTML Entities" +PLG_JCK_INCLUDE_LATIN_ENTITIES="Include Latin Entities" +PLG_JCK_INCLUDE_GREEK_ENTITIES="Include Greek Entities" +PLG_JCK_PROCESS_NUMERIC_ENTITIES="Process Numeric Entities" +PLG_JCK_USE_RELATIVE_PATH_FOR_IMAGES="Use Relative path for Images/Flash?" +PLG_JCK_AUTO_FORMAT_SOURCE_OFF="Auto Format Source OFF?" +PLG_JCK_AUTO_FORMAT_SOURCE="Auto Format Source" +PLG_JCK_LOCATION_FOR_ADDITIONAL_STYLESHEETS="Location For Addition Stylesheets" +PLG_JCK_ADDITIONAL_STYLESHEETS="Additional Stylesheets" +PLG_JCK_BACKGROUND_COLOUR="Background Color" +PLG_JCK_FONT_COLOUR="Font Color" +PLG_JCK_DESCPROCHTMLENT="Specifies that the editor must convert all special characters available in the text to their relative HTML entities, as defined by the W3C standards." +PLG_JCK_DESCINCLATINENT="This setting tells the editor to convert accented Latin letters to their relative HTML entities." +PLG_JCK_DESCINCGREEKENT="This setting tells the editor to convert Greek letters to their relative HTML entities." +PLG_JCK_DECPROCNUMENT="Set the editor to transform all characters that are out of the ASCII table to their relative Unicode numeric entities." +PLG_JCK_USERELPATH="Insert images using the relative path?" +PLG_JCK_FMTSRC="Formats XHTML when swiching between the WYSIWYG and source mode." +PLG_JCK_DESCADDCSSSHEET="Specify location for additional template stylesheets." +PLG_JCK_DESCADDCSSHEETNAMES="Semi-colon() delimited list of addition stylesheet names(one.css;two.css;three.css etc)." +PLG_JCK_DESCBKCOLOR="Sets the background color of the Editor - Defaults to white." +PLG_JCK_DESCCOLOR="Sets the font color of the Editor " +PLG_JCK_DESCFONTCOLOR="Sets the font color of the Editor." +PLG_JCK_DESCUSERFOLDER="Use User foldes for storing/uplaoding media files." +PLG_JCK_TXTALIGN="Set the text alignment that the editor uses for content in the editor area. by default this is set to the template setting." +PLG_JCK_TXT_ALIGNMENT="Text Alignment" +PLG_JCK_TXT_ALIGNMENT_DESC="Default text alignment used by the editor." +PLG_JCK_AUTO_LOAD="Auto Load" +PLG_JCK_AUTO_LOAD_DESC="Option determines if editor autoloads at startup." +PLG_JCK_USE_USER_FOLDERS="Use User Folders" +PLG_JCK_USER_FOLDER_TYPE="User Folder Type(ID Or Username)" +PLG_JCK_USER_FOLDER_TYPE_DESC="Options determinse if editor uses IDs or usernames for user folders." +PLG_JCK_ALLOW_USERS_TO_SEE="Allow These Users To See All Folders" +PLG_JCK_ALLOW_USERS_TO_SEE_DESC="Allows these users to see all of the folders if 'Use user folders' is switched on." +PLG_JCK_FORCE_SIMPLE_AMPERSAND="Force Simple Ampersand" +PLG_JCK_FORCE_SIMPLE_AMPERSAND_DESC="Stop editor from converting ampersands to its html enitiy equivalent(&)" +PLG_JCK_STARTUP_FOCUS="Auto Focus" +PLG_JCK_STARTUP_FOCUS_DESC="Sets whether the editor should have the focus when the page loads." +PLG_JCK_FORCE_FILEBROWSER_TO_ALLOW_ACCESS_TO="Allow User group To access File browser" +PLG_JCK_FORCE_FILEBROWSER_TO_ALLOW_ACCESS_TO_DESC="This setting overrides Joomla's ACL system and users groups selected here will always be able to view the file browser" +PLG_JCK_IMAGE_DRAGNDROP="Enable Image Drag and drop" +PLG_JCK_IMAGE_DRAGNDROP_DESC="This settings determines if the end user is allowed to drag and upload images from their desktop computer" +PLG_JCK_LOCATION_OF_THE_DND_IMAGES="Drag and Drop Upload Path?" +PLG_JCK_DND_IMGPATH="Here you can overide the default drag and drop upload path" +PLG_JCK_LOAD_JCK_TYPOGRAPHY="Load JCK typography" +PLG_JCK_LOAD_JCK_TYPOGRAPHY_DESC="This option determines if the JCK typography stylesheet is loaded up for the editor and your default template" +PLG_JCK_EDIT_JCK_TYPOGRAPHY="Edit JCK typography" +PLG_JCK_EDIT_JCK_TYPOGRAPHY_DESC="Edit if you want to change the JCK typography styles" +PLG_JCK_AUTO_LAUNCH_FILEBROWSER="Auto Launch Filebrowser" +PLG_JCK_AUTO_LAUNCH_FILEBROWSER_DESC="This option determines if the filebroswer will automatically launch when clicking the Image, Flash, Link Dialog etc." +PLG_JCK_MINIFY_JAVASCRIPT="Minify Inline JavaScript" +PLG_JCK_MINIFY_JAVASCRIPT_DESC="This options determines if the inline javscript code generated by the editor will be minified" +PLG_JCK_MAGICLINE_ENABLED="Enable Magicline" +PLG_JCK_MAGICLINE_ENABLED_DESC="In some cases, it is very difficult to position the caret for typing on specific positions, like the start of the document when it starts with a table, or between a table and a rule
                Move the mouse on some of this hard to focus places and see the magic-line appearing. Then, just click on its button." + +;====>Install Wizard + +PLG_JCK_INSTALL_WIZARD_NEXT="Next" +PLG_JCK_INSTALL_WIZARD_PREV="Prev" +PLG_JCK_INSTALL_WIZARD_FINISH="Finish" +PLG_JCK_INSTALL_WIZARD_WELCOME="Welcome" +PLG_JCK_INSTALL_WIZARD_GETTING_STARTED="Getting Started" +PLG_JCK_INSTALL_WIZARD_WELCOME_MSG="

                Getting off on the right foot can make all the difference to your editing experience! That's why we have taken the time to develop a free 'Installation Guide' to support you through the installation of this extension.

                If you haven't done so already we would advise you to click on the Installation Guide link below before you go any further. This will help you get the best out of the editor and walk you through, the latest changes, setup and site configuration.

                Download:  Installation Guide..." +PLG_JCK_INSTALL_WIZARD_SYSTEM_HEALTH_CHECK="System Health Check" +PLG_JCK_INSTALL_WIZARD_EDITOR_FILE_PERMISSIONS="Editor File Permissions" +PLG_JCK_INSTALL_WIZARD_FILES_NOT_EXECUTABLE="Files not executable" +PLG_JCK_INSTALL_WIZARD_FILES_WITH_NOT_RECOMMENDED_PERMISSIONS="Files with not recommended permissions" +PLG_JCK_INSTALL_WIZARD_FOLDERS_WITH_NOT_RECOMMENDED_PERMISSIONS="Folders with not recommended permissions" +PLG_JCK_INSTALL_WIZARD_IMAGE_FOLDER_PERMISSION="Image Folder Permission" +PLG_JCK_INSTALL_WIZARD_FOLDERS_NOT_WRITABLE="Folders not writable" +PLG_JCK_INSTALL_WIZARD_CHANGE_NOW="Change now!" +PLG_JCK_INSTALL_WIZARD_SETUP="Setup" +PLG_JCK_INSTALL_WIZARD_EDITING_AREA="Editing Area" +PLG_JCK_INSTALL_WIZARD_SELECT_FONT_FAMILY="Select font-family to be used in the editing area" +PLG_JCK_INSTALL_WIZARD_SELECT_FONT_COLOR="Select font-color to be used in the editing area" +PLG_JCK_INSTALL_WIZARD_SELECT_FONT_SIZE="Select font-size to be used in the editing area" +PLG_JCK_INSTALL_WIZARD_SELECT_BACKGROUND_COLOR="Select background-color to be used in the editing area" +PLG_JCK_INSTALL_WIZARD_USERS_FOLDERS="Users Folders" +PLG_JCK_INSTALL_WIZARD_USE_SPECIFIC_USER_FOLDERS="Use specific user folders when using the file browser to upload and browse files" +PLG_JCK_INSTALL_WIZARD_USE_SPECIFIC_USER_FOLDERS_NOTE="Note: If this is set to 'No' you can skip the settings below" +PLG_JCK_INSTALL_WIZARD_USE_FOLDER_TYPE="Use Folder Type" +PLG_JCK_INSTALL_WIZARD_ALLOW_THESE_USERS_TO_SEE_ALL_FOLDERS="Allow these users to see all folders" +PLG_JCK_INSTALL_WIZARD_EDITING_STYLES="Editing Styles" +PLG_JCK_INSTALL_WIZARD_SELECT_DEFAULT_TEMPLATE="Select your default template: (Note this is the default site template
                used on your joomla website)" +PLG_JCK_INSTALL_WIZARD_SELECT_TEMPLATE_STYLE_SHEET="Select your style-sheet for the Editing Area: (Note this should be the style-sheet containing your templates typography: body tag, H headers etc..)" +PLG_JCK_INSTALL_WIZARD_USE_JCK_STYLE_SHEET="Use the JCK typography style-sheet" +PLG_JCK_INSTALL_WIZARD_STYLES_DROPDOWN="Styles Dropdown" PLG_JCK_INSTALL_WIZARD_SELECT_STYLES_DROPDOWN_STYLE_SHEET="Select your style-sheet for the styles dropdown list: (Note this should be the style-sheet containing your templates typography: body tag, H headers etc..)" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini index 4790308a..8e8360eb 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini @@ -1,17 +1,17 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Plugin -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - -;[3.0.0] -PLG_SEARCH_PHOCADOWNLOAD_PHOCADOWNLOAD="Phoca Download" -PLG_SEARCH_PHOCADOWNLOAD="Phoca Download Search Plugin" -PLG_SEARCH_PHOCADOWNLOAD_DESCRIPTION="Phoca Download Search Plugin - Phoca Plugin for Joomla! CMS
                More information on www.phoca.cz" -PLG_SEARCH_PHOCADOWNLOAD_SEARCH_LIMIT_LABEL="Search Limit" -PLG_SEARCH_PHOCADOWNLOAD_SEARCH_LIMIT_DESC="Set number of search items to return" +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Plugin +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.0] +PLG_SEARCH_PHOCADOWNLOAD_PHOCADOWNLOAD="Phoca Download" +PLG_SEARCH_PHOCADOWNLOAD="Phoca Download Search Plugin" +PLG_SEARCH_PHOCADOWNLOAD_DESCRIPTION="Phoca Download Search Plugin - Phoca Plugin for Joomla! CMS
                More information on www.phoca.cz" +PLG_SEARCH_PHOCADOWNLOAD_SEARCH_LIMIT_LABEL="Search Limit" +PLG_SEARCH_PHOCADOWNLOAD_SEARCH_LIMIT_DESC="Set number of search items to return" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.ini index a95e3532..d93c0f06 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.ini @@ -1,109 +1,109 @@ -; $Id$ -; Joomla! Project -; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - - -PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEF core - Social buttons" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS="Analytics tracking" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS_DESC="If set to Yes, sh404SEF will track through Google Analytics clicks on social buttons, and display results on your site Analytics reports" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_SOCIAL_ENGAGEMENT="Google social tracking" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_SOCIAL_ENGAGEMENT_DESC="If set to Yes, required javascript to enable Google own Social engagement tracking will be enabled. Google tracking has some limitations, and will not show in sh404SEF own Analytics reports, as Google does not expose the data through its API" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL="Only on canonical pages" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL_DESC="If set to Yes, sh404SEF will only display social buttons on the content element main page. For instance, buttons will be displayed on a Joomla! article page, but not on a category page showing articles intro text.
                This is currently enabled only for some types of content" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FACEBOOK="Facebook" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEETER="Twitter" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE="Google Plus One" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE="Google Plus page badge" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE="Show Like button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE_DESC="If set to Yes, a Facebook Like button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND="Show Send button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND_DESC="If set to Yes, a Facebook Send button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT="Button layout" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_DESC="Select a Facebook button layout option: display Like count either on the right, the top or no count at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON_COUNT="Right side Likes count" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BOX_COUNT="Top box Likes count" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_NO_COUNT="Standard" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION="Action" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION_DESC="Select to display either Like or recommend on your Facebook button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_LIKE="Like" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_RECOMMEND="Recommend" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES="Show faces" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES_DESC="If set to Yes, Facebook button will display profile pictures of people who Liked your page" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME="Color scheme" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DESC="Select one of the available color scheme for buttons" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_LIGHT="Light" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DARK="Dark" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH="Total area width" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH_DESC="Enter a width (in pixels) for the Facebook group of buttons. Leave empty for default value" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5="Use HTML 5 buttons" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5_DESC="If set to Yes, the HTML5 version of the Facebook buttons will be used" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET="Show Tweet button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET_DESC="If set to Yes, a Twitter button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT="Button layout" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_DESC="Select a Twitter button layout option: display counter vertically, horizontally or no counter at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_VERTICAL="Tweet count vertical" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_HORIZONTAL="Tweet count horizontal" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_NONE="No Tweet count" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT="Tweet Via account" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT_DESC="You can enter a Tweet via account name. Twitter will display this account when your page is shared by others" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE="Show Plus One button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_DESC="If set to Yes, a Google Plus One button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE="Button size" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_DESC="Select one of various possible Google Plus One buttons" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_SMALL="Small (15px)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_MEDIUM="Medium (20px)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_STANDARD="Standard (24px)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_TALL="Tall (60px - has count)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION="Button annotation" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_DESC="Select the type of information displayed next to the +1 button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_NONE="None" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_BUBBLE="Number of users who +1'd the page" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_INLINE="Pictures of users, and total count" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE="Show badge" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE_DESC="If set to Yes, a Google Plus page badge will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE="Page to link to" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE_DESC="Enter the exact link to your page. Do not include Google domain (http://plus.google.com). Should be similar to /my-gplus-page" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT="Custom text" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT_DESC="Optional custom text to be displayed next to the badge. Leave empty to display only the badge image" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE="Badge size" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_DESC="Select one of various possible Google page badge sizes" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_SMALL="Small" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_MEDIUM="Medium" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_LARGE="Large" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION="Buttons location" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_DESC="Define where buttons should be located:
                'Only tags' means only {sh404sef_social_buttons} tags will be replaced, wherever you put them.
                'Before content': buttons will be inserted after an article title, before its content.
                'After content': buttons will be inserted after the article itsel
                With the latter 2 options, you don't need to place any tag in your content." -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_ONLY_TAGS="Only replace tags" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_BEFORE_CONTENT="Before content" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_AFTER_CONTENT="After content" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION="Categories" -PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION_DESC="Display social buttons only on a limited set of categories" -PLG_SH404SEFCORE_SH404SEFSOCIAL_SHOW_ON_ALL_CATS="All categories" -PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL="Use shUrl" -PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL_DESC="If set to Yes, and unless you explicitely set a URL in a {sh404sef_social_buttons} tag, the shUrl for an URL will be used instead of that URL, when linking social buttons" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST="Pinterest" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST="Show Pin it button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST_DESC="If set to Show, a Pin it button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT="Pin it count layout" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_DESC="Choose one of the possible layouts for the Pin it counter, including no counter at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_VERTICAL="Vertical" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_HORIZONTAL="Horizontal" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_NONE="None" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT="Button text" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT_DESC="Enter a text to replace the default 'Pin it'. Note this text will normally not be displayed, but replaced by Pinterest Pin it button graphic" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE="Show Share button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE_DESC="If set to Show, a Facebook Share button will be displayed" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKED="Linkedin" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKEDIN="Show Linkedin button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKED_DESC="If set to Show, a Linkedin button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT="Linkedin layout" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_DESC="Choose one of the possible layouts for the Linkedin counter, including no counter at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_VERTICAL="Vertical" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_HORIZONTAL="Horizontal" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_NONE="None" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON="Only button" +; $Id$ +; Joomla! Project +; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + + +PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEF core - Social buttons" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS="Analytics tracking" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS_DESC="If set to Yes, sh404SEF will track through Google Analytics clicks on social buttons, and display results on your site Analytics reports" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_SOCIAL_ENGAGEMENT="Google social tracking" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_SOCIAL_ENGAGEMENT_DESC="If set to Yes, required javascript to enable Google own Social engagement tracking will be enabled. Google tracking has some limitations, and will not show in sh404SEF own Analytics reports, as Google does not expose the data through its API" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL="Only on canonical pages" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL_DESC="If set to Yes, sh404SEF will only display social buttons on the content element main page. For instance, buttons will be displayed on a Joomla! article page, but not on a category page showing articles intro text.
                This is currently enabled only for some types of content" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FACEBOOK="Facebook" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEETER="Twitter" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE="Google Plus One" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE="Google Plus page badge" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE="Show Like button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE_DESC="If set to Yes, a Facebook Like button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND="Show Send button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND_DESC="If set to Yes, a Facebook Send button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT="Button layout" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_DESC="Select a Facebook button layout option: display Like count either on the right, the top or no count at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON_COUNT="Right side Likes count" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BOX_COUNT="Top box Likes count" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_NO_COUNT="Standard" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION="Action" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION_DESC="Select to display either Like or recommend on your Facebook button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_LIKE="Like" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_RECOMMEND="Recommend" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES="Show faces" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES_DESC="If set to Yes, Facebook button will display profile pictures of people who Liked your page" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME="Color scheme" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DESC="Select one of the available color scheme for buttons" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_LIGHT="Light" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DARK="Dark" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH="Total area width" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH_DESC="Enter a width (in pixels) for the Facebook group of buttons. Leave empty for default value" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5="Use HTML 5 buttons" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5_DESC="If set to Yes, the HTML5 version of the Facebook buttons will be used" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET="Show Tweet button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET_DESC="If set to Yes, a Twitter button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT="Button layout" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_DESC="Select a Twitter button layout option: display counter vertically, horizontally or no counter at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_VERTICAL="Tweet count vertical" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_HORIZONTAL="Tweet count horizontal" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_NONE="No Tweet count" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT="Tweet Via account" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT_DESC="You can enter a Tweet via account name. Twitter will display this account when your page is shared by others" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE="Show Plus One button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_DESC="If set to Yes, a Google Plus One button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE="Button size" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_DESC="Select one of various possible Google Plus One buttons" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_SMALL="Small (15px)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_MEDIUM="Medium (20px)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_STANDARD="Standard (24px)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_TALL="Tall (60px - has count)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION="Button annotation" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_DESC="Select the type of information displayed next to the +1 button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_NONE="None" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_BUBBLE="Number of users who +1'd the page" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_INLINE="Pictures of users, and total count" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE="Show badge" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE_DESC="If set to Yes, a Google Plus page badge will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE="Page to link to" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE_DESC="Enter the exact link to your page. Do not include Google domain (http://plus.google.com). Should be similar to /my-gplus-page" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT="Custom text" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT_DESC="Optional custom text to be displayed next to the badge. Leave empty to display only the badge image" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE="Badge size" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_DESC="Select one of various possible Google page badge sizes" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_SMALL="Small" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_MEDIUM="Medium" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_LARGE="Large" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION="Buttons location" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_DESC="Define where buttons should be located:
                'Only tags' means only {sh404sef_social_buttons} tags will be replaced, wherever you put them.
                'Before content': buttons will be inserted after an article title, before its content.
                'After content': buttons will be inserted after the article itsel
                With the latter 2 options, you don't need to place any tag in your content." +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_ONLY_TAGS="Only replace tags" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_BEFORE_CONTENT="Before content" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_AFTER_CONTENT="After content" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION="Categories" +PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION_DESC="Display social buttons only on a limited set of categories" +PLG_SH404SEFCORE_SH404SEFSOCIAL_SHOW_ON_ALL_CATS="All categories" +PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL="Use shUrl" +PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL_DESC="If set to Yes, and unless you explicitely set a URL in a {sh404sef_social_buttons} tag, the shUrl for an URL will be used instead of that URL, when linking social buttons" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST="Pinterest" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST="Show Pin it button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST_DESC="If set to Show, a Pin it button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT="Pin it count layout" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_DESC="Choose one of the possible layouts for the Pin it counter, including no counter at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_VERTICAL="Vertical" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_HORIZONTAL="Horizontal" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_NONE="None" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT="Button text" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT_DESC="Enter a text to replace the default 'Pin it'. Note this text will normally not be displayed, but replaced by Pinterest Pin it button graphic" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE="Show Share button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE_DESC="If set to Show, a Facebook Share button will be displayed" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKED="Linkedin" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKEDIN="Show Linkedin button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKED_DESC="If set to Show, a Linkedin button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT="Linkedin layout" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_DESC="Choose one of the possible layouts for the Linkedin counter, including no counter at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_VERTICAL="Vertical" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_HORIZONTAL="Horizontal" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_NONE="None" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON="Only button" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.sys.ini index 560f40f1..1ced1dc4 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_sh404sefcore_sh404sefsocial.sys.ini @@ -1,9 +1,9 @@ -; $Id$ -; Joomla! Project -; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - - -PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEFcore - Social buttons plugin" +; $Id$ +; Joomla! Project +; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + + +PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEFcore - Social buttons plugin" PLG_SH404SEFCORE_SH404SEFSOCIAL_XML_DESCRIPTION="Allow insertion of Social buttons in articles, modules or templates, by replacing the {sh404sef_social_buttons} tag you can add in said content.

                You can specify a custom URL like so:
                • {sh404sef_social_buttons url=index.php?option=com_content&id=12&Itemid=34&view=article} - will be turned to SEF url automatically
                • {sh404sef_social_buttons url=/my-url.html}
                • {sh404sef_social_buttons url=http://mysite.com/my-url.html}
                • {sh404sef_social_buttons url=my-url.html} - will be turned to an absolute url automatically

                • If no url is set, the current page url will be used instead

                  In addition, you can select which button to display, by using a type tag, like so:
                  • {sh404sef_social_buttons type=facebooklike type=twitter}

                  You can use combinations of any of the following types:
                  • facebooklike, facebooksend, twitter, googleplusone, googlepluspage, pinterestpinit,linkedin
                  (and still combine with a url)

                  When displaying a Pin It button:
                  • if you don't setup a tag, the first image in the document will be the one shared
                  • if using a tag, you can use the img attribute to specify which image will be shared, and a desc attribute to describe it, like so:

                    {sh404sef_social_buttons type=pinterestpinit img=images/stories/some-image.jpg desc="_QQ_"This is an image worth sharing ;)"_QQ_"}
                  " \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_shlib.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_shlib.ini index 1a301f54..1b674bb0 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_shlib.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_shlib.ini @@ -1,16 +1,16 @@ -; -; Shlib - programming library -; -; @author Yannick Gaultier -; @copyright (c) Yannick Gaultier 2013 -; @package shlib -; @license http://www.gnu.org/copyleft/gpl.html GNU/GPL -; @version 0.2.9.370 -; @date 2014-06-11 -; - -PLG_SHLIB_EMAIL_DEFAULT_SUBJECT="ShLib running at %s" -PLG_SHLIB_EMAIL_DEFAULT_BODY="This is ShLib extension running at %.
                  Please check log files on the server. A message with no body text is being sent, which is probably the sign of a problem!
                  " -PLG_SHLIB_ADMIN_ALERT_SUBJECT="ALERT: from %s" -PLG_SHLIB_ADMIN_ALERT_BODY="Hello %s!
                  This is the shlib web site software running at %s. The following message has been logged with a log level requiring notification:
                  %s


                  Thank you!

                  " -PLG_SHLIB_CHAR_COUNTER="Show recommended character count: stay green!" +; +; Shlib - programming library +; +; @author Yannick Gaultier +; @copyright (c) Yannick Gaultier 2013 +; @package shlib +; @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +; @version 0.2.9.370 +; @date 2014-06-11 +; + +PLG_SHLIB_EMAIL_DEFAULT_SUBJECT="ShLib running at %s" +PLG_SHLIB_EMAIL_DEFAULT_BODY="This is ShLib extension running at %.
                  Please check log files on the server. A message with no body text is being sent, which is probably the sign of a problem!
                  " +PLG_SHLIB_ADMIN_ALERT_SUBJECT="ALERT: from %s" +PLG_SHLIB_ADMIN_ALERT_BODY="Hello %s!
                  This is the shlib web site software running at %s. The following message has been logged with a log level requiring notification:
                  %s


                  Thank you!

                  " +PLG_SHLIB_CHAR_COUNTER="Show recommended character count: stay green!" diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.ini index 613921fa..75d1d92b 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.ini @@ -1,78 +1,78 @@ -; YouTubeR -; Copyright (C) 2017 Oleg Micriucov. All rights reserved. -; License: https://allforjoomla.com/license -; Note : All ini files need to be saved as UTF-8 - -PLG_SYSTEM_YOUTUBER_DESCR="

                  YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                  Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                  " -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" -PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" -PLG_SYSTEM_YOUTUBER_THEME="Theme" -PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" -PLG_SYSTEM_YOUTUBER_MODE="Mode" -PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" -PLG_SYSTEM_YOUTUBER_EMBED="Embed" -PLG_SYSTEM_YOUTUBER_LINK="Link" -PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" -PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" -PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" -PLG_SYSTEM_YOUTUBER_CACHING="Caching" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" -PLG_SYSTEM_YOUTUBER_ERROR="Error" -PLG_SYSTEM_YOUTUBER_MORE="More" -PLG_SYSTEM_YOUTUBER_LESS="Less" -PLG_SYSTEM_YOUTUBER_LOAD_MORE="Load more" -PLG_SYSTEM_YOUTUBER_ACTIVATE_PLUGIN="Please activate system YouTubeR plugin" -PLG_SYSTEM_YOUTUBER_SET_OAUTH_ID="Please set Google OAuth client ID in the system YouTubeR plugin configuration" -PLG_SYSTEM_YOUTUBER_AUTHORIZE_YOUTUBE_ACCOUNT="Click to authorize YouTube account" -PLG_SYSTEM_YOUTUBER_UPLOAD_VIDEO="Upload video" -PLG_SYSTEM_YOUTUBER_VIDEOS_LIST="Videos list" -PLG_SYSTEM_YOUTUBER_MORE_VIDEOS="More videos" -PLG_SYSTEM_YOUTUBER_TITLE="Title" -PLG_SYSTEM_YOUTUBER_VIDEO_TITLE="Video title" -PLG_SYSTEM_YOUTUBER_DESCRIPTION="Description" -PLG_SYSTEM_YOUTUBER_VIDEO_DESCRIPTION="Video description" -PLG_SYSTEM_YOUTUBER_TAGS="Tags" -PLG_SYSTEM_YOUTUBER_TAGS_SEPARATED_BY_COMMA="Tags, separated by comma" -PLG_SYSTEM_YOUTUBER_PRIVACY_STATUS="Privacy Status" -PLG_SYSTEM_YOUTUBER_UPLOAD="Upload" -PLG_SYSTEM_YOUTUBER_PUBLIC="Public" -PLG_SYSTEM_YOUTUBER_UNLISTED="Unlisted" -PLG_SYSTEM_YOUTUBER_PRIVATE="Private" -PLG_SYSTEM_YOUTUBER_PLEASE_ENTER_VIDEO_TITLE="Please enter video title" -PLG_SYSTEM_YOUTUBER_PLEASE_CHOOSE_VIDEO_FILE="Please choose video file" -PLG_SYSTEM_YOUTUBER_VIDEOS_IDS_NOT_FOUND="Videos IDs: %s not found" -PLG_SYSTEM_YOUTUBER_VIDEO_ID_NOT_FOUND="Video ID: %s not found" -PLG_SYSTEM_YOUTUBER_CHANNEL_FOR_USER_NOT_FOUND="Channel for user: %s not found" -PLG_SYSTEM_YOUTUBER_CHANNEL_ID_NOT_FOUND="Channel ID: %s not found" -PLG_SYSTEM_YOUTUBER_PLAYLIST_ID_NOT_FOUND="Playlist ID: %s not found" -PLG_SYSTEM_YOUTUBER_PLAYLIST_FOR_CHANNEL_ID_NOT_FOUND="Playlists for channel ID: %s not found" -PLG_SYSTEM_YOUTUBER_SERVER_RESPONCE_ERROR="YouTube server responce error" -PLG_SYSTEM_YOUTUBER_TMPL_FOR_THEME_NOT_FOUND="Template %s for the theme %s not found." -PLG_SYSTEM_YOUTUBER_NO_PLAYLIST_AND_VIDEO_ID="No playlist ID and no video ID is set" -PLG_SYSTEM_YOUTUBER_UPLOADS="Uploads" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_VIEWS="Number of views" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_LIKES="Number of likes" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_DISLIKES="Number of dislikes" -PLG_SYSTEM_YOUTUBER_ADDED_TO_FAVORITES="Added to favorites" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_COMMENTS="Number of comments" -PLG_SYSTEM_YOUTUBER_SVIDEOS="%1$s videos" -PLG_SYSTEM_YOUTUBER_SVIEWS="%1$s views" -PLG_SYSTEM_YOUTUBER_SSUBSCRIBERS="%1$s subscribers" -PLG_SYSTEM_YOUTUBER_NO_VIDEOS_IN_PLAYLIST="No videos found in this playlist" -PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" -PLG_SYSTEM_YOUTUBER_ERROR_NO_DEBUG="Error. For more information about error turn on debug mode in the plugin settings" +; YouTubeR +; Copyright (C) 2017 Oleg Micriucov. All rights reserved. +; License: https://allforjoomla.com/license +; Note : All ini files need to be saved as UTF-8 + +PLG_SYSTEM_YOUTUBER_DESCR="

                  YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                  Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                  " +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" +PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" +PLG_SYSTEM_YOUTUBER_THEME="Theme" +PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" +PLG_SYSTEM_YOUTUBER_MODE="Mode" +PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" +PLG_SYSTEM_YOUTUBER_EMBED="Embed" +PLG_SYSTEM_YOUTUBER_LINK="Link" +PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" +PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" +PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" +PLG_SYSTEM_YOUTUBER_CACHING="Caching" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" +PLG_SYSTEM_YOUTUBER_ERROR="Error" +PLG_SYSTEM_YOUTUBER_MORE="More" +PLG_SYSTEM_YOUTUBER_LESS="Less" +PLG_SYSTEM_YOUTUBER_LOAD_MORE="Load more" +PLG_SYSTEM_YOUTUBER_ACTIVATE_PLUGIN="Please activate system YouTubeR plugin" +PLG_SYSTEM_YOUTUBER_SET_OAUTH_ID="Please set Google OAuth client ID in the system YouTubeR plugin configuration" +PLG_SYSTEM_YOUTUBER_AUTHORIZE_YOUTUBE_ACCOUNT="Click to authorize YouTube account" +PLG_SYSTEM_YOUTUBER_UPLOAD_VIDEO="Upload video" +PLG_SYSTEM_YOUTUBER_VIDEOS_LIST="Videos list" +PLG_SYSTEM_YOUTUBER_MORE_VIDEOS="More videos" +PLG_SYSTEM_YOUTUBER_TITLE="Title" +PLG_SYSTEM_YOUTUBER_VIDEO_TITLE="Video title" +PLG_SYSTEM_YOUTUBER_DESCRIPTION="Description" +PLG_SYSTEM_YOUTUBER_VIDEO_DESCRIPTION="Video description" +PLG_SYSTEM_YOUTUBER_TAGS="Tags" +PLG_SYSTEM_YOUTUBER_TAGS_SEPARATED_BY_COMMA="Tags, separated by comma" +PLG_SYSTEM_YOUTUBER_PRIVACY_STATUS="Privacy Status" +PLG_SYSTEM_YOUTUBER_UPLOAD="Upload" +PLG_SYSTEM_YOUTUBER_PUBLIC="Public" +PLG_SYSTEM_YOUTUBER_UNLISTED="Unlisted" +PLG_SYSTEM_YOUTUBER_PRIVATE="Private" +PLG_SYSTEM_YOUTUBER_PLEASE_ENTER_VIDEO_TITLE="Please enter video title" +PLG_SYSTEM_YOUTUBER_PLEASE_CHOOSE_VIDEO_FILE="Please choose video file" +PLG_SYSTEM_YOUTUBER_VIDEOS_IDS_NOT_FOUND="Videos IDs: %s not found" +PLG_SYSTEM_YOUTUBER_VIDEO_ID_NOT_FOUND="Video ID: %s not found" +PLG_SYSTEM_YOUTUBER_CHANNEL_FOR_USER_NOT_FOUND="Channel for user: %s not found" +PLG_SYSTEM_YOUTUBER_CHANNEL_ID_NOT_FOUND="Channel ID: %s not found" +PLG_SYSTEM_YOUTUBER_PLAYLIST_ID_NOT_FOUND="Playlist ID: %s not found" +PLG_SYSTEM_YOUTUBER_PLAYLIST_FOR_CHANNEL_ID_NOT_FOUND="Playlists for channel ID: %s not found" +PLG_SYSTEM_YOUTUBER_SERVER_RESPONCE_ERROR="YouTube server responce error" +PLG_SYSTEM_YOUTUBER_TMPL_FOR_THEME_NOT_FOUND="Template %s for the theme %s not found." +PLG_SYSTEM_YOUTUBER_NO_PLAYLIST_AND_VIDEO_ID="No playlist ID and no video ID is set" +PLG_SYSTEM_YOUTUBER_UPLOADS="Uploads" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_VIEWS="Number of views" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_LIKES="Number of likes" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_DISLIKES="Number of dislikes" +PLG_SYSTEM_YOUTUBER_ADDED_TO_FAVORITES="Added to favorites" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_COMMENTS="Number of comments" +PLG_SYSTEM_YOUTUBER_SVIDEOS="%1$s videos" +PLG_SYSTEM_YOUTUBER_SVIEWS="%1$s views" +PLG_SYSTEM_YOUTUBER_SSUBSCRIBERS="%1$s subscribers" +PLG_SYSTEM_YOUTUBER_NO_VIDEOS_IN_PLAYLIST="No videos found in this playlist" +PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" +PLG_SYSTEM_YOUTUBER_ERROR_NO_DEBUG="Error. For more information about error turn on debug mode in the plugin settings" PLG_SYSTEM_YOUTUBER_LOAD_FANCYBOX="Load Fancybox library" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.sys.ini b/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.sys.ini index 750a2a73..60392363 100644 --- a/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.sys.ini +++ b/deployed/_shared/administrator/language/en-GB/en-GB.plg_system_youtuber.sys.ini @@ -1,38 +1,38 @@ -; YouTubeR -; Copyright (C) 2017 Oleg Micriucov. All rights reserved. -; License: https://allforjoomla.com/license -; Note : All ini files need to be saved as UTF-8 - -PLG_SYSTEM_YOUTUBER_DESCR="

                  YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                  Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                  " -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" -PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" -PLG_SYSTEM_YOUTUBER_THEME="Theme" -PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" -PLG_SYSTEM_YOUTUBER_MODE="Mode" -PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" -PLG_SYSTEM_YOUTUBER_EMBED="Embed" -PLG_SYSTEM_YOUTUBER_LINK="Link" -PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" -PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" -PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" -PLG_SYSTEM_YOUTUBER_CACHING="Caching" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" -PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" -PLG_SYSTEM_YOUTUBER_LOAD_FANCYBOX="Load Fancybox library" -PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_LABEL="Premium License key" -PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_DESCR="You can find the Premium License key in your account on AllForJoomla.com" +; YouTubeR +; Copyright (C) 2017 Oleg Micriucov. All rights reserved. +; License: https://allforjoomla.com/license +; Note : All ini files need to be saved as UTF-8 + +PLG_SYSTEM_YOUTUBER_DESCR="

                  YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                  Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                  " +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" +PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" +PLG_SYSTEM_YOUTUBER_THEME="Theme" +PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" +PLG_SYSTEM_YOUTUBER_MODE="Mode" +PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" +PLG_SYSTEM_YOUTUBER_EMBED="Embed" +PLG_SYSTEM_YOUTUBER_LINK="Link" +PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" +PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" +PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" +PLG_SYSTEM_YOUTUBER_CACHING="Caching" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" +PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" +PLG_SYSTEM_YOUTUBER_LOAD_FANCYBOX="Load Fancybox library" +PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_LABEL="Premium License key" +PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_DESCR="You can find the Premium License key in your account on AllForJoomla.com" PLG_SYSTEM_YOUTUBER_LOAD_GFONT="Load Google Font" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.com_acym.sys.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.com_acym.sys.ini index 94c39c1a..64c57d30 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.com_acym.sys.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.com_acym.sys.ini @@ -1,17 +1,17 @@ -ACYM="AcyMailing 6" -COM_ACYM="AcyMailing 6" -COM_ACYM_CONFIGURATION="AcyMailing 6" -ACYM_USERS="Felhasználók" -ACYM_CUSTOM_FIELDS="Egyedi mezők" -ACYM_LISTS="Témakörök" -ACYM_TEMPLATES="Sablonok" -ACYM_CAMPAIGNS="Hírlevelek" -ACYM_QUEUE="Feladatok" -ACYM_AUTOMATION="Automatizálás" -ACYM_STATISTICS="Statisztikák" -ACYM_BOUNCE_HANDLING="Visszapattanások kezelése" -ACYM_CONFIGURATION="Beállítások" -ACYM_MENU_PROFILE="User profile" -ACYM_MENU_PROFILE_DESC="This element gives your visitors or logged-in users a way to subscribe / modify their subscription." -ACYM_MENU_ARCHIVE="Newsletters archive" -ACYM_MENU_ARCHIVE_DESC="Show the sent newsletters" +ACYM="AcyMailing 6" +COM_ACYM="AcyMailing 6" +COM_ACYM_CONFIGURATION="AcyMailing 6" +ACYM_USERS="Felhasználók" +ACYM_CUSTOM_FIELDS="Egyedi mezők" +ACYM_LISTS="Témakörök" +ACYM_TEMPLATES="Sablonok" +ACYM_CAMPAIGNS="Hírlevelek" +ACYM_QUEUE="Feladatok" +ACYM_AUTOMATION="Automatizálás" +ACYM_STATISTICS="Statisztikák" +ACYM_BOUNCE_HANDLING="Visszapattanások kezelése" +ACYM_CONFIGURATION="Beállítások" +ACYM_MENU_PROFILE="User profile" +ACYM_MENU_PROFILE_DESC="This element gives your visitors or logged-in users a way to subscribe / modify their subscription." +ACYM_MENU_ARCHIVE="Newsletters archive" +ACYM_MENU_ARCHIVE_DESC="Show the sent newsletters" diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.ini index cbaa3ea8..4f1523a5 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.ini @@ -1,1123 +1,1123 @@ -; @version $Id$ -; @package sh404sef-1 -; @author Yannick Gaultier -; @copyright Copyright (C) 2014 Yannick Gaultier All rights reserved. -; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL - -COM_SH404SEF_404PAGE="404-es oldal" -COM_SH404SEF_ADD="Új" -COM_SH404SEF_ADDFILE="Alapértelmezett indexfájl." -COM_SH404SEF_ASC=" (növ) " -COM_SH404SEF_BADURL="A régi nem keresőbarát URL-nek index.php-val kell kezdődnie" -COM_SH404SEF_CHK_PERMS="Kérjük, hogy ellenőrizd a fájlengedélyeket, és biztosítsd, hogy ez a fájl olvasható legyen." -COM_SH404SEF_CONFIG="sh404SEF
                  beállításai" -COM_SH404SEF_CONFIG_DESC="Az sh404SEF funkcióinak konfigurálása" -COM_SH404SEF_CONFIG_UPDATED="Kész a beállítások módosítása" -COM_SH404SEF_CONFIRM_ERASE_CACHE="Biztosan ki akarod üríteni az URL átmeneti tárolót? Ez a beállítások megváltoztatása után erősen ajánlott. Az átmeneti tároló újbóli létrehozásához böngéssz az oldalon vagy hozd létre a webhelyed oldaltérképét." -COM_SH404SEF_COPYRIGHT="Copyright" -COM_SH404SEF_DATEADD="Hozzáadva" -COM_SH404SEF_DEBUG_DATA_DUMP="A HIBAKERESÉSI ADATOK KIÍRATÁSA BEFEJEZŐDÖTT: Az oldalbetöltés leállt" -COM_SH404SEF_DEF_404_MSG="

                  Hiba: nem találjuk ezt az oldalt!

                  Ezt az oldalt {%sh404SEF_404_URL%} kérted, de minden próbálkozásunk ellenére sem találtuk meg. Mi történt?

                  • a hivatkozás amivel erre az oldalra kattintottál elírást tartalmaz
                  • vagy eltávolítottuk ezt az oldalt, esetleg más nevet kapott
                  • biztosak soha nem lehetünk benne, de esetleg rosszul írtad be?

                  {sh404sefSimilarUrlsCommentStart}Azért még nincs mindennek vége, esetleg nézd meg ezeket az oldalakat a webhelyelyünkön:{sh404sefSimilarUrlsCommentEnd}

                  {sh404sefSimilarUrls}

                  " -COM_SH404SEF_DEF_404_PAGE="Alapértelmezett 404 oldal" -COM_SH404SEF_DESC=" (csökk) " -COM_SH404SEF_EDIT="Szerkesztés" -COM_SH404SEF_EMPTYURL="Kérjük, hogy add meg az átirányítás URL-jét." -COM_SH404SEF_ENABLED="Engedélyezett" -COM_SH404SEF_ERROR_IMPORT="Hiba történt az importálás közben:" -COM_SH404SEF_EXPORT="Egyéni URL-ek biztonsági mentése" -COM_SH404SEF_EXPORT_FAILED="AZ EXPORTÁLÁS NEM SIKERÜLT!!!" -COM_SH404SEF_FATAL_ERROR_HEADERS="VÉGZETES HIBA: A FEJLÉC ELKÜLDÉSE MÁR MEGTÖRTÉNT" -COM_SH404SEF_FRIENDTRIM_CHAR="Barátságos karakterek levágása" -COM_SH404SEF_HELP="sh404SEF
                  támogatás" -COM_SH404SEF_HELPDESC="Segítségre van szükséged az sh404SEF használatához?" -COM_SH404SEF_HELPVIA="Segítséget az alábbi fórumokban kaphatsz:" -COM_SH404SEF_HIDE_CAT="Kategória elrejtése" -COM_SH404SEF_IMPORT="Egyéni URL-ek importálása" -COM_SH404SEF_IMPORT_EXPORT="Egyéni URL-ek importálása/exportálása" -COM_SH404SEF_IMPORT_OK="Az egyéni URL-ek importálása sikeres!" -COM_SH404SEF_INFO="sh404SEF
                  dokumentáció" -COM_SH404SEF_INFODESC="Az sh404SEF projekt összegzésének és dokumentációjának megtekintése" -COM_SH404SEF_INSTALLED_VERS="Telepített verzió:" -COM_SH404SEF_INVALID_SQL="AZ SQL FÁJL ÉRVÉNYTELEN ADATOKAT TARTALMAZ :" -COM_SH404SEF_INVALID_URL="ÉRVÉNYTELEN URL: ehhez a hivatkozáshoz érvényes elemazonosítóra van szükség, de nem található egy sem.
                  MEGOLDÁS: Készítsd el ennek az elemnek a menüpontját. Nem kell közzétenned, csak hozd létre." -COM_SH404SEF_LICENSE="Licenc" -COM_SH404SEF_LOWER="Mind kisbetűs" -COM_SH404SEF_MAMBERS="Mambers fórum" -COM_SH404SEF_NO_UNLINK="A feltöltött fájl nem távolítható el a media könyvtárból" -COM_SH404SEF_NOACCESS="Nem lehet hozzáférni a következő táblához: " -COM_SH404SEF_NOCACHE="nincs tárazás" -COM_SH404SEF_NOLEADSLASH="Az új keresőbarát URL NE KEZDŐDJÖN PERJELLEL" -COM_SH404SEF_NOREAD="VÉGZETES HIBA: A fájl nem olvasható " -COM_SH404SEF_NORECORDS="Nincs ilyen." -COM_SH404SEF_OFFICIAL="Projekt hivatalos fóruma" -COM_SH404SEF_OK=" OK " -COM_SH404SEF_PAGEREP_CHAR="Oldalelválasztó karakter" -COM_SH404SEF_PAGETEXT="Az oldal szövege" -COM_SH404SEF_PROCEED=" Tovább " -COM_SH404SEF_PURGE404="404 napló
                  kiürítése" -COM_SH404SEF_PURGE404DESC="A 404 napló kiürítése" -COM_SH404SEF_PURGECUSTOM="Egyéni átirányítások
                  kiürítése" -COM_SH404SEF_PURGECUSTOMDESC="Az egyéni átirányítások kiürítése" -COM_SH404SEF_PURGEURL="Keresőbarát URL-ek
                  kiürítése" -COM_SH404SEF_PURGEURLDESC="A keresőbarát URL-ek kiürítése" -COM_SH404SEF_REALURL="Valódi URL" -COM_SH404SEF_RECORD=" rekord törlésére készülsz" -COM_SH404SEF_RECORDS=" rekord törlésére készülsz" -COM_SH404SEF_REPLACE_CHAR="Helyettesítő karakter" -COM_SH404SEF_SAVEAS="Mentés egyéni átirányításként" -COM_SH404SEF_SEFURL="Keresőbarát URL" -COM_SH404SEF_SELECT_DELETE="Jelöld ki a törlendő elemet" -COM_SH404SEF_SELECT_FILE="Kérjük, hogy előbb válassza ki a fájlt" -COM_SH404SEF_ACTIVATE_IJOOMLA_MAG="Az iJoomla Magazine aktiválása a tartalomban" -COM_SH404SEF_ADV_INSERT_ISO="A nyelvkód beszúrása" -COM_SH404SEF_ADV_MANAGE_URL="URL feldolgozás" -COM_SH404SEF_ADV_TRANSLATE_URL="Az URL lefordítása" -COM_SH404SEF_ALWAYS_INSERT_ITEMID="Az elemazonosító hozzáfűzése a SEF URL-hez minden alkalommal" -COM_SH404SEF_ALWAYS_INSERT_MENU_TITLE="A menücím beszúrása minden alkalommal" -COM_SH404SEF_CACHE_TITLE="Gyorsítótár-kezelés" -COM_SH404SEF_CAT_TABLE_SUFFIX="Táblázat" -COM_SH404SEF_CB_INSERT_NAME="A Community Builder nevének beszúrása" -COM_SH404SEF_CB_INSERT_USER_ID="A felhasználó azonosítójának beszúrása" -COM_SH404SEF_CB_INSERT_USER_NAME="Felhasználónév beszúrása" -COM_SH404SEF_CB_NAME="Alapértelmezett CB név" -COM_SH404SEF_CB_TITLE="Community Builder beállításai " -COM_SH404SEF_CB_USE_USER_PSEUDO="A felhasználónév beszúrása" -COM_SH404SEF_CONF_TAB_ADVANCED="Speciális" -COM_SH404SEF_CONF_TAB_BY_COMPONENT="Komponens" -COM_SH404SEF_CONF_TAB_MAIN="Fő" -COM_SH404SEF_CONF_TAB_PLUGINS="Beépülő modulok" -COM_SH404SEF_DEFAULT_MENU_ITEM_NAME="Alapértelmezett menücím" -COM_SH404SEF_DO_NOT_INSERT_LANGUAGE_CODE="Nincs kódbeszúrás" -COM_SH404SEF_DO_NOT_OVERRIDE_SEF_EXT="Nincs SEF kiterjesztés felülbírálás" -COM_SH404SEF_OVERRIDE_SEF_EXT="A saját SEF kiterjesztés hatálytalanítása" -COM_SH404SEF_DO_NOT_TRANSLATE_URL="Nincs lefordítás" -COM_SH404SEF_ENCODE_URL="URL kódolása" -COM_SH404SEF_FB_INSERT_CATEGORY_ID="Kategória-azonosító beszúrása" -COM_SH404SEF_FB_INSERT_CATEGORY_NAME="Kategórianév beszúrása" -COM_SH404SEF_FB_INSERT_MESSAGE_ID="A hozzászólás azonosítójának beszúrása" -COM_SH404SEF_FB_INSERT_MESSAGE_SUBJECT="A hozzászólás tárgyának beszúrása" -COM_SH404SEF_FB_INSERT_NAME="A Kunena név beszúrása" -COM_SH404SEF_FB_NAME="A Kunena alapértelmezett neve" -COM_SH404SEF_FB_TITLE="Kunena beállításai " -COM_SH404SEF_FILTER="Szűrő" -COM_SH404SEF_FORCE_NON_SEF_HTTPS="HTTPS esetén a nem SEF használata" -COM_SH404SEF_GUESS_HOMEPAGE_ITEMID="Az elemazonosító kitalálása a címlapon" -COM_SH404SEF_IJOOMLA_MAG_NAME="Alapértelmezett magazin neve" -COM_SH404SEF_IJOOMLA_MAG_TITLE="iJoomla Magazine beállításai" -COM_SH404SEF_INSERT_GLOBAL_ITEMID_IF_NONE="A menü-elemazonosító beszúrása, ha nincs" -COM_SH404SEF_INSERT_IJOOMLA_MAG_ARTICLE_ID="Cikkazonosító beszúrása az URL-be" -COM_SH404SEF_INSERT_IJOOMLA_MAG_ISSUE_ID="A szám azonosítójának beszúrása az URL-be" -COM_SH404SEF_INSERT_IJOOMLA_MAG_MAGAZINE_ID="A magazin azonosítójának beszúrása az URL-be" -COM_SH404SEF_INSERT_IJOOMLA_MAG_NAME="A magazin nevének beszúrása az URL-be" -COM_SH404SEF_INSERT_LANGUAGE_CODE="A nyelvkód beszúrása az URL-be" -COM_SH404SEF_INSERT_NUMERICAL_ID="Numerikus azonosító beszúrása az URL-be" -COM_SH404SEF_INSERT_NUMERICAL_ID_ALL_CAT="Minden kategória" -COM_SH404SEF_INSERT_NUMERICAL_ID_CAT_LIST="Mely kategóriákra alkalmazandó" -COM_SH404SEF_INSERT_NUMERICAL_ID_TITLE="Egyedi AZ" -COM_SH404SEF_INSERT_PRODUCT_ID="A termékazonosító beszúrása az URL-be" -COM_SH404SEF_INSERT_TITLE_IF_NO_ITEMID="A menücím beszúrása, ha nincs elemazonosító" -COM_SH404SEF_ITEMID_TITLE="Elemazonosító-kezelés" -COM_SH404SEF_LETTERMAN_DEFAULT_ITEMID="A Letterman oldal alapértelmezett elemazonosítója" -COM_SH404SEF_LETTERMAN_TITLE="Letterman beállításai " -COM_SH404SEF_LIVE_SECURE_SITE="SSL biztonságos URL" -COM_SH404SEF_LOG_404_ERRORS="404-es hibák naplózása" -COM_SH404SEF_MAX_URL_IN_CACHE="A gyorsítótár mérete" -COM_SH404SEF_REDIR_404="404" -COM_SH404SEF_REDIR_CUSTOM="Egyéni" -COM_SH404SEF_REDIR_SEF="SEF" -COM_SH404SEF_REDIR_TOTAL="Összes" -COM_SH404SEF_REDIRECT_JOOMLA_SEF_TO_SEF="301-es átirányítás a JOOMLA SEF-ről az sh404SEF-re" -COM_SH404SEF_REDIRECT_NON_SEF_TO_SEF="301 átirányítás nem keresőbarát URL-ről keresőbarátra" -COM_SH404SEF_REPLACEMENTS="Karaktercserék listája" -COM_SH404SEF_SHOP_NAME="Alapértelmezett üzletnév" -COM_SH404SEF_TRANSLATE_URL="Az URL lefordítása" -COM_SH404SEF_TRANSLATION_TITLE="Fordítás kezelése" -COM_SH404SEF_USE_URL_CACHE="Az URL gyorsítótárazás aktiválása" -COM_SH404SEF_VM_ADDITIONAL_TEXT="Kiegészítő szöveg" -COM_SH404SEF_VM_DO_NOT_SHOW_CATEGORIES="Nincs" -COM_SH404SEF_VM_INSERT_CATEGORIES="Beszúrandó kategóriák" -COM_SH404SEF_VM_INSERT_CATEGORY_ID="A kategóriaazonosító beszúrása az URL-ben" -COM_SH404SEF_VM_INSERT_FLYPAGE="Terméklap nevének beszúrása" -COM_SH404SEF_VM_INSERT_MANUFACTURER_ID="Gyártó azonosítójának beszúrása" -COM_SH404SEF_VM_INSERT_MANUFACTURER_NAME="A gyártó nevének beszúrása az URL-be" -COM_SH404SEF_VM_INSERT_SHOP_NAME="Az üzlet nevének beszúrása az URL-be" -COM_SH404SEF_VM_SHOW_ALL_CATEGORIES="Az összes beágyazott kategória" -COM_SH404SEF_VM_SHOW_LAST_CATEGORY="Csak az utolsó" -COM_SH404SEF_VM_TITLE="VirtueMart beállításai" -COM_SH404SEF_VM_USE_PRODUCT_SKU="A termék cikkszámának használata névként" -COM_SH404SEF_SHOW0="Keresőbarát URL-ek" -COM_SH404SEF_SHOW1="404 napló" -COM_SH404SEF_SHOW2="Egyéni átirányítások" -COM_SH404SEF_SKIP="kihagyás" -COM_SH404SEF_SORTBY="Rendezési mód:" -COM_SH404SEF_STRANGE="Valami különös történt. Ennek nem szabadott volna előfordulnia
                  " -COM_SH404SEF_STRIP_CHAR="Eltávolítandó karakterek" -COM_SH404SEF_SUCCESSPURGE="A rekordok kiürítése sikeres" -COM_SH404SEF_SUFFIX="Fájl utótag" -COM_SH404SEF_SUPPORT="Támogató
                  webhely" -COM_SH404SEF_SUPPORTDESC="Kapcsolódás az sh404SEF webhelyéhez (új ablakban)" -COM_SH404SEF_TITLE_ADV="Speciális komponens beállítások" -COM_SH404SEF_TITLE_BASIC="Alapbeállítások" -COM_SH404SEF_TITLE_CONFIG="A sh404SEF konfigurációs fájl" -COM_SH404SEF_TITLE_MANAGER="sh404SEF URL-kezelő" -COM_SH404SEF_TITLE_PURGE="sh404SEF adatbázis kiürítése" -COM_SH404SEF_TITLE_SUPPORT="sh404SEF támogatás" -COM_SH404SEF_TT_ADDFILE="Üres URL után teendő fájlnév / ha egy fájl sem létezik. A weblapodat indexelő robotok esetén hasznos, melyek egy bizonyos fájlt keresnek azon a helyen, viszont 404-es hibát ad vissza, mert nincs ott." -COM_SH404SEF_TT_ADV4="Speciális beállítások: " -COM_SH404SEF_TT_ENABLED="A Nem választása esetén a Joomla alapértelmezett keresőbarát funkcióját fogja használni a rendszer" -COM_SH404SEF_TT_FRIENDTRIM_CHAR="Az URL-ben lévő levágandó karakterek, | szimbólummal elválasztva. Figyelem: ha megváltoztatod ezt az alapértelmezett értéket, legyél biztos abban, hogy nem hagyod üresen. Legalább egy szóközt használj, mivel egy Joomla hiba miatt ezt nem lehet üresen hagyni." -COM_SH404SEF_TT_LOWER="Az URL-ben lévő összes karaktert kisbetűssé alakítja" -COM_SH404SEF_TT_PAGEREP_CHAR="Az oldalszámokat az URL többi részétől történő elválasztásra használandó karakter" -COM_SH404SEF_TT_PAGETEXT="Több oldal URL-jéhez hozzáfűzendő szöveg. A %s használatával szúrhatod be az oldalszámot, alapértelmezésként a végére kerül. Ha meghatározol egy előtagot, akkor hozzáfűzi ennek a karakterláncnak a végéhez." -COM_SH404SEF_TT_REPLACE_CHAR="Az URL-ben előforduló ismeretlen karaktereket behelyettesítő karakter" -COM_SH404SEF_TT_ACTIVATE_IJOOMLA_MAG="Az Igen választása esetén a kiadás paramétere ha továbbításra kerül a com_content komponensnek, akkor az iJoomla magazin kiadás azonosítójaként kerül értelmezésre." -COM_SH404SEF_TT_ADV_INSERT_ISO="Mindegyik telepített komponenshez, és ha a webhely többnyelvű, válaszd ki, hogy be kell-e szúrni a célnyelv ISO-kódját a keresőbarát URL-be. Például : www.weblapom.hu/fr/bemutatkozas.html. Az fr jelentésse francia. Ez a kód nem kerül beszúrásra az alapértelmezett nyelv URL-jébe." -COM_SH404SEF_TT_ADV_MANAGE_URL="Mindegyik telepített komponens esetén:
                  az alapértelmezett kezelő használata
                  feldolgozás normál módon, ha van SEF Advanced kiterjesztés, akkor az kerül felhasználásra helyette.
                  nincs gyorsítótárazás
                  nincs tárolás az adatbázisban, és régi stílusú keresőbarát URL-ek létrehozása
                  kihagyás
                  nincs keresőbarát URL-készítés ehhez a komponenshez
                  " -COM_SH404SEF_TT_ADV_OVERRIDE_SEF="Egyes komponensekhez adnak ki SEF kiterjesztésfájlt (sef_ext), ami használható az OpenSEF-hez vagy a SEF Advance-hoz. Az sh404SEF fel tudja őket használni. Ha ennek a paraméternek A saját SEF kiterjesztés hatálytalanítása a beállítása, akkor az then sh404SEF a saját kiterjesztését fogja felhasználni (ha van hozzá!), mint a komponenshez kiadottat. A Nincs SEF kiterjesztés felülbírálás választása esetén a komponenshez adott SEF kiterjesztés kerül felhasználásra." -COM_SH404SEF_TT_ADV_TRANSLATE_URL="Válaszd ki mindegyik telepített komponens számára, hogy le kell-e fordítani az URL-t. Nem érvényes, ha a webhely egynyelvű." -COM_SH404SEF_TT_ALWAYS_INSERT_ITEMID="Az Igen választása esetén a nem keresőbarát elemazonosító (vagy a jelenlegi menüpont elemazonosítója, ha egyik sincs megadva a nem keresőbarát URL-ben) hozzáfűzésre kerül a keresőbarát URL-hez. Ezt kell használni A menücím beszúrása minden alkalommal paraméter helyett, ha több azonos című menüpontod van (például ha van egy a főmenüben, egy pedig a felső menüben)" -COM_SH404SEF_TT_ALWAYS_INSERT_MENU_TITLE="Az igen választása esetén az elemazonosítónak megfelelő menüpont címe kerül beszúrásra a nem keresőbarát URL-be, vagy ha nincs megadva egy elemazonosító sem, a jelenlegi menüpont címe beszúrásra kerül a keresőbarát URL-be." -COM_SH404SEF_TT_CB_INSERT_NAME="Az Igen választása esetén a Community Builder főoldalához vezető menüpont címe hozzáfűzésra kerül az összes CB keresőbarát URL-hez" -COM_SH404SEF_TT_CB_INSERT_USER_ID="Az Igen választása esetén a felhasználó azonosítója kerül hozzáfűzésra a nevéhez, ha az előző lehetőséget is Igenre állítottad, csak abban az esetben, ha két felhasználónak ugyanaz a neve." -COM_SH404SEF_TT_CB_INSERT_USER_NAME="Az Igen választása esetén a felhasználónév beszúrásra kerül a keresőbarát URL-ekbe. FIGYELMEZTETÉS: ez az adatbázis méretének jelentős megnövekedéséhez vezethet, és lelassíthatja a webhelyet, ha sok a regisztrált felhasználó. A Nem választása esetén a felhasználó azonosítója kerül helyette felhasználásra a hagyományos formátumban : ..../email-kuldese-a-felhasznalonak.html?user=245" -COM_SH404SEF_TT_CB_NAME="Az előző paraméter Igenre állításakor itt bírálhatja felül a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan marad, nem kerül lefordításra például." -COM_SH404SEF_TT_CB_USE_USER_PSEUDO="Az Igen választása esetén a felhasználónév kerül beszúrásra a keresőbarát URL-be a valódi név helyett, ha aktiváltad a fenti tulajdonságot." -COM_SH404SEF_TT_DEFAULT_MENU_ITEM_NAME="A fenti paraméter Igenre állításával itt felülbírálhatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan lesz, és nem kerül például lefordításra." -COM_SH404SEF_TT_ENCODE_URL="Az Igen választása esetén az URL kódolásra kerül, hogy kompatibilis legyen a nem latin karaktereket tartalmazó nyelvekkel. A kódolt URL ehhez hasonló lesz : weblapom.hu/%34%56%E8%67%12....." -COM_SH404SEF_TT_FB_INSERT_CATEGORY_ID="Az Igen választása esetén a kategória-azonosító hozzáfűzésre kerül a nevéhez, ha az előző lehetőségnél is az Igent választottad, csak ebben az esetben két kategóriának lesz ugyanaz a neve." -COM_SH404SEF_TT_FB_INSERT_CATEGORY_NAME="Az Igen választása esetén a kategórianév beszúrásra kerül az összes hozzászólás vagy kategória keresőbarát hivatkozásába" -COM_SH404SEF_TT_FB_INSERT_MESSAGE_ID="Az Igen választása esetén a hozzászólás azonosítószáma hozzáfűzésre kerül a tárgyhoz, ha az előző lehetőségnél is az Igent választottad, csak ebben az esetben két hozzászólásnak lesz ugyanaz a tárgya." -COM_SH404SEF_TT_FB_INSERT_MESSAGE_SUBJECT="Az Igen választása esetén minden egyes hozzászólás tárgya beszúrásra kerül a hozzászóláshoz vezető keresőbarát URL-be " -COM_SH404SEF_TT_FB_INSERT_NAME="Az Igen választása esetén a Kunena főoldalához vezető menüpont címe hozzáfűzésre kerül a Kunena összes keresőbarát URL-jéhez" -COM_SH404SEF_TT_FB_NAME="Az Igen választása esetén a Kunena neve (a Kunena menüpontban meghatározottak szerint) mindig hozzáfűzésre kerül a keresőbarát URL-hez." -COM_SH404SEF_TT_FORCE_NON_SEF_HTTPS="Az Igen választása esetén a nem keresőbarát URL kerül felhasználásra az SSL módba (HTTPS) történő váltáskor. Ez teszi lehetővé olyan megosztott SSL kiszolgálókkal a működést, melyek egyébként problémákat okoznának." -COM_SH404SEF_TT_GUESS_HOMEPAGE_ITEMID="Az Igen választása esetén, és csak a címlapon, a com_content URL-ek elemazonosítója eltávolításra kerül, és lecserélésre kerül az sh404SEF által kitaláltra. Ez akkor hasznos, amikor némely tartalmi elem látható a címlapon (blog nézetben például), és a webhely többi oldalán is." -COM_SH404SEF_TT_IJOOMLA_MAG_NAME="Ha az előző paraméternél az Igent választottad, akkor itt felülbírálhatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan marad, nem kerül lefordításra például" -COM_SH404SEF_TT_INSERT_GLOBAL_ITEMID_IF_NONE="Ha nincs megadva elemazonosító a nem keresőbarát URL-ben a keresőbaráttá alakítás előtt, te pedig ezt a lehetőséget igazra állítottad, akkor a jelenlegi menüpont elemazonosítója hozzáadásra kerül. Ez fogja biztosítani azt, hogy kattintáskor a hivatkozás ugyanazon az oldalon fog maradni (pl: ugyanazok a modulok láthatók)" -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ARTICLE_ID="Az Igen választása esetén a cikk azonosítója hozzáfűzésre kerül az URL-be beszúrt mindegyik cikkcímhez, mint itt :
                  enweblapom.hu/Joomla-magazine/56-Jo-cikk-cime.html" -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ISSUE_ID="Az Igen választása esetén a szám egyedi belső azonosítója hozzáfűzésra kerül mindegyik szám nevéhez, hogy biztosítsa egyediségét." -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_MAGAZINE_ID="Az Igen választása esetén a magazin azonosítója hozzáfűzésra kerül mindegyik magain nevéhez az URL-ben, mint ebben :
                  enweblapom.hu/4-Joomla-magazine/Jo-cikk-cim.html" -COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_NAME="Az igen választása esetén a magazin neve (a magazin menüpontjának címében meghatározottak alapján) mindig hozzáfűzésre kerül a keresőbarát URL-hez" -COM_SH404SEF_TT_INSERT_NUMERICAL_ID="Az Igen választása esetén egy numerikus azonosító kerül hozzáadásra az URL-hez, ami elősegíti az olyan szolgáltatásokba történő bevételt, mint a Google news. Az azonosító formátuma a következő : 2007041100000, ahol 20070411 a létrehozás dátuma, a 00000 pedig a tartalmi elem belső egyedi azonosítója. Végül is csak akkor kell megadnod a létrehozás dátumát, amikor a tartalmi elem közzétételre kész. Ügyelj arra, hogy utána már ne változtasd meg." -COM_SH404SEF_TT_INSERT_NUMERICAL_ID_CAT_LIST="A numerikus azonosító csak az ebben a listában található tartalmi elemek URL-jeibe kerül beszúrásra. A CTRL billentyű leütésével és lenyomva tartásával választhatsz ki több kategóriát a kategórianévre kattintással." -COM_SH404SEF_TT_INSERT_PRODUCT_ID="Az Igen választása esetén a termékazonosító hozzáfűzésre kerül a keresőbarát URL-ben a termék nevéhez
                  Például : enlapom.hu/3-az-en-nagyon-szep-termekem.html.
                  Ez akkor hasznos, ha nem akarod az összes kategórianevet beszúrni az URL-be, ugyanis különféle kategóriákban több terméknek ugyanaz lehet a neve. Ez nem a termék cikkszáma, hanem a belső termékazonosító, ami mindig egyedi." -COM_SH404SEF_TT_INSERT_TITLE_IF_NO_ITEMID="Ha nincs megadva elemazonosító a nem keresőbarát URL-ben a keresőbaráttá alakítás előtt, te pedig ezt a lehetőséget igazra állítottad, akkor a jelenlegi menüpont címe beszúrásra kerül a keresőbarát URL-be. Akkor állítsd ezt igazra, ha a fenti paramétert is igazra állítottad, ugyanis ez megakadályozza a -2, -3, -... hozzáfűzését a keresőbarát URL-hez, ha valamelyik cikket több helyről nézik." -COM_SH404SEF_TT_LETTERMAN_DEFAULT_ITEMID="Írd be a Letterman hivatkozásaiba beszúrandó elemazonosítót (lemondás, üzenetek megerősítése, ..." -COM_SH404SEF_TT_LIVE_SECURE_SITE="Állítsd ezt SSL módban a webhely teljes alap URL-jére.
                  Csak https hozzáférés használata esetén kell. Ha nem adod meg, akkor a httpS://normalwebhelyURL lesz az alapértelmezett
                  Kérjük, hogy a teljes URL-t írd be, záró perjel nélkül. Például : https://www.weblapom.hu vagy https://megosztottsslkiszolgalo.hu/fiokom." -COM_SH404SEF_TT_LOG_404_ERRORS="Az Igen választása esetén a 404-es hibák az adatbázisba kerülnek naplózásra. Ez segíthet a webhelyének hivatkozásaiban lévő hibák megkeresésében. A szükségesnél több adatbázishelyre van hozzá szükség, ezért a webhely alapos letesztelése után talán le is tilthatja." -COM_SH404SEF_TT_MAX_URL_IN_CACHE="Az URL gyorsítótárazás aktiválása esetén ez a paraméter állítja be a legnagyobb méretet. Írd be a gyorsítótárban tárolható URL-ek számát (további URL kerül feldolgozásra, de nem kerül be a gyorsítótárba, ezért a betöltés ideje hosszabb lesz). Általánosságban szólva, mindegyik URL körülbelül 200 bájtot tesz ki (100 a keresőbarát URL, és 100 a nem keresőbarát URL). Tehát, például 5000 URL kb. 1 MB memóriát fog felhasználni." -COM_SH404SEF_TT_REDIRECT_JOOMLA_SEF_TO_SEF="Az Igen választása esetén a hagyományos JOOMLA SEF URL-ek az sh404SEF megfelelőikre kerülnek 301-es átirányításra, ha megtalálhatóak az adatbázisban. Ha nincs, akkor röptében létrehozásra kerülnek, ha nincs valamilyen POST adat, amikor is nem történik semmi. Figyelem: ez a legtöbb esetben működik, de néhány Joomla SEF URL-t rosszul irányít át. Hagyd kikapcsolva ha lehetséges." -COM_SH404SEF_TT_REDIRECT_NON_SEF_TO_SEF="Az Igen választása esetén az adatbázisban már megtalálható nem keresőbarát URL egy 301 - Végleg áthelyezve átirányítással kerül átirányításra a keresőbarát változatra. Ha a keresőbarát URL nem létezik, akkor létrehozásra kerül, kivéve, ha van néhány továbbított POST adat az oldal kérésében." -COM_SH404SEF_TT_REPLACEMENTS="Az URL-ben nem elfogadott karakterek, mint a nem-latin vagy ékezetes betűk, lecserélhetők e behelyettesítő táblázat alapján.
                  A behelyettesítési szabály formátuma xxx | yyy. Az xxx a lecserélendő karakter, az yyy pedig az új karakter.
                  Sok ilyen vesszővel (,) elválasztott szabály lehet. A régi és az új karakter között használd a | karaktert.
                  Az xxx vagy az yyy több karakter is lehet, mint például Ś|oe " -COM_SH404SEF_TT_SHOP_NAME="A fenti paraméter Igenre állításával itt felülbírálhatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan lesz, és nem kerül lefordításra például." -COM_SH404SEF_TT_TRANSLATE_URL="Ha aktiválod, és a webhely többnyelvű, akkor a keresőbarát URL elemei a Joomfish döntése alapján lefordításra kerülnek a látogató nyelvére. Ha nem aktiválod, akkor az URL mindig a webhely alapértelmezett nyelvén lesz. Nem kerül felhasználásra, ha a webhely nem többnyelvű." -COM_SH404SEF_TT_USE_URL_CACHE="Aktiválás esetén a keresőbarát URL a memóriában lévő gyorsítótárba kerül beírásra, ami jelentősen meg fogja növelni az oldal betöltődésének idejét. Ez azonban fel fogja használni a memóriát!" -COM_SH404SEF_TT_VM_ADDITIONAL_TEXT="Az Igen választása esetén kiegészítő szöveg kerül hozzáfűzésre a tallózandó kategóriák URL-jeihez. Például : ..../kategoria-A/Az-osszes-termek-megtekintse.html VS ..../kategoria-A/ ." -COM_SH404SEF_TT_VM_INSERT_CATEGORIES="A Nincs választása esetén egy kategória sem kerül beszúrásra a megtekintendő termékhez vezető URL-be, például :
                  enlapom.hu/joomla-cms.html
                  A Csak az utolsó választása esetén annak a kategóriának a neve kerül beszúrásra a keresőbarát URL-be, amelyikbe a termék tartozik, például :
                  enlapom.hu/joomla/joomla-cms.html
                  Az összes beágyazott kategória választása esetén az összes olyan kategóriának a neve hozzáadásra kerül, amelyikbe a termék tartozik, például :
                  enlapom.hu/szoftver/cms/joomla/joomla-cms.html" -COM_SH404SEF_TT_VM_INSERT_CATEGORY_ID="Az Igen választása esetén a kategóriaazonosító hozzáfűzésre kerül a termékhez vezető URL-ben a kategórianév elejéhez, mint itt :
                  enlapom.hu/1-szoftver/4-cms/1-joomla/joomla-cms.html" -COM_SH404SEF_TT_VM_INSERT_FLYPAGE="Az Igen választása esetén a terméklap neve beszúrásra kerül a termékadatokhoz vezető URL-be. Letilthatod, ha csak egy terméklapot használsz." -COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_ID="Az Igen választása esetén a gyártó azonosítója hozzáfűzésre kerül a keresőbarát URL-ben a gyártó nevéhez az elején
                  Például : enlapom.hu/6-gyarto-neve/3-az-en-nagyon-szep-termekem.html." -COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_NAME="Az Igen választása esetén, ha meg van adva a gyártó neve, hozzáfűzésre kerül a termékre mutató keresőbarát URL-hez.
                  Például : webhelyem.hu/gyarto-neve/termek-neve.html" -COM_SH404SEF_TT_VM_INSERT_SHOP_NAME="Az Igen választása esetén az üzlet neve (az üzlet menüpontjának címében meghatározottak alapján) mindig hozzáfűzésre kerül a keresőbarát URL elejéhez" -COM_SH404SEF_TT_VM_USE_PRODUCT_SKU="Az Igen választása esetén a cikkszám, az általad minden termékhez beírt termékkód kerül felhasználásra a termék teljes neve helyett." -COM_SH404SEF_TT_STRIP_CHAR="Az URL-ből eltávolítandó karakterek, | szimbólummal elválasztva" -COM_SH404SEF_TT_SUFFIX="A 'fájlok' esetén használandó kiterjesztés. Hagyd üresen, ha le akarod tiltani. Gyakori bejegyzés a 'html'." -COM_SH404SEF_TT_USE_ALIAS="A Cím aliasneve választása esetén a cím aliasneve kerül felhasználásra az URL-ben a cím helyett" -COM_SH404SEF_UNWRITEABLE=" írásvédett" -COM_SH404SEF_UPLOAD_OK="Sikerült a fájl feltöltése" -COM_SH404SEF_URLEXIST="Ez az URL már megtalálható az adatbázisban!" -COM_SH404SEF_USE_ALIAS="Cím aliasnevének használata" -COM_SH404SEF_USE_DEFAULT="(alapértelmezett kezelő használata)" -COM_SH404SEF_USING_DEFAULT=" Alapértelmezett értékek használata" -COM_SH404SEF_VIEW404="404 napló
                  megtekintése/módosítása" -COM_SH404SEF_VIEW404DESC="A 404 napló megtekintése/módosítása" -COM_SH404SEF_VIEWCUSTOM="Egyéni átirányítások
                  megtekintése/módosítása" -COM_SH404SEF_VIEWCUSTOMDESC="Az egyéni átirányítások megtekintése/módosítása" -COM_SH404SEF_VIEWMODE="NézetMód:" -COM_SH404SEF_VIEWURL="Keresőbarát URL-ek
                  megtekintése/szerkesztése" -COM_SH404SEF_VIEWURLDESC="A keresőbarát URL-ek megtekintése/szerkesztése" -COM_SH404SEF_WARNDELETE="FIGYELEM! Most fogsz törölni " -COM_SH404SEF_WRITE_ERROR="A konfigurációs fájl írása közben hiba történt" -COM_SH404SEF_WRITE_FAILED="A media könyvtárba feltöltött fájl nem írható" -COM_SH404SEF_WRITEABLE=" írható" -COM_SH404SEF_DOCMAN_TITLE="DOCMan beállításai" -COM_SH404SEF_DOCMAN_INSERT_NAME="A DOCMan nevének beszúrása" -COM_SH404SEF_TT_DOCMAN_INSERT_NAME="Az Igen választása esetén a DOCMan főoldalához vezető menüpont címe hozzáfűzésre kerül valamennyi DOCMan keresőbarát URL-hez" -COM_SH404SEF_DOCMAN_NAME="Alapértelmezett DOCMan név" -COM_SH404SEF_TT_DOCMAN_NAME="Ha az előző paraméternél az Igent választottad, akkor itt hatálytalaníthatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg állandó lesz, és nem kerül például lefordításra." -COM_SH404SEF_DOCMAN_INSERT_DOC_ID="Dokumentum-azonosító beszúrása" -COM_SH404SEF_TT_DOCMAN_INSERT_DOC_ID="Az Igen választása esetén a dokumentum-azonosító hozzáfűzésre kerül a dokumentum nevéhez, amire az azonos nevű dokumentumok esetén van szükség." -COM_SH404SEF_DOCMAN_INSERT_DOC_NAME="A dokumentum nevének beszúrása" -COM_SH404SEF_TT_DOCMAN_INSERT_DOC_NAME="Az Igen választása esetén a dokumentum neve minden olyan keresőbarát URL-be beszúrásra kerül, ami a dokumentumon végzendő művelethez vezet" -COM_SH404SEF_MYBLOG_TITLE="MyBlog beállításai" -COM_SH404SEF_MYBLOG_INSERT_NAME="A MyBlog nevének beszúrása" -COM_SH404SEF_TT_MYBLOG_INSERT_NAME="Az Igen választása esetén a MyBlog főldalához vezető menüpont címe hozzáfűzésre kerül az összes MyBlog keresőbarát URL-hez" -COM_SH404SEF_MYBLOG_NAME="Alapértelmezett Myblog név" -COM_SH404SEF_TT_MYBLOG_NAME="Ha az előző paraméternél az Igent választottad, akkor itt hatálytalaníthatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg állandó lesz, és nem kerül például lefordításra." -COM_SH404SEF_MYBLOG_INSERT_POST_ID="A bejegyzés azonosítójának beszúrása" -COM_SH404SEF_TT_MYBLOG_INSERT_POST_ID="Az Igen választása esetén a belső hozzászólás-azoosító hozzáfűzésre kerül a hozzászólás címéhez, amire akkor van szükség, ha több bejegyzésnek azonos a címe." -COM_SH404SEF_MYBLOG_INSERT_TAG_ID="A címkeazonosító beszúrása" -COM_SH404SEF_TT_MYBLOG_INSERT_TAG_ID="Az Igen választása esetén a belső címkeazonosító hozzáfűzésre kerül a címke nevéhez, amire több azonos címke esetén, vagy másik kategórianévvel történő ütközés van szükség." -COM_SH404SEF_MYBLOG_INSERT_BLOGGER_ID="A blogger azonosítójának beszúrása" -COM_SH404SEF_TT_MYBLOG_INSERT_BLOGGER_ID="Az Igen választása esetén a belső bloggerazonosító hozzáfűzésre kerül a blogger nevéhez, amire több azonos nevű blogger esetén van szükség." -COM_SH404SEF_RW_MODE_NORMAL=".htaccess fájllal (mod_rewrite)" -COM_SH404SEF_RW_MODE_INDEXPHP=".htaccess fájl nélkül (index.php)" -COM_SH404SEF_RW_MODE_INDEXPHP2=".htaccess fájl nélkül (index.php?)" -COM_SH404SEF_SELECT_REWRITE_MODE="Átírási módszer" -COM_SH404SEF_TT_SELECT_REWRITE_MODE="Válaszd ki az sh404SEF átírási módszerét.
                  .htaccess fájllal (mod_rewrite)
                  Alapértelmezett mód : kell lennie a kiszolgáló beállításaival megegyező, megfelelően konfigurált .htacces fájlnak
                  .htaccess (index.php) fájl nélkül
                  KÍSÉRLETI :Nincs szükség .htaccess fájlra. Ez a módszer az Apache kiszolgálók PathInfo funkcióját használja. Az URL-ek elején hozzáadásra kerül egy /index.php/ bit. Nem lehetetlen, hogy az IIS kiszolgálók is elfogadják ezeket az URL-eket
                  .htaccess fájl (index.php?) nélkül
                  KÍSÉRLETI :Nincs szükség .htaccess fájlra. Ez a módszer az előzővel azonos, azzal a kivétellel, hogy az /index.php?/ kerül felhasználásra az /index.php/ helyett. Ismételten, az IIS kiszolgálók elfogadhatják ezeket az URL-eket
                  " -COM_SH404SEF_RECORD_DUPLICATES="Dupla URL-ek rögzítése" -COM_SH404SEF_TT_RECORD_DUPLICATES="Az Igen választása esetén az sh404SEF rögzíteni fog minden olyan nem keresőbarát URL-t az adatbázisban, melyek ugyanazt a keresőbarát URL-t eredményezik. Ez teszi lehetővé az előnyben részesített kiválasztását, a Dupla URL-ek kezelése funkcióval a keresőbarát URL megjeenítési listában." -COM_SH404SEF_META_TITLE="Cím kódelem" -COM_SH404SEF_TT_META_TITLE="Írd be a kiválasztott URL META title kódelemébe beszúrandó szöveget." -COM_SH404SEF_META_DESC="Leírás kódelem" -COM_SH404SEF_TT_META_DESC="Írd be a kiválasztott URL META description kódelemébe beszúrandó szöveget." -COM_SH404SEF_META_KEYWORDS="Kulcsszavak kódelem" -COM_SH404SEF_TT_META_KEYWORDS="Írd be a kiválasztott URL META keywords kódelembe beszúrandó szöveget. A szavakat vagy szócsoportokat vesszővel válassza el." -COM_SH404SEF_META_ROBOTS="Robots kódelem" -COM_SH404SEF_TT_META_ROBOTS="Írd be a kiválasztott URL META Robots kódelemébe beszúrandó szöveget. Ez a kódelem mondja meg a keresőrendszereknek, hogy kell-e követniük a hivatkozásokat az aktuális oldalon, és mi a teendő ennek az oldalnak a tartalmával. A szokásos értékek :
                  INDEX,FOLLOW : indexeli az aktuális oldal tartalmát, és követi az oldalon található összes hivatkozást
                  INDEX,NO FOLLOW : indexeli az aktuális oldal tartalmát, de nem követi az oldalon talált hivatkozásokat
                  NO INDEX, NO FOLLOW : nem indexeli a jelenlegi oldal tartalmát, és nem követi az oldalon talált hivatkozásokat
                  " -COM_SH404SEF_META_LANG="Nyelv kódelem" -COM_SH404SEF_TT_META_LANG="Írd be a kiválasztott URL META http-equiv= Content-Language kódelembe beszúrandó szöveget. " -COM_SH404SEF_CONF_TAB_META="Meta/SEO" -COM_SH404SEF_CONF_META_DOC="Az sh404SEF-nek több beépülő modulja van némely komponens metaadatainak automatikus generálásához. Csak akkor készítsd el őket kézzel, ha az automatikusan készítettek nem felelnek meg neked!!
                  " -COM_SH404SEF_REMOVE_JOOMLA_GENERATOR="A Joomla Generator kódelem eltávolítása" -COM_SH404SEF_TT_REMOVE_JOOMLA_GENERATOR="Az Igen választása esetén a Generator = Joomla meta kódelem eltávolításra kerül mindazon oldalból" -COM_SH404SEF_PUT_H1_TAG="A h1 kódelemek beszúrása" -COM_SH404SEF_TT_PUT_H1_TAG="Az Igen választása esetén a tartalmi elemek hagyományos címeit a h1 kódelemekbe teszi. Normál esetben a Joomla a contentheading névvel kezdődő CSS-osztályba teszi őket." -COM_SH404SEF_META_MANAGEMENT_ACTIVATED="A metaadatok kezelésének aktiválása" -COM_SH404SEF_TT_META_MANAGEMENT_ACTIVATED="Az Igen választása esetén a Title, Description, Keywords, Robots és a Language META kódelemet az sh404SEF fogja kezelni. Egyéb esetben a Joomla és/vagy más komponen által produkált eredeti értékek érintetlenek maradnak. " -COM_SH404SEF_TITLE_META_MANAGEMENT="Metaadatok kezelése" -COM_SH404SEF_META_EDIT="A kódelemek módosítása" -COM_SH404SEF_META_ADD="Kódelemek hozzáadása" -COM_SH404SEF_META_TAGS="META kódelemek" -COM_SH404SEF_META_TAGS_DESC="Meta kódelemek létrehozása/módosítása" -COM_SH404SEF_PURGE_META_DESC="Meta kódelemek törlése" -COM_SH404SEF_PURGE_META="META törlése" -COM_SH404SEF_IMPORT_EXPORT_META="META importálása/exportálása" -COM_SH404SEF_NEW_META="Új META" -COM_SH404SEF_NEWURL_META="Nem keresőbarát URL" -COM_SH404SEF_TT_NEWURL_META="Írd be azt a nem keresőbarát URL-t, melynek meg akarod adni a metaadatait. FIGYELMEZTETÉS: az elején index.php legyen!" -COM_SH404SEF_BAD_META="Kérjük, ellenőrizd az adatokat: néhány bevitel nem érvényes." -COM_SH404SEF_META_TITLE_PURGE="Metaadatok törlése" -COM_SH404SEF_META_SUCCESS_PURGE="A metaadatok törölve" -COM_SH404SEF_IMPORT_META="Metaadatok importálása" -COM_SH404SEF_EXPORT_META="Metaadatok exportálása" -COM_SH404SEF_IMPORT_META_OK="Sikerült a metaadatok importálása" -COM_SH404SEF_SELECT_ONE_URL="Válassz ki egy (de csak egy) URL-t." -COM_SH404SEF_MANAGE_DUPLICATES="URL-kezelés : " -COM_SH404SEF_MANAGE_DUPLICATES_RANK="Rang" -COM_SH404SEF_MANAGE_DUPLICATES_BUTTON="Dupla URL" -COM_SH404SEF_MANAGE_MAKE_MAIN_URL="Fő URL" -COM_SH404SEF_BAD_DUPLICATES_DATA="Hiba : érvénytelen az URL adat" -COM_SH404SEF_BAD_DUPLICATES_NOTHING_TO_DO="Ez az URL már a fő URL" -COM_SH404SEF_MAKE_MAIN_URL_OK="A művelet sikeresen befejeződött" -COM_SH404SEF_MAKE_MAIN_URL_ERROR="Hiba történt, a művelet sikertelen" -COM_SH404SEF_CONTENT_TITLE="Tartalom beállításai" -COM_SH404SEF_INSERT_CONTENT_TABLE_NAME="A tartalomtáblázat nevének beszúrása" -COM_SH404SEF_TT_INSERT_CONTENT_TABLE_NAME="Az Igen választása esetén a cikkek táblázatához (szekció vagy kategória) vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL-hez. Ez teszi lehetővé a táblázat megjelenítésének elkülönítését a blogszerű megjelenítéstől." -COM_SH404SEF_CONTENT_TABLE_NAME="Táblázat alapértelmezett hivatkozásnevei" -COM_SH404SEF_TT_CONTENT_TABLE_NAME="Ha az előző paraméternél az Igent választotta, akkor itt hatálytalaníthatja a keresőbarát URL-be beszúrandó szöveget. Ez a szöveg állandó lesz, és nem kerül például lefordításra." -COM_SH404SEF_REDIRECT_WWW="301-es átirányítás www/nem-www" -COM_SH404SEF_TT_REDIRECT_WWW="Az Igen választása esetén az sh404SEF 301-es átirányítást hajt végre a webhely www nélküli elérése esetén, ha a webhely URL-je www-vel kezdődik, vagy a webhely elérése kezdő www-vel történik, holott a fő URL-ben nincs www. Ezzel megelőzheted a dupla tartalom miatt kapott büntetést, az Apache kiszolgáló beállításaitól függő néhány problémát, és néhány Joomla-problémát is (WYSYWIG szerkesztők)" -COM_SH404SEF_INSERT_PRODUCT_NAME="A terméknév beszúrása" -COM_SH404SEF_TT_INSERT_PRODUCT_NAME="Az Igen választása esetén a terméknév beszúrásra kerül az URL-be" -COM_SH404SEF_VM_USE_PRODUCT_SKU_124S="A cikkszám beszúrása" -COM_SH404SEF_TT_VM_USE_PRODUCT_SKU_124S="Az Igen választása esetén a cikkszám (a VirtueMartban SKU) beszúrásra kerül az URL-be." -COM_SH404SEF_DOCMAN_INSERT_CAT_ID="Kategória-azonosító beszúrása" -COM_SH404SEF_TT_DOCMAN_INSERT_CAT_ID="Az Igen választása esetén a kategória-azonosító hozzáfűzésre kerül a nevének elejéhez, ha az előző tulajdonságot is Igenre állítottad, két azonos nevű kategória esetén." -COM_SH404SEF_DOCMAN_INSERT_CATEGORIES="Kategórianév beszúrása" -COM_SH404SEF_TT_DOCMAN_INSERT_CATEGORIES="A Nincs választása esetén nem kerül a kategórianév beszúrásra az URL-be, mint :
                  weblapom.hu/joomla-cms.html
                  A Csak az utolsó választása esetén a kategórianév beszúrásra kerül a keresőbarát URL-be, mint :
                  weblapom.hu/joomla/joomla-cms.html
                  Az összes beágyazott kategória választása esetén valamennyi kategórianév hozzáadásra kerül, mint :
                  weblapom.hu/szoftverek/cms/joomla/joomla-cms.html" -COM_SH404SEF_FORCED_HOMEPAGE="Címlap URL-je" -COM_SH404SEF_TT_FORCED_HOMEPAGE="Ide írhatod be a kényszerített címlap URL-t. `Kezdőlap` használata esetén hasznos, általában egy index.html fájl, ami a http://www.weblapom.hu felkeresésekor látható. Ha így van, akkor írd be a következő URL-t: http://www.weblapom.hu/index.php (sorvégi / nélkül), vagyis a Joomla webhely a főmenü vagy az útvonal Címlap hivatkozására kattintáskor jelenik meg" -COM_SH404SEF_INSERT_CONTENT_BLOG_NAME="A blog nézet nevének beszúrása" -COM_SH404SEF_TT_INSERT_CONTENT_BLOG_NAME="Az Igen választása esetén a (szekció vagy kategória) cikkeinek blogjához vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez. Ez teszi lehetővé a táblázatos elrendezés megkülönböztetését a blog elrendezéstől." -COM_SH404SEF_CONTENT_BLOG_NAME="A blog nézet alapértelmezett neve" -COM_SH404SEF_TT_CONTENT_BLOG_NAME="Az előző paraméter Igenre állítása esetén itt hatálytalaníthatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan marad, és nem kerül lefordításra például." -COM_SH404SEF_MTREE_TITLE="Mosets Tree beállításai" -COM_SH404SEF_MTREE_INSERT_NAME="A Mosets Tree nevének beszúrása" -COM_SH404SEF_TT_MTREE_INSERT_NAME="Az Igen választása esetén a Mosets Treehez vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez." -COM_SH404SEF_MTREE_NAME="A Mosets Tree alapértelmezett neve" -COM_SH404SEF_MTREE_INSERT_LISTING_ID="Tétel azonosítószámának beszúrása" -COM_SH404SEF_TT_MTREE_INSERT_LISTING_ID="Az Igen választása esetén a tétel azonosítószáma hozzáfűzésre kerül a név elejéhez, de csak akkor, ha két tételnek ugyanaz a neve." -COM_SH404SEF_MTREE_PREPEND_LISTING_ID="Az azonosító hozzáfűzése a név elejéhez" -COM_SH404SEF_TT_MTREE_PREPEND_LISTING_ID="Az Igen választása esetén, ha a fenti tulajdonságot is Igenre állította, akkor az azonosító hozzáfűzésre kerül a tétel nevének elejéhez. A Nem választása esetén a végére kerül hozzáfűzésre." -COM_SH404SEF_MTREE_INSERT_LISTING_NAME="A tétel nevének beszúrása" -COM_SH404SEF_TT_MTREE_INSERT_LISTING_NAME="Az Igen választása esetén a tétel neve beszúrásra kerül a tétellel kapcsolatos művelethez vezető összes URL-be." -COM_SH404SEF_IJOOMLA_NEWSP_TITLE="iJoomla News Portal beállításai" -COM_SH404SEF_INSERT_IJOOMLA_NEWSP_NAME="Az iJoomla News Portal nevének beszúrása" -COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_NAME="Az Igen választása esetén az iJoomla News Portalhoz vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez." -COM_SH404SEF_IJOOMLA_NEWSP_NAME="Az iJoomla News Portal alapértelmezett neve" -COM_SH404SEF_INSERT_IJOOMLA_NEWSP_CAT_ID="A kategória-azonosító beszúrása" -COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_CAT_ID="Az Igen választása esetén a kategória-azonosító hozzáfűzésre kerül név elejéhez, de csak akkor, ha ugyanaz két tételnek a neve." -COM_SH404SEF_INSERT_IJOOMLA_NEWSP_SECTION_ID="A szekció-azonosító beszúrása" -COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_SECTION_ID="Az Igen választása esetén a szekcióazonosító hozzáfűzésre kerül név elejéhez, de csak akkor, ha ugyanaz két tételnek a neve." -COM_SH404SEF_REMO_TITLE="Remository beállításai" -COM_SH404SEF_REMO_INSERT_NAME="A Remository nevének beszúrása" -COM_SH404SEF_TT_REMO_INSERT_NAME="Az Igen választása esetén a Remositoryhoz vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez." -COM_SH404SEF_REMO_NAME="A Remository alapértelmezett neve" -COM_SH404SEF_CB_SHORT_USER_URL="A felhasználó profiljára mutató rövid URL" -COM_SH404SEF_TT_CB_SHORT_USER_URL="Az Igen választása esetén a felhasználó rövid URL-en keresztül tud hozzáférni a profiljához, mely hasonló a www.weblapom.hu/felhasznalonev URL-hez. E tulajdonság aktiválása előtt győződj meg róla, hogy ez nem okoz-e valamilyen ütközést a webhelyen lévő valamelyik URL-lel." -COM_SH404SEF_NEW_HOME_META="Címlap metaadatai" -COM_SH404SEF_CONF_ERASE_HOME_META="Valóban törölni akarod a címlap címét és meta kódelemeit?" -COM_SH404SEF_UPGRADE_TITLE="Termékfrissítés beállításai" -COM_SH404SEF_UPGRADE_KEEP_URL="Automatikusan generált URL-ek megőrzése" -COM_SH404SEF_TT_UPGRADE_KEEP_URL="Az Igen válaztása esetén az sh404SEf által generált keresőbarát URL tárolásra és megőrzésre kerül a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." -COM_SH404SEF_UPGRADE_KEEP_CUSTOM="Egyéni URL-ek megőrzése, aliases, shURLs" -COM_SH404SEF_TT_UPGRADE_KEEP_CUSTOM="Az Igen választása esetén az általad létrehozott egyéni keresőbarát URL tárolásra és megőrzésre kerül a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." -COM_SH404SEF_UPGRADE_KEEP_META="Cím és metaadatok megőrzése" -COM_SH404SEF_TT_UPGRADE_KEEP_META="Az Igen választása esetén az általad beírt egyéni Cím és meta kódelemek tárolásra és megőrzésre kerülnek a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." -COM_SH404SEF_UPGRADE_KEEP_MODULES="Modulparaméterek megőrzése" -COM_SH404SEF_TT_UPGRADE_KEEP_MODULES="Az Igen választása esetén a Joomfish és az shCustomtags modul jelenlegi közzétételi paraméterei, mint pozíció, sorrend, címek, stb. tárolásra és megőrzésre kerülnek a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." -COM_SH404SEF_IMPORT_OPEN_SEF="Átirányítások importálása az OpenSEF-ből" -COM_SH404SEF_IMPORT_ALL="Átirányítások importálása" -COM_SH404SEF_EXPORT_ALL="Átirányítások exportálása" -COM_SH404SEF_IMPORT_EXPORT_CUSTOM="Egyéni átirányítások importálása/exportálása" -COM_SH404SEF_DUPLICATE_NOT_ALLOWED="Ez az URL már létezik, pedig nem is engedélyezted a dupla URL-eket" -COM_SH404SEF_INSERT_CONTENT_MULTIPAGES_TITLE="Többoldalas cikkek intelligens címeinek aktiválása" -COM_SH404SEF_TT_INSERT_CONTENT_MULTIPAGES_TITLE="Az Igen választásakor többoldalas cikk esetén (melyeknek tartalomjegyzékük van), az sh404SEF a mospagebreak paranccsal beszúrt oldalcímeket fogja használni : {mospagebreak title=Következő_oldal_címe & heading=Előző_oldal_címe}, az oldalszám helyett
                  Például, a www.weblapom.hu/felhasznaloi-dokumentacio/Page-2.html címhez hasonló keresőbarát URL most lecserélésre kerül a www.weblapom.hu/felhasznaloi-dokumentacio/Getting-started-with-sh404SEF.html URL-re." -COM_SH404SEF_UPGRADE_KEEP_CONFIG="Beállítások megőrzése" -COM_SH404SEF_TT_UPGRADE_KEEP_CONFIG="Az Igen választásakor az összes beállítási paraméter tárolásra és megőrzésre kerül a komponens eltávolításakor. Így új verzió telepítése esetén mindig megmaradnak, és nincs szükség további műveletre." -COM_SH404SEF_CONF_TAB_SECURITY="Biztonság" -COM_SH404SEF_SECURITY_TITLE="Biztonsági beállítások" -COM_SH404SEF_HONEYPOT_TITLE="A Project Honey Pot konfigurálása" -COM_SH404SEF_CONF_HONEYPOT_DOC="A Project Honey Pot olyan kezdeményezés, mely a webhelyek spamrobotok elleni védekezésében nyújt segítséget. Van egy adatbázisa, melyben ellenőrzi, hogy a látogató IP címe nem ismert roboté-e. Ennek az adatbázisnak a használatához (ingyenes) hozzáférési kulcsra van szükség, melyet a projekt webhelyén szerezhetsz be
                  (Létre kell hoznod a fiókodat a hozzáférési kulcs kérése előtt - ez is ingyenes). Esetleg vedd fontolóra, hogy a webhelyeden elhelyezett csapdákkal segíted a spamrobotok beazonosítását." -COM_SH404SEF_ACTIVATE_SECURITY="A biztonsági funkciók aktiválása" -COM_SH404SEF_TT_ACTIVATE_SECURITY="Az Igen választásakor az sh404SEF néhány alapszintű ellenőrzést végez a webhelyeden kért URL-eken, hogy védelmet nyújtson a szokásos támadások ellen." -COM_SH404SEF_LOG_ATTACKS="Támadások naplózása" -COM_SH404SEF_TT_LOG_ATTACKS="Az Igen választásakor a beazonosított támadások szövegfájlban kerülnek naplózásra, a támadó IP címével és a kért oldallal.
                  Havonta egy naplófájl készül. Az /administrator/com_sh404sef/logs könyvtárban találhatók. FTP-vel le tudod őket tölteni, vagy egy Joomla segédeszközzel, mint a Joomla Explorer megtekintheted őket. Ezek tabulált szövegfájlok, tehát táblázatkezelő szoftverben könnyen meg tudod őket nyitni, valószínűleg így tudod a legkönnyebben megtekinteni." -COM_SH404SEF_CHECK_HONEY_POT="A Project Honey Pot használata" -COM_SH404SEF_TT_CHECK_HONEY_POT="Az Igen választásakor a látogatók IP címe ellenőrzésre kerül a Project Hoeny Pot adatbázisban a HTTP:BL szolgáltatásuk felhasználásával. A szolgáltatás ingyenes, viszont hozzáférési kulcsra van szükség a webhelyen." -COM_SH404SEF_HONEYPOT_KEY="Project Honey Pot hozzáférési kulcs" -COM_SH404SEF_TT_HONEYPOT_KEY="Ha kijelölted A Project Honey Pot használata beállítást, akkor be kell szerezned a P.H.P.-től a hozzáférési kulcsot. Ide írd be a kapott hozzáférési kulcsot. Ez egy 12 karakteres karakterlánc." -COM_SH404SEF_HONEYPOT_ENTRANCE_TEXT="Vagylagos szöveg" -COM_SH404SEF_TT_HONEYPOT_ENTRANCE_TEXT="Ha a Project Honey Pot gyanúsnak jelöli egy látogató IP címét, akkor a hozzáférés meg lesz tagadva a számára (403 hibakód).
                  Hamis megállapítás esetén azonban az ide beírt szöveget fogja látni a látogató, valamint egy olyan hivatkozást, amivel tényleg elérheti a weboldalt. Csak az emberi lények tudják elolvasni ezt a szöveget, és csak a számukra érthető.
                  Ez tetszés szerinti szöveg lehet." -COM_SH404SEF_SMELLYPOT_TEXT="A robotcsapda szövege" -COM_SH404SEF_TT_SMELLYPOT_TEXT="Ha a Project Honey Pot beazonosít egy spamrobotot, és megtagadja számára a hozzáférést, akkor az elutasító képernyő alján egy hivatkozás kerül beszúrásra, hogy a Project Honey Pot rögzíthesse a robot ténykedését. Egy üzenet is beszúrásra kerül, hogy a valódi emberi lények ne kattintsanak arra a hivatkozásra, ha hibás a megjelölésük. " -COM_SH404SEF_ONLY_NUM_VARS="Numerikus paraméterek" -COM_SH404SEF_TT_ONLY_NUM_VARS="Az ebben a listában lévő paraméternevek ellenőrzésre kerülnek, hogy valóban numerikusak-e : csak 0 és 9 közti számjegyek-e. Soronként egy paramétert írj be." -COM_SH404SEF_ONLY_ALPHA_NUM_VARS="Alfanumerikus paraméterek" -COM_SH404SEF_TT_ONLY_ALPHA_NUM_VARS="Az ebben a listában lévő paraméternevek ellenőrzésre kerülnek, hogy valóban alfanumerikusak-e : 0 és 9 közti számjegyek, ill. a és z közti betűk. Soronként egy paramétert írj be." -COM_SH404SEF_NO_PROTOCOL_VARS="Hiperhivatkozások ellenőrzése a paraméterekben" -COM_SH404SEF_TT_NO_PROTOCOL_VARS="Az ebben a listában lévő paraméternevek ellenőrzésre kerülnek, hogy nincs-e bennük http://, https://, ftp:// hiperhivatkozás" -COM_SH404SEF_IP_WHITE_LIST="IP fehérlista" -COM_SH404SEF_TT_IP_WHITE_LIST="Az ebben a listában lévő IP címekről érkező oldalkérések elfogadásra
                  kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy IP címet írj be.
                  A * használható karakterhelyettesítőként, mint példáuul : 192.168.0.*. Ez a 192.168.0.0 és 192.168.0.255 közti IP-ket foglalja magába." -COM_SH404SEF_IP_BLACK_LIST="IP feketelista" -COM_SH404SEF_TT_IP_BLACK_LIST="Az ebben a listában lévő IP címekről érkező oldalkérések elutasításra kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy IP címet írj be.
                  A * használható karakterhelyettesítőként, mint példáuul : 192.168.0.*. Ez a 192.168.0.0 és 192.168.0.255 közti IP-ket foglalja magába." -COM_SH404SEF_UAGENT_WHITE_LIST="Felhasználói ügynök fehérlista" -COM_SH404SEF_TT_UAGENT_WHITE_LIST="Az ebben a listában lévő felhasználói ügynök karakterlánccal történt kérések elfogadásra
                  kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy felhasználói ügynök karakterláncot írj be." -COM_SH404SEF_UAGENT_BLACK_LIST="Felhasználói ügynök feketelista" -COM_SH404SEF_TT_UAGENT_BLACK_LIST="Az ebben a listában lévő felhasználói ügynök karakterlánccal történt kérések elutasításra kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy felhasználói ügynök karakterláncot írj be." -COM_SH404SEF_MONTHS_TO_KEEP_LOGS="A biztonsági naplók megőrzésének időtartama (hónapok)" -COM_SH404SEF_TT_MONTHS_TO_KEEP_LOGS="Ha aktiválod a támadások naplózását, akkor itt adhatod meg, hogy hány hónapig kerüljenek megőrzésre ezek a naplófájlok. Ha például ez az érték 2, akkor ez azt jelenti, hogy a jelenlegi hónap, PLUSZ az előző havi naplófájlok kerülnek megőrzésre. A régebbi naplófájlok törlésre kerülnek." -COM_SH404SEF_ANTIFLOOD_TITLE="Anti-flood beállításai" -COM_SH404SEF_ACTIVATE_ANTIFLOOD="Az anti-flood aktiválása" -COM_SH404SEF_TT_ACTIVATE_ANTIFLOOD="Az Igen választásakor az sh404SEF ellenőrzi, hogy egy adott IP címnek nincs-e túl sok oldalkérése a webhelyeden. Sok, közvetlenül egymás utáni kérés esetén egy kalóz egyszerűen a túlterheléssel használhatatlanná teheti a webhelyet." -COM_SH404SEF_ANTIFLOOD_ONLY_ON_POST="Csak POST adatok (űrlapok) esetén" -COM_SH404SEF_TT_ANTIFLOOD_ONLY_ON_POST="Az Igen választásakor erre az ellenőrzésre csak akkor kerül sor, ha van néhány POST adat az oldalkérésben. Általában ez az eset áll fönn az űrlapoknál, vagyis az anti-flood ellenőrzést korlátozhatod csak az űrlapokra, ami megakadályozza a hozzászólásokat spammelő robotok ténykedését." -COM_SH404SEF_ANTIFLOOD_PERIOD="Anti-flood ellenőrzés" -COM_SH404SEF_TT_ANTIFLOOD_PERIOD="Időtartam (másodpercben), melynek letelte után az ugyanarról az IP címről érkező kérések száma ellenőrzésre kerül" -COM_SH404SEF_ANTIFLOOD_COUNT="A kérések száma" -COM_SH404SEF_TT_ANTIFLOOD_COUNT="A kérések száma, mely az oldalak blokkolását váltja ki a sértő IP cím esetén. Az Időtartam = 10 és a Kérések száma = 4 például blokkolni fogja a hozzáférést (403-as kód, és majdnem üres oldal visszaadásával), amint 10 másodpercnél kevesebb idő alatt fogadja egy adott IP címről a 4 kérést. Természetesen csak erről az IP címről érkező hozzáférés kerül blokkolásra, a többi látogatóé nem." -COM_SH404SEF_CONF_TAB_LANGUAGES="Nyelvek" -COM_SH404SEF_DEFAULT="Alapértelmezett" -COM_SH404SEF_YES="Igen" -COM_SH404SEF_NO="Nem" -COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_PER_LANG="Az Igen választásakor a nyelvi kód beszúrásra kerül ehhez a nyelvhez az URL-be. A Nem választásakor a nyelvi kód soha nem kerül beszúrásra. Az Alapértelmezett választásakor a webhely alapértelmezett nyelvét kivéve az összes nyelvhez beszúrásra kerül a nyelvi kód." -COM_SH404SEF_TT_TRANSLATE_URL_PER_LANG="Az Igen választásakor, és ha többnyelvű a webhelyed, akkor az URL lefordításra kerül az ilyen nyelvű URL-hez, a Joom!Fish beállításaival összhangban. A Nem választásakor az URL sohasem kerül lefordításra. Az Alapértelmezett választásakor is lefordításra kerülnek. Az egynyelvű webhelyekre nincs hatással." -COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_GEN="Az Igen választásakor nyelvi kód kerül beszúrásra az sh404SEF által létrehozott URL-be. Nyelvenkénti beállítása is lehet (lásd alább)." -COM_SH404SEF_TT_TRANSLATE_URL_GEN="Az Igen választásakor, és ha többnyelvű a webhelyed, akkor az URL lefordításra kerül a látogató nyelvére, a Joom!Fish beállításaival összhangban. Egyéb esetben az URL a webhely alapértelmezett nyelvén marad. Nyelvenkénti beállításod is lehet (lásd alább)." -COM_SH404SEF_ADV_COMP_DEFAULT_STRING="Alapértelmezett név" -COM_SH404SEF_TT_ADV_COMP_DEFAULT_STRING="Ha beírsz ide egy karakterláncot, akkor az kerül beszúrásra az adott komponens URL-jének elejére. Normál esetben nincs használatban, csak itt más keresőbarát komponensek régi URL-jeivel történő visszamenőleges kompatibilitás céljából." -COM_SH404SEF_TT_NAME_BY_COMP=".
                  Beírhatsz egy nevet, mely a menüpont neve helyett kerül felhasználásra. Ehhez válts át a Komponensek fülre. Ez a szöveg állandó lesz, és nem kerül például lefordításra." -COM_SH404SEF_STANDARD_ADMIN="Click here to switch to standard display (with only main parameters)" -COM_SH404SEF_ADVANCED_ADMIN="Kattints ide a kibővített nézetre történő átváltáshoz (az összes létező paraméterrel)" -COM_SH404SEF_MULTIPLE_H1_TO_H2="Több h1 módosítása h2-re" -COM_SH404SEF_TT_MULTIPLE_H1_TO_H2="Az Igen választásakor, és ha a h1 kódelem többször fordul elő egy oldalon, akkor átalakításra kerülnek h2 kódelemmé.
                  Ha csak egy h1 kódelem van egy oldalon, akkor változatlanul marad." -COM_SH404SEF_INSERT_NOFOLLOW_PDF_PRINT="A nofollow kódelem beszúrása a Nyomtatás és a PDF hivatkozásokba" -COM_SH404SEF_TT_INSERT_NOFOLLOW_PDF_PRINT="Az Igen választásakor a rel=nofollow attribútum hozzáadásra kerül a Joomla által létrehozott összes PDF és Nyomtatás hivatkozáshoz. Ez csökkenti a keresőmotorok által duplának vélt tartalmat." -COM_SH404SEF_INSERT_READMORE_PAGE_TITLE="A cím beszúrésa a Bővebben ... hivatkozásokba" -COM_SH404SEF_TT_INSERT_READMORE_PAGE_TITLE="Az Igen választásakor, és ha látható a Bővebben hivatkozás egy oldalon, akkor beszúrásra kerül a megfelelő tartalmi elem címe, ami növeli a hivatkozás súlyát a keresőmotorokban" -COM_SH404SEF_VM_USE_ITEMS_PER_PAGE="Using Items per page drop-down list" -COM_SH404SEF_TT_VM_USE_ITEMS_PER_PAGE="If set to Yes, URLs will be adjusted to allow for using drop-down lists to let user select the number of items per page. If you don’t use such drop-down lists, AND your URLs are already indexed by search engines, you can set it to NO to keep your existing URL. " -COM_SH404SEF_CHECK_POST_DATA="A mező adatok ellenőrzése (POST)" -COM_SH404SEF_TT_CHECK_POST_DATA="If set to Yes, data coming from input forms will be checked against passing config variables or similar threats. This may cause unneeded blockages if you have, for instance, a forum where users may discuss such things as Joomla programming or similar. They may then want to discuss the exact text strings we are looking for as a potential attack. You should then disable this feature if you experience unappropriate forbidden access" -COM_SH404SEF_SEC_STATS_TITLE="Biztonsági statisztika" -COM_SH404SEF_SEC_STATS_UPDATE="Kattints ide a számláló frissítéséhez" -COM_SH404SEF_TOTAL_ATTACKS="Blokkolt támadások" -COM_SH404SEF_TOTAL_CONFIG_VARS="mosConfig var az URL-ben" -COM_SH404SEF_TOTAL_BASE64="Base64 injektálás" -COM_SH404SEF_TOTAL_SCRIPTS="Szkript injektálás" -COM_SH404SEF_TOTAL_STANDARD_VARS="Érvénytelen változók" -COM_SH404SEF_TOTAL_IMG_TXT_CMD="távoli fájl beillesztés" -COM_SH404SEF_TOTAL_IP_DENIED="IP-cím megtagadva" -COM_SH404SEF_TOTAL_USER_AGENT_DENIED="Visszautasított felhasználói azonosító" -COM_SH404SEF_TOTAL_FLOODING="Túl sok kérés (flooding)" -COM_SH404SEF_TOTAL_PHP="A Project Honey Pot által visszautasítva" -COM_SH404SEF_TOTAL_PER_HOUR=" /óra" -COM_SH404SEF_SEC_DEACTIVATED="A biztonsági funkciók nincsenek használatban" -COM_SH404SEF_TOTAL_PHP_USER_CLICKED="PHP, de felhasználói kattintás" -COM_SH404SEF_PREPEND_TO_PAGE_TITLE="Beillesztés az oldalcím elé" -COM_SH404SEF_TT_PREPEND_TO_PAGE_TITLE="Any text entered her will be prepended to all page title tags." -COM_SH404SEF_APPEND_TO_PAGE_TITLE="Hozzáadás az oldalcímhez" -COM_SH404SEF_TT_APPEND_TO_PAGE_TITLE="Any text entered here will be appended to all page title tags." -COM_SH404SEF_DEBUG_TO_LOG_FILE="Debug információk naplófájlba mentése" -COM_SH404SEF_TT_DEBUG_TO_LOG_FILE="If set to Yes, sh404SEF will log to a text file many internal information. This data will help us troubleshoot problems you may be facing using sh404SEF.
                  Warning: this file can quickly become fairly big. Also, this function will certainly slow down your site. Be sure to turn it on only when required. For this reason, it will de-activate automaticaly one hour after being started. Just turn it off then on again to activate it again. The log file is located in /administrator/components/com_sh404sef/logs/ " -COM_SH404SEF_ALIAS_LIST="Álnév lista" -COM_SH404SEF_TT_ALIAS_LIST="Enter here a list of alias for this URL. Put only one alias per line, like :
                  old-url.html
                  or
                  my-other-old-url.php?var=12&test=15
                  sh404SEF will do a 301 redirect to the current SEF URL if any one of those aliases is requested." -COM_SH404SEF_HOME_ALIAS="Címlap álnév" -COM_SH404SEF_TT_HOME_PAGE_ALIAS_LIST="Enter here a list of alias for your home page. Put only one alias per line, like :
                  old-url.html
                  or
                  my-other-old-url.php?var=12&test=15
                  sh404SEF will do a 301 redirect to your home page if any one of those aliases is requested" -COM_SH404SEF_INSERT_OUTBOUND_LINKS_IMAGE="Insert outbound links symbol" -COM_SH404SEF_TT_INSERT_OUTBOUND_LINKS_IMAGE="If set to Yes, a visual symbol will be inserted next to every link targeting another website, to allow easier identification of these links." -COM_SH404SEF_OUTBOUND_LINKS_IMAGE_BLACK="Fekete szimbólum használata" -COM_SH404SEF_OUTBOUND_LINKS_IMAGE_WHITE="Fehér szimbólum használata" -COM_SH404SEF_OUTBOUND_LINKS_IMAGE="Outbound links color symbol" -COM_SH404SEF_TT_OUTBOUND_LINKS_IMAGE="Both images have a transparent background. Select the black one if your site has a white background. Select the white one if your site has a dark background. These images are /administrator/components/com_sef/images/external-white.png and external-black.png. They are 15x16 pixels in size." -COM_SH404SEF_DEFAULT_PARAMS_TITLE="Nagyon részletes" -COM_SH404SEF_DEFAULT_PARAMS_WARNING="FIGYELEM: ezen értékeket csak akkor változtasd meg, ha tényleg tudod mit csinálsz! Ha valamit elrontasz, valószínűleg nehéz lesz rendbehozni." -COM_SH404SEF_USE_CAT_ALIAS="Kategória álnév használata" -COM_SH404SEF_TT_USE_CAT_ALIAS="If set to Yes, sh404sef will use a category alias instead of its actual name every time that name is required to build a url" -COM_SH404SEF_USE_MENU_ALIAS="Menü álnév használata" -COM_SH404SEF_TT_USE_MENU_ALIAS="If set to Yes, sh404sef will use a menu item alias instead of its actual title every time that title is required to build a url" -COM_SH404SEF_JC_MODULE_CACHING_DISABLED="Caching for Joomfish language selection module has been disabled!" -COM_SH404SEF_ALWAYS_APPEND_ITEMS_PER_PAGE="Mindig adja hozzá az #azonosítót az oldalakhoz" -COM_SH404SEF_TT_ALWAYS_APPEND_ITEMS_PER_PAGE="If set to Yes, sh404sef will always append the number of items per page to paginated urls. For instance, .../Page-2.html will become .../Page2-10.html, if the current settings cause 10 items to be displayed per page. This is required for instance if you activated drop-down lists to let your user select number of items per page." -COM_SH404SEF_REDIRECT_CORRECT_CASE_URL="301 url átirányítás a pontos helyre" -COM_SH404SEF_TT_REDIRECT_CORRECT_CASE_URL="If set to Yes, sh404sef will perform a 301 redirect from a SEF url if it does not have the same case as an url found in the database. For instance, example.com/My-page.html will be redirected to example.com/my-page.html, if the latter is stored in the database. Conversely, example.com/my-page.html will be redirected to example.com/My-page.html if the later is the url used on your site, and therefore stored in the database." -COM_SH404SEF_JCL_INSERT_EVENT_ID="Esemény AZ beillesztés" -COM_SH404SEF_TT_JCL_INSERT_EVENT_ID="If set to Yes, event internal id will be prepended to the event title in the urls, to make them unique" -COM_SH404SEF_JCL_INSERT_CATEGORY_ID="Kategória AZ beillesztés" -COM_SH404SEF_TT_JCL_INSERT_CATEGORY_ID="If set to Yes, when a category is used in a url, it will be prepended with the internal category id, to make it unique." -COM_SH404SEF_JCL_INSERT_CALENDAR_ID="Naptár AZ beillesztés" -COM_SH404SEF_TT_JCL_INSERT_CALENDAR_ID="If set to Yes, when a calendar name is used in a url, it will be prepended with this calendar internal id, to make it unique" -COM_SH404SEF_JCL_INSERT_CALENDAR_NAME="Naptár név beillesztés" -COM_SH404SEF_TT_JCL_INSERT_CALENDAR_NAME="If set to Yes, all urls where a specific calendar is set will have that calendar name included in the url. If no calendar id is specified in the url, the menu item title will be included instead" -COM_SH404SEF_JCL_INSERT_DATE="Dátum beillesztés" -COM_SH404SEF_TT_JCL_INSERT_DATE="If set to yes, the date of the target page will be inserted into each url" -COM_SH404SEF_JCL_INSERT_DATE_IN_EVENT_VIEW="Dátumbeillesztés az esemény hivatkozásba" -COM_SH404SEF_TT_JCL_INSERT_DATE_IN_EVENT_VIEW="If set to Yes, each event date will be prepended to urls to the event details page" -COM_SH404SEF_JCL_TITLE="JCal Pro beállítás" -COM_SH404SEF_PAGE_TITLE_TITLE="Oldal cím beállítás" -COM_SH404SEF_CONTENT_TITLE_TITLE="Joomla tartalom oldal cím beállítás" -COM_SH404SEF_CONTENT_TITLE_USE_ALIAS="Cikk cím mint álnév használata" -COM_SH404SEF_TT_CONTENT_TITLE_USE_ALIAS="If set to Yes, the article alias will be used in the page title instead of the actual article title" -COM_SH404SEF_CONTENT_TITLE_USE_CAT_ALIAS="Kategória álnév használata"_QQ_"" -COM_SH404SEF_TT_CONTENT_TITLE_USE_CAT_ALIAS="If set to Yes, a category alias will be used in the page title instead of the actual category title" -COM_SH404SEF_PAGE_TITLE_SEPARATOR="Oldalcím elválasztó" -COM_SH404SEF_TT_PAGE_TITLE_SEPARATOR="Enter here a character or a string to separate the various parts of the page title, if there is more than one. Defaults to the | character, surrounded by a single space" -COM_SH404SEF_DISPLAY_DUPLICATE_URLS_TITLE="Másolatok" -COM_SH404SEF_DISPLAY_DUPLICATE_URLS_NOT="Csak a fő URL megjelenítése" -COM_SH404SEF_DISPLAY_DUPLICATE_URLS="A fő és a másolat URL-ek megjelenítése" -COM_SH404SEF_INSERT_ARTICLE_ID_TITLE="Cikk azonosító az URL-ben" -COM_SH404SEF_TT_INSERT_ARTICLE_ID_TITLE="If set to Yes, an article internal id will be appended to the title of that article in URLs, in order to be sure each article can be accessed individually, even if 2 articles have the exact same titles, or titles that yields the same URL (after being cleaned up for invalid characters and such). This id will bring no SEO value, and you should rather make sure you do not have articles with the same title in the same section and category.
                  In case you do not control article entries, this setting may help you make sure articles can be accessed, at the cost of good search engine optimization." -COM_SH404SEF_JS_TITLE="JomSocial beállítás " -COM_SH404SEF_JS_INSERT_NAME="JomSocial név beillesztés" -COM_SH404SEF_TT_JS_INSERT_NAME="If set to Yes, the menu element title leading to JomSocial main page will be prepended to all JomSocial SEF URL" -COM_SH404SEF_JS_INSERT_USER_NAME="Rövid név beillesztés" -COM_SH404SEF_TT_JS_INSERT_USER_NAME="If set to Yes, user name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." -COM_SH404SEF_JS_INSERT_USER_FULL_NAME="A felhasználó teljes nevének beillesztése" -COM_SH404SEF_TT_JS_INSERT_USER_FULL_NAME="If set to Yes, user full name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." -COM_SH404SEF_JS_INSERT_GROUP_CATEGORY="A csoport kategória beillesztése" -COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY="If set to Yes, a users group's category will be inserted into SEF URLs where the group name is used." -COM_SH404SEF_JS_INSERT_GROUP_CATEGORY_ID="Csoport kategória AZ beillesztés" -COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY_ID="If set to Yes, a users group category ID will be prepended to the category name when previous option is also set to Yes, just in case two categories have the same name." -COM_SH404SEF_JS_INSERT_GROUP_ID="A csoport AZ beillesztése" -COM_SH404SEF_TT_JS_INSERT_GROUP_ID="If set to Yes, a users group ID will be prepended to the group name, just in case two groups have the same name." -COM_SH404SEF_JS_INSERT_GROUP_BULLETIN_ID="Csoport bejelentés AZ beillesztés" -COM_SH404SEF_TT_JS_INSERT_GROUP_BULLETIN_ID="If set to Yes, a users group bulletin ID will be prepended to the bulletin name, just in case two bulletins have the same name." -COM_SH404SEF_JS_INSERT_DISCUSSION_ID="Csoport megbeszélés AZ beillesztés" -COM_SH404SEF_TT_JS_INSERT_DISCUSSION_ID="If set to Yes, a users group discussion ID will be prepended to the discussion name, just in case two discussions have the same name." -COM_SH404SEF_JS_INSERT_MESSAGE_ID="Üzenet AZ beillesztése" -COM_SH404SEF_TT_JS_INSERT_MESSAGE_ID="If set to Yes, a message ID will be prepended to the message name, just in case two messages have the same subject." -COM_SH404SEF_JS_INSERT_PHOTO_ALBUM="A fotóalbum név beillesztése" -COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM="If set to Yes, the name of the album it belongs to will be inserted into SEF URLs of a photo or set of photos." -COM_SH404SEF_JS_INSERT_PHOTO_ALBUM_ID="A fotóalbum AZ beillesztése" -COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM_ID="If set to Yes, an album ID will be prepended to the album name, just in case two albums have the same subject." -COM_SH404SEF_JS_INSERT_PHOTO_ID="A kép AZ beillesztése" -COM_SH404SEF_TT_JS_INSERT_PHOTO_ID="If set to Yes, a photo ID will be prepended to the photo name, just in case two photos have the same subject." -COM_SH404SEF_JS_INSERT_VIDEO_CAT="A videókategória név beillesztése" -COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT="If set to Yes, the name of the category it belongs to will be inserted into SEF URLs of a video or set of videos." -COM_SH404SEF_JS_INSERT_VIDEO_CAT_ID="A videókategória AZ beillesztése" -COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT_ID="If set to Yes, a video category ID will be prepended to the category name, just in case two categories have the same subject." -COM_SH404SEF_JS_INSERT_VIDEO_ID="A videó AZ beillesztése" -COM_SH404SEF_TT_JS_INSERT_VIDEO_ID="If set to Yes, a video ID will be prepended to the video name, just in case two videos have the same subject." -COM_SH404SEF_FB_INSERT_USERNAME="Felhasználói név beillesztés" -COM_SH404SEF_TT_FB_INSERT_USERNAME="If set to Yes, the username will be inserted into SEF URLs for her posts or profile." -COM_SH404SEF_FB_INSERT_USER_ID="Felhasználói AZ beillesztés" -COM_SH404SEF_TT_FB_INSERT_USER_ID="If set to Yes, a user ID will be prepended to her name, if the preceding setting is set to yes, just in case two users have the same username." -COM_SH404SEF_PAGE_NOT_FOUND_ITEMID="A használni kívánt 404-es oldal azonosítója" -COM_SH404SEF_TT_PAGE_NOT_FOUND_ITEMID="The value entered here, if non zero, will be used to display the 404 page. Joomla will use the Itemid to decide which template and modules to display. Itemid represents a menu item, so you can look up Itemids in your menus list." -; -COM_SH404SEF_PAGE_ID="shURL" -COM_SH404SEF_HITS="Találat" -COM_SH404SEF_SEF_URL="SEF url" -COM_SH404SEF_NON_SEF_URL="nem SEF url" -COM_SH404SEF_SEF_URL_LIST="URL kezelő" -COM_SH404SEF_HAS_DUPLICATE="Duplikált" -COM_SH404SEF_HAS_METAS="Meta" -COM_SH404SEF_DUPLICATE_MAIN="Fő" -COM_SH404SEF_DUPLICATES_OF="másolata a(z)" -COM_SH404SEF_DUPLICATE_MANAGER="Duplikált url kezelő" -COM_SH404SEF_DUPLICATE_HELP="Joomla! may create several non-sef urls going to the same page. Select which one to use when this SEF url is requested" -COM_SH404SEF_DUPLICATE_MAKE_MAIN="Choose this non-sef url to be associated with %s" -COM_SH404SEF_DUPLICATE_IS_MAIN="This is the main non-sef url!" -COM_SH404SEF_ALIASES="Álnevek" -COM_SH404SEF_IS_CUSTOM="Egyedi" -COM_SH404SEF_NO_URL="Nincs ilyen" -COM_SH404SEF_ALL_COMPONENTS=" - Összes komponens - " -COM_SH404SEF_ALL_DUPLICATES=" - Másolatokkal vagy azok nélkül - " -COM_SH404SEF_ONLY_NO_DUPLICATES="Csak másolatok nélkül" -COM_SH404SEF_ONLY_DUPLICATES="Csak másolatokkal" -COM_SH404SEF_ALL_ALIASES=" - álnévvel vagy anélkül - " -COM_SH404SEF_ONLY_NO_ALIASES="Csak álnév nélkül" -COM_SH404SEF_ONLY_ALIASES="Csak álnévvel" -COM_SH404SEF_ALL_LANGUAGES=" - Összes nyelv - " -COM_SH404SEF_ALL_URL_TYPES=" - Automata és egyedi - " -COM_SH404SEF_ONLY_CUSTOM="Csak egyedi url" -COM_SH404SEF_ONLY_AUTO="Csak automata url" -COM_SH404SEF_EDIT_URL_TITLE="URL változtatás" -COM_SH404SEF_ADD_URL_TITLE="Új Url rekord hozzáadás" -COM_SH404SEF_EDIT_URL="Url rekord szerkesztés" -COM_SH404SEF_OLDURL="Új SEF URL" -COM_SH404SEF_TT_OLDURL="Enter only a relative url from the Joomla root without a leading slash" -COM_SH404SEF_NEWURL="nem SEF url" -COM_SH404SEF_TT_NEWURL="Enter the non SEF URL corresponding to the SEF url above. WARNING: it must starts with index.php and must not be longer than 255 characters!" -COM_SH404SEF_EDIT_META="Cím és meta címkék" -COM_SH404SEF_OPERATION_COMPLETED="A folyamat sikeresen befejezve!" -COM_SH404SEF_ELEMENT_NOT_SAVED="Mentés közben hiba történt. Kérjük, próbáld újra vagy ne szerkeszd tovább" -COM_SH404SEF_ELEMENT_SAVED="Elem sikeresen mentve" -COM_SH404SEF_ELEMENT_DELETED="Elem sikeresen törölve" -COM_SH404SEF_HOME_PAGE_EDIT_TITLE="Edit home page data" -COM_SH404SEF_HOME_PAGE_ICON="címlap meta" -COM_SH404SEF_HOME_PAGE="____ Címlap ____" -COM_SH404SEF_CONFIRM_TITLE="Biztos vagy benne??" -COM_SH404SEF_CONFIRM_URL_DELETION="Most fogsz %d hivatkozást törölni az adatbázisból." -COM_SH404SEF_CONFIRM_BOX_TITLE="Megerősítés" -COM_SH404SEF_PURGE="Kiürítés" -COM_SH404SEF_PURGE_SELECTED="Lista kiürítés" -COM_SH404SEF_CONFIRM_PURGE_URLS="You are about to delete %d urls from the database (including duplicates).
                  Custom urls, aliases and pageid will be left untouched." -COM_SH404SEF_CONFIRM_PURGE_URLS_SELECTED="The urls matching your selection criteria will be deleted (%d urls in total).
                  This may include custom urls depending on the choices you made in drop-down lists. If automatic urls are in the list, their duplicates will also be removed." -COM_SH404SEF_CONFIRM_PURGE_URLS_404="Records of requests for non-existing pages (%s in total) will be deleted from the database." -COM_SH404SEF_404_MANAGER="404-es kérések" -COM_SH404SEF_CUSTOM_URL_LINK_TITLE="egyedi url" -COM_SH404SEF_HAS_META_LINK_TITLE="Egyedi meta adatokat tartalmaz" -COM_SH404SEF_MODIFY_LINK_TITLE="Módosít" -COM_SH404SEF_HAS_DUPLICATES_LINK_TITLE="%d másolata van" -COM_SH404SEF_HAS_ALIASES_LINK_TITLE="%d alcíme van" -COM_SH404SEF_ALIASES_MANAGER="Álnév kezelő" -COM_SH404SEF_ALIASES_HELP="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection). Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window." -COM_SH404SEF_NO_ALIASES="Nincs megjeleníthető álnév" -COM_SH404SEF_MODIFY_ALIAS_TITLE="Módosít" -COM_SH404SEF_ALIAS="Álnév" -COM_SH404SEF_URL="URL" -COM_SH404SEF_CONFIRM_PURGE_ALIASES="You are about to delete %d aliases from the database.
                  This count includes home page aliases. They cannot be recreated automatically, so be careful!" -COM_SH404SEF_CONFIRM_PURGE_ALIASES_SELECTED="The aliases matching your selection criteria will be deleted (%d aliases in total).
                  They cannot be recreated automatically, so be careful!" -COM_SH404SEF_CONFIRM_ALIAS_DELETION="Az adatbázisból most törölsz %d álnevet." -COM_SH404SEF_SELECT_ALIAS="Válassz egy vagy több alcímet" -COM_SH404SEF_ACCESS_URLS_STATS="Hozzáférés és url statisztika" -COM_SH404SEF_URLS_STATS="Url statisztika" -COM_SH404SEF_CONTROL_PANEL="Vezérlőpult" -COM_SH404SEF_CONFIGURATION="Beállítás" -COM_SH404SEF_MANAGEMENT="Kezelő" -COM_SH404SEF_CONFIG_EXT="Bővítmény beállítás" -COM_SH404SEF_CONFIG_EXT_DESC="Set up the way urls are built for the various extensions used on your site. After changing settings on this page, you will most likely need to purge the SEF urls database, so that new urls are recreated in accordance with the new parameters you now use. This is done from the URL manager." -COM_SH404SEF_CONFIG_ERROR_PAGE="Hibaoldal beállítás" -COM_SH404SEF_CONFIG_ERROR_PAGE_DESC="Select and adjust the content of your 404 error page" -COM_SH404SEF_CONFIG_SEO="SEO beállítás" -COM_SH404SEF_CONFIG_SEO_DESC="Change various settings that will change elements of your Joomla! web site to improve search results" -COM_SH404SEF_CONFIG_SEC="Biztonsági beállítás" -COM_SH404SEF_CONFIG_SEC_DESC="Settings dealing with built in security features" -COM_SH404SEF_QCONTROL="

                  Welcome to sh404SEF!

                  To enable it for your site, use the main Enable URL optimization Yes/No selector and press the Save button. sh404SEF will start with its default settings, suitable in most cases.
                  You can change the Rewriting mode to use mod_rewrite. You won't have those /index.php/ bits in your URL any more, but you must setup correctly a .htaccess file (or the equivalent for your web server) before you can proceed.
                  Please check out the FAQ" -COM_SH404SEF_PAGEID_MANAGER="shURL kezelő" -COM_SH404SEF_CP_PAGEID_HELP="shURL is your very own url shortener. Works very much like an alias, but shURLs are automatically created by sh404sef, so that your pages can also be accessed using www.example.com/p412 for instance. No risk of url shortener provider disappearing, or users being afraid because they don't know where a short url is taken them." -COM_SH404SEF_VERSION_INFO="Verzió és frissítések" -COM_SH404SEF_COULD_NOT_CHECK_FOR_NEW_VERSION="Sorry, could not check if a newer version is available (response code %d)" -COM_SH404SEF_CHECK_UPDATES="Újra ellenőrzés" -COM_SH404SEF_CLICK_TO_CHECK_UPDATES="Kattints a gombra a frissítések ellenőrzéséhez" -COM_SH404SEF_NEW_VERSION_AVAILABLE="Elérhető az új verzió!" -COM_SH404SEF_YOU_ARE_UP_TO_DATE="Nincs szükség frissítésre" -COM_SH404SEF_AVAILABLE_VERSION="Elérhető verzió" -COM_SH404SEF_ERROR_CHECKING_NEW_VERSION="Kommunikációs hiba történt a verzióinformációs szerverrel. Később próbáld újra!" -COM_SH404SEF_VIEW_CHANGELOG="Változások listája" -COM_SH404SEF_GET_IT="Szerezd meg!" -COM_SH404SEF_NOTES="Megjegyzés" -COM_SH404SEF_MODIFY_META_TITLE="Meta adat módosítása" -COM_SH404SEF_ALL_TITLE="Oldalcímmel vagy anélkül" -COM_SH404SEF_ONLY_TITLE="Csak oldalcímmel" -COM_SH404SEF_NO_TITLE="Csak oldalcím nélkül" -COM_SH404SEF_ALL_DESC="Leírással vagy anélkül" -COM_SH404SEF_ONLY_DESC="Csak leírással" -COM_SH404SEF_NO_DESC="Csak leírás nélkül" -COM_SH404SEF_DATA_NOT_MODIFIED="Az adatok nem lettek módosítva!" -COM_SH404SEF_META_HELP="You can use these pages to customize page title and/or description meta tags for any page on your site. The values entered here will override any values that may be coming directly from Joomla own input boxes. Likewise, they will override any page title or description that may have been generated otherwise by sh404sef built in plugins.
                  You usually will not have to use this section, as Joomla!, sh404sef and most extensions will create suitable page titles. Beware to create short and to the point page titles. Description should also be concise and clearly describe your page content. Better leave description empty if it does not bring value for visitors. Other meta elements can be setup by clicking on a url. Beware when you do so, as you may do more harm than good. In particular, you should probably leave Keywords meta data empty. They are not used by search engines, and under some circumstances can have a negative effect on your ranking." -COM_SH404SEF_PAGE_NOT_FOUND_TEMPLATE="Sub-template for display" -COM_SH404SEF_TT_PAGE_NOT_FOUND_TEMPLATE="By default (when value is set to 'index'), sh404sef will display the 'Page not found' error page using your regular Joomla! template file, in accordance with the Itemid setting. However you may enter here the name of an alternate sub-template file. For instance, most template come with a 'component' sub-template, which is much simpler and does not display any module. Just enter 'component' instead of 'index', to start using it.
                  You can also provide your own sub-template. Create it - let's say you call it 'error404.php', then store it in your template main directory, alongside index.php and component.php. Don't forget to enter 'error404' (without the trailing '.php') here so that sh404sef use it." -COM_SH404SEF_CONFIRM_PURGE_METAS="You are about to delete meta data records for %d non-sef urls from the database.
                  Urls themselves, aliases or pageid will be left untouched." -COM_SH404SEF_CONFIRM_PURGE_METAS_SELECTED="Meta data records for the urls matching your selection criteria will be deleted
                  (%d non-sef urls in total).
                  Urls themselves, aliases or pageid will be left untouched." -COM_SH404SEF_PREVIEW="Preview" -COM_SH404SEF_404_PAGE_EDIT_HELP="You can use the following tags while editing this error page:
                  • {%sh404SEF_404_URL%} will be replaced by the url the visitor requested, the one that we could not find
                  • {sh404sefSimilarUrls} will be replaced by a list of urls found in the database that are similar to the one requested but not found. If none are found to be similar, nothing will be displayed and the tag removed. You can go to Joomla's plugins list, and set some parameters to alter the way the 'sh404sef similar urls plugin' operates
                  • {sh404sefSimilarUrlsCommentStart} and {sh404sefSimilarUrlsCommentEnd} everything you put between those two tags will be displayed only if some similar urls are found
                  " -COM_SH404SEF_ENABLE_PAGEID="shURL engedélyezés" -COM_SH404SEF_DISABLE_PAGEID="shURL letiltás" -COM_SH404SEF_COMP_ENABLE_PAGEID="shURL létrehozás engedélyezés" -COM_SH404SEF_TT_COMP_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for all urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for this particular component. Please note that shURL creation should also be enabled globally in sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                  You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                  It will be replaced automatically by sh404sef by the shURL." -COM_SH404SEF_ENABLE_PAGEID_HELP="Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration" -COM_SH404SEF_CONF_TAB_PAGEID="shURL" -COM_SH404SEF_TT_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for most urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for your site. Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                  You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                  It will be replaced automatically by sh404sef by the shURL." -COM_SH404SEF_PAGEIDS_MANAGER="shURL kezelő" -COM_SH404SEF_PAGEID_HELP="This page will show you all the already created shURL for your site. shURL are short urls automatically created by sh404sef upon creation of a SEF url. They allow you to provide internal shortcuts to commonly used pages. They can be used for instance in printed material, on business cards or in short messages system such as mobile phone text messages or Twitter.WARNING: once created, shURLs should never be deleted, as they cannot be recreated the same. If shURLs have been distributed to users, or bookmarked by people online, and you delete them from your site, new shURLs will be generated next time you purge your SEF urls database. However, those new shURLs will NOT be the same as the previous one, and so existing links will be lost. Please note that this does not apply to search engines. Basically, search engines will not index shURLs at all, as they will follow the redirects towards the final, full length, keyword-full version of the url." -COM_SH404SEF_CONFIRM_PAGEID_DELETION="You are about to delete %d shURL record(s) from the database.
                  Warning : they cannot be recreated the same after being deleted!" -COM_SH404SEF_SEF_ENABLED="URL optimalizálás engedélyezése" -COM_SH404SEF_TT_SEF_ENABLED="When set to Yes, sh404sef will take over SEF url generation from Joomla!This will happen regardless of the SEF setting found under Joomla!'s Global configuration panel." -COM_SH404SEF_UPGRADE_ENABLE_CHECK="Friss verzió ellenőrzésének engedélyezése" -COM_SH404SEF_TT_UPGRADE_ENABLE_CHECK="If set to Yes, sh404sef will check for the availability of new versions. It will not send any information from your site, but only call our servers to know if a version newer than the one currently running on your site is available. Result of such check will be cached for 24 hours, meaning that at most one such call per day will be done, regardless of how many times you access sh404sef main control panel. If a newer version is available, the Version and updates tab on the main screen will turn red, and a (!) sign will be added to its title. Going to this tab, you'll find a link to download the new version, and another one to view the changelog." -COM_SH404SEF_MAY_NEED_PURGE_DIALOGBOX="You have modified some settings that could change urls on your site. For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated. Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]]." -COM_SH404SEF_MAY_NEED_PURGE="
                • Element successfully saved.
                • You have modified some settings that could change urls on your site.
                • For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated.
                • Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]].
                • " -COM_SH404SEF_INVALID_WIZARD_STEP="Belső hiba: érvénytelen varázsló lépés. Kérjük, hogy lépj kapcsolatba az adminisztrátorral." -COM_SH404SEF_WIZARD_CANCELLED="Folyamat megszakítva" -COM_SH404SEF_INVALID_WIZARD_ADAPTER="Belső hiba: érvénytelen varázsló adapter. Kérjük lépj kapcsolatba az adminisztrátorral" -COM_SH404SEF_ALIASES_HELP_NEW_ALIAS="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection).

                  Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window. This is done in the Urls manager, by clicking on any listed url and entering new alias(es) on the 'Aliases' tab. Go to Url manager" -COM_SH404SEF_IMPORT_PAGEIDS_START="Welcome to the shURL import wizard. Please press the Next button to start importing shURLs into your database. Suitable data sources are files obtained through the Export shURLs feature" -COM_SH404SEF_EXPORT_PAGEIDS_START="Welcome to the shURL export wizard. Please press the Next button to start exporting shURLs from your database to a text file. This text file may be used later on to import back shURL records into this same web site or another web for instance, through the Import shURLs feature.

                  Warning: only shURLs matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_EXPORTING="Rekordok exportálása %d-ik a %d maradékból" -COM_SH404SEF_EXPORTING_TITLE="Exportálás" -COM_SH404SEF_EXPORT_DONE="Export of %d record(s) done. Please click on Terminate button to close this window

                  Note : temporary export files are left available in Joomla! /tmp directory. You should delete them on a regular basis." -COM_SH404SEF_NOTHING_TO_EXPORT="Az adatok nem lettek exportálva!" -COM_SH404SEF_EXPORT_METAS_START="Welcome to the page title and meta data export wizard. Please press the Next button to start exporting page title and meta data from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only page title and meta data records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_URLS_START="Welcome to the page urls export wizard. Please press the Next button to start exporting url records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only url records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_ALIASES_START="Welcome to the aliases export wizard. Please press the Next button to start exporting aliases records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only aliases records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_EXPORT_VIEW404_START="Welcome to the 404 error records export wizard. Please press the Next button to start exporting 404 error records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only 404 error records matching current selection criteria (components, language, ...) will be exported!" -COM_SH404SEF_PURGE_TEMP_FILES="Purge temporary files on terminating" -COM_SH404SEF_IMPORTING_TITLE="Importálás" -COM_SH404SEF_IMPORT_UPLOAD_FILE="Please select a data file to import using the input below, or the 'browse' button. This data file must be :
                  • either coming from sh404sef itself (through the export functions)
                  • or be a modified version of such file, customized in a spreadsheet program for instance
                  • at most %s in size, which is maximum size allowed by your server

                  " -COM_SH404SEF_IMPORT_VALIDATE_IMPORT="This file appears to be valid, and contains %s data. I have found %d records. Click Next button to import them into the database." -COM_SH404SEF_IMPORT_UNRECOGNIZED_CONTENT="Elnézést, de nem ismerhető fel a fájl tartalma. Kérjük, hogy válassz másikat!" -COM_SH404SEF_IMPORT_ERROR_INSERTING_INTO_DB="There was an error inserting a record in the database. This happened with record #%d of the import file. Please double-check the file content and try again! Many times, the reason for such error is that the record already exists in the database. Either remove it from the database, or from the import file." -COM_SH404SEF_IMPORT_ALIASES_START="Welcome to the alias import wizard. Please press the Next button to start importing aliases into your database. Suitable data sources are files obtained through the Export aliases feature" -COM_SH404SEF_IMPORT_DONE="Imported %d %s record(s). Please click on Terminate button to close this window
                  " -COM_SH404SEF_IMPORT_URLS_WARNING="
                  Warning: please note that if you imported meta data or 404 error pages records, these are considered and were previously exported as regular urls records, and so you are now on the 'Url manager page'. Just go to the title and metas manager or the 404 error requests manager to view the newly imported records" -COM_SH404SEF_IMPORT_URLS_START="Welcome to the urls and meta data import wizard. Please press the Next button to start importing urls and meta data records into your database. Suitable data sources are files obtained through the Export urls or Export meta data feature" -COM_SH404SEF_ANALYTICS="Analytics" -COM_SH404SEF_CHECK_ANALYTICS="Kattints a frissítéshez" -COM_SH404SEF_ERROR_CHECKING_ANALYTICS="Could not connect to analytics server (not available, or no account configured ? are cURL and SSL enabled in your phpinfo ?)" -COM_SH404SEF_ERROR_AUTH_ANALYTICS="Hiba történt az analytics szerverrel kapcsolódás közben: nem engedélyezett. Ellenőrizd a jelszót és a felhasználói nevet!" -COM_SH404SEF_CONF_ANALYTICS="Analytics" -COM_SH404SEF_CONF_ANALYTICS_HELP="Analytics is an sh404sef feature designed to work with Google Analytics traffic analysis service. To use it, you should create an account with Google Analytics. Visit Google Analytics to do this. And don't forget to check out our video tutorial
                  sh404SEF itself does not collect any traffic data, but instead will query Google Analytics for traffic data to display reports.
                  Security consideration: sh404sef needs your Google Analytics user name AND password. We advice to use a dedicated Google account and password for your Google Analytics needs, so as to avoid having the same password on all your emails accounts, FTP server, online banking and everything else." -COM_SH404SEF_ANALYTICS_ENABLED="Enable data collection" -COM_SH404SEF_TT_ANALYTICS_ENABLED="If set to Yes, a javascript snippet, suitable for use with Google Analytics service, will be included in all pages, complying with next settings, so that analytics data are collected by the analytics service.
                  Warning: there are other Joomla! extensions developed to include such snippet into your pages. Make sure you only have one at a time activated!" -COM_SH404SEF_ANALYTICS_ID="Web Property ID" -COM_SH404SEF_TT_ANALYTICS_ID="The ID for this site, as supplied by Google analytics. It should look like UA-XXXXX-Y where X and Y are numbers.
                  We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                  If you already have an account, just use it, you don't need to create a separate one for sh404sef." -COM_SH404SEF_ANALYTICS_EXCLUDE_IP="Excluded IP list" -COM_SH404SEF_TT_ANALYTICS_EXCLUDE_IP="Analytics data will not be collected for requests coming from one of those IP addresses (one per line). Use to exclude yourself or your company members from collected data" -COM_SH404SEF_ANALYTICS_MAX_USER_LEVEL="Max felhasználói szint" -COM_SH404SEF_TT_ANALYTICS_MAX_USER_LEVEL="Analytics data will not be collected for requests by users above the selected level. By default, data is collected for all users. Selecting 'Administrator', for instance, will make sure anyone logged in as 'Super administrator' is not counted as a visitor, or enter the statistics in any manner" -COM_SH404SEF_ANALYTICS_REPORTS_TITLE="Analytics jelentés" -COM_SH404SEF_ANALYTICS_REPORTS_ENABLED="Jelentés megjelenítés" -COM_SH404SEF_TT_ANALYTICS_REPORTS_ENABLED="If set to Yes, analytics report will be included on the front of the control panel." -COM_SH404SEF_ANALYTICS_USER="Analytics felhasználói név" -COM_SH404SEF_TT_ANALYTICS_USER="The username for the analytics account you use, as supplied by analytics service supplier. For Google Analytics, this is going to be a full email address. For better security, please use a dedicated gmail account for your Google Analytics need, separate from your main email address. You can however monitor many web sites with the same, dedicated, Google Analytics account" -COM_SH404SEF_ANALYTICS_PASSWORD="Analytics jelszó" -COM_SH404SEF_TT_ANALYTICS_PASSWORD="The password for the analytics account you use, as supplied by analytics service supplier. The value you type here will override any existing password stored" -COM_SH404SEF_ANALYTICS_ACCOUNT="Analytics hozzáférés" -COM_SH404SEF_TT_ANALYTICS_ACCOUNT="The account you use, as supplied by analytics service supplier" -COM_SH404SEF_ANALYTICS_PROFILE="" -COM_SH404SEF_TT_ANALYTICS_PROFILE="" -COM_SH404SEF_ANALYTICS_ENABLE_AUTO_CHECK="Automatikus analytics frissítések" -COM_SH404SEF_TT_ANALYTICS_ENABLE_AUTO_CHECK="If set to Yes, analytics report data will be updated every hour. If set to No, you will need to click the [Click to update] link on the Analytics tab to refresh the displayed data" -COM_SH404SEF_CLICK_TO_CHECK_ANALYTICS="No data available, click [Click to update] link to get new data. (OpenSSL required in PHP config)" -COM_SH404SEF_MOBILE_SWITCH_ENABLED="Sablon váltó engedélyezése" -COM_SH404SEF_TT_MOBILE_SWITCH_ENABLED="If yes, site template will be set to the template listed below for requests identified by Joomla as coming from a mobile device" -COM_SH404SEF_MOBILE_SWITCH_TEMPLATE="Sablon váltás" -COM_SH404SEF_TT_MOBILE_SWITCH_TEMPLATE="The site template to switch to when a mobile device request is detected" -COM_SH404SEF_MOBILE_CONFIG="Mobil beállítások" -COM_SH404SEF_UPDATED_ON="Utoljára frissítve %s" -COM_SH404SEF_CONFIG_ANALYTICS="Analytics beállítások" -COM_SH404SEF_CONFIG_ANALYTICS_DESC="Activate and adjust settings of analytics feature of sh404sef for your web site." -COM_SH404SEF_ANALYTICS_MANAGER="Analytics kezelő" -COM_SH404SEF_ANALYTICSDESC="View detailed reports about your web site traffic and visitors (requires activation and data collection - see Analytics configuration)" -COM_SH404SEF_ANALYTICS_REPORT="Jelentés" -COM_SH404SEF_ANALYTICS_REPORT_PER_LABEL=" per " -COM_SH404SEF_ANALYTICS_REPORT_BY_LABEL=" by " -COM_SH404SEF_ANALYTICS_REPORT_DASHBOARD="Vezérlőpult" -COM_SH404SEF_ANALYTICS_REPORT_VISITS="Látogatások és látogatók" -COM_SH404SEF_ANALYTICS_REPORT_VISITS_ONLY="Látogatások" -COM_SH404SEF_ANALYTICS_REPORT_SOURCES="Forgalom forrás" -COM_SH404SEF_ANALYTICS_REPORT_KEYWORDS="Kulcsszavak" -COM_SH404SEF_ANALYTICS_REPORT_URLS="Webhely oldalak" -COM_SH404SEF_ANALYTICS_REPORT_VISITORS_EQUIPMENT="Visitors equipment" -COM_SH404SEF_ANALYTICS_GROUP_BY="Csoportosítás" -COM_SH404SEF_ANALYTICS_START_DATE="Kezdet" -COM_SH404SEF_ANALYTICS_END_DATE="Vége" -COM_SH404SEF_ANALYTICS_DASHBOARD_DATE_RANGE="Dashboard date range" -COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATE_RANGE="Select the date range that will be used to fetch analytics data for the dashboard (main control panel). This can be either a week, a month or a year, always counted from the last day available, normally yesterday. On the main Analytics view however, you can select the date range yourself for customized reports" -COM_SH404SEF_WEEK="Hét" -COM_SH404SEF_MONTH="Hónap" -COM_SH404SEF_YEAR="Év" -COM_SH404SEF_ANALYTICS_ENABLE_TIME_COLLECTION="Collect creation time & memory" -COM_SH404SEF_TT_ANALYTICS_ENABLE_TIME_COLLECTION="If Yes, the time required by Joomla to create the page will be recorded and made available in reports. Note that this time is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                  Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second.
                  Memory used by this creation process will also be collected, but only if the memory collection function is available in your PHP installation. This information will become important if and when you decide on upgrading your web server, or even simply to adjust the settings of your web server." -COM_SH404SEF_ANALYTICS_ENABLE_LOGGED_IN_USER="Collect logged user" -COM_SH404SEF_TT_ANALYTICS_ENABLE_LOGGED_IN_USER="If Yes, the logged-in status of visitors will be collected and made available for reports. You will thus be able to know the percentage of your page views that are for non-logged in users globally and evaluate, for instance, the expected benefit of caching on your site.
                  Note that you must allow analytics data collection for at least some logged in users for this value to have any meaning (see Max user level setting above)" -COM_SH404SEF_ANALYTICS_REF_LABEL_DIRECT="Direkt" -COM_SH404SEF_ANALYTICS_REF_LABEL_ORGANIC="Keresőmotor" -COM_SH404SEF_ANALYTICS_REF_LABEL_REFERRAL="Átirányítás" -COM_SH404SEF_ANALYTICS_REF_LABEL_OTHER="Egyebek" -COM_SH404SEF_ANALYTICS_DATA_VISITORS="Egyedi látogatók" -COM_SH404SEF_ANALYTICS_DATA_VISITS="Látogatások" -COM_SH404SEF_ANALYTICS_DATA_PAGEVIEWS="Oldalmegjelenítések" -COM_SH404SEF_ANALYTICS_DASHBOARD_DATA_TYPE="Adattípus megjelenítés" -COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATA_TYPE="Select which metrics to display on the dashboard.
                  Page views simply counts the number of pages that were displayed to any visitor. This is a very good indicator of the volume of traffic on your site.
                  Unique visitors: this measures the number of actual individual visitors visiting your site. Users visiting twice or more within the selected period of time will be counted only once, as per Google calculation definition (see http://www.google.com/support/analytics /bin/answer.py?hl=en&answer=33087).
                  Visits will show the number of visit sessions to your site. However, visitors returning several times within the selected period will be counted several times and so may not be the best indicator of how many people come to your site.
                  Please be aware that Google does not allow all combinations. Specfically, traffic sources, page creation time and memory, and logd in users cannot be viewed per Unique visitors." -COM_SH404SEF_ANALYTICS_TOP5_PAGES="A legtöbbet megtekintett oldal a webhelyeden" -COM_SH404SEF_ANALYTICS_TOP5_URL="Url" -COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS="Oldalmegjelenítések" -COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS_PERCENT="%" -COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_PAGE="Az oldalon eltöltött
                  átlagos idő" -COM_SH404SEF_ANALYTICS_TOP5_REFERRERS="The web sites that send you the most traffic (by page views)" -COM_SH404SEF_ANALYTICS_TOP5_REF_SOURCE="Forrás" -COM_SH404SEF_ANALYTICS_TOP5_REF_PATH="Útvonal" -COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_SITE="A webhelyen eltöltött
                  átlagos idő" -COM_SH404SEF_ANALYTICS_GLOBAL_DATA="Globális statisztika" -COM_SH404SEF_ANALYTICS_PERF_DATA="Performance and users (per page view)" -COM_SH404SEF_ANALYTICS_DATE_RANGE="Report date range:" -COM_SH404SEF_ANALYTICS_TT_SOURCE_SITE_DESC="This column shows the website which sent you visitors.
                  (direct) means people directly typed in your web site address in their browser address bar" -COM_SH404SEF_ANALYTICS_TT_SOURCE_PATH_DESC="The specific path on the referrer web site that links to you, if any. Sometimes this information is not recorded, in particular when the referrer is a search engine - in such case, you'll see '(not set)'" -COM_SH404SEF_ANALYTICS_TT_PAGE_VIEWS_DESC="This is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for
                  By monitoring page views by for each page, or for each referrer, you can decide on actions to be taken to improve your traffic, such as modifying your content to make it more attractive to specific visitors, or contacting referring sites to get better linkage, etc" -COM_SH404SEF_ANALYTICS_TT_REFERRER_PER_CENT_DESC="This column shows the share of pageviews for each referrer, as a percentage of the total number of pageviews on your site for the given period of time. As only the top referrers are shown on the list, this may not add up to 100%" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE="A webhelyen eltöltött átlagos idő" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE_DESC="The average time spent on your site by visitors coming from each referrers. We can assume the people staying longer will benefit more from your site information, products or services. Action may then be taken to either favor those referrers sending the most interested visitors, and/or adjust your web site content so as to be more attractive to visitors coming from those other sources" -COM_SH404SEF_ANALYTICS_TT_URL_DESC="The specific path on your web site for which the most traffic was recorded.
                  Note that it is the textual path that matters, and not url parameters. Therefore /my-page.html and /mypage.html?start=5 are considered the same page by Google, and so pageviews for those 2 pages will be aggregated. Another good reason to use sh404sef pagination system!" -COM_SH404SEF_ANALYTICS_TT_URL_PER_CENT_DESC="This column shows the share of pageviews for each path in your web site, as a percentage of the total number of pageviews on your site for the given period of time. As only the top paths are shown on the list, this may not add up to 100%" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE="Az oldalon eltöltött átlagos idő" -COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE_DESC="The average time spent on a particular page by visitors. We can assume the people staying longer on a page will benefit more from this page information, products or services. Action may then be taken to either improve again those page, and/or adjust other pages content so as to be more attractive and get a more balanced and globally higher traffic on your site." -COM_SH404SEF_ANALYTICS_AVG_CREATION_TIME="Átlagos oldal létrehozási idő" -COM_SH404SEF_ANALYTICS_TT_AVG_CREATION_TIME="Average time Joomla needed to create pages displayed over the period of time covered by the report. This is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                  Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second." -COM_SH404SEF_ANALYTICS_AVG_MEMORY_USED="Átlagos memória használat" -COM_SH404SEF_ANALYTICS_TT_AVG_MEMORY_USED="A Joomla oldallétrehozási folyamat memóriafoglalása, megabyte-ban. Ez az információ csak akkor lehet fontos, ha úgy döntöttél, hogy fejleszteni fogod a webszervert vagy csak további finombeállításokat végzel rajta." -COM_SH404SEF_ANALYTICS_USER_STATUS="Belépett felhasználók" -COM_SH404SEF_ANALYTICS_TT_USER_STATUS="The percentage of pages viewed by your visitors while they were logged in to your site, against the total number of pages viewed. Currently, no distinction is made on the dashboard based on the user type (Registered, Author, adminstrator, etc), though this information is actually collected.
                  From a performance standpoint, this will help you decide if it is worth activating a cache system (as caches are usually more efficient for non-logged in users). From an SEO/business standpoint, this may help you make changes in your content for instance, in order to try attract more user to register, or maybe reserve some content to registered users." -COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" -COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC_RAW="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" -COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors.
                  It follows that the number of visitors is less than the number of visits - see definition of visits above." -COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC_RAW="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors. It follows that the number of visitors is less than the number of visits - see definition of visits above." -COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for.
                  Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" -COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC_RAW="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for. Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT="Átlagos oldalak/látogatás" -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT_DESC="The average number of pages a visitor looks at during a single visit - a visit being considered finished when we see no activity during 30 minutes or more. A higher figure will probably means that your content is attractive to your visitors, which is to say the peoople coming to your site are the one attracted in your content. A lower figure will probably indicate that content and traffic don't match each other. Either you need to adjust your content and make it more appealing to the visitors you get. Or you need to get other visitors, that is try to attract a different kind of visitors.
                  As usual, you'll need more detailed data to be able to figure out ways of improving things, but radical changes in those figures should be investigated." -COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE="Visszafordulási ráta" -COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE_DESC="The bounce rate is the % of visits where visitors only saw one page. Which means they came to your site, saw one page and then moved away and never came back - at least not withing the 30 minutes limit used to decide a given visitor is making a 'new' visit.
                  This will always happen, but of course you probably want that % to be as small as possible, and like other metrics, significant changes should be monitored and acted upon.
                  You will probably need more detailed data to be able to act in case there is a sudden surge in bounces. You may for instance want to find out if specific pages are causing the rate increase, so as to be able to adjust its content to visitors interest." -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE="Átlagos idő a webhelyen" -COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE_DESC="The average time spent on your site during a visit. Combined with the number of pages viewed per visit, this is a measure of visit quality. As usual with averages, it must taken with a grain of salt, but significant variations over time are to be investigated" -COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS="% új látogató" -COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS_DESC="The percentage of visitors coming to your site that where not previously identified.
                  Getting many new visitors tends to mean you attract traffic to your site, possibly by being well ranked in search engines. A lower percentage of new visits may also means that your site itself is attractive, with people coming back after their first visit. You will need more detailed data to analyse this fully, but as always monitor changes carefully" -COM_SH404SEF_ANALYTICS_DATA_SOURCES_DESC_RAW="The traffic sources graph shows you a synthetic view of where visitors to your site are coming from. The pie chart breaks down visits (or page views or visitors, depending on the setting you chose in configuration) between: referral (visitors coming from another website), search engines (coming from all known search engines result page), direct (user typed your web site address directly into his/her browser address bar)" -COM_SH404SEF_ALIAS_ALREADY_EXISTS="Alias %s already exists as an alias, or as a SEF url. It was not stored into the aliases database" -COM_SH404SEF_SLOW_SERVER="Lassú szerver" -COM_SH404SEF_TT_SLOW_SERVER="If set to Yes, a simplified version of the sh404sef control panel will be used.
                  While sh404sef can handle several hundreds of thousands of urls on appropriate server on the front end (what your visitors can see), the sh404sef control panel, and specifically the Url manager, uses more advanced database queries which can become very slow if the combination web server power/ number of urls in the database is not sufficient.
                  In such cases, switching to slow server mode will make the url manager snappy again, at the expense of missing information such as duplicates and aliases count" -COM_SH404SEF_IS_DUPLICATE="Másolat" -COM_SH404SEF_IS_A_MAIN_URL="Is a main url" -COM_SH404SEF_SLOW_SERVER_MODE_ON="Displaying in slow server mode. Change mode under Advanced tab of main configuration" -COM_SH404SEF_INSERT_CONTACT_CAT="Insert contacts category name" -COM_SH404SEF_TT_INSERT_CONTACT_CAT="If set to yes, the category name a contact belongs to will be inserted in the url leading to this contact" -; -COM_SH404SEF_QUICK_START="Gyorskalauz" -COM_SH404SEF_SAVE="Start!" -COM_SH404SEF_WITH_HTACCESS_MOD_REWRITE=".htaccess (mod_rewrite) használatával" -COM_SH404SEF_IMPORT_BUTTON="Importálás" -COM_SH404SEF_EXPORT_BUTTON="Exportálás" -COM_SH404SEF_WIZARD_START="Start" -COM_SH404SEF_WIZARD_NEXT="Következő" -COM_SH404SEF_WIZARD_PREVIOUS="Előző" -COM_SH404SEF_WIZARD_CANCEL="Mégsem" -COM_SH404SEF_WIZARD_TERMINATE="Leállítás" -COM_SH404SEF_DELETE_URLS_WITH_DUP="Törlés a duplikálttal
                  együtt" -; -COM_SH404SEF_USE_SH404SEF_PLUGIN="Ha elérhető akkor az sh404SEF beépülő modul használata" -COM_SH404SEF_USE_JOOMLA_PLUGIN="Joomla! router.php használata" -COM_SH404SEF_USE_JOOMSEF_PLUGIN="Joomsef beépülő modul használata" -COM_SH404SEF_USE_ACESEF_PLUGIN="Acesef beépülő modul használata" -; -COM_SH404SEF_DUPLICATES_MAKE_MAIN="Make main" -COM_SH404SEF_BACK="Vissza" -; -COM_SH404SEF_NOT_FOUND_SHOW_URLS="SEF URL-re átirányítás" -COM_SH404SEF_NOT_FOUND_SHOW_URLS_TITLE="Select a URL to 301 redirect new requests for this non-existing page. sh404SEF will select and propose a short list of URLS that look similar to the missing one. After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT="Add meg az átirányítási URL-t" -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_TITLE="Click here to manually enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'). After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_FOR="átirányítás a" -COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_LABEL="átirányítás a" -COM_SH404SEF_TT_ENTER_REDIRECT="Enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'), on your own site, and it should start with index.php?" -COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT="Az átirányítás célja" -COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT_FOR="átirányítás" -COM_SH404SEF_BACK_TO_NOT_FOUND="Vissza a nem találhatók listához" -COM_SH404SEF_SELECT_ONLY_ONE_URL_TO_REDIRECT="Please select only one URL to redirect to" -COM_SH404SEF_INVALID_REDIRECT_TARGET_ID="Id of redirection target is not valid. Please contact administrator" -COM_SH404SEF_NOT_FOUND_REDIRECT_TO="Redirect %s to %s" -COM_SH404SEF_NOT_FOUND_SHOW_SIMILAR_URLS="Csak a hasonló hivatkozások megjelenítése" -COM_SH404SEF_NOT_FOUND_SHOW_ALL_URLS="Összes SEF url megjelenítése" -COM_SH404SEF_NOT_FOUND_SWITCHING_TO_DISPLAY_ALL_SEF="Could not find any similar SEF URL. Displaying all SEF URLs instead!" -COM_SH404SEF_INSERT_SHORTLINK_TAG="Insert shortlink tag" -COM_SH404SEF_TT_INSERT_SHORTLINK_TAG="If set to Yes, and a shURL is available for current page, a rel='shortlink' link tag will be inserted in the head section of the document, and as an HTTP header." -COM_SH404SEF_INSERT_REV_CAN_TAG="Insert rev canonical tag" -COM_SH404SEF_TT_INSERT_REV_CAN_TAG="If set to Yes, and a shURL is available for current page, a rev='canonical' link tag will be inserted in the head section of the document (not to be mistaken with a rel='canonical' link)" -COM_SH404SEF_INSERT_ALT_SHORT_TAG="Insert Alt. shorter tag" -COM_SH404SEF_TT_INSERT_ALT_SHORT_TAG="If set to Yes, and a shURL is available for current page, a rel='alternate shorter' link tag will be inserted in the head section of the document" -COM_SH404SEF_CAN_READ_REMOTE_CONFIG="Távoli beállítás engedélyezése" -COM_SH404SEF_TT_CAN_READ_REMOTE_CONFIG="If set to Yes, sh404sef will read up to date configuration from a central configuration file located on one of our server (http://versions.siliana.com/sh404sef_config.xml). This is an extremely useful feature, and we strongly encourage you to enable it. sh404SEF will work as usual without this switched on, but you will not get access to the latest version of various pieces of data, such as update server urls or search engines list especially in between releases." -COM_SH404SEF_STOP_CREATING_SHURLS="Új shURL-ek létrehozásának leállítása" -COM_SH404SEF_TT_STOP_CREATING_SHURLS="If set to Yes, sh404sef will stop creating new shURLs for new pages. Existing shURL will still work normally, and will be redirected to their full-length SEF url counterpart" -COM_SH404SEF_SHURL_BLACKLIST="shURL feketelista" -COM_SH404SEF_TT_SHURL_BLACKLIST="Enter here a list of shURL you do NOT want to be created. Separate each one with a pipe ( | ) character. For instance, entering bad|bar will cause sh404SEF to never create a example.com/bad or a example.com/bar shURL.
                  Note that letters i, j, l, m, n, o, s, t, v and 0, 1, 2, 5 will never be used to create shURL, so you do not need to blacklist any word that contains one of them." -COM_SH404SEF_SHURL_NON_SEF_BLACKLIST="Nem sef url feketelista" -COM_SH404SEF_TT_SHURL_NON_SEF_BLACKLIST="Enter here a list of non-sef url parts that will prevent shURL to be generated. Separate each one with a pipe ( | ) character. For instance, entering Itemid=34|task=edit will make sure no shURL is created for any non-sef url that contains the string 'Itemid=34' or the string 'task=edit'." -; -COM_SH404SEF_CANNOT_SAVE_404_NO_UNCAT="Cannot save error page to database: no sh404SEF category on your site, probably an error during installation" -; -COM_SH404SEF_INCLUDE_CONTENT_CAT="Kategória megjelenítés" -COM_SH404SEF_TT_INCLUDE_CONTENT_CAT="Select how a content item category should be included in the url. First and last refer to the category position in the list of categories, when there are several nested categories" -; -COM_SH404SEF_INCLUDE_CONTENT_CAT_CATEGORIES="Kategória megjelenítése a kategória hivatkozásokban" -COM_SH404SEF_TT_INCLUDE_CONTENT_CAT_CATEGORIES="Select how category should be included in urls to Categories-type urls. See the menu item types to distinguish between this setting and the setting above" -COM_SH404SEF_CONTENT_TITLE_INCLUDE_CAT="Kategória megjelenítése a címben" -COM_SH404SEF_TT_CONTENT_TITLE_INCLUDE_CAT="Select how content item category will be included a browser page title" -COM_SH404SEF_CATEGORIES_SUFFIX="Kategóriák utótaggal" -COM_SH404SEF_TT_CATEGORIES_SUFFIX="Suffix used to distinguish between a regular category link and a [ List all categories ] link. The latter will have this suffix added" -COM_SH404SEF_CAT_NONE="Nincs" -COM_SH404SEF_CAT_FIRST="Csak a legfelső" -COM_SH404SEF_CAT_LAST="Csak a legutolsó" -COM_SH404SEF_CAT_2_FIRST="Felső kettő" -COM_SH404SEF_CAT_2_LAST="Utolsó kettő" -COM_SH404SEF_CAT_ALL_NESTED_CAT="All nested categories" -; -COM_SH404SEF_LIVE_SITES="Url" -COM_SH404SEF_TT_LIVE_SITES="Url where the site can be accessed for this language. Leave empty if all languages are accessed at same address - with language code such as www.exeample.org/fr/.
                  Enter a full url with no trailing slash such as http://www.frenchexample.fr, http://frenchexample.fr or http://fr.example.org.
                  You will need to set DNS records so that all requests are routed to your web server for this to work." -COM_SH404SEF_WWW_DONT_ENFORCE="Do not enforce" -COM_SH404SEF_WWW_ENFORCE_WWW="Enforce access through www url" -COM_SH404SEF_WWW_ENFORCE_NO_WWW="Enforce access without www" -COM_SH404SEF_USE_JOOMLA_ROUTER="Joomla! router használata" -; -COM_SH404SEF_UNCAT_ITEM_SLUG_NO_CAT="Csak az elem címének használata" -COM_SH404SEF_UNCAT_ITEM_SLUG_USE_MENU_ITEM="A menü elem címbe illesztése" -COM_SH404SEF_SLUG_FOR_UNCATEGORIZED_ITEMS="Nem kategorizált elemek" -COM_SH404SEF_TT_SLUG_FOR_UNCATEGORIZED_ITEMS="Urls for uncategorized items will either include only the item title/alias, or be prepended with the menu item title.
                  It is recommended to use the default value, Use item title, to avoid duplicate content that may be created when inserting a menu item title in a url" -; -COM_SH404SEF_SEE_LICENSE_AND_TERMS="see licence & terms" -; -COM_SH404SEF_ENABLE_MULTILINGUAL_SUPPORT="Többnyelvű támogatás engedélyezése" -COM_SH404SEF_TT_ENABLE_MULTILINGUAL_SUPPORT="If set to Yes, sh404SEF will support multilingual features of Joomla! Please do not enable the Language Filter plugin, sh404SEF will do it for you transparently." -COM_SH404SEF_CONFIG_SOCIAL_SEO_DESC="Configure inclusion of tags to be used by social networks when sharing your website content" -COM_SH404SEF_CONFIG_SOCIAL_SEO="Közösségi SEO beállítás" -COM_SH404SEF_CONF_SOCIAL_SEO_HELP="You can enter here some default data that will be added to each page of your site. These (invisible) Open Graph data tags will be read and used by Facebook, Google+ and possibly other social networks to help them display and organize your content, when users use Like or Send buttons on your site.
                  You can override these values on a url by url basis using the URL manager or the Title and metas manager.
                  Please become familiar with the Open Graph data tags name and content before starting to use them!
                  You can easily insert Facebook, Twitter and Google Plus buttons on your pages (articles, products, modules or even templates) by using the sh404SEF Social buttons plugin! Using sh404SEF social buttons, social actions will be tracked in your Analytics reports
                  " -COM_SH404SEF_OG_CONFIG="Szociális hálózat" -COM_SH404SEF_OG_DATA_ENABLED="Engedélyezés az összes oldalon" -COM_SH404SEF_TT_OG_DATA_ENABLED="Set to Yes to insert Open Graph tags to your pages, using default values set below, or information you will set url by url. If set to No, you can still enable this feature url by url" -COM_SH404SEF_OG_REQUIRED_TITLE="Kötelező címkék" -COM_SH404SEF_OG_TYPE_SELECT="Objektum típus" -COM_SH404SEF_TT_OG_TYPE_SELECT="Select the object type for the object described on your pages. 'Website' should be selected only on your site homepage, while 'article' is the normal type for most content" -COM_SH404SEF_OG_IMAGE_PATH="Kép" -COM_SH404SEF_TT_OG_IMAGE_PATH="Enter the path of an image (at least 50x50px) that represent the object on your page. This should probably be set url by url. The path must be absolute, starting with a /" -COM_SH404SEF_OG_OPTIONAL_TITLE="Szabadon választható címkék" -COM_SH404SEF_OG_INSERT_DESCRIPTION="Leírás beillesztés" -COM_SH404SEF_TT_OG_INSERT_DESCRIPTION="If set to yes, an Open graph tag with a page description will be added to your pages. The description used will be the same as the regular Description meta tag, and can be set, for instance, using sh404SEF Title and metas manager." -COM_SH404SEF_OG_INSERT_SITE_NAME="Webhely név beillesztés" -COM_SH404SEF_TT_OG_INSERT_SITE_NAME="If set to Yes, an Open Graph tag with your site name will be added to your pages" -COM_SH404SEF_OG_SITE_NAME="Webhely név" -COM_SH404SEF_TT_OG_SITE_NAME="Enter your site name. If left empty, the site name set in Joomla! general configuration will be used." -COM_SH404SEF_FB_ADMIN_IDS="Facebook admin azonosítók" -COM_SH404SEF_TT_FB_ADMIN_IDS="Enter a comma separated list of Facebook admin ids. If set, this will be used by Facebook to attach your objects to your profile" -COM_SH404SEF_OG_LOCATION_TITLE="Helyszín címkék" -COM_SH404SEF_OG_INSERT_LOCATION="Helyszín beillesztés" -COM_SH404SEF_TT_OG_INSERT_LOCATION="If set to Yes, Open Graph location data tags will be inserted into your pages, using default values set below, or information you will set url by url" -COM_SH404SEF_OG_LATITUDE="Hosszúság" -COM_SH404SEF_TT_OG_LATITUDE="Enter the latitude of the object described on your page, for instance: 37.416343" -COM_SH404SEF_OG_LONGITUDE="Szélesség" -COM_SH404SEF_TT_OG_LONGITUDE="Enter the longitude of the object described on your page, for instance: -122.153013" -COM_SH404SEF_OG_STREET_ADDRESS="Utca és házszám" -COM_SH404SEF_TT_OG_STREET_ADDRESS="Enter the street address of the object described on your page, for instance: 1601 S California Ave" -COM_SH404SEF_OG_LOCALITY="Helység" -COM_SH404SEF_TT_OG_LOCALITY="Enter the locality of the object described on your page, for instance: Palo Alto" -COM_SH404SEF_OG_POSTAL_CODE="Irányítószám" -COM_SH404SEF_TT_OG_POSTAL_CODE="Enter the postal code of the object described on your page, for instance: 94304" -COM_SH404SEF_OG_COUNTRY_NAME="Ország" -COM_SH404SEF_TT_OG_COUNTRY_NAME="Enter the country name of the object described on your page, for instance: USA" -COM_SH404SEF_OG_CONTACT_TITLE="Kapcsolat címkék" -COM_SH404SEF_OG_INSERT_CONTACT="Kapcsolat infó beillesztés" -COM_SH404SEF_TT_OG_INSERT_CONTACT="If set to Yes, Open Graph contact information tags will be inserted into your pages, using default values set below, or information you will set url by url" -COM_SH404SEF_OG_EMAIL="Email" -COM_SH404SEF_TT_OG_EMAIL="Enter email of the object described on your page, for instance: me@example.com" -COM_SH404SEF_OG_PHONE_NUMBER="Telefonszám" -COM_SH404SEF_TT_OG_PHONE_NUMBER="Enter the phone number of the object described on your page, for instance: 650-123-4567" -COM_SH404SEF_OG_FAX_NUMBER="Fax szám" -COM_SH404SEF_TT_OG_FAX_NUMBER="Enter the fax number of the object described on your page, for instance: +1-415-123-4567" -COM_SH404SEF_OG_TYPES_GROUP_ACTIVITIES="Aktivitás" -COM_SH404SEF_OG_TYPES_ACTIVITY="Aktivitás" -COM_SH404SEF_OG_TYPES_SPORT="Sport" -COM_SH404SEF_OG_TYPES_GROUP_BUSINESSES="Üzlet" -COM_SH404SEF_OG_TYPES_BAR="Bár" -COM_SH404SEF_OG_TYPES_COMPANY="Társaság" -COM_SH404SEF_OG_TYPES_CAFE="Kávézó" -COM_SH404SEF_OG_TYPES_HOTEL="Szálló" -COM_SH404SEF_OG_TYPES_RESTAURANT="Étterem" -COM_SH404SEF_OG_TYPES_GROUP_GROUPS="Csoportok" -COM_SH404SEF_OG_TYPES_CAUSE="Okok" -COM_SH404SEF_OG_TYPES_SPORTS_LEAGUE="Sports league" -COM_SH404SEF_OG_TYPES_SPORTS_TEAM="Sport csapat" -COM_SH404SEF_OG_TYPES_GROUP_ORGANIZATIONS="Szervezetek" -COM_SH404SEF_OG_TYPES_BAND="Zenekar" -COM_SH404SEF_OG_TYPES_GOVERNMENT="Kormányzat" -COM_SH404SEF_OG_TYPES_NON_PROFIT="Non profit" -COM_SH404SEF_OG_TYPES_SCHOOL="Iskola" -COM_SH404SEF_OG_TYPES_UNIVERSITY="Egyetem" -COM_SH404SEF_OG_TYPES_GROUP_PEOPLE="Ember" -COM_SH404SEF_OG_TYPES_ACTOR="Színész" -COM_SH404SEF_OG_TYPES_ATHLETE="Sportoló" -COM_SH404SEF_OG_TYPES_AUTHOR="Szerző" -COM_SH404SEF_OG_TYPES_DIRECTOR="Rendező" -COM_SH404SEF_OG_TYPES_MUSICIAN="Zenész" -COM_SH404SEF_OG_TYPES_POLITICIAN="Politikus" -COM_SH404SEF_OG_TYPES_PUBLIC_FIGURE="Közéleti személyiség" -COM_SH404SEF_OG_TYPES_GROUP_PLACES="Helyek" -COM_SH404SEF_OG_TYPES_CITY="Város" -COM_SH404SEF_OG_TYPES_COUNTRY="Ország" -COM_SH404SEF_OG_TYPES_LANDMARK="Tájékozódási pont" -COM_SH404SEF_OG_TYPES_STATE_PROVINCE="Megye" -COM_SH404SEF_OG_TYPES_GROUP_PROD_AND_ENTERTAINMENT="Product and entertainement" -COM_SH404SEF_OG_TYPES_ALBUM="Album" -COM_SH404SEF_OG_TYPES_BOOK="Könyv" -COM_SH404SEF_OG_TYPES_DRINK="Ital" -COM_SH404SEF_OG_TYPES_FOOD="Étel" -COM_SH404SEF_OG_TYPES_GAME="Játék" -COM_SH404SEF_OG_TYPES_PRODUCT="Termék" -COM_SH404SEF_OG_TYPES_SONG="Zene" -COM_SH404SEF_OG_TYPES_MOVIE="Film" -COM_SH404SEF_OG_TYPES_TV_SHOW="Tv műsor" -COM_SH404SEF_OG_TYPES_GROUP_WEBSITES="Webhelyek" -COM_SH404SEF_OG_TYPES_BLOG="Blog" -COM_SH404SEF_OG_TYPES_WEBSITE="Webhely" -COM_SH404SEF_OG_TYPES_ARTICLE="Cikk" -COM_SH404SEF_OG_TT_CLEAR_PER_URL="
                  Enter a @ sign to clear the global value set in configuration for this field" -COM_SH404SEF_OG_DATA_ENABLED_BY_URL="Engedélyezés ezen az oldalon" -COM_SH404SEF_TT_OG_DATA_ENABLED_BY_URL="If set to Yes, Open graph data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" -COM_SH404SEF_CANONICAL="Canonical hivatkozás" -COM_SH404SEF_TT_CANONICAL="Enter a canonical url for this page. A canonical url will help search engines consolidate content which can be accessed through several URL under a unique one.
                  You can enter any type of URL here, relative, absolute, on your site or even onto another web site. To reduce errors, we advise you enter an absolute url, either starting with a / or with http://
                  Make sur you know what you're doing, a wrong canonical url can kill your site rankings." -COM_SH404SEF_OG_ENABLE_FB_ADMIN_IDS="Facebook adminisztrátor azonosítók beillesztése" -COM_SH404SEF_TT_OG_ENABLE_FB_ADMIN_IDS="If set to Yes, Facebook admin ids will be inserted in current page, regardless of the default setting in sh404SEF configuration. You can also customize the ids used on this page using the input box below. If set to No, the ids will not be inserted, and if set to Use Default, it will depend on sh404SEF global configuration" -COM_SH404SEF_ANALYTICS_SOCIAL_ENGAGEMENT="Social engagement" -COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT="Összes közösségi események száma" -COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT_DESC="Total net number of social engagement actions that took place on your site" -COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT="Visits with social action" -COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT_DESC="Net number of visits that included some social actions" -COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT="Facebook események száma" -COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT_DESC="A Facebook események száma (Tetszik - Mégsem tetszik)" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT="+1 folyamatok" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT_DESC="A Google +1 események száma (Plusszolva - Visszavonva)" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT="+1 oldal folyamat számláló" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT_DESC="Összes Google +1 oldal események száma" -COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT="Twitter események száma" -COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT_DESC="Összes Twitter események száma" -COM_SH404SEF_ANALYTICS_SOCIAL_FACEBOOK_ENGAGEMENT="Facebook kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_FACEBOOK_ENGAGEMENT="Még nincs rögzített Facebook kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_TWEETER_ENGAGEMENT="Twitter kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_TWEETER_ENGAGEMENT="Még nincs rögzített Twitter kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ENGAGEMENT="+1 kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_ENGAGEMENT="Még nincs rögzített +1 kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_PAGE_ENGAGEMENT="+1 oldal kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_PAGE_ENGAGEMENT="Még nincs rögzített +1 oldal kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_LIKE="Tetszik" -COM_SH404SEF_ANALYTICS_SOCIAL_UNLIKE="Nem tetszik" -COM_SH404SEF_ANALYTICS_SOCIAL_SEND="Küld" -COM_SH404SEF_ANALYTICS_SOCIAL_TYPE="Típus" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_ENGAGEMENT="Google +1 kapcsolat" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_PAGE_ENGAGEMENT="Google +1 oldalak kapcsolat" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT="+1 oldal események száma" -COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT_DESC="Number of actions performed by visitors" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ON="Plusszolva" -COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_OFF="Visszavont plusszolás" -; -COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT="Pinterest események száma" -COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT_DESC="Összes Pinterest események száma" -COM_SH404SEF_ANALYTICS_SOCIAL_PINNED="Pinned" -COM_SH404SEF_ANALYTICS_SOCIAL_NO_PINTEREST_ENGAGEMENT="There was no Pinterest page engagement recorded" -COM_SH404SEF_ANALYTICS_SOCIAL_PINTEREST_ENGAGEMENT="Pinterest engagement" -COM_SH404SEF_INSERT_PAGINATION_TAGS="Insert prev/next pagination tags" -COM_SH404SEF_TT_INSERT_PAGINATION_TAGS="If set to Yes, rel='prev' and rel='next' link tags will be inserted in html documents section, to help search engines identify pages that are part of a paginated series" -; -COM_SH404SEF_TT_VIRTUEMART_NOTE="
                  Note:When using Virtuemart, more url settings are available directly inside Virtuemart configuration, under the SEO tab. However, some sh404SEF general settings such as pagination strings will not work with Virtuemart urls" -; -COM_SH404SEF_TT_DEBUG_TO_LOG_FILE_PLUGIN="You can enable logging of useful debug information to a log file in the ShLib plugin parameters. Set 'Log debug message' to Yes there. Don't forget to disable it after a while, as log files may get quite large quite soon" -COM_SH404SEF_CONFIGURE_SHLIB_PLUGIN="shLib plugin beállítása" -; -COM_SH404SEF_404_PAGE_DESCRIPTION="You can edit here the text of an article that will be displayed as an error page in case of '404 Page not found' error.
                  The error page is a regular Joomla! content article, stored in the 'sh404SEF custom content' category. The content displayed here is for the 'All' or '*' language. It can equally be modified from Joomla!'s article list, under the title '__404__'.
                  You can also make copies of that '__404__' article in other languages, in the same category, and translate them, but always keep the same '__404__' title for all languages" -; -COM_SH404SEF_OG_TYPES_PROFILE="Profil" -COM_SH404SEF_OG_TYPES_TV_EPISODE="Tv epizód" -COM_SH404SEF_OG_TYPES_TV_VIDEO="Videó" -; -COM_SH404SEF_URL_CACHE_HANDLER="Url gyorsítótár kezelő" -COM_SH404SEF_TT_URL_CACHE_HANDLER="If URL cache is enabled, URLs can be cached either on a disk file (default), or in shared memory. The latter requires a cache system such as APC, Memcache, WinCache to be installed and properly activated on your server.
                  You can set up connection parameters for these cache system, if required, in the shLib system plugin" -COM_SH404SEF_URL_CACHE_HANDLER_FILE="Lemezfájl" -COM_SH404SEF_URL_CACHE_HANDLER_SHARED_MEMORY="Megosztott memória" -COM_SH404SEF_DISPLAY_URL_CACHE_STATS="Gyorsítótár statisztika megjelenítés" -COM_SH404SEF_TT_DISPLAY_URL_CACHE_STATS="If set to Yes, URL cache statistics will be appended to the end of each page. Enable only for debugging and testing purpose" -; -COM_SH404SEF_ANALYTICS_USER_GROUPS="Enable for groups" -COM_SH404SEF_TT_ANALYTICS_USER_GROUPS="Select one or more user groups for which Analytics data collection is enabled." -; -COM_SH404SEF_COM_CONFIG_INFO_TEXT="sh404SEF configuration is accessed from it's main control panel, using the 'Configuration' toolbar button." -COM_SH404SEF_START="Start!" -COM_SH404SEF_PLEASE_WAIT="Just a moment..." -COM_SH404SEF_NEW_VERSION_AVAILABLE_NO_HTML="New version available !" -; -COM_SH404SEF_REMOVE_OTHER_CANONICALS="Remove other canonicals" -COM_SH404SEF_TT_REMOVE_OTHER_CANONICALS="If set to Yes, multiple canonical tags inserted by Joomla! and/or other extensions will be removed so that only one canonical tag at most is left." -; -COM_SH404SEF_FOOTER_FULL="sh404SEF %s %s | Copyright ©%s Yannick Gaultier, Anything Digital,llc" -; -COM_SH404SEF_TT_ANALYTICS_EDITION="Select which edition of Google Analytics to use. You can use Universal analytics with sh404SEF, but due to Universal current limitations (beta), none of the advanced analytics features of sh404SEF are available with it. It is recommended for now to run either Classic or both.
                  You can also decide to use Google Tags Manager (GTM). GTM replaces both Classic Google Analytics and Universal Analytics." -COM_SH404SEF_ANALYTICS_NONE="None" -COM_SH404SEF_ANALYTICS_CLASSIC="Classic" -COM_SH404SEF_ANALYTICS_UNIVERSAL="Universal" -COM_SH404SEF_ANALYTICS_BOTH="Classic & Universal" -COM_SH404SEF_ANALYTICS_UGA_ID="Web Property ID (universal)" -COM_SH404SEF_TT_ANALYTICS_UGA_ID="The ID for this site, as supplied by Google analytics Universal edition. It should look like UA-XXXXX-Y where X and Y are numbers.
                  We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                  If you already have an account, just use it, you don't need to create a separate one for sh404SEF." -; -COM_SH404SEF_UPDATES="Updates" -COM_SH404SEF_UPDATES_DESCRIPTION="Some editions of this extension requires credentials to perform one-click updates. Cut and paste them from your subscription dashboard on our website." -COM_SH404SEF_CONF_TAB_UPDATES="Update credentials" -COM_SH404SEF_UPDATE_ACCESS_KEY="Access key" -COM_SH404SEF_TT_UPDATE_ACCESS_KEY="Enter here your update access key" -COM_SH404SEF_UPDATE_SECRET_KEY="Secret key" -COM_SH404SEF_TT_UPDATE_SECRET_KEY="Enter here your update secret key" -COM_SH404SEF_PERFORM_UPDATE="Update now!" -; -COM_SH404SEF_ANALYTICS_GOOGLE_TAGS_MANAGER="Use Google Tags Manager" -COM_SH404SEF_ANALYTICS_GTM_ID="Google Tags manager ID" -COM_SH404SEF_TT_ANALYTICS_GTM_ID="Insert here your Google Tags Manager ID. It should look like GTM-XXXXXX." -; -COM_SH404SEF_TWITTER_CARDS_TITLE="Twitter Cards" -COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS="Enable Twitter Cards" -COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC="If set to Yes, Twitter Cards meta tags will be inserted into the page head section" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT="Site account" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:site' cards meta tag, including @ sign" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT="Creator account" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:creator' cards meta tag, including @ sign" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_USE_OG_IMAGE="Please note that Twitter Cards image tag will use the same image as OpenGraph image tag" -COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC_PER_URL="If set to Yes, Twitter Cards data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES="Enable on categories" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_DESC="Select one or more Joomla! content categories where Twitter Cards informaton should be inserted" -COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_SHOW_ON_ALL="All categories" -; -COM_SH404SEF_GOOGLE_AUTHORSHIP_TITLE="Google authorship" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP="Enable Google authorship" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP_DESC="If set to Yes, Google+ authorship information will replace Joomla! provided author information" -COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE="Profile id" -COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE_DESC="Enter your Google+ profile Id. This may be a number such as 1464599466741256989 or named url similar to +johnDoe (include the leading +)" -COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME="Author name" -COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME_DESC="Enter your full name as it appears on your Google+ profile" -COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES="Enable on categories" -COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_DESC="Select one or more Joomla! content categories where Google+ authorship informaton should be inserted" -COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_SHOW_ON_ALL="All categories" -; -COM_SH404SEF_LANGUAGEFILTER_PLUGIN_WARNING="It seems your site is multilingual. From sh404SEF version 4.3.1 up, Joomla! languagefilter system plugin should now be enabled, while older versions required it to be disabled. You can enable it on this page" -; -COM_SH404SEF_ANALYTICS_ENABLE_ANONYMIZATION="Anonymize IP" -COM_SH404SEF_TT_ANALYTICS_ENABLE_ANONYMIZATION="If set to Yes, required code to ask Google to anonymize visitors IP address will be added to the tracking snippet" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER="Enable Google publisher tag" -COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER_DESC="If set to Yes, a rel=publisher tag will be inserted in the section of each page - unless you already have set a visible Google+ page badge (see sh404SEF core social plugin parameters). In such case, the latter will take precedence." -COM_SH404SEF_GOOGLE_PUBLISHER_URL="Google+ publisher URL" -COM_SH404SEF_GOOGLE_PUBLISHER_URL_DESC="Enter here the Google+ page of the publisher. This may be a number such as 1464599466741256989 or a named url similar to +myCompany (include the leading +)" +; @version $Id$ +; @package sh404sef-1 +; @author Yannick Gaultier +; @copyright Copyright (C) 2014 Yannick Gaultier All rights reserved. +; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL + +COM_SH404SEF_404PAGE="404-es oldal" +COM_SH404SEF_ADD="Új" +COM_SH404SEF_ADDFILE="Alapértelmezett indexfájl." +COM_SH404SEF_ASC=" (növ) " +COM_SH404SEF_BADURL="A régi nem keresőbarát URL-nek index.php-val kell kezdődnie" +COM_SH404SEF_CHK_PERMS="Kérjük, hogy ellenőrizd a fájlengedélyeket, és biztosítsd, hogy ez a fájl olvasható legyen." +COM_SH404SEF_CONFIG="sh404SEF
                  beállításai" +COM_SH404SEF_CONFIG_DESC="Az sh404SEF funkcióinak konfigurálása" +COM_SH404SEF_CONFIG_UPDATED="Kész a beállítások módosítása" +COM_SH404SEF_CONFIRM_ERASE_CACHE="Biztosan ki akarod üríteni az URL átmeneti tárolót? Ez a beállítások megváltoztatása után erősen ajánlott. Az átmeneti tároló újbóli létrehozásához böngéssz az oldalon vagy hozd létre a webhelyed oldaltérképét." +COM_SH404SEF_COPYRIGHT="Copyright" +COM_SH404SEF_DATEADD="Hozzáadva" +COM_SH404SEF_DEBUG_DATA_DUMP="A HIBAKERESÉSI ADATOK KIÍRATÁSA BEFEJEZŐDÖTT: Az oldalbetöltés leállt" +COM_SH404SEF_DEF_404_MSG="

                  Hiba: nem találjuk ezt az oldalt!

                  Ezt az oldalt {%sh404SEF_404_URL%} kérted, de minden próbálkozásunk ellenére sem találtuk meg. Mi történt?

                  • a hivatkozás amivel erre az oldalra kattintottál elírást tartalmaz
                  • vagy eltávolítottuk ezt az oldalt, esetleg más nevet kapott
                  • biztosak soha nem lehetünk benne, de esetleg rosszul írtad be?

                  {sh404sefSimilarUrlsCommentStart}Azért még nincs mindennek vége, esetleg nézd meg ezeket az oldalakat a webhelyelyünkön:{sh404sefSimilarUrlsCommentEnd}

                  {sh404sefSimilarUrls}

                  " +COM_SH404SEF_DEF_404_PAGE="Alapértelmezett 404 oldal" +COM_SH404SEF_DESC=" (csökk) " +COM_SH404SEF_EDIT="Szerkesztés" +COM_SH404SEF_EMPTYURL="Kérjük, hogy add meg az átirányítás URL-jét." +COM_SH404SEF_ENABLED="Engedélyezett" +COM_SH404SEF_ERROR_IMPORT="Hiba történt az importálás közben:" +COM_SH404SEF_EXPORT="Egyéni URL-ek biztonsági mentése" +COM_SH404SEF_EXPORT_FAILED="AZ EXPORTÁLÁS NEM SIKERÜLT!!!" +COM_SH404SEF_FATAL_ERROR_HEADERS="VÉGZETES HIBA: A FEJLÉC ELKÜLDÉSE MÁR MEGTÖRTÉNT" +COM_SH404SEF_FRIENDTRIM_CHAR="Barátságos karakterek levágása" +COM_SH404SEF_HELP="sh404SEF
                  támogatás" +COM_SH404SEF_HELPDESC="Segítségre van szükséged az sh404SEF használatához?" +COM_SH404SEF_HELPVIA="Segítséget az alábbi fórumokban kaphatsz:" +COM_SH404SEF_HIDE_CAT="Kategória elrejtése" +COM_SH404SEF_IMPORT="Egyéni URL-ek importálása" +COM_SH404SEF_IMPORT_EXPORT="Egyéni URL-ek importálása/exportálása" +COM_SH404SEF_IMPORT_OK="Az egyéni URL-ek importálása sikeres!" +COM_SH404SEF_INFO="sh404SEF
                  dokumentáció" +COM_SH404SEF_INFODESC="Az sh404SEF projekt összegzésének és dokumentációjának megtekintése" +COM_SH404SEF_INSTALLED_VERS="Telepített verzió:" +COM_SH404SEF_INVALID_SQL="AZ SQL FÁJL ÉRVÉNYTELEN ADATOKAT TARTALMAZ :" +COM_SH404SEF_INVALID_URL="ÉRVÉNYTELEN URL: ehhez a hivatkozáshoz érvényes elemazonosítóra van szükség, de nem található egy sem.
                  MEGOLDÁS: Készítsd el ennek az elemnek a menüpontját. Nem kell közzétenned, csak hozd létre." +COM_SH404SEF_LICENSE="Licenc" +COM_SH404SEF_LOWER="Mind kisbetűs" +COM_SH404SEF_MAMBERS="Mambers fórum" +COM_SH404SEF_NO_UNLINK="A feltöltött fájl nem távolítható el a media könyvtárból" +COM_SH404SEF_NOACCESS="Nem lehet hozzáférni a következő táblához: " +COM_SH404SEF_NOCACHE="nincs tárazás" +COM_SH404SEF_NOLEADSLASH="Az új keresőbarát URL NE KEZDŐDJÖN PERJELLEL" +COM_SH404SEF_NOREAD="VÉGZETES HIBA: A fájl nem olvasható " +COM_SH404SEF_NORECORDS="Nincs ilyen." +COM_SH404SEF_OFFICIAL="Projekt hivatalos fóruma" +COM_SH404SEF_OK=" OK " +COM_SH404SEF_PAGEREP_CHAR="Oldalelválasztó karakter" +COM_SH404SEF_PAGETEXT="Az oldal szövege" +COM_SH404SEF_PROCEED=" Tovább " +COM_SH404SEF_PURGE404="404 napló
                  kiürítése" +COM_SH404SEF_PURGE404DESC="A 404 napló kiürítése" +COM_SH404SEF_PURGECUSTOM="Egyéni átirányítások
                  kiürítése" +COM_SH404SEF_PURGECUSTOMDESC="Az egyéni átirányítások kiürítése" +COM_SH404SEF_PURGEURL="Keresőbarát URL-ek
                  kiürítése" +COM_SH404SEF_PURGEURLDESC="A keresőbarát URL-ek kiürítése" +COM_SH404SEF_REALURL="Valódi URL" +COM_SH404SEF_RECORD=" rekord törlésére készülsz" +COM_SH404SEF_RECORDS=" rekord törlésére készülsz" +COM_SH404SEF_REPLACE_CHAR="Helyettesítő karakter" +COM_SH404SEF_SAVEAS="Mentés egyéni átirányításként" +COM_SH404SEF_SEFURL="Keresőbarát URL" +COM_SH404SEF_SELECT_DELETE="Jelöld ki a törlendő elemet" +COM_SH404SEF_SELECT_FILE="Kérjük, hogy előbb válassza ki a fájlt" +COM_SH404SEF_ACTIVATE_IJOOMLA_MAG="Az iJoomla Magazine aktiválása a tartalomban" +COM_SH404SEF_ADV_INSERT_ISO="A nyelvkód beszúrása" +COM_SH404SEF_ADV_MANAGE_URL="URL feldolgozás" +COM_SH404SEF_ADV_TRANSLATE_URL="Az URL lefordítása" +COM_SH404SEF_ALWAYS_INSERT_ITEMID="Az elemazonosító hozzáfűzése a SEF URL-hez minden alkalommal" +COM_SH404SEF_ALWAYS_INSERT_MENU_TITLE="A menücím beszúrása minden alkalommal" +COM_SH404SEF_CACHE_TITLE="Gyorsítótár-kezelés" +COM_SH404SEF_CAT_TABLE_SUFFIX="Táblázat" +COM_SH404SEF_CB_INSERT_NAME="A Community Builder nevének beszúrása" +COM_SH404SEF_CB_INSERT_USER_ID="A felhasználó azonosítójának beszúrása" +COM_SH404SEF_CB_INSERT_USER_NAME="Felhasználónév beszúrása" +COM_SH404SEF_CB_NAME="Alapértelmezett CB név" +COM_SH404SEF_CB_TITLE="Community Builder beállításai " +COM_SH404SEF_CB_USE_USER_PSEUDO="A felhasználónév beszúrása" +COM_SH404SEF_CONF_TAB_ADVANCED="Speciális" +COM_SH404SEF_CONF_TAB_BY_COMPONENT="Komponens" +COM_SH404SEF_CONF_TAB_MAIN="Fő" +COM_SH404SEF_CONF_TAB_PLUGINS="Beépülő modulok" +COM_SH404SEF_DEFAULT_MENU_ITEM_NAME="Alapértelmezett menücím" +COM_SH404SEF_DO_NOT_INSERT_LANGUAGE_CODE="Nincs kódbeszúrás" +COM_SH404SEF_DO_NOT_OVERRIDE_SEF_EXT="Nincs SEF kiterjesztés felülbírálás" +COM_SH404SEF_OVERRIDE_SEF_EXT="A saját SEF kiterjesztés hatálytalanítása" +COM_SH404SEF_DO_NOT_TRANSLATE_URL="Nincs lefordítás" +COM_SH404SEF_ENCODE_URL="URL kódolása" +COM_SH404SEF_FB_INSERT_CATEGORY_ID="Kategória-azonosító beszúrása" +COM_SH404SEF_FB_INSERT_CATEGORY_NAME="Kategórianév beszúrása" +COM_SH404SEF_FB_INSERT_MESSAGE_ID="A hozzászólás azonosítójának beszúrása" +COM_SH404SEF_FB_INSERT_MESSAGE_SUBJECT="A hozzászólás tárgyának beszúrása" +COM_SH404SEF_FB_INSERT_NAME="A Kunena név beszúrása" +COM_SH404SEF_FB_NAME="A Kunena alapértelmezett neve" +COM_SH404SEF_FB_TITLE="Kunena beállításai " +COM_SH404SEF_FILTER="Szűrő" +COM_SH404SEF_FORCE_NON_SEF_HTTPS="HTTPS esetén a nem SEF használata" +COM_SH404SEF_GUESS_HOMEPAGE_ITEMID="Az elemazonosító kitalálása a címlapon" +COM_SH404SEF_IJOOMLA_MAG_NAME="Alapértelmezett magazin neve" +COM_SH404SEF_IJOOMLA_MAG_TITLE="iJoomla Magazine beállításai" +COM_SH404SEF_INSERT_GLOBAL_ITEMID_IF_NONE="A menü-elemazonosító beszúrása, ha nincs" +COM_SH404SEF_INSERT_IJOOMLA_MAG_ARTICLE_ID="Cikkazonosító beszúrása az URL-be" +COM_SH404SEF_INSERT_IJOOMLA_MAG_ISSUE_ID="A szám azonosítójának beszúrása az URL-be" +COM_SH404SEF_INSERT_IJOOMLA_MAG_MAGAZINE_ID="A magazin azonosítójának beszúrása az URL-be" +COM_SH404SEF_INSERT_IJOOMLA_MAG_NAME="A magazin nevének beszúrása az URL-be" +COM_SH404SEF_INSERT_LANGUAGE_CODE="A nyelvkód beszúrása az URL-be" +COM_SH404SEF_INSERT_NUMERICAL_ID="Numerikus azonosító beszúrása az URL-be" +COM_SH404SEF_INSERT_NUMERICAL_ID_ALL_CAT="Minden kategória" +COM_SH404SEF_INSERT_NUMERICAL_ID_CAT_LIST="Mely kategóriákra alkalmazandó" +COM_SH404SEF_INSERT_NUMERICAL_ID_TITLE="Egyedi AZ" +COM_SH404SEF_INSERT_PRODUCT_ID="A termékazonosító beszúrása az URL-be" +COM_SH404SEF_INSERT_TITLE_IF_NO_ITEMID="A menücím beszúrása, ha nincs elemazonosító" +COM_SH404SEF_ITEMID_TITLE="Elemazonosító-kezelés" +COM_SH404SEF_LETTERMAN_DEFAULT_ITEMID="A Letterman oldal alapértelmezett elemazonosítója" +COM_SH404SEF_LETTERMAN_TITLE="Letterman beállításai " +COM_SH404SEF_LIVE_SECURE_SITE="SSL biztonságos URL" +COM_SH404SEF_LOG_404_ERRORS="404-es hibák naplózása" +COM_SH404SEF_MAX_URL_IN_CACHE="A gyorsítótár mérete" +COM_SH404SEF_REDIR_404="404" +COM_SH404SEF_REDIR_CUSTOM="Egyéni" +COM_SH404SEF_REDIR_SEF="SEF" +COM_SH404SEF_REDIR_TOTAL="Összes" +COM_SH404SEF_REDIRECT_JOOMLA_SEF_TO_SEF="301-es átirányítás a JOOMLA SEF-ről az sh404SEF-re" +COM_SH404SEF_REDIRECT_NON_SEF_TO_SEF="301 átirányítás nem keresőbarát URL-ről keresőbarátra" +COM_SH404SEF_REPLACEMENTS="Karaktercserék listája" +COM_SH404SEF_SHOP_NAME="Alapértelmezett üzletnév" +COM_SH404SEF_TRANSLATE_URL="Az URL lefordítása" +COM_SH404SEF_TRANSLATION_TITLE="Fordítás kezelése" +COM_SH404SEF_USE_URL_CACHE="Az URL gyorsítótárazás aktiválása" +COM_SH404SEF_VM_ADDITIONAL_TEXT="Kiegészítő szöveg" +COM_SH404SEF_VM_DO_NOT_SHOW_CATEGORIES="Nincs" +COM_SH404SEF_VM_INSERT_CATEGORIES="Beszúrandó kategóriák" +COM_SH404SEF_VM_INSERT_CATEGORY_ID="A kategóriaazonosító beszúrása az URL-ben" +COM_SH404SEF_VM_INSERT_FLYPAGE="Terméklap nevének beszúrása" +COM_SH404SEF_VM_INSERT_MANUFACTURER_ID="Gyártó azonosítójának beszúrása" +COM_SH404SEF_VM_INSERT_MANUFACTURER_NAME="A gyártó nevének beszúrása az URL-be" +COM_SH404SEF_VM_INSERT_SHOP_NAME="Az üzlet nevének beszúrása az URL-be" +COM_SH404SEF_VM_SHOW_ALL_CATEGORIES="Az összes beágyazott kategória" +COM_SH404SEF_VM_SHOW_LAST_CATEGORY="Csak az utolsó" +COM_SH404SEF_VM_TITLE="VirtueMart beállításai" +COM_SH404SEF_VM_USE_PRODUCT_SKU="A termék cikkszámának használata névként" +COM_SH404SEF_SHOW0="Keresőbarát URL-ek" +COM_SH404SEF_SHOW1="404 napló" +COM_SH404SEF_SHOW2="Egyéni átirányítások" +COM_SH404SEF_SKIP="kihagyás" +COM_SH404SEF_SORTBY="Rendezési mód:" +COM_SH404SEF_STRANGE="Valami különös történt. Ennek nem szabadott volna előfordulnia
                  " +COM_SH404SEF_STRIP_CHAR="Eltávolítandó karakterek" +COM_SH404SEF_SUCCESSPURGE="A rekordok kiürítése sikeres" +COM_SH404SEF_SUFFIX="Fájl utótag" +COM_SH404SEF_SUPPORT="Támogató
                  webhely" +COM_SH404SEF_SUPPORTDESC="Kapcsolódás az sh404SEF webhelyéhez (új ablakban)" +COM_SH404SEF_TITLE_ADV="Speciális komponens beállítások" +COM_SH404SEF_TITLE_BASIC="Alapbeállítások" +COM_SH404SEF_TITLE_CONFIG="A sh404SEF konfigurációs fájl" +COM_SH404SEF_TITLE_MANAGER="sh404SEF URL-kezelő" +COM_SH404SEF_TITLE_PURGE="sh404SEF adatbázis kiürítése" +COM_SH404SEF_TITLE_SUPPORT="sh404SEF támogatás" +COM_SH404SEF_TT_ADDFILE="Üres URL után teendő fájlnév / ha egy fájl sem létezik. A weblapodat indexelő robotok esetén hasznos, melyek egy bizonyos fájlt keresnek azon a helyen, viszont 404-es hibát ad vissza, mert nincs ott." +COM_SH404SEF_TT_ADV4="Speciális beállítások: " +COM_SH404SEF_TT_ENABLED="A Nem választása esetén a Joomla alapértelmezett keresőbarát funkcióját fogja használni a rendszer" +COM_SH404SEF_TT_FRIENDTRIM_CHAR="Az URL-ben lévő levágandó karakterek, | szimbólummal elválasztva. Figyelem: ha megváltoztatod ezt az alapértelmezett értéket, legyél biztos abban, hogy nem hagyod üresen. Legalább egy szóközt használj, mivel egy Joomla hiba miatt ezt nem lehet üresen hagyni." +COM_SH404SEF_TT_LOWER="Az URL-ben lévő összes karaktert kisbetűssé alakítja" +COM_SH404SEF_TT_PAGEREP_CHAR="Az oldalszámokat az URL többi részétől történő elválasztásra használandó karakter" +COM_SH404SEF_TT_PAGETEXT="Több oldal URL-jéhez hozzáfűzendő szöveg. A %s használatával szúrhatod be az oldalszámot, alapértelmezésként a végére kerül. Ha meghatározol egy előtagot, akkor hozzáfűzi ennek a karakterláncnak a végéhez." +COM_SH404SEF_TT_REPLACE_CHAR="Az URL-ben előforduló ismeretlen karaktereket behelyettesítő karakter" +COM_SH404SEF_TT_ACTIVATE_IJOOMLA_MAG="Az Igen választása esetén a kiadás paramétere ha továbbításra kerül a com_content komponensnek, akkor az iJoomla magazin kiadás azonosítójaként kerül értelmezésre." +COM_SH404SEF_TT_ADV_INSERT_ISO="Mindegyik telepített komponenshez, és ha a webhely többnyelvű, válaszd ki, hogy be kell-e szúrni a célnyelv ISO-kódját a keresőbarát URL-be. Például : www.weblapom.hu/fr/bemutatkozas.html. Az fr jelentésse francia. Ez a kód nem kerül beszúrásra az alapértelmezett nyelv URL-jébe." +COM_SH404SEF_TT_ADV_MANAGE_URL="Mindegyik telepített komponens esetén:
                  az alapértelmezett kezelő használata
                  feldolgozás normál módon, ha van SEF Advanced kiterjesztés, akkor az kerül felhasználásra helyette.
                  nincs gyorsítótárazás
                  nincs tárolás az adatbázisban, és régi stílusú keresőbarát URL-ek létrehozása
                  kihagyás
                  nincs keresőbarát URL-készítés ehhez a komponenshez
                  " +COM_SH404SEF_TT_ADV_OVERRIDE_SEF="Egyes komponensekhez adnak ki SEF kiterjesztésfájlt (sef_ext), ami használható az OpenSEF-hez vagy a SEF Advance-hoz. Az sh404SEF fel tudja őket használni. Ha ennek a paraméternek A saját SEF kiterjesztés hatálytalanítása a beállítása, akkor az then sh404SEF a saját kiterjesztését fogja felhasználni (ha van hozzá!), mint a komponenshez kiadottat. A Nincs SEF kiterjesztés felülbírálás választása esetén a komponenshez adott SEF kiterjesztés kerül felhasználásra." +COM_SH404SEF_TT_ADV_TRANSLATE_URL="Válaszd ki mindegyik telepített komponens számára, hogy le kell-e fordítani az URL-t. Nem érvényes, ha a webhely egynyelvű." +COM_SH404SEF_TT_ALWAYS_INSERT_ITEMID="Az Igen választása esetén a nem keresőbarát elemazonosító (vagy a jelenlegi menüpont elemazonosítója, ha egyik sincs megadva a nem keresőbarát URL-ben) hozzáfűzésre kerül a keresőbarát URL-hez. Ezt kell használni A menücím beszúrása minden alkalommal paraméter helyett, ha több azonos című menüpontod van (például ha van egy a főmenüben, egy pedig a felső menüben)" +COM_SH404SEF_TT_ALWAYS_INSERT_MENU_TITLE="Az igen választása esetén az elemazonosítónak megfelelő menüpont címe kerül beszúrásra a nem keresőbarát URL-be, vagy ha nincs megadva egy elemazonosító sem, a jelenlegi menüpont címe beszúrásra kerül a keresőbarát URL-be." +COM_SH404SEF_TT_CB_INSERT_NAME="Az Igen választása esetén a Community Builder főoldalához vezető menüpont címe hozzáfűzésra kerül az összes CB keresőbarát URL-hez" +COM_SH404SEF_TT_CB_INSERT_USER_ID="Az Igen választása esetén a felhasználó azonosítója kerül hozzáfűzésra a nevéhez, ha az előző lehetőséget is Igenre állítottad, csak abban az esetben, ha két felhasználónak ugyanaz a neve." +COM_SH404SEF_TT_CB_INSERT_USER_NAME="Az Igen választása esetén a felhasználónév beszúrásra kerül a keresőbarát URL-ekbe. FIGYELMEZTETÉS: ez az adatbázis méretének jelentős megnövekedéséhez vezethet, és lelassíthatja a webhelyet, ha sok a regisztrált felhasználó. A Nem választása esetén a felhasználó azonosítója kerül helyette felhasználásra a hagyományos formátumban : ..../email-kuldese-a-felhasznalonak.html?user=245" +COM_SH404SEF_TT_CB_NAME="Az előző paraméter Igenre állításakor itt bírálhatja felül a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan marad, nem kerül lefordításra például." +COM_SH404SEF_TT_CB_USE_USER_PSEUDO="Az Igen választása esetén a felhasználónév kerül beszúrásra a keresőbarát URL-be a valódi név helyett, ha aktiváltad a fenti tulajdonságot." +COM_SH404SEF_TT_DEFAULT_MENU_ITEM_NAME="A fenti paraméter Igenre állításával itt felülbírálhatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan lesz, és nem kerül például lefordításra." +COM_SH404SEF_TT_ENCODE_URL="Az Igen választása esetén az URL kódolásra kerül, hogy kompatibilis legyen a nem latin karaktereket tartalmazó nyelvekkel. A kódolt URL ehhez hasonló lesz : weblapom.hu/%34%56%E8%67%12....." +COM_SH404SEF_TT_FB_INSERT_CATEGORY_ID="Az Igen választása esetén a kategória-azonosító hozzáfűzésre kerül a nevéhez, ha az előző lehetőségnél is az Igent választottad, csak ebben az esetben két kategóriának lesz ugyanaz a neve." +COM_SH404SEF_TT_FB_INSERT_CATEGORY_NAME="Az Igen választása esetén a kategórianév beszúrásra kerül az összes hozzászólás vagy kategória keresőbarát hivatkozásába" +COM_SH404SEF_TT_FB_INSERT_MESSAGE_ID="Az Igen választása esetén a hozzászólás azonosítószáma hozzáfűzésre kerül a tárgyhoz, ha az előző lehetőségnél is az Igent választottad, csak ebben az esetben két hozzászólásnak lesz ugyanaz a tárgya." +COM_SH404SEF_TT_FB_INSERT_MESSAGE_SUBJECT="Az Igen választása esetén minden egyes hozzászólás tárgya beszúrásra kerül a hozzászóláshoz vezető keresőbarát URL-be " +COM_SH404SEF_TT_FB_INSERT_NAME="Az Igen választása esetén a Kunena főoldalához vezető menüpont címe hozzáfűzésre kerül a Kunena összes keresőbarát URL-jéhez" +COM_SH404SEF_TT_FB_NAME="Az Igen választása esetén a Kunena neve (a Kunena menüpontban meghatározottak szerint) mindig hozzáfűzésre kerül a keresőbarát URL-hez." +COM_SH404SEF_TT_FORCE_NON_SEF_HTTPS="Az Igen választása esetén a nem keresőbarát URL kerül felhasználásra az SSL módba (HTTPS) történő váltáskor. Ez teszi lehetővé olyan megosztott SSL kiszolgálókkal a működést, melyek egyébként problémákat okoznának." +COM_SH404SEF_TT_GUESS_HOMEPAGE_ITEMID="Az Igen választása esetén, és csak a címlapon, a com_content URL-ek elemazonosítója eltávolításra kerül, és lecserélésre kerül az sh404SEF által kitaláltra. Ez akkor hasznos, amikor némely tartalmi elem látható a címlapon (blog nézetben például), és a webhely többi oldalán is." +COM_SH404SEF_TT_IJOOMLA_MAG_NAME="Ha az előző paraméternél az Igent választottad, akkor itt felülbírálhatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan marad, nem kerül lefordításra például" +COM_SH404SEF_TT_INSERT_GLOBAL_ITEMID_IF_NONE="Ha nincs megadva elemazonosító a nem keresőbarát URL-ben a keresőbaráttá alakítás előtt, te pedig ezt a lehetőséget igazra állítottad, akkor a jelenlegi menüpont elemazonosítója hozzáadásra kerül. Ez fogja biztosítani azt, hogy kattintáskor a hivatkozás ugyanazon az oldalon fog maradni (pl: ugyanazok a modulok láthatók)" +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ARTICLE_ID="Az Igen választása esetén a cikk azonosítója hozzáfűzésre kerül az URL-be beszúrt mindegyik cikkcímhez, mint itt :
                  enweblapom.hu/Joomla-magazine/56-Jo-cikk-cime.html" +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_ISSUE_ID="Az Igen választása esetén a szám egyedi belső azonosítója hozzáfűzésra kerül mindegyik szám nevéhez, hogy biztosítsa egyediségét." +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_MAGAZINE_ID="Az Igen választása esetén a magazin azonosítója hozzáfűzésra kerül mindegyik magain nevéhez az URL-ben, mint ebben :
                  enweblapom.hu/4-Joomla-magazine/Jo-cikk-cim.html" +COM_SH404SEF_TT_INSERT_IJOOMLA_MAG_NAME="Az igen választása esetén a magazin neve (a magazin menüpontjának címében meghatározottak alapján) mindig hozzáfűzésre kerül a keresőbarát URL-hez" +COM_SH404SEF_TT_INSERT_NUMERICAL_ID="Az Igen választása esetén egy numerikus azonosító kerül hozzáadásra az URL-hez, ami elősegíti az olyan szolgáltatásokba történő bevételt, mint a Google news. Az azonosító formátuma a következő : 2007041100000, ahol 20070411 a létrehozás dátuma, a 00000 pedig a tartalmi elem belső egyedi azonosítója. Végül is csak akkor kell megadnod a létrehozás dátumát, amikor a tartalmi elem közzétételre kész. Ügyelj arra, hogy utána már ne változtasd meg." +COM_SH404SEF_TT_INSERT_NUMERICAL_ID_CAT_LIST="A numerikus azonosító csak az ebben a listában található tartalmi elemek URL-jeibe kerül beszúrásra. A CTRL billentyű leütésével és lenyomva tartásával választhatsz ki több kategóriát a kategórianévre kattintással." +COM_SH404SEF_TT_INSERT_PRODUCT_ID="Az Igen választása esetén a termékazonosító hozzáfűzésre kerül a keresőbarát URL-ben a termék nevéhez
                  Például : enlapom.hu/3-az-en-nagyon-szep-termekem.html.
                  Ez akkor hasznos, ha nem akarod az összes kategórianevet beszúrni az URL-be, ugyanis különféle kategóriákban több terméknek ugyanaz lehet a neve. Ez nem a termék cikkszáma, hanem a belső termékazonosító, ami mindig egyedi." +COM_SH404SEF_TT_INSERT_TITLE_IF_NO_ITEMID="Ha nincs megadva elemazonosító a nem keresőbarát URL-ben a keresőbaráttá alakítás előtt, te pedig ezt a lehetőséget igazra állítottad, akkor a jelenlegi menüpont címe beszúrásra kerül a keresőbarát URL-be. Akkor állítsd ezt igazra, ha a fenti paramétert is igazra állítottad, ugyanis ez megakadályozza a -2, -3, -... hozzáfűzését a keresőbarát URL-hez, ha valamelyik cikket több helyről nézik." +COM_SH404SEF_TT_LETTERMAN_DEFAULT_ITEMID="Írd be a Letterman hivatkozásaiba beszúrandó elemazonosítót (lemondás, üzenetek megerősítése, ..." +COM_SH404SEF_TT_LIVE_SECURE_SITE="Állítsd ezt SSL módban a webhely teljes alap URL-jére.
                  Csak https hozzáférés használata esetén kell. Ha nem adod meg, akkor a httpS://normalwebhelyURL lesz az alapértelmezett
                  Kérjük, hogy a teljes URL-t írd be, záró perjel nélkül. Például : https://www.weblapom.hu vagy https://megosztottsslkiszolgalo.hu/fiokom." +COM_SH404SEF_TT_LOG_404_ERRORS="Az Igen választása esetén a 404-es hibák az adatbázisba kerülnek naplózásra. Ez segíthet a webhelyének hivatkozásaiban lévő hibák megkeresésében. A szükségesnél több adatbázishelyre van hozzá szükség, ezért a webhely alapos letesztelése után talán le is tilthatja." +COM_SH404SEF_TT_MAX_URL_IN_CACHE="Az URL gyorsítótárazás aktiválása esetén ez a paraméter állítja be a legnagyobb méretet. Írd be a gyorsítótárban tárolható URL-ek számát (további URL kerül feldolgozásra, de nem kerül be a gyorsítótárba, ezért a betöltés ideje hosszabb lesz). Általánosságban szólva, mindegyik URL körülbelül 200 bájtot tesz ki (100 a keresőbarát URL, és 100 a nem keresőbarát URL). Tehát, például 5000 URL kb. 1 MB memóriát fog felhasználni." +COM_SH404SEF_TT_REDIRECT_JOOMLA_SEF_TO_SEF="Az Igen választása esetén a hagyományos JOOMLA SEF URL-ek az sh404SEF megfelelőikre kerülnek 301-es átirányításra, ha megtalálhatóak az adatbázisban. Ha nincs, akkor röptében létrehozásra kerülnek, ha nincs valamilyen POST adat, amikor is nem történik semmi. Figyelem: ez a legtöbb esetben működik, de néhány Joomla SEF URL-t rosszul irányít át. Hagyd kikapcsolva ha lehetséges." +COM_SH404SEF_TT_REDIRECT_NON_SEF_TO_SEF="Az Igen választása esetén az adatbázisban már megtalálható nem keresőbarát URL egy 301 - Végleg áthelyezve átirányítással kerül átirányításra a keresőbarát változatra. Ha a keresőbarát URL nem létezik, akkor létrehozásra kerül, kivéve, ha van néhány továbbított POST adat az oldal kérésében." +COM_SH404SEF_TT_REPLACEMENTS="Az URL-ben nem elfogadott karakterek, mint a nem-latin vagy ékezetes betűk, lecserélhetők e behelyettesítő táblázat alapján.
                  A behelyettesítési szabály formátuma xxx | yyy. Az xxx a lecserélendő karakter, az yyy pedig az új karakter.
                  Sok ilyen vesszővel (,) elválasztott szabály lehet. A régi és az új karakter között használd a | karaktert.
                  Az xxx vagy az yyy több karakter is lehet, mint például Ś|oe " +COM_SH404SEF_TT_SHOP_NAME="A fenti paraméter Igenre állításával itt felülbírálhatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan lesz, és nem kerül lefordításra például." +COM_SH404SEF_TT_TRANSLATE_URL="Ha aktiválod, és a webhely többnyelvű, akkor a keresőbarát URL elemei a Joomfish döntése alapján lefordításra kerülnek a látogató nyelvére. Ha nem aktiválod, akkor az URL mindig a webhely alapértelmezett nyelvén lesz. Nem kerül felhasználásra, ha a webhely nem többnyelvű." +COM_SH404SEF_TT_USE_URL_CACHE="Aktiválás esetén a keresőbarát URL a memóriában lévő gyorsítótárba kerül beírásra, ami jelentősen meg fogja növelni az oldal betöltődésének idejét. Ez azonban fel fogja használni a memóriát!" +COM_SH404SEF_TT_VM_ADDITIONAL_TEXT="Az Igen választása esetén kiegészítő szöveg kerül hozzáfűzésre a tallózandó kategóriák URL-jeihez. Például : ..../kategoria-A/Az-osszes-termek-megtekintse.html VS ..../kategoria-A/ ." +COM_SH404SEF_TT_VM_INSERT_CATEGORIES="A Nincs választása esetén egy kategória sem kerül beszúrásra a megtekintendő termékhez vezető URL-be, például :
                  enlapom.hu/joomla-cms.html
                  A Csak az utolsó választása esetén annak a kategóriának a neve kerül beszúrásra a keresőbarát URL-be, amelyikbe a termék tartozik, például :
                  enlapom.hu/joomla/joomla-cms.html
                  Az összes beágyazott kategória választása esetén az összes olyan kategóriának a neve hozzáadásra kerül, amelyikbe a termék tartozik, például :
                  enlapom.hu/szoftver/cms/joomla/joomla-cms.html" +COM_SH404SEF_TT_VM_INSERT_CATEGORY_ID="Az Igen választása esetén a kategóriaazonosító hozzáfűzésre kerül a termékhez vezető URL-ben a kategórianév elejéhez, mint itt :
                  enlapom.hu/1-szoftver/4-cms/1-joomla/joomla-cms.html" +COM_SH404SEF_TT_VM_INSERT_FLYPAGE="Az Igen választása esetén a terméklap neve beszúrásra kerül a termékadatokhoz vezető URL-be. Letilthatod, ha csak egy terméklapot használsz." +COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_ID="Az Igen választása esetén a gyártó azonosítója hozzáfűzésre kerül a keresőbarát URL-ben a gyártó nevéhez az elején
                  Például : enlapom.hu/6-gyarto-neve/3-az-en-nagyon-szep-termekem.html." +COM_SH404SEF_TT_VM_INSERT_MANUFACTURER_NAME="Az Igen választása esetén, ha meg van adva a gyártó neve, hozzáfűzésre kerül a termékre mutató keresőbarát URL-hez.
                  Például : webhelyem.hu/gyarto-neve/termek-neve.html" +COM_SH404SEF_TT_VM_INSERT_SHOP_NAME="Az Igen választása esetén az üzlet neve (az üzlet menüpontjának címében meghatározottak alapján) mindig hozzáfűzésre kerül a keresőbarát URL elejéhez" +COM_SH404SEF_TT_VM_USE_PRODUCT_SKU="Az Igen választása esetén a cikkszám, az általad minden termékhez beírt termékkód kerül felhasználásra a termék teljes neve helyett." +COM_SH404SEF_TT_STRIP_CHAR="Az URL-ből eltávolítandó karakterek, | szimbólummal elválasztva" +COM_SH404SEF_TT_SUFFIX="A 'fájlok' esetén használandó kiterjesztés. Hagyd üresen, ha le akarod tiltani. Gyakori bejegyzés a 'html'." +COM_SH404SEF_TT_USE_ALIAS="A Cím aliasneve választása esetén a cím aliasneve kerül felhasználásra az URL-ben a cím helyett" +COM_SH404SEF_UNWRITEABLE=" írásvédett" +COM_SH404SEF_UPLOAD_OK="Sikerült a fájl feltöltése" +COM_SH404SEF_URLEXIST="Ez az URL már megtalálható az adatbázisban!" +COM_SH404SEF_USE_ALIAS="Cím aliasnevének használata" +COM_SH404SEF_USE_DEFAULT="(alapértelmezett kezelő használata)" +COM_SH404SEF_USING_DEFAULT=" Alapértelmezett értékek használata" +COM_SH404SEF_VIEW404="404 napló
                  megtekintése/módosítása" +COM_SH404SEF_VIEW404DESC="A 404 napló megtekintése/módosítása" +COM_SH404SEF_VIEWCUSTOM="Egyéni átirányítások
                  megtekintése/módosítása" +COM_SH404SEF_VIEWCUSTOMDESC="Az egyéni átirányítások megtekintése/módosítása" +COM_SH404SEF_VIEWMODE="NézetMód:" +COM_SH404SEF_VIEWURL="Keresőbarát URL-ek
                  megtekintése/szerkesztése" +COM_SH404SEF_VIEWURLDESC="A keresőbarát URL-ek megtekintése/szerkesztése" +COM_SH404SEF_WARNDELETE="FIGYELEM! Most fogsz törölni " +COM_SH404SEF_WRITE_ERROR="A konfigurációs fájl írása közben hiba történt" +COM_SH404SEF_WRITE_FAILED="A media könyvtárba feltöltött fájl nem írható" +COM_SH404SEF_WRITEABLE=" írható" +COM_SH404SEF_DOCMAN_TITLE="DOCMan beállításai" +COM_SH404SEF_DOCMAN_INSERT_NAME="A DOCMan nevének beszúrása" +COM_SH404SEF_TT_DOCMAN_INSERT_NAME="Az Igen választása esetén a DOCMan főoldalához vezető menüpont címe hozzáfűzésre kerül valamennyi DOCMan keresőbarát URL-hez" +COM_SH404SEF_DOCMAN_NAME="Alapértelmezett DOCMan név" +COM_SH404SEF_TT_DOCMAN_NAME="Ha az előző paraméternél az Igent választottad, akkor itt hatálytalaníthatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg állandó lesz, és nem kerül például lefordításra." +COM_SH404SEF_DOCMAN_INSERT_DOC_ID="Dokumentum-azonosító beszúrása" +COM_SH404SEF_TT_DOCMAN_INSERT_DOC_ID="Az Igen választása esetén a dokumentum-azonosító hozzáfűzésre kerül a dokumentum nevéhez, amire az azonos nevű dokumentumok esetén van szükség." +COM_SH404SEF_DOCMAN_INSERT_DOC_NAME="A dokumentum nevének beszúrása" +COM_SH404SEF_TT_DOCMAN_INSERT_DOC_NAME="Az Igen választása esetén a dokumentum neve minden olyan keresőbarát URL-be beszúrásra kerül, ami a dokumentumon végzendő művelethez vezet" +COM_SH404SEF_MYBLOG_TITLE="MyBlog beállításai" +COM_SH404SEF_MYBLOG_INSERT_NAME="A MyBlog nevének beszúrása" +COM_SH404SEF_TT_MYBLOG_INSERT_NAME="Az Igen választása esetén a MyBlog főldalához vezető menüpont címe hozzáfűzésre kerül az összes MyBlog keresőbarát URL-hez" +COM_SH404SEF_MYBLOG_NAME="Alapértelmezett Myblog név" +COM_SH404SEF_TT_MYBLOG_NAME="Ha az előző paraméternél az Igent választottad, akkor itt hatálytalaníthatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg állandó lesz, és nem kerül például lefordításra." +COM_SH404SEF_MYBLOG_INSERT_POST_ID="A bejegyzés azonosítójának beszúrása" +COM_SH404SEF_TT_MYBLOG_INSERT_POST_ID="Az Igen választása esetén a belső hozzászólás-azoosító hozzáfűzésre kerül a hozzászólás címéhez, amire akkor van szükség, ha több bejegyzésnek azonos a címe." +COM_SH404SEF_MYBLOG_INSERT_TAG_ID="A címkeazonosító beszúrása" +COM_SH404SEF_TT_MYBLOG_INSERT_TAG_ID="Az Igen választása esetén a belső címkeazonosító hozzáfűzésre kerül a címke nevéhez, amire több azonos címke esetén, vagy másik kategórianévvel történő ütközés van szükség." +COM_SH404SEF_MYBLOG_INSERT_BLOGGER_ID="A blogger azonosítójának beszúrása" +COM_SH404SEF_TT_MYBLOG_INSERT_BLOGGER_ID="Az Igen választása esetén a belső bloggerazonosító hozzáfűzésre kerül a blogger nevéhez, amire több azonos nevű blogger esetén van szükség." +COM_SH404SEF_RW_MODE_NORMAL=".htaccess fájllal (mod_rewrite)" +COM_SH404SEF_RW_MODE_INDEXPHP=".htaccess fájl nélkül (index.php)" +COM_SH404SEF_RW_MODE_INDEXPHP2=".htaccess fájl nélkül (index.php?)" +COM_SH404SEF_SELECT_REWRITE_MODE="Átírási módszer" +COM_SH404SEF_TT_SELECT_REWRITE_MODE="Válaszd ki az sh404SEF átírási módszerét.
                  .htaccess fájllal (mod_rewrite)
                  Alapértelmezett mód : kell lennie a kiszolgáló beállításaival megegyező, megfelelően konfigurált .htacces fájlnak
                  .htaccess (index.php) fájl nélkül
                  KÍSÉRLETI :Nincs szükség .htaccess fájlra. Ez a módszer az Apache kiszolgálók PathInfo funkcióját használja. Az URL-ek elején hozzáadásra kerül egy /index.php/ bit. Nem lehetetlen, hogy az IIS kiszolgálók is elfogadják ezeket az URL-eket
                  .htaccess fájl (index.php?) nélkül
                  KÍSÉRLETI :Nincs szükség .htaccess fájlra. Ez a módszer az előzővel azonos, azzal a kivétellel, hogy az /index.php?/ kerül felhasználásra az /index.php/ helyett. Ismételten, az IIS kiszolgálók elfogadhatják ezeket az URL-eket
                  " +COM_SH404SEF_RECORD_DUPLICATES="Dupla URL-ek rögzítése" +COM_SH404SEF_TT_RECORD_DUPLICATES="Az Igen választása esetén az sh404SEF rögzíteni fog minden olyan nem keresőbarát URL-t az adatbázisban, melyek ugyanazt a keresőbarát URL-t eredményezik. Ez teszi lehetővé az előnyben részesített kiválasztását, a Dupla URL-ek kezelése funkcióval a keresőbarát URL megjeenítési listában." +COM_SH404SEF_META_TITLE="Cím kódelem" +COM_SH404SEF_TT_META_TITLE="Írd be a kiválasztott URL META title kódelemébe beszúrandó szöveget." +COM_SH404SEF_META_DESC="Leírás kódelem" +COM_SH404SEF_TT_META_DESC="Írd be a kiválasztott URL META description kódelemébe beszúrandó szöveget." +COM_SH404SEF_META_KEYWORDS="Kulcsszavak kódelem" +COM_SH404SEF_TT_META_KEYWORDS="Írd be a kiválasztott URL META keywords kódelembe beszúrandó szöveget. A szavakat vagy szócsoportokat vesszővel válassza el." +COM_SH404SEF_META_ROBOTS="Robots kódelem" +COM_SH404SEF_TT_META_ROBOTS="Írd be a kiválasztott URL META Robots kódelemébe beszúrandó szöveget. Ez a kódelem mondja meg a keresőrendszereknek, hogy kell-e követniük a hivatkozásokat az aktuális oldalon, és mi a teendő ennek az oldalnak a tartalmával. A szokásos értékek :
                  INDEX,FOLLOW : indexeli az aktuális oldal tartalmát, és követi az oldalon található összes hivatkozást
                  INDEX,NO FOLLOW : indexeli az aktuális oldal tartalmát, de nem követi az oldalon talált hivatkozásokat
                  NO INDEX, NO FOLLOW : nem indexeli a jelenlegi oldal tartalmát, és nem követi az oldalon talált hivatkozásokat
                  " +COM_SH404SEF_META_LANG="Nyelv kódelem" +COM_SH404SEF_TT_META_LANG="Írd be a kiválasztott URL META http-equiv= Content-Language kódelembe beszúrandó szöveget. " +COM_SH404SEF_CONF_TAB_META="Meta/SEO" +COM_SH404SEF_CONF_META_DOC="Az sh404SEF-nek több beépülő modulja van némely komponens metaadatainak automatikus generálásához. Csak akkor készítsd el őket kézzel, ha az automatikusan készítettek nem felelnek meg neked!!
                  " +COM_SH404SEF_REMOVE_JOOMLA_GENERATOR="A Joomla Generator kódelem eltávolítása" +COM_SH404SEF_TT_REMOVE_JOOMLA_GENERATOR="Az Igen választása esetén a Generator = Joomla meta kódelem eltávolításra kerül mindazon oldalból" +COM_SH404SEF_PUT_H1_TAG="A h1 kódelemek beszúrása" +COM_SH404SEF_TT_PUT_H1_TAG="Az Igen választása esetén a tartalmi elemek hagyományos címeit a h1 kódelemekbe teszi. Normál esetben a Joomla a contentheading névvel kezdődő CSS-osztályba teszi őket." +COM_SH404SEF_META_MANAGEMENT_ACTIVATED="A metaadatok kezelésének aktiválása" +COM_SH404SEF_TT_META_MANAGEMENT_ACTIVATED="Az Igen választása esetén a Title, Description, Keywords, Robots és a Language META kódelemet az sh404SEF fogja kezelni. Egyéb esetben a Joomla és/vagy más komponen által produkált eredeti értékek érintetlenek maradnak. " +COM_SH404SEF_TITLE_META_MANAGEMENT="Metaadatok kezelése" +COM_SH404SEF_META_EDIT="A kódelemek módosítása" +COM_SH404SEF_META_ADD="Kódelemek hozzáadása" +COM_SH404SEF_META_TAGS="META kódelemek" +COM_SH404SEF_META_TAGS_DESC="Meta kódelemek létrehozása/módosítása" +COM_SH404SEF_PURGE_META_DESC="Meta kódelemek törlése" +COM_SH404SEF_PURGE_META="META törlése" +COM_SH404SEF_IMPORT_EXPORT_META="META importálása/exportálása" +COM_SH404SEF_NEW_META="Új META" +COM_SH404SEF_NEWURL_META="Nem keresőbarát URL" +COM_SH404SEF_TT_NEWURL_META="Írd be azt a nem keresőbarát URL-t, melynek meg akarod adni a metaadatait. FIGYELMEZTETÉS: az elején index.php legyen!" +COM_SH404SEF_BAD_META="Kérjük, ellenőrizd az adatokat: néhány bevitel nem érvényes." +COM_SH404SEF_META_TITLE_PURGE="Metaadatok törlése" +COM_SH404SEF_META_SUCCESS_PURGE="A metaadatok törölve" +COM_SH404SEF_IMPORT_META="Metaadatok importálása" +COM_SH404SEF_EXPORT_META="Metaadatok exportálása" +COM_SH404SEF_IMPORT_META_OK="Sikerült a metaadatok importálása" +COM_SH404SEF_SELECT_ONE_URL="Válassz ki egy (de csak egy) URL-t." +COM_SH404SEF_MANAGE_DUPLICATES="URL-kezelés : " +COM_SH404SEF_MANAGE_DUPLICATES_RANK="Rang" +COM_SH404SEF_MANAGE_DUPLICATES_BUTTON="Dupla URL" +COM_SH404SEF_MANAGE_MAKE_MAIN_URL="Fő URL" +COM_SH404SEF_BAD_DUPLICATES_DATA="Hiba : érvénytelen az URL adat" +COM_SH404SEF_BAD_DUPLICATES_NOTHING_TO_DO="Ez az URL már a fő URL" +COM_SH404SEF_MAKE_MAIN_URL_OK="A művelet sikeresen befejeződött" +COM_SH404SEF_MAKE_MAIN_URL_ERROR="Hiba történt, a művelet sikertelen" +COM_SH404SEF_CONTENT_TITLE="Tartalom beállításai" +COM_SH404SEF_INSERT_CONTENT_TABLE_NAME="A tartalomtáblázat nevének beszúrása" +COM_SH404SEF_TT_INSERT_CONTENT_TABLE_NAME="Az Igen választása esetén a cikkek táblázatához (szekció vagy kategória) vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL-hez. Ez teszi lehetővé a táblázat megjelenítésének elkülönítését a blogszerű megjelenítéstől." +COM_SH404SEF_CONTENT_TABLE_NAME="Táblázat alapértelmezett hivatkozásnevei" +COM_SH404SEF_TT_CONTENT_TABLE_NAME="Ha az előző paraméternél az Igent választotta, akkor itt hatálytalaníthatja a keresőbarát URL-be beszúrandó szöveget. Ez a szöveg állandó lesz, és nem kerül például lefordításra." +COM_SH404SEF_REDIRECT_WWW="301-es átirányítás www/nem-www" +COM_SH404SEF_TT_REDIRECT_WWW="Az Igen választása esetén az sh404SEF 301-es átirányítást hajt végre a webhely www nélküli elérése esetén, ha a webhely URL-je www-vel kezdődik, vagy a webhely elérése kezdő www-vel történik, holott a fő URL-ben nincs www. Ezzel megelőzheted a dupla tartalom miatt kapott büntetést, az Apache kiszolgáló beállításaitól függő néhány problémát, és néhány Joomla-problémát is (WYSYWIG szerkesztők)" +COM_SH404SEF_INSERT_PRODUCT_NAME="A terméknév beszúrása" +COM_SH404SEF_TT_INSERT_PRODUCT_NAME="Az Igen választása esetén a terméknév beszúrásra kerül az URL-be" +COM_SH404SEF_VM_USE_PRODUCT_SKU_124S="A cikkszám beszúrása" +COM_SH404SEF_TT_VM_USE_PRODUCT_SKU_124S="Az Igen választása esetén a cikkszám (a VirtueMartban SKU) beszúrásra kerül az URL-be." +COM_SH404SEF_DOCMAN_INSERT_CAT_ID="Kategória-azonosító beszúrása" +COM_SH404SEF_TT_DOCMAN_INSERT_CAT_ID="Az Igen választása esetén a kategória-azonosító hozzáfűzésre kerül a nevének elejéhez, ha az előző tulajdonságot is Igenre állítottad, két azonos nevű kategória esetén." +COM_SH404SEF_DOCMAN_INSERT_CATEGORIES="Kategórianév beszúrása" +COM_SH404SEF_TT_DOCMAN_INSERT_CATEGORIES="A Nincs választása esetén nem kerül a kategórianév beszúrásra az URL-be, mint :
                  weblapom.hu/joomla-cms.html
                  A Csak az utolsó választása esetén a kategórianév beszúrásra kerül a keresőbarát URL-be, mint :
                  weblapom.hu/joomla/joomla-cms.html
                  Az összes beágyazott kategória választása esetén valamennyi kategórianév hozzáadásra kerül, mint :
                  weblapom.hu/szoftverek/cms/joomla/joomla-cms.html" +COM_SH404SEF_FORCED_HOMEPAGE="Címlap URL-je" +COM_SH404SEF_TT_FORCED_HOMEPAGE="Ide írhatod be a kényszerített címlap URL-t. `Kezdőlap` használata esetén hasznos, általában egy index.html fájl, ami a http://www.weblapom.hu felkeresésekor látható. Ha így van, akkor írd be a következő URL-t: http://www.weblapom.hu/index.php (sorvégi / nélkül), vagyis a Joomla webhely a főmenü vagy az útvonal Címlap hivatkozására kattintáskor jelenik meg" +COM_SH404SEF_INSERT_CONTENT_BLOG_NAME="A blog nézet nevének beszúrása" +COM_SH404SEF_TT_INSERT_CONTENT_BLOG_NAME="Az Igen választása esetén a (szekció vagy kategória) cikkeinek blogjához vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez. Ez teszi lehetővé a táblázatos elrendezés megkülönböztetését a blog elrendezéstől." +COM_SH404SEF_CONTENT_BLOG_NAME="A blog nézet alapértelmezett neve" +COM_SH404SEF_TT_CONTENT_BLOG_NAME="Az előző paraméter Igenre állítása esetén itt hatálytalaníthatod a keresőbarát URL-be beszúrt szöveget. Ez a szöveg változatlan marad, és nem kerül lefordításra például." +COM_SH404SEF_MTREE_TITLE="Mosets Tree beállításai" +COM_SH404SEF_MTREE_INSERT_NAME="A Mosets Tree nevének beszúrása" +COM_SH404SEF_TT_MTREE_INSERT_NAME="Az Igen választása esetén a Mosets Treehez vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez." +COM_SH404SEF_MTREE_NAME="A Mosets Tree alapértelmezett neve" +COM_SH404SEF_MTREE_INSERT_LISTING_ID="Tétel azonosítószámának beszúrása" +COM_SH404SEF_TT_MTREE_INSERT_LISTING_ID="Az Igen választása esetén a tétel azonosítószáma hozzáfűzésre kerül a név elejéhez, de csak akkor, ha két tételnek ugyanaz a neve." +COM_SH404SEF_MTREE_PREPEND_LISTING_ID="Az azonosító hozzáfűzése a név elejéhez" +COM_SH404SEF_TT_MTREE_PREPEND_LISTING_ID="Az Igen választása esetén, ha a fenti tulajdonságot is Igenre állította, akkor az azonosító hozzáfűzésre kerül a tétel nevének elejéhez. A Nem választása esetén a végére kerül hozzáfűzésre." +COM_SH404SEF_MTREE_INSERT_LISTING_NAME="A tétel nevének beszúrása" +COM_SH404SEF_TT_MTREE_INSERT_LISTING_NAME="Az Igen választása esetén a tétel neve beszúrásra kerül a tétellel kapcsolatos művelethez vezető összes URL-be." +COM_SH404SEF_IJOOMLA_NEWSP_TITLE="iJoomla News Portal beállításai" +COM_SH404SEF_INSERT_IJOOMLA_NEWSP_NAME="Az iJoomla News Portal nevének beszúrása" +COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_NAME="Az Igen választása esetén az iJoomla News Portalhoz vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez." +COM_SH404SEF_IJOOMLA_NEWSP_NAME="Az iJoomla News Portal alapértelmezett neve" +COM_SH404SEF_INSERT_IJOOMLA_NEWSP_CAT_ID="A kategória-azonosító beszúrása" +COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_CAT_ID="Az Igen választása esetén a kategória-azonosító hozzáfűzésre kerül név elejéhez, de csak akkor, ha ugyanaz két tételnek a neve." +COM_SH404SEF_INSERT_IJOOMLA_NEWSP_SECTION_ID="A szekció-azonosító beszúrása" +COM_SH404SEF_TT_INSERT_IJOOMLA_NEWSP_SECTION_ID="Az Igen választása esetén a szekcióazonosító hozzáfűzésre kerül név elejéhez, de csak akkor, ha ugyanaz két tételnek a neve." +COM_SH404SEF_REMO_TITLE="Remository beállításai" +COM_SH404SEF_REMO_INSERT_NAME="A Remository nevének beszúrása" +COM_SH404SEF_TT_REMO_INSERT_NAME="Az Igen választása esetén a Remositoryhoz vezető menüpont címe hozzáfűzésre kerül a keresőbarát URL elejéhez." +COM_SH404SEF_REMO_NAME="A Remository alapértelmezett neve" +COM_SH404SEF_CB_SHORT_USER_URL="A felhasználó profiljára mutató rövid URL" +COM_SH404SEF_TT_CB_SHORT_USER_URL="Az Igen választása esetén a felhasználó rövid URL-en keresztül tud hozzáférni a profiljához, mely hasonló a www.weblapom.hu/felhasznalonev URL-hez. E tulajdonság aktiválása előtt győződj meg róla, hogy ez nem okoz-e valamilyen ütközést a webhelyen lévő valamelyik URL-lel." +COM_SH404SEF_NEW_HOME_META="Címlap metaadatai" +COM_SH404SEF_CONF_ERASE_HOME_META="Valóban törölni akarod a címlap címét és meta kódelemeit?" +COM_SH404SEF_UPGRADE_TITLE="Termékfrissítés beállításai" +COM_SH404SEF_UPGRADE_KEEP_URL="Automatikusan generált URL-ek megőrzése" +COM_SH404SEF_TT_UPGRADE_KEEP_URL="Az Igen válaztása esetén az sh404SEf által generált keresőbarát URL tárolásra és megőrzésre kerül a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." +COM_SH404SEF_UPGRADE_KEEP_CUSTOM="Egyéni URL-ek megőrzése, aliases, shURLs" +COM_SH404SEF_TT_UPGRADE_KEEP_CUSTOM="Az Igen választása esetén az általad létrehozott egyéni keresőbarát URL tárolásra és megőrzésre kerül a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." +COM_SH404SEF_UPGRADE_KEEP_META="Cím és metaadatok megőrzése" +COM_SH404SEF_TT_UPGRADE_KEEP_META="Az Igen választása esetén az általad beírt egyéni Cím és meta kódelemek tárolásra és megőrzésre kerülnek a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." +COM_SH404SEF_UPGRADE_KEEP_MODULES="Modulparaméterek megőrzése" +COM_SH404SEF_TT_UPGRADE_KEEP_MODULES="Az Igen választása esetén a Joomfish és az shCustomtags modul jelenlegi közzétételi paraméterei, mint pozíció, sorrend, címek, stb. tárolásra és megőrzésre kerülnek a komponens eltávolításakor. Így új verzió telepítésekor további művelet végrehajtása nélkül visszakapod őket." +COM_SH404SEF_IMPORT_OPEN_SEF="Átirányítások importálása az OpenSEF-ből" +COM_SH404SEF_IMPORT_ALL="Átirányítások importálása" +COM_SH404SEF_EXPORT_ALL="Átirányítások exportálása" +COM_SH404SEF_IMPORT_EXPORT_CUSTOM="Egyéni átirányítások importálása/exportálása" +COM_SH404SEF_DUPLICATE_NOT_ALLOWED="Ez az URL már létezik, pedig nem is engedélyezted a dupla URL-eket" +COM_SH404SEF_INSERT_CONTENT_MULTIPAGES_TITLE="Többoldalas cikkek intelligens címeinek aktiválása" +COM_SH404SEF_TT_INSERT_CONTENT_MULTIPAGES_TITLE="Az Igen választásakor többoldalas cikk esetén (melyeknek tartalomjegyzékük van), az sh404SEF a mospagebreak paranccsal beszúrt oldalcímeket fogja használni : {mospagebreak title=Következő_oldal_címe & heading=Előző_oldal_címe}, az oldalszám helyett
                  Például, a www.weblapom.hu/felhasznaloi-dokumentacio/Page-2.html címhez hasonló keresőbarát URL most lecserélésre kerül a www.weblapom.hu/felhasznaloi-dokumentacio/Getting-started-with-sh404SEF.html URL-re." +COM_SH404SEF_UPGRADE_KEEP_CONFIG="Beállítások megőrzése" +COM_SH404SEF_TT_UPGRADE_KEEP_CONFIG="Az Igen választásakor az összes beállítási paraméter tárolásra és megőrzésre kerül a komponens eltávolításakor. Így új verzió telepítése esetén mindig megmaradnak, és nincs szükség további műveletre." +COM_SH404SEF_CONF_TAB_SECURITY="Biztonság" +COM_SH404SEF_SECURITY_TITLE="Biztonsági beállítások" +COM_SH404SEF_HONEYPOT_TITLE="A Project Honey Pot konfigurálása" +COM_SH404SEF_CONF_HONEYPOT_DOC="A Project Honey Pot olyan kezdeményezés, mely a webhelyek spamrobotok elleni védekezésében nyújt segítséget. Van egy adatbázisa, melyben ellenőrzi, hogy a látogató IP címe nem ismert roboté-e. Ennek az adatbázisnak a használatához (ingyenes) hozzáférési kulcsra van szükség, melyet a projekt webhelyén szerezhetsz be
                  (Létre kell hoznod a fiókodat a hozzáférési kulcs kérése előtt - ez is ingyenes). Esetleg vedd fontolóra, hogy a webhelyeden elhelyezett csapdákkal segíted a spamrobotok beazonosítását." +COM_SH404SEF_ACTIVATE_SECURITY="A biztonsági funkciók aktiválása" +COM_SH404SEF_TT_ACTIVATE_SECURITY="Az Igen választásakor az sh404SEF néhány alapszintű ellenőrzést végez a webhelyeden kért URL-eken, hogy védelmet nyújtson a szokásos támadások ellen." +COM_SH404SEF_LOG_ATTACKS="Támadások naplózása" +COM_SH404SEF_TT_LOG_ATTACKS="Az Igen választásakor a beazonosított támadások szövegfájlban kerülnek naplózásra, a támadó IP címével és a kért oldallal.
                  Havonta egy naplófájl készül. Az /administrator/com_sh404sef/logs könyvtárban találhatók. FTP-vel le tudod őket tölteni, vagy egy Joomla segédeszközzel, mint a Joomla Explorer megtekintheted őket. Ezek tabulált szövegfájlok, tehát táblázatkezelő szoftverben könnyen meg tudod őket nyitni, valószínűleg így tudod a legkönnyebben megtekinteni." +COM_SH404SEF_CHECK_HONEY_POT="A Project Honey Pot használata" +COM_SH404SEF_TT_CHECK_HONEY_POT="Az Igen választásakor a látogatók IP címe ellenőrzésre kerül a Project Hoeny Pot adatbázisban a HTTP:BL szolgáltatásuk felhasználásával. A szolgáltatás ingyenes, viszont hozzáférési kulcsra van szükség a webhelyen." +COM_SH404SEF_HONEYPOT_KEY="Project Honey Pot hozzáférési kulcs" +COM_SH404SEF_TT_HONEYPOT_KEY="Ha kijelölted A Project Honey Pot használata beállítást, akkor be kell szerezned a P.H.P.-től a hozzáférési kulcsot. Ide írd be a kapott hozzáférési kulcsot. Ez egy 12 karakteres karakterlánc." +COM_SH404SEF_HONEYPOT_ENTRANCE_TEXT="Vagylagos szöveg" +COM_SH404SEF_TT_HONEYPOT_ENTRANCE_TEXT="Ha a Project Honey Pot gyanúsnak jelöli egy látogató IP címét, akkor a hozzáférés meg lesz tagadva a számára (403 hibakód).
                  Hamis megállapítás esetén azonban az ide beírt szöveget fogja látni a látogató, valamint egy olyan hivatkozást, amivel tényleg elérheti a weboldalt. Csak az emberi lények tudják elolvasni ezt a szöveget, és csak a számukra érthető.
                  Ez tetszés szerinti szöveg lehet." +COM_SH404SEF_SMELLYPOT_TEXT="A robotcsapda szövege" +COM_SH404SEF_TT_SMELLYPOT_TEXT="Ha a Project Honey Pot beazonosít egy spamrobotot, és megtagadja számára a hozzáférést, akkor az elutasító képernyő alján egy hivatkozás kerül beszúrásra, hogy a Project Honey Pot rögzíthesse a robot ténykedését. Egy üzenet is beszúrásra kerül, hogy a valódi emberi lények ne kattintsanak arra a hivatkozásra, ha hibás a megjelölésük. " +COM_SH404SEF_ONLY_NUM_VARS="Numerikus paraméterek" +COM_SH404SEF_TT_ONLY_NUM_VARS="Az ebben a listában lévő paraméternevek ellenőrzésre kerülnek, hogy valóban numerikusak-e : csak 0 és 9 közti számjegyek-e. Soronként egy paramétert írj be." +COM_SH404SEF_ONLY_ALPHA_NUM_VARS="Alfanumerikus paraméterek" +COM_SH404SEF_TT_ONLY_ALPHA_NUM_VARS="Az ebben a listában lévő paraméternevek ellenőrzésre kerülnek, hogy valóban alfanumerikusak-e : 0 és 9 közti számjegyek, ill. a és z közti betűk. Soronként egy paramétert írj be." +COM_SH404SEF_NO_PROTOCOL_VARS="Hiperhivatkozások ellenőrzése a paraméterekben" +COM_SH404SEF_TT_NO_PROTOCOL_VARS="Az ebben a listában lévő paraméternevek ellenőrzésre kerülnek, hogy nincs-e bennük http://, https://, ftp:// hiperhivatkozás" +COM_SH404SEF_IP_WHITE_LIST="IP fehérlista" +COM_SH404SEF_TT_IP_WHITE_LIST="Az ebben a listában lévő IP címekről érkező oldalkérések elfogadásra
                  kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy IP címet írj be.
                  A * használható karakterhelyettesítőként, mint példáuul : 192.168.0.*. Ez a 192.168.0.0 és 192.168.0.255 közti IP-ket foglalja magába." +COM_SH404SEF_IP_BLACK_LIST="IP feketelista" +COM_SH404SEF_TT_IP_BLACK_LIST="Az ebben a listában lévő IP címekről érkező oldalkérések elutasításra kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy IP címet írj be.
                  A * használható karakterhelyettesítőként, mint példáuul : 192.168.0.*. Ez a 192.168.0.0 és 192.168.0.255 közti IP-ket foglalja magába." +COM_SH404SEF_UAGENT_WHITE_LIST="Felhasználói ügynök fehérlista" +COM_SH404SEF_TT_UAGENT_WHITE_LIST="Az ebben a listában lévő felhasználói ügynök karakterlánccal történt kérések elfogadásra
                  kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy felhasználói ügynök karakterláncot írj be." +COM_SH404SEF_UAGENT_BLACK_LIST="Felhasználói ügynök feketelista" +COM_SH404SEF_TT_UAGENT_BLACK_LIST="Az ebben a listában lévő felhasználói ügynök karakterlánccal történt kérések elutasításra kerülnek, amennyiben az URL átmegy a fent említett ellenőrzéseken. Soronként egy felhasználói ügynök karakterláncot írj be." +COM_SH404SEF_MONTHS_TO_KEEP_LOGS="A biztonsági naplók megőrzésének időtartama (hónapok)" +COM_SH404SEF_TT_MONTHS_TO_KEEP_LOGS="Ha aktiválod a támadások naplózását, akkor itt adhatod meg, hogy hány hónapig kerüljenek megőrzésre ezek a naplófájlok. Ha például ez az érték 2, akkor ez azt jelenti, hogy a jelenlegi hónap, PLUSZ az előző havi naplófájlok kerülnek megőrzésre. A régebbi naplófájlok törlésre kerülnek." +COM_SH404SEF_ANTIFLOOD_TITLE="Anti-flood beállításai" +COM_SH404SEF_ACTIVATE_ANTIFLOOD="Az anti-flood aktiválása" +COM_SH404SEF_TT_ACTIVATE_ANTIFLOOD="Az Igen választásakor az sh404SEF ellenőrzi, hogy egy adott IP címnek nincs-e túl sok oldalkérése a webhelyeden. Sok, közvetlenül egymás utáni kérés esetén egy kalóz egyszerűen a túlterheléssel használhatatlanná teheti a webhelyet." +COM_SH404SEF_ANTIFLOOD_ONLY_ON_POST="Csak POST adatok (űrlapok) esetén" +COM_SH404SEF_TT_ANTIFLOOD_ONLY_ON_POST="Az Igen választásakor erre az ellenőrzésre csak akkor kerül sor, ha van néhány POST adat az oldalkérésben. Általában ez az eset áll fönn az űrlapoknál, vagyis az anti-flood ellenőrzést korlátozhatod csak az űrlapokra, ami megakadályozza a hozzászólásokat spammelő robotok ténykedését." +COM_SH404SEF_ANTIFLOOD_PERIOD="Anti-flood ellenőrzés" +COM_SH404SEF_TT_ANTIFLOOD_PERIOD="Időtartam (másodpercben), melynek letelte után az ugyanarról az IP címről érkező kérések száma ellenőrzésre kerül" +COM_SH404SEF_ANTIFLOOD_COUNT="A kérések száma" +COM_SH404SEF_TT_ANTIFLOOD_COUNT="A kérések száma, mely az oldalak blokkolását váltja ki a sértő IP cím esetén. Az Időtartam = 10 és a Kérések száma = 4 például blokkolni fogja a hozzáférést (403-as kód, és majdnem üres oldal visszaadásával), amint 10 másodpercnél kevesebb idő alatt fogadja egy adott IP címről a 4 kérést. Természetesen csak erről az IP címről érkező hozzáférés kerül blokkolásra, a többi látogatóé nem." +COM_SH404SEF_CONF_TAB_LANGUAGES="Nyelvek" +COM_SH404SEF_DEFAULT="Alapértelmezett" +COM_SH404SEF_YES="Igen" +COM_SH404SEF_NO="Nem" +COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_PER_LANG="Az Igen választásakor a nyelvi kód beszúrásra kerül ehhez a nyelvhez az URL-be. A Nem választásakor a nyelvi kód soha nem kerül beszúrásra. Az Alapértelmezett választásakor a webhely alapértelmezett nyelvét kivéve az összes nyelvhez beszúrásra kerül a nyelvi kód." +COM_SH404SEF_TT_TRANSLATE_URL_PER_LANG="Az Igen választásakor, és ha többnyelvű a webhelyed, akkor az URL lefordításra kerül az ilyen nyelvű URL-hez, a Joom!Fish beállításaival összhangban. A Nem választásakor az URL sohasem kerül lefordításra. Az Alapértelmezett választásakor is lefordításra kerülnek. Az egynyelvű webhelyekre nincs hatással." +COM_SH404SEF_TT_INSERT_LANGUAGE_CODE_GEN="Az Igen választásakor nyelvi kód kerül beszúrásra az sh404SEF által létrehozott URL-be. Nyelvenkénti beállítása is lehet (lásd alább)." +COM_SH404SEF_TT_TRANSLATE_URL_GEN="Az Igen választásakor, és ha többnyelvű a webhelyed, akkor az URL lefordításra kerül a látogató nyelvére, a Joom!Fish beállításaival összhangban. Egyéb esetben az URL a webhely alapértelmezett nyelvén marad. Nyelvenkénti beállításod is lehet (lásd alább)." +COM_SH404SEF_ADV_COMP_DEFAULT_STRING="Alapértelmezett név" +COM_SH404SEF_TT_ADV_COMP_DEFAULT_STRING="Ha beírsz ide egy karakterláncot, akkor az kerül beszúrásra az adott komponens URL-jének elejére. Normál esetben nincs használatban, csak itt más keresőbarát komponensek régi URL-jeivel történő visszamenőleges kompatibilitás céljából." +COM_SH404SEF_TT_NAME_BY_COMP=".
                  Beírhatsz egy nevet, mely a menüpont neve helyett kerül felhasználásra. Ehhez válts át a Komponensek fülre. Ez a szöveg állandó lesz, és nem kerül például lefordításra." +COM_SH404SEF_STANDARD_ADMIN="Click here to switch to standard display (with only main parameters)" +COM_SH404SEF_ADVANCED_ADMIN="Kattints ide a kibővített nézetre történő átváltáshoz (az összes létező paraméterrel)" +COM_SH404SEF_MULTIPLE_H1_TO_H2="Több h1 módosítása h2-re" +COM_SH404SEF_TT_MULTIPLE_H1_TO_H2="Az Igen választásakor, és ha a h1 kódelem többször fordul elő egy oldalon, akkor átalakításra kerülnek h2 kódelemmé.
                  Ha csak egy h1 kódelem van egy oldalon, akkor változatlanul marad." +COM_SH404SEF_INSERT_NOFOLLOW_PDF_PRINT="A nofollow kódelem beszúrása a Nyomtatás és a PDF hivatkozásokba" +COM_SH404SEF_TT_INSERT_NOFOLLOW_PDF_PRINT="Az Igen választásakor a rel=nofollow attribútum hozzáadásra kerül a Joomla által létrehozott összes PDF és Nyomtatás hivatkozáshoz. Ez csökkenti a keresőmotorok által duplának vélt tartalmat." +COM_SH404SEF_INSERT_READMORE_PAGE_TITLE="A cím beszúrésa a Bővebben ... hivatkozásokba" +COM_SH404SEF_TT_INSERT_READMORE_PAGE_TITLE="Az Igen választásakor, és ha látható a Bővebben hivatkozás egy oldalon, akkor beszúrásra kerül a megfelelő tartalmi elem címe, ami növeli a hivatkozás súlyát a keresőmotorokban" +COM_SH404SEF_VM_USE_ITEMS_PER_PAGE="Using Items per page drop-down list" +COM_SH404SEF_TT_VM_USE_ITEMS_PER_PAGE="If set to Yes, URLs will be adjusted to allow for using drop-down lists to let user select the number of items per page. If you don’t use such drop-down lists, AND your URLs are already indexed by search engines, you can set it to NO to keep your existing URL. " +COM_SH404SEF_CHECK_POST_DATA="A mező adatok ellenőrzése (POST)" +COM_SH404SEF_TT_CHECK_POST_DATA="If set to Yes, data coming from input forms will be checked against passing config variables or similar threats. This may cause unneeded blockages if you have, for instance, a forum where users may discuss such things as Joomla programming or similar. They may then want to discuss the exact text strings we are looking for as a potential attack. You should then disable this feature if you experience unappropriate forbidden access" +COM_SH404SEF_SEC_STATS_TITLE="Biztonsági statisztika" +COM_SH404SEF_SEC_STATS_UPDATE="Kattints ide a számláló frissítéséhez" +COM_SH404SEF_TOTAL_ATTACKS="Blokkolt támadások" +COM_SH404SEF_TOTAL_CONFIG_VARS="mosConfig var az URL-ben" +COM_SH404SEF_TOTAL_BASE64="Base64 injektálás" +COM_SH404SEF_TOTAL_SCRIPTS="Szkript injektálás" +COM_SH404SEF_TOTAL_STANDARD_VARS="Érvénytelen változók" +COM_SH404SEF_TOTAL_IMG_TXT_CMD="távoli fájl beillesztés" +COM_SH404SEF_TOTAL_IP_DENIED="IP-cím megtagadva" +COM_SH404SEF_TOTAL_USER_AGENT_DENIED="Visszautasított felhasználói azonosító" +COM_SH404SEF_TOTAL_FLOODING="Túl sok kérés (flooding)" +COM_SH404SEF_TOTAL_PHP="A Project Honey Pot által visszautasítva" +COM_SH404SEF_TOTAL_PER_HOUR=" /óra" +COM_SH404SEF_SEC_DEACTIVATED="A biztonsági funkciók nincsenek használatban" +COM_SH404SEF_TOTAL_PHP_USER_CLICKED="PHP, de felhasználói kattintás" +COM_SH404SEF_PREPEND_TO_PAGE_TITLE="Beillesztés az oldalcím elé" +COM_SH404SEF_TT_PREPEND_TO_PAGE_TITLE="Any text entered her will be prepended to all page title tags." +COM_SH404SEF_APPEND_TO_PAGE_TITLE="Hozzáadás az oldalcímhez" +COM_SH404SEF_TT_APPEND_TO_PAGE_TITLE="Any text entered here will be appended to all page title tags." +COM_SH404SEF_DEBUG_TO_LOG_FILE="Debug információk naplófájlba mentése" +COM_SH404SEF_TT_DEBUG_TO_LOG_FILE="If set to Yes, sh404SEF will log to a text file many internal information. This data will help us troubleshoot problems you may be facing using sh404SEF.
                  Warning: this file can quickly become fairly big. Also, this function will certainly slow down your site. Be sure to turn it on only when required. For this reason, it will de-activate automaticaly one hour after being started. Just turn it off then on again to activate it again. The log file is located in /administrator/components/com_sh404sef/logs/ " +COM_SH404SEF_ALIAS_LIST="Álnév lista" +COM_SH404SEF_TT_ALIAS_LIST="Enter here a list of alias for this URL. Put only one alias per line, like :
                  old-url.html
                  or
                  my-other-old-url.php?var=12&test=15
                  sh404SEF will do a 301 redirect to the current SEF URL if any one of those aliases is requested." +COM_SH404SEF_HOME_ALIAS="Címlap álnév" +COM_SH404SEF_TT_HOME_PAGE_ALIAS_LIST="Enter here a list of alias for your home page. Put only one alias per line, like :
                  old-url.html
                  or
                  my-other-old-url.php?var=12&test=15
                  sh404SEF will do a 301 redirect to your home page if any one of those aliases is requested" +COM_SH404SEF_INSERT_OUTBOUND_LINKS_IMAGE="Insert outbound links symbol" +COM_SH404SEF_TT_INSERT_OUTBOUND_LINKS_IMAGE="If set to Yes, a visual symbol will be inserted next to every link targeting another website, to allow easier identification of these links." +COM_SH404SEF_OUTBOUND_LINKS_IMAGE_BLACK="Fekete szimbólum használata" +COM_SH404SEF_OUTBOUND_LINKS_IMAGE_WHITE="Fehér szimbólum használata" +COM_SH404SEF_OUTBOUND_LINKS_IMAGE="Outbound links color symbol" +COM_SH404SEF_TT_OUTBOUND_LINKS_IMAGE="Both images have a transparent background. Select the black one if your site has a white background. Select the white one if your site has a dark background. These images are /administrator/components/com_sef/images/external-white.png and external-black.png. They are 15x16 pixels in size." +COM_SH404SEF_DEFAULT_PARAMS_TITLE="Nagyon részletes" +COM_SH404SEF_DEFAULT_PARAMS_WARNING="FIGYELEM: ezen értékeket csak akkor változtasd meg, ha tényleg tudod mit csinálsz! Ha valamit elrontasz, valószínűleg nehéz lesz rendbehozni." +COM_SH404SEF_USE_CAT_ALIAS="Kategória álnév használata" +COM_SH404SEF_TT_USE_CAT_ALIAS="If set to Yes, sh404sef will use a category alias instead of its actual name every time that name is required to build a url" +COM_SH404SEF_USE_MENU_ALIAS="Menü álnév használata" +COM_SH404SEF_TT_USE_MENU_ALIAS="If set to Yes, sh404sef will use a menu item alias instead of its actual title every time that title is required to build a url" +COM_SH404SEF_JC_MODULE_CACHING_DISABLED="Caching for Joomfish language selection module has been disabled!" +COM_SH404SEF_ALWAYS_APPEND_ITEMS_PER_PAGE="Mindig adja hozzá az #azonosítót az oldalakhoz" +COM_SH404SEF_TT_ALWAYS_APPEND_ITEMS_PER_PAGE="If set to Yes, sh404sef will always append the number of items per page to paginated urls. For instance, .../Page-2.html will become .../Page2-10.html, if the current settings cause 10 items to be displayed per page. This is required for instance if you activated drop-down lists to let your user select number of items per page." +COM_SH404SEF_REDIRECT_CORRECT_CASE_URL="301 url átirányítás a pontos helyre" +COM_SH404SEF_TT_REDIRECT_CORRECT_CASE_URL="If set to Yes, sh404sef will perform a 301 redirect from a SEF url if it does not have the same case as an url found in the database. For instance, example.com/My-page.html will be redirected to example.com/my-page.html, if the latter is stored in the database. Conversely, example.com/my-page.html will be redirected to example.com/My-page.html if the later is the url used on your site, and therefore stored in the database." +COM_SH404SEF_JCL_INSERT_EVENT_ID="Esemény AZ beillesztés" +COM_SH404SEF_TT_JCL_INSERT_EVENT_ID="If set to Yes, event internal id will be prepended to the event title in the urls, to make them unique" +COM_SH404SEF_JCL_INSERT_CATEGORY_ID="Kategória AZ beillesztés" +COM_SH404SEF_TT_JCL_INSERT_CATEGORY_ID="If set to Yes, when a category is used in a url, it will be prepended with the internal category id, to make it unique." +COM_SH404SEF_JCL_INSERT_CALENDAR_ID="Naptár AZ beillesztés" +COM_SH404SEF_TT_JCL_INSERT_CALENDAR_ID="If set to Yes, when a calendar name is used in a url, it will be prepended with this calendar internal id, to make it unique" +COM_SH404SEF_JCL_INSERT_CALENDAR_NAME="Naptár név beillesztés" +COM_SH404SEF_TT_JCL_INSERT_CALENDAR_NAME="If set to Yes, all urls where a specific calendar is set will have that calendar name included in the url. If no calendar id is specified in the url, the menu item title will be included instead" +COM_SH404SEF_JCL_INSERT_DATE="Dátum beillesztés" +COM_SH404SEF_TT_JCL_INSERT_DATE="If set to yes, the date of the target page will be inserted into each url" +COM_SH404SEF_JCL_INSERT_DATE_IN_EVENT_VIEW="Dátumbeillesztés az esemény hivatkozásba" +COM_SH404SEF_TT_JCL_INSERT_DATE_IN_EVENT_VIEW="If set to Yes, each event date will be prepended to urls to the event details page" +COM_SH404SEF_JCL_TITLE="JCal Pro beállítás" +COM_SH404SEF_PAGE_TITLE_TITLE="Oldal cím beállítás" +COM_SH404SEF_CONTENT_TITLE_TITLE="Joomla tartalom oldal cím beállítás" +COM_SH404SEF_CONTENT_TITLE_USE_ALIAS="Cikk cím mint álnév használata" +COM_SH404SEF_TT_CONTENT_TITLE_USE_ALIAS="If set to Yes, the article alias will be used in the page title instead of the actual article title" +COM_SH404SEF_CONTENT_TITLE_USE_CAT_ALIAS="Kategória álnév használata"_QQ_"" +COM_SH404SEF_TT_CONTENT_TITLE_USE_CAT_ALIAS="If set to Yes, a category alias will be used in the page title instead of the actual category title" +COM_SH404SEF_PAGE_TITLE_SEPARATOR="Oldalcím elválasztó" +COM_SH404SEF_TT_PAGE_TITLE_SEPARATOR="Enter here a character or a string to separate the various parts of the page title, if there is more than one. Defaults to the | character, surrounded by a single space" +COM_SH404SEF_DISPLAY_DUPLICATE_URLS_TITLE="Másolatok" +COM_SH404SEF_DISPLAY_DUPLICATE_URLS_NOT="Csak a fő URL megjelenítése" +COM_SH404SEF_DISPLAY_DUPLICATE_URLS="A fő és a másolat URL-ek megjelenítése" +COM_SH404SEF_INSERT_ARTICLE_ID_TITLE="Cikk azonosító az URL-ben" +COM_SH404SEF_TT_INSERT_ARTICLE_ID_TITLE="If set to Yes, an article internal id will be appended to the title of that article in URLs, in order to be sure each article can be accessed individually, even if 2 articles have the exact same titles, or titles that yields the same URL (after being cleaned up for invalid characters and such). This id will bring no SEO value, and you should rather make sure you do not have articles with the same title in the same section and category.
                  In case you do not control article entries, this setting may help you make sure articles can be accessed, at the cost of good search engine optimization." +COM_SH404SEF_JS_TITLE="JomSocial beállítás " +COM_SH404SEF_JS_INSERT_NAME="JomSocial név beillesztés" +COM_SH404SEF_TT_JS_INSERT_NAME="If set to Yes, the menu element title leading to JomSocial main page will be prepended to all JomSocial SEF URL" +COM_SH404SEF_JS_INSERT_USER_NAME="Rövid név beillesztés" +COM_SH404SEF_TT_JS_INSERT_USER_NAME="If set to Yes, user name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." +COM_SH404SEF_JS_INSERT_USER_FULL_NAME="A felhasználó teljes nevének beillesztése" +COM_SH404SEF_TT_JS_INSERT_USER_FULL_NAME="If set to Yes, user full name will be inserted into SEF URLs. WARNING: this can lead to substantial increase in database size, and can slow down site, if you have many registered users." +COM_SH404SEF_JS_INSERT_GROUP_CATEGORY="A csoport kategória beillesztése" +COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY="If set to Yes, a users group's category will be inserted into SEF URLs where the group name is used." +COM_SH404SEF_JS_INSERT_GROUP_CATEGORY_ID="Csoport kategória AZ beillesztés" +COM_SH404SEF_TT_JS_INSERT_GROUP_CATEGORY_ID="If set to Yes, a users group category ID will be prepended to the category name when previous option is also set to Yes, just in case two categories have the same name." +COM_SH404SEF_JS_INSERT_GROUP_ID="A csoport AZ beillesztése" +COM_SH404SEF_TT_JS_INSERT_GROUP_ID="If set to Yes, a users group ID will be prepended to the group name, just in case two groups have the same name." +COM_SH404SEF_JS_INSERT_GROUP_BULLETIN_ID="Csoport bejelentés AZ beillesztés" +COM_SH404SEF_TT_JS_INSERT_GROUP_BULLETIN_ID="If set to Yes, a users group bulletin ID will be prepended to the bulletin name, just in case two bulletins have the same name." +COM_SH404SEF_JS_INSERT_DISCUSSION_ID="Csoport megbeszélés AZ beillesztés" +COM_SH404SEF_TT_JS_INSERT_DISCUSSION_ID="If set to Yes, a users group discussion ID will be prepended to the discussion name, just in case two discussions have the same name." +COM_SH404SEF_JS_INSERT_MESSAGE_ID="Üzenet AZ beillesztése" +COM_SH404SEF_TT_JS_INSERT_MESSAGE_ID="If set to Yes, a message ID will be prepended to the message name, just in case two messages have the same subject." +COM_SH404SEF_JS_INSERT_PHOTO_ALBUM="A fotóalbum név beillesztése" +COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM="If set to Yes, the name of the album it belongs to will be inserted into SEF URLs of a photo or set of photos." +COM_SH404SEF_JS_INSERT_PHOTO_ALBUM_ID="A fotóalbum AZ beillesztése" +COM_SH404SEF_TT_JS_INSERT_PHOTO_ALBUM_ID="If set to Yes, an album ID will be prepended to the album name, just in case two albums have the same subject." +COM_SH404SEF_JS_INSERT_PHOTO_ID="A kép AZ beillesztése" +COM_SH404SEF_TT_JS_INSERT_PHOTO_ID="If set to Yes, a photo ID will be prepended to the photo name, just in case two photos have the same subject." +COM_SH404SEF_JS_INSERT_VIDEO_CAT="A videókategória név beillesztése" +COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT="If set to Yes, the name of the category it belongs to will be inserted into SEF URLs of a video or set of videos." +COM_SH404SEF_JS_INSERT_VIDEO_CAT_ID="A videókategória AZ beillesztése" +COM_SH404SEF_TT_JS_INSERT_VIDEO_CAT_ID="If set to Yes, a video category ID will be prepended to the category name, just in case two categories have the same subject." +COM_SH404SEF_JS_INSERT_VIDEO_ID="A videó AZ beillesztése" +COM_SH404SEF_TT_JS_INSERT_VIDEO_ID="If set to Yes, a video ID will be prepended to the video name, just in case two videos have the same subject." +COM_SH404SEF_FB_INSERT_USERNAME="Felhasználói név beillesztés" +COM_SH404SEF_TT_FB_INSERT_USERNAME="If set to Yes, the username will be inserted into SEF URLs for her posts or profile." +COM_SH404SEF_FB_INSERT_USER_ID="Felhasználói AZ beillesztés" +COM_SH404SEF_TT_FB_INSERT_USER_ID="If set to Yes, a user ID will be prepended to her name, if the preceding setting is set to yes, just in case two users have the same username." +COM_SH404SEF_PAGE_NOT_FOUND_ITEMID="A használni kívánt 404-es oldal azonosítója" +COM_SH404SEF_TT_PAGE_NOT_FOUND_ITEMID="The value entered here, if non zero, will be used to display the 404 page. Joomla will use the Itemid to decide which template and modules to display. Itemid represents a menu item, so you can look up Itemids in your menus list." +; +COM_SH404SEF_PAGE_ID="shURL" +COM_SH404SEF_HITS="Találat" +COM_SH404SEF_SEF_URL="SEF url" +COM_SH404SEF_NON_SEF_URL="nem SEF url" +COM_SH404SEF_SEF_URL_LIST="URL kezelő" +COM_SH404SEF_HAS_DUPLICATE="Duplikált" +COM_SH404SEF_HAS_METAS="Meta" +COM_SH404SEF_DUPLICATE_MAIN="Fő" +COM_SH404SEF_DUPLICATES_OF="másolata a(z)" +COM_SH404SEF_DUPLICATE_MANAGER="Duplikált url kezelő" +COM_SH404SEF_DUPLICATE_HELP="Joomla! may create several non-sef urls going to the same page. Select which one to use when this SEF url is requested" +COM_SH404SEF_DUPLICATE_MAKE_MAIN="Choose this non-sef url to be associated with %s" +COM_SH404SEF_DUPLICATE_IS_MAIN="This is the main non-sef url!" +COM_SH404SEF_ALIASES="Álnevek" +COM_SH404SEF_IS_CUSTOM="Egyedi" +COM_SH404SEF_NO_URL="Nincs ilyen" +COM_SH404SEF_ALL_COMPONENTS=" - Összes komponens - " +COM_SH404SEF_ALL_DUPLICATES=" - Másolatokkal vagy azok nélkül - " +COM_SH404SEF_ONLY_NO_DUPLICATES="Csak másolatok nélkül" +COM_SH404SEF_ONLY_DUPLICATES="Csak másolatokkal" +COM_SH404SEF_ALL_ALIASES=" - álnévvel vagy anélkül - " +COM_SH404SEF_ONLY_NO_ALIASES="Csak álnév nélkül" +COM_SH404SEF_ONLY_ALIASES="Csak álnévvel" +COM_SH404SEF_ALL_LANGUAGES=" - Összes nyelv - " +COM_SH404SEF_ALL_URL_TYPES=" - Automata és egyedi - " +COM_SH404SEF_ONLY_CUSTOM="Csak egyedi url" +COM_SH404SEF_ONLY_AUTO="Csak automata url" +COM_SH404SEF_EDIT_URL_TITLE="URL változtatás" +COM_SH404SEF_ADD_URL_TITLE="Új Url rekord hozzáadás" +COM_SH404SEF_EDIT_URL="Url rekord szerkesztés" +COM_SH404SEF_OLDURL="Új SEF URL" +COM_SH404SEF_TT_OLDURL="Enter only a relative url from the Joomla root without a leading slash" +COM_SH404SEF_NEWURL="nem SEF url" +COM_SH404SEF_TT_NEWURL="Enter the non SEF URL corresponding to the SEF url above. WARNING: it must starts with index.php and must not be longer than 255 characters!" +COM_SH404SEF_EDIT_META="Cím és meta címkék" +COM_SH404SEF_OPERATION_COMPLETED="A folyamat sikeresen befejezve!" +COM_SH404SEF_ELEMENT_NOT_SAVED="Mentés közben hiba történt. Kérjük, próbáld újra vagy ne szerkeszd tovább" +COM_SH404SEF_ELEMENT_SAVED="Elem sikeresen mentve" +COM_SH404SEF_ELEMENT_DELETED="Elem sikeresen törölve" +COM_SH404SEF_HOME_PAGE_EDIT_TITLE="Edit home page data" +COM_SH404SEF_HOME_PAGE_ICON="címlap meta" +COM_SH404SEF_HOME_PAGE="____ Címlap ____" +COM_SH404SEF_CONFIRM_TITLE="Biztos vagy benne??" +COM_SH404SEF_CONFIRM_URL_DELETION="Most fogsz %d hivatkozást törölni az adatbázisból." +COM_SH404SEF_CONFIRM_BOX_TITLE="Megerősítés" +COM_SH404SEF_PURGE="Kiürítés" +COM_SH404SEF_PURGE_SELECTED="Lista kiürítés" +COM_SH404SEF_CONFIRM_PURGE_URLS="You are about to delete %d urls from the database (including duplicates).
                  Custom urls, aliases and pageid will be left untouched." +COM_SH404SEF_CONFIRM_PURGE_URLS_SELECTED="The urls matching your selection criteria will be deleted (%d urls in total).
                  This may include custom urls depending on the choices you made in drop-down lists. If automatic urls are in the list, their duplicates will also be removed." +COM_SH404SEF_CONFIRM_PURGE_URLS_404="Records of requests for non-existing pages (%s in total) will be deleted from the database." +COM_SH404SEF_404_MANAGER="404-es kérések" +COM_SH404SEF_CUSTOM_URL_LINK_TITLE="egyedi url" +COM_SH404SEF_HAS_META_LINK_TITLE="Egyedi meta adatokat tartalmaz" +COM_SH404SEF_MODIFY_LINK_TITLE="Módosít" +COM_SH404SEF_HAS_DUPLICATES_LINK_TITLE="%d másolata van" +COM_SH404SEF_HAS_ALIASES_LINK_TITLE="%d alcíme van" +COM_SH404SEF_ALIASES_MANAGER="Álnév kezelő" +COM_SH404SEF_ALIASES_HELP="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection). Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window." +COM_SH404SEF_NO_ALIASES="Nincs megjeleníthető álnév" +COM_SH404SEF_MODIFY_ALIAS_TITLE="Módosít" +COM_SH404SEF_ALIAS="Álnév" +COM_SH404SEF_URL="URL" +COM_SH404SEF_CONFIRM_PURGE_ALIASES="You are about to delete %d aliases from the database.
                  This count includes home page aliases. They cannot be recreated automatically, so be careful!" +COM_SH404SEF_CONFIRM_PURGE_ALIASES_SELECTED="The aliases matching your selection criteria will be deleted (%d aliases in total).
                  They cannot be recreated automatically, so be careful!" +COM_SH404SEF_CONFIRM_ALIAS_DELETION="Az adatbázisból most törölsz %d álnevet." +COM_SH404SEF_SELECT_ALIAS="Válassz egy vagy több alcímet" +COM_SH404SEF_ACCESS_URLS_STATS="Hozzáférés és url statisztika" +COM_SH404SEF_URLS_STATS="Url statisztika" +COM_SH404SEF_CONTROL_PANEL="Vezérlőpult" +COM_SH404SEF_CONFIGURATION="Beállítás" +COM_SH404SEF_MANAGEMENT="Kezelő" +COM_SH404SEF_CONFIG_EXT="Bővítmény beállítás" +COM_SH404SEF_CONFIG_EXT_DESC="Set up the way urls are built for the various extensions used on your site. After changing settings on this page, you will most likely need to purge the SEF urls database, so that new urls are recreated in accordance with the new parameters you now use. This is done from the URL manager." +COM_SH404SEF_CONFIG_ERROR_PAGE="Hibaoldal beállítás" +COM_SH404SEF_CONFIG_ERROR_PAGE_DESC="Select and adjust the content of your 404 error page" +COM_SH404SEF_CONFIG_SEO="SEO beállítás" +COM_SH404SEF_CONFIG_SEO_DESC="Change various settings that will change elements of your Joomla! web site to improve search results" +COM_SH404SEF_CONFIG_SEC="Biztonsági beállítás" +COM_SH404SEF_CONFIG_SEC_DESC="Settings dealing with built in security features" +COM_SH404SEF_QCONTROL="

                  Welcome to sh404SEF!

                  To enable it for your site, use the main Enable URL optimization Yes/No selector and press the Save button. sh404SEF will start with its default settings, suitable in most cases.
                  You can change the Rewriting mode to use mod_rewrite. You won't have those /index.php/ bits in your URL any more, but you must setup correctly a .htaccess file (or the equivalent for your web server) before you can proceed.
                  Please check out the FAQ" +COM_SH404SEF_PAGEID_MANAGER="shURL kezelő" +COM_SH404SEF_CP_PAGEID_HELP="shURL is your very own url shortener. Works very much like an alias, but shURLs are automatically created by sh404sef, so that your pages can also be accessed using www.example.com/p412 for instance. No risk of url shortener provider disappearing, or users being afraid because they don't know where a short url is taken them." +COM_SH404SEF_VERSION_INFO="Verzió és frissítések" +COM_SH404SEF_COULD_NOT_CHECK_FOR_NEW_VERSION="Sorry, could not check if a newer version is available (response code %d)" +COM_SH404SEF_CHECK_UPDATES="Újra ellenőrzés" +COM_SH404SEF_CLICK_TO_CHECK_UPDATES="Kattints a gombra a frissítések ellenőrzéséhez" +COM_SH404SEF_NEW_VERSION_AVAILABLE="Elérhető az új verzió!" +COM_SH404SEF_YOU_ARE_UP_TO_DATE="Nincs szükség frissítésre" +COM_SH404SEF_AVAILABLE_VERSION="Elérhető verzió" +COM_SH404SEF_ERROR_CHECKING_NEW_VERSION="Kommunikációs hiba történt a verzióinformációs szerverrel. Később próbáld újra!" +COM_SH404SEF_VIEW_CHANGELOG="Változások listája" +COM_SH404SEF_GET_IT="Szerezd meg!" +COM_SH404SEF_NOTES="Megjegyzés" +COM_SH404SEF_MODIFY_META_TITLE="Meta adat módosítása" +COM_SH404SEF_ALL_TITLE="Oldalcímmel vagy anélkül" +COM_SH404SEF_ONLY_TITLE="Csak oldalcímmel" +COM_SH404SEF_NO_TITLE="Csak oldalcím nélkül" +COM_SH404SEF_ALL_DESC="Leírással vagy anélkül" +COM_SH404SEF_ONLY_DESC="Csak leírással" +COM_SH404SEF_NO_DESC="Csak leírás nélkül" +COM_SH404SEF_DATA_NOT_MODIFIED="Az adatok nem lettek módosítva!" +COM_SH404SEF_META_HELP="You can use these pages to customize page title and/or description meta tags for any page on your site. The values entered here will override any values that may be coming directly from Joomla own input boxes. Likewise, they will override any page title or description that may have been generated otherwise by sh404sef built in plugins.
                  You usually will not have to use this section, as Joomla!, sh404sef and most extensions will create suitable page titles. Beware to create short and to the point page titles. Description should also be concise and clearly describe your page content. Better leave description empty if it does not bring value for visitors. Other meta elements can be setup by clicking on a url. Beware when you do so, as you may do more harm than good. In particular, you should probably leave Keywords meta data empty. They are not used by search engines, and under some circumstances can have a negative effect on your ranking." +COM_SH404SEF_PAGE_NOT_FOUND_TEMPLATE="Sub-template for display" +COM_SH404SEF_TT_PAGE_NOT_FOUND_TEMPLATE="By default (when value is set to 'index'), sh404sef will display the 'Page not found' error page using your regular Joomla! template file, in accordance with the Itemid setting. However you may enter here the name of an alternate sub-template file. For instance, most template come with a 'component' sub-template, which is much simpler and does not display any module. Just enter 'component' instead of 'index', to start using it.
                  You can also provide your own sub-template. Create it - let's say you call it 'error404.php', then store it in your template main directory, alongside index.php and component.php. Don't forget to enter 'error404' (without the trailing '.php') here so that sh404sef use it." +COM_SH404SEF_CONFIRM_PURGE_METAS="You are about to delete meta data records for %d non-sef urls from the database.
                  Urls themselves, aliases or pageid will be left untouched." +COM_SH404SEF_CONFIRM_PURGE_METAS_SELECTED="Meta data records for the urls matching your selection criteria will be deleted
                  (%d non-sef urls in total).
                  Urls themselves, aliases or pageid will be left untouched." +COM_SH404SEF_PREVIEW="Preview" +COM_SH404SEF_404_PAGE_EDIT_HELP="You can use the following tags while editing this error page:
                  • {%sh404SEF_404_URL%} will be replaced by the url the visitor requested, the one that we could not find
                  • {sh404sefSimilarUrls} will be replaced by a list of urls found in the database that are similar to the one requested but not found. If none are found to be similar, nothing will be displayed and the tag removed. You can go to Joomla's plugins list, and set some parameters to alter the way the 'sh404sef similar urls plugin' operates
                  • {sh404sefSimilarUrlsCommentStart} and {sh404sefSimilarUrlsCommentEnd} everything you put between those two tags will be displayed only if some similar urls are found
                  " +COM_SH404SEF_ENABLE_PAGEID="shURL engedélyezés" +COM_SH404SEF_DISABLE_PAGEID="shURL letiltás" +COM_SH404SEF_COMP_ENABLE_PAGEID="shURL létrehozás engedélyezés" +COM_SH404SEF_TT_COMP_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for all urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for this particular component. Please note that shURL creation should also be enabled globally in sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                  You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                  It will be replaced automatically by sh404sef by the shURL." +COM_SH404SEF_ENABLE_PAGEID_HELP="Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration" +COM_SH404SEF_CONF_TAB_PAGEID="shURL" +COM_SH404SEF_TT_ENABLE_PAGEID="shURL is an internal short url created on the fly by sh404sef, in order to make it easier to use short urls in printed material or Twitter posts. shURL can be created for most urls, which can lead to massive use of the database in case of large sites. You should enable it only if it is useful for your site. Please note that shURL creation must also be enabled for each component on your site, using the By component tab of sh404sef configuration. Lastly, even if enabled, the sef url extension-specific plugin has to allow shURL creation explicitely.

                  You can display the shURL for the current page anywhere by inserting the following tag :{sh404sef_shurl}.
                  It will be replaced automatically by sh404sef by the shURL." +COM_SH404SEF_PAGEIDS_MANAGER="shURL kezelő" +COM_SH404SEF_PAGEID_HELP="This page will show you all the already created shURL for your site. shURL are short urls automatically created by sh404sef upon creation of a SEF url. They allow you to provide internal shortcuts to commonly used pages. They can be used for instance in printed material, on business cards or in short messages system such as mobile phone text messages or Twitter.WARNING: once created, shURLs should never be deleted, as they cannot be recreated the same. If shURLs have been distributed to users, or bookmarked by people online, and you delete them from your site, new shURLs will be generated next time you purge your SEF urls database. However, those new shURLs will NOT be the same as the previous one, and so existing links will be lost. Please note that this does not apply to search engines. Basically, search engines will not index shURLs at all, as they will follow the redirects towards the final, full length, keyword-full version of the url." +COM_SH404SEF_CONFIRM_PAGEID_DELETION="You are about to delete %d shURL record(s) from the database.
                  Warning : they cannot be recreated the same after being deleted!" +COM_SH404SEF_SEF_ENABLED="URL optimalizálás engedélyezése" +COM_SH404SEF_TT_SEF_ENABLED="When set to Yes, sh404sef will take over SEF url generation from Joomla!This will happen regardless of the SEF setting found under Joomla!'s Global configuration panel." +COM_SH404SEF_UPGRADE_ENABLE_CHECK="Friss verzió ellenőrzésének engedélyezése" +COM_SH404SEF_TT_UPGRADE_ENABLE_CHECK="If set to Yes, sh404sef will check for the availability of new versions. It will not send any information from your site, but only call our servers to know if a version newer than the one currently running on your site is available. Result of such check will be cached for 24 hours, meaning that at most one such call per day will be done, regardless of how many times you access sh404sef main control panel. If a newer version is available, the Version and updates tab on the main screen will turn red, and a (!) sign will be added to its title. Going to this tab, you'll find a link to download the new version, and another one to view the changelog." +COM_SH404SEF_MAY_NEED_PURGE_DIALOGBOX="You have modified some settings that could change urls on your site. For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated. Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]]." +COM_SH404SEF_MAY_NEED_PURGE="
                • Element successfully saved.
                • You have modified some settings that could change urls on your site.
                • For these changes to be taken into account, current urls stored in database should be purged, and new ones recreated.
                • Read all about it on [[ this FAQ page ]]. Purge buttons are located on the [[ URL manager page ]].
                • " +COM_SH404SEF_INVALID_WIZARD_STEP="Belső hiba: érvénytelen varázsló lépés. Kérjük, hogy lépj kapcsolatba az adminisztrátorral." +COM_SH404SEF_WIZARD_CANCELLED="Folyamat megszakítva" +COM_SH404SEF_INVALID_WIZARD_ADAPTER="Belső hiba: érvénytelen varázsló adapter. Kérjük lépj kapcsolatba az adminisztrátorral" +COM_SH404SEF_ALIASES_HELP_NEW_ALIAS="Aliases are a list of urls that should be redirected to other urls when requested by a visitor. For instance, when you manually modify a SEF url, the previous version is automatically added as an alias fo the new custom url, so that users or search engines having bookmarked the previous address are sent to the new one (with a 301 redirection).

                  Usually however, aliases are created manually, and you will do so directly from the URL manager, using the 'Aliases' tab of any sef url edit window. This is done in the Urls manager, by clicking on any listed url and entering new alias(es) on the 'Aliases' tab. Go to Url manager" +COM_SH404SEF_IMPORT_PAGEIDS_START="Welcome to the shURL import wizard. Please press the Next button to start importing shURLs into your database. Suitable data sources are files obtained through the Export shURLs feature" +COM_SH404SEF_EXPORT_PAGEIDS_START="Welcome to the shURL export wizard. Please press the Next button to start exporting shURLs from your database to a text file. This text file may be used later on to import back shURL records into this same web site or another web for instance, through the Import shURLs feature.

                  Warning: only shURLs matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_EXPORTING="Rekordok exportálása %d-ik a %d maradékból" +COM_SH404SEF_EXPORTING_TITLE="Exportálás" +COM_SH404SEF_EXPORT_DONE="Export of %d record(s) done. Please click on Terminate button to close this window

                  Note : temporary export files are left available in Joomla! /tmp directory. You should delete them on a regular basis." +COM_SH404SEF_NOTHING_TO_EXPORT="Az adatok nem lettek exportálva!" +COM_SH404SEF_EXPORT_METAS_START="Welcome to the page title and meta data export wizard. Please press the Next button to start exporting page title and meta data from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only page title and meta data records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_URLS_START="Welcome to the page urls export wizard. Please press the Next button to start exporting url records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only url records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_ALIASES_START="Welcome to the aliases export wizard. Please press the Next button to start exporting aliases records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only aliases records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_EXPORT_VIEW404_START="Welcome to the 404 error records export wizard. Please press the Next button to start exporting 404 error records from your database to a text file. This text file may be used later on to import back records into this same web site or another web for instance, through the Import feature.

                  Warning: only 404 error records matching current selection criteria (components, language, ...) will be exported!" +COM_SH404SEF_PURGE_TEMP_FILES="Purge temporary files on terminating" +COM_SH404SEF_IMPORTING_TITLE="Importálás" +COM_SH404SEF_IMPORT_UPLOAD_FILE="Please select a data file to import using the input below, or the 'browse' button. This data file must be :
                  • either coming from sh404sef itself (through the export functions)
                  • or be a modified version of such file, customized in a spreadsheet program for instance
                  • at most %s in size, which is maximum size allowed by your server

                  " +COM_SH404SEF_IMPORT_VALIDATE_IMPORT="This file appears to be valid, and contains %s data. I have found %d records. Click Next button to import them into the database." +COM_SH404SEF_IMPORT_UNRECOGNIZED_CONTENT="Elnézést, de nem ismerhető fel a fájl tartalma. Kérjük, hogy válassz másikat!" +COM_SH404SEF_IMPORT_ERROR_INSERTING_INTO_DB="There was an error inserting a record in the database. This happened with record #%d of the import file. Please double-check the file content and try again! Many times, the reason for such error is that the record already exists in the database. Either remove it from the database, or from the import file." +COM_SH404SEF_IMPORT_ALIASES_START="Welcome to the alias import wizard. Please press the Next button to start importing aliases into your database. Suitable data sources are files obtained through the Export aliases feature" +COM_SH404SEF_IMPORT_DONE="Imported %d %s record(s). Please click on Terminate button to close this window
                  " +COM_SH404SEF_IMPORT_URLS_WARNING="
                  Warning: please note that if you imported meta data or 404 error pages records, these are considered and were previously exported as regular urls records, and so you are now on the 'Url manager page'. Just go to the title and metas manager or the 404 error requests manager to view the newly imported records" +COM_SH404SEF_IMPORT_URLS_START="Welcome to the urls and meta data import wizard. Please press the Next button to start importing urls and meta data records into your database. Suitable data sources are files obtained through the Export urls or Export meta data feature" +COM_SH404SEF_ANALYTICS="Analytics" +COM_SH404SEF_CHECK_ANALYTICS="Kattints a frissítéshez" +COM_SH404SEF_ERROR_CHECKING_ANALYTICS="Could not connect to analytics server (not available, or no account configured ? are cURL and SSL enabled in your phpinfo ?)" +COM_SH404SEF_ERROR_AUTH_ANALYTICS="Hiba történt az analytics szerverrel kapcsolódás közben: nem engedélyezett. Ellenőrizd a jelszót és a felhasználói nevet!" +COM_SH404SEF_CONF_ANALYTICS="Analytics" +COM_SH404SEF_CONF_ANALYTICS_HELP="Analytics is an sh404sef feature designed to work with Google Analytics traffic analysis service. To use it, you should create an account with Google Analytics. Visit Google Analytics to do this. And don't forget to check out our video tutorial
                  sh404SEF itself does not collect any traffic data, but instead will query Google Analytics for traffic data to display reports.
                  Security consideration: sh404sef needs your Google Analytics user name AND password. We advice to use a dedicated Google account and password for your Google Analytics needs, so as to avoid having the same password on all your emails accounts, FTP server, online banking and everything else." +COM_SH404SEF_ANALYTICS_ENABLED="Enable data collection" +COM_SH404SEF_TT_ANALYTICS_ENABLED="If set to Yes, a javascript snippet, suitable for use with Google Analytics service, will be included in all pages, complying with next settings, so that analytics data are collected by the analytics service.
                  Warning: there are other Joomla! extensions developed to include such snippet into your pages. Make sure you only have one at a time activated!" +COM_SH404SEF_ANALYTICS_ID="Web Property ID" +COM_SH404SEF_TT_ANALYTICS_ID="The ID for this site, as supplied by Google analytics. It should look like UA-XXXXX-Y where X and Y are numbers.
                  We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                  If you already have an account, just use it, you don't need to create a separate one for sh404sef." +COM_SH404SEF_ANALYTICS_EXCLUDE_IP="Excluded IP list" +COM_SH404SEF_TT_ANALYTICS_EXCLUDE_IP="Analytics data will not be collected for requests coming from one of those IP addresses (one per line). Use to exclude yourself or your company members from collected data" +COM_SH404SEF_ANALYTICS_MAX_USER_LEVEL="Max felhasználói szint" +COM_SH404SEF_TT_ANALYTICS_MAX_USER_LEVEL="Analytics data will not be collected for requests by users above the selected level. By default, data is collected for all users. Selecting 'Administrator', for instance, will make sure anyone logged in as 'Super administrator' is not counted as a visitor, or enter the statistics in any manner" +COM_SH404SEF_ANALYTICS_REPORTS_TITLE="Analytics jelentés" +COM_SH404SEF_ANALYTICS_REPORTS_ENABLED="Jelentés megjelenítés" +COM_SH404SEF_TT_ANALYTICS_REPORTS_ENABLED="If set to Yes, analytics report will be included on the front of the control panel." +COM_SH404SEF_ANALYTICS_USER="Analytics felhasználói név" +COM_SH404SEF_TT_ANALYTICS_USER="The username for the analytics account you use, as supplied by analytics service supplier. For Google Analytics, this is going to be a full email address. For better security, please use a dedicated gmail account for your Google Analytics need, separate from your main email address. You can however monitor many web sites with the same, dedicated, Google Analytics account" +COM_SH404SEF_ANALYTICS_PASSWORD="Analytics jelszó" +COM_SH404SEF_TT_ANALYTICS_PASSWORD="The password for the analytics account you use, as supplied by analytics service supplier. The value you type here will override any existing password stored" +COM_SH404SEF_ANALYTICS_ACCOUNT="Analytics hozzáférés" +COM_SH404SEF_TT_ANALYTICS_ACCOUNT="The account you use, as supplied by analytics service supplier" +COM_SH404SEF_ANALYTICS_PROFILE="" +COM_SH404SEF_TT_ANALYTICS_PROFILE="" +COM_SH404SEF_ANALYTICS_ENABLE_AUTO_CHECK="Automatikus analytics frissítések" +COM_SH404SEF_TT_ANALYTICS_ENABLE_AUTO_CHECK="If set to Yes, analytics report data will be updated every hour. If set to No, you will need to click the [Click to update] link on the Analytics tab to refresh the displayed data" +COM_SH404SEF_CLICK_TO_CHECK_ANALYTICS="No data available, click [Click to update] link to get new data. (OpenSSL required in PHP config)" +COM_SH404SEF_MOBILE_SWITCH_ENABLED="Sablon váltó engedélyezése" +COM_SH404SEF_TT_MOBILE_SWITCH_ENABLED="If yes, site template will be set to the template listed below for requests identified by Joomla as coming from a mobile device" +COM_SH404SEF_MOBILE_SWITCH_TEMPLATE="Sablon váltás" +COM_SH404SEF_TT_MOBILE_SWITCH_TEMPLATE="The site template to switch to when a mobile device request is detected" +COM_SH404SEF_MOBILE_CONFIG="Mobil beállítások" +COM_SH404SEF_UPDATED_ON="Utoljára frissítve %s" +COM_SH404SEF_CONFIG_ANALYTICS="Analytics beállítások" +COM_SH404SEF_CONFIG_ANALYTICS_DESC="Activate and adjust settings of analytics feature of sh404sef for your web site." +COM_SH404SEF_ANALYTICS_MANAGER="Analytics kezelő" +COM_SH404SEF_ANALYTICSDESC="View detailed reports about your web site traffic and visitors (requires activation and data collection - see Analytics configuration)" +COM_SH404SEF_ANALYTICS_REPORT="Jelentés" +COM_SH404SEF_ANALYTICS_REPORT_PER_LABEL=" per " +COM_SH404SEF_ANALYTICS_REPORT_BY_LABEL=" by " +COM_SH404SEF_ANALYTICS_REPORT_DASHBOARD="Vezérlőpult" +COM_SH404SEF_ANALYTICS_REPORT_VISITS="Látogatások és látogatók" +COM_SH404SEF_ANALYTICS_REPORT_VISITS_ONLY="Látogatások" +COM_SH404SEF_ANALYTICS_REPORT_SOURCES="Forgalom forrás" +COM_SH404SEF_ANALYTICS_REPORT_KEYWORDS="Kulcsszavak" +COM_SH404SEF_ANALYTICS_REPORT_URLS="Webhely oldalak" +COM_SH404SEF_ANALYTICS_REPORT_VISITORS_EQUIPMENT="Visitors equipment" +COM_SH404SEF_ANALYTICS_GROUP_BY="Csoportosítás" +COM_SH404SEF_ANALYTICS_START_DATE="Kezdet" +COM_SH404SEF_ANALYTICS_END_DATE="Vége" +COM_SH404SEF_ANALYTICS_DASHBOARD_DATE_RANGE="Dashboard date range" +COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATE_RANGE="Select the date range that will be used to fetch analytics data for the dashboard (main control panel). This can be either a week, a month or a year, always counted from the last day available, normally yesterday. On the main Analytics view however, you can select the date range yourself for customized reports" +COM_SH404SEF_WEEK="Hét" +COM_SH404SEF_MONTH="Hónap" +COM_SH404SEF_YEAR="Év" +COM_SH404SEF_ANALYTICS_ENABLE_TIME_COLLECTION="Collect creation time & memory" +COM_SH404SEF_TT_ANALYTICS_ENABLE_TIME_COLLECTION="If Yes, the time required by Joomla to create the page will be recorded and made available in reports. Note that this time is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                  Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second.
                  Memory used by this creation process will also be collected, but only if the memory collection function is available in your PHP installation. This information will become important if and when you decide on upgrading your web server, or even simply to adjust the settings of your web server." +COM_SH404SEF_ANALYTICS_ENABLE_LOGGED_IN_USER="Collect logged user" +COM_SH404SEF_TT_ANALYTICS_ENABLE_LOGGED_IN_USER="If Yes, the logged-in status of visitors will be collected and made available for reports. You will thus be able to know the percentage of your page views that are for non-logged in users globally and evaluate, for instance, the expected benefit of caching on your site.
                  Note that you must allow analytics data collection for at least some logged in users for this value to have any meaning (see Max user level setting above)" +COM_SH404SEF_ANALYTICS_REF_LABEL_DIRECT="Direkt" +COM_SH404SEF_ANALYTICS_REF_LABEL_ORGANIC="Keresőmotor" +COM_SH404SEF_ANALYTICS_REF_LABEL_REFERRAL="Átirányítás" +COM_SH404SEF_ANALYTICS_REF_LABEL_OTHER="Egyebek" +COM_SH404SEF_ANALYTICS_DATA_VISITORS="Egyedi látogatók" +COM_SH404SEF_ANALYTICS_DATA_VISITS="Látogatások" +COM_SH404SEF_ANALYTICS_DATA_PAGEVIEWS="Oldalmegjelenítések" +COM_SH404SEF_ANALYTICS_DASHBOARD_DATA_TYPE="Adattípus megjelenítés" +COM_SH404SEF_TT_ANALYTICS_DASHBOARD_DATA_TYPE="Select which metrics to display on the dashboard.
                  Page views simply counts the number of pages that were displayed to any visitor. This is a very good indicator of the volume of traffic on your site.
                  Unique visitors: this measures the number of actual individual visitors visiting your site. Users visiting twice or more within the selected period of time will be counted only once, as per Google calculation definition (see http://www.google.com/support/analytics /bin/answer.py?hl=en&answer=33087).
                  Visits will show the number of visit sessions to your site. However, visitors returning several times within the selected period will be counted several times and so may not be the best indicator of how many people come to your site.
                  Please be aware that Google does not allow all combinations. Specfically, traffic sources, page creation time and memory, and logd in users cannot be viewed per Unique visitors." +COM_SH404SEF_ANALYTICS_TOP5_PAGES="A legtöbbet megtekintett oldal a webhelyeden" +COM_SH404SEF_ANALYTICS_TOP5_URL="Url" +COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS="Oldalmegjelenítések" +COM_SH404SEF_ANALYTICS_TOP5_PAGEVIEWS_PERCENT="%" +COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_PAGE="Az oldalon eltöltött
                  átlagos idő" +COM_SH404SEF_ANALYTICS_TOP5_REFERRERS="The web sites that send you the most traffic (by page views)" +COM_SH404SEF_ANALYTICS_TOP5_REF_SOURCE="Forrás" +COM_SH404SEF_ANALYTICS_TOP5_REF_PATH="Útvonal" +COM_SH404SEF_ANALYTICS_TOP5_AVG_TIME_ON_SITE="A webhelyen eltöltött
                  átlagos idő" +COM_SH404SEF_ANALYTICS_GLOBAL_DATA="Globális statisztika" +COM_SH404SEF_ANALYTICS_PERF_DATA="Performance and users (per page view)" +COM_SH404SEF_ANALYTICS_DATE_RANGE="Report date range:" +COM_SH404SEF_ANALYTICS_TT_SOURCE_SITE_DESC="This column shows the website which sent you visitors.
                  (direct) means people directly typed in your web site address in their browser address bar" +COM_SH404SEF_ANALYTICS_TT_SOURCE_PATH_DESC="The specific path on the referrer web site that links to you, if any. Sometimes this information is not recorded, in particular when the referrer is a search engine - in such case, you'll see '(not set)'" +COM_SH404SEF_ANALYTICS_TT_PAGE_VIEWS_DESC="This is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for
                  By monitoring page views by for each page, or for each referrer, you can decide on actions to be taken to improve your traffic, such as modifying your content to make it more attractive to specific visitors, or contacting referring sites to get better linkage, etc" +COM_SH404SEF_ANALYTICS_TT_REFERRER_PER_CENT_DESC="This column shows the share of pageviews for each referrer, as a percentage of the total number of pageviews on your site for the given period of time. As only the top referrers are shown on the list, this may not add up to 100%" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE="A webhelyen eltöltött átlagos idő" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_SITE_DESC="The average time spent on your site by visitors coming from each referrers. We can assume the people staying longer will benefit more from your site information, products or services. Action may then be taken to either favor those referrers sending the most interested visitors, and/or adjust your web site content so as to be more attractive to visitors coming from those other sources" +COM_SH404SEF_ANALYTICS_TT_URL_DESC="The specific path on your web site for which the most traffic was recorded.
                  Note that it is the textual path that matters, and not url parameters. Therefore /my-page.html and /mypage.html?start=5 are considered the same page by Google, and so pageviews for those 2 pages will be aggregated. Another good reason to use sh404sef pagination system!" +COM_SH404SEF_ANALYTICS_TT_URL_PER_CENT_DESC="This column shows the share of pageviews for each path in your web site, as a percentage of the total number of pageviews on your site for the given period of time. As only the top paths are shown on the list, this may not add up to 100%" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE="Az oldalon eltöltött átlagos idő" +COM_SH404SEF_ANALYTICS_TT_AVG_TIME_ON_PAGE_DESC="The average time spent on a particular page by visitors. We can assume the people staying longer on a page will benefit more from this page information, products or services. Action may then be taken to either improve again those page, and/or adjust other pages content so as to be more attractive and get a more balanced and globally higher traffic on your site." +COM_SH404SEF_ANALYTICS_AVG_CREATION_TIME="Átlagos oldal létrehozási idő" +COM_SH404SEF_ANALYTICS_TT_AVG_CREATION_TIME="Average time Joomla needed to create pages displayed over the period of time covered by the report. This is the page creation time (on your server), not time it takes for a visitor to completely receive the page which would be dependant on many factors, such as her internet access speed for instance, all things that are not under your control.
                  Knowing the performance of your server allows you to react if you see the creation time degrades too much. Ideally, it should be well under one second." +COM_SH404SEF_ANALYTICS_AVG_MEMORY_USED="Átlagos memória használat" +COM_SH404SEF_ANALYTICS_TT_AVG_MEMORY_USED="A Joomla oldallétrehozási folyamat memóriafoglalása, megabyte-ban. Ez az információ csak akkor lehet fontos, ha úgy döntöttél, hogy fejleszteni fogod a webszervert vagy csak további finombeállításokat végzel rajta." +COM_SH404SEF_ANALYTICS_USER_STATUS="Belépett felhasználók" +COM_SH404SEF_ANALYTICS_TT_USER_STATUS="The percentage of pages viewed by your visitors while they were logged in to your site, against the total number of pages viewed. Currently, no distinction is made on the dashboard based on the user type (Registered, Author, adminstrator, etc), though this information is actually collected.
                  From a performance standpoint, this will help you decide if it is worth activating a cache system (as caches are usually more efficient for non-logged in users). From an SEO/business standpoint, this may help you make changes in your content for instance, in order to try attract more user to register, or maybe reserve some content to registered users." +COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" +COM_SH404SEF_ANALYTICS_DATA_VISITS_DESC_RAW="Visits represent the total number of visit sessions made to your site. A session is a continuous visit to your site. When a given visitor has not made any action (a click for instance) on your site for 30 minutes, it is considered gone. If that visitor comes back later, after those 30 minutes, this will be accounted for a new visit, while it would be considered the same visit if the visitor comes back within less than 30 mn" +COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors.
                  It follows that the number of visitors is less than the number of visits - see definition of visits above." +COM_SH404SEF_ANALYTICS_DATA_VISITORS_DESC_RAW="Visitors (or 'Unique visitors') represent the total number of visitors that came to your site over the report date range. If the same visitor comes back several times, even just an hour later, this will not be counted as a separate visitors. It follows that the number of visitors is less than the number of visits - see definition of visits above." +COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for.
                  Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" +COM_SH404SEF_ANALYTICS_GLOBAL_PAGEVIEWS_DESC_RAW="Pageview is defined by Google as '...a view of a page on your site that is being tracked by the Analytics tracking code... When a visitor comes back to the same page, or reload the same page, another pageview is accounted for. Here you will find the global figure, over the period covered by the report. Using tables found below, you'll also see your top content and your top referrers. The global value is a good indication of the overall activity of your website, while detailed information is what you want to look at to decide on possible actions to be taken to improve things" +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT="Átlagos oldalak/látogatás" +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_PAGES_VISIT_DESC="The average number of pages a visitor looks at during a single visit - a visit being considered finished when we see no activity during 30 minutes or more. A higher figure will probably means that your content is attractive to your visitors, which is to say the peoople coming to your site are the one attracted in your content. A lower figure will probably indicate that content and traffic don't match each other. Either you need to adjust your content and make it more appealing to the visitors you get. Or you need to get other visitors, that is try to attract a different kind of visitors.
                  As usual, you'll need more detailed data to be able to figure out ways of improving things, but radical changes in those figures should be investigated." +COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE="Visszafordulási ráta" +COM_SH404SEF_ANALYTICS_GLOBAL_BOUNCE_RATE_DESC="The bounce rate is the % of visits where visitors only saw one page. Which means they came to your site, saw one page and then moved away and never came back - at least not withing the 30 minutes limit used to decide a given visitor is making a 'new' visit.
                  This will always happen, but of course you probably want that % to be as small as possible, and like other metrics, significant changes should be monitored and acted upon.
                  You will probably need more detailed data to be able to act in case there is a sudden surge in bounces. You may for instance want to find out if specific pages are causing the rate increase, so as to be able to adjust its content to visitors interest." +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE="Átlagos idő a webhelyen" +COM_SH404SEF_ANALYTICS_GLOBAL_AVG_TIME_ON_SITE_DESC="The average time spent on your site during a visit. Combined with the number of pages viewed per visit, this is a measure of visit quality. As usual with averages, it must taken with a grain of salt, but significant variations over time are to be investigated" +COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS="% új látogató" +COM_SH404SEF_ANALYTICS_GLOBAL_NEW_VISITS_DESC="The percentage of visitors coming to your site that where not previously identified.
                  Getting many new visitors tends to mean you attract traffic to your site, possibly by being well ranked in search engines. A lower percentage of new visits may also means that your site itself is attractive, with people coming back after their first visit. You will need more detailed data to analyse this fully, but as always monitor changes carefully" +COM_SH404SEF_ANALYTICS_DATA_SOURCES_DESC_RAW="The traffic sources graph shows you a synthetic view of where visitors to your site are coming from. The pie chart breaks down visits (or page views or visitors, depending on the setting you chose in configuration) between: referral (visitors coming from another website), search engines (coming from all known search engines result page), direct (user typed your web site address directly into his/her browser address bar)" +COM_SH404SEF_ALIAS_ALREADY_EXISTS="Alias %s already exists as an alias, or as a SEF url. It was not stored into the aliases database" +COM_SH404SEF_SLOW_SERVER="Lassú szerver" +COM_SH404SEF_TT_SLOW_SERVER="If set to Yes, a simplified version of the sh404sef control panel will be used.
                  While sh404sef can handle several hundreds of thousands of urls on appropriate server on the front end (what your visitors can see), the sh404sef control panel, and specifically the Url manager, uses more advanced database queries which can become very slow if the combination web server power/ number of urls in the database is not sufficient.
                  In such cases, switching to slow server mode will make the url manager snappy again, at the expense of missing information such as duplicates and aliases count" +COM_SH404SEF_IS_DUPLICATE="Másolat" +COM_SH404SEF_IS_A_MAIN_URL="Is a main url" +COM_SH404SEF_SLOW_SERVER_MODE_ON="Displaying in slow server mode. Change mode under Advanced tab of main configuration" +COM_SH404SEF_INSERT_CONTACT_CAT="Insert contacts category name" +COM_SH404SEF_TT_INSERT_CONTACT_CAT="If set to yes, the category name a contact belongs to will be inserted in the url leading to this contact" +; +COM_SH404SEF_QUICK_START="Gyorskalauz" +COM_SH404SEF_SAVE="Start!" +COM_SH404SEF_WITH_HTACCESS_MOD_REWRITE=".htaccess (mod_rewrite) használatával" +COM_SH404SEF_IMPORT_BUTTON="Importálás" +COM_SH404SEF_EXPORT_BUTTON="Exportálás" +COM_SH404SEF_WIZARD_START="Start" +COM_SH404SEF_WIZARD_NEXT="Következő" +COM_SH404SEF_WIZARD_PREVIOUS="Előző" +COM_SH404SEF_WIZARD_CANCEL="Mégsem" +COM_SH404SEF_WIZARD_TERMINATE="Leállítás" +COM_SH404SEF_DELETE_URLS_WITH_DUP="Törlés a duplikálttal
                  együtt" +; +COM_SH404SEF_USE_SH404SEF_PLUGIN="Ha elérhető akkor az sh404SEF beépülő modul használata" +COM_SH404SEF_USE_JOOMLA_PLUGIN="Joomla! router.php használata" +COM_SH404SEF_USE_JOOMSEF_PLUGIN="Joomsef beépülő modul használata" +COM_SH404SEF_USE_ACESEF_PLUGIN="Acesef beépülő modul használata" +; +COM_SH404SEF_DUPLICATES_MAKE_MAIN="Make main" +COM_SH404SEF_BACK="Vissza" +; +COM_SH404SEF_NOT_FOUND_SHOW_URLS="SEF URL-re átirányítás" +COM_SH404SEF_NOT_FOUND_SHOW_URLS_TITLE="Select a URL to 301 redirect new requests for this non-existing page. sh404SEF will select and propose a short list of URLS that look similar to the missing one. After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT="Add meg az átirányítási URL-t" +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_TITLE="Click here to manually enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'). After doing this, the redirect will appear in the Alias manager, and the 404 request will not be listed here any more." +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_FOR="átirányítás a" +COM_SH404SEF_NOT_FOUND_ENTER_REDIRECT_LABEL="átirányítás a" +COM_SH404SEF_TT_ENTER_REDIRECT="Enter a URL to 301 redirect to. This must be a non-SEF URL ('index.php?option=com_content&....'), on your own site, and it should start with index.php?" +COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT="Az átirányítás célja" +COM_SH404SEF_NOT_FOUND_SELECT_REDIRECT_FOR="átirányítás" +COM_SH404SEF_BACK_TO_NOT_FOUND="Vissza a nem találhatók listához" +COM_SH404SEF_SELECT_ONLY_ONE_URL_TO_REDIRECT="Please select only one URL to redirect to" +COM_SH404SEF_INVALID_REDIRECT_TARGET_ID="Id of redirection target is not valid. Please contact administrator" +COM_SH404SEF_NOT_FOUND_REDIRECT_TO="Redirect %s to %s" +COM_SH404SEF_NOT_FOUND_SHOW_SIMILAR_URLS="Csak a hasonló hivatkozások megjelenítése" +COM_SH404SEF_NOT_FOUND_SHOW_ALL_URLS="Összes SEF url megjelenítése" +COM_SH404SEF_NOT_FOUND_SWITCHING_TO_DISPLAY_ALL_SEF="Could not find any similar SEF URL. Displaying all SEF URLs instead!" +COM_SH404SEF_INSERT_SHORTLINK_TAG="Insert shortlink tag" +COM_SH404SEF_TT_INSERT_SHORTLINK_TAG="If set to Yes, and a shURL is available for current page, a rel='shortlink' link tag will be inserted in the head section of the document, and as an HTTP header." +COM_SH404SEF_INSERT_REV_CAN_TAG="Insert rev canonical tag" +COM_SH404SEF_TT_INSERT_REV_CAN_TAG="If set to Yes, and a shURL is available for current page, a rev='canonical' link tag will be inserted in the head section of the document (not to be mistaken with a rel='canonical' link)" +COM_SH404SEF_INSERT_ALT_SHORT_TAG="Insert Alt. shorter tag" +COM_SH404SEF_TT_INSERT_ALT_SHORT_TAG="If set to Yes, and a shURL is available for current page, a rel='alternate shorter' link tag will be inserted in the head section of the document" +COM_SH404SEF_CAN_READ_REMOTE_CONFIG="Távoli beállítás engedélyezése" +COM_SH404SEF_TT_CAN_READ_REMOTE_CONFIG="If set to Yes, sh404sef will read up to date configuration from a central configuration file located on one of our server (http://versions.siliana.com/sh404sef_config.xml). This is an extremely useful feature, and we strongly encourage you to enable it. sh404SEF will work as usual without this switched on, but you will not get access to the latest version of various pieces of data, such as update server urls or search engines list especially in between releases." +COM_SH404SEF_STOP_CREATING_SHURLS="Új shURL-ek létrehozásának leállítása" +COM_SH404SEF_TT_STOP_CREATING_SHURLS="If set to Yes, sh404sef will stop creating new shURLs for new pages. Existing shURL will still work normally, and will be redirected to their full-length SEF url counterpart" +COM_SH404SEF_SHURL_BLACKLIST="shURL feketelista" +COM_SH404SEF_TT_SHURL_BLACKLIST="Enter here a list of shURL you do NOT want to be created. Separate each one with a pipe ( | ) character. For instance, entering bad|bar will cause sh404SEF to never create a example.com/bad or a example.com/bar shURL.
                  Note that letters i, j, l, m, n, o, s, t, v and 0, 1, 2, 5 will never be used to create shURL, so you do not need to blacklist any word that contains one of them." +COM_SH404SEF_SHURL_NON_SEF_BLACKLIST="Nem sef url feketelista" +COM_SH404SEF_TT_SHURL_NON_SEF_BLACKLIST="Enter here a list of non-sef url parts that will prevent shURL to be generated. Separate each one with a pipe ( | ) character. For instance, entering Itemid=34|task=edit will make sure no shURL is created for any non-sef url that contains the string 'Itemid=34' or the string 'task=edit'." +; +COM_SH404SEF_CANNOT_SAVE_404_NO_UNCAT="Cannot save error page to database: no sh404SEF category on your site, probably an error during installation" +; +COM_SH404SEF_INCLUDE_CONTENT_CAT="Kategória megjelenítés" +COM_SH404SEF_TT_INCLUDE_CONTENT_CAT="Select how a content item category should be included in the url. First and last refer to the category position in the list of categories, when there are several nested categories" +; +COM_SH404SEF_INCLUDE_CONTENT_CAT_CATEGORIES="Kategória megjelenítése a kategória hivatkozásokban" +COM_SH404SEF_TT_INCLUDE_CONTENT_CAT_CATEGORIES="Select how category should be included in urls to Categories-type urls. See the menu item types to distinguish between this setting and the setting above" +COM_SH404SEF_CONTENT_TITLE_INCLUDE_CAT="Kategória megjelenítése a címben" +COM_SH404SEF_TT_CONTENT_TITLE_INCLUDE_CAT="Select how content item category will be included a browser page title" +COM_SH404SEF_CATEGORIES_SUFFIX="Kategóriák utótaggal" +COM_SH404SEF_TT_CATEGORIES_SUFFIX="Suffix used to distinguish between a regular category link and a [ List all categories ] link. The latter will have this suffix added" +COM_SH404SEF_CAT_NONE="Nincs" +COM_SH404SEF_CAT_FIRST="Csak a legfelső" +COM_SH404SEF_CAT_LAST="Csak a legutolsó" +COM_SH404SEF_CAT_2_FIRST="Felső kettő" +COM_SH404SEF_CAT_2_LAST="Utolsó kettő" +COM_SH404SEF_CAT_ALL_NESTED_CAT="All nested categories" +; +COM_SH404SEF_LIVE_SITES="Url" +COM_SH404SEF_TT_LIVE_SITES="Url where the site can be accessed for this language. Leave empty if all languages are accessed at same address - with language code such as www.exeample.org/fr/.
                  Enter a full url with no trailing slash such as http://www.frenchexample.fr, http://frenchexample.fr or http://fr.example.org.
                  You will need to set DNS records so that all requests are routed to your web server for this to work." +COM_SH404SEF_WWW_DONT_ENFORCE="Do not enforce" +COM_SH404SEF_WWW_ENFORCE_WWW="Enforce access through www url" +COM_SH404SEF_WWW_ENFORCE_NO_WWW="Enforce access without www" +COM_SH404SEF_USE_JOOMLA_ROUTER="Joomla! router használata" +; +COM_SH404SEF_UNCAT_ITEM_SLUG_NO_CAT="Csak az elem címének használata" +COM_SH404SEF_UNCAT_ITEM_SLUG_USE_MENU_ITEM="A menü elem címbe illesztése" +COM_SH404SEF_SLUG_FOR_UNCATEGORIZED_ITEMS="Nem kategorizált elemek" +COM_SH404SEF_TT_SLUG_FOR_UNCATEGORIZED_ITEMS="Urls for uncategorized items will either include only the item title/alias, or be prepended with the menu item title.
                  It is recommended to use the default value, Use item title, to avoid duplicate content that may be created when inserting a menu item title in a url" +; +COM_SH404SEF_SEE_LICENSE_AND_TERMS="see licence & terms" +; +COM_SH404SEF_ENABLE_MULTILINGUAL_SUPPORT="Többnyelvű támogatás engedélyezése" +COM_SH404SEF_TT_ENABLE_MULTILINGUAL_SUPPORT="If set to Yes, sh404SEF will support multilingual features of Joomla! Please do not enable the Language Filter plugin, sh404SEF will do it for you transparently." +COM_SH404SEF_CONFIG_SOCIAL_SEO_DESC="Configure inclusion of tags to be used by social networks when sharing your website content" +COM_SH404SEF_CONFIG_SOCIAL_SEO="Közösségi SEO beállítás" +COM_SH404SEF_CONF_SOCIAL_SEO_HELP="You can enter here some default data that will be added to each page of your site. These (invisible) Open Graph data tags will be read and used by Facebook, Google+ and possibly other social networks to help them display and organize your content, when users use Like or Send buttons on your site.
                  You can override these values on a url by url basis using the URL manager or the Title and metas manager.
                  Please become familiar with the Open Graph data tags name and content before starting to use them!
                  You can easily insert Facebook, Twitter and Google Plus buttons on your pages (articles, products, modules or even templates) by using the sh404SEF Social buttons plugin! Using sh404SEF social buttons, social actions will be tracked in your Analytics reports
                  " +COM_SH404SEF_OG_CONFIG="Szociális hálózat" +COM_SH404SEF_OG_DATA_ENABLED="Engedélyezés az összes oldalon" +COM_SH404SEF_TT_OG_DATA_ENABLED="Set to Yes to insert Open Graph tags to your pages, using default values set below, or information you will set url by url. If set to No, you can still enable this feature url by url" +COM_SH404SEF_OG_REQUIRED_TITLE="Kötelező címkék" +COM_SH404SEF_OG_TYPE_SELECT="Objektum típus" +COM_SH404SEF_TT_OG_TYPE_SELECT="Select the object type for the object described on your pages. 'Website' should be selected only on your site homepage, while 'article' is the normal type for most content" +COM_SH404SEF_OG_IMAGE_PATH="Kép" +COM_SH404SEF_TT_OG_IMAGE_PATH="Enter the path of an image (at least 50x50px) that represent the object on your page. This should probably be set url by url. The path must be absolute, starting with a /" +COM_SH404SEF_OG_OPTIONAL_TITLE="Szabadon választható címkék" +COM_SH404SEF_OG_INSERT_DESCRIPTION="Leírás beillesztés" +COM_SH404SEF_TT_OG_INSERT_DESCRIPTION="If set to yes, an Open graph tag with a page description will be added to your pages. The description used will be the same as the regular Description meta tag, and can be set, for instance, using sh404SEF Title and metas manager." +COM_SH404SEF_OG_INSERT_SITE_NAME="Webhely név beillesztés" +COM_SH404SEF_TT_OG_INSERT_SITE_NAME="If set to Yes, an Open Graph tag with your site name will be added to your pages" +COM_SH404SEF_OG_SITE_NAME="Webhely név" +COM_SH404SEF_TT_OG_SITE_NAME="Enter your site name. If left empty, the site name set in Joomla! general configuration will be used." +COM_SH404SEF_FB_ADMIN_IDS="Facebook admin azonosítók" +COM_SH404SEF_TT_FB_ADMIN_IDS="Enter a comma separated list of Facebook admin ids. If set, this will be used by Facebook to attach your objects to your profile" +COM_SH404SEF_OG_LOCATION_TITLE="Helyszín címkék" +COM_SH404SEF_OG_INSERT_LOCATION="Helyszín beillesztés" +COM_SH404SEF_TT_OG_INSERT_LOCATION="If set to Yes, Open Graph location data tags will be inserted into your pages, using default values set below, or information you will set url by url" +COM_SH404SEF_OG_LATITUDE="Hosszúság" +COM_SH404SEF_TT_OG_LATITUDE="Enter the latitude of the object described on your page, for instance: 37.416343" +COM_SH404SEF_OG_LONGITUDE="Szélesség" +COM_SH404SEF_TT_OG_LONGITUDE="Enter the longitude of the object described on your page, for instance: -122.153013" +COM_SH404SEF_OG_STREET_ADDRESS="Utca és házszám" +COM_SH404SEF_TT_OG_STREET_ADDRESS="Enter the street address of the object described on your page, for instance: 1601 S California Ave" +COM_SH404SEF_OG_LOCALITY="Helység" +COM_SH404SEF_TT_OG_LOCALITY="Enter the locality of the object described on your page, for instance: Palo Alto" +COM_SH404SEF_OG_POSTAL_CODE="Irányítószám" +COM_SH404SEF_TT_OG_POSTAL_CODE="Enter the postal code of the object described on your page, for instance: 94304" +COM_SH404SEF_OG_COUNTRY_NAME="Ország" +COM_SH404SEF_TT_OG_COUNTRY_NAME="Enter the country name of the object described on your page, for instance: USA" +COM_SH404SEF_OG_CONTACT_TITLE="Kapcsolat címkék" +COM_SH404SEF_OG_INSERT_CONTACT="Kapcsolat infó beillesztés" +COM_SH404SEF_TT_OG_INSERT_CONTACT="If set to Yes, Open Graph contact information tags will be inserted into your pages, using default values set below, or information you will set url by url" +COM_SH404SEF_OG_EMAIL="Email" +COM_SH404SEF_TT_OG_EMAIL="Enter email of the object described on your page, for instance: me@example.com" +COM_SH404SEF_OG_PHONE_NUMBER="Telefonszám" +COM_SH404SEF_TT_OG_PHONE_NUMBER="Enter the phone number of the object described on your page, for instance: 650-123-4567" +COM_SH404SEF_OG_FAX_NUMBER="Fax szám" +COM_SH404SEF_TT_OG_FAX_NUMBER="Enter the fax number of the object described on your page, for instance: +1-415-123-4567" +COM_SH404SEF_OG_TYPES_GROUP_ACTIVITIES="Aktivitás" +COM_SH404SEF_OG_TYPES_ACTIVITY="Aktivitás" +COM_SH404SEF_OG_TYPES_SPORT="Sport" +COM_SH404SEF_OG_TYPES_GROUP_BUSINESSES="Üzlet" +COM_SH404SEF_OG_TYPES_BAR="Bár" +COM_SH404SEF_OG_TYPES_COMPANY="Társaság" +COM_SH404SEF_OG_TYPES_CAFE="Kávézó" +COM_SH404SEF_OG_TYPES_HOTEL="Szálló" +COM_SH404SEF_OG_TYPES_RESTAURANT="Étterem" +COM_SH404SEF_OG_TYPES_GROUP_GROUPS="Csoportok" +COM_SH404SEF_OG_TYPES_CAUSE="Okok" +COM_SH404SEF_OG_TYPES_SPORTS_LEAGUE="Sports league" +COM_SH404SEF_OG_TYPES_SPORTS_TEAM="Sport csapat" +COM_SH404SEF_OG_TYPES_GROUP_ORGANIZATIONS="Szervezetek" +COM_SH404SEF_OG_TYPES_BAND="Zenekar" +COM_SH404SEF_OG_TYPES_GOVERNMENT="Kormányzat" +COM_SH404SEF_OG_TYPES_NON_PROFIT="Non profit" +COM_SH404SEF_OG_TYPES_SCHOOL="Iskola" +COM_SH404SEF_OG_TYPES_UNIVERSITY="Egyetem" +COM_SH404SEF_OG_TYPES_GROUP_PEOPLE="Ember" +COM_SH404SEF_OG_TYPES_ACTOR="Színész" +COM_SH404SEF_OG_TYPES_ATHLETE="Sportoló" +COM_SH404SEF_OG_TYPES_AUTHOR="Szerző" +COM_SH404SEF_OG_TYPES_DIRECTOR="Rendező" +COM_SH404SEF_OG_TYPES_MUSICIAN="Zenész" +COM_SH404SEF_OG_TYPES_POLITICIAN="Politikus" +COM_SH404SEF_OG_TYPES_PUBLIC_FIGURE="Közéleti személyiség" +COM_SH404SEF_OG_TYPES_GROUP_PLACES="Helyek" +COM_SH404SEF_OG_TYPES_CITY="Város" +COM_SH404SEF_OG_TYPES_COUNTRY="Ország" +COM_SH404SEF_OG_TYPES_LANDMARK="Tájékozódási pont" +COM_SH404SEF_OG_TYPES_STATE_PROVINCE="Megye" +COM_SH404SEF_OG_TYPES_GROUP_PROD_AND_ENTERTAINMENT="Product and entertainement" +COM_SH404SEF_OG_TYPES_ALBUM="Album" +COM_SH404SEF_OG_TYPES_BOOK="Könyv" +COM_SH404SEF_OG_TYPES_DRINK="Ital" +COM_SH404SEF_OG_TYPES_FOOD="Étel" +COM_SH404SEF_OG_TYPES_GAME="Játék" +COM_SH404SEF_OG_TYPES_PRODUCT="Termék" +COM_SH404SEF_OG_TYPES_SONG="Zene" +COM_SH404SEF_OG_TYPES_MOVIE="Film" +COM_SH404SEF_OG_TYPES_TV_SHOW="Tv műsor" +COM_SH404SEF_OG_TYPES_GROUP_WEBSITES="Webhelyek" +COM_SH404SEF_OG_TYPES_BLOG="Blog" +COM_SH404SEF_OG_TYPES_WEBSITE="Webhely" +COM_SH404SEF_OG_TYPES_ARTICLE="Cikk" +COM_SH404SEF_OG_TT_CLEAR_PER_URL="
                  Enter a @ sign to clear the global value set in configuration for this field" +COM_SH404SEF_OG_DATA_ENABLED_BY_URL="Engedélyezés ezen az oldalon" +COM_SH404SEF_TT_OG_DATA_ENABLED_BY_URL="If set to Yes, Open graph data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" +COM_SH404SEF_CANONICAL="Canonical hivatkozás" +COM_SH404SEF_TT_CANONICAL="Enter a canonical url for this page. A canonical url will help search engines consolidate content which can be accessed through several URL under a unique one.
                  You can enter any type of URL here, relative, absolute, on your site or even onto another web site. To reduce errors, we advise you enter an absolute url, either starting with a / or with http://
                  Make sur you know what you're doing, a wrong canonical url can kill your site rankings." +COM_SH404SEF_OG_ENABLE_FB_ADMIN_IDS="Facebook adminisztrátor azonosítók beillesztése" +COM_SH404SEF_TT_OG_ENABLE_FB_ADMIN_IDS="If set to Yes, Facebook admin ids will be inserted in current page, regardless of the default setting in sh404SEF configuration. You can also customize the ids used on this page using the input box below. If set to No, the ids will not be inserted, and if set to Use Default, it will depend on sh404SEF global configuration" +COM_SH404SEF_ANALYTICS_SOCIAL_ENGAGEMENT="Social engagement" +COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT="Összes közösségi események száma" +COM_SH404SEF_ANALYTICS_TOTAL_SOCIAL_ENGAGEMENT_DESC="Total net number of social engagement actions that took place on your site" +COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT="Visits with social action" +COM_SH404SEF_ANALYTICS_GLOBAL_VISITS_WITH_SOCIAL_ENGAGEMENT_DESC="Net number of visits that included some social actions" +COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT="Facebook események száma" +COM_SH404SEF_ANALYTICS_TOTAL_FACEBOOK_ENGAGEMENT_DESC="A Facebook események száma (Tetszik - Mégsem tetszik)" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT="+1 folyamatok" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_ENGAGEMENT_DESC="A Google +1 események száma (Plusszolva - Visszavonva)" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT="+1 oldal folyamat számláló" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSPAGE_ENGAGEMENT_DESC="Összes Google +1 oldal események száma" +COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT="Twitter események száma" +COM_SH404SEF_ANALYTICS_TOTAL_TWEETER_ENGAGEMENT_DESC="Összes Twitter események száma" +COM_SH404SEF_ANALYTICS_SOCIAL_FACEBOOK_ENGAGEMENT="Facebook kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_FACEBOOK_ENGAGEMENT="Még nincs rögzített Facebook kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_TWEETER_ENGAGEMENT="Twitter kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_TWEETER_ENGAGEMENT="Még nincs rögzített Twitter kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ENGAGEMENT="+1 kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_ENGAGEMENT="Még nincs rögzített +1 kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_PAGE_ENGAGEMENT="+1 oldal kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_PLUS_ONE_PAGE_ENGAGEMENT="Még nincs rögzített +1 oldal kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_LIKE="Tetszik" +COM_SH404SEF_ANALYTICS_SOCIAL_UNLIKE="Nem tetszik" +COM_SH404SEF_ANALYTICS_SOCIAL_SEND="Küld" +COM_SH404SEF_ANALYTICS_SOCIAL_TYPE="Típus" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_ENGAGEMENT="Google +1 kapcsolat" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUSONE_PAGE_ENGAGEMENT="Google +1 oldalak kapcsolat" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT="+1 oldal események száma" +COM_SH404SEF_ANALYTICS_TOTAL_PLUSONE_PAGE_ENGAGEMENT_DESC="Number of actions performed by visitors" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_ON="Plusszolva" +COM_SH404SEF_ANALYTICS_SOCIAL_PLUS_ONE_OFF="Visszavont plusszolás" +; +COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT="Pinterest események száma" +COM_SH404SEF_ANALYTICS_TOTAL_PINTEREST_ENGAGEMENT_DESC="Összes Pinterest események száma" +COM_SH404SEF_ANALYTICS_SOCIAL_PINNED="Pinned" +COM_SH404SEF_ANALYTICS_SOCIAL_NO_PINTEREST_ENGAGEMENT="There was no Pinterest page engagement recorded" +COM_SH404SEF_ANALYTICS_SOCIAL_PINTEREST_ENGAGEMENT="Pinterest engagement" +COM_SH404SEF_INSERT_PAGINATION_TAGS="Insert prev/next pagination tags" +COM_SH404SEF_TT_INSERT_PAGINATION_TAGS="If set to Yes, rel='prev' and rel='next' link tags will be inserted in html documents section, to help search engines identify pages that are part of a paginated series" +; +COM_SH404SEF_TT_VIRTUEMART_NOTE="
                  Note:When using Virtuemart, more url settings are available directly inside Virtuemart configuration, under the SEO tab. However, some sh404SEF general settings such as pagination strings will not work with Virtuemart urls" +; +COM_SH404SEF_TT_DEBUG_TO_LOG_FILE_PLUGIN="You can enable logging of useful debug information to a log file in the ShLib plugin parameters. Set 'Log debug message' to Yes there. Don't forget to disable it after a while, as log files may get quite large quite soon" +COM_SH404SEF_CONFIGURE_SHLIB_PLUGIN="shLib plugin beállítása" +; +COM_SH404SEF_404_PAGE_DESCRIPTION="You can edit here the text of an article that will be displayed as an error page in case of '404 Page not found' error.
                  The error page is a regular Joomla! content article, stored in the 'sh404SEF custom content' category. The content displayed here is for the 'All' or '*' language. It can equally be modified from Joomla!'s article list, under the title '__404__'.
                  You can also make copies of that '__404__' article in other languages, in the same category, and translate them, but always keep the same '__404__' title for all languages" +; +COM_SH404SEF_OG_TYPES_PROFILE="Profil" +COM_SH404SEF_OG_TYPES_TV_EPISODE="Tv epizód" +COM_SH404SEF_OG_TYPES_TV_VIDEO="Videó" +; +COM_SH404SEF_URL_CACHE_HANDLER="Url gyorsítótár kezelő" +COM_SH404SEF_TT_URL_CACHE_HANDLER="If URL cache is enabled, URLs can be cached either on a disk file (default), or in shared memory. The latter requires a cache system such as APC, Memcache, WinCache to be installed and properly activated on your server.
                  You can set up connection parameters for these cache system, if required, in the shLib system plugin" +COM_SH404SEF_URL_CACHE_HANDLER_FILE="Lemezfájl" +COM_SH404SEF_URL_CACHE_HANDLER_SHARED_MEMORY="Megosztott memória" +COM_SH404SEF_DISPLAY_URL_CACHE_STATS="Gyorsítótár statisztika megjelenítés" +COM_SH404SEF_TT_DISPLAY_URL_CACHE_STATS="If set to Yes, URL cache statistics will be appended to the end of each page. Enable only for debugging and testing purpose" +; +COM_SH404SEF_ANALYTICS_USER_GROUPS="Enable for groups" +COM_SH404SEF_TT_ANALYTICS_USER_GROUPS="Select one or more user groups for which Analytics data collection is enabled." +; +COM_SH404SEF_COM_CONFIG_INFO_TEXT="sh404SEF configuration is accessed from it's main control panel, using the 'Configuration' toolbar button." +COM_SH404SEF_START="Start!" +COM_SH404SEF_PLEASE_WAIT="Just a moment..." +COM_SH404SEF_NEW_VERSION_AVAILABLE_NO_HTML="New version available !" +; +COM_SH404SEF_REMOVE_OTHER_CANONICALS="Remove other canonicals" +COM_SH404SEF_TT_REMOVE_OTHER_CANONICALS="If set to Yes, multiple canonical tags inserted by Joomla! and/or other extensions will be removed so that only one canonical tag at most is left." +; +COM_SH404SEF_FOOTER_FULL="sh404SEF %s %s | Copyright ©%s Yannick Gaultier, Anything Digital,llc" +; +COM_SH404SEF_TT_ANALYTICS_EDITION="Select which edition of Google Analytics to use. You can use Universal analytics with sh404SEF, but due to Universal current limitations (beta), none of the advanced analytics features of sh404SEF are available with it. It is recommended for now to run either Classic or both.
                  You can also decide to use Google Tags Manager (GTM). GTM replaces both Classic Google Analytics and Universal Analytics." +COM_SH404SEF_ANALYTICS_NONE="None" +COM_SH404SEF_ANALYTICS_CLASSIC="Classic" +COM_SH404SEF_ANALYTICS_UNIVERSAL="Universal" +COM_SH404SEF_ANALYTICS_BOTH="Classic & Universal" +COM_SH404SEF_ANALYTICS_UGA_ID="Web Property ID (universal)" +COM_SH404SEF_TT_ANALYTICS_UGA_ID="The ID for this site, as supplied by Google analytics Universal edition. It should look like UA-XXXXX-Y where X and Y are numbers.
                  We have produced a small video to describe the quick steps needed to setup your own account with Google, if you don't already have one.
                  If you already have an account, just use it, you don't need to create a separate one for sh404SEF." +; +COM_SH404SEF_UPDATES="Updates" +COM_SH404SEF_UPDATES_DESCRIPTION="Some editions of this extension requires credentials to perform one-click updates. Cut and paste them from your subscription dashboard on our website." +COM_SH404SEF_CONF_TAB_UPDATES="Update credentials" +COM_SH404SEF_UPDATE_ACCESS_KEY="Access key" +COM_SH404SEF_TT_UPDATE_ACCESS_KEY="Enter here your update access key" +COM_SH404SEF_UPDATE_SECRET_KEY="Secret key" +COM_SH404SEF_TT_UPDATE_SECRET_KEY="Enter here your update secret key" +COM_SH404SEF_PERFORM_UPDATE="Update now!" +; +COM_SH404SEF_ANALYTICS_GOOGLE_TAGS_MANAGER="Use Google Tags Manager" +COM_SH404SEF_ANALYTICS_GTM_ID="Google Tags manager ID" +COM_SH404SEF_TT_ANALYTICS_GTM_ID="Insert here your Google Tags Manager ID. It should look like GTM-XXXXXX." +; +COM_SH404SEF_TWITTER_CARDS_TITLE="Twitter Cards" +COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS="Enable Twitter Cards" +COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC="If set to Yes, Twitter Cards meta tags will be inserted into the page head section" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT="Site account" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_SITE_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:site' cards meta tag, including @ sign" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT="Creator account" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CREATOR_ACCOUNT_DESC="Enter Twitter account to be used to fill the 'twitter:creator' cards meta tag, including @ sign" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_USE_OG_IMAGE="Please note that Twitter Cards image tag will use the same image as OpenGraph image tag" +COM_SH404SEF_SOCIAL_ENABLE_TWITTER_CARDS_DESC_PER_URL="If set to Yes, Twitter Cards data will be always be output on this page, if set to No, they will not be output, and if set to Use default, the sh404SEF global setting will be used to decide" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES="Enable on categories" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_DESC="Select one or more Joomla! content categories where Twitter Cards informaton should be inserted" +COM_SH404SEF_SOCIAL_TWITTER_CARDS_CATEGORIES_SHOW_ON_ALL="All categories" +; +COM_SH404SEF_GOOGLE_AUTHORSHIP_TITLE="Google authorship" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP="Enable Google authorship" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_AUTHORSHIP_DESC="If set to Yes, Google+ authorship information will replace Joomla! provided author information" +COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE="Profile id" +COM_SH404SEF_GOOGLE_AUTHORSHIP_PROFILE_DESC="Enter your Google+ profile Id. This may be a number such as 1464599466741256989 or named url similar to +johnDoe (include the leading +)" +COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME="Author name" +COM_SH404SEF_GOOGLE_AUTHORSHIP_AUTHOR_NAME_DESC="Enter your full name as it appears on your Google+ profile" +COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES="Enable on categories" +COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_DESC="Select one or more Joomla! content categories where Google+ authorship informaton should be inserted" +COM_SH404SEF_GOOGLE_AUTHORSHIP_CATEGORIES_SHOW_ON_ALL="All categories" +; +COM_SH404SEF_LANGUAGEFILTER_PLUGIN_WARNING="It seems your site is multilingual. From sh404SEF version 4.3.1 up, Joomla! languagefilter system plugin should now be enabled, while older versions required it to be disabled. You can enable it on this page" +; +COM_SH404SEF_ANALYTICS_ENABLE_ANONYMIZATION="Anonymize IP" +COM_SH404SEF_TT_ANALYTICS_ENABLE_ANONYMIZATION="If set to Yes, required code to ask Google to anonymize visitors IP address will be added to the tracking snippet" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER="Enable Google publisher tag" +COM_SH404SEF_SOCIAL_ENABLE_GOOGLE_PUBLISHER_DESC="If set to Yes, a rel=publisher tag will be inserted in the section of each page - unless you already have set a visible Google+ page badge (see sh404SEF core social plugin parameters). In such case, the latter will take precedence." +COM_SH404SEF_GOOGLE_PUBLISHER_URL="Google+ publisher URL" +COM_SH404SEF_GOOGLE_PUBLISHER_URL_DESC="Enter here the Google+ page of the publisher. This may be a number such as 1464599466741256989 or a named url similar to +myCompany (include the leading +)" diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.sys.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.sys.ini index f86938ff..7aa6addd 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.sys.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.com_sh404sef.sys.ini @@ -1,17 +1,17 @@ -; @version $Id$ -; @package sh404sef-15 -; @subpackage -; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. -; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL - -; COM_SH404SEF="sh404SEF" -COM_SH404SEF_CONTROL_PANEL="Control panel" -COM_SH404SEF_URL_MANAGER="Url manager" -COM_SH404SEF_ALIASES_MANAGER="Aliases manager" -COM_SH404SEF_PAGEID_MANAGER="shURL manager" -COM_SH404SEF_404_REQ_MANAGER="404 requests manager" -COM_SH404SEF_TITLE_METAS_MANAGER="Title and metas manager" -COM_SH404SEF_ANALYTICS_MANAGER="Analytics manager" -COM_SH404SEF_DOCUMENTATION="Documentation" -; common strings -COM_SH404SEF_ALWAYS_INSERT_ITEMID_PREFIX="menüazonosító" +; @version $Id$ +; @package sh404sef-15 +; @subpackage +; @copyright Copyright (C) 2011 Yannick Gaultier All rights reserved. +; @license GNU General Public License, see http://www.gnu.org/copyleft/gpl.html GNU/GPL + +; COM_SH404SEF="sh404SEF" +COM_SH404SEF_CONTROL_PANEL="Control panel" +COM_SH404SEF_URL_MANAGER="Url manager" +COM_SH404SEF_ALIASES_MANAGER="Aliases manager" +COM_SH404SEF_PAGEID_MANAGER="shURL manager" +COM_SH404SEF_404_REQ_MANAGER="404 requests manager" +COM_SH404SEF_TITLE_METAS_MANAGER="Title and metas manager" +COM_SH404SEF_ANALYTICS_MANAGER="Analytics manager" +COM_SH404SEF_DOCUMENTATION="Documentation" +; common strings +COM_SH404SEF_ALWAYS_INSERT_ITEMID_PREFIX="menüazonosító" diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.ini index 5247b188..5ae570f9 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.ini @@ -1,109 +1,109 @@ -; $Id$ -; Joomla! Project -; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - - -PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEF core - Közösségi gombok" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS="Analytics követés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS_DESC="Igen-re állítva az sh404SEF a Google Analytics-en keresztül követni fogja a közösségi gombra kattintásokat és az eredményeket megjeleníti az Analytics jelentésekben." -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_SOCIAL_ENGAGEMENT="Google közösségi követés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_SOCIAL_ENGAGEMENT_DESC="If set to Yes, required javascript to enable Google own Social engagement tracking will be enabled. Google tracking has some limitations, and will not show in sh404SEF own Analytics reports, as Google does not expose the data through its API" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL="Only on canonical pages" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL_DESC="If set to Yes, sh404SEF will only display social buttons on the content element main page. For instance, buttons will be displayed on a Joomla! article page, but not on a category page showing articles intro text.
                  This is currently enabled only for some types of content" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FACEBOOK="Facebook" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEETER="Twitter" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE="Google Plus One" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE="Google Plus jelvény" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE="Tetszik gomb megjelenítés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE_DESC="Igenre állítva megjelenik a Facebook Tetszik gomb" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND="Küldés gomb megjelenítés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND_DESC="Igenre állítva megjelenik a Facebook küldés gomb" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT="Gomb megjelenés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_DESC="Select a Facebook button layout option: display Like count either on the right, the top or no count at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON_COUNT="Right side Likes count" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BOX_COUNT="Top box Likes count" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_NO_COUNT="Standard" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION="Action" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION_DESC="Select to display either Like or recommend on your Facebook button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_LIKE="Tetszik" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_RECOMMEND="Ajánlom" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES="Arcok megjelenítése" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES_DESC="Igen-re állítva a Facebook gomb megjeleníti az oldalt kedvelők profilképét" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME="Színséma" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DESC="Select one of the available color scheme for buttons" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_LIGHT="Világos" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DARK="Sötét" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH="Total area width" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH_DESC="Enter a width (in pixels) for the Facebook group of buttons. Leave empty for default value" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5="HTML 5 gombok használata" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5_DESC="If set to Yes, the HTML5 version of the Facebook buttons will be used" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET="Twitteld gomb megjelenítése" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET_DESC="If set to Yes, a Twitter button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT="Gomb megjelenés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_DESC="Select a Twitter button layout option: display counter vertically, horizontally or no counter at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_VERTICAL="Függőleges Tweet számláló" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_HORIZONTAL="Vízszintes Tweet számláló" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_NONE="Nincs Tweet számláló" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT="Tweet Via account" -PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT_DESC="You can enter a Tweet via account name. Twitter will display this account when your page is shared by others" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE="Plus One gomb megjelenítés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_DESC="Igenre állítva megjelenik a Google Plus One gomb" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE="Gomb méret" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_DESC="Válasz egyet a lehetséges Google Plus One gombok közül" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_SMALL="Kicsi (15px)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_MEDIUM="Közepes (20px)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_STANDARD="Standard (24px)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_TALL="Magas (60px - számlálóval)" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION="Gomb megjegyzés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_DESC="Select the type of information displayed next to the +1 button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_NONE="Nincs" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_BUBBLE="A +1-re kattintó felhasználók száma" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_INLINE="A felhasználók képei és az összes kattintás" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE="Jelvény megjelenítés" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE_DESC="Igenre állítva megjelenik a Google Plus jelvény" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE="Page to link to" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE_DESC="Enter the exact link to your page. Do not include Google domain (http://plus.google.com). Should be similar to /my-gplus-page" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT="Egyedi szöveg" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT_DESC="Optional custom text to be displayed next to the badge. Leave empty to display only the badge image" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE="Jelvény méret" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_DESC="Válassz egyet a többféle Google oldal jelvény méretek közül" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_SMALL="Kicsi" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_MEDIUM="Közepes" -PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_LARGE="Nagy" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION="Gomb helye" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_DESC="Define where buttons should be located:
                  'Only tags' means only {sh404sef_social_buttons} tags will be replaced, wherever you put them.
                  'Before content': buttons will be inserted after an article title, before its content.
                  'After content': buttons will be inserted after the article itsel
                  With the latter 2 options, you don't need to place any tag in your content." -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_ONLY_TAGS="Csak a címkék cseréje" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_BEFORE_CONTENT="Tartalom előtt" -PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_AFTER_CONTENT="Tartalom után" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION="Kategóriák" -PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION_DESC="A közösségi gombokat csak bizonyos kategóriákban jeleníti meg" -PLG_SH404SEFCORE_SH404SEFSOCIAL_SHOW_ON_ALL_CATS="Összes kategória" -PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL="shUrl használata" -PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL_DESC="If set to Yes, and unless you explicitely set a URL in a {sh404sef_social_buttons} tag, the shUrl for an URL will be used instead of that URL, when linking social buttons" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST="Pinterest" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST="Show Pin it button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST_DESC="If set to Show, a Pin it button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT="Pin it count layout" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_DESC="Choose one of the possible layouts for the Pin it counter, including no counter at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_VERTICAL="Vertical" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_HORIZONTAL="Horizontal" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_NONE="None" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT="Button text" -PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT_DESC="Enter a text to replace the default 'Pin it'. Note this text will normally not be displayed, but replaced by Pinterest Pin it button graphic" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE="Show Share button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE_DESC="If set to Show, a Facebook Share button will be displayed" -; -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKED="Linkedin" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKEDIN="Show Linkedin button" -PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKED_DESC="If set to Show, a Linkedin button will be displayed" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT="Linkedin layout" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_DESC="Choose one of the possible layouts for the Linkedin counter, including no counter at all" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_VERTICAL="Vertical" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_HORIZONTAL="Horizontal" -PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_NONE="None" -PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON="Only button" +; $Id$ +; Joomla! Project +; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + + +PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEF core - Közösségi gombok" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS="Analytics követés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_SOCIAL_ANALYTICS_DESC="Igen-re állítva az sh404SEF a Google Analytics-en keresztül követni fogja a közösségi gombra kattintásokat és az eredményeket megjeleníti az Analytics jelentésekben." +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_SOCIAL_ENGAGEMENT="Google közösségi követés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_SOCIAL_ENGAGEMENT_DESC="If set to Yes, required javascript to enable Google own Social engagement tracking will be enabled. Google tracking has some limitations, and will not show in sh404SEF own Analytics reports, as Google does not expose the data through its API" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL="Only on canonical pages" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ONLY_DISPLAY_ON_CANONICAL_DESC="If set to Yes, sh404SEF will only display social buttons on the content element main page. For instance, buttons will be displayed on a Joomla! article page, but not on a category page showing articles intro text.
                  This is currently enabled only for some types of content" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FACEBOOK="Facebook" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEETER="Twitter" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE="Google Plus One" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE="Google Plus jelvény" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE="Tetszik gomb megjelenítés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_LIKE_DESC="Igenre állítva megjelenik a Facebook Tetszik gomb" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND="Küldés gomb megjelenítés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SEND_DESC="Igenre állítva megjelenik a Facebook küldés gomb" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT="Gomb megjelenés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_DESC="Select a Facebook button layout option: display Like count either on the right, the top or no count at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON_COUNT="Right side Likes count" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BOX_COUNT="Top box Likes count" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_NO_COUNT="Standard" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION="Action" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_ACTION_DESC="Select to display either Like or recommend on your Facebook button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_LIKE="Tetszik" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_RECOMMEND="Ajánlom" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES="Arcok megjelenítése" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_SHOW_FACES_DESC="Igen-re állítva a Facebook gomb megjeleníti az oldalt kedvelők profilképét" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME="Színséma" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DESC="Select one of the available color scheme for buttons" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_LIGHT="Világos" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_COLORSCHEME_DARK="Sötét" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH="Total area width" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_WIDTH_DESC="Enter a width (in pixels) for the Facebook group of buttons. Leave empty for default value" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5="HTML 5 gombok használata" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_USE_HTML5_DESC="If set to Yes, the HTML5 version of the Facebook buttons will be used" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET="Twitteld gomb megjelenítése" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_TWEET_DESC="If set to Yes, a Twitter button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT="Gomb megjelenés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_DESC="Select a Twitter button layout option: display counter vertically, horizontally or no counter at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_VERTICAL="Függőleges Tweet számláló" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_HORIZONTAL="Vízszintes Tweet számláló" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_LAYOUT_NONE="Nincs Tweet számláló" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT="Tweet Via account" +PLG_SH404SEFCORE_SH404SEFSOCIAL_TWEET_VIA_ACCOUNT_DESC="You can enter a Tweet via account name. Twitter will display this account when your page is shared by others" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE="Plus One gomb megjelenítés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_DESC="Igenre állítva megjelenik a Google Plus One gomb" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE="Gomb méret" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_DESC="Válasz egyet a lehetséges Google Plus One gombok közül" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_SMALL="Kicsi (15px)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_MEDIUM="Közepes (20px)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_STANDARD="Standard (24px)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PLUS_ONE_SIZE_TALL="Magas (60px - számlálóval)" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION="Gomb megjegyzés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_DESC="Select the type of information displayed next to the +1 button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_NONE="Nincs" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_BUBBLE="A +1-re kattintó felhasználók száma" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PLUS_ONE_ANNOTATION_INLINE="A felhasználók képei és az összes kattintás" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE="Jelvény megjelenítés" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_GOOGLE_PLUS_PAGE_DESC="Igenre állítva megjelenik a Google Plus jelvény" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE="Page to link to" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_PAGE_DESC="Enter the exact link to your page. Do not include Google domain (http://plus.google.com). Should be similar to /my-gplus-page" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT="Egyedi szöveg" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_CUSTOM_TEXT_DESC="Optional custom text to be displayed next to the badge. Leave empty to display only the badge image" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE="Jelvény méret" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_DESC="Válassz egyet a többféle Google oldal jelvény méretek közül" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_SMALL="Kicsi" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_MEDIUM="Közepes" +PLG_SH404SEFCORE_SH404SEFSOCIAL_GOOGLE_PLUS_PAGE_SIZE_LARGE="Nagy" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION="Gomb helye" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_DESC="Define where buttons should be located:
                  'Only tags' means only {sh404sef_social_buttons} tags will be replaced, wherever you put them.
                  'Before content': buttons will be inserted after an article title, before its content.
                  'After content': buttons will be inserted after the article itsel
                  With the latter 2 options, you don't need to place any tag in your content." +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_ONLY_TAGS="Csak a címkék cseréje" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_BEFORE_CONTENT="Tartalom előtt" +PLG_SH404SEFCORE_SH404SEFSOCIAL_BUTTONS_LOCATION_AFTER_CONTENT="Tartalom után" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION="Kategóriák" +PLG_SH404SEFCORE_SH404SEFSOCIAL_CAT_RESTRICTION_DESC="A közösségi gombokat csak bizonyos kategóriákban jeleníti meg" +PLG_SH404SEFCORE_SH404SEFSOCIAL_SHOW_ON_ALL_CATS="Összes kategória" +PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL="shUrl használata" +PLG_SH404SEFCORE_SH404SEFSOCIAL_USE_SHURL_DESC="If set to Yes, and unless you explicitely set a URL in a {sh404sef_social_buttons} tag, the shUrl for an URL will be used instead of that URL, when linking social buttons" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST="Pinterest" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST="Show Pin it button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_PINTEREST_DESC="If set to Show, a Pin it button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT="Pin it count layout" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_DESC="Choose one of the possible layouts for the Pin it counter, including no counter at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_VERTICAL="Vertical" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_HORIZONTAL="Horizontal" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_LAYOUT_NONE="None" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT="Button text" +PLG_SH404SEFCORE_SH404SEFSOCIAL_PINTEREST_BUTTON_TEXT_DESC="Enter a text to replace the default 'Pin it'. Note this text will normally not be displayed, but replaced by Pinterest Pin it button graphic" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE="Show Share button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_FB_SHARE_DESC="If set to Show, a Facebook Share button will be displayed" +; +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKED="Linkedin" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKEDIN="Show Linkedin button" +PLG_SH404SEFCORE_SH404SEFSOCIAL_ENABLE_LINKED_DESC="If set to Show, a Linkedin button will be displayed" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT="Linkedin layout" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_DESC="Choose one of the possible layouts for the Linkedin counter, including no counter at all" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_VERTICAL="Vertical" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_HORIZONTAL="Horizontal" +PLG_SH404SEFCORE_SH404SEFSOCIAL_LINKEDIN_LAYOUT_NONE="None" +PLG_SH404SEFCORE_SH404SEFSOCIAL_FB_LIKE_LAYOUT_BUTTON="Only button" diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.sys.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.sys.ini index 58d2f710..b32e6812 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.sys.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_sh404sefcore_sh404sefsocial.sys.ini @@ -1,9 +1,9 @@ -; $Id$ -; Joomla! Project -; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - - -PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEF core - Közösségi gombok" -PLG_SH404SEFCORE_SH404SEFSOCIAL_XML_DESCRIPTION="Allow insertion of Social buttons in articles, modules or templates, by replacing the {sh404sef_social_buttons} tag you can add in said content.

                  You can specify a custom URL like so:
                  • {sh404sef_social_buttons url=index.php?option=com_content&id=12&Itemid=34&view=article} - will be turned to SEF url automatically
                  • {sh404sef_social_buttons url=/my-url.html}
                  • {sh404sef_social_buttons url=http://mysite.com/my-url.html}
                  • {sh404sef_social_buttons url=my-url.html} - will be turned to an absolute url automatically

                  • If no url is set, the current page url will be used instead

                    In addition, you can select which button to display, by using a type tag, like so:
                    • {sh404sef_social_buttons type=facebooklike type=twitter}

                    You can use combinations of any of the following types:
                    • facebooklike, facebooksend, twitter, googleplusone, googlepluspage, pinterestpinit,linkedin
                    (and still combine with a url)

                    When displaying a Pin It button:
                    • if you don't setup a tag, the first image in the document will be the one shared
                    • if using a tag, you can use the img attribute to specify which image will be shared, and a desc attribute to describe it, like so:

                      {sh404sef_social_buttons type=pinterestpinit img=images/stories/some-image.jpg desc="_QQ_"This is an image worth sharing ;)"_QQ_"}
                    " +; $Id$ +; Joomla! Project +; Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + + +PLG_SH404SEFCORE_SH404SEFSOCIAL="sh404SEF core - Közösségi gombok" +PLG_SH404SEFCORE_SH404SEFSOCIAL_XML_DESCRIPTION="Allow insertion of Social buttons in articles, modules or templates, by replacing the {sh404sef_social_buttons} tag you can add in said content.

                    You can specify a custom URL like so:
                    • {sh404sef_social_buttons url=index.php?option=com_content&id=12&Itemid=34&view=article} - will be turned to SEF url automatically
                    • {sh404sef_social_buttons url=/my-url.html}
                    • {sh404sef_social_buttons url=http://mysite.com/my-url.html}
                    • {sh404sef_social_buttons url=my-url.html} - will be turned to an absolute url automatically

                    • If no url is set, the current page url will be used instead

                      In addition, you can select which button to display, by using a type tag, like so:
                      • {sh404sef_social_buttons type=facebooklike type=twitter}

                      You can use combinations of any of the following types:
                      • facebooklike, facebooksend, twitter, googleplusone, googlepluspage, pinterestpinit,linkedin
                      (and still combine with a url)

                      When displaying a Pin It button:
                      • if you don't setup a tag, the first image in the document will be the one shared
                      • if using a tag, you can use the img attribute to specify which image will be shared, and a desc attribute to describe it, like so:

                        {sh404sef_social_buttons type=pinterestpinit img=images/stories/some-image.jpg desc="_QQ_"This is an image worth sharing ;)"_QQ_"}
                      " diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.ini index a59e04d3..9908dd9a 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.ini @@ -1,78 +1,78 @@ -; YouTubeR -; Copyright (C) 2017 Oleg Micriucov. All rights reserved. -; License: https://allforjoomla.com/license -; Note : All ini files need to be saved as UTF-8 - -PLG_SYSTEM_YOUTUBER_DESCR="

                      YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                      Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                      " -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" -PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" -PLG_SYSTEM_YOUTUBER_THEME="Theme" -PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" -PLG_SYSTEM_YOUTUBER_MODE="Mode" -PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" -PLG_SYSTEM_YOUTUBER_EMBED="Embed" -PLG_SYSTEM_YOUTUBER_LINK="Link" -PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" -PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" -PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" -PLG_SYSTEM_YOUTUBER_CACHING="Caching" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" -PLG_SYSTEM_YOUTUBER_ERROR="Error" -PLG_SYSTEM_YOUTUBER_MORE="Több" -PLG_SYSTEM_YOUTUBER_LESS="Kevesebb" -PLG_SYSTEM_YOUTUBER_LOAD_MORE="Még több videó" -PLG_SYSTEM_YOUTUBER_ACTIVATE_PLUGIN="Please activate system YouTubeR plugin" -PLG_SYSTEM_YOUTUBER_SET_OAUTH_ID="Please set Google OAuth client ID in the system YouTubeR plugin configuration" -PLG_SYSTEM_YOUTUBER_AUTHORIZE_YOUTUBE_ACCOUNT="Click to authorize YouTube account" -PLG_SYSTEM_YOUTUBER_UPLOAD_VIDEO="Upload video" -PLG_SYSTEM_YOUTUBER_VIDEOS_LIST="Videos list" -PLG_SYSTEM_YOUTUBER_MORE_VIDEOS="More videos" -PLG_SYSTEM_YOUTUBER_TITLE="Title" -PLG_SYSTEM_YOUTUBER_VIDEO_TITLE="Video title" -PLG_SYSTEM_YOUTUBER_DESCRIPTION="Description" -PLG_SYSTEM_YOUTUBER_VIDEO_DESCRIPTION="Video description" -PLG_SYSTEM_YOUTUBER_TAGS="Tags" -PLG_SYSTEM_YOUTUBER_TAGS_SEPARATED_BY_COMMA="Tags, separated by comma" -PLG_SYSTEM_YOUTUBER_PRIVACY_STATUS="Privacy Status" -PLG_SYSTEM_YOUTUBER_UPLOAD="Upload" -PLG_SYSTEM_YOUTUBER_PUBLIC="Public" -PLG_SYSTEM_YOUTUBER_UNLISTED="Unlisted" -PLG_SYSTEM_YOUTUBER_PRIVATE="Private" -PLG_SYSTEM_YOUTUBER_PLEASE_ENTER_VIDEO_TITLE="Please enter video title" -PLG_SYSTEM_YOUTUBER_PLEASE_CHOOSE_VIDEO_FILE="Please choose video file" -PLG_SYSTEM_YOUTUBER_VIDEOS_IDS_NOT_FOUND="Videos IDs: %s not found" -PLG_SYSTEM_YOUTUBER_VIDEO_ID_NOT_FOUND="Video ID: %s not found" -PLG_SYSTEM_YOUTUBER_CHANNEL_FOR_USER_NOT_FOUND="Channel for user: %s not found" -PLG_SYSTEM_YOUTUBER_CHANNEL_ID_NOT_FOUND="Channel ID: %s not found" -PLG_SYSTEM_YOUTUBER_PLAYLIST_ID_NOT_FOUND="Playlist ID: %s not found" -PLG_SYSTEM_YOUTUBER_PLAYLIST_FOR_CHANNEL_ID_NOT_FOUND="Playlists for channel ID: %s not found" -PLG_SYSTEM_YOUTUBER_SERVER_RESPONCE_ERROR="YouTube server responce error" -PLG_SYSTEM_YOUTUBER_TMPL_FOR_THEME_NOT_FOUND="Template %s for the theme %s not found." -PLG_SYSTEM_YOUTUBER_NO_PLAYLIST_AND_VIDEO_ID="No playlist ID and no video ID is set" -PLG_SYSTEM_YOUTUBER_UPLOADS="Uploads" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_VIEWS="Megtekintések száma" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_LIKES="Likeok száma" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_DISLIKES="Number of dislikes" -PLG_SYSTEM_YOUTUBER_ADDED_TO_FAVORITES="Added to favorites" -PLG_SYSTEM_YOUTUBER_NUMBER_OF_COMMENTS="Kommentek száma" -PLG_SYSTEM_YOUTUBER_SVIDEOS="%1$s videos" -PLG_SYSTEM_YOUTUBER_SVIEWS="%1$s views" -PLG_SYSTEM_YOUTUBER_SSUBSCRIBERS="%1$s subscribers" -PLG_SYSTEM_YOUTUBER_NO_VIDEOS_IN_PLAYLIST="No videos found in this playlist" -PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" -PLG_SYSTEM_YOUTUBER_ERROR_NO_DEBUG="Error. For more information about error turn on debug mode in the plugin settings" +; YouTubeR +; Copyright (C) 2017 Oleg Micriucov. All rights reserved. +; License: https://allforjoomla.com/license +; Note : All ini files need to be saved as UTF-8 + +PLG_SYSTEM_YOUTUBER_DESCR="

                      YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                      Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                      " +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" +PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" +PLG_SYSTEM_YOUTUBER_THEME="Theme" +PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" +PLG_SYSTEM_YOUTUBER_MODE="Mode" +PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" +PLG_SYSTEM_YOUTUBER_EMBED="Embed" +PLG_SYSTEM_YOUTUBER_LINK="Link" +PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" +PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" +PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" +PLG_SYSTEM_YOUTUBER_CACHING="Caching" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" +PLG_SYSTEM_YOUTUBER_ERROR="Error" +PLG_SYSTEM_YOUTUBER_MORE="Több" +PLG_SYSTEM_YOUTUBER_LESS="Kevesebb" +PLG_SYSTEM_YOUTUBER_LOAD_MORE="Még több videó" +PLG_SYSTEM_YOUTUBER_ACTIVATE_PLUGIN="Please activate system YouTubeR plugin" +PLG_SYSTEM_YOUTUBER_SET_OAUTH_ID="Please set Google OAuth client ID in the system YouTubeR plugin configuration" +PLG_SYSTEM_YOUTUBER_AUTHORIZE_YOUTUBE_ACCOUNT="Click to authorize YouTube account" +PLG_SYSTEM_YOUTUBER_UPLOAD_VIDEO="Upload video" +PLG_SYSTEM_YOUTUBER_VIDEOS_LIST="Videos list" +PLG_SYSTEM_YOUTUBER_MORE_VIDEOS="More videos" +PLG_SYSTEM_YOUTUBER_TITLE="Title" +PLG_SYSTEM_YOUTUBER_VIDEO_TITLE="Video title" +PLG_SYSTEM_YOUTUBER_DESCRIPTION="Description" +PLG_SYSTEM_YOUTUBER_VIDEO_DESCRIPTION="Video description" +PLG_SYSTEM_YOUTUBER_TAGS="Tags" +PLG_SYSTEM_YOUTUBER_TAGS_SEPARATED_BY_COMMA="Tags, separated by comma" +PLG_SYSTEM_YOUTUBER_PRIVACY_STATUS="Privacy Status" +PLG_SYSTEM_YOUTUBER_UPLOAD="Upload" +PLG_SYSTEM_YOUTUBER_PUBLIC="Public" +PLG_SYSTEM_YOUTUBER_UNLISTED="Unlisted" +PLG_SYSTEM_YOUTUBER_PRIVATE="Private" +PLG_SYSTEM_YOUTUBER_PLEASE_ENTER_VIDEO_TITLE="Please enter video title" +PLG_SYSTEM_YOUTUBER_PLEASE_CHOOSE_VIDEO_FILE="Please choose video file" +PLG_SYSTEM_YOUTUBER_VIDEOS_IDS_NOT_FOUND="Videos IDs: %s not found" +PLG_SYSTEM_YOUTUBER_VIDEO_ID_NOT_FOUND="Video ID: %s not found" +PLG_SYSTEM_YOUTUBER_CHANNEL_FOR_USER_NOT_FOUND="Channel for user: %s not found" +PLG_SYSTEM_YOUTUBER_CHANNEL_ID_NOT_FOUND="Channel ID: %s not found" +PLG_SYSTEM_YOUTUBER_PLAYLIST_ID_NOT_FOUND="Playlist ID: %s not found" +PLG_SYSTEM_YOUTUBER_PLAYLIST_FOR_CHANNEL_ID_NOT_FOUND="Playlists for channel ID: %s not found" +PLG_SYSTEM_YOUTUBER_SERVER_RESPONCE_ERROR="YouTube server responce error" +PLG_SYSTEM_YOUTUBER_TMPL_FOR_THEME_NOT_FOUND="Template %s for the theme %s not found." +PLG_SYSTEM_YOUTUBER_NO_PLAYLIST_AND_VIDEO_ID="No playlist ID and no video ID is set" +PLG_SYSTEM_YOUTUBER_UPLOADS="Uploads" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_VIEWS="Megtekintések száma" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_LIKES="Likeok száma" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_DISLIKES="Number of dislikes" +PLG_SYSTEM_YOUTUBER_ADDED_TO_FAVORITES="Added to favorites" +PLG_SYSTEM_YOUTUBER_NUMBER_OF_COMMENTS="Kommentek száma" +PLG_SYSTEM_YOUTUBER_SVIDEOS="%1$s videos" +PLG_SYSTEM_YOUTUBER_SVIEWS="%1$s views" +PLG_SYSTEM_YOUTUBER_SSUBSCRIBERS="%1$s subscribers" +PLG_SYSTEM_YOUTUBER_NO_VIDEOS_IN_PLAYLIST="No videos found in this playlist" +PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" +PLG_SYSTEM_YOUTUBER_ERROR_NO_DEBUG="Error. For more information about error turn on debug mode in the plugin settings" PLG_SYSTEM_YOUTUBER_LOAD_FANCYBOX="Load Fancybox library" \ No newline at end of file diff --git a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.sys.ini b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.sys.ini index 750a2a73..60392363 100644 --- a/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.sys.ini +++ b/deployed/_shared/administrator/language/hu-HU/hu-HU.plg_system_youtuber.sys.ini @@ -1,38 +1,38 @@ -; YouTubeR -; Copyright (C) 2017 Oleg Micriucov. All rights reserved. -; License: https://allforjoomla.com/license -; Note : All ini files need to be saved as UTF-8 - -PLG_SYSTEM_YOUTUBER_DESCR="

                      YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                      Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                      " -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" -PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" -PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" -PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" -PLG_SYSTEM_YOUTUBER_THEME="Theme" -PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" -PLG_SYSTEM_YOUTUBER_MODE="Mode" -PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" -PLG_SYSTEM_YOUTUBER_EMBED="Embed" -PLG_SYSTEM_YOUTUBER_LINK="Link" -PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" -PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" -PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" -PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" -PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" -PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" -PLG_SYSTEM_YOUTUBER_CACHING="Caching" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" -PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" -PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" -PLG_SYSTEM_YOUTUBER_LOAD_FANCYBOX="Load Fancybox library" -PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_LABEL="Premium License key" -PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_DESCR="You can find the Premium License key in your account on AllForJoomla.com" +; YouTubeR +; Copyright (C) 2017 Oleg Micriucov. All rights reserved. +; License: https://allforjoomla.com/license +; Note : All ini files need to be saved as UTF-8 + +PLG_SYSTEM_YOUTUBER_DESCR="

                      YouTubeR - unique Joomla plugin, that allows you to upload videos on YouTube from your website and to easily embed YouTube videos, playlists, channels to your website.

                      Documentation can be foud here: https://allforjoomla.com/docs-youtuber

                      " +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_LABEL="Google OAuth client ID" +PLG_SYSTEM_YOUTUBER_GOAUTH_ID_DESCR="How to create Google OAuth client ID you can see in the documentation" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_LABEL="Google API key" +PLG_SYSTEM_YOUTUBER_BROWSER_KEY_DESCR="How to create Google API key you can see in the documentation" +PLG_SYSTEM_YOUTUBER_SHORTCODE_ATTRIBS="### Shortcode default attributes ###" +PLG_SYSTEM_YOUTUBER_THEME="Theme" +PLG_SYSTEM_YOUTUBER_THEME_DESCR="You can also set the name of a custom theme (how to create a custom theme you can see in the documentation)" +PLG_SYSTEM_YOUTUBER_MODE="Mode" +PLG_SYSTEM_YOUTUBER_LIGHTBOX="Lightbox" +PLG_SYSTEM_YOUTUBER_EMBED="Embed" +PLG_SYSTEM_YOUTUBER_LINK="Link" +PLG_SYSTEM_YOUTUBER_PLAYLIST_COLS="Playlist column count" +PLG_SYSTEM_YOUTUBER_PLAYLIST_ROWS="Playlist rows count" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT="Limit columns display" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_DESCR="If the device will be smaller than indicated, then columns will be collapsed" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_LG="Large screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_MD="Medium screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_SM="Small screens" +PLG_SYSTEM_YOUTUBER_COLS_LIMIT_XS="Extra small screens" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT="Description words limit" +PLG_SYSTEM_YOUTUBER_WORDS_LIMIT_DESCR="Limit video description by number of words" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT="Date format" +PLG_SYSTEM_YOUTUBER_DATE_FORMAT_DESCR="Documentation about format can be found here: http://www.php.net/manual/en/function.date.php" +PLG_SYSTEM_YOUTUBER_ADV_CONFIG="### Advanced configuration ###" +PLG_SYSTEM_YOUTUBER_CACHING="Caching" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME="Cache lifetime" +PLG_SYSTEM_YOUTUBER_CACHE_LIFETIME_DESCR="Cache lifetime in seconds" +PLG_SYSTEM_YOUTUBER_DEBUG="Debug mode" +PLG_SYSTEM_YOUTUBER_LOAD_FANCYBOX="Load Fancybox library" +PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_LABEL="Premium License key" +PLG_SYSTEM_YOUTUBER_PURCHASE_CODE_DESCR="You can find the Premium License key in your account on AllForJoomla.com" PLG_SYSTEM_YOUTUBER_LOAD_GFONT="Load Google Font" \ No newline at end of file diff --git a/deployed/_shared/administrator/manifests/packages/jcksuite/install.php b/deployed/_shared/administrator/manifests/packages/jcksuite/install.php index 2073af19..1bff99b6 100644 --- a/deployed/_shared/administrator/manifests/packages/jcksuite/install.php +++ b/deployed/_shared/administrator/manifests/packages/jcksuite/install.php @@ -1,146 +1,146 @@ -release = $parent->get( "manifest" )->version; - - // Manifest file minimum Joomla version - $this->minimum_joomla_release = $parent->get( "manifest" )->attributes()->version; - - if( version_compare( $jversion->getShortVersion(), $this->minimum_joomla_release, 'lt' ) ) - { - Jerror::raiseWarning(null, 'Cannot install this version of the JCK Suite package in a Joomla release prior to '.$this->minimum_joomla_release); - return false; - } - - //Workaround I shouldn't have to do - $app = JFactory::getApplication(); - $db = JFactory::getDBO(); - - $sql = $db->getQuery( true ); - $sql->select( '1' ) - ->from('#__extensions') - ->where( '`name` = "com_jckman"' ); - - if( !$db->setQuery( $sql )->loadResult() ) - { - $sql = $db->getQuery( true ); - $sql->delete( '#__assets' ) - ->where( '`title` like "%JCK%MAN%"' ); - $db->setQuery( $sql )->query(); - - $sql = $db->getQuery( true ); //Delete if we still need to - $sql->delete( '#__menu' ) - ->where( '`title` like "COM_JCKMAN%"' ); - $db->setQuery( $sql )->query(); - - //delete any files - - if(JFolder::exists(JPATH_SITE.'/components/com_jckman')) - JFolder::delete(JPATH_SITE.'/components/com_jckman'); - if(JFolder::exists(JPATH_ADMINISTRATOR.'/components/com_jckman')) - JFolder::delete(JPATH_ADMINISTRATOR.'/components/com_jckman'); - - - //reset to install path - $prop = new ReflectionProperty('JInstallerAdapterPackage', 'route'); - $prop->setAccessible(true); - $prop->setValue($parent,'install'); - - } - - } - - function postflight($parent) - { - ?> - - - - release = $parent->get( "manifest" )->version; + + // Manifest file minimum Joomla version + $this->minimum_joomla_release = $parent->get( "manifest" )->attributes()->version; + + if( version_compare( $jversion->getShortVersion(), $this->minimum_joomla_release, 'lt' ) ) + { + Jerror::raiseWarning(null, 'Cannot install this version of the JCK Suite package in a Joomla release prior to '.$this->minimum_joomla_release); + return false; + } + + //Workaround I shouldn't have to do + $app = JFactory::getApplication(); + $db = JFactory::getDBO(); + + $sql = $db->getQuery( true ); + $sql->select( '1' ) + ->from('#__extensions') + ->where( '`name` = "com_jckman"' ); + + if( !$db->setQuery( $sql )->loadResult() ) + { + $sql = $db->getQuery( true ); + $sql->delete( '#__assets' ) + ->where( '`title` like "%JCK%MAN%"' ); + $db->setQuery( $sql )->query(); + + $sql = $db->getQuery( true ); //Delete if we still need to + $sql->delete( '#__menu' ) + ->where( '`title` like "COM_JCKMAN%"' ); + $db->setQuery( $sql )->query(); + + //delete any files + + if(JFolder::exists(JPATH_SITE.'/components/com_jckman')) + JFolder::delete(JPATH_SITE.'/components/com_jckman'); + if(JFolder::exists(JPATH_ADMINISTRATOR.'/components/com_jckman')) + JFolder::delete(JPATH_ADMINISTRATOR.'/components/com_jckman'); + + + //reset to install path + $prop = new ReflectionProperty('JInstallerAdapterPackage', 'route'); + $prop->setAccessible(true); + $prop->setValue($parent,'install'); + + } + + } + + function postflight($parent) + { + ?> + + + + - - Magyar (hu-HU) nyelvi csomag - hu-HU - 3.8.7.1 - 2018 április - Joomla! Hungary - szerk@joomlacms.hu - joomlacms.hu - Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. - https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL - https://github.com/joomla/joomla-cms - Joomla! Project - www.joomla.org - - true - - site_hu-HU - admin_hu-HU - - - - https://update.joomla.org/language/translationlist_3.xml - - - + + + Magyar (hu-HU) nyelvi csomag + hu-HU + 3.8.7.1 + 2018 április + Joomla! Hungary + szerk@joomlacms.hu + joomlacms.hu + Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved. + https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL + https://github.com/joomla/joomla-cms + Joomla! Project + www.joomla.org + + true + + site_hu-HU + admin_hu-HU + + + + https://update.joomla.org/language/translationlist_3.xml + + + diff --git a/deployed/_shared/administrator/manifests/packages/pkg_jcksuite.xml b/deployed/_shared/administrator/manifests/packages/pkg_jcksuite.xml index b38912d1..63fb0586 100644 --- a/deployed/_shared/administrator/manifests/packages/pkg_jcksuite.xml +++ b/deployed/_shared/administrator/manifests/packages/pkg_jcksuite.xml @@ -1,29 +1,29 @@ - - - JCK Suite - Andrew Williams - Nov 2014 - jcksuite - 6.6.2 - http://www.webxsolution.com - Webxsolution - http://www.webxsolution.com - PLG_JCK_SUITE_XML_DESC - GNU/GPLv2 - - language/en-GB/en-GB.pkg_jcksuite.sys.ini - language/de-DE/de-DE.pkg_jcksuite.sys.ini - language/es-ES/es-ES.pkg_jcksuite.sys.ini - language/fi-FI/fi-FI.pkg_jcksuite.sys.ini - language/fr-FR/fr-FR.pkg_jcksuite.sys.ini - language/it-IT/it-IT.pkg_jcksuite.sys.ini - language/nl-NL/nl-NL.pkg_jcksuite.sys.ini - language/ru-RU/ru-RU.pkg_jcksuite.sys.ini - - - plg_jckeditor.zip - plg_jckmodal1.1.zip - com_jckman.zip - - install.php + + + JCK Suite + Andrew Williams + Nov 2014 + jcksuite + 6.6.2 + http://www.webxsolution.com + Webxsolution + http://www.webxsolution.com + PLG_JCK_SUITE_XML_DESC + GNU/GPLv2 + + language/en-GB/en-GB.pkg_jcksuite.sys.ini + language/de-DE/de-DE.pkg_jcksuite.sys.ini + language/es-ES/es-ES.pkg_jcksuite.sys.ini + language/fi-FI/fi-FI.pkg_jcksuite.sys.ini + language/fr-FR/fr-FR.pkg_jcksuite.sys.ini + language/it-IT/it-IT.pkg_jcksuite.sys.ini + language/nl-NL/nl-NL.pkg_jcksuite.sys.ini + language/ru-RU/ru-RU.pkg_jcksuite.sys.ini + + + plg_jckeditor.zip + plg_jckmodal1.1.zip + com_jckman.zip + + install.php \ No newline at end of file diff --git a/deployed/_shared/administrator/manifests/packages/pkg_smartcountdown3.xml b/deployed/_shared/administrator/manifests/packages/pkg_smartcountdown3.xml index 84b08ec2..1e83cba5 100644 --- a/deployed/_shared/administrator/manifests/packages/pkg_smartcountdown3.xml +++ b/deployed/_shared/administrator/manifests/packages/pkg_smartcountdown3.xml @@ -1,18 +1,18 @@ - - - Smart Countdown 3 - Alex Polonski - 2012-2015 - (C) 2012 - 2015 - Alex Polonski. All rights reserved. - GNU General Public License version 2 or later; see LICENSE.txt - alex3493@yandex.ru - http://smartcalc.es - smartcountdown3 - 3.4.7 - Smart Countdown 3 Component and plugin - - com_smartcountdown3.zip - mod_smartcountdown3.zip - - - + + + Smart Countdown 3 + Alex Polonski + 2012-2015 + (C) 2012 - 2015 - Alex Polonski. All rights reserved. + GNU General Public License version 2 or later; see LICENSE.txt + alex3493@yandex.ru + http://smartcalc.es + smartcountdown3 + 3.4.7 + Smart Countdown 3 Component and plugin + + com_smartcountdown3.zip + mod_smartcountdown3.zip + + + diff --git a/deployed/_shared/administrator/manifests/packages/pkg_youtuber.xml b/deployed/_shared/administrator/manifests/packages/pkg_youtuber.xml index 212f84df..48f66167 100644 --- a/deployed/_shared/administrator/manifests/packages/pkg_youtuber.xml +++ b/deployed/_shared/administrator/manifests/packages/pkg_youtuber.xml @@ -1,23 +1,23 @@ - - - Package YouTubeR - youtuber - Oleg Micriucov (ZyX) - June 2016 - info@allforjoomla.ru - https://allforjoomla.ru - Copyright (c) 2017 Oleg Micriucov - https://allforjoomla.com/license - 1.49 - - https://allforjoomla.com/premium/item/joomla-youtube-plugin - - - plg_youtuber_btn.zip - plg_youtuber.zip - - - - https://allforjoomla.com/updates/premium/youtuber-package.xml - - + + + Package YouTubeR + youtuber + Oleg Micriucov (ZyX) + June 2016 + info@allforjoomla.ru + https://allforjoomla.ru + Copyright (c) 2017 Oleg Micriucov + https://allforjoomla.com/license + 1.49 + + https://allforjoomla.com/premium/item/joomla-youtube-plugin + + + plg_youtuber_btn.zip + plg_youtuber.zip + + + + https://allforjoomla.com/updates/premium/youtuber-package.xml + + diff --git a/deployed/_shared/language/en-GB/en-GB.com_acym.ini b/deployed/_shared/language/en-GB/en-GB.com_acym.ini index 6f530c2d..a7aa2fbd 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_acym.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_acym.ini @@ -1,1342 +1,1342 @@ -ACYM_VERSION="6.2.0" - - -ACYM_ERROR_INSTALLING_X_TEMPLATE="An error occurred while installing the template %s" -ACYM_SKIP_AND_IMPORT_USERS="Skip and import your first users" -ACYM_HTML_ID_DESC="In HTML the id of an element is unique and used for the CSS" -ACYM_HTML_ID="Block HTML id" -ACYM_CANT_RETRIEVE_TEST_EMAIL="Unable to retrieve AcyMailing test email. Please try to re-install AcyMailing" -ACYM_CANT_RETRIEVE_TESTING_LIST="Unable to retrieve AcyMailing testing list. Please try to re-install AcyMailing" -ACYM_FIRST_EMAIL_NAME="AcyMailing first email" -ACYM_EMPTY_ADDRESS_OR_PASSWORD="The email address or the password is empty" -ACYM_WALKTHROUGH_GMAIL_TEXT="As you're using AcyMailing on a local website, emails can't be sent from your server.
                      That's why your Gmail information are needed. These information are only asked to connect to your Gmail account and send a test email." -ACYM_WHY_DO_WE_NEED_THIS="Why do we need this?" -ACYM_YOUR_GMAIL_ACCOUNT="Your Gmail account" -ACYM_FROM_ADDRESS_INFO="The receivers will see this value for the sender's email address when receiving your emails" -ACYM_FROM_NAME_INFO="The receivers will see this value for the sender's name when receiving your emails" -ACYM_WALKTHROUGH_MAIL_CONFIG_TEXT="During this step, we will configure the information displayed when an email is received." -ACYM_WALKTHROUGH_PHPMAIL_TEXT="The email will be sent from your own server, so based on your server configuration it may end up in the SPAM folder. But don't worry, we will help you to fix this if it happens 😀" -ACYM_YOUR_EMAIL_CONFIGURATION="Your email configuration" -ACYM_MAKE_SURE_NOT_IN_SPAM="Please make sure the email isn’t in the SPAM folder 😉" -ACYM_NO_I_DIDNT="No, I didn't" -ACYM_YES_I_DID="Yes I did!" -ACYM_RESULT_TEXT="The Email has been sent based on your server's configuration, but you may not have received it." -ACYM_DID_YOU_RECEIVE_IT="Did you receive it?" -ACYM_EMAIL_SENT="Email sent! 🚀" -ACYM_FIRST_LIST="Your first receiver list" -ACYM_TEST_LIST_TEXT_1="During the next step we will send the test email to a newly created testing list." -ACYM_TEST_LIST_TEXT_2="Only your email address will be subscribed to this list, but if you want you can add other testing email addresses by clicking the "_QQ_"Add new"_QQ_" button." -ACYM_TEST_LIST_RECEIVER="Receivers for the testing list" -ACYM_EMAIL_ADDRESS="Email address" -ACYM_ADD="Add" -ACYM_ERROR_SAVE_LIST="An error occurred when creating your testing list" -ACYM_AT_LEAST_ONE_USER="Please add at least one user to your testing list." -ACYM_WRONG_ADDRESSES="The following email addresses are incorrect: %s" -ACYM_TESTING_LIST="Testing list" -ACYM_SOMETHING_WENT_WRONG_CONTACT_ON_ACYBA="Something went wrong, please send us an email via the contact form on our website" -ACYM_SEND_NEW_TEST="Send a new test" -ACYM_GMAIL_PASSWORD="Your Gmail password" -ACYM_GMAIL_EMAIL="Your Gmail address" -ACYM_THESE_INFO_ARE_ONLY_ASK_TO_SEND_TEST="These information are only asked to connect to your Gmail account by SMTP and send a test email from AcyMailing. Be sure that we don't store any of these information." -ACYM_TRY_WITH_GMAIL="Try with Gmail integration" -ACYM_ASK_FOR_SUPPORT="Ask for support" -ACYM_CONTACT_ME="Contact me" -ACYM_SIMPLY_PROVIDE_US_EMAIL_WE_GET_BACK="Simply provide us with your email address and we will get back to you as soon as we can 😉" -ACYM_DONT_WORRY_OUR_SUPPORT_WILL_TAKE_A_LOOK="Don't worry our support team will contact you and help you find a solution!" -ACYM_SEEMS_SOMETHING_WENT_WRONG="Well it seems that something went wrong." -ACYM_WHATS_NEXT="What's next?" -ACYM_WALKTHROUGH_HOUSTON="This is Houston, we copy!" -ACYM_CONTACT_WELL_CONTACT_YOU="Don't worry, the AcyMailing support team will contact you as soon as possible." -ACYM_CONTACT_NEEDED_INFO="They will provide you with all the needed information to help you send your first email with AcyMailing." -ACYM_CONTACT_DIRECT="If you don't receive our message after some days, don't hesitate to directly %s" -ACYM_GET_IN_TOUCH="get in touch with us" -ACYM_PLEASE_REINSTALL_ACYMAILING="Please re-install AcyMailing to install the first email" -ACYM_HERE_IT_LOOKS_FEEL_FREE_TO_MODIFY="Here is how it looks like. Feel free to modify it (and test our drag and drop editor) if you want to!" -ACYM_YOUR_FIRST_EMAIL="Your first email" -ACYM_WE_ARE_GOING_TO_CONFIGURE_ACY_SIMPLE_TEST="We are going to configure AcyMailing through a simple test email." -ACYM_FINISH="Finish" -ACYM_WALKTHROUGH_SUCCESS="Hurrah!" -ACYM_WALK_SUCCESS_1="We're glad everything went well, time to import your users!" -ACYM_WALK_SUCCESS_2="We hope you will enjoy AcyMailing as much as we do 😃" -ACYM_ACTION_CREATED="Created" -ACYM_ACTION_MODIFIED="Modified" -ACYM_ACTION_CONFIRMED="Confirmed" -ACYM_ACTION_UNSUBSCRIBED="Unsubscribed" -ACYM_ACTION_SUBSCRIBED="Subscribed" -ACYM_ACTION_BOUNCE="Bounced" -ACYM_YOU_DONT_DESERVE_IT="No, you don't deserve it" -ACYM_LEAVE_FIVE_STAR="Leave a 5 ⭐️ review" -ACYM_THIS_WILL_HELP_ON_WORDPRESS="This will help us to grow on WordPress and keep up the good job. Thanks a lot!" -ACYM_IF_YOU_LOVE_GO_FIVE_STARS="So if you love our plugin or if you think the job done on AcyMailing deserves a 5⭐ rating then please do it!" -ACYM_EVEN_SUPER_HEREOS_NEED_HELP="Sometimes, even super heroes need some help 😉" -ACYM_HELP_ACYMAILING_TO_GROW_VISIBILITY="Help AcyMailing to grow its visibility on WordPress" -ACYM_WE_NEED_YOUR_HELP="We need your help!" -ACYM_HTML_TAG="HTML tag" -ACYM_LINKS="Links" -ACYM_SUBSCRIBE_OPTION_ON_XX_CHECKOUT="Display a subscribe option on %s checkout" -ACYM_SUBSCRIBE_OPTION_ON_XX_CHECKOUT_DESC="Let the user choose if he wants to subscribe during chekout." -ACYM_SUBSCRIBE_OPTION_AUTO_SUBSCRIBE_TO_DESC="If the user chooses to subscribe, he will be automatically subscribed to the selected lists (not displayed on your subscription form)." -ACYM_SUBSCRIBE_NEWSLETTER="Subscribe to the newsletter" -ACYM_SUBSCRIBE_CAPTION="Subscribe zone label" -ACYM_SUBSCRIBE_CAPTION_DESC="Text displayed next to the lists selection zone. If you don't specify anything, a default text will be used." -ACYM_SUBSCRIBE_CAPTION_OPT_DESC="Text displayed next to the subscribe checkbox. If you don't specify anything, a default text will be used." -ACYM_LISTS_POSITION="Display the lists after" -ACYM_LOADING_ERROR="Loading error, please refresh the page and retry." -ACYM_SURE_LETS_DO_IT="Sure!" -ACYM_CONTACT_EMAIL="Contact email" -ACYM_THANKS_FOR_INSTALLING_ACYM="Thank you for installing AcyMailing! 🤩" -ACYM_WALK_THROUGH_STEPS_TO_GET_STARTED="Let's walk through some steps to get started" -ACYM_ACYMAILING_NEWS_AND_COUPON_CODE="AcyMailing news & coupon codes" -ACYM_NO_THANK_YOU="No, thank you" -ACYM_DO_YOU_WANT_NEWS="Would you like to receive AcyMailing news and coupon codes?" -ACYM_ERROR_SAVE_FILE="Error when saving the file %s" -ACYM_TRANSLATION_INSTALLED="%s translation(s) successfully installed" -ACYM_ERROR_LOAD_LANGUAGE="Our server didn't find the language(s) %s, you can start your own translation in the AcyMailing configuration page, tab "_QQ_"Languages"_QQ_" then share it" -ACYM_ERROR_LOAD_LANGUAGES="Could not load the language files from our server, you can update them in the AcyMailing configuration page, tab "_QQ_"Languages"_QQ_" or start your own translation and share it" -ACYM_AVERAGE_OPEN="Average open rate" -ACYM_AVERAGE_CLICK="Average click rate" -ACYM_LISTS_NUMBERS="Lists n° %s" -ACYM_HISTORY="History" -ACYM_VIEW_DETAILS="View details" -ACYM_VIEW_SOURCE="View source" -ACYM_IP="IP" -ACYM_PAID_VERSION_NEED_UPDATE_ERROR_LICENSE_ATTACH="You are trying to update a paid AcyMailing version but this website isn't attached to any valid license. You can attach your website to your licence by creating a cron from the AcyMailing configuration page, or on our website from your profile page." -ACYM_THANKS="Thanks 🙂" -ACYM_REVIEW_FOOTER="If you love AcyMailing please help us by posting a %s review. Thanks for your help!" -ACYM_MAIL="Mail" -ACYM_BOUNCED="Bounced" -ACYM_NOTOPEN="Not Opened" -ACYM_FAILED="Failed" -ACYM_NOTSENT="Not sent" -ACYM_FILTER_STATISTICS_SUMMARY="Where the user has the status %1$s for %2$s [ID: %3$s]" -ACYM_BACKGROUND="Background" -ACYM_TRANSPARENT_BACKGROUND="Transparent background" -ACYM_BACKGROUND_IMAGE="Background image" -ACYM_ADD_NEW="Add new" -ACYM_PADDING="Padding" -ACYM_ALIGNMENT="Alignment" -ACYM_OTHER="Other" -ACYM_FONT_FAMILY="Font family" -ACYM_LINK="Link" -ACYM_FORMATTING="Formatting" -ACYM_FULL_WIDTH_DESC="The button will take all the width available" -ACYM_FULL_WIDTH="Full width" -ACYM_FONT="Font" -ACYM_CRON_URL="Cron URL" -ACYM_CRON_URL_DESC="This URL is needed if you want to use your own cron task. It is the heart of the automatic features" -ACYM_OLD_VERSION="You have an old version" -ACYM_CLICK_UPDATE="Click to update to %s" -ACYM_ORDER_STATUS_CHANGED="When %1$s order status changed to %2$s" -ACYM_END_DATE="End date" -ACYM_ANY_PLAN="Any plan" -ACYM_AN_EVENT_IN="an event in" -ACYM_X_FILE_MISSING="The file %1$s is missing in the folder
                      %2$s
                      , please make sure that your host doesn't automatically delete this file using a security script" -ACYM_WHEN_ORDER="When an order is placed" -ACYM_ANY_STATUS="Any status" -ACYM_NEW_EMAIL="New email" -ACYM_GOTO_CONFIG="Go to the configuration" -ACYM_ADD_TO_QUEUE="Add to the queue" -ACYM_EMPTY_QUEUE="Empty the queue" -ACYM_HTML_EDITOR="HTML Editor" -ACYM_LESS_THAN="Less than" -ACYM_MORE_THAN="More than" -ACYM_EXECUTE_AUTOMATION="Execute this automation..." -ACYM_INTERFACE="Interface" -ACYM_COMPACT_DISPLAY="Compact display density" -ACYM_EMAIL_PREHEADER_DESC="The email preview line is a short text displayed in the receiver's inbox, next to the subject" -ACYM_EMAIL_PREHEADER="Email preview line" -ACYM_FEATURED_IMAGE="Featured image" -ACYM_EMAILS_REMOVED_QUEUE_UNCONFIRMED="%s emails removed from the queue for unconfirmed users" -ACYM_UNPAUSE_CAMPAIGN_FAIL="Campaign resume failed" -ACYM_PAUSE_CAMPAIGN_FAIL="Campaign pause failed" -ACYM_CAMPAIGN_DUPLICATED_SUCCESS="Campaign successfully duplicated" -ACYM_DUPLICATE_CAMPAIGN="Duplicate this campaign" -ACYM_UNPAUSE_CAMPAIGN_SUCCESSFUL="Campaign successfully resumed" -ACYM_PAUSE_CAMPAIGN_SUCCESSFUL="Campaign successfully paused" -ACYM_UNPAUSE_CAMPAIGN="Resume campaign" -ACYM_NOT_FOUND="%s not found" -ACYM_COULD_NOT_DUPLICATE_EMAIL="Couldn't duplicate the email" -ACYM_ARE_SURE_DUPLICATE_TEMPLATE="Are you sure you want to duplicate this email?" -ACYM_CHOOSE_EXISTING="Choose existing" -ACYM_ANY="Any" -ACYM_REGISTERED="Registered to %1$s and the registration status is %2$s" -ACYM_ANY_EVENT="Any event" -ACYM_FIELDS="Fields" -ACYM_REPORT_SEND_DESC="When should AcyMailing send a report?" -ACYM_REPORT_SAVE_DESC="Which report should AcyMailing save in the log file?" -ACYM_REPORT_SEND_TO_DESC="You can enter one or several e-mail addresses, AcyMailing will send the report to those users." -ACYM_REPORT_SAVE_TO_DESC="Location of the log file." -ACYM_USER_MODIFY_ACYMAILING="A user has been modified in AcyMailing" -ACYM_NEW_USER_ACYMAILING="A new user has been created in AcyMailing" -ACYM_HELLO="Hello" -ACYM_USER_NOT_FOUND="User not found" -ACYM_WRONG_DATE="Wrong date" -ACYM_USER_TRIGGERING_AUTOMATION="User triggering the automation" -ACYM_USER_MODIFICATION="User modification" -ACYM_ADMIN_USER_MODIFICATION_DESC="This automation allows you to send a message to the admin when a user is modified" -ACYM_ADMIN_USER_MODIFICATION="Send notification on user modification" -ACYM_USER_CREATION="User creation" -ACYM_ADMIN_USER_CREATE_DESC="This automation allows you to send a message to the admin when a user is created" -ACYM_ADMIN_USER_CREATE="Send notification on user creation" -ACYM_CUSTOM_HEADERS="Custom headers" -ACYM_SESSION_IS_GOING_TO_END="WARNING: Your session will end in 1 minute, don't forget to save your work!" -ACYM_OF_CLICKS="%s of clicks" -ACYM_X_BOUNCE_OF_X="%1$s sent emails bounced back out of %2$s" -ACYM_X_MAIL_CLICKED_OF_X="%1$s users out of %2$s clicked a link" -ACYM_X_MAIL_OPENED_OF_X="%1$s mails opened out of %2$s" -ACYM_X_MAIL_SUCCESSFULLY_SENT_OF_X="%1$s mails successfully sent out of %2$s" -ACYM_CLICK_MAP="Click map" -ACYM_CLICKS_OUT_OF="%1$s clicks out of %2$s" -ACYM_ALL_MAILS="All mails" -ACYM_NEEDS_SYSTEM_PLUGIN="The system plugin %s must be activated for these options to work" -ACYM_SEND_CONF_REGACY="Send a confirmation email in addition to the site account creation email" -ACYM_DELETE_USER_OF_CMS_USER="Delete the user on site account deletion" -ACYM_CREATE_ACY_USER_FOR_CMS_USER="Create a user on site account creation" -ACYM_XX_INTEGRATION="%s integration" -ACYM_ICON_IMPORTED="The icon has been successfully imported" -ACYM_SELECT_NEW_ICON="Select a new icon" -ACYM_CUSTOM_SOCIAL_ICONS="Social icons" -ACYM_AUTOSAVE_USE="AcyMailing found recent unsaved modifications, do you want to use them?" -ACYM_AUTOSAVE_SUCCESS="Autosave success" -ACYM_AUTOSAVE_FAIL="Autosave failed" -ACYM_BOUNCE_WRONG_PORT="Are you sure you selected the right port? You can leave it empty if you do not know what to specify" -ACYM_NO_SUBSCRIPTION_LINKED_EMAIL="No subscription linked to this email" -ACYM_EMAIL_NOT_FOUND="Email not found" -ACYM_SPECIAL_CONTENT_WARNING="Special content like shortcodes, widgets and embeds are not displayed in the inserted content." -ACYM_CONTENT="Content" -ACYM_PAGE="Page" -ACYM_ARTICLE="Article" -ACYM_SET_ACTIONS_TARGETS="Set action targets" -ACYM_NUMBER_USERS_LIST="Number of users per list" -ACYM_TOSS="Toss" -ACYM_TOSS_DESC="The automation will have a one-in-two chance of being executed" -ACYM_ACYMAILING_USERS="AcyMailing users" -ACYM_EXACTLY="Exactly" -ACYM_THERE_IS="There is" -ACYM_NUMBER_OF_USERS="Number of users" -ACYM_FORMAT="Format" -ACYM_SEND_MAILS_MANUALLY="Send mails manually" -ACYM_MAIL_FROM_AUTOMATION_SENT_TO="Mail from automation will be sent to: " -ACYM_MAILS="Mails" -ACYM_BEFORE_DATE="%s before" -ACYM_AFTER_DATE="%s after" -ACYM_CONDITION_PURCHASED="Bought %1$s in %2$s" -ACYM_CONDITION_ECOMMERCE_REMINDER="Created an order with %1$s %2$s day(s) ago and status is %3$s" -ACYM_SELECT_TARGETS_ACTIONS="Select the targets of your actions" -ACYM_ACTIONS_TARGETS="Actions targets" -ACYM_YOU_DID_NOT_SET_CONDITION="You didn't set any condition for this automation" -ACYM_PLEASE_SET_CONDITION_OR_SAVE="Please set a condition or click on save & continue if you don't want conditions" -ACYM_CONDITION_ACY_CMS_FIELD_SUMMARY="Has his account field %1$s %2$s %3$s" -ACYM_IS_SUBSCRIBED="Is subscribed" -ACYM_IS_UNSUBSCRIBED="Is unsubscribed" -ACYM_IS_NOT_SUBSCRIBED="Is not subscribed" -ACYM_CONDITION_ACY_LIST_SUMMARY=" %1$s to the list %2$s" -ACYM_IS_NOT_IN="Is not in" -ACYM_IS_IN="Is in" -ACYM_CONDITION_ACY_GROUP_SUMMARY=" %1$s the group %2$s" -ACYM_CONDITION_ACY_FIELD_SUMMARY="Has the field %1$s %2$s %3$s" -ACYM_ONE_ACYMAILING_USER_CONDITION="the user" -ACYM_CONDITIONS_APPLY_TO="This automation will be executed if %s" -ACYM_ADD_CONDITION="Add condition" -ACYM_SELECT_CONDITION="Select condition" -ACYM_EXECUTE_CONDITIONS_ON_ALL_USERS="Execute conditions on all users" -ACYM_EXECUTE_CONDITIONS_ON_ONE_USERS="Execute conditions on the user triggering the automation" -ACYM_SELECT_YOUR_CONDITIONS="Select your conditions" -ACYM_CONDITIONS="Conditions" -ACYM_BOUGHT="Bought" -ACYM_AT_LEAST_ONE_PRODUCT="At least one product" -ACYM_ANY_CATEGORY="Any category" -ACYM_ANY_PAYMENT_METHOD="Any payment method" -ACYM_PURCHASED="Purchased a product" -ACYM_ORDER_WITH_STATUS="Placed an order %1$s days ago and the order status is currently %2$s" -ACYM_REMINDER="Reminder" -ACYM_COMBINED_TRANSLATIONS="%1$s - %2$s" -ACYM_MARGIN_TOP_CONTENT="Margin top of the content" -ACYM_CHOOSE_COLUMN="Choose a column" -ACYM_REDO_MIGRATION="V5 data migration" -ACYM_DISPLAY_GIF="Here are some gifs to wait" -ACYM_MORE_TEMPLATES="Click here to download more templates" -ACYM_FRONT_ARCHIVE_NOT_CONNECTED="You are not connected. The newsletter may include some user information, so they may not be displayed correctly." -ACYM_NUMBER_CAMPAIGNS_TO_DISPLAY="Number of campaigns to display" -ACYM_ZERO_ALL="Keep 0 if you want to display all campaigns" -ACYM_CLEAR="Clear" -ACYM_ACCEPT_TERMS="Please check the Terms and Conditions / Privacy policy" -ACYM_I_AGREE_BOTH="I agree with the %1$s and the %2$s" -ACYM_I_AGREE_TERMS="I agree with the %s" -ACYM_I_AGREE_PRIVACY="I agree with the %s" -ACYM_SELECT_AN_ARTICLE="Select an article" -ACYM_TERMS_CONDITIONS="Terms and conditions" -ACYM_PRIVACY_POLICY="Privacy policy" -ACYM_DISPLAY_ARTICLE_POPUP="Display the article(s) in a popup" -ACYM_FORM_CLASS="Form CSS class" -ACYM_FORM_CLASS_DESC="A CSS class added to the subscription form. This allows individual form styling" -ACYM_ALIGNMENT_DESC="This option enables you to align the text inside the subscription form" -ACYM_RIGHT="Right" -ACYM_LEFT="Left" -ACYM_CENTER="Center" -ACYM_SUBSCRIBE_TEXT_LOGGED_IN="Subscribe button text for logged in users" -ACYM_SUBSCRIBE_TEXT_LOGGED_IN_DESC="Text displayed on the subscribe button when the user is logged in" -ACYM_CHECKED_LISTS="Lists checked by default" -ACYM_CHECKED_LISTS_DESC="The selected lists will be checked by default on the subscription form if they are visible" -ACYM_LIST_POSITION="Display the lists" -ACYM_BEFORE_FIELDS="Before the fields" -ACYM_AFTER_FIELDS="After the fields" -ACYM_REDIRECT_LINK_UNSUB="Redirection after unsubscription" -ACYM_REDIRECT_LINK_UNSUB_DESC="The user will be redirected to this URL after clicking the unsubscribe button" -ACYM_DISCOUNT_CODE="Discount code" -ACYM_DETAILS="Details" -ACYM_CATEGORIES="Categories" -ACYM_SHORT_DESCRIPTION="Short description" -ACYM_OVERWRITE_EXISTING="Overwrite existing user's information" -ACYM_EXCEL_SECURITY="Excel security" -ACYM_EXCEL_SECURITY_DESC="If this option is active, values starting with a =, +, - or @ will be prefixed by a tab to avoid any CSV injection when opening the exported file with Excel.
                      Make sure the tab is automatically removed or turn Off this option if you import the file somewhere else than AcyMailing" -ACYM_WARNING_STYLESHEET_NOT_CORRECT="Some CSS code is not compatible with all the editors, prefer using th.your_class rather than th[class="_QQ_"your_class"_QQ_"]" -ACYM_ERROR_COPYING_FOLDER_TO="Error copying folder from %1$s to %2$s" -ACYM_BROWSE_FILE="Can't find file" -ACYM_TEMPLATE_THUMBNAIL_IMPORT="if you want a thumbnail in the listing" -ACYM_TEMPLATE_IMAGES_IMPORT="all your images" -ACYM_TEMPLATE_CSS_IMPORT="your css files (*.css)" -ACYM_TEMPLATE_HTML_IMPORT="your html code" -ACYM_TEMLPATE_ZIP_IMPORT="template.zip" -ACYM_IMPORT_INFO="If you want to import your template please upload a zip with this structure: " -ACYM_ERROR_UPLOADING_FILE_X="Error Uploading file: %s" -ACYM_COULD_NOT_COPY_FILE_X_TO_X="Could not copy the file %1$s to %2$s" -ACYM_COULD_NOT_UPLOAD_FILE_PERMISSION="Couldn't upload file, check permissions for the folder %s" -ACYM_FILE_REJECTED_SAFETY_REASON="The file has been rejected for safety reason" -ACYM_COULD_NOT_MOVE_FILE="Could not move the file" -ACYM_COULD_NOT_FIND_FILE_SOURCE_PERMISSION="Could not find source file, check permissions: %s" -ACYM_FAILED_DELETE="Failed to delete %s" -ACYM_COULD_NOT_MOVE_FOLDER_PERMISSION="Could not move folder %1$s to %2$s, check permissions" -ACYM_COPY_FILE_FAILED_PERMISSION="Copy file %s failed, check permissions" -ACYM_CANNOT_OPEN_SOURCE_FOLDER="Cannot open source folder" -ACYM_CANNOT_CREATE_DESTINATION_FOLDER="Cannot create destination folder" -ACYM_FOLDER_ALREADY_EXIST="Folder %s already exists" -ACYM_FOLDER_DOES_NOT_EXIST="Folder %s does not exist" -ACYM_IS_NOT_A_FOLDER="%s is not a folder" -ACYM_IS_NOT_A_FILE="%s is not a file" -ACYM_COULD_NOT_DELETE_FOLDER="Could not delete folder %s" -ACYM_MENU_ARCHIVE="Newsletters archive" -ACYM_MENU_ARCHIVE_DESC="Show the sent newsletters" -ACYM_WIDGET_ARCHIVE_CHOICE="Display" -ACYM_LAST_X_NEWSLETTERS="Last %s newsletters" -ACYM_DUPLICATE="Duplicate" -ACYM_SENT_WITH_AUTOMATION="Sent with automation" -ACYM_AUTOMATED_TASKS="Automated tasks" -ACYM_DAILY_TASKS="Execute daily tasks at %1$s : %2$s" -ACYM_ERROR="An error occurred" -ACYM_UNKNOWN_OPERATOR="Unknown operator: %s" -ACYM_SELECT_ACTIONS="Please select actions" -ACYM_SELECT_FILTERS="Please select filters" -ACYM_SELECT_A_LIST="Select a list" -ACYM_SELECT_A_MAIL="Select a mail" -ACYM_PLEASE_SET_ACTIONS="Please set at least one action" -ACYM_WHEN_USER_SUBSCRIBES="When the user subscribes" -ACYM_CREATE_MAIL="Create new mail" -ACYM_VIEW_ALL_AUTOMATIONS="View all automations" -ACYM_DATE_AUTOMATION_INPUT="Please format the date like 21/12/2010 your format is %s" -ACYM_ACTION_LIST_SUB="%s users subscribed" -ACYM_ACTION_LIST_REMOVE="%s user subscriptions removed" -ACYM_ACTION_LIST_UNSUB="%s users unsubscribed" -ACYM_AUTOMATION_NOT_FOUND="Automation not found" -ACYM_EMAILS_REMOVED_QUEUE="%s emails removed from the queue" -ACYM_EMAILS_ADDED_QUEUE="%s emails added to the queue" -ACYM_UPDATED_USERS="%s users updated" -ACYM_ACTION_DELETE="deleted" -ACYM_ACTION_ACTIVE="activated" -ACYM_ACTION_BLOCK="blocked" -ACYM_ACTION_UNCONFIRM="unconfirmed" -ACYM_ACTION_CONFIRM="confirmed" -ACYM_X_USERS_X="%1$s users %2$s" -ACYM_NOT_SUBSCRIBED="not subscribed" -ACYM_MASS_ACTION="Mass action" -ACYM_REMOVE_FROM="removed from" -ACYM_SUBSCRIBED_TO="subscribed to" -ACYM_UNSUBSCRIBE_FROM="unsubscribed from" -ACYM_ACTION_LIST_SUMMARY="Will be %1$s the list %2$s" -ACYM_ACTION_REMOVE_QUEUE_SUMMARY="Will not receive the mail %s" -ACYM_ACTION_ADD_QUEUE_SUMMARY="Will receive the mail %1$s on the %2$s" -ACYM_ACTION_USER_VALUE_SUMMARY="Will have the field %1$s %2$s %3$s" -ACYM_WILL_DELETE="Will be deleted" -ACYM_WILL_BLOCK="Will be blocked" -ACYM_WILL_ACTIVE="Will be activated" -ACYM_WILL_UNCONFIRM="Will be unconfirmed" -ACYM_WILL_CONFIRM="Will be confirmed" -ACYM_ACTIONS_USER_WILL="The users selected by this %s " -ACYM_FILTER_ACY_CMS_FIELD_SUMMARY="With the account field %1$s %2$s %3$s" -ACYM_FILTER_ACY_GROUP_SUBGROUP_SUMMARY="including sub groups" -ACYM_FILTER_ACY_GROUP_SUMMARY=" %1$s the group %2$s" -ACYM_WHERE_DATE_MAX_ACY_LIST_SUMMARY=" is lower than %s" -ACYM_WHERE_DATE_MIN_ACY_LIST_SUMMARY=" is higher than %s" -ACYM_WHERE_DATE_ACY_LIST_SUMMARY=" where the %1$s" -ACYM_FILTER_ACY_LIST_SUMMARY=" %1$s to the list %2$s" -ACYM_ONE_ACYMAILING_USER="one AcyMailing user" -ACYM_ALL_ACYMAILING_USERS="all AcyMailing users" -ACYM_FILTERS_APPLY_TO="This %1$s will be applied to %2$s" -ACYM_FILTER_ACY_FIELD_SUMMARY="With the field %1$s %2$s %3$s" -ACYM_TRIGGERS="Triggers" -ACYM_AUTOMATION_TRIGGER="The automation will be triggered:" -ACYM_TRIGGER_EVERY_SUMMARY="Every %1$s %2$s" -ACYM_TRIGGER_ON_DAY_MONTH_SUMMARY="On the %1$s %2$s of each month" -ACYM_TRIGGER_WEEKS_ON_SUMMARY="Every weeks on %s" -ACYM_TRIGGER_DAY_SUMMARY="Every day at %1$s:%2$s" -ACYM_SELECTED_USERS_TOTAL="Total: %s AcyMailing users match these conditions" -ACYM_SELECTED_USERS="%s AcyMailing users match this condition" -ACYM_BEGINS_WITH="Begins with" -ACYM_ENDS_WITH="Ends with" -ACYM_CONTAINS="Contains" -ACYM_NOT_CONTAINS="Does not contain" -ACYM_NAME_SUMMARY="Name" -ACYM_ACTIVE_AUTOMATION="Active automation" -ACYM_PROCESS_MASS_ACTION="Process mass action" -ACYM_EVERY="Every" -ACYM_ONTHE="On the" -ACYM_FIRST="First" -ACYM_SECOND="Second" -ACYM_THIRD="Third" -ACYM_LAST="Last" -ACYM_DAYOFMONTH="of the month" -ACYM_AFTER="After" -ACYM_BEFORE="Before" -ACYM_HOUR="Hour" -ACYM_SPECIFIC_DATE="Specific date" -ACYM_RELATIVE_DATE="Relative date" -ACYM_ADD_AT_BEGINNING="Add at the beginning" -ACYM_ADD_AT_END="Add at the end" -ACYM_ACTIVE_USER="Activate user" -ACYM_UNCONFIRM_USER="Unconfirm user" -ACYM_CONFIRM_USER="Confirm user subscription" -ACYM_REMOVE_EMAIL_QUEUE="Remove an email from the queue" -ACYM_ADD_EMAIL_QUEUE="Add an email to the queue" -ACYM_SET_USER_VALUE="Set user value" -ACYM_ACTION_ON_USERS="Action on user" -ACYM_UNSUBSCRIBE_USERS_TO="Unsubscribe users from" -ACYM_REMOVE_USERS_FROM="Remove users from" -ACYM_SUBSCRIBE_USERS_TO="Subscribe users to" -ACYM_ADD_ACTION="Add action" -ACYM_SELECT_YOUR_ACTIONS="Select the actions" -ACYM_EVERY_DAY_AT="Every day at" -ACYM_EVERY_WEEK_ON="Every week on" -ACYM_PLEASE_SELECT_ONE_TRIGGER="Please select at least one trigger" -ACYM_UNSUBSCRIPTION_DATE="Unsubscription date" -ACYM_IN="In" -ACYM_NOT_IN="Not in" -ACYM_INCLUDE_SUB_GROUPS="Include sub-groups" -ACYM_ACCOUNT_USER_FIELD="Site account user field" -ACYM_GROUP="Group" -ACYM_EXECUTE_ACTIONS_ON_ONE_USERS="Execute actions on the user triggering the automation" -ACYM_EXECUTE_ACTIONS_ON_ALL_USERS="Execute actions on all users" -ACYM_AND="And" -ACYM_ACYMAILING_FIELD="AcyMailing field" -ACYM_OR="Or" -ACYM_ADD_FILTER="Add filter" -ACYM_NO_SUBSCRIPTION_STATUS="No subscription status" -ACYM_ACYMAILING_LIST="AcyMailing list" -ACYM_SELECT_FILTER="Select filter" -ACYM_NEW_AUTOMATION="New automation" -ACYM_NEW_MASS_ACTION="New mass actions" -ACYM_ACTIONS="Actions" -ACYM_THURSDAY="Thursday" -ACYM_WHEN_USER_OPEN_MAIL="When a user opens an email" -ACYM_WHEN_USER_CLICKS_MAIL="When a user clicks on a link in an email" -ACYM_ON_USER_MODIFICATION="On user modification" -ACYM_ON_USER_CREATION="On user creation" -ACYM_ALL_TRIGGER="All triggers" -ACYM_DRAG_YOUR_TRIGGERS="Drag the triggers here" -ACYM_INFORMATION="Information" -ACYM_CLASSIC_TRIGGER="Classic trigger" -ACYM_TRIGGER_BASED_ON_USER_ACTIONS="Trigger based on user actions" -ACYM_DESCRIPTION="Description" -ACYM_IMPORT_SUBSCRIPTION="%s subscriptions have been inserted" -ACYM_LAST_CHECK="Last check:" -ACYM_ATTACH_LICENCE="This website is not assigned to any licence" -ACYM_SUBSCRIPTION_EXPIRED="Your licence has expired" -ACYM_SUBSCRIPTION_EXPIRED_LINK="Click to renew it!" -ACYM_VALID_UNTIL="Valid Until: %s" -ACYM_NEW="New" -ACYM_UP_TO_DATE="You are up to date" -ACYM_CHECK_MY_VERSION="Check my version" -ACYM_BOUNCE_HANDLING="Bounce handling" -ACYM_CONNECTION_METHOD="Connection method" -ACYM_SELF_SIGNED_CERTIFICATE="Self-signed certificate" -ACYM_CONNECTION_TIMEOUT_SECOND="Connection timeout (seconds)" -ACYM_MAX_NUMBER_EMAILS="Maximum number of e-mails" -ACYM_ENABLE_AUTO_BOUNCE="Enable the automatic bounce handling" -ACYM_FREQUENCY="Frequency" -ACYM_NEXT_RUN_TIME="Next run time" -ACYM_BOUNCES="Bounces" -ACYM_BOUNCES_RULES="Bounce rules" -ACYM_ACTION_ON_USER="Action on the user" -ACYM_FORWARD_EMAIL="Forward the message to" -ACYM_BOUNCE_CONNECT_SUCC="Successfully connected to %s" -ACYM_NB_MAIL_MAILBOX="There are %s messages in your mailbox" -ACYM_BOUNCE_RULE="Rule" -ACYM_CLICK_BOUNCE="Handle the messages now" -ACYM_EXECUTE_REGEX_ON="Execute the regex on" -ACYM_INCREMENT_BOUNCE_STATISTICS_IF_RULE_MATCHES="Increment the bounce statistics if the rule matches" -ACYM_ENABLED="Enabled" -ACYM_BODY="Body" -ACYM_GLOBAL_INFORMATION="Global information" -ACYM_REGEX="Regex" -ACYM_EXECUTE_ACTIONS_AFTER="Execute the following actions only after receiving %s bounce messages from this user" -ACYM_ACTION_ON_EMAIL="Action on the email" -ACYM_DELETE_USER_SUBSCRITION="Delete the user subscription" -ACYM_UNSUBSCRIBE_USER="Unsubscribe the user" -ACYM_SUBSCRIBE_USER_TO="Subscribe the user" -ACYM_EMPTY_QUEUE_USER="Empty the queue for the user" -ACYM_SAVE_MESSAGE_DATABASE="Save message in database" -ACYM_DELETE_MESSAGE_FROM_MAILBOX="Delete the message from your mailbox" -ACYM_ACTION_REQUIRED="Action required" -ACYM_ACKNOWLEDGMENT_RECEIPT_SUBJECT="Acknowledgement of receipt - in subject" -ACYM_FEEDBACK_LOOP="Feedback loop" -ACYM_FEEDBACK_LOOP_BODY="Feedback loop - in body" -ACYM_MAILBOX_FULL="Mailbox Full" -ACYM_BLOCKED_GOOGLE_GROUPS="Blocked by Google Groups" -ACYM_MAILBOX_DOESNT_EXIST_1="Mailbox does not exist 1" -ACYM_MESSAGE_BLOCKED_RECIPIENTS="Message blocked by recipient filters" -ACYM_MAILBOX_DOESNT_EXIST_2="Mailbox does not exist 2" -ACYM_DOMAIN_NOT_EXIST="Domain does not exist" -ACYM_TEMPORARY_FAILURES="Temporary failures" -ACYM_FAILED_PERM="Failed Permanently" -ACYM_ACKNOWLEDGMENT_RECEIPT_BODY="Acknowledgement of receipt - in body" -ACYM_FINAL_RULE="Final Rule" -ACYM_RESET_DEFAULT_RULES="Reset to default rules" -ACYM_RUN_BOUNCE_HANDLING="Run bounce handling" -ACYM_CONFIGURE="Configure" -ACYM_NO_RULES="Please create a rule to process the bounce handling" -ACYM_CANT_DELETE_AND_SAVE="You can't delete a user and save the mail in the same rule" -ACYM_BOUNCE_RATE="Bounce rate" -ACYM_BOUNCE_RECEIVED="AcyMailing received %1$s messages from the user %2$s" -ACYM_BOUNCE_MIN_EXEC="Actions will be executed after %s messages" -ACYM_SUCC_DELETE_ELEMENTS="Successfully deleted %s record(s)" -ACYM_MESSAGE_DELETED="Message deleted" -ACYM_CLICK_HANDLE_ALL_BOUNCES="Click here to handle all messages until your mailbox is empty" -ACYM_CONFIGURE_BOUNCE="Please configure the bounce handling from the configuration page first" -ACYM_ERROR_CONNECTING="Error connecting to %s" -ACYM_ERROR_LOGIN="Identication error %s" -ACYM_ERROR_UPLOAD_ATTACHMENT="Error uploading the attachment %1$s: %2$s" -ACYM_USER_X_DELETED="User %s deleted" -ACYM_USER_X_SUBSCRIBED_TO="User %1$s subscribed to %2$s" -ACYM_USER_X_NOT_SUBSCRIBED_TO="User %1$s not subscribed to %2$s: " -ACYM_USER_ALREADY_SUBSCRIBED="User already subscribed" -ACYM_USER_ALREADY_UNSUBSCRIBED="User already unsubscribed" -ACYM_USER_X_REMOVED_FROM="User %1$s removed from lists %2$s" -ACYM_USER_X_NOT_SUBSCRIBED="User %s not subscribed" -ACYM_USER_X_UNSUBSCRIBED_FROM="User %1$s unsubscribed from lists %2$s" -ACYM_USER_X_BLOCKED="User %s blocked" -ACYM_USER_X_QUEUE="User %1$s queue: %2$s" -ACYM_BOUNCE_NOT_FORWARD="The forward e-mail address is the same as the bounce one... AcyMailing will not forward the message" -ACYM_BOUNCE_MESSAGE_SAVED="Message saved (user %s)" -ACYM_FORWARDED_TO_X="Forwarded to %s" -ACYM_NOT_FORWARDED_TO_X="Couldn't forward to %1$s: %2$s" -ACYM_STYLESHEET_HTML_DESC="If you add some CSS style you will have to save to see the modifications. Note that not all editors allow you to load custom CSS" -ACYM_NO_JAVASCRIPT="Please enable the javascript to submit this form" -ACYM_DEFAULT_REQUIRED_MESSAGE="Please fill in the field %s" -ACYM_PLEASE_CONFIRM_SUBSCRIPTION="Please confirm your subscription" -ACYM_CONFIRM_MESSAGE="You've subscribed to our newsletters from our website" -ACYM_CONFIRM_MESSAGE_ACTIVATE="We need you to activate your subscription by clicking the link below:" -ACYM_FILE_UPLOAD_ERROR_1="The uploaded file exceeds the upload_max_filesize directive in php configuration." -ACYM_FILE_UPLOAD_ERROR_2="The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form." -ACYM_FILE_UPLOAD_ERROR_3="The uploaded file was only partially uploaded." -ACYM_FILE_UPLOAD_ERROR_4="No file was uploaded." -ACYM_FILE_UPLOAD_ERROR_5="Error uploading the file on the server, unknown error %s." -ACYM_FILE_UPLOAD_ERROR_6="Can not upload the file, please make sure file_uploads is enabled on your php.ini file." -ACYM_FILE_UPLOAD_ERROR_7="Error uploading the file from %1$s to %2$s" -ACYM_FILE_UPLOAD_ERROR_8="File %s deleted from the template pack." -ACYM_FILE_UPLOAD_ERROR_9="Error extracting the file %1$s to %2$s." -ACYM_FILE_UPLOAD_ERROR_10="Error installing template." -ACYM_TEMPLATES_INSTALL="%s Templates Installed" -ACYM_IMPORT="Import" -ACYM_JPAGETITLE="%1$s - %2$s" -ACYM_EXPORT_BOTH="Export both" -ACYM_USER_CMSID="User account ID" -ACYM_USER_ACTIVE="User active status" -ACYM_ACTIVE="Active" -ACYM_APRIL="April" -ACYM_AUGUST="August" -ACYM_ADD_SUBSCRIBERS="Add subscribers" -ACYM_ADD_TAGS="Add tags" -ACYM_ADD_TO_LIST="Add to list" -ACYM_ALL="All" -ACYM_ALL_TAGS="All tags" -ACYM_AUTOMATION="Automation" -ACYM_BOUNCE_EMAIL="Bounce email address" -ACYM_BOUNCE_EMAIL_PLACEHOLDER="no-reply@example.com" -ACYM_CAMPAIGN="Campaign" -ACYM_CAMPAIGNS="Campaigns" -ACYM_CANCEL="Cancel" -ACYM_CANCEL_SCHEDULING="Cancel Scheduling" -ACYM_CAPTCHA_INVISIBLE="Invisible reCaptcha" -ACYM_CHECK_DB="Check database integrity" -ACYM_CLICK="Click" -ACYM_COLOR="Color" -ACYM_COMMA="Comma (,)" -ACYM_CONFIGURATION="Configuration" -ACYM_CONFIGURATION_ADVANCED="Advanced configuration" -ACYM_CONFIGURATION_CAPTCHA="Captcha" -ACYM_CONFIGURATION_CHARSET="Charset" -ACYM_CONFIGURATION_DB_MAINTENANCE="Database maintenance" -ACYM_CONFIGURATION_DKIM="DKIM" -ACYM_CONFIGURATION_EMBED_ATTACHMENTS="Embed attachments" -ACYM_CONFIGURATION_EMBED_IMAGES="Embed images" -ACYM_CONFIGURATION_ENCODING="Encoding format" -ACYM_CONFIGURATION_HTTPS="Use https" -ACYM_CONFIGURATION_QUEUE="Queue process" -ACYM_CONFIGURATION_QUEUE_AUTOMATIC="Automatic only" -ACYM_CONFIGURATION_QUEUE_AUTOMAN="Automatic / Manual" -ACYM_CONFIGURATION_QUEUE_MANUAL="Manual only" -ACYM_CONFIGURATION_QUEUE_PROCESSING="Queue processing" -ACYM_CONFIGURATION_LANGUAGES="Languages" -ACYM_CONFIGURATION_MAIL="Mail settings" -ACYM_CONFIGURATION_MAIL_DESCRIPTION="How do you want to send your emails?" -ACYM_CONFIGURATION_MULTIPART="Multiple parts" -ACYM_CONFIGURATION_SECURITY="Security" -ACYM_CONFIGURATION_SUBSCRIPTION="Subscription" -ACYM_CONFIRMED="Confirmed" -ACYM_CREATE_NEW_CAMPAIGN="Create new campaign" -ACYM_CREATE_NEW_LIST="Create new list" -ACYM_CREATE_SEGMENT="Create segment" -ACYM_CREATE_TEMPLATE="Create new template" -ACYM_CREATE_AUTOMATION="Create automation" -ACYM_DASHBOARD="Dashboard" -ACYM_DATE_CREATED="Creation date" -ACYM_DECEMBER="December" -ACYM_DEFAULT_SENDER="Default sender information" -ACYM_DELETE="Delete" -ACYM_DELETE_USER="Delete user" -ACYM_DRAFT="Draft" -ACYM_EMAIL="Email" -ACYM_ERROR_SAVING="Error saving" -ACYM_EXPORT="Export" -ACYM_EXPORT_USERS="Export users" -ACYM_FAIL_SAVE_FILE="Couldn't save the file %s" -ACYM_FEBRUARY="February" -ACYM_FRIDAY="Friday" -ACYM_FROM_AS_REPLYTO="Use same settings for REPLY-TO" -ACYM_FROM_EMAIL="From email" -ACYM_FROM_EMAIL_PLACEHOLDER="sender@example.com" -ACYM_FROM_NAME="From name" -ACYM_FROM_NAME_PLACEHOLDER="Company name, your name etc." -ACYM_IMPORT_USERS="Import users" -ACYM_INACTIVE="Inactive" -ACYM_JANUARY="January" -ACYM_JULY="July" -ACYM_JUNE="June" -ACYM_LIBRARY="Library" -ACYM_LIST="List" -ACYM_LISTS="Lists" -ACYM_MY_TEMPLATES="My Templates" -ACYM_LIST_DOESNT_EXIST="The list doesn't exist" -ACYM_LIST_ID="List ID" -ACYM_LIST_IS_SAVED="The list %s is saved" -ACYM_LIST_NAME="List name" -ACYM_MARCH="March" -ACYM_MAY="May" -ACYM_MONDAY="Monday" -ACYM_NAME="Name" -ACYM_NO="No" -ACYM_NO_LIST_SELECTED="No list selected" -ACYM_NOT_ALLOWED_FIELDS="The field(s) %1$s are not in the allowed fields: %2$s" -ACYM_NOVEMBER="November" -ACYM_OCTOBER="October" -ACYM_OPEN="Open" -ACYM_PENDING="Pending" -ACYM_RECIPIENTS="Recipients" -ACYM_REPLYTO_EMAIL="Reply-to email" -ACYM_REPLYTO_EMAIL_PLACEHOLDER="contact@example.com" -ACYM_REPLYTO_NAME="Reply-to name" -ACYM_REPLYTO_NAME_PLACEHOLDER="Company name, your name etc." -ACYM_SAVE_CONTINUE="Save & continue" -ACYM_SAVE_EXIT="Save & exit" -ACYM_SCHEDULED="Scheduled" -ACYM_SEARCH="Search..." -ACYM_SEARCH_AUTOMATION="Search an automation..." -ACYM_SEARCH_A_CAMPAIGN_NAME="Search a campaign name..." -ACYM_SEARCH_A_LIST_NAME="Search a list name..." -ACYM_SEARCH_CAMPAIGN="Search a campaign..." -ACYM_SEARCH_TEMPLATE="Search a template..." -ACYM_SEARCH_USER="Search a user..." -ACYM_SEMICOLON="Semicolon (;)" -ACYM_SENDING="Sending" -ACYM_SENT="Sent" -ACYM_SEPTEMBER="September" -ACYM_SMTP="SMTP Server" -ACYM_SORT_BY="Sort by:" -ACYM_STATISTICS="Statistics" -ACYM_STATUS="Status" -ACYM_SUBSCRIBERS="Subscribers" -ACYM_SUBSCRIPTION_DATE="Subscription date" -ACYM_SUCCESSFULLY_SAVED="Successfully saved" -ACYM_TAGS="Tags" -ACYM_TEMPLATE_NAME="Template name" -ACYM_TEMPLATES="Templates" -ACYM_TUESDAY="Tuesday" -ACYM_SUBSCRIBED="Subscribed" -ACYM_SUBSCRIBE="Subscribe" -ACYM_UNSUBSCRIBE="Unsubscribe" -ACYM_UNSUBSCRIBED="Unsubscribed" -ACYM_USER="User" -ACYM_USERS="Users" -ACYM_YES="Yes" -ACYM_LIST_MAIL_SELECT="If you want your users to receive a specific email when they %s, select one below." -ACYM_WELCOME_MAIL="Welcome email" -ACYM_UNSUBSCRIBE_MAIL="Unsubscribe email" -ACYM_OPTIONAL="Optional" -ACYM_NO_TEMPLATE="There is no %s template." -ACYM_ERROR_SAVING_LIST_TEMPLATE="Error saving the template for the list" -ACYM_CAMPAIGN_SENT_TO="Campaign will be sent to a total of:" -ACYM_CHOOSE_LISTS="Choose lists" -ACYM_SHOW_ALL_LISTS="Show all lists" -ACYM_SHOW_SELECTED_LISTS="Show only selected lists" -ACYM_NEW_LIST="New list" -ACYM_NEW_USER="New user" -ACYM_CREATE="Create" -ACYM_SATURDAY="Saturday" -ACYM_STANDARD="Standard" -ACYM_SUNDAY="Sunday" -ACYM_WEDNESDAY="Wednesday" -ACYM_CREATE_EMPTY_TEMPLATE="Create empty template" -ACYM_START_FROM="Start from" -ACYM_SENDING_DATE="Sending date" -ACYM_CAMPAIGN_CANT_BE_SAVED="The campaign couldn't be saved" -ACYM_TYPE="Type" -ACYM_ATTACHMENTS="Attachments" -ACYM_SEND_SETTINGS="Send settings" -ACYM_THIS_CAMPAIGN_WILL_BE_SENT="This campaign will be sent" -ACYM_SAVE_AS_DRAFT="Save as draft" -ACYM_CONFIRM_CAMPAIGN="Confirm campaign" -ACYM_NOW="Now" -ACYM_CAMPAIGN_SUCCESSFULLY_SAVE_AS_DRAFT="The campaign was succesfully saved as draft" -ACYM_CANT_GET_CAMPAIGN_INFORMATION="The campaign information are not available" -ACYM_EDIT="Edit" -ACYM_EDIT_TEMPLATE="Edit template" -ACYM_CAMPAIGN_WILL_BE_SENT_TO_A_TOTAL_OF="Campaign will be sent to a total of %s recipients" -ACYM_THIS_CAMPAIGN_WILL_BE_SENT_ON_AT="This campaign will be sent on %1$s at %2$s" -ACYM_BACK="Back" -ACYM_NEW_CAMPAIGN="New campaign" -ACYM_MAIN_OPTIONS="Main options" -ACYM_TITLE="Title" -ACYM_DISPLAYED_LISTS="Displayed lists" -ACYM_AUTO_SUBSCRIBE_TO="Automatically subscribe to" -ACYM_TEXT_MODE="Display text mode" -ACYM_TEXT_INSIDE="Inside" -ACYM_TEXT_OUTSIDE="Outside" -ACYM_SUBSCRIBE_TEXT="Subscribe button text" -ACYM_UNSUBSCRIBE_TEXT="Unsubscribe button text" -ACYM_DISPLAY_MODE="Display mode" -ACYM_MODE_HORIZONTAL="Horizontal" -ACYM_MODE_VERTICAL="Vertical" -ACYM_MODE_TABLELESS="Tableless" -ACYM_ADVANCED_OPTIONS="Advanced options" -ACYM_DISPLAY_UNSUB_BUTTON="Unsubscribe button" -ACYM_INTRO_TEXT="Intro text" -ACYM_POST_TEXT="Post text" -ACYM_FORM_AUTOFILL_ID="Display user information if logged in" -ACYM_SOURCE="Source" -ACYM_REDIRECT_LINK="Redirect link" -ACYM_MISSING_NAME="Please enter your name" -ACYM_VALID_EMAIL="Please enter a valid e-mail address" -ACYM_WRONG_CAPTCHA="The captcha is invalid, please try again" -ACYM_SELECT_LIST="Please select the lists you want to subscribe to" -ACYM_SECURITY_KEY="Security key" -ACYM_LOGIN="Please log in" -ACYM_EMAIL_VERIFICATION="Advanced email verification" -ACYM_CHECK_DOMAIN_EXISTS="Check if the domain exists" -ACYM_ERROR_SAVE_USER="Could not save the user" -ACYM_CONFIRMATION_SENT="An e-mail has been sent to confirm your subscription" -ACYM_SUBSCRIPTION_OK="You have successfully subscribed" -ACYM_UNSUBSCRIPTION_OK="You have successfully unsubscribed" -ACYM_ALREADY_SUBSCRIBED="You are already subscribed" -ACYM_NOT_IN_LIST="The e-mail address %s is not in the list of users" -ACYM_UNSUBSCRIPTION_NOT_IN_LIST="You were not subscribed" -ACYM_SITE_KEY="Google site key" -ACYM_SECRET_KEY="Google secret key" -ACYM_HELP="Help" -ACYM_DISPLAYED_LISTS_DESC="The selected lists will be added on the subscription form to let the users opt-in (if they are not selected as automatically subscribed)." -ACYM_AUTO_SUBSCRIBE_TO_DESC="The user will be automatically subscribed to the selected lists. They won't be displayed on your subscription form." -ACYM_TEXT_MODE_DESC="Display the labels inside or outside the fields?" -ACYM_SUBSCRIBE_TEXT_DESC="Text displayed on the subscribe button. You can use a custom translation key for it (create it in the acym configuration page, tab Languages)" -ACYM_DISPLAY_MODE_DESC="Select whether you want to display the form horizontally, vertically or without table (recommended)" -ACYM_UNSUBSCRIBE_TEXT_DESC="Text displayed on the subscribe button. You can use a custom translation key for it (create it in the acym configuration page, tab Languages)" -ACYM_INTRO_TEXT_DESC="This text will be displayed before the subscription form inside a div with the class 'acym_introtext'" -ACYM_POST_TEXT_DESC="This text will be displayed after the subscription form inside a div with the class 'acym_posttext'" -ACYM_FORM_AUTOFILL_ID_DESC="Do you want the logged in users to be automatically identified in the module?" -ACYM_SOURCE_DESC="The source indicates from where your subscribers came from. You will be able to filter them afterwards based on if they came from a subscription form, an imported file, an account creation..." -ACYM_REDIRECT_LINK_DESC="The user will be redirected to this URL after subscribing. If no URL is specified, the form is refreshed using ajax." -ACYM_SUCCESSFULLY_UNSUBSCRIBED="Succesfully unsubscribed" -ACYM_ERROR_DURING_UNSUBSCRIBE="Error during unsubscribe" -ACYM_LIST_SETTINGS="List settings" -ACYM_SAVE="Save" -ACYM_BACK_TO_LISTING="Back to listing" -ACYM_ENABLE="Enable" -ACYM_DISABLE="Disable" -ACYM_CHOOSE_ACTION="Choose an action" -ACYM_STOP_THE_SCHEDULING_AND_SET_CAMPAIGN_AS_DRAFT="Stop the scheduling and set campaign as draft" -ACYM_SENDER_INFORMATION="Sender information" -ACYM_BCC="BCC" -ACYM_WHEN_EMAIL_WILL_BE_SENT="When do you want your email to be sent?" -ACYM_SUGGEST_BEST_TIME="Suggested send date (based on past data):" -ACYM_CHOOSE_THIS_DATE="Choose this date" -ACYM_SENT_AS_SOON_CAMPAIGN_SAVE="Your campaign will be sent as soon as you confirm it" -ACYM_CAMPAIGN_WILL_BE_SENT="This campaign will be sent at: " -ACYM_SUMMARY="Summary" -ACYM_THE_USER_HAS_BEEN_UNSUBSCRIBED="The user has been unsubscribed" -ACYM_THE_USER_CANT_BE_UNSUBSCRIBED="The user couldn't be unsubscribed" -ACYM_FAMILY="Family" -ACYM_SIZE="Size" -ACYM_STYLE="Style" -ACYM_DESIGN="Design" -ACYM_BACKGROUND_COLOR="Background color" -ACYM_BLOCKS="Blocks" -ACYM_CONTENTS="Contents" -ACYM_IMPORT="Import" -ACYM_CHOOSE_FILE_WITH_USER_DATA="Choose a CSV file with your user data" -ACYM_IMPORT_USER_FROM_FILE_INFORMATION_MESSAGE_BELOW_CHOOSE_FILE_BUTTON="Please make sure the contacts you import accepted to receive emails from you" -ACYM_PLEASE_BROWSE_FILE_IMPORT="Please browse for a file to import" -ACYM_FAIL_OPEN="Could not open the file %s" -ACYM_IGNORE="Ignore" -ACYM_IGNORE_UNASSIGNED="Ignore unassigned columns" -ACYM_CLICK_TO_EDIT="Click to edit" -ACYM_CONFIRM="Confirm" -ACYM_ADD_SUBSCRIPTION="Add subscription" -ACYM_RESUBSCRIBE="re-subscribe" -ACYM_SORT_ASC="Ascending sort (click for descending sort)" -ACYM_SORT_DESC="Descending sort (click for ascending sort)" -ACYM_DATE_FORMAT_LC1="l, j F Y" -ACYM_DATE_FORMAT_LC2="l, j F Y H:i" -ACYM_FAIL_UPLOAD="Could not upload the file %1$s to %2$s" -ACYM_WRITABLE_FOLDER="Please make sure the folder ( %s ) is writable" -ACYM_UPLOADED_FILE_NOT_FOUND="Uploaded file not found:" -ACYM_COLUMNS_NOT_FOUND="Columns not found" -ACYM_IMPORT_HEADER="The first line of your file (%s) must contain only columns of the acym_user table" -ACYM_IMPORT_EMAIL="You need at least the column email
                      Example: name,email" -ACYM_IMPORT_ARGUMENTS="You need %s arguments per line, one or more line(s) couldn't be imported" -ACYM_DOWNLOAD_IMPORT_ERRORS="Click here to download all lines containing errors" -ACYM_IMPORT_REPORT="%1$s users in the imported file:
                      - %2$s new users imported
                      - %3$s invalid lines or email addresses
                      - %4$s already existing users or duplicate entries" -ACYM_IMPORT_ERROR_FIELD="The column %1$s is not in the list of possible columns: %2$s" -ACYM_UPLOADED_FILE_EXCEED_MAX_FILESIZE_PHP="The uploaded file exceeds the upload_max_filesize directive in php configuration" -ACYM_FILE_UPLOADED_PARTIALLY="The uploaded file was only partially uploaded" -ACYM_NO_FILE_WAS_UPLOADED="No file was uploaded" -ACYM_UNKNOWN_ERROR_UPLOADING_FILE="Error uploading the file on the server, unknown error: %s" -ACYM_IMPORT_FROM_FILE="Import from file" -ACYM_IMPORT_FROM_TEXT="Import from text" -ACYM_CMS_USERS="%s users" -ACYM_IMPORT_UPDATE="%s AcyMailing users updated" -ACYM_IMPORT_DELETE="%s AcyMailing users deleted" -ACYM_IMPORT_NEW="%s new users imported" -ACYM_IMPORT_NB_WEBSITE_USERS="There are %s users on your website" -ACYM_IMPORT_NB_ACYM_USERS="There are %s registered users in AcyMailing" -ACYM_IMPORT_CMS_1="If you click on the 'import' button, the system will:" -ACYM_IMPORT_CMS_2="Update the AcyMailing users from your %s users" -ACYM_IMPORT_CMS_3="Delete the AcyMailing users if they were linked to a %s user that does not exist any more" -ACYM_IMPORT_CMS_4="Add all your %s users into AcyMailing if they are not already there" -ACYM_IMPORT_CMS_5="Subscribe all your %s users to the selected lists if they are not already subscribed or unsubscribed from it" -ACYM_FILES="Files" -ACYM_ALLOWED_FILES="Allowed files" -ACYM_EMPTY_TEXTAREA="Empty textarea" -ACYM_DATABASE="Database" -ACYM_SPECIFYTABLE="Please select a table name from your database" -ACYM_SPECIFYFIELDEMAIL="Please select a field for the email" -ACYM_SPECIFYFIELD="The field "_QQ_"%1$s"_QQ_" could not be found. Please specify a field from the table:
                      %2$s" -ACYM_SUBSCRIPTION="Subscription" -ACYM_REQUIRE_CONFIRMATION="Require confirmation" -ACYM_IMPORT_USERS_AS_CONFIRMED="Import the users as confirmed" -ACYM_PARAMETERS="Parameters" -ACYM_UNASSIGNED="Unassigned" -ACYM_IMPORT_THIS_FILE="Import this file" -ACYM_IMPORT_IN_THESE_LISTS="Import in these lists" -ACYM_REQUIRED_FIELD="Required field" -ACYM_DEFAULT_VALIDATION_ERROR="Please set a valid data" -ACYM_VALID_NUMBER="Please set a valid number" -ACYM_TEMPLATE_DESIGN="Template design" -ACYM_BORDER="Border" -ACYM_RADIUS="Radius" -ACYM_TEXT="Text" -ACYM_WIDTH="Width" -ACYM_HEIGHT="Height" -ACYM_MY_BUTTON="My button" -ACYM_BUTTON="Button" -ACYM_SPACE="Space" -ACYM_IMAGE="Image" -ACYM_VIDEO="Video" -ACYM_FOLLOW="Follow" -ACYM_SHARE="Share" -ACYM_EDIT_EMAIL="Edit email" -ACYM_CHOOSE_TEMPLATE="Choose template" -ACYM_CAMPAIGN_NOT_FOUND="Campaign not found" -ACYM_CAMPAIGN_NAME="Campaign name" -ACYM_EMAIL_SUBJECT="Email subject" -ACYM_APPLY="Apply" -ACYM_REMOVE="remove" -ACYM_SUBSCRIBE_TO="Subscribe to" -ACYM_X_CONFIRMATION_SUBSCRIPTION_ADDED_AND_CLICK_TO_SAVE="%s subscriptions added. Please click on the save button to confirm them." -ACYM_PLEASE_SELECT_LIST="Please select a list" -ACYM_SEND_EMPTY="There is no Subject or Body in this e-mail" -ACYM_SEND_ERROR="Error sending message %1$s to %2$s" -ACYM_SEND_SUCCESS="Message %1$s successfully sent to %2$s" -ACYM_SEND_ERROR_USER="User not found: %s" -ACYM_SEND_TEST="Send a test" -ACYM_TEST_EMAIL="If you receive this message, that means your configuration is Ok" -ACYM_OPENSSL="The PHP Extension openssl is not enabled on your server, this extension is required to use an SSL connection, please enable it" -ACYM_ADVICE_BOUNCE="The specified bounce e-mail address %s might cause the problem, please delete it (leave the field bounce address empty) and try again." -ACYM_ADVICE_SMTP_AUTH="You specified an SMTP password but you don't require an authentification, you might want to turn the SMTP authentication ON." -ACYM_ADVICE_LOCALHOST="Your local website may not have a mail server. Please make sure you can send e-mails with the site first (password request, registration confirmation...)." -ACYM_ADVICE_PORT="The port you specified (%s) is not a common port for smtp connexions... Please leave the port empty and give it a new try" -ACYM_ADD_NAMES="Add names" -ACYM_SPECIAL_CHARS="Accept special chars in email addresses" -ACYM_SENDMAIL_PATH="SendMail Path" -ACYM_SMTP_SERVER="Server" -ACYM_SMTP_PORT="Port" -ACYM_SMTP_SECURE="Secure method" -ACYM_SMTP_ALIVE="Keep Alive" -ACYM_SMTP_AUTHENTICATION="Authentication" -ACYM_SMTP_USERNAME="Username" -ACYM_SMTP_PASSWORD="Password" -ACYM_SMTP_AVAILABLE_PORTS="Which port can I use from my website?" -ACYM_SMTP_AVAILABLE_PORT="The port %s is available." -ACYM_SMTP_NOT_AVAILABLE_PORT="The port %1$s is not opened on your server: %2$s" -ACYM_FSOCKOPEN="fsockopen is not enabled, please contact your hosting company to enable it" -ACYM_API_KEY="API key" -ACYM_REST_API="REST API" -ACYM_DKIM_SETTINGS="DKIM Settings" -ACYM_DKIM_SAVE="Please save your AcyMailing configuration to generate the DKIM keys" -ACYM_DKIM_CONFIGURE="Configure your DNS by adding a TXT record on your domain %s using the key/value as shown below:" -ACYM_DKIM_KEY="Key" -ACYM_DKIM_VALUE="Value" -ACYM_DKIM_LET_ME="Let me enter my own keys." -ACYM_DKIM_DOMAIN="Domain" -ACYM_DKIM_SELECTOR="Selector" -ACYM_DKIM_PASSPHRASE="Passphrase" -ACYM_DKIM_IDENTITY="Identity" -ACYM_DKIM_PRIVATE="Private key" -ACYM_DKIM_PUBLIC="Public Key" -ACYM_CRON="Cron" -ACYM_CRON_WRONG_DOMAIN="The domain name is not valid (%s). If you use your own cron system, please make sure you trigger AcyMailing with the full domain name." -ACYM_CRON_TRIGGERED="AcyMailing Triggered at %s" -ACYM_CRON_NEXT="The system won't be triggered before %s" -ACYM_AUTO_SEND_PROCESS="Automatic send process" -ACYM_SEND_X_EVERY_Y="Send %1$s e-mails every %2$s" -ACYM_SECONDS="Seconds" -ACYM_MINUTES="Minutes" -ACYM_HOURS="Hours" -ACYM_DAYS="Days" -ACYM_WEEKS="Weeks" -ACYM_MONTHS="Months" -ACYM_MANUAL_SEND_PROCESS="Manual send process" -ACYM_SEND_X_WAIT_Y="Send %1$s e-mails and then wait %2$s before sending another batch" -ACYM_MAX_EXECUTION_TIME="Maximum execution time" -ACYM_TIMEOUT_SERVER="Based on your server configuration, each batch can run for %s seconds" -ACYM_TIMEOUT_CURRENT="We are currently checking your real maximum execution time... At least %s seconds so far" -ACYM_MAX_RUN="Based on our check, we can run each batch for %s seconds" -ACYM_TIMEOUT_AGAIN="Calculate the real maximum execution time again" -ACYM_ORDER_SEND_QUEUE="Order the send process by" -ACYM_RANDOM="Random" -ACYM_NO_RAND_FOR_MULTQUEUE="You should not use the random ordering if you use the multiple queue system." -ACYM_CREATE_CRON_REMINDER="Your cron does not seem to be enabled, don't forget to create it!" -ACYM_CREATE_CRON="Create/Edit your Cron task" -ACYM_REPORT="Report" -ACYM_REPORT_SEND="Send a report" -ACYM_REPORT_SEND_TO="Send the report to" -ACYM_REPORT_SAVE="Save the report" -ACYM_REPORT_SAVE_TO="Save the report to" -ACYM_REPORT_DELETE="Delete the report" -ACYM_REPORT_SEE="See the report" -ACYM_EACH_TIME="Each time AcyMailing is triggered" -ACYM_ONLY_ACTION="Only if AcyMailing executes an action" -ACYM_SIMPLIFIED_REPORT="Simplified Report" -ACYM_DETAILED_REPORT="Detailed Report" -ACYM_ONLY_SOMETHING_WRONG="Only if an error occurs" -ACYM_MINUTES_AGO="%s minutes ago" -ACYM_CURRENT_TIME="Your current time is %s" -ACYM_WRONG_LOG_NAME="The log file must only contain alphanumeric characters and end with .log" -ACYM_EMPTY_LOG="The log file is empty" -ACYM_SUCC_DELETE_LOG="Log file successfully deleted" -ACYM_ERROR_DELETE_LOG="Could not delete the Log file" -ACYM_EXIST_LOG="Log file does not exist" -ACYM_LAST_CRON="Last Cron" -ACYM_LAST_RUN="Last Run time" -ACYM_CRON_TRIGGERED_IP="Triggered from the IP" -ACYM_SEND="Send" -ACYM_CAMPAIGN_ADDED_TO_QUEUE="The campaign %s has been added to the queue" -ACYM_ERROR_QUEUE_CAMPAIGN="Couldn't add the campaign %s to the queue" -ACYM_CAMPAIGN_ALREADY_QUEUED="This campaign is already in the queue" -ACYM_QUEUE="Queue" -ACYM_QUEUE_AUTOMATED="Automated emails" -ACYM_QUEUE_DETAILED="Detailed queue" -ACYM_PAUSED="Paused" -ACYM_ADDED_QUEUE_SCHEDULE="%1$s emails have been added to the queue for the Scheduled Campaign %2$s" -ACYM_SELECT_TABLE="Select a table" -ACYM_FIELD_MATCHING="Field matching" -ACYM_ASSIGN_COLUMNS="Please match AcyMailing standard fields (email, name...) with the fields you are importing." -ACYM_ENCODING="Encoding" -ACYM_USERS_FROM_LISTS="Users from lists" -ACYM_ALL_USERS="All users" -ACYM_USERS_TO_EXPORT="Users to export" -ACYM_EXPORT_SELECT_LIST="Please select at least one list" -ACYM_EXPORT_SELECT_FIELD="Please select at least one field to export" -ACYM_DATA_WILL_EXPORT_CSV_FORMAT="Data will be exported to CSV format" -ACYM_FIELDS_TO_EXPORT="Fields to export" -ACYM_X_RECIPIENTS="%s recipients" -ACYM_QUEUE_SENDING="Sending..." -ACYM_QUEUE_READY="Ready to be sent" -ACYM_CANCEL_CAMPAIGN="Cancel campaign" -ACYM_ARE_YOU_SURE="Are you sure?" -ACYM_IMPORT_ERROR_WRONG_NUMBER_ARGUMENTS="The number of arguments doesn't match with number of columns" -ACYM_ADDRESSES_INVALID="One or more address(es) are invalid and couldn't be imported" -ACYM_INVALID_EMAIL_ADDRESS="Invalid address" -ACYM_ALL_USER_WILL_BE_EXPORTED="All the users will be exported" -ACYM_SUMMARY_NUMBER_RECEIVERS_EXPLICATION="Some users are subscribed to several lists, but they are counted only one time on this total. They will received only one email." -ACYM_AUDIENCE="Audience" -ACYM_AUTOAMTION="Automation" -ACYM_VIEW_ALL_LISTS="View all lists" -ACYM_CREATE_LIST="Create list" -ACYM_VIEW_ALL_CAMPAIGNS="View all campaigns" -ACYM_CREATE_CAMPAIGN="Create campaign" -ACYM_CAMPAIGNS_SCHEDULED="Campaigns scheduled" -ACYM_NONE_OF_YOUR_CAMPAIGN_SCHEDULED_GO_SCHEDULE_ONE="None of your campaigns is scheduled go schedule one!" -ACYM_YOUR_EMAIL="your.mail@example.com" -ACYM_FROM_MAIL_ADDRESS="From mail address" -ACYM_USING_YOUR_SERVER="Using your server" -ACYM_USING_AN_EXTERNAL_SERVER="Using an external server" -ACYM_PHP_MAIL_FUNCTION="PHP Mail Function" -ACYM_SAFE_CHECK="Safe check" -ACYM_COMING_SOON="Coming soon" -ACYM_ONLYAUTOPROCESS="You configured AcyMailing to use the automatic send process only. You can't trigger the send process via this button unless you allow the manual send process via the AcyMailing configuration page" -ACYM_TRY="Try" -ACYM_NO_PROCESS="There is nothing to send" -ACYM_SEND_PROCESS="Send Process" -ACYM_DONT_CLOSE="You must keep this popup opened to continue sending. If you want to be able to close the page and turn Off your computer, you can let the cron task run the automatic send process (only available in our commercial versions)" -ACYM_QUEUE_DOUBLE="Send process running in parallel detected, the system stopped but you will be able to resume it" -ACYM_QUEUE_NEXT_TRY="Next try in %s minutes" -ACYM_SEND_REFRESH_TIMEOUT="Process refreshed to avoid a time limit" -ACYM_SEND_REFRESH_CONNECTION="Process refreshed to avoid a possible loss of connection" -ACYM_SEND_STOPED="The Send Process stopped because there are too many errors" -ACYM_SEND_KEPT_ALL="The system kept all non delivered e-mails in the queue, so you will be able to resume the send process later" -ACYM_SEND_CHECKONE="Please verify your mail configuration and make sure you can send a test of this e-mail" -ACYM_SEND_ADVISE_LIMITATION="If you recently, successfully, sent a lot of e-mails, those errors may also be due to your server limitations" -ACYM_SEND_REFUSE="Your server apparently refuses to send more e-mails" -ACYM_SEND_CONTINUE_COMMERCIAL="Using one of our commercial versions, the system would be able to continue automatically the send process using a Cron" -ACYM_SEND_CONTINUE_AUTO="If you configured a cron task, the system will automatically continue the send process" -ACYM_CONFIG_TRY="Try %s times to deliver the message." -ACYM_CONFIG_TRY_ACTION="If it still fails, %s" -ACYM_MAX_NB_TRY="Maximum number of tries" -ACYM_MAX_NB_TRY_DESC="If AcyMailing can not send the e-mail after X tries, AcyMailing will delete the e-mail from the queue." -ACYM_DO_NOTHING="Do nothing" -ACYM_REMOVE_SUB="Delete the user subscription" -ACYM_UNSUB_USER="Unsubscribe the user" -ACYM_SUBSCRIBE_USER="Subscribe the user" -ACYM_BLOCK_USER="Block the user" -ACYM_SEND_NOW="Send now" -ACYM_SEND_ALL="Send all" -ACYM_NB_SCHEDULED="%s campaign(s) scheduled" -ACYM_CRON_PROCESS="%1$s messages processed: %2$s successful, %3$s failed" -ACYM_INSERT_IMG_BAD_NAME="The name of the picture is not correct and may not be displayed on some mail clients. Do you want to insert it?" -ACYM_NON_VALID_URL="It's not a valid url. Please correct it and try again." -ACYM_SUBSCRIBED_USER="Subscribed users" -ACYM_UNSUBSCRIBED_USER="Unsubscribed users" -ACYM_COLLAPSE="Collapse" -ACYM_EXPORT_REPORT="Export report" -ACYM_DONT_HAVE_STATS_CAMPAIGN="You didn't send any campaign yet" -ACYM_DONT_HAVE_STATS_THIS_CAMPAIGN="You don't have any statistics in this campaign, send it!" -ACYM_LOOK_AT_THESE_AMAZING_DONUTS="Here are some examples of what you'll see." -ACYM_FAIL="Fail" -ACYM_CLICK_RATE="Click rate" -ACYM_OPEN_RATE="Open rate" -ACYM_OR_THIS_AWESOME_CHART_LINE="And awesome chart lines!" -ACYM_START="Start: " -ACYM_END="End: " -ACYM_BY_HOUR="By hour" -ACYM_BY_DAY="By day" -ACYM_BY_MONTH="By month" -ACYM_YOU_DONT_HAVE_ANY_DATA_ON_THIS_CAMPAIGN="You don't have any open data/click data on this campaign" -ACYM_HERE_AN_EXEMPLE_OF_WHAT_YOU_CAN_GET="Here an exemple of what you can get when you will have data!" -ACYM_GLOBAL_STATISTICS="Global statistics" -ACYM_CHOOSE_USERS="Choose users" -ACYM_SHOW_SELECTED_USERS="Show selected users" -ACYM_SHOW_ALL_USERS="Show all users" -ACYM_PLEASE_SELECT_USER="Please select user" -ACYM_SEARCH_A_USER_NAME="Search a user name" -ACYM_USERS_SUBSCRIBED="Users successfully subscribed" -ACYM_NO_USERS_HAVE_BEEN_SUBSCRIBED="No users have been subscribed" -ACYM_DETAILED_STATS="Detailed statistics" -ACYM_SEND_DATE="Send date" -ACYM_MAILS_OPEN="Mails open" -ACYM_OPEN_DATE="Open date" -ACYM_SEARCH_A_CAMPAIGN_NAME_OR_EMAIL="Search a campaign name or an email" -ACYM_YOU_DONT_HAVE_ANY_USER="You don't have any user." -ACYM_YOU_DONT_HAVE_ANY_LIST="You don't have any list." -ACYM_CREATE_YOUR_FIRST_ONE="Create your first one!" -ACYM_YOU_DONT_HAVE_ANY_TEMPLATE="You don't have any template." -ACYM_CREATE_AN_AMAZING_TEMPLATE_WITH_OUR_AMAZING_EDITOR="Create an amazing template with our amazing editor!" -ACYM_YOU_DONT_HAVE_ANY_CAMPAIGN="You don't have any campaign." -ACYM_CREATE_ONE_NOW="Create one now!" -ACYM_YOU_DONT_HAVE_ANY_AUTOMATION="You don't have any automation" -ACYM_CREATE_ONE_AND_LET_ACYAMAILING_DO_IT="Create one and let AcyMailing do it!" -ACYM_OPENED="Opened" -ACYM_ID="ID" -ACYM_CREATE_ONE="Create one" -ACYM_NO_USERS_SUBSCRIBE="No subscribers yet, subscribe users to this list." -ACYM_CREATE_OR_IMPORT_YOUR_FIRST_ONE="Create or import your first one!" -ACYM_ADD_RECIPIENTS_TO_SEND_THIS_CAMPAIGN="Add recipients to send this campaign" -ACYM_YOU_DONT_HAVE_ANY_CAMPAIGN_IN_QUEUE="You don't have any campaign in the queue" -ACYM_SEND_ONE_AND_SEE_HOW_AMAZING_QUEUE_IS="Send one and see how amazing the queue is!" -ACYM_CAMPAIGN_ALREADY_SENT="The campaign %s has already been sent" -ACYM_CAMPAIGN_HAS_BEEN_SENT_TO_A_TOTAL_OF="Campaign has been sent to a total of %s recipients" -ACYM_THIS_CAMPAIGN_HAS_BEEN_SENT_ON_AT="This campaign has been sent on %1$s at %2$s" -ACYM_ARE_YOU_SURE_DELETE="Are you sure you want to delete these elements?" -ACYM_ARE_YOU_SURE_INACTIVE="Are you sure you want to disable these elements?" -ACYM_ARE_YOU_SURE_ACTIVE="Are you sure you want to enable these elements?" -ACYM_SEARCH_TAGS="Search tag..." -ACYM_SEARCH_ENCODING="Search encoding method" -ACYM_CREATE_CAMPAIGN_EMPTY_TEMPLATE="Please create a template with our amazing editor or create a campaign with an empty template" -ACYM_X_ALREADY_EXIST="%s already exist" -ACYM_WEBSITE_LINKS="Website links" -ACYM_TIME="Time" -ACYM_SUBSCRIBER="Subscriber" -ACYM_RECEIVER_INFORMATION="Receiver information" -ACYM_USER_FIRSTPART="First part of the user name" -ACYM_USER_LASTPART="Last part of the user name" -ACYM_USER_FIRSTPART_DESC="For example the first part of the user John Doe is John" -ACYM_USER_LASTPART_DESC="For example the last part of the user John Doe is Doe" -ACYM_USER_ID="User id" -ACYM_USER_NAME="User name" -ACYM_USER_EMAIL="User email" -ACYM_USER_CREATION_DATE="User creation date" -ACYM_USER_SOURCE="User source" -ACYM_USER_CONFIRMED="User confirmed" -ACYM_USER_SEND_DATE="User last send date" -ACYM_USER_OPEN_DATE="User last open date" -ACYM_USER_CLICK_DATE="User last click date" -ACYM_INSERT="Insert" -ACYM_DATE_FORMAT_LC3="d F Y" -ACYM_DATE_FORMAT_LC4="Y-m-d" -ACYM_UNSUBSCRIBE_LINK=" Insert an unsubscribe link in your email" -ACYM_CONFIRM_SUBSCRIPTION_LINK="Insert a confirm your subscription link in your email" -ACYM_SUBSCRIBE_LINK="Insert a subscribe link in your email" -ACYM_CONFIRM_SUBSCRIPTION="Click here to confirm your subscription" -ACYM_LIST_NAMES="List names" -ACYM_DYNAMIC_TEXT="Dynamic text" -ACYM_TIME_FORMAT="Time format" -ACYM_LISTS_SELECTED="List(s) selected: " -ACYM_VIEW_ONLINE="Click here to view it online" -ACYM_VIEW_ONLINE_DESC="Insert a view it online link in your email" -ACYM_CMS_USER="%s user" -ACYM_LOGIN_NAME="Login name of the user" -ACYM_REGISTRATION_DATE="Registration date of the user" -ACYM_USER_GROUPS="User groups" -ACYM_NO_GROUP="No group" -ACYM_CUSTOM_FIELDS="Custom fields" -ACYM_VISITOR="Visitor" -ACYM_DEFAULT="Default" -ACYM_CONFIRMED_CAMPAIGN="The campaign has been confirmed. It will be add to the queue at %s" -ACYM_CANT_CONFIRM_CAMPAIGN="The campaign couldn't be confirmed" -ACYM_TEMPLATE_CHANGED_CLICK_ON_SAVE="Your template has been changed please save the modifications by clicking the save button" -ACYM_MIGRATED_TEMPLATE="Migrated template" -ACYM_DO_YOU_WANT_TO_MIGRATE="First of all, do you want to migrate some data from you old AcyMailing component?" -ACYM_WHICH_DATA_TO_MIGRATE="Which data do you want to migrate?" -ACYM_MIGRATE="Migrate" -ACYM_NO_DONT_WANT_TO_MIGRATE_MY_DATA="No, I don't want to migrate my data" -ACYM_GLOBAL_STATS="Global statistics" -ACYM_MIGRATION_DONE="Migration done!" -ACYM_CONTINUE="Continue" -ACYM_NEWSLETTERS="Newsletters" -ACYM_RESTART_FROM_ERROR="Restart from error" -ACYM_IGNORE_ERRORS_AND_CONTINUE="Ignore errors and continue" -ACYM_MIGRATE_WARNING_DATA_OVERWRITE_MESSAGE="If you choose to migrate your old AcyMailing data (5.X version) then your AcyMailing 6 data will be overwritten. So please make sure you won't lose any important data stored in your AcyMailing 6 instance." -ACYM_CLEAN_ERROR="Clean error" -ACYM_INSERT_ERROR="Insert error" -ACYM_FIELD_TYPE="Field type" -ACYM_REQUIRED="Required" -ACYM_BACKEND="Backend" -ACYM_FRONTEND="Frontend" -ACYM_PROFILE="Profile" -ACYM_LISTING="Listing" -ACYM_CANT_DELETE="You can't delete core elements" -ACYM_TEXTAREA="Textarea" -ACYM_RADIO="Radio" -ACYM_CHECKBOX="Checkbox" -ACYM_SINGLE_DROPDOWN="Single dropdown" -ACYM_MULTIPLE_DROPDOWN="Multiple dropdown" -ACYM_DATE="Date" -ACYM_FILE="File" -ACYM_PHONE="Phone" -ACYM_CUSTOM_TEXT="Custom text" -ACYM_CATEGORY="Category" -ACYM_EDITABLE_USER_CREATION="Editable on user creation" -ACYM_EDITABLE_USER_MODIFICATION="Editable on user modification" -ACYM_CUSTOM_ERROR="Custom error message" -ACYM_NUMBER_ONLY="Number only" -ACYM_LETTERS_ONLY="Letters only" -ACYM_NUMBERS_LETTERS_ONLY="Numbers and letters only" -ACYM_REGULAR_EXPRESSION="My regular expression" -ACYM_AUTHORIZED_CONTENT="Authorized content" -ACYM_DEFAULT_VALUE="Default value" -ACYM_ERROR_MESSAGE_INVALID_CONTENT="Error message to display if content isn't respected" -ACYM_FORM="Form" -ACYM_ROWS="Rows" -ACYM_COLUMNS="Columns" -ACYM_HTML_TAG_CATEGORIES="HTML tag for categories" -ACYM_VALUE="Value" -ACYM_CSS_CLASS="CSS Class" -ACYM_ADD_VALUE="Add a new value" -ACYM_VALUE_FROM_DB="Value from database" -ACYM_WHERE="Where" -ACYM_WHERE_VALUE="Where value" -ACYM_WHERE_OPERATION="Where operation" -ACYM_ORDER_BY="Order by" -ACYM_SORT_ORDERING="Sort ordering" -ACYM_TABLES="Tables" -ACYM_INPUT_WIDTH="input width (px)" -ACYM_X_TO_ENTER_X="%1$s to enter the %2$s" -ACYM_DAY="Day" -ACYM_MONTH="Month" -ACYM_YEAR="Year" -ACYM_EXEMPLE_FORMAT="For exemple with the format %d%m%y the date will be 14/06/1997" -ACYM_PHONE_NOCOUNTRY="No country" -ACYM_NO_FILE_CHOSEN="No file chosen" -ACYM_CHOOSE_FILE="Choose file" -ACYM_FIELDS_TO_DISPLAY="Fields to display" -ACYM_ERROR_QUEUE_CANCEL_CAMPAIGN="Can't access to campaign" -ACYM_CONFIRMATION_CANCEL_CAMPAIGN_QUEUE="Are you sure you want to cancel this campaign? If the campaign was sent to, at least, one receiver, you won't be able to edit or resend the campaign" -ACYM_ERROR_QUEUE_PAUSE="Couldn't pause campaign" -ACYM_ERROR_QUEUE_RESUME="Couldn't resume campaign" -ACYM_LOAD_LATEST_LANGUAGE="Load the latest version from our server" -ACYM_CUSTOM_TRANS="Custom translations" -ACYM_CUSTOM_TRANS_DESC="The following strings won't be overwritten if you update/upgrade AcyMailing" -ACYM_FAIL_SAVE="Could not save the file %s" -ACYM_LOAD_ENGLISH_1="AcyMailing is currently not translated in this language." -ACYM_LOAD_ENGLISH_2="The english version will be loaded so that you can translate it." -ACYM_LOAD_ENGLISH_3="Once done, don't forget to share your translation with the rest of the community! Even 10 lines translated will make the difference ;)" -ACYM_SHARE_CONFIRMATION_1="This Language File will be sent to the Acyba translation team and may be included in the next version." -ACYM_SHARE_CONFIRMATION_2="By sharing this file, you allow Acyba to use your work for any purpose." -ACYM_SHARE_CONFIRMATION_3="You can add a personnal message in the following area which will be included in the e-mail sent to the team." -ACYM_THANK_YOU_SHARING="Thank you for your contribution!" -ACYM_SEND_CAMPAIGN="Send campaign" -ACYM_SHARE_TRANSLATION="Share your translation" -ACYM_EMAIL_BODY="Email body:" -ACYM_SURE_SEND_TRANSALTION="Are you sure you want to send us this translation? Please do not send it if you didn't modify the translation." -ACYM_MESSAGE_SENT="The message has been sent to Acyba's support team." -ACYM_CONFIRMATION_REDIRECTION="Redirection after confirmation" -ACYM_ALREADY_CONFIRMED="You have already confirmed your subscription" -ACYM_SUBSCRIPTION_CONFIRMED="Your subscription has been confirmed" -ACYM_INACTIVE_USERS="Number of pending users" -ACYM_TEST="Tests" -ACYM_SAFE_CHECK_DESC="Safe check tests need to be run before you can send your campaign." -ACYM_TEST_ADDRESS="test@example.com..." -ACYM_SEND_TEST_TO="Send test mail to" -ACYM_TESTS_SPAM="SPAM score > 80%" -ACYM_TESTS_SAFE_CONTENT="Safe content" -ACYM_TESTS_LINKS="All links checked" -ACYM_TESTS_CONTENT_DESC="The following expressions are not recommended:" -ACYM_SPAMTEST_MISSING_EMAIL="Missing test mail address" -ACYM_ERROR_LOAD_FROM_ACYBA="Could not load your information from our server" -ACYM_TESTS_SPAM_SENT="Test email sent, waiting for the report..." -ACYM_MENU="AcyMailing: %s" -ACYM_MENU_FORM="Newsletter subscription form" -ACYM_MENU_FORM_DESC="Form used by your users to subscribe to the contact lists in order to receive your newsletters" -ACYM_MENU_PROFILE="User profile" -ACYM_MENU_PROFILE_DESC="This element gives your visitors or logged-in users a way to subscribe / modify their subscription." -ACYM_VISIBLE_LISTS="Visible lists" -ACYM_VISIBLE_LISTS_DESC="The following selected lists will be displayed on your subscribe form." -ACYM_DROPDOWN_LISTS="Lists in a dropdown" -ACYM_DROPDOWN_LISTS_DESC="Display the visible lists in a dropdown" -ACYM_LISTS_CHECKED_DEFAULT="Lists checked by default" -ACYM_LISTS_CHECKED_DEFAULT_DESC="The selected lists will be checked by default on your form." -ACYM_ALLOW_VISITOR="Allow non-logged in users" -ACYM_ONLY_LOGGED="The subscription is restricted to logged in users" -ACYM_USER_INFORMATION="User Information" -ACYM_CONFIGURATION_DATA_COLLECTION="Data collection" -ACYM_CONFIDENTIALITY="Confidentiality" -ACYM_TRACKING="Tracking" -ACYM_TRACKINGSYSTEM="Track clicks with" -ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS="Track links for external websites" -ACYM_GDPR_EXPORT_BUTTON="Allow users to export their data from their profile page" -ACYM_EXPORT_MY_DATA="Export my data" -ACYM_DELETE_MY_DATA="Delete all my data" -ACYM_DELETE_MY_DATA_CONFIRM="This will permanently delete all your data" -ACYM_DATA_DELETED="Your personal data has been successfully deleted from our mailing system" -ACYM_ERROR_DELETE_DATA="An error occurred while deleting your personal data, please contact an administrator" -ACYM_MODIFY_SUBSCRIPTION="Modify your Subscription" -ACYM_SAVE_CHANGES="Save Changes" -ACYM_GENERATE_NAME="Auto-generate User's name" -ACYM_NOT_ALLOWED_MODIFY_USER="You are not allowed to modify this user" -ACYM_ALLOW_MODIFICATION="Allow user data modifications without identification" -ACYM_ALLOW_ONLY_THEIRS="Only their subscription" -ACYM_ADDRESS_TAKEN="This email address is already taken by another user" -ACYM_SUBSCRIPTION_UPDATED_OK="Subscription successfully updated" -ACYM_IDENTIFICATION_SENT="An email to verify your identity has been sent.
                      Please click on the link in the email to be able to modify your subscription." -ACYM_NEW_CUSTOM_FIELD="New custom field" -ACYM_UPLOAD_FOLDER="Upload folder" -ACYM_ADD_ATTACHMENT="Attach a new file" -ACYM_MAX_UPLOAD="(total max upload file size: %s)" -ACYM_SUCCESS_FILE_UPLOAD="File successfully uploaded" -ACYM_FILE_RENAMED="An image with this name already exists. Image has been renamed as %s" -ACYM_ACCEPTED_TYPE="This file type (%1$s) is not accepted, the accepted file types are: %2$s" -ACYM_SELECT="Select" -ACYM_NO_FILE_HERE="No file here" -ACYM_DD_EDITOR="Drag & Drop Editor" -ACYM_LOAD_STYLESHEET="Load style sheet" -ACYM_CUSTOM_ADD_STYLESHEET="Add custom style sheet" -ACYM_HERE_PASTE_YOUR_STYLESHEET="Here you can paste your style sheet" -ACYM_SUCCESSFULLY_SENT="Successfully sent" -ACYM_FIELDS_TO_DISPLAY_DESC="The selected fields will be displayed on the registration form" -ACYM_DOCUMENTATION="Documentation" -ACYM_NEXT="Next" -ACYM_SKIP="Skip" -ACYM_INTRO_ADD_DTEXT="Here you can add dynamic text to your email" -ACYM_INTRO_TEMPLATE="Here is you template" -ACYM_INTRO_DRAG_BLOCKS="You can drag these blocks to your template to add them" -ACYM_INTRO_DRAG_CONTENT="You can then drag these contents in the blocks" -ACYM_INTRO_SETTINGS="Here are the settings of your template" -ACYM_INTRO_CUSTOMIZE_FONT="You can customize your font here" -ACYM_INTRO_IMPORT_CSS="Here you can import your stylesheet" -ACYM_INTRO_SAFE_CHECK="The safe check analyzes the content of your email, it checks if there is any spam word then all the links if they are not broken and it finaly checks your mail using our spam test tool" -ACYM_INTRO_MAIL_SETTINGS="Here you can configure your sending method" -ACYM_INTRO_ADVANCED="Here is the advanced configuration, this is where you configure the technical part." -ACYM_INTRO_DKIM="DKIM is a way to prove that all the emails you send come from you" -ACYM_INTRO_CRON="The cron is a process that checks every 15 minutes if there are actions to do like sending queued emails, sending scheduled emails, processing the bounce handling, etc..." -ACYM_INTRO_SUBSCRIPTION="Here you can set the settings of the email which is sent when a user subscribes" -ACYM_INTRO_CHECK_DATABASE="This button will check if there is any issue in the database like a missing table/column etc...
                      If you have any issue with your database it's the first thing to do" -ACYM_SEND_TEST_SUCCESS="The test was succefully sent" -ACYM_SEND_TEST_ERROR="Error sending the test" -ACYM_CUSTOM_FIELD="Custom field" -ACYM_BECARFUL_BACKGROUND_IMG="Be careful if you insert background image, not all the email clients display them" -ACYM_SEPARATOR="Separator" -ACYM_INTRO_ONLY="Intro only" -ACYM_FULL_TEXT="Full text" -ACYM_PUBLISHING_DATE="Publishing date" -ACYM_CLICKABLE_TITLE="Clickable title" -ACYM_DISPLAY_PICTURES="Display pictures" -ACYM_RESIZED="Resized" -ACYM_NO_RESULTS_FOUND="No results found" -ACYM_ONE_BY_ONE="One by one" -ACYM_BY_CATEGORY="By category" -ACYM_MAX_NB_ELEMENTS="Max. number of elements" -ACYM_MODIFICATION_DATE="Modification date" -ACYM_ASC="Ascending" -ACYM_DESC="Descending" -ACYM_READ_MORE="Read more" -ACYM_TITLE_ONLY="Title only" -ACYM_DISPLAY="Display" -ACYM_TRUNCATE="Truncate the text" -ACYM_TRUNCATE_AFTER="After %s characters" -ACYM_FROM="From" -ACYM_TO="To" -ACYM_LOCATION="Location" -ACYM_COUNTRY="Country" -ACYM_STATE="State" -ACYM_CITY="City" -ACYM_ADDRESS="Address" -ACYM_PRICE="Price" -ACYM_APPLY_DISCOUNTS="Apply discounts" -ACYM_COUPON="Coupon" -ACYM_CHECK_EMAIL_COUPON="Please check your e-mail to see the coupon" -ACYM_NONE="None" -ACYM_IMAGE_REQUIRED="Image required" -ACYM_COPY_DEFAULT_TRANSLATIONS="Copy default translations" -ACYM_COPY_DEFAULT_TRANSLATIONS_CONFIRM="This will override the current custom translations and keep the additionnal language keys you may have created." -ACYM_USE_THIS_FEATURE="To use this feature please upgrade your version to %s" -ACYM_ESSENTIAL="AcyMailing Essential" -ACYM_UPGRADE_NOW="Upgrade now!" -ACYM_ENTERPRISE="AcyMailing Enterprise" -ACYM_NO_DISCOUNT="No discount" -ACYM_EDIT_MAIL="Edit email" +ACYM_VERSION="6.2.0" + + +ACYM_ERROR_INSTALLING_X_TEMPLATE="An error occurred while installing the template %s" +ACYM_SKIP_AND_IMPORT_USERS="Skip and import your first users" +ACYM_HTML_ID_DESC="In HTML the id of an element is unique and used for the CSS" +ACYM_HTML_ID="Block HTML id" +ACYM_CANT_RETRIEVE_TEST_EMAIL="Unable to retrieve AcyMailing test email. Please try to re-install AcyMailing" +ACYM_CANT_RETRIEVE_TESTING_LIST="Unable to retrieve AcyMailing testing list. Please try to re-install AcyMailing" +ACYM_FIRST_EMAIL_NAME="AcyMailing first email" +ACYM_EMPTY_ADDRESS_OR_PASSWORD="The email address or the password is empty" +ACYM_WALKTHROUGH_GMAIL_TEXT="As you're using AcyMailing on a local website, emails can't be sent from your server.
                      That's why your Gmail information are needed. These information are only asked to connect to your Gmail account and send a test email." +ACYM_WHY_DO_WE_NEED_THIS="Why do we need this?" +ACYM_YOUR_GMAIL_ACCOUNT="Your Gmail account" +ACYM_FROM_ADDRESS_INFO="The receivers will see this value for the sender's email address when receiving your emails" +ACYM_FROM_NAME_INFO="The receivers will see this value for the sender's name when receiving your emails" +ACYM_WALKTHROUGH_MAIL_CONFIG_TEXT="During this step, we will configure the information displayed when an email is received." +ACYM_WALKTHROUGH_PHPMAIL_TEXT="The email will be sent from your own server, so based on your server configuration it may end up in the SPAM folder. But don't worry, we will help you to fix this if it happens 😀" +ACYM_YOUR_EMAIL_CONFIGURATION="Your email configuration" +ACYM_MAKE_SURE_NOT_IN_SPAM="Please make sure the email isn’t in the SPAM folder 😉" +ACYM_NO_I_DIDNT="No, I didn't" +ACYM_YES_I_DID="Yes I did!" +ACYM_RESULT_TEXT="The Email has been sent based on your server's configuration, but you may not have received it." +ACYM_DID_YOU_RECEIVE_IT="Did you receive it?" +ACYM_EMAIL_SENT="Email sent! 🚀" +ACYM_FIRST_LIST="Your first receiver list" +ACYM_TEST_LIST_TEXT_1="During the next step we will send the test email to a newly created testing list." +ACYM_TEST_LIST_TEXT_2="Only your email address will be subscribed to this list, but if you want you can add other testing email addresses by clicking the "_QQ_"Add new"_QQ_" button." +ACYM_TEST_LIST_RECEIVER="Receivers for the testing list" +ACYM_EMAIL_ADDRESS="Email address" +ACYM_ADD="Add" +ACYM_ERROR_SAVE_LIST="An error occurred when creating your testing list" +ACYM_AT_LEAST_ONE_USER="Please add at least one user to your testing list." +ACYM_WRONG_ADDRESSES="The following email addresses are incorrect: %s" +ACYM_TESTING_LIST="Testing list" +ACYM_SOMETHING_WENT_WRONG_CONTACT_ON_ACYBA="Something went wrong, please send us an email via the contact form on our website" +ACYM_SEND_NEW_TEST="Send a new test" +ACYM_GMAIL_PASSWORD="Your Gmail password" +ACYM_GMAIL_EMAIL="Your Gmail address" +ACYM_THESE_INFO_ARE_ONLY_ASK_TO_SEND_TEST="These information are only asked to connect to your Gmail account by SMTP and send a test email from AcyMailing. Be sure that we don't store any of these information." +ACYM_TRY_WITH_GMAIL="Try with Gmail integration" +ACYM_ASK_FOR_SUPPORT="Ask for support" +ACYM_CONTACT_ME="Contact me" +ACYM_SIMPLY_PROVIDE_US_EMAIL_WE_GET_BACK="Simply provide us with your email address and we will get back to you as soon as we can 😉" +ACYM_DONT_WORRY_OUR_SUPPORT_WILL_TAKE_A_LOOK="Don't worry our support team will contact you and help you find a solution!" +ACYM_SEEMS_SOMETHING_WENT_WRONG="Well it seems that something went wrong." +ACYM_WHATS_NEXT="What's next?" +ACYM_WALKTHROUGH_HOUSTON="This is Houston, we copy!" +ACYM_CONTACT_WELL_CONTACT_YOU="Don't worry, the AcyMailing support team will contact you as soon as possible." +ACYM_CONTACT_NEEDED_INFO="They will provide you with all the needed information to help you send your first email with AcyMailing." +ACYM_CONTACT_DIRECT="If you don't receive our message after some days, don't hesitate to directly %s" +ACYM_GET_IN_TOUCH="get in touch with us" +ACYM_PLEASE_REINSTALL_ACYMAILING="Please re-install AcyMailing to install the first email" +ACYM_HERE_IT_LOOKS_FEEL_FREE_TO_MODIFY="Here is how it looks like. Feel free to modify it (and test our drag and drop editor) if you want to!" +ACYM_YOUR_FIRST_EMAIL="Your first email" +ACYM_WE_ARE_GOING_TO_CONFIGURE_ACY_SIMPLE_TEST="We are going to configure AcyMailing through a simple test email." +ACYM_FINISH="Finish" +ACYM_WALKTHROUGH_SUCCESS="Hurrah!" +ACYM_WALK_SUCCESS_1="We're glad everything went well, time to import your users!" +ACYM_WALK_SUCCESS_2="We hope you will enjoy AcyMailing as much as we do 😃" +ACYM_ACTION_CREATED="Created" +ACYM_ACTION_MODIFIED="Modified" +ACYM_ACTION_CONFIRMED="Confirmed" +ACYM_ACTION_UNSUBSCRIBED="Unsubscribed" +ACYM_ACTION_SUBSCRIBED="Subscribed" +ACYM_ACTION_BOUNCE="Bounced" +ACYM_YOU_DONT_DESERVE_IT="No, you don't deserve it" +ACYM_LEAVE_FIVE_STAR="Leave a 5 ⭐️ review" +ACYM_THIS_WILL_HELP_ON_WORDPRESS="This will help us to grow on WordPress and keep up the good job. Thanks a lot!" +ACYM_IF_YOU_LOVE_GO_FIVE_STARS="So if you love our plugin or if you think the job done on AcyMailing deserves a 5⭐ rating then please do it!" +ACYM_EVEN_SUPER_HEREOS_NEED_HELP="Sometimes, even super heroes need some help 😉" +ACYM_HELP_ACYMAILING_TO_GROW_VISIBILITY="Help AcyMailing to grow its visibility on WordPress" +ACYM_WE_NEED_YOUR_HELP="We need your help!" +ACYM_HTML_TAG="HTML tag" +ACYM_LINKS="Links" +ACYM_SUBSCRIBE_OPTION_ON_XX_CHECKOUT="Display a subscribe option on %s checkout" +ACYM_SUBSCRIBE_OPTION_ON_XX_CHECKOUT_DESC="Let the user choose if he wants to subscribe during chekout." +ACYM_SUBSCRIBE_OPTION_AUTO_SUBSCRIBE_TO_DESC="If the user chooses to subscribe, he will be automatically subscribed to the selected lists (not displayed on your subscription form)." +ACYM_SUBSCRIBE_NEWSLETTER="Subscribe to the newsletter" +ACYM_SUBSCRIBE_CAPTION="Subscribe zone label" +ACYM_SUBSCRIBE_CAPTION_DESC="Text displayed next to the lists selection zone. If you don't specify anything, a default text will be used." +ACYM_SUBSCRIBE_CAPTION_OPT_DESC="Text displayed next to the subscribe checkbox. If you don't specify anything, a default text will be used." +ACYM_LISTS_POSITION="Display the lists after" +ACYM_LOADING_ERROR="Loading error, please refresh the page and retry." +ACYM_SURE_LETS_DO_IT="Sure!" +ACYM_CONTACT_EMAIL="Contact email" +ACYM_THANKS_FOR_INSTALLING_ACYM="Thank you for installing AcyMailing! 🤩" +ACYM_WALK_THROUGH_STEPS_TO_GET_STARTED="Let's walk through some steps to get started" +ACYM_ACYMAILING_NEWS_AND_COUPON_CODE="AcyMailing news & coupon codes" +ACYM_NO_THANK_YOU="No, thank you" +ACYM_DO_YOU_WANT_NEWS="Would you like to receive AcyMailing news and coupon codes?" +ACYM_ERROR_SAVE_FILE="Error when saving the file %s" +ACYM_TRANSLATION_INSTALLED="%s translation(s) successfully installed" +ACYM_ERROR_LOAD_LANGUAGE="Our server didn't find the language(s) %s, you can start your own translation in the AcyMailing configuration page, tab "_QQ_"Languages"_QQ_" then share it" +ACYM_ERROR_LOAD_LANGUAGES="Could not load the language files from our server, you can update them in the AcyMailing configuration page, tab "_QQ_"Languages"_QQ_" or start your own translation and share it" +ACYM_AVERAGE_OPEN="Average open rate" +ACYM_AVERAGE_CLICK="Average click rate" +ACYM_LISTS_NUMBERS="Lists n° %s" +ACYM_HISTORY="History" +ACYM_VIEW_DETAILS="View details" +ACYM_VIEW_SOURCE="View source" +ACYM_IP="IP" +ACYM_PAID_VERSION_NEED_UPDATE_ERROR_LICENSE_ATTACH="You are trying to update a paid AcyMailing version but this website isn't attached to any valid license. You can attach your website to your licence by creating a cron from the AcyMailing configuration page, or on our website from your profile page." +ACYM_THANKS="Thanks 🙂" +ACYM_REVIEW_FOOTER="If you love AcyMailing please help us by posting a %s review. Thanks for your help!" +ACYM_MAIL="Mail" +ACYM_BOUNCED="Bounced" +ACYM_NOTOPEN="Not Opened" +ACYM_FAILED="Failed" +ACYM_NOTSENT="Not sent" +ACYM_FILTER_STATISTICS_SUMMARY="Where the user has the status %1$s for %2$s [ID: %3$s]" +ACYM_BACKGROUND="Background" +ACYM_TRANSPARENT_BACKGROUND="Transparent background" +ACYM_BACKGROUND_IMAGE="Background image" +ACYM_ADD_NEW="Add new" +ACYM_PADDING="Padding" +ACYM_ALIGNMENT="Alignment" +ACYM_OTHER="Other" +ACYM_FONT_FAMILY="Font family" +ACYM_LINK="Link" +ACYM_FORMATTING="Formatting" +ACYM_FULL_WIDTH_DESC="The button will take all the width available" +ACYM_FULL_WIDTH="Full width" +ACYM_FONT="Font" +ACYM_CRON_URL="Cron URL" +ACYM_CRON_URL_DESC="This URL is needed if you want to use your own cron task. It is the heart of the automatic features" +ACYM_OLD_VERSION="You have an old version" +ACYM_CLICK_UPDATE="Click to update to %s" +ACYM_ORDER_STATUS_CHANGED="When %1$s order status changed to %2$s" +ACYM_END_DATE="End date" +ACYM_ANY_PLAN="Any plan" +ACYM_AN_EVENT_IN="an event in" +ACYM_X_FILE_MISSING="The file %1$s is missing in the folder
                      %2$s
                      , please make sure that your host doesn't automatically delete this file using a security script" +ACYM_WHEN_ORDER="When an order is placed" +ACYM_ANY_STATUS="Any status" +ACYM_NEW_EMAIL="New email" +ACYM_GOTO_CONFIG="Go to the configuration" +ACYM_ADD_TO_QUEUE="Add to the queue" +ACYM_EMPTY_QUEUE="Empty the queue" +ACYM_HTML_EDITOR="HTML Editor" +ACYM_LESS_THAN="Less than" +ACYM_MORE_THAN="More than" +ACYM_EXECUTE_AUTOMATION="Execute this automation..." +ACYM_INTERFACE="Interface" +ACYM_COMPACT_DISPLAY="Compact display density" +ACYM_EMAIL_PREHEADER_DESC="The email preview line is a short text displayed in the receiver's inbox, next to the subject" +ACYM_EMAIL_PREHEADER="Email preview line" +ACYM_FEATURED_IMAGE="Featured image" +ACYM_EMAILS_REMOVED_QUEUE_UNCONFIRMED="%s emails removed from the queue for unconfirmed users" +ACYM_UNPAUSE_CAMPAIGN_FAIL="Campaign resume failed" +ACYM_PAUSE_CAMPAIGN_FAIL="Campaign pause failed" +ACYM_CAMPAIGN_DUPLICATED_SUCCESS="Campaign successfully duplicated" +ACYM_DUPLICATE_CAMPAIGN="Duplicate this campaign" +ACYM_UNPAUSE_CAMPAIGN_SUCCESSFUL="Campaign successfully resumed" +ACYM_PAUSE_CAMPAIGN_SUCCESSFUL="Campaign successfully paused" +ACYM_UNPAUSE_CAMPAIGN="Resume campaign" +ACYM_NOT_FOUND="%s not found" +ACYM_COULD_NOT_DUPLICATE_EMAIL="Couldn't duplicate the email" +ACYM_ARE_SURE_DUPLICATE_TEMPLATE="Are you sure you want to duplicate this email?" +ACYM_CHOOSE_EXISTING="Choose existing" +ACYM_ANY="Any" +ACYM_REGISTERED="Registered to %1$s and the registration status is %2$s" +ACYM_ANY_EVENT="Any event" +ACYM_FIELDS="Fields" +ACYM_REPORT_SEND_DESC="When should AcyMailing send a report?" +ACYM_REPORT_SAVE_DESC="Which report should AcyMailing save in the log file?" +ACYM_REPORT_SEND_TO_DESC="You can enter one or several e-mail addresses, AcyMailing will send the report to those users." +ACYM_REPORT_SAVE_TO_DESC="Location of the log file." +ACYM_USER_MODIFY_ACYMAILING="A user has been modified in AcyMailing" +ACYM_NEW_USER_ACYMAILING="A new user has been created in AcyMailing" +ACYM_HELLO="Hello" +ACYM_USER_NOT_FOUND="User not found" +ACYM_WRONG_DATE="Wrong date" +ACYM_USER_TRIGGERING_AUTOMATION="User triggering the automation" +ACYM_USER_MODIFICATION="User modification" +ACYM_ADMIN_USER_MODIFICATION_DESC="This automation allows you to send a message to the admin when a user is modified" +ACYM_ADMIN_USER_MODIFICATION="Send notification on user modification" +ACYM_USER_CREATION="User creation" +ACYM_ADMIN_USER_CREATE_DESC="This automation allows you to send a message to the admin when a user is created" +ACYM_ADMIN_USER_CREATE="Send notification on user creation" +ACYM_CUSTOM_HEADERS="Custom headers" +ACYM_SESSION_IS_GOING_TO_END="WARNING: Your session will end in 1 minute, don't forget to save your work!" +ACYM_OF_CLICKS="%s of clicks" +ACYM_X_BOUNCE_OF_X="%1$s sent emails bounced back out of %2$s" +ACYM_X_MAIL_CLICKED_OF_X="%1$s users out of %2$s clicked a link" +ACYM_X_MAIL_OPENED_OF_X="%1$s mails opened out of %2$s" +ACYM_X_MAIL_SUCCESSFULLY_SENT_OF_X="%1$s mails successfully sent out of %2$s" +ACYM_CLICK_MAP="Click map" +ACYM_CLICKS_OUT_OF="%1$s clicks out of %2$s" +ACYM_ALL_MAILS="All mails" +ACYM_NEEDS_SYSTEM_PLUGIN="The system plugin %s must be activated for these options to work" +ACYM_SEND_CONF_REGACY="Send a confirmation email in addition to the site account creation email" +ACYM_DELETE_USER_OF_CMS_USER="Delete the user on site account deletion" +ACYM_CREATE_ACY_USER_FOR_CMS_USER="Create a user on site account creation" +ACYM_XX_INTEGRATION="%s integration" +ACYM_ICON_IMPORTED="The icon has been successfully imported" +ACYM_SELECT_NEW_ICON="Select a new icon" +ACYM_CUSTOM_SOCIAL_ICONS="Social icons" +ACYM_AUTOSAVE_USE="AcyMailing found recent unsaved modifications, do you want to use them?" +ACYM_AUTOSAVE_SUCCESS="Autosave success" +ACYM_AUTOSAVE_FAIL="Autosave failed" +ACYM_BOUNCE_WRONG_PORT="Are you sure you selected the right port? You can leave it empty if you do not know what to specify" +ACYM_NO_SUBSCRIPTION_LINKED_EMAIL="No subscription linked to this email" +ACYM_EMAIL_NOT_FOUND="Email not found" +ACYM_SPECIAL_CONTENT_WARNING="Special content like shortcodes, widgets and embeds are not displayed in the inserted content." +ACYM_CONTENT="Content" +ACYM_PAGE="Page" +ACYM_ARTICLE="Article" +ACYM_SET_ACTIONS_TARGETS="Set action targets" +ACYM_NUMBER_USERS_LIST="Number of users per list" +ACYM_TOSS="Toss" +ACYM_TOSS_DESC="The automation will have a one-in-two chance of being executed" +ACYM_ACYMAILING_USERS="AcyMailing users" +ACYM_EXACTLY="Exactly" +ACYM_THERE_IS="There is" +ACYM_NUMBER_OF_USERS="Number of users" +ACYM_FORMAT="Format" +ACYM_SEND_MAILS_MANUALLY="Send mails manually" +ACYM_MAIL_FROM_AUTOMATION_SENT_TO="Mail from automation will be sent to: " +ACYM_MAILS="Mails" +ACYM_BEFORE_DATE="%s before" +ACYM_AFTER_DATE="%s after" +ACYM_CONDITION_PURCHASED="Bought %1$s in %2$s" +ACYM_CONDITION_ECOMMERCE_REMINDER="Created an order with %1$s %2$s day(s) ago and status is %3$s" +ACYM_SELECT_TARGETS_ACTIONS="Select the targets of your actions" +ACYM_ACTIONS_TARGETS="Actions targets" +ACYM_YOU_DID_NOT_SET_CONDITION="You didn't set any condition for this automation" +ACYM_PLEASE_SET_CONDITION_OR_SAVE="Please set a condition or click on save & continue if you don't want conditions" +ACYM_CONDITION_ACY_CMS_FIELD_SUMMARY="Has his account field %1$s %2$s %3$s" +ACYM_IS_SUBSCRIBED="Is subscribed" +ACYM_IS_UNSUBSCRIBED="Is unsubscribed" +ACYM_IS_NOT_SUBSCRIBED="Is not subscribed" +ACYM_CONDITION_ACY_LIST_SUMMARY=" %1$s to the list %2$s" +ACYM_IS_NOT_IN="Is not in" +ACYM_IS_IN="Is in" +ACYM_CONDITION_ACY_GROUP_SUMMARY=" %1$s the group %2$s" +ACYM_CONDITION_ACY_FIELD_SUMMARY="Has the field %1$s %2$s %3$s" +ACYM_ONE_ACYMAILING_USER_CONDITION="the user" +ACYM_CONDITIONS_APPLY_TO="This automation will be executed if %s" +ACYM_ADD_CONDITION="Add condition" +ACYM_SELECT_CONDITION="Select condition" +ACYM_EXECUTE_CONDITIONS_ON_ALL_USERS="Execute conditions on all users" +ACYM_EXECUTE_CONDITIONS_ON_ONE_USERS="Execute conditions on the user triggering the automation" +ACYM_SELECT_YOUR_CONDITIONS="Select your conditions" +ACYM_CONDITIONS="Conditions" +ACYM_BOUGHT="Bought" +ACYM_AT_LEAST_ONE_PRODUCT="At least one product" +ACYM_ANY_CATEGORY="Any category" +ACYM_ANY_PAYMENT_METHOD="Any payment method" +ACYM_PURCHASED="Purchased a product" +ACYM_ORDER_WITH_STATUS="Placed an order %1$s days ago and the order status is currently %2$s" +ACYM_REMINDER="Reminder" +ACYM_COMBINED_TRANSLATIONS="%1$s - %2$s" +ACYM_MARGIN_TOP_CONTENT="Margin top of the content" +ACYM_CHOOSE_COLUMN="Choose a column" +ACYM_REDO_MIGRATION="V5 data migration" +ACYM_DISPLAY_GIF="Here are some gifs to wait" +ACYM_MORE_TEMPLATES="Click here to download more templates" +ACYM_FRONT_ARCHIVE_NOT_CONNECTED="You are not connected. The newsletter may include some user information, so they may not be displayed correctly." +ACYM_NUMBER_CAMPAIGNS_TO_DISPLAY="Number of campaigns to display" +ACYM_ZERO_ALL="Keep 0 if you want to display all campaigns" +ACYM_CLEAR="Clear" +ACYM_ACCEPT_TERMS="Please check the Terms and Conditions / Privacy policy" +ACYM_I_AGREE_BOTH="I agree with the %1$s and the %2$s" +ACYM_I_AGREE_TERMS="I agree with the %s" +ACYM_I_AGREE_PRIVACY="I agree with the %s" +ACYM_SELECT_AN_ARTICLE="Select an article" +ACYM_TERMS_CONDITIONS="Terms and conditions" +ACYM_PRIVACY_POLICY="Privacy policy" +ACYM_DISPLAY_ARTICLE_POPUP="Display the article(s) in a popup" +ACYM_FORM_CLASS="Form CSS class" +ACYM_FORM_CLASS_DESC="A CSS class added to the subscription form. This allows individual form styling" +ACYM_ALIGNMENT_DESC="This option enables you to align the text inside the subscription form" +ACYM_RIGHT="Right" +ACYM_LEFT="Left" +ACYM_CENTER="Center" +ACYM_SUBSCRIBE_TEXT_LOGGED_IN="Subscribe button text for logged in users" +ACYM_SUBSCRIBE_TEXT_LOGGED_IN_DESC="Text displayed on the subscribe button when the user is logged in" +ACYM_CHECKED_LISTS="Lists checked by default" +ACYM_CHECKED_LISTS_DESC="The selected lists will be checked by default on the subscription form if they are visible" +ACYM_LIST_POSITION="Display the lists" +ACYM_BEFORE_FIELDS="Before the fields" +ACYM_AFTER_FIELDS="After the fields" +ACYM_REDIRECT_LINK_UNSUB="Redirection after unsubscription" +ACYM_REDIRECT_LINK_UNSUB_DESC="The user will be redirected to this URL after clicking the unsubscribe button" +ACYM_DISCOUNT_CODE="Discount code" +ACYM_DETAILS="Details" +ACYM_CATEGORIES="Categories" +ACYM_SHORT_DESCRIPTION="Short description" +ACYM_OVERWRITE_EXISTING="Overwrite existing user's information" +ACYM_EXCEL_SECURITY="Excel security" +ACYM_EXCEL_SECURITY_DESC="If this option is active, values starting with a =, +, - or @ will be prefixed by a tab to avoid any CSV injection when opening the exported file with Excel.
                      Make sure the tab is automatically removed or turn Off this option if you import the file somewhere else than AcyMailing" +ACYM_WARNING_STYLESHEET_NOT_CORRECT="Some CSS code is not compatible with all the editors, prefer using th.your_class rather than th[class="_QQ_"your_class"_QQ_"]" +ACYM_ERROR_COPYING_FOLDER_TO="Error copying folder from %1$s to %2$s" +ACYM_BROWSE_FILE="Can't find file" +ACYM_TEMPLATE_THUMBNAIL_IMPORT="if you want a thumbnail in the listing" +ACYM_TEMPLATE_IMAGES_IMPORT="all your images" +ACYM_TEMPLATE_CSS_IMPORT="your css files (*.css)" +ACYM_TEMPLATE_HTML_IMPORT="your html code" +ACYM_TEMLPATE_ZIP_IMPORT="template.zip" +ACYM_IMPORT_INFO="If you want to import your template please upload a zip with this structure: " +ACYM_ERROR_UPLOADING_FILE_X="Error Uploading file: %s" +ACYM_COULD_NOT_COPY_FILE_X_TO_X="Could not copy the file %1$s to %2$s" +ACYM_COULD_NOT_UPLOAD_FILE_PERMISSION="Couldn't upload file, check permissions for the folder %s" +ACYM_FILE_REJECTED_SAFETY_REASON="The file has been rejected for safety reason" +ACYM_COULD_NOT_MOVE_FILE="Could not move the file" +ACYM_COULD_NOT_FIND_FILE_SOURCE_PERMISSION="Could not find source file, check permissions: %s" +ACYM_FAILED_DELETE="Failed to delete %s" +ACYM_COULD_NOT_MOVE_FOLDER_PERMISSION="Could not move folder %1$s to %2$s, check permissions" +ACYM_COPY_FILE_FAILED_PERMISSION="Copy file %s failed, check permissions" +ACYM_CANNOT_OPEN_SOURCE_FOLDER="Cannot open source folder" +ACYM_CANNOT_CREATE_DESTINATION_FOLDER="Cannot create destination folder" +ACYM_FOLDER_ALREADY_EXIST="Folder %s already exists" +ACYM_FOLDER_DOES_NOT_EXIST="Folder %s does not exist" +ACYM_IS_NOT_A_FOLDER="%s is not a folder" +ACYM_IS_NOT_A_FILE="%s is not a file" +ACYM_COULD_NOT_DELETE_FOLDER="Could not delete folder %s" +ACYM_MENU_ARCHIVE="Newsletters archive" +ACYM_MENU_ARCHIVE_DESC="Show the sent newsletters" +ACYM_WIDGET_ARCHIVE_CHOICE="Display" +ACYM_LAST_X_NEWSLETTERS="Last %s newsletters" +ACYM_DUPLICATE="Duplicate" +ACYM_SENT_WITH_AUTOMATION="Sent with automation" +ACYM_AUTOMATED_TASKS="Automated tasks" +ACYM_DAILY_TASKS="Execute daily tasks at %1$s : %2$s" +ACYM_ERROR="An error occurred" +ACYM_UNKNOWN_OPERATOR="Unknown operator: %s" +ACYM_SELECT_ACTIONS="Please select actions" +ACYM_SELECT_FILTERS="Please select filters" +ACYM_SELECT_A_LIST="Select a list" +ACYM_SELECT_A_MAIL="Select a mail" +ACYM_PLEASE_SET_ACTIONS="Please set at least one action" +ACYM_WHEN_USER_SUBSCRIBES="When the user subscribes" +ACYM_CREATE_MAIL="Create new mail" +ACYM_VIEW_ALL_AUTOMATIONS="View all automations" +ACYM_DATE_AUTOMATION_INPUT="Please format the date like 21/12/2010 your format is %s" +ACYM_ACTION_LIST_SUB="%s users subscribed" +ACYM_ACTION_LIST_REMOVE="%s user subscriptions removed" +ACYM_ACTION_LIST_UNSUB="%s users unsubscribed" +ACYM_AUTOMATION_NOT_FOUND="Automation not found" +ACYM_EMAILS_REMOVED_QUEUE="%s emails removed from the queue" +ACYM_EMAILS_ADDED_QUEUE="%s emails added to the queue" +ACYM_UPDATED_USERS="%s users updated" +ACYM_ACTION_DELETE="deleted" +ACYM_ACTION_ACTIVE="activated" +ACYM_ACTION_BLOCK="blocked" +ACYM_ACTION_UNCONFIRM="unconfirmed" +ACYM_ACTION_CONFIRM="confirmed" +ACYM_X_USERS_X="%1$s users %2$s" +ACYM_NOT_SUBSCRIBED="not subscribed" +ACYM_MASS_ACTION="Mass action" +ACYM_REMOVE_FROM="removed from" +ACYM_SUBSCRIBED_TO="subscribed to" +ACYM_UNSUBSCRIBE_FROM="unsubscribed from" +ACYM_ACTION_LIST_SUMMARY="Will be %1$s the list %2$s" +ACYM_ACTION_REMOVE_QUEUE_SUMMARY="Will not receive the mail %s" +ACYM_ACTION_ADD_QUEUE_SUMMARY="Will receive the mail %1$s on the %2$s" +ACYM_ACTION_USER_VALUE_SUMMARY="Will have the field %1$s %2$s %3$s" +ACYM_WILL_DELETE="Will be deleted" +ACYM_WILL_BLOCK="Will be blocked" +ACYM_WILL_ACTIVE="Will be activated" +ACYM_WILL_UNCONFIRM="Will be unconfirmed" +ACYM_WILL_CONFIRM="Will be confirmed" +ACYM_ACTIONS_USER_WILL="The users selected by this %s " +ACYM_FILTER_ACY_CMS_FIELD_SUMMARY="With the account field %1$s %2$s %3$s" +ACYM_FILTER_ACY_GROUP_SUBGROUP_SUMMARY="including sub groups" +ACYM_FILTER_ACY_GROUP_SUMMARY=" %1$s the group %2$s" +ACYM_WHERE_DATE_MAX_ACY_LIST_SUMMARY=" is lower than %s" +ACYM_WHERE_DATE_MIN_ACY_LIST_SUMMARY=" is higher than %s" +ACYM_WHERE_DATE_ACY_LIST_SUMMARY=" where the %1$s" +ACYM_FILTER_ACY_LIST_SUMMARY=" %1$s to the list %2$s" +ACYM_ONE_ACYMAILING_USER="one AcyMailing user" +ACYM_ALL_ACYMAILING_USERS="all AcyMailing users" +ACYM_FILTERS_APPLY_TO="This %1$s will be applied to %2$s" +ACYM_FILTER_ACY_FIELD_SUMMARY="With the field %1$s %2$s %3$s" +ACYM_TRIGGERS="Triggers" +ACYM_AUTOMATION_TRIGGER="The automation will be triggered:" +ACYM_TRIGGER_EVERY_SUMMARY="Every %1$s %2$s" +ACYM_TRIGGER_ON_DAY_MONTH_SUMMARY="On the %1$s %2$s of each month" +ACYM_TRIGGER_WEEKS_ON_SUMMARY="Every weeks on %s" +ACYM_TRIGGER_DAY_SUMMARY="Every day at %1$s:%2$s" +ACYM_SELECTED_USERS_TOTAL="Total: %s AcyMailing users match these conditions" +ACYM_SELECTED_USERS="%s AcyMailing users match this condition" +ACYM_BEGINS_WITH="Begins with" +ACYM_ENDS_WITH="Ends with" +ACYM_CONTAINS="Contains" +ACYM_NOT_CONTAINS="Does not contain" +ACYM_NAME_SUMMARY="Name" +ACYM_ACTIVE_AUTOMATION="Active automation" +ACYM_PROCESS_MASS_ACTION="Process mass action" +ACYM_EVERY="Every" +ACYM_ONTHE="On the" +ACYM_FIRST="First" +ACYM_SECOND="Second" +ACYM_THIRD="Third" +ACYM_LAST="Last" +ACYM_DAYOFMONTH="of the month" +ACYM_AFTER="After" +ACYM_BEFORE="Before" +ACYM_HOUR="Hour" +ACYM_SPECIFIC_DATE="Specific date" +ACYM_RELATIVE_DATE="Relative date" +ACYM_ADD_AT_BEGINNING="Add at the beginning" +ACYM_ADD_AT_END="Add at the end" +ACYM_ACTIVE_USER="Activate user" +ACYM_UNCONFIRM_USER="Unconfirm user" +ACYM_CONFIRM_USER="Confirm user subscription" +ACYM_REMOVE_EMAIL_QUEUE="Remove an email from the queue" +ACYM_ADD_EMAIL_QUEUE="Add an email to the queue" +ACYM_SET_USER_VALUE="Set user value" +ACYM_ACTION_ON_USERS="Action on user" +ACYM_UNSUBSCRIBE_USERS_TO="Unsubscribe users from" +ACYM_REMOVE_USERS_FROM="Remove users from" +ACYM_SUBSCRIBE_USERS_TO="Subscribe users to" +ACYM_ADD_ACTION="Add action" +ACYM_SELECT_YOUR_ACTIONS="Select the actions" +ACYM_EVERY_DAY_AT="Every day at" +ACYM_EVERY_WEEK_ON="Every week on" +ACYM_PLEASE_SELECT_ONE_TRIGGER="Please select at least one trigger" +ACYM_UNSUBSCRIPTION_DATE="Unsubscription date" +ACYM_IN="In" +ACYM_NOT_IN="Not in" +ACYM_INCLUDE_SUB_GROUPS="Include sub-groups" +ACYM_ACCOUNT_USER_FIELD="Site account user field" +ACYM_GROUP="Group" +ACYM_EXECUTE_ACTIONS_ON_ONE_USERS="Execute actions on the user triggering the automation" +ACYM_EXECUTE_ACTIONS_ON_ALL_USERS="Execute actions on all users" +ACYM_AND="And" +ACYM_ACYMAILING_FIELD="AcyMailing field" +ACYM_OR="Or" +ACYM_ADD_FILTER="Add filter" +ACYM_NO_SUBSCRIPTION_STATUS="No subscription status" +ACYM_ACYMAILING_LIST="AcyMailing list" +ACYM_SELECT_FILTER="Select filter" +ACYM_NEW_AUTOMATION="New automation" +ACYM_NEW_MASS_ACTION="New mass actions" +ACYM_ACTIONS="Actions" +ACYM_THURSDAY="Thursday" +ACYM_WHEN_USER_OPEN_MAIL="When a user opens an email" +ACYM_WHEN_USER_CLICKS_MAIL="When a user clicks on a link in an email" +ACYM_ON_USER_MODIFICATION="On user modification" +ACYM_ON_USER_CREATION="On user creation" +ACYM_ALL_TRIGGER="All triggers" +ACYM_DRAG_YOUR_TRIGGERS="Drag the triggers here" +ACYM_INFORMATION="Information" +ACYM_CLASSIC_TRIGGER="Classic trigger" +ACYM_TRIGGER_BASED_ON_USER_ACTIONS="Trigger based on user actions" +ACYM_DESCRIPTION="Description" +ACYM_IMPORT_SUBSCRIPTION="%s subscriptions have been inserted" +ACYM_LAST_CHECK="Last check:" +ACYM_ATTACH_LICENCE="This website is not assigned to any licence" +ACYM_SUBSCRIPTION_EXPIRED="Your licence has expired" +ACYM_SUBSCRIPTION_EXPIRED_LINK="Click to renew it!" +ACYM_VALID_UNTIL="Valid Until: %s" +ACYM_NEW="New" +ACYM_UP_TO_DATE="You are up to date" +ACYM_CHECK_MY_VERSION="Check my version" +ACYM_BOUNCE_HANDLING="Bounce handling" +ACYM_CONNECTION_METHOD="Connection method" +ACYM_SELF_SIGNED_CERTIFICATE="Self-signed certificate" +ACYM_CONNECTION_TIMEOUT_SECOND="Connection timeout (seconds)" +ACYM_MAX_NUMBER_EMAILS="Maximum number of e-mails" +ACYM_ENABLE_AUTO_BOUNCE="Enable the automatic bounce handling" +ACYM_FREQUENCY="Frequency" +ACYM_NEXT_RUN_TIME="Next run time" +ACYM_BOUNCES="Bounces" +ACYM_BOUNCES_RULES="Bounce rules" +ACYM_ACTION_ON_USER="Action on the user" +ACYM_FORWARD_EMAIL="Forward the message to" +ACYM_BOUNCE_CONNECT_SUCC="Successfully connected to %s" +ACYM_NB_MAIL_MAILBOX="There are %s messages in your mailbox" +ACYM_BOUNCE_RULE="Rule" +ACYM_CLICK_BOUNCE="Handle the messages now" +ACYM_EXECUTE_REGEX_ON="Execute the regex on" +ACYM_INCREMENT_BOUNCE_STATISTICS_IF_RULE_MATCHES="Increment the bounce statistics if the rule matches" +ACYM_ENABLED="Enabled" +ACYM_BODY="Body" +ACYM_GLOBAL_INFORMATION="Global information" +ACYM_REGEX="Regex" +ACYM_EXECUTE_ACTIONS_AFTER="Execute the following actions only after receiving %s bounce messages from this user" +ACYM_ACTION_ON_EMAIL="Action on the email" +ACYM_DELETE_USER_SUBSCRITION="Delete the user subscription" +ACYM_UNSUBSCRIBE_USER="Unsubscribe the user" +ACYM_SUBSCRIBE_USER_TO="Subscribe the user" +ACYM_EMPTY_QUEUE_USER="Empty the queue for the user" +ACYM_SAVE_MESSAGE_DATABASE="Save message in database" +ACYM_DELETE_MESSAGE_FROM_MAILBOX="Delete the message from your mailbox" +ACYM_ACTION_REQUIRED="Action required" +ACYM_ACKNOWLEDGMENT_RECEIPT_SUBJECT="Acknowledgement of receipt - in subject" +ACYM_FEEDBACK_LOOP="Feedback loop" +ACYM_FEEDBACK_LOOP_BODY="Feedback loop - in body" +ACYM_MAILBOX_FULL="Mailbox Full" +ACYM_BLOCKED_GOOGLE_GROUPS="Blocked by Google Groups" +ACYM_MAILBOX_DOESNT_EXIST_1="Mailbox does not exist 1" +ACYM_MESSAGE_BLOCKED_RECIPIENTS="Message blocked by recipient filters" +ACYM_MAILBOX_DOESNT_EXIST_2="Mailbox does not exist 2" +ACYM_DOMAIN_NOT_EXIST="Domain does not exist" +ACYM_TEMPORARY_FAILURES="Temporary failures" +ACYM_FAILED_PERM="Failed Permanently" +ACYM_ACKNOWLEDGMENT_RECEIPT_BODY="Acknowledgement of receipt - in body" +ACYM_FINAL_RULE="Final Rule" +ACYM_RESET_DEFAULT_RULES="Reset to default rules" +ACYM_RUN_BOUNCE_HANDLING="Run bounce handling" +ACYM_CONFIGURE="Configure" +ACYM_NO_RULES="Please create a rule to process the bounce handling" +ACYM_CANT_DELETE_AND_SAVE="You can't delete a user and save the mail in the same rule" +ACYM_BOUNCE_RATE="Bounce rate" +ACYM_BOUNCE_RECEIVED="AcyMailing received %1$s messages from the user %2$s" +ACYM_BOUNCE_MIN_EXEC="Actions will be executed after %s messages" +ACYM_SUCC_DELETE_ELEMENTS="Successfully deleted %s record(s)" +ACYM_MESSAGE_DELETED="Message deleted" +ACYM_CLICK_HANDLE_ALL_BOUNCES="Click here to handle all messages until your mailbox is empty" +ACYM_CONFIGURE_BOUNCE="Please configure the bounce handling from the configuration page first" +ACYM_ERROR_CONNECTING="Error connecting to %s" +ACYM_ERROR_LOGIN="Identication error %s" +ACYM_ERROR_UPLOAD_ATTACHMENT="Error uploading the attachment %1$s: %2$s" +ACYM_USER_X_DELETED="User %s deleted" +ACYM_USER_X_SUBSCRIBED_TO="User %1$s subscribed to %2$s" +ACYM_USER_X_NOT_SUBSCRIBED_TO="User %1$s not subscribed to %2$s: " +ACYM_USER_ALREADY_SUBSCRIBED="User already subscribed" +ACYM_USER_ALREADY_UNSUBSCRIBED="User already unsubscribed" +ACYM_USER_X_REMOVED_FROM="User %1$s removed from lists %2$s" +ACYM_USER_X_NOT_SUBSCRIBED="User %s not subscribed" +ACYM_USER_X_UNSUBSCRIBED_FROM="User %1$s unsubscribed from lists %2$s" +ACYM_USER_X_BLOCKED="User %s blocked" +ACYM_USER_X_QUEUE="User %1$s queue: %2$s" +ACYM_BOUNCE_NOT_FORWARD="The forward e-mail address is the same as the bounce one... AcyMailing will not forward the message" +ACYM_BOUNCE_MESSAGE_SAVED="Message saved (user %s)" +ACYM_FORWARDED_TO_X="Forwarded to %s" +ACYM_NOT_FORWARDED_TO_X="Couldn't forward to %1$s: %2$s" +ACYM_STYLESHEET_HTML_DESC="If you add some CSS style you will have to save to see the modifications. Note that not all editors allow you to load custom CSS" +ACYM_NO_JAVASCRIPT="Please enable the javascript to submit this form" +ACYM_DEFAULT_REQUIRED_MESSAGE="Please fill in the field %s" +ACYM_PLEASE_CONFIRM_SUBSCRIPTION="Please confirm your subscription" +ACYM_CONFIRM_MESSAGE="You've subscribed to our newsletters from our website" +ACYM_CONFIRM_MESSAGE_ACTIVATE="We need you to activate your subscription by clicking the link below:" +ACYM_FILE_UPLOAD_ERROR_1="The uploaded file exceeds the upload_max_filesize directive in php configuration." +ACYM_FILE_UPLOAD_ERROR_2="The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form." +ACYM_FILE_UPLOAD_ERROR_3="The uploaded file was only partially uploaded." +ACYM_FILE_UPLOAD_ERROR_4="No file was uploaded." +ACYM_FILE_UPLOAD_ERROR_5="Error uploading the file on the server, unknown error %s." +ACYM_FILE_UPLOAD_ERROR_6="Can not upload the file, please make sure file_uploads is enabled on your php.ini file." +ACYM_FILE_UPLOAD_ERROR_7="Error uploading the file from %1$s to %2$s" +ACYM_FILE_UPLOAD_ERROR_8="File %s deleted from the template pack." +ACYM_FILE_UPLOAD_ERROR_9="Error extracting the file %1$s to %2$s." +ACYM_FILE_UPLOAD_ERROR_10="Error installing template." +ACYM_TEMPLATES_INSTALL="%s Templates Installed" +ACYM_IMPORT="Import" +ACYM_JPAGETITLE="%1$s - %2$s" +ACYM_EXPORT_BOTH="Export both" +ACYM_USER_CMSID="User account ID" +ACYM_USER_ACTIVE="User active status" +ACYM_ACTIVE="Active" +ACYM_APRIL="April" +ACYM_AUGUST="August" +ACYM_ADD_SUBSCRIBERS="Add subscribers" +ACYM_ADD_TAGS="Add tags" +ACYM_ADD_TO_LIST="Add to list" +ACYM_ALL="All" +ACYM_ALL_TAGS="All tags" +ACYM_AUTOMATION="Automation" +ACYM_BOUNCE_EMAIL="Bounce email address" +ACYM_BOUNCE_EMAIL_PLACEHOLDER="no-reply@example.com" +ACYM_CAMPAIGN="Campaign" +ACYM_CAMPAIGNS="Campaigns" +ACYM_CANCEL="Cancel" +ACYM_CANCEL_SCHEDULING="Cancel Scheduling" +ACYM_CAPTCHA_INVISIBLE="Invisible reCaptcha" +ACYM_CHECK_DB="Check database integrity" +ACYM_CLICK="Click" +ACYM_COLOR="Color" +ACYM_COMMA="Comma (,)" +ACYM_CONFIGURATION="Configuration" +ACYM_CONFIGURATION_ADVANCED="Advanced configuration" +ACYM_CONFIGURATION_CAPTCHA="Captcha" +ACYM_CONFIGURATION_CHARSET="Charset" +ACYM_CONFIGURATION_DB_MAINTENANCE="Database maintenance" +ACYM_CONFIGURATION_DKIM="DKIM" +ACYM_CONFIGURATION_EMBED_ATTACHMENTS="Embed attachments" +ACYM_CONFIGURATION_EMBED_IMAGES="Embed images" +ACYM_CONFIGURATION_ENCODING="Encoding format" +ACYM_CONFIGURATION_HTTPS="Use https" +ACYM_CONFIGURATION_QUEUE="Queue process" +ACYM_CONFIGURATION_QUEUE_AUTOMATIC="Automatic only" +ACYM_CONFIGURATION_QUEUE_AUTOMAN="Automatic / Manual" +ACYM_CONFIGURATION_QUEUE_MANUAL="Manual only" +ACYM_CONFIGURATION_QUEUE_PROCESSING="Queue processing" +ACYM_CONFIGURATION_LANGUAGES="Languages" +ACYM_CONFIGURATION_MAIL="Mail settings" +ACYM_CONFIGURATION_MAIL_DESCRIPTION="How do you want to send your emails?" +ACYM_CONFIGURATION_MULTIPART="Multiple parts" +ACYM_CONFIGURATION_SECURITY="Security" +ACYM_CONFIGURATION_SUBSCRIPTION="Subscription" +ACYM_CONFIRMED="Confirmed" +ACYM_CREATE_NEW_CAMPAIGN="Create new campaign" +ACYM_CREATE_NEW_LIST="Create new list" +ACYM_CREATE_SEGMENT="Create segment" +ACYM_CREATE_TEMPLATE="Create new template" +ACYM_CREATE_AUTOMATION="Create automation" +ACYM_DASHBOARD="Dashboard" +ACYM_DATE_CREATED="Creation date" +ACYM_DECEMBER="December" +ACYM_DEFAULT_SENDER="Default sender information" +ACYM_DELETE="Delete" +ACYM_DELETE_USER="Delete user" +ACYM_DRAFT="Draft" +ACYM_EMAIL="Email" +ACYM_ERROR_SAVING="Error saving" +ACYM_EXPORT="Export" +ACYM_EXPORT_USERS="Export users" +ACYM_FAIL_SAVE_FILE="Couldn't save the file %s" +ACYM_FEBRUARY="February" +ACYM_FRIDAY="Friday" +ACYM_FROM_AS_REPLYTO="Use same settings for REPLY-TO" +ACYM_FROM_EMAIL="From email" +ACYM_FROM_EMAIL_PLACEHOLDER="sender@example.com" +ACYM_FROM_NAME="From name" +ACYM_FROM_NAME_PLACEHOLDER="Company name, your name etc." +ACYM_IMPORT_USERS="Import users" +ACYM_INACTIVE="Inactive" +ACYM_JANUARY="January" +ACYM_JULY="July" +ACYM_JUNE="June" +ACYM_LIBRARY="Library" +ACYM_LIST="List" +ACYM_LISTS="Lists" +ACYM_MY_TEMPLATES="My Templates" +ACYM_LIST_DOESNT_EXIST="The list doesn't exist" +ACYM_LIST_ID="List ID" +ACYM_LIST_IS_SAVED="The list %s is saved" +ACYM_LIST_NAME="List name" +ACYM_MARCH="March" +ACYM_MAY="May" +ACYM_MONDAY="Monday" +ACYM_NAME="Name" +ACYM_NO="No" +ACYM_NO_LIST_SELECTED="No list selected" +ACYM_NOT_ALLOWED_FIELDS="The field(s) %1$s are not in the allowed fields: %2$s" +ACYM_NOVEMBER="November" +ACYM_OCTOBER="October" +ACYM_OPEN="Open" +ACYM_PENDING="Pending" +ACYM_RECIPIENTS="Recipients" +ACYM_REPLYTO_EMAIL="Reply-to email" +ACYM_REPLYTO_EMAIL_PLACEHOLDER="contact@example.com" +ACYM_REPLYTO_NAME="Reply-to name" +ACYM_REPLYTO_NAME_PLACEHOLDER="Company name, your name etc." +ACYM_SAVE_CONTINUE="Save & continue" +ACYM_SAVE_EXIT="Save & exit" +ACYM_SCHEDULED="Scheduled" +ACYM_SEARCH="Search..." +ACYM_SEARCH_AUTOMATION="Search an automation..." +ACYM_SEARCH_A_CAMPAIGN_NAME="Search a campaign name..." +ACYM_SEARCH_A_LIST_NAME="Search a list name..." +ACYM_SEARCH_CAMPAIGN="Search a campaign..." +ACYM_SEARCH_TEMPLATE="Search a template..." +ACYM_SEARCH_USER="Search a user..." +ACYM_SEMICOLON="Semicolon (;)" +ACYM_SENDING="Sending" +ACYM_SENT="Sent" +ACYM_SEPTEMBER="September" +ACYM_SMTP="SMTP Server" +ACYM_SORT_BY="Sort by:" +ACYM_STATISTICS="Statistics" +ACYM_STATUS="Status" +ACYM_SUBSCRIBERS="Subscribers" +ACYM_SUBSCRIPTION_DATE="Subscription date" +ACYM_SUCCESSFULLY_SAVED="Successfully saved" +ACYM_TAGS="Tags" +ACYM_TEMPLATE_NAME="Template name" +ACYM_TEMPLATES="Templates" +ACYM_TUESDAY="Tuesday" +ACYM_SUBSCRIBED="Subscribed" +ACYM_SUBSCRIBE="Subscribe" +ACYM_UNSUBSCRIBE="Unsubscribe" +ACYM_UNSUBSCRIBED="Unsubscribed" +ACYM_USER="User" +ACYM_USERS="Users" +ACYM_YES="Yes" +ACYM_LIST_MAIL_SELECT="If you want your users to receive a specific email when they %s, select one below." +ACYM_WELCOME_MAIL="Welcome email" +ACYM_UNSUBSCRIBE_MAIL="Unsubscribe email" +ACYM_OPTIONAL="Optional" +ACYM_NO_TEMPLATE="There is no %s template." +ACYM_ERROR_SAVING_LIST_TEMPLATE="Error saving the template for the list" +ACYM_CAMPAIGN_SENT_TO="Campaign will be sent to a total of:" +ACYM_CHOOSE_LISTS="Choose lists" +ACYM_SHOW_ALL_LISTS="Show all lists" +ACYM_SHOW_SELECTED_LISTS="Show only selected lists" +ACYM_NEW_LIST="New list" +ACYM_NEW_USER="New user" +ACYM_CREATE="Create" +ACYM_SATURDAY="Saturday" +ACYM_STANDARD="Standard" +ACYM_SUNDAY="Sunday" +ACYM_WEDNESDAY="Wednesday" +ACYM_CREATE_EMPTY_TEMPLATE="Create empty template" +ACYM_START_FROM="Start from" +ACYM_SENDING_DATE="Sending date" +ACYM_CAMPAIGN_CANT_BE_SAVED="The campaign couldn't be saved" +ACYM_TYPE="Type" +ACYM_ATTACHMENTS="Attachments" +ACYM_SEND_SETTINGS="Send settings" +ACYM_THIS_CAMPAIGN_WILL_BE_SENT="This campaign will be sent" +ACYM_SAVE_AS_DRAFT="Save as draft" +ACYM_CONFIRM_CAMPAIGN="Confirm campaign" +ACYM_NOW="Now" +ACYM_CAMPAIGN_SUCCESSFULLY_SAVE_AS_DRAFT="The campaign was succesfully saved as draft" +ACYM_CANT_GET_CAMPAIGN_INFORMATION="The campaign information are not available" +ACYM_EDIT="Edit" +ACYM_EDIT_TEMPLATE="Edit template" +ACYM_CAMPAIGN_WILL_BE_SENT_TO_A_TOTAL_OF="Campaign will be sent to a total of %s recipients" +ACYM_THIS_CAMPAIGN_WILL_BE_SENT_ON_AT="This campaign will be sent on %1$s at %2$s" +ACYM_BACK="Back" +ACYM_NEW_CAMPAIGN="New campaign" +ACYM_MAIN_OPTIONS="Main options" +ACYM_TITLE="Title" +ACYM_DISPLAYED_LISTS="Displayed lists" +ACYM_AUTO_SUBSCRIBE_TO="Automatically subscribe to" +ACYM_TEXT_MODE="Display text mode" +ACYM_TEXT_INSIDE="Inside" +ACYM_TEXT_OUTSIDE="Outside" +ACYM_SUBSCRIBE_TEXT="Subscribe button text" +ACYM_UNSUBSCRIBE_TEXT="Unsubscribe button text" +ACYM_DISPLAY_MODE="Display mode" +ACYM_MODE_HORIZONTAL="Horizontal" +ACYM_MODE_VERTICAL="Vertical" +ACYM_MODE_TABLELESS="Tableless" +ACYM_ADVANCED_OPTIONS="Advanced options" +ACYM_DISPLAY_UNSUB_BUTTON="Unsubscribe button" +ACYM_INTRO_TEXT="Intro text" +ACYM_POST_TEXT="Post text" +ACYM_FORM_AUTOFILL_ID="Display user information if logged in" +ACYM_SOURCE="Source" +ACYM_REDIRECT_LINK="Redirect link" +ACYM_MISSING_NAME="Please enter your name" +ACYM_VALID_EMAIL="Please enter a valid e-mail address" +ACYM_WRONG_CAPTCHA="The captcha is invalid, please try again" +ACYM_SELECT_LIST="Please select the lists you want to subscribe to" +ACYM_SECURITY_KEY="Security key" +ACYM_LOGIN="Please log in" +ACYM_EMAIL_VERIFICATION="Advanced email verification" +ACYM_CHECK_DOMAIN_EXISTS="Check if the domain exists" +ACYM_ERROR_SAVE_USER="Could not save the user" +ACYM_CONFIRMATION_SENT="An e-mail has been sent to confirm your subscription" +ACYM_SUBSCRIPTION_OK="You have successfully subscribed" +ACYM_UNSUBSCRIPTION_OK="You have successfully unsubscribed" +ACYM_ALREADY_SUBSCRIBED="You are already subscribed" +ACYM_NOT_IN_LIST="The e-mail address %s is not in the list of users" +ACYM_UNSUBSCRIPTION_NOT_IN_LIST="You were not subscribed" +ACYM_SITE_KEY="Google site key" +ACYM_SECRET_KEY="Google secret key" +ACYM_HELP="Help" +ACYM_DISPLAYED_LISTS_DESC="The selected lists will be added on the subscription form to let the users opt-in (if they are not selected as automatically subscribed)." +ACYM_AUTO_SUBSCRIBE_TO_DESC="The user will be automatically subscribed to the selected lists. They won't be displayed on your subscription form." +ACYM_TEXT_MODE_DESC="Display the labels inside or outside the fields?" +ACYM_SUBSCRIBE_TEXT_DESC="Text displayed on the subscribe button. You can use a custom translation key for it (create it in the acym configuration page, tab Languages)" +ACYM_DISPLAY_MODE_DESC="Select whether you want to display the form horizontally, vertically or without table (recommended)" +ACYM_UNSUBSCRIBE_TEXT_DESC="Text displayed on the subscribe button. You can use a custom translation key for it (create it in the acym configuration page, tab Languages)" +ACYM_INTRO_TEXT_DESC="This text will be displayed before the subscription form inside a div with the class 'acym_introtext'" +ACYM_POST_TEXT_DESC="This text will be displayed after the subscription form inside a div with the class 'acym_posttext'" +ACYM_FORM_AUTOFILL_ID_DESC="Do you want the logged in users to be automatically identified in the module?" +ACYM_SOURCE_DESC="The source indicates from where your subscribers came from. You will be able to filter them afterwards based on if they came from a subscription form, an imported file, an account creation..." +ACYM_REDIRECT_LINK_DESC="The user will be redirected to this URL after subscribing. If no URL is specified, the form is refreshed using ajax." +ACYM_SUCCESSFULLY_UNSUBSCRIBED="Succesfully unsubscribed" +ACYM_ERROR_DURING_UNSUBSCRIBE="Error during unsubscribe" +ACYM_LIST_SETTINGS="List settings" +ACYM_SAVE="Save" +ACYM_BACK_TO_LISTING="Back to listing" +ACYM_ENABLE="Enable" +ACYM_DISABLE="Disable" +ACYM_CHOOSE_ACTION="Choose an action" +ACYM_STOP_THE_SCHEDULING_AND_SET_CAMPAIGN_AS_DRAFT="Stop the scheduling and set campaign as draft" +ACYM_SENDER_INFORMATION="Sender information" +ACYM_BCC="BCC" +ACYM_WHEN_EMAIL_WILL_BE_SENT="When do you want your email to be sent?" +ACYM_SUGGEST_BEST_TIME="Suggested send date (based on past data):" +ACYM_CHOOSE_THIS_DATE="Choose this date" +ACYM_SENT_AS_SOON_CAMPAIGN_SAVE="Your campaign will be sent as soon as you confirm it" +ACYM_CAMPAIGN_WILL_BE_SENT="This campaign will be sent at: " +ACYM_SUMMARY="Summary" +ACYM_THE_USER_HAS_BEEN_UNSUBSCRIBED="The user has been unsubscribed" +ACYM_THE_USER_CANT_BE_UNSUBSCRIBED="The user couldn't be unsubscribed" +ACYM_FAMILY="Family" +ACYM_SIZE="Size" +ACYM_STYLE="Style" +ACYM_DESIGN="Design" +ACYM_BACKGROUND_COLOR="Background color" +ACYM_BLOCKS="Blocks" +ACYM_CONTENTS="Contents" +ACYM_IMPORT="Import" +ACYM_CHOOSE_FILE_WITH_USER_DATA="Choose a CSV file with your user data" +ACYM_IMPORT_USER_FROM_FILE_INFORMATION_MESSAGE_BELOW_CHOOSE_FILE_BUTTON="Please make sure the contacts you import accepted to receive emails from you" +ACYM_PLEASE_BROWSE_FILE_IMPORT="Please browse for a file to import" +ACYM_FAIL_OPEN="Could not open the file %s" +ACYM_IGNORE="Ignore" +ACYM_IGNORE_UNASSIGNED="Ignore unassigned columns" +ACYM_CLICK_TO_EDIT="Click to edit" +ACYM_CONFIRM="Confirm" +ACYM_ADD_SUBSCRIPTION="Add subscription" +ACYM_RESUBSCRIBE="re-subscribe" +ACYM_SORT_ASC="Ascending sort (click for descending sort)" +ACYM_SORT_DESC="Descending sort (click for ascending sort)" +ACYM_DATE_FORMAT_LC1="l, j F Y" +ACYM_DATE_FORMAT_LC2="l, j F Y H:i" +ACYM_FAIL_UPLOAD="Could not upload the file %1$s to %2$s" +ACYM_WRITABLE_FOLDER="Please make sure the folder ( %s ) is writable" +ACYM_UPLOADED_FILE_NOT_FOUND="Uploaded file not found:" +ACYM_COLUMNS_NOT_FOUND="Columns not found" +ACYM_IMPORT_HEADER="The first line of your file (%s) must contain only columns of the acym_user table" +ACYM_IMPORT_EMAIL="You need at least the column email
                      Example: name,email" +ACYM_IMPORT_ARGUMENTS="You need %s arguments per line, one or more line(s) couldn't be imported" +ACYM_DOWNLOAD_IMPORT_ERRORS="Click here to download all lines containing errors" +ACYM_IMPORT_REPORT="%1$s users in the imported file:
                      - %2$s new users imported
                      - %3$s invalid lines or email addresses
                      - %4$s already existing users or duplicate entries" +ACYM_IMPORT_ERROR_FIELD="The column %1$s is not in the list of possible columns: %2$s" +ACYM_UPLOADED_FILE_EXCEED_MAX_FILESIZE_PHP="The uploaded file exceeds the upload_max_filesize directive in php configuration" +ACYM_FILE_UPLOADED_PARTIALLY="The uploaded file was only partially uploaded" +ACYM_NO_FILE_WAS_UPLOADED="No file was uploaded" +ACYM_UNKNOWN_ERROR_UPLOADING_FILE="Error uploading the file on the server, unknown error: %s" +ACYM_IMPORT_FROM_FILE="Import from file" +ACYM_IMPORT_FROM_TEXT="Import from text" +ACYM_CMS_USERS="%s users" +ACYM_IMPORT_UPDATE="%s AcyMailing users updated" +ACYM_IMPORT_DELETE="%s AcyMailing users deleted" +ACYM_IMPORT_NEW="%s new users imported" +ACYM_IMPORT_NB_WEBSITE_USERS="There are %s users on your website" +ACYM_IMPORT_NB_ACYM_USERS="There are %s registered users in AcyMailing" +ACYM_IMPORT_CMS_1="If you click on the 'import' button, the system will:" +ACYM_IMPORT_CMS_2="Update the AcyMailing users from your %s users" +ACYM_IMPORT_CMS_3="Delete the AcyMailing users if they were linked to a %s user that does not exist any more" +ACYM_IMPORT_CMS_4="Add all your %s users into AcyMailing if they are not already there" +ACYM_IMPORT_CMS_5="Subscribe all your %s users to the selected lists if they are not already subscribed or unsubscribed from it" +ACYM_FILES="Files" +ACYM_ALLOWED_FILES="Allowed files" +ACYM_EMPTY_TEXTAREA="Empty textarea" +ACYM_DATABASE="Database" +ACYM_SPECIFYTABLE="Please select a table name from your database" +ACYM_SPECIFYFIELDEMAIL="Please select a field for the email" +ACYM_SPECIFYFIELD="The field "_QQ_"%1$s"_QQ_" could not be found. Please specify a field from the table:
                      %2$s" +ACYM_SUBSCRIPTION="Subscription" +ACYM_REQUIRE_CONFIRMATION="Require confirmation" +ACYM_IMPORT_USERS_AS_CONFIRMED="Import the users as confirmed" +ACYM_PARAMETERS="Parameters" +ACYM_UNASSIGNED="Unassigned" +ACYM_IMPORT_THIS_FILE="Import this file" +ACYM_IMPORT_IN_THESE_LISTS="Import in these lists" +ACYM_REQUIRED_FIELD="Required field" +ACYM_DEFAULT_VALIDATION_ERROR="Please set a valid data" +ACYM_VALID_NUMBER="Please set a valid number" +ACYM_TEMPLATE_DESIGN="Template design" +ACYM_BORDER="Border" +ACYM_RADIUS="Radius" +ACYM_TEXT="Text" +ACYM_WIDTH="Width" +ACYM_HEIGHT="Height" +ACYM_MY_BUTTON="My button" +ACYM_BUTTON="Button" +ACYM_SPACE="Space" +ACYM_IMAGE="Image" +ACYM_VIDEO="Video" +ACYM_FOLLOW="Follow" +ACYM_SHARE="Share" +ACYM_EDIT_EMAIL="Edit email" +ACYM_CHOOSE_TEMPLATE="Choose template" +ACYM_CAMPAIGN_NOT_FOUND="Campaign not found" +ACYM_CAMPAIGN_NAME="Campaign name" +ACYM_EMAIL_SUBJECT="Email subject" +ACYM_APPLY="Apply" +ACYM_REMOVE="remove" +ACYM_SUBSCRIBE_TO="Subscribe to" +ACYM_X_CONFIRMATION_SUBSCRIPTION_ADDED_AND_CLICK_TO_SAVE="%s subscriptions added. Please click on the save button to confirm them." +ACYM_PLEASE_SELECT_LIST="Please select a list" +ACYM_SEND_EMPTY="There is no Subject or Body in this e-mail" +ACYM_SEND_ERROR="Error sending message %1$s to %2$s" +ACYM_SEND_SUCCESS="Message %1$s successfully sent to %2$s" +ACYM_SEND_ERROR_USER="User not found: %s" +ACYM_SEND_TEST="Send a test" +ACYM_TEST_EMAIL="If you receive this message, that means your configuration is Ok" +ACYM_OPENSSL="The PHP Extension openssl is not enabled on your server, this extension is required to use an SSL connection, please enable it" +ACYM_ADVICE_BOUNCE="The specified bounce e-mail address %s might cause the problem, please delete it (leave the field bounce address empty) and try again." +ACYM_ADVICE_SMTP_AUTH="You specified an SMTP password but you don't require an authentification, you might want to turn the SMTP authentication ON." +ACYM_ADVICE_LOCALHOST="Your local website may not have a mail server. Please make sure you can send e-mails with the site first (password request, registration confirmation...)." +ACYM_ADVICE_PORT="The port you specified (%s) is not a common port for smtp connexions... Please leave the port empty and give it a new try" +ACYM_ADD_NAMES="Add names" +ACYM_SPECIAL_CHARS="Accept special chars in email addresses" +ACYM_SENDMAIL_PATH="SendMail Path" +ACYM_SMTP_SERVER="Server" +ACYM_SMTP_PORT="Port" +ACYM_SMTP_SECURE="Secure method" +ACYM_SMTP_ALIVE="Keep Alive" +ACYM_SMTP_AUTHENTICATION="Authentication" +ACYM_SMTP_USERNAME="Username" +ACYM_SMTP_PASSWORD="Password" +ACYM_SMTP_AVAILABLE_PORTS="Which port can I use from my website?" +ACYM_SMTP_AVAILABLE_PORT="The port %s is available." +ACYM_SMTP_NOT_AVAILABLE_PORT="The port %1$s is not opened on your server: %2$s" +ACYM_FSOCKOPEN="fsockopen is not enabled, please contact your hosting company to enable it" +ACYM_API_KEY="API key" +ACYM_REST_API="REST API" +ACYM_DKIM_SETTINGS="DKIM Settings" +ACYM_DKIM_SAVE="Please save your AcyMailing configuration to generate the DKIM keys" +ACYM_DKIM_CONFIGURE="Configure your DNS by adding a TXT record on your domain %s using the key/value as shown below:" +ACYM_DKIM_KEY="Key" +ACYM_DKIM_VALUE="Value" +ACYM_DKIM_LET_ME="Let me enter my own keys." +ACYM_DKIM_DOMAIN="Domain" +ACYM_DKIM_SELECTOR="Selector" +ACYM_DKIM_PASSPHRASE="Passphrase" +ACYM_DKIM_IDENTITY="Identity" +ACYM_DKIM_PRIVATE="Private key" +ACYM_DKIM_PUBLIC="Public Key" +ACYM_CRON="Cron" +ACYM_CRON_WRONG_DOMAIN="The domain name is not valid (%s). If you use your own cron system, please make sure you trigger AcyMailing with the full domain name." +ACYM_CRON_TRIGGERED="AcyMailing Triggered at %s" +ACYM_CRON_NEXT="The system won't be triggered before %s" +ACYM_AUTO_SEND_PROCESS="Automatic send process" +ACYM_SEND_X_EVERY_Y="Send %1$s e-mails every %2$s" +ACYM_SECONDS="Seconds" +ACYM_MINUTES="Minutes" +ACYM_HOURS="Hours" +ACYM_DAYS="Days" +ACYM_WEEKS="Weeks" +ACYM_MONTHS="Months" +ACYM_MANUAL_SEND_PROCESS="Manual send process" +ACYM_SEND_X_WAIT_Y="Send %1$s e-mails and then wait %2$s before sending another batch" +ACYM_MAX_EXECUTION_TIME="Maximum execution time" +ACYM_TIMEOUT_SERVER="Based on your server configuration, each batch can run for %s seconds" +ACYM_TIMEOUT_CURRENT="We are currently checking your real maximum execution time... At least %s seconds so far" +ACYM_MAX_RUN="Based on our check, we can run each batch for %s seconds" +ACYM_TIMEOUT_AGAIN="Calculate the real maximum execution time again" +ACYM_ORDER_SEND_QUEUE="Order the send process by" +ACYM_RANDOM="Random" +ACYM_NO_RAND_FOR_MULTQUEUE="You should not use the random ordering if you use the multiple queue system." +ACYM_CREATE_CRON_REMINDER="Your cron does not seem to be enabled, don't forget to create it!" +ACYM_CREATE_CRON="Create/Edit your Cron task" +ACYM_REPORT="Report" +ACYM_REPORT_SEND="Send a report" +ACYM_REPORT_SEND_TO="Send the report to" +ACYM_REPORT_SAVE="Save the report" +ACYM_REPORT_SAVE_TO="Save the report to" +ACYM_REPORT_DELETE="Delete the report" +ACYM_REPORT_SEE="See the report" +ACYM_EACH_TIME="Each time AcyMailing is triggered" +ACYM_ONLY_ACTION="Only if AcyMailing executes an action" +ACYM_SIMPLIFIED_REPORT="Simplified Report" +ACYM_DETAILED_REPORT="Detailed Report" +ACYM_ONLY_SOMETHING_WRONG="Only if an error occurs" +ACYM_MINUTES_AGO="%s minutes ago" +ACYM_CURRENT_TIME="Your current time is %s" +ACYM_WRONG_LOG_NAME="The log file must only contain alphanumeric characters and end with .log" +ACYM_EMPTY_LOG="The log file is empty" +ACYM_SUCC_DELETE_LOG="Log file successfully deleted" +ACYM_ERROR_DELETE_LOG="Could not delete the Log file" +ACYM_EXIST_LOG="Log file does not exist" +ACYM_LAST_CRON="Last Cron" +ACYM_LAST_RUN="Last Run time" +ACYM_CRON_TRIGGERED_IP="Triggered from the IP" +ACYM_SEND="Send" +ACYM_CAMPAIGN_ADDED_TO_QUEUE="The campaign %s has been added to the queue" +ACYM_ERROR_QUEUE_CAMPAIGN="Couldn't add the campaign %s to the queue" +ACYM_CAMPAIGN_ALREADY_QUEUED="This campaign is already in the queue" +ACYM_QUEUE="Queue" +ACYM_QUEUE_AUTOMATED="Automated emails" +ACYM_QUEUE_DETAILED="Detailed queue" +ACYM_PAUSED="Paused" +ACYM_ADDED_QUEUE_SCHEDULE="%1$s emails have been added to the queue for the Scheduled Campaign %2$s" +ACYM_SELECT_TABLE="Select a table" +ACYM_FIELD_MATCHING="Field matching" +ACYM_ASSIGN_COLUMNS="Please match AcyMailing standard fields (email, name...) with the fields you are importing." +ACYM_ENCODING="Encoding" +ACYM_USERS_FROM_LISTS="Users from lists" +ACYM_ALL_USERS="All users" +ACYM_USERS_TO_EXPORT="Users to export" +ACYM_EXPORT_SELECT_LIST="Please select at least one list" +ACYM_EXPORT_SELECT_FIELD="Please select at least one field to export" +ACYM_DATA_WILL_EXPORT_CSV_FORMAT="Data will be exported to CSV format" +ACYM_FIELDS_TO_EXPORT="Fields to export" +ACYM_X_RECIPIENTS="%s recipients" +ACYM_QUEUE_SENDING="Sending..." +ACYM_QUEUE_READY="Ready to be sent" +ACYM_CANCEL_CAMPAIGN="Cancel campaign" +ACYM_ARE_YOU_SURE="Are you sure?" +ACYM_IMPORT_ERROR_WRONG_NUMBER_ARGUMENTS="The number of arguments doesn't match with number of columns" +ACYM_ADDRESSES_INVALID="One or more address(es) are invalid and couldn't be imported" +ACYM_INVALID_EMAIL_ADDRESS="Invalid address" +ACYM_ALL_USER_WILL_BE_EXPORTED="All the users will be exported" +ACYM_SUMMARY_NUMBER_RECEIVERS_EXPLICATION="Some users are subscribed to several lists, but they are counted only one time on this total. They will received only one email." +ACYM_AUDIENCE="Audience" +ACYM_AUTOAMTION="Automation" +ACYM_VIEW_ALL_LISTS="View all lists" +ACYM_CREATE_LIST="Create list" +ACYM_VIEW_ALL_CAMPAIGNS="View all campaigns" +ACYM_CREATE_CAMPAIGN="Create campaign" +ACYM_CAMPAIGNS_SCHEDULED="Campaigns scheduled" +ACYM_NONE_OF_YOUR_CAMPAIGN_SCHEDULED_GO_SCHEDULE_ONE="None of your campaigns is scheduled go schedule one!" +ACYM_YOUR_EMAIL="your.mail@example.com" +ACYM_FROM_MAIL_ADDRESS="From mail address" +ACYM_USING_YOUR_SERVER="Using your server" +ACYM_USING_AN_EXTERNAL_SERVER="Using an external server" +ACYM_PHP_MAIL_FUNCTION="PHP Mail Function" +ACYM_SAFE_CHECK="Safe check" +ACYM_COMING_SOON="Coming soon" +ACYM_ONLYAUTOPROCESS="You configured AcyMailing to use the automatic send process only. You can't trigger the send process via this button unless you allow the manual send process via the AcyMailing configuration page" +ACYM_TRY="Try" +ACYM_NO_PROCESS="There is nothing to send" +ACYM_SEND_PROCESS="Send Process" +ACYM_DONT_CLOSE="You must keep this popup opened to continue sending. If you want to be able to close the page and turn Off your computer, you can let the cron task run the automatic send process (only available in our commercial versions)" +ACYM_QUEUE_DOUBLE="Send process running in parallel detected, the system stopped but you will be able to resume it" +ACYM_QUEUE_NEXT_TRY="Next try in %s minutes" +ACYM_SEND_REFRESH_TIMEOUT="Process refreshed to avoid a time limit" +ACYM_SEND_REFRESH_CONNECTION="Process refreshed to avoid a possible loss of connection" +ACYM_SEND_STOPED="The Send Process stopped because there are too many errors" +ACYM_SEND_KEPT_ALL="The system kept all non delivered e-mails in the queue, so you will be able to resume the send process later" +ACYM_SEND_CHECKONE="Please verify your mail configuration and make sure you can send a test of this e-mail" +ACYM_SEND_ADVISE_LIMITATION="If you recently, successfully, sent a lot of e-mails, those errors may also be due to your server limitations" +ACYM_SEND_REFUSE="Your server apparently refuses to send more e-mails" +ACYM_SEND_CONTINUE_COMMERCIAL="Using one of our commercial versions, the system would be able to continue automatically the send process using a Cron" +ACYM_SEND_CONTINUE_AUTO="If you configured a cron task, the system will automatically continue the send process" +ACYM_CONFIG_TRY="Try %s times to deliver the message." +ACYM_CONFIG_TRY_ACTION="If it still fails, %s" +ACYM_MAX_NB_TRY="Maximum number of tries" +ACYM_MAX_NB_TRY_DESC="If AcyMailing can not send the e-mail after X tries, AcyMailing will delete the e-mail from the queue." +ACYM_DO_NOTHING="Do nothing" +ACYM_REMOVE_SUB="Delete the user subscription" +ACYM_UNSUB_USER="Unsubscribe the user" +ACYM_SUBSCRIBE_USER="Subscribe the user" +ACYM_BLOCK_USER="Block the user" +ACYM_SEND_NOW="Send now" +ACYM_SEND_ALL="Send all" +ACYM_NB_SCHEDULED="%s campaign(s) scheduled" +ACYM_CRON_PROCESS="%1$s messages processed: %2$s successful, %3$s failed" +ACYM_INSERT_IMG_BAD_NAME="The name of the picture is not correct and may not be displayed on some mail clients. Do you want to insert it?" +ACYM_NON_VALID_URL="It's not a valid url. Please correct it and try again." +ACYM_SUBSCRIBED_USER="Subscribed users" +ACYM_UNSUBSCRIBED_USER="Unsubscribed users" +ACYM_COLLAPSE="Collapse" +ACYM_EXPORT_REPORT="Export report" +ACYM_DONT_HAVE_STATS_CAMPAIGN="You didn't send any campaign yet" +ACYM_DONT_HAVE_STATS_THIS_CAMPAIGN="You don't have any statistics in this campaign, send it!" +ACYM_LOOK_AT_THESE_AMAZING_DONUTS="Here are some examples of what you'll see." +ACYM_FAIL="Fail" +ACYM_CLICK_RATE="Click rate" +ACYM_OPEN_RATE="Open rate" +ACYM_OR_THIS_AWESOME_CHART_LINE="And awesome chart lines!" +ACYM_START="Start: " +ACYM_END="End: " +ACYM_BY_HOUR="By hour" +ACYM_BY_DAY="By day" +ACYM_BY_MONTH="By month" +ACYM_YOU_DONT_HAVE_ANY_DATA_ON_THIS_CAMPAIGN="You don't have any open data/click data on this campaign" +ACYM_HERE_AN_EXEMPLE_OF_WHAT_YOU_CAN_GET="Here an exemple of what you can get when you will have data!" +ACYM_GLOBAL_STATISTICS="Global statistics" +ACYM_CHOOSE_USERS="Choose users" +ACYM_SHOW_SELECTED_USERS="Show selected users" +ACYM_SHOW_ALL_USERS="Show all users" +ACYM_PLEASE_SELECT_USER="Please select user" +ACYM_SEARCH_A_USER_NAME="Search a user name" +ACYM_USERS_SUBSCRIBED="Users successfully subscribed" +ACYM_NO_USERS_HAVE_BEEN_SUBSCRIBED="No users have been subscribed" +ACYM_DETAILED_STATS="Detailed statistics" +ACYM_SEND_DATE="Send date" +ACYM_MAILS_OPEN="Mails open" +ACYM_OPEN_DATE="Open date" +ACYM_SEARCH_A_CAMPAIGN_NAME_OR_EMAIL="Search a campaign name or an email" +ACYM_YOU_DONT_HAVE_ANY_USER="You don't have any user." +ACYM_YOU_DONT_HAVE_ANY_LIST="You don't have any list." +ACYM_CREATE_YOUR_FIRST_ONE="Create your first one!" +ACYM_YOU_DONT_HAVE_ANY_TEMPLATE="You don't have any template." +ACYM_CREATE_AN_AMAZING_TEMPLATE_WITH_OUR_AMAZING_EDITOR="Create an amazing template with our amazing editor!" +ACYM_YOU_DONT_HAVE_ANY_CAMPAIGN="You don't have any campaign." +ACYM_CREATE_ONE_NOW="Create one now!" +ACYM_YOU_DONT_HAVE_ANY_AUTOMATION="You don't have any automation" +ACYM_CREATE_ONE_AND_LET_ACYAMAILING_DO_IT="Create one and let AcyMailing do it!" +ACYM_OPENED="Opened" +ACYM_ID="ID" +ACYM_CREATE_ONE="Create one" +ACYM_NO_USERS_SUBSCRIBE="No subscribers yet, subscribe users to this list." +ACYM_CREATE_OR_IMPORT_YOUR_FIRST_ONE="Create or import your first one!" +ACYM_ADD_RECIPIENTS_TO_SEND_THIS_CAMPAIGN="Add recipients to send this campaign" +ACYM_YOU_DONT_HAVE_ANY_CAMPAIGN_IN_QUEUE="You don't have any campaign in the queue" +ACYM_SEND_ONE_AND_SEE_HOW_AMAZING_QUEUE_IS="Send one and see how amazing the queue is!" +ACYM_CAMPAIGN_ALREADY_SENT="The campaign %s has already been sent" +ACYM_CAMPAIGN_HAS_BEEN_SENT_TO_A_TOTAL_OF="Campaign has been sent to a total of %s recipients" +ACYM_THIS_CAMPAIGN_HAS_BEEN_SENT_ON_AT="This campaign has been sent on %1$s at %2$s" +ACYM_ARE_YOU_SURE_DELETE="Are you sure you want to delete these elements?" +ACYM_ARE_YOU_SURE_INACTIVE="Are you sure you want to disable these elements?" +ACYM_ARE_YOU_SURE_ACTIVE="Are you sure you want to enable these elements?" +ACYM_SEARCH_TAGS="Search tag..." +ACYM_SEARCH_ENCODING="Search encoding method" +ACYM_CREATE_CAMPAIGN_EMPTY_TEMPLATE="Please create a template with our amazing editor or create a campaign with an empty template" +ACYM_X_ALREADY_EXIST="%s already exist" +ACYM_WEBSITE_LINKS="Website links" +ACYM_TIME="Time" +ACYM_SUBSCRIBER="Subscriber" +ACYM_RECEIVER_INFORMATION="Receiver information" +ACYM_USER_FIRSTPART="First part of the user name" +ACYM_USER_LASTPART="Last part of the user name" +ACYM_USER_FIRSTPART_DESC="For example the first part of the user John Doe is John" +ACYM_USER_LASTPART_DESC="For example the last part of the user John Doe is Doe" +ACYM_USER_ID="User id" +ACYM_USER_NAME="User name" +ACYM_USER_EMAIL="User email" +ACYM_USER_CREATION_DATE="User creation date" +ACYM_USER_SOURCE="User source" +ACYM_USER_CONFIRMED="User confirmed" +ACYM_USER_SEND_DATE="User last send date" +ACYM_USER_OPEN_DATE="User last open date" +ACYM_USER_CLICK_DATE="User last click date" +ACYM_INSERT="Insert" +ACYM_DATE_FORMAT_LC3="d F Y" +ACYM_DATE_FORMAT_LC4="Y-m-d" +ACYM_UNSUBSCRIBE_LINK=" Insert an unsubscribe link in your email" +ACYM_CONFIRM_SUBSCRIPTION_LINK="Insert a confirm your subscription link in your email" +ACYM_SUBSCRIBE_LINK="Insert a subscribe link in your email" +ACYM_CONFIRM_SUBSCRIPTION="Click here to confirm your subscription" +ACYM_LIST_NAMES="List names" +ACYM_DYNAMIC_TEXT="Dynamic text" +ACYM_TIME_FORMAT="Time format" +ACYM_LISTS_SELECTED="List(s) selected: " +ACYM_VIEW_ONLINE="Click here to view it online" +ACYM_VIEW_ONLINE_DESC="Insert a view it online link in your email" +ACYM_CMS_USER="%s user" +ACYM_LOGIN_NAME="Login name of the user" +ACYM_REGISTRATION_DATE="Registration date of the user" +ACYM_USER_GROUPS="User groups" +ACYM_NO_GROUP="No group" +ACYM_CUSTOM_FIELDS="Custom fields" +ACYM_VISITOR="Visitor" +ACYM_DEFAULT="Default" +ACYM_CONFIRMED_CAMPAIGN="The campaign has been confirmed. It will be add to the queue at %s" +ACYM_CANT_CONFIRM_CAMPAIGN="The campaign couldn't be confirmed" +ACYM_TEMPLATE_CHANGED_CLICK_ON_SAVE="Your template has been changed please save the modifications by clicking the save button" +ACYM_MIGRATED_TEMPLATE="Migrated template" +ACYM_DO_YOU_WANT_TO_MIGRATE="First of all, do you want to migrate some data from you old AcyMailing component?" +ACYM_WHICH_DATA_TO_MIGRATE="Which data do you want to migrate?" +ACYM_MIGRATE="Migrate" +ACYM_NO_DONT_WANT_TO_MIGRATE_MY_DATA="No, I don't want to migrate my data" +ACYM_GLOBAL_STATS="Global statistics" +ACYM_MIGRATION_DONE="Migration done!" +ACYM_CONTINUE="Continue" +ACYM_NEWSLETTERS="Newsletters" +ACYM_RESTART_FROM_ERROR="Restart from error" +ACYM_IGNORE_ERRORS_AND_CONTINUE="Ignore errors and continue" +ACYM_MIGRATE_WARNING_DATA_OVERWRITE_MESSAGE="If you choose to migrate your old AcyMailing data (5.X version) then your AcyMailing 6 data will be overwritten. So please make sure you won't lose any important data stored in your AcyMailing 6 instance." +ACYM_CLEAN_ERROR="Clean error" +ACYM_INSERT_ERROR="Insert error" +ACYM_FIELD_TYPE="Field type" +ACYM_REQUIRED="Required" +ACYM_BACKEND="Backend" +ACYM_FRONTEND="Frontend" +ACYM_PROFILE="Profile" +ACYM_LISTING="Listing" +ACYM_CANT_DELETE="You can't delete core elements" +ACYM_TEXTAREA="Textarea" +ACYM_RADIO="Radio" +ACYM_CHECKBOX="Checkbox" +ACYM_SINGLE_DROPDOWN="Single dropdown" +ACYM_MULTIPLE_DROPDOWN="Multiple dropdown" +ACYM_DATE="Date" +ACYM_FILE="File" +ACYM_PHONE="Phone" +ACYM_CUSTOM_TEXT="Custom text" +ACYM_CATEGORY="Category" +ACYM_EDITABLE_USER_CREATION="Editable on user creation" +ACYM_EDITABLE_USER_MODIFICATION="Editable on user modification" +ACYM_CUSTOM_ERROR="Custom error message" +ACYM_NUMBER_ONLY="Number only" +ACYM_LETTERS_ONLY="Letters only" +ACYM_NUMBERS_LETTERS_ONLY="Numbers and letters only" +ACYM_REGULAR_EXPRESSION="My regular expression" +ACYM_AUTHORIZED_CONTENT="Authorized content" +ACYM_DEFAULT_VALUE="Default value" +ACYM_ERROR_MESSAGE_INVALID_CONTENT="Error message to display if content isn't respected" +ACYM_FORM="Form" +ACYM_ROWS="Rows" +ACYM_COLUMNS="Columns" +ACYM_HTML_TAG_CATEGORIES="HTML tag for categories" +ACYM_VALUE="Value" +ACYM_CSS_CLASS="CSS Class" +ACYM_ADD_VALUE="Add a new value" +ACYM_VALUE_FROM_DB="Value from database" +ACYM_WHERE="Where" +ACYM_WHERE_VALUE="Where value" +ACYM_WHERE_OPERATION="Where operation" +ACYM_ORDER_BY="Order by" +ACYM_SORT_ORDERING="Sort ordering" +ACYM_TABLES="Tables" +ACYM_INPUT_WIDTH="input width (px)" +ACYM_X_TO_ENTER_X="%1$s to enter the %2$s" +ACYM_DAY="Day" +ACYM_MONTH="Month" +ACYM_YEAR="Year" +ACYM_EXEMPLE_FORMAT="For exemple with the format %d%m%y the date will be 14/06/1997" +ACYM_PHONE_NOCOUNTRY="No country" +ACYM_NO_FILE_CHOSEN="No file chosen" +ACYM_CHOOSE_FILE="Choose file" +ACYM_FIELDS_TO_DISPLAY="Fields to display" +ACYM_ERROR_QUEUE_CANCEL_CAMPAIGN="Can't access to campaign" +ACYM_CONFIRMATION_CANCEL_CAMPAIGN_QUEUE="Are you sure you want to cancel this campaign? If the campaign was sent to, at least, one receiver, you won't be able to edit or resend the campaign" +ACYM_ERROR_QUEUE_PAUSE="Couldn't pause campaign" +ACYM_ERROR_QUEUE_RESUME="Couldn't resume campaign" +ACYM_LOAD_LATEST_LANGUAGE="Load the latest version from our server" +ACYM_CUSTOM_TRANS="Custom translations" +ACYM_CUSTOM_TRANS_DESC="The following strings won't be overwritten if you update/upgrade AcyMailing" +ACYM_FAIL_SAVE="Could not save the file %s" +ACYM_LOAD_ENGLISH_1="AcyMailing is currently not translated in this language." +ACYM_LOAD_ENGLISH_2="The english version will be loaded so that you can translate it." +ACYM_LOAD_ENGLISH_3="Once done, don't forget to share your translation with the rest of the community! Even 10 lines translated will make the difference ;)" +ACYM_SHARE_CONFIRMATION_1="This Language File will be sent to the Acyba translation team and may be included in the next version." +ACYM_SHARE_CONFIRMATION_2="By sharing this file, you allow Acyba to use your work for any purpose." +ACYM_SHARE_CONFIRMATION_3="You can add a personnal message in the following area which will be included in the e-mail sent to the team." +ACYM_THANK_YOU_SHARING="Thank you for your contribution!" +ACYM_SEND_CAMPAIGN="Send campaign" +ACYM_SHARE_TRANSLATION="Share your translation" +ACYM_EMAIL_BODY="Email body:" +ACYM_SURE_SEND_TRANSALTION="Are you sure you want to send us this translation? Please do not send it if you didn't modify the translation." +ACYM_MESSAGE_SENT="The message has been sent to Acyba's support team." +ACYM_CONFIRMATION_REDIRECTION="Redirection after confirmation" +ACYM_ALREADY_CONFIRMED="You have already confirmed your subscription" +ACYM_SUBSCRIPTION_CONFIRMED="Your subscription has been confirmed" +ACYM_INACTIVE_USERS="Number of pending users" +ACYM_TEST="Tests" +ACYM_SAFE_CHECK_DESC="Safe check tests need to be run before you can send your campaign." +ACYM_TEST_ADDRESS="test@example.com..." +ACYM_SEND_TEST_TO="Send test mail to" +ACYM_TESTS_SPAM="SPAM score > 80%" +ACYM_TESTS_SAFE_CONTENT="Safe content" +ACYM_TESTS_LINKS="All links checked" +ACYM_TESTS_CONTENT_DESC="The following expressions are not recommended:" +ACYM_SPAMTEST_MISSING_EMAIL="Missing test mail address" +ACYM_ERROR_LOAD_FROM_ACYBA="Could not load your information from our server" +ACYM_TESTS_SPAM_SENT="Test email sent, waiting for the report..." +ACYM_MENU="AcyMailing: %s" +ACYM_MENU_FORM="Newsletter subscription form" +ACYM_MENU_FORM_DESC="Form used by your users to subscribe to the contact lists in order to receive your newsletters" +ACYM_MENU_PROFILE="User profile" +ACYM_MENU_PROFILE_DESC="This element gives your visitors or logged-in users a way to subscribe / modify their subscription." +ACYM_VISIBLE_LISTS="Visible lists" +ACYM_VISIBLE_LISTS_DESC="The following selected lists will be displayed on your subscribe form." +ACYM_DROPDOWN_LISTS="Lists in a dropdown" +ACYM_DROPDOWN_LISTS_DESC="Display the visible lists in a dropdown" +ACYM_LISTS_CHECKED_DEFAULT="Lists checked by default" +ACYM_LISTS_CHECKED_DEFAULT_DESC="The selected lists will be checked by default on your form." +ACYM_ALLOW_VISITOR="Allow non-logged in users" +ACYM_ONLY_LOGGED="The subscription is restricted to logged in users" +ACYM_USER_INFORMATION="User Information" +ACYM_CONFIGURATION_DATA_COLLECTION="Data collection" +ACYM_CONFIDENTIALITY="Confidentiality" +ACYM_TRACKING="Tracking" +ACYM_TRACKINGSYSTEM="Track clicks with" +ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS="Track links for external websites" +ACYM_GDPR_EXPORT_BUTTON="Allow users to export their data from their profile page" +ACYM_EXPORT_MY_DATA="Export my data" +ACYM_DELETE_MY_DATA="Delete all my data" +ACYM_DELETE_MY_DATA_CONFIRM="This will permanently delete all your data" +ACYM_DATA_DELETED="Your personal data has been successfully deleted from our mailing system" +ACYM_ERROR_DELETE_DATA="An error occurred while deleting your personal data, please contact an administrator" +ACYM_MODIFY_SUBSCRIPTION="Modify your Subscription" +ACYM_SAVE_CHANGES="Save Changes" +ACYM_GENERATE_NAME="Auto-generate User's name" +ACYM_NOT_ALLOWED_MODIFY_USER="You are not allowed to modify this user" +ACYM_ALLOW_MODIFICATION="Allow user data modifications without identification" +ACYM_ALLOW_ONLY_THEIRS="Only their subscription" +ACYM_ADDRESS_TAKEN="This email address is already taken by another user" +ACYM_SUBSCRIPTION_UPDATED_OK="Subscription successfully updated" +ACYM_IDENTIFICATION_SENT="An email to verify your identity has been sent.
                      Please click on the link in the email to be able to modify your subscription." +ACYM_NEW_CUSTOM_FIELD="New custom field" +ACYM_UPLOAD_FOLDER="Upload folder" +ACYM_ADD_ATTACHMENT="Attach a new file" +ACYM_MAX_UPLOAD="(total max upload file size: %s)" +ACYM_SUCCESS_FILE_UPLOAD="File successfully uploaded" +ACYM_FILE_RENAMED="An image with this name already exists. Image has been renamed as %s" +ACYM_ACCEPTED_TYPE="This file type (%1$s) is not accepted, the accepted file types are: %2$s" +ACYM_SELECT="Select" +ACYM_NO_FILE_HERE="No file here" +ACYM_DD_EDITOR="Drag & Drop Editor" +ACYM_LOAD_STYLESHEET="Load style sheet" +ACYM_CUSTOM_ADD_STYLESHEET="Add custom style sheet" +ACYM_HERE_PASTE_YOUR_STYLESHEET="Here you can paste your style sheet" +ACYM_SUCCESSFULLY_SENT="Successfully sent" +ACYM_FIELDS_TO_DISPLAY_DESC="The selected fields will be displayed on the registration form" +ACYM_DOCUMENTATION="Documentation" +ACYM_NEXT="Next" +ACYM_SKIP="Skip" +ACYM_INTRO_ADD_DTEXT="Here you can add dynamic text to your email" +ACYM_INTRO_TEMPLATE="Here is you template" +ACYM_INTRO_DRAG_BLOCKS="You can drag these blocks to your template to add them" +ACYM_INTRO_DRAG_CONTENT="You can then drag these contents in the blocks" +ACYM_INTRO_SETTINGS="Here are the settings of your template" +ACYM_INTRO_CUSTOMIZE_FONT="You can customize your font here" +ACYM_INTRO_IMPORT_CSS="Here you can import your stylesheet" +ACYM_INTRO_SAFE_CHECK="The safe check analyzes the content of your email, it checks if there is any spam word then all the links if they are not broken and it finaly checks your mail using our spam test tool" +ACYM_INTRO_MAIL_SETTINGS="Here you can configure your sending method" +ACYM_INTRO_ADVANCED="Here is the advanced configuration, this is where you configure the technical part." +ACYM_INTRO_DKIM="DKIM is a way to prove that all the emails you send come from you" +ACYM_INTRO_CRON="The cron is a process that checks every 15 minutes if there are actions to do like sending queued emails, sending scheduled emails, processing the bounce handling, etc..." +ACYM_INTRO_SUBSCRIPTION="Here you can set the settings of the email which is sent when a user subscribes" +ACYM_INTRO_CHECK_DATABASE="This button will check if there is any issue in the database like a missing table/column etc...
                      If you have any issue with your database it's the first thing to do" +ACYM_SEND_TEST_SUCCESS="The test was succefully sent" +ACYM_SEND_TEST_ERROR="Error sending the test" +ACYM_CUSTOM_FIELD="Custom field" +ACYM_BECARFUL_BACKGROUND_IMG="Be careful if you insert background image, not all the email clients display them" +ACYM_SEPARATOR="Separator" +ACYM_INTRO_ONLY="Intro only" +ACYM_FULL_TEXT="Full text" +ACYM_PUBLISHING_DATE="Publishing date" +ACYM_CLICKABLE_TITLE="Clickable title" +ACYM_DISPLAY_PICTURES="Display pictures" +ACYM_RESIZED="Resized" +ACYM_NO_RESULTS_FOUND="No results found" +ACYM_ONE_BY_ONE="One by one" +ACYM_BY_CATEGORY="By category" +ACYM_MAX_NB_ELEMENTS="Max. number of elements" +ACYM_MODIFICATION_DATE="Modification date" +ACYM_ASC="Ascending" +ACYM_DESC="Descending" +ACYM_READ_MORE="Read more" +ACYM_TITLE_ONLY="Title only" +ACYM_DISPLAY="Display" +ACYM_TRUNCATE="Truncate the text" +ACYM_TRUNCATE_AFTER="After %s characters" +ACYM_FROM="From" +ACYM_TO="To" +ACYM_LOCATION="Location" +ACYM_COUNTRY="Country" +ACYM_STATE="State" +ACYM_CITY="City" +ACYM_ADDRESS="Address" +ACYM_PRICE="Price" +ACYM_APPLY_DISCOUNTS="Apply discounts" +ACYM_COUPON="Coupon" +ACYM_CHECK_EMAIL_COUPON="Please check your e-mail to see the coupon" +ACYM_NONE="None" +ACYM_IMAGE_REQUIRED="Image required" +ACYM_COPY_DEFAULT_TRANSLATIONS="Copy default translations" +ACYM_COPY_DEFAULT_TRANSLATIONS_CONFIRM="This will override the current custom translations and keep the additionnal language keys you may have created." +ACYM_USE_THIS_FEATURE="To use this feature please upgrade your version to %s" +ACYM_ESSENTIAL="AcyMailing Essential" +ACYM_UPGRADE_NOW="Upgrade now!" +ACYM_ENTERPRISE="AcyMailing Enterprise" +ACYM_NO_DISCOUNT="No discount" +ACYM_EDIT_MAIL="Edit email" diff --git a/deployed/_shared/language/en-GB/en-GB.com_icagenda.ini b/deployed/_shared/language/en-GB/en-GB.com_icagenda.ini index 693a943b..f9c42490 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_icagenda.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_icagenda.ini @@ -1,555 +1,555 @@ -; iCagenda -; Copyright (c) 2012-2019 Cyril Rezé (www.icagenda.com). All rights reserved. -; License GNU General Public License version 3 or later -; Note : All ini files need to be saved as UTF-8 - No BOM -; -; SITE : com_icagenda.ini -; Translation Platform : https://www.transifex.com/joomlic/icagenda - - -; iC global strings -IC_ANONYMOUS="Anonymous" -IC_EVENT="Event" -IC_EVENTS="Events" -IC_SELECT="- Select -" -IC_SELECT_AN_OPTION="Select an option" -IC_CHECK="Check" - -; Page 404 -COM_ICAGENDA_PAGE_NOT_FOUND="Page Not Found" -COM_ICAGENDA_REQUESTED_PAGE_NOT_FOUND="The requested page cannot be found" -COM_ICAGENDA_CONTACT_THE_WEBMASTER_OR_TRY_AGAIN="either contact the Webmaster of this site or try again" -COM_ICAGENDA_USE_YOUR_BROWSERS_BACK_BUTTON="Use your browser's Back button to navigate to the page you have previously visited" -COM_ICAGENDA_OR_JUST_PRESS_BUTTON="Or you could just press this button:" -COM_ICAGENDA_ERROR_EVENT_NOT_FOUND="Event not found" -COM_ICAGENDA_ERROR_THEME_PACK_OUTDATED="The theme pack selected is outdated." -COM_ICAGENDA_ERROR_THEME_PACK_EDIT_OR_CHANGE="Please update the file %s, or select another theme pack to display the list of events." - -; Libraries Error Messages -ICAGENDA_CLASS_NOT_FOUND="Class %s not found." -ICAGENDA_CAN_NOT_LOAD="iCagenda can not load for the following reason(s):" -IC_LIBRARY_NOT_LOADED="iC Library is not correctly installed or is not loaded." -ICAGENDA_A_FOLDER_IS_MISSING="A folder is missing." -ICAGENDA_IS_NOT_CORRECTLY_INSTALLED="It seems that extension is not correctly installed." -ICAGENDA_INSTALL_AGAIN="Please install again the component iCagenda." -IC_ALTERNATIVELY="Alternatively" -IC_PLEASE="Please" -IC_LIBRARY_CHECK_PLUGIN_AND_LIBRARY="check if iC Library and the system plugin iC Library are installed and enabled." -ICAGENDA_UTILITIES_FIX_MANUAL="extract the installation archive and copy the %s directory inside %s directory." -ICAGENDA_INSTALLATION_IS_BROKEN="Your iCagenda installation is broken, please re-install the component." - -; Terms & Privacy -COM_ICAGENDA_TERMS_OF_SERVICE="Terms of Service" -COM_ICAGENDA_TERMS_OF_SERVICE_AGREE="I agree to the Terms of Service and i give consent to the processing and storing of the submitted information. I confirm i have all the permissions for the submitted contents." -COM_ICAGENDA_TERMS_OF_SERVICE_NOT_CHECKED_SUBMIT_EVENT="To submit an event you must agree to our terms of service!" - -COM_ICAGENDA_TOS="
                    • %s reserves the right to approve, edit, reject or remove any event listing on this site for any reason whatsoever.
                    • It is unlawful to include discrimination on the basis of sex, age, race, political or religious beliefs unless covered by an exemption under relevant legislation. %s will not accept events listings that appear to be contrary to law.
                    • You have read the Terms of Service in its entirety and understand what you have read.
                    • You agree to abide by the Terms of Service established for this site
                    • " - -COM_ICAGENDA_TERMS_AND_CONDITIONS="Terms and Conditions" -COM_ICAGENDA_TERMS_AND_CONDITIONS_NOT_CHECKED_REGISTRATION="You must agree to our Terms and Conditions!" - -; Terms & Privacy - Registration Form -COM_ICAGENDA_REGISTRATION_CONSENT_PERSONAL_DATA_LEGEND="Consent Personal Data" -COM_ICAGENDA_REGISTRATION_CONSENT_NAME_LABEL="My Name Visibility" -COM_ICAGENDA_REGISTRATION_CONSENT_NAME_DESC="Your name may be public in the list of participants at this event." -COM_ICAGENDA_REGISTRATION_CONSENT_NAME="I agree that my name is public." -COM_ICAGENDA_REGISTRATION_CONSENT_NAME_USERS_DESC="Your name may be visible to the website logged-in users, in the list of participants at this event." -COM_ICAGENDA_REGISTRATION_CONSENT_NAME_USERS="I agree that my name is visible to the website users." -COM_ICAGENDA_REGISTRATION_CONSENT_GRAVATAR_LABEL="Gravatar" -COM_ICAGENDA_REGISTRATION_CONSENT_GRAVATAR="I allow this website to connect with Gravatar.com and display my avatar image." -COM_ICAGENDA_REGISTRATION_CONSENT_ORGANISER_LABEL="Consent to Organiser" -COM_ICAGENDA_REGISTRATION_CONSENT_ORGANISER_DESC="When registering for this event, we provide the information entered to the event organiser so they can manage the event and use your email address to send you updates.
                      If you do not want the event organiser to have this information, please do not proceed with your registration." -COM_ICAGENDA_REGISTRATION_CONSENT_ORGANISER="I agree that this website may share my information with the event organiser." -COM_ICAGENDA_REGISTRATION_CONSENT_TERMS_LABEL="Terms & Conditions" -COM_ICAGENDA_REGISTRATION_CONSENT_TERMS_OF_THIS_WEBSITE="%s of this website" -COM_ICAGENDA_REGISTRATION_CONSENT_TERMS="I agree to the %s and i give consent to the processing and storing of the submitted information." - -COM_ICAGENDA_REGISTRATION_TERMS="

                      Welcome to [SITENAME].
                      By using or accessing any part of the services, you agree to all of the terms and conditions contained herein and all other operating rules, policies and procedures that may be published from time to time on the site [SITENAME]. If you do not agree to any of such terms, conditions, rules, policies or procedures, do not use or access the services. [SITENAME] reserves the right, at its sole discretion, to modify or replace any of the terms or conditions of this TOS at any time.

                      1. YOUR REGISTRATION OBLIGATIONS

                        To be a registered user of the Services, you agree to: (a) provide true, accurate, current and complete information about yourself as prompted by the Site registration form (the "_QQ_"Registration Data"_QQ_"). If you provide any information that is untrue, inaccurate, not current or incomplete, or [SITENAME] has reasonable grounds to suspect that such information is untrue, inaccurate, not current or incomplete, [SITENAME] has the right to suspend or terminate all of your registrations and refuse any and all of your current or future use of the Services (or any portion thereof). [SITENAME] is concerned about the safety and privacy of all its users, particularly children. For this reason, you must be at least 18 years of age, or the legal age of majority where you reside if that jurisdiction has an older age of majority, to register for an event.

                      2. PRIVACY

                        Any information submitted or provided by you to the Services may be publicly accessible. You should take care to protect private information or information that is important to you. [SITENAME] shall not be responsible for protecting any such information and is not liable for the protection of privacy of electronic mail or other information transferred through the Internet or any other network that you may use. Please be aware that if you decide to disclose personally identifiable information on the Services, this information may become public. [SITENAME] does not control and shall not be responsible for the acts of you or any other users (whether Organizers, Buyers, other non-Organizers or otherwise) of the Services.

                      3. ACCEPTANCE OF TERMS

                        You have read the Terms and Conditions in its entirety and understand what you have read.
                        You agree to abide by the Terms of Service established for this site

                      " - -; Icons -; Print -COM_ICAGENDA_PRINT_LABEL="Print" - -; Add 2 Cal -COM_ICAGENDA_ADD_TO_CALL_LABEL="Add to Calendar" -COM_ICAGENDA_VCAL_ICAL_LABEL="iCal Calendar" -COM_ICAGENDA_GCALENDAR_LABEL="Google Calendar" -COM_ICAGENDA_OUTLOOK_LABEL="Outlook Calendar" -COM_ICAGENDA_LIVE_CALENDAR_LABEL="Windows Live Calendar" -COM_ICAGENDA_YAHOO_CALENDAR_LABEL="Yahoo Calendar" - -; Manager -; Approval of Events -COM_ICAGENDA_APPROVE_AN_EVENT_LBL="Approve this event" -COM_ICAGENDA_APPROVE_AN_EVENT_DESC="To approve this event, click on the icon. You will be redirected and auto-logged in to administration, and you will be able to approve and/or edit this event." -COM_ICAGENDA_APPROVE_AN_EVENT_NOTICE="To approve this event, click on the icon %s" -COM_ICAGENDA_APPROVED="Approved" -COM_ICAGENDA_UNAPPROVED="Unapproved" -COM_ICAGENDA_APPROVED_SUCCESS="Event %s successfully approved" - -; Search (in dev.) -;COM_ICAGENDA_SEARCH="Search" -;COM_ICAGENDA_SEARCH_BTN="Search" -COM_ICAGENDA_SEARCH_RESULTS="Search Results:" -COM_ICAGENDA_SEARCH_NO_RESULT="No results found..." - -; Events list Header -; SEARCH -COM_ICAGENDA_HEADER_SEARCH_TITLE="Search Results" -COM_ICAGENDA_HEADER_SEARCH_ONE_EVENT="There is %s event in your search results" -COM_ICAGENDA_HEADER_SEARCH_MANY_EVENTS="There are %s events in your search results" -COM_ICAGENDA_HEADER_SEARCH_NO_EVENT="No events matched your search criteria, please try another search" - -; ALL -COM_ICAGENDA_HEADER_ALL_TITLE="All Events" -COM_ICAGENDA_HEADER_ALL_ONE_EVENT="There is %s event" -COM_ICAGENDA_HEADER_ALL_MANY_EVENTS="There are %s events" -COM_ICAGENDA_HEADER_ALL_NO_EVENT="No events!" - -; TODAY & UPCOMING -COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_TITLE="ARCHLine.XP Virtual Expo Online Agenda" -COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_ONE_EVENT="There is %s upcoming event" -COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_MANY_EVENTS="There are %s upcoming events" -COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_NO_EVENT="No upcoming events!" - -; PAST -COM_ICAGENDA_HEADER_PAST_TITLE="Past Events" -COM_ICAGENDA_HEADER_PAST_ONE_EVENT="There is %s past event" -COM_ICAGENDA_HEADER_PAST_MANY_EVENTS="There are %s past events" -COM_ICAGENDA_HEADER_PAST_NO_EVENT="No past events!" - -; UPCOMING -COM_ICAGENDA_HEADER_UPCOMING_TITLE="Upcoming Events" -COM_ICAGENDA_HEADER_UPCOMING_ONE_EVENT="There is %s upcoming event" -COM_ICAGENDA_HEADER_UPCOMING_MANY_EVENTS="There are %s upcoming events" -COM_ICAGENDA_HEADER_UPCOMING_NO_EVENT="No upcoming events!" - -; TODAY -COM_ICAGENDA_HEADER_TODAY_TITLE="Today's Events" -COM_ICAGENDA_HEADER_TODAY_ONE_EVENT="There is %s event today" -COM_ICAGENDA_HEADER_TODAY_MANY_EVENTS="There are %s events today" -COM_ICAGENDA_HEADER_TODAY_NO_EVENT="No event today!" - -COM_ICAGENDA_EVENTS_PAGE="Page" -COM_ICAGENDA_EVENTS_PAGE_PER_TOTAL="Page %s/%s" - - -; Events list Header Filters -COM_ICAGENDA_FILTERS="Search" -COM_ICAGENDA_FILTERS_SEARCH_PLACEHOLDER="Search..." -COM_ICAGENDA_FILTERS_PERIOD_FROM="From" -COM_ICAGENDA_FILTERS_PERIOD_TO="To" -COM_ICAGENDA_FILTERS_SELECT_CATEGORY="- Select Category -" -COM_ICAGENDA_FILTERS_SELECT_MONTH="- Select Month -" -COM_ICAGENDA_FILTERS_SELECT_YEAR="- Select Year -" -COM_ICAGENDA_FILTERS_MORE_OPTIONS="More Options" -COM_ICAGENDA_FILTERS_SUBMIT="Search" -COM_ICAGENDA_FILTERS_RESET="Reset" - - -; Events List -COM_ICAGENDA_EVENTS_NOIMAGE="no image" -COM_ICAGENDA_EVENTS_MORE_INFO="+ info" -ICAGENDA_THANK_YOU_NOT_TO_REMOVE="Powered by %s" - -; Event Details -COM_ICAGENDA_BACK="Back" -COM_ICAGENDA_REGISTRATION_REGISTER="Register" -COM_ICAGENDA_REGISTRATION_EVENT_FULL="Event Full" -COM_ICAGENDA_REGISTRATION_DATE_SOLD_OUT="Date Full" -COM_ICAGENDA_REGISTRATION_REGISTER_ANOTHER_DATE="Select another date" -COM_ICAGENDA_REGISTRATION_EVENT_FINISHED="Event Finished" -COM_ICAGENDA_REGISTRATION_DATE_NO_TICKETS_LEFT="No tickets left for this date" -COM_ICAGENDA_REGISTRATION_CLOSED="Registration Closed" -COM_ICAGENDA_EVENT_CAT="Category" -COM_ICAGENDA_EVENT_DATE="Date" -COM_ICAGENDA_EVENT_COMPLETED="Event Complete" -COM_ICAGENDA_EVENT_PERIOD="Event" -COM_ICAGENDA_PERIOD_FROM="from" -COM_ICAGENDA_PERIOD_TO="to" -COM_ICAGENDA_EVENT_SINGLE_DATES="Single Dates" -COM_ICAGENDA_EVENT_DATE_PAST="Last Date" -COM_ICAGENDA_EVENT_DATE_LAST="Date" -COM_ICAGENDA_EVENT_DATE_FUTUR="Next Date" -COM_ICAGENDA_EVENT_DATE_TODAY="Today" -COM_ICAGENDA_EVENT_DATE_PERIOD_NOW="Now" -COM_ICAGENDA_EVENT_TIME="Time" -COM_ICAGENDA_EVENT_PLACE="Venue" -COM_ICAGENDA_EVENT_CITY="City" -COM_ICAGENDA_EVENT_COUNTRY="Country" -COM_ICAGENDA_EVENT_INFOS="Information" -COM_ICAGENDA_EVENT_PHONE="Telephone" -COM_ICAGENDA_EVENT_MAIL="Email" -COM_ICAGENDA_EVENT_WEBSITE="Website" -COM_ICAGENDA_EVENT_FILE="Attachment" -COM_ICAGENDA_EVENT_DOWNLOAD="Download" -COM_ICAGENDA_EVENT_ADDRESS="Address" -COM_ICAGENDA_EVENT_MAP="Map" -COM_ICAGENDA_EVENT_DATES="All Dates" -COM_ICAGENDA_EVENT_LIST_OF_PARTICIPANTS="List of Participants" -COM_ICAGENDA_NO_REGISTRATION="No Participant" -COM_ICAGENDA_NO_INFOS="No information is available" - -COM_ICAGENDA_EVENT_CANCELLED_TEXT="Cancelled" - -; Added 3.2.14 - Strings with PLACE to be removed later -COM_ICAGENDA_EVENT_NUMBER_OF_SEATS="Number of seats" -COM_ICAGENDA_EVENT_NUMBER_OF_SEATS_DESC="Total number of seats for this event." -COM_ICAGENDA_EVENT_NUMBER_OF_SEATS_AVAILABLE="Seats available" - - -; Forms - alert messages -COM_ICAGENDA_FORM_REQUIRED_INFO="All fields with an * are required." -COM_ICAGENDA_FORM_NC="Please make sure the form is complete and valid." -COM_ICAGENDA_FORM_VALIDATE_FIELD_INVALID="Invalid field:" -COM_ICAGENDA_FORM_VALIDATE_FIELD_REQUIRED="Field required:" -COM_ICAGENDA_FORM_VALIDATE_FIELD_REQUIRED_NAME="Field required: %s" -COM_ICAGENDA_FORM_VALIDATE_FIELD_EMAIL2_MESSAGE="The email addresses you entered do not match. Please enter your email address in the email address field and confirm your entry by entering it in the confirm email address field." - -; Forms - common strings -IC_FORM_EMAIL_CONFIRM_LBL="Confirm Email" -IC_FORM_EMAIL_CONFIRM_DESC="Confirm your email address." -IC_FORM_EMAIL_CONFIRM_HINT="Re-enter email" -COM_ICAGENDA_CANCEL="Cancel" -COM_ICAGENDA_CAPTCHA_LABEL="Captcha" - -; Buttons -COM_ICAGENDA_BUTTON_VIEW_LIST="View List" - - -; Registration form -COM_ICAGENDA_REGISTRATION_TITLE="Registration" -COM_ICAGENDA_REGISTRATION_YOUR_INFORMATION_LEGEND="Your Information" -ICAGENDA_REGISTRATION_FORM_USERID="User ID" -ICAGENDA_REGISTRATION_FORM_USERID_DESC="User id if registered member" -ICAGENDA_REGISTRATION_FORM_NAME="Name" -ICAGENDA_REGISTRATION_FORM_NAME_DESC="Enter your full name." -ICAGENDA_REGISTRATION_FORM_EMAIL="Email" -ICAGENDA_REGISTRATION_FORM_EMAIL_DESC="Enter your email address." -ICAGENDA_REGISTRATION_FORM_PHONE="Telephone" -ICAGENDA_REGISTRATION_FORM_PHONE_DESC="Phone number will be used only in case of necessity" -ICAGENDA_REGISTRATION_FORM_DATE="Date" -ICAGENDA_REGISTRATION_FORM_DATE_DESC="Select the date you want to register" -ICAGENDA_REGISTRATION_FORM_PERIOD="Event period" -ICAGENDA_REGISTRATION_FORM_PERIOD_DESC="Register to all event period" -ICAGENDA_REGISTRATION_FORM_PEOPLE="Number of tickets" -ICAGENDA_REGISTRATION_FORM_PEOPLE_DESC="Number of persons attending including you" -ICAGENDA_REGISTRATION_FORM_NOTES="Notes" -ICAGENDA_REGISTRATION_FORM_NOTES_DESC="Enter your message here." -ICAGENDA_REGISTRATION_FORM_SUBMIT="Submit" -COM_ICAGENDA_REGISTRATION_NUMBER_PLACES="Number of seats" -COM_ICAGENDA_REGISTRATION_NUMBER_PLACES_DESC="Number of persons attending including you" -COM_ICAGENDA_REGISTRATION_PLACES_LEFT="Seats available" -COM_ICAGENDA_REGISTRATION_ALREADY_BOOKED="Already booked" -COM_ICAGENDA_REGISTRATION_TY="Thank you" -COM_ICAGENDA_REGISTRATION_COMPLETE_SUCCESS="Registration completed." -COM_ICAGENDA_REGISTRATION_COMPLETE_CONFIRMED="Your registration to event %s is now confirmed!" -COM_ICAGENDA_REGISTRATION_DATE="Date" -COM_ICAGENDA_REGISTRATION_DATES="Dates" -COM_ICAGENDA_REGISTRATION_SUMMARY_LEGEND="%s Summary" -COM_ICAGENDA_REGISTRATION_SUMMARY_REGISTRATION="Registration" - -COM_ICAGENDA_REGISTRATION_REGISTER_BTN="Register" - -;COM_ICAGENDA_REGISTRATION_CANCEL_LABEL="Registration Cancellation" -COM_ICAGENDA_REGISTRATION_CANCEL_LEGEND="Cancel Registration?" -COM_ICAGENDA_REGISTRATION_CANCEL_SELECT_DATES="Select date(s) to cancel." -COM_ICAGENDA_REGISTRATION_CANCEL_ALL_DATES="All Dates" -COM_ICAGENDA_REGISTRATION_CANCEL_CONFIRM_WARNING="Confirming will cancel your registration for %s on the selected dates(s)!" -COM_ICAGENDA_REGISTRATION_CANCEL_CONFIRM_BUTTON="Yes, Cancel Registration" -COM_ICAGENDA_REGISTRATION_CANCEL_DENY_BUTTON="No, Keep Registration" -COM_ICAGENDA_REGISTRATION_CANCEL_OTHER_DATES_BUTTON="Cancel Other Dates?" -COM_ICAGENDA_REGISTRATION_CANCEL_SUCCESS="Registration cancelled." -COM_ICAGENDA_REGISTRATION_CANCEL_CONFIRMED="Your registration to event %s is now cancelled." -COM_ICAGENDA_REGISTRATION_CANCEL_NONE="No registration to cancel." -COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_SUBJECT="Registration Cancellation" -COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_BODY="User has cancelled his registration." - -COM_ICAGENDA_REGISTRATION_N_TICKETS="%s Tickets" -COM_ICAGENDA_REGISTRATION_N_TICKETS_1="%s Ticket" - -COM_ICAGENDA_REGISTERED_EVENT_PERIOD="Event: from %s %s to %s %s" -COM_ICAGENDA_REGISTERED_EVENT_DATE="Event date: %s %s" -COM_ICAGENDA_REGISTRATION_EVENT_LINK="View Event" -COM_ICAGENDA_REGISTRATION_EMAIL_ALERT="You have already registered for this event with email address :" -COM_ICAGENDA_REGISTRATION_EMAIL_NOT_VALID="Your email address does not seem valid, thank you to verify your entry and try again." -COM_ICAGENDA_REGISTRATION_NAME_NOT_VALID="The name %s contains invalid characters.
                      A name cannot contain any of the following characters: / \ < > "_QQ_" [ ] ( ) % ;=+ &" -COM_ICAGENDA_REGISTRATION_NAME_MINIMUM_CHARACTERS="A name must contain a minimum of 2 characters." -COM_ICAGENDA_ALERT_NO_TICKET_AVAILABLE_EVENT="There is no ticket available for this event." -COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE="There are not enough tickets available." -COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_NOW="At the moment, it remains %s ticket(s) available until you or another person validates a new registration." -COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_CHANGE_NUMBER=" Thank you kindly change the number of tickets to the extent of available seats." -COM_ICAGENDA_ALERT_NO_TICKETS_AVAILABLE="No tickets available." -; -; Registration Emails -COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_SUBJECT="Your registration to event '[TITLE]' on [SITENAME]" -COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_BODY="Hello [NAME],\n\nYou have registered to event '[TITLE]'.\n\nIf you want to see again the details of this event, please click on the following link or, if it's not clickable, copy and paste it to your browser.\n[EVENTURL]\n\nThis email contains your personal information entered when registering for this event on the website [SITEURL].\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nPeriod: from [STARTDATETIME] to [ENDDATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n\nYou can request information, modify your personal details or cancel your registration by sending an email to: [AUTHOREMAIL]\n\nAdd to Google calendar:\n[CALENDAR]\n\nBest regards,\n[SITENAME]" -COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT="Successful registration for '[TITLE]'" -COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY="Hello [NAME],\n\nYou have registered to event '[TITLE]'.\n\nIf you want to see again the details of this event, please click on the following link or, if it's not clickable, copy and paste it to your browser.\n[EVENTURL]\n\nThis email contains your personal information entered when registering for this event on the website [SITEURL].\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nDate : [DATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n\nYou can request information, modify your personal details or cancel your registration by sending an email to: [AUTHOREMAIL]\n\nAdd to Google calendar:\n[CALENDAR]\n\nBest regards,\n[SITENAME]" -COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT="New registration to event '[TITLE]' on [SITENAME]" -COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_PERIOD_DEFAULT_BODY="New registration to event '[TITLE]'.\n\nURL: [EVENTURL]\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nPeriod: from [STARTDATETIME] to [ENDDATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n" -COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DATE_DEFAULT_BODY="New registration to event '[TITLE]'.\n\nURL: [EVENTURL]\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nDate : [DATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n" -COM_ICAGENDA_NOT_SPECIFIED="Not Specified" - -COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_NEW=" -Event title: [TITLE]
                      -Email address: [EMAIL]
                      -Country: [COUNTRY]
                      -Name: [NAME]" - -COM_ICAGENDA_WIN_AL_LIVE="Dear [NAME],

                      - -Thank you for entering our prize draw for an ARCHLine.XP LIVE 2021 Perpetual License!
                      -We have successfully received your application.

                      - -The prize draw will be announced on via Facebook & Instagram.
                      -The first draw will be announced on the 23 Nov.
                      -The second draw will be announced on the 24 Nov.
                      -The third draw will be announced on the 25 Nov.

                      - -Winners will be notified via email within 24 hours of the prize draw.
                      -For more info on how your prize draw application is used, visit our Privacy Policy: https://www.archlinexp.com/legal/privacy-policy

                      - -Good luck!
                      -The ARCHLine.XP Team" - -COM_ICAGENDA_REGISTRATION_EMAIL_USER_NEW="Dear [NAME],

                      - -Thank you for signing up for the ARCHLine.XP event.

                      - -Title: [TITLE]

                      - -Premiere: [DATE]

                      - -Add to Google Calendar

                      - -Watch it here: [LINK]

                      - -Should you have any questions, email us at info@archlinexp.com.

                      - -We are looking forward to seeing you at the show!

                      - -Best Wishes:
                      -The CadLine Team" - - -; Submit an Event Form -COM_ICAGENDA_TITLE_EVENT="Event" -; -; User information -COM_ICAGENDA_LEGEND_USERINFOS="Your information" -COM_ICAGENDA_SUBMIT_FORM_USER_NAME="Name" -COM_ICAGENDA_SUBMIT_FORM_USER_NAME_DESC="Full name, or username for registered member" -COM_ICAGENDA_SUBMIT_FORM_USER_EMAIL="Email" -COM_ICAGENDA_SUBMIT_FORM_USER_EMAIL_DESC="Valid email address on which to receive approval notification." -; -; Panel Event -COM_ICAGENDA_LEGEND_NEW_EVENT="New Event" -COM_ICAGENDA_LEGEND_EDIT_EVENT="Edit event" -COM_ICAGENDA_FORM_LBL_EVENT_TITLE="Title" -COM_ICAGENDA_FORM_DESC_EVENT_TITLE="Title of the event" -COM_ICAGENDA_FORM_LBL_EVENT_USERNAME="Username" -COM_ICAGENDA_FORM_DESC_EVENT_USERNAME="Editor's Username" -COM_ICAGENDA_FORM_LBL_EVENT_CATID="Category" -COM_ICAGENDA_FORM_DESC_EVENT_CATID="Select the category to which belong in the event" -; -; Panel Attachments -COM_ICAGENDA_LEGEND_ALLEG="Attachments" -COM_ICAGENDA_FORM_LBL_EVENT_IMAGE="Event Image" -COM_ICAGENDA_FORM_DESC_EVENT_IMAGE="Image for the event" -COM_ICAGENDA_FORM_LBL_EVENT_FILE="File" -COM_ICAGENDA_FORM_DESC_EVENT_FILE="Attach a file to the event" -; -COM_ICAGENDA_LEGEND_DATES="Dates" -; -; Panel Dates -COM_ICAGENDA_DATES_HELP="Note about dates" -COM_ICAGENDA_DATES_HELP_INTRO="You can add an event taking place over a period, with a start date and an end date, and/or single dates:" -COM_ICAGENDA_DATES_HELP_LINE1="Event with a single date, and a start time" -COM_ICAGENDA_DATES_HELP_EXAMPLE1="eg a concert that starts at 20:00 and takes place only the selected day." -COM_ICAGENDA_DATES_HELP_LINE2="Event with several dates, consecutive or otherwise, with a start time, which may be different for each date." -COM_ICAGENDA_DATES_HELP_EXAMPLE2="eg a concert that would take place a week on Friday and Saturday, and the following week on Friday. This concert can started at different times, and you can add new dates at any time." -COM_ICAGENDA_DATES_HELP_LINE3="Event over a period (from ... to ...)." -COM_ICAGENDA_DATES_HELP_EXAMPLE3="eg a music festival which starts on Thursday at 14:00 and ends on Sunday at 23:00. In this case, you enter the start date and end date." -COM_ICAGENDA_DATES_HELP_LINE4="The event takes place over a period and you want to add specific hours." -COM_ICAGENDA_DATES_HELP_EXAMPLE4="eg A band participates in a music festival from Thursday 14:00 to Sunday 23:00. On Thursday, the band plays at 16:30, Saturday at 18:00 and Sunday at 13:15. You can then enter the period of the event (from Thursday 14:00 to Sunday 23:00) and add the single dates with time, when the band is on stage." -COM_ICAGENDA_DATES_HELP_LINE5="The event takes place over a period, and other dates that are not in this period." -COM_ICAGENDA_DATES_HELP_EXAMPLE5="eg an event which takes place from Monday to Sunday (dates over a period) and another week on Tuesday and Friday (single dates)." -; -COM_ICAGENDA_LEGEND_PERIOD_DATES="Event over a Period" -COM_ICAGENDA_FORM_LBL_EVENTPERIOD_START="Start Date" -COM_ICAGENDA_FORM_DESC_EVENTPERIOD_START="Date and time of beginning of event" -COM_ICAGENDA_FORM_LBL_EVENTPERIOD_END="End Date" -COM_ICAGENDA_FORM_DESC_EVENTPERIOD_END="Date and time of end of event" -COM_ICAGENDA_FORM_LBL_WEEK_DAYS="Week Days" -COM_ICAGENDA_FORM_WEEK_DAYS_INFO_TITLE="Selection of Week Days" -COM_ICAGENDA_FORM_WEEK_DAYS_INFO_DESC="You can split the period into single dates by selecting the days of the week.
                      If left empty, the period will not be divided, and will be considered as a full period (from ... to ... ).
                      You can use Ctrl-click (Windows) or Cmd-click (Mac) to select more than one item." -COM_ICAGENDA_FORM_ALL_WEEK_DAYS="All the days of the week" -; -COM_ICAGENDA_LEGEND_SINGLE_DATES="Single Dates" -COM_ICAGENDA_FORM_LBL_EVENT_DATES="Date" -COM_ICAGENDA_FORM_DESC_EVENT_DATES="Select the dates of the event" -COM_ICAGENDA_ADD_DATE="Add" -COM_ICAGENDA_DELETE_DATE="Delete" -COM_ICAGENDA_TB_DATE="Date" -COM_ICAGENDA_TB_ACT="Actions" -COM_ICAGENDA_FORM_LBL_EVENT_NEXT="Closest date" -COM_ICAGENDA_FORM_DESC_EVENT_NEXT="Indicates the date of the event closest" -; -COM_ICAGENDA_DISPLAY_TIME_LABEL="Time Display" -COM_ICAGENDA_DISPLAY_TIME_DESC="Show or Hide Time of the event" -; -; Panel Information -COM_ICAGENDA_LEGEND_INFORMATION="Information" -; -; Panel Venue -COM_ICAGENDA_LEGEND_VENUE="Venue for the event" -COM_ICAGENDA_FORM_LBL_EVENT_VENUE="Venue" -COM_ICAGENDA_FORM_DESC_EVENT_VENUE="the place where event happens (MoMA, Eiffel Tower, European Stadium, London Concert Hall, Your Home, School, University, Building...)" -; -COM_ICAGENDA_LEGEND_PLACE="Place of the event" -COM_ICAGENDA_FORM_LBL_EVENT_PLACE="Name" -COM_ICAGENDA_FORM_DESC_EVENT_PLACE="Name of the place where the event will take place (MoMA, Eiffel Tower, European Stadium, London Concert Hall, ...)" -COM_ICAGENDA_FORM_LBL_EVENT_CITY="City" -COM_ICAGENDA_FORM_DESC_EVENT_CITY="The city where the event takes place" -COM_ICAGENDA_FORM_LBL_EVENT_COUNTRY="Country" -COM_ICAGENDA_FORM_DESC_EVENT_COUNTRY="The country where the event takes place" -; -COM_ICAGENDA_LEGEND_CONTACT="Contact Details" -COM_ICAGENDA_FORM_LBL_EVENT_EMAIL="Email" -COM_ICAGENDA_FORM_DESC_EVENT_EMAIL="Contact's Email" -COM_ICAGENDA_FORM_LBL_EVENT_PHONE="Telephone" -COM_ICAGENDA_FORM_DESC_EVENT_PHONE="Contact's Telephone" -COM_ICAGENDA_FORM_LBL_EVENT_WEBSITE="Website" -COM_ICAGENDA_FORM_DESC_EVENT_WEBSITE="Event's Website" -; -; Custom Fields -COM_ICAGENDA_LEGEND_OTHER_INFORMATION="Other Information" -; -; Panel Description -COM_ICAGENDA_LEGEND_DESC="Description" -COM_ICAGENDA_SUBMIT_AN_EVENT_SHORT_DESCRIPTION_LBL="Short Description" -COM_ICAGENDA_SUBMIT_AN_EVENT_SHORT_DESCRIPTION_DESC="Please enter a short description for this event." -COM_ICAGENDA_MAXIMUM_N_CHARACTERS="Maximum %s characters" -COM_ICAGENDA_N_REMAINING="(%s remaining)" -COM_ICAGENDA_FORM_LBL_EVENT_DESC="Description" -COM_ICAGENDA_SUBMIT_AN_EVENT_DESCRIPTION_DESC="Please enter a description for this event." -COM_ICAGENDA_FORM_EVENT_METADESC_LBL="Meta Description" -COM_ICAGENDA_SUBMIT_AN_EVENT_METADESC_DESC="An optional paragraph to be used as the description of the event page in the HTML output. This will generally display in the results of search engines." -COM_ICAGENDA_ALERT_TEXT_EXCEEDS_CHARACTER_LIMIT="Text exceeds the character limit.\n\nPlease edit it so that it is not truncated, and it fits within the maximum character limit." -; -; Panel Options -COM_ICAGENDA_REGISTRATION_OPTIONS="Registration options" -COM_ICAGENDA_REGISTRATION_LABEL="Registration" -COM_ICAGENDA_REGISTRATION_DESC="Enable registration for this event" -COM_ICAGENDA_TYPE_REG_LABEL="Registration Type" -COM_ICAGENDA_TYPE_REG_DESC="Select the type for registration : by date (displays a select list of dates), or for all dates of the event." -COM_ICAGENDA_REG_BY_INDIVIDUAL_DATE="by date" -COM_ICAGENDA_REG_FOR_ALL_DATES="for all dates" -COM_ICAGENDA_MAX_REGISTRATIONS_LABEL="Nb of tickets" -COM_ICAGENDA_MAX_REGISTRATIONS_DESC="Number of tickets available per date.
                      If Registration Type option is set to 'for all dates', the number of tickets will be set to the whole event, and not per date." -COM_ICAGENDA_MAX_PER_REGISTRATION_LABEL="Max. Nb per registration" -COM_ICAGENDA_MAX_PER_REGISTRATION_DESC="Maximum number of tickets available during one registration" -; -; Google Maps -COM_ICAGENDA_LEGEND_GOOGLE_MAPS="Google Maps" -COM_ICAGENDA_GOOGLE_MAPS_SUBTITLE_LBL="Address picker, with instant display selection on map." -COM_ICAGENDA_GOOGLE_MAPS_NOTE1="The map displays selected address, even while you navigate in autocomplete suggestions." -COM_ICAGENDA_GOOGLE_MAPS_NOTE2="You can even adjust marker position on the map." -COM_ICAGENDA_GOOGLE_MAPS_ADDRESS_LBL="Address" -COM_ICAGENDA_GOOGLE_MAPS_LATITUDE_LBL="Latitude" -COM_ICAGENDA_GOOGLE_MAPS_LONGITUDE_LBL="Longitude" -COM_ICAGENDA_GOOGLE_MAPS_REVERSE="Reverse Address after Marker Drag?" -COM_ICAGENDA_GOOGLE_MAPS_LEGEND="You can drag and drop the marker to the correct location" -COM_ICAGENDA_FORM_LBL_EVENT_LOCATION="Enter location to view map" -COM_ICAGENDA_FORM_DESC_EVENT_LOCATION="Enter location to view map: full address, street number, city, state, ..." -COM_ICAGENDA_FORM_LBL_EVENT_MAP="Geographic Location" -COM_ICAGENDA_FORM_DESC_EVENT_MAP="Location on Google Maps where the event takes place (move the cursor over the map to adjust automatically)" -COM_ICAGENDA_FORM_LBL_EVENT_GPS="GPS" -COM_ICAGENDA_MAPS_SERVICE_NOT_AVAILABLE="The Maps Service is not available." -COM_ICAGENDA_MAPS_FILL_IN_ADDRESS_ALERT="Please fill in the address field first." - -; -; Warning Messages Box -COM_ICAGENDA_FORM_ALERT_UNPUBLISHED="Your event will not be published: no valid date for this event" -COM_ICAGENDA_FORM_ERROR_NO_STARTDATE="Error: You have specified an end date, but no start date for your event" -COM_ICAGENDA_FORM_ERROR_NO_ENDDATE="Error: You have specified a start date but no end date for your event" -COM_ICAGENDA_FORM_NO_DATES_ALERT="Please fill in the dates of the event." -IC_AUTH_REQUIRED="Authentication required" -COM_ICAGENDA_LOGIN_TO_ACCESS_REGISTRATION_FORM="Please login first to access registration form." -COM_ICAGENDA_LOGIN_TO_ACCESS_REGISTRATION_CANCELLATION="Please login first to access registration cancellation." -COM_ICAGENDA_FORM_ERROR_INVALID_FIELD="Invalid Field: %s" -COM_ICAGENDA_FORM_WARNING="Warning: %s" -COM_ICAGENDA_FORM_ERROR="Error: %s" -COM_ICAGENDA_FORM_ERROR_NO_DATES="Please fill in the date(s) of the event." -COM_ICAGENDA_FORM_ERROR_INCORRECT_CAPTCHA_SOL="The CAPTCHA solution was incorrect." -; -; Event Submission -COM_ICAGENDA_EVENT_SUBMISSION="Event Submission" -COM_ICAGENDA_EVENT_SUBMISSION_SUBMIT_NEW_EVENT="Submit a New Event" -COM_ICAGENDA_EVENT_SUBMISSION_ACCESS="You must be logged-in to submit an event!" -COM_ICAGENDA_EVENT_SUBMISSION_NO_RIGHTS="You are not authorised to submit an event." -COM_ICAGENDA_EVENT_FORM_SUBMIT="Submit Your Event" -COM_ICAGENDA_EVENT_SUBMISSION_CONFIRMATION="Your event has been submitted!" -COM_ICAGENDA_EVENT_SUBMISSION_THANK_YOU="Thank you for submitting your event to %s!" -COM_ICAGENDA_EVENT_SUBMISSION_ANY_QUESTIONS="Also, feel free to submit events and any questions you may have to %s at any time." -COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_BY_EDITOR="You will receive a message that your event has been submitted for review by an editor." -COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_BY_EDITOR_APPROVED="Your event will not appear on the calendar until it has been approved." -COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_BY_EDITOR_TIME="You can expect most of your submitted events to be processed within %s hours." -COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_STAFF="Staff will review your submission and will be in touch with you soon." -COM_ICAGENDA_EVENT_SUBMISSION_EDITOR_REVIEW="An editor will review your submission before validating it." -COM_ICAGENDA_EVENT_SUBMISSION_CONFIRMATION_EMAIL="You will receive a confirmation email when your event will be approved, with a direct link to view it." -COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_CONTACT="If you do not hear from us contact %s at %s." -COM_ICAGENDA_USER_EMAIL_HELLO="Hello %s" -COM_ICAGENDA_USER_EMAIL_BEST_REGARDS="Best regards,
                      [SITENAME]" -COM_ICAGENDA_USER_EMAIL_EVENT_REFERENCE_NUMBER="Your Event Reference Number: %s" -COM_ICAGENDA_USER_EMAIL_EVENT_TITLE_AND_REF_NO="Your event '%s' has been submitted with reference number '%s'." -; -; Approved Notification Email -COM_ICAGENDA_APPROVED_USEREMAIL_SUBJECT="Your event %s is approved" -COM_ICAGENDA_APPROVED_USEREMAIL_BODY_INTRO="You're receiving this email because you have submitted an event at %s, which has been approved." -COM_ICAGENDA_APPROVED_USEREMAIL_EVENT_LINK="You can view your event at: %s" -COM_ICAGENDA_APPROVED_USEREMAIL_EVENT_LINK_INFO="If the URL is not a link, simply copy & paste it to your browser." -; -; Event Submission Notification Emails -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_SUBJECT="%s submitted a new event on %s" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_HELLO="Hello %s" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_NEW_EVENT="A new event has been submitted!" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_PREVIEW="Preview" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_APPROVE_INFO="To approve this event on %s please click the following link. If the URL is not a link, simply copy & paste it to your browser." -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_APPROVE_LINK="Approve link" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_SITE_MENUID="This event was submitted via frontend menu item ([ID] Title): [%s] %s" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_USER_INFO="Created by: %s, %s" -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_FOOTER="You have received this email from iCagenda running on the website %s because you belong to a user group allowed to approve events submitted. By clicking on the links above, you will automatically be logged-in. If you don't want to appear as logged-in user, don't click on those links." -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_FOOTER_NO_AUTOLOGIN="You have received this email from iCagenda running on the website %s because you belong to a user group allowed to approve events submitted." -COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_APPROVED_REVIEW="To view your event, click on the following link:" - - -; Traductions dates.js -SA="Sa" -SU="Su" -MO="Mo" -TU="Tu" -WE="We" -TH="Th" -FR="Fr" - -; Traductions textes timepiker.js -COM_ICAGENDA_TP_CURRENT="Now" -COM_ICAGENDA_TP_CLOSE="Validate" -COM_ICAGENDA_TP_TITLE="Select the time" -COM_ICAGENDA_TP_TIME="Time" -COM_ICAGENDA_TP_HOUR="Hour" -COM_ICAGENDA_TP_MINUTE="Minute" - -COM_ICAGENDA_SIGN_UP="Sign up" - -; -; DEPRECATED STRINGS -; - -; DEPRECATED 3.6.0 - Removed 4.0.0 -COM_ICAGENDA_REGISTRATION_COMPLETE="Your registration to event %s is complete." - -; DEPRECATED 3.7.0 - Removed 4.0.0 -COM_ICAGENDA_TERMS_AND_CONDITIONS_AGREE="Agree to Terms and Conditions." +; iCagenda +; Copyright (c) 2012-2019 Cyril Rezé (www.icagenda.com). All rights reserved. +; License GNU General Public License version 3 or later +; Note : All ini files need to be saved as UTF-8 - No BOM +; +; SITE : com_icagenda.ini +; Translation Platform : https://www.transifex.com/joomlic/icagenda + + +; iC global strings +IC_ANONYMOUS="Anonymous" +IC_EVENT="Event" +IC_EVENTS="Events" +IC_SELECT="- Select -" +IC_SELECT_AN_OPTION="Select an option" +IC_CHECK="Check" + +; Page 404 +COM_ICAGENDA_PAGE_NOT_FOUND="Page Not Found" +COM_ICAGENDA_REQUESTED_PAGE_NOT_FOUND="The requested page cannot be found" +COM_ICAGENDA_CONTACT_THE_WEBMASTER_OR_TRY_AGAIN="either contact the Webmaster of this site or try again" +COM_ICAGENDA_USE_YOUR_BROWSERS_BACK_BUTTON="Use your browser's Back button to navigate to the page you have previously visited" +COM_ICAGENDA_OR_JUST_PRESS_BUTTON="Or you could just press this button:" +COM_ICAGENDA_ERROR_EVENT_NOT_FOUND="Event not found" +COM_ICAGENDA_ERROR_THEME_PACK_OUTDATED="The theme pack selected is outdated." +COM_ICAGENDA_ERROR_THEME_PACK_EDIT_OR_CHANGE="Please update the file %s, or select another theme pack to display the list of events." + +; Libraries Error Messages +ICAGENDA_CLASS_NOT_FOUND="Class %s not found." +ICAGENDA_CAN_NOT_LOAD="iCagenda can not load for the following reason(s):" +IC_LIBRARY_NOT_LOADED="iC Library is not correctly installed or is not loaded." +ICAGENDA_A_FOLDER_IS_MISSING="A folder is missing." +ICAGENDA_IS_NOT_CORRECTLY_INSTALLED="It seems that extension is not correctly installed." +ICAGENDA_INSTALL_AGAIN="Please install again the component iCagenda." +IC_ALTERNATIVELY="Alternatively" +IC_PLEASE="Please" +IC_LIBRARY_CHECK_PLUGIN_AND_LIBRARY="check if iC Library and the system plugin iC Library are installed and enabled." +ICAGENDA_UTILITIES_FIX_MANUAL="extract the installation archive and copy the %s directory inside %s directory." +ICAGENDA_INSTALLATION_IS_BROKEN="Your iCagenda installation is broken, please re-install the component." + +; Terms & Privacy +COM_ICAGENDA_TERMS_OF_SERVICE="Terms of Service" +COM_ICAGENDA_TERMS_OF_SERVICE_AGREE="I agree to the Terms of Service and i give consent to the processing and storing of the submitted information. I confirm i have all the permissions for the submitted contents." +COM_ICAGENDA_TERMS_OF_SERVICE_NOT_CHECKED_SUBMIT_EVENT="To submit an event you must agree to our terms of service!" + +COM_ICAGENDA_TOS="
                    • %s reserves the right to approve, edit, reject or remove any event listing on this site for any reason whatsoever.
                    • It is unlawful to include discrimination on the basis of sex, age, race, political or religious beliefs unless covered by an exemption under relevant legislation. %s will not accept events listings that appear to be contrary to law.
                    • You have read the Terms of Service in its entirety and understand what you have read.
                    • You agree to abide by the Terms of Service established for this site
                    • " + +COM_ICAGENDA_TERMS_AND_CONDITIONS="Terms and Conditions" +COM_ICAGENDA_TERMS_AND_CONDITIONS_NOT_CHECKED_REGISTRATION="You must agree to our Terms and Conditions!" + +; Terms & Privacy - Registration Form +COM_ICAGENDA_REGISTRATION_CONSENT_PERSONAL_DATA_LEGEND="Consent Personal Data" +COM_ICAGENDA_REGISTRATION_CONSENT_NAME_LABEL="My Name Visibility" +COM_ICAGENDA_REGISTRATION_CONSENT_NAME_DESC="Your name may be public in the list of participants at this event." +COM_ICAGENDA_REGISTRATION_CONSENT_NAME="I agree that my name is public." +COM_ICAGENDA_REGISTRATION_CONSENT_NAME_USERS_DESC="Your name may be visible to the website logged-in users, in the list of participants at this event." +COM_ICAGENDA_REGISTRATION_CONSENT_NAME_USERS="I agree that my name is visible to the website users." +COM_ICAGENDA_REGISTRATION_CONSENT_GRAVATAR_LABEL="Gravatar" +COM_ICAGENDA_REGISTRATION_CONSENT_GRAVATAR="I allow this website to connect with Gravatar.com and display my avatar image." +COM_ICAGENDA_REGISTRATION_CONSENT_ORGANISER_LABEL="Consent to Organiser" +COM_ICAGENDA_REGISTRATION_CONSENT_ORGANISER_DESC="When registering for this event, we provide the information entered to the event organiser so they can manage the event and use your email address to send you updates.
                      If you do not want the event organiser to have this information, please do not proceed with your registration." +COM_ICAGENDA_REGISTRATION_CONSENT_ORGANISER="I agree that this website may share my information with the event organiser." +COM_ICAGENDA_REGISTRATION_CONSENT_TERMS_LABEL="Terms & Conditions" +COM_ICAGENDA_REGISTRATION_CONSENT_TERMS_OF_THIS_WEBSITE="%s of this website" +COM_ICAGENDA_REGISTRATION_CONSENT_TERMS="I agree to the %s and i give consent to the processing and storing of the submitted information." + +COM_ICAGENDA_REGISTRATION_TERMS="

                      Welcome to [SITENAME].
                      By using or accessing any part of the services, you agree to all of the terms and conditions contained herein and all other operating rules, policies and procedures that may be published from time to time on the site [SITENAME]. If you do not agree to any of such terms, conditions, rules, policies or procedures, do not use or access the services. [SITENAME] reserves the right, at its sole discretion, to modify or replace any of the terms or conditions of this TOS at any time.

                      1. YOUR REGISTRATION OBLIGATIONS

                        To be a registered user of the Services, you agree to: (a) provide true, accurate, current and complete information about yourself as prompted by the Site registration form (the "_QQ_"Registration Data"_QQ_"). If you provide any information that is untrue, inaccurate, not current or incomplete, or [SITENAME] has reasonable grounds to suspect that such information is untrue, inaccurate, not current or incomplete, [SITENAME] has the right to suspend or terminate all of your registrations and refuse any and all of your current or future use of the Services (or any portion thereof). [SITENAME] is concerned about the safety and privacy of all its users, particularly children. For this reason, you must be at least 18 years of age, or the legal age of majority where you reside if that jurisdiction has an older age of majority, to register for an event.

                      2. PRIVACY

                        Any information submitted or provided by you to the Services may be publicly accessible. You should take care to protect private information or information that is important to you. [SITENAME] shall not be responsible for protecting any such information and is not liable for the protection of privacy of electronic mail or other information transferred through the Internet or any other network that you may use. Please be aware that if you decide to disclose personally identifiable information on the Services, this information may become public. [SITENAME] does not control and shall not be responsible for the acts of you or any other users (whether Organizers, Buyers, other non-Organizers or otherwise) of the Services.

                      3. ACCEPTANCE OF TERMS

                        You have read the Terms and Conditions in its entirety and understand what you have read.
                        You agree to abide by the Terms of Service established for this site

                      " + +; Icons +; Print +COM_ICAGENDA_PRINT_LABEL="Print" + +; Add 2 Cal +COM_ICAGENDA_ADD_TO_CALL_LABEL="Add to Calendar" +COM_ICAGENDA_VCAL_ICAL_LABEL="iCal Calendar" +COM_ICAGENDA_GCALENDAR_LABEL="Google Calendar" +COM_ICAGENDA_OUTLOOK_LABEL="Outlook Calendar" +COM_ICAGENDA_LIVE_CALENDAR_LABEL="Windows Live Calendar" +COM_ICAGENDA_YAHOO_CALENDAR_LABEL="Yahoo Calendar" + +; Manager +; Approval of Events +COM_ICAGENDA_APPROVE_AN_EVENT_LBL="Approve this event" +COM_ICAGENDA_APPROVE_AN_EVENT_DESC="To approve this event, click on the icon. You will be redirected and auto-logged in to administration, and you will be able to approve and/or edit this event." +COM_ICAGENDA_APPROVE_AN_EVENT_NOTICE="To approve this event, click on the icon %s" +COM_ICAGENDA_APPROVED="Approved" +COM_ICAGENDA_UNAPPROVED="Unapproved" +COM_ICAGENDA_APPROVED_SUCCESS="Event %s successfully approved" + +; Search (in dev.) +;COM_ICAGENDA_SEARCH="Search" +;COM_ICAGENDA_SEARCH_BTN="Search" +COM_ICAGENDA_SEARCH_RESULTS="Search Results:" +COM_ICAGENDA_SEARCH_NO_RESULT="No results found..." + +; Events list Header +; SEARCH +COM_ICAGENDA_HEADER_SEARCH_TITLE="Search Results" +COM_ICAGENDA_HEADER_SEARCH_ONE_EVENT="There is %s event in your search results" +COM_ICAGENDA_HEADER_SEARCH_MANY_EVENTS="There are %s events in your search results" +COM_ICAGENDA_HEADER_SEARCH_NO_EVENT="No events matched your search criteria, please try another search" + +; ALL +COM_ICAGENDA_HEADER_ALL_TITLE="All Events" +COM_ICAGENDA_HEADER_ALL_ONE_EVENT="There is %s event" +COM_ICAGENDA_HEADER_ALL_MANY_EVENTS="There are %s events" +COM_ICAGENDA_HEADER_ALL_NO_EVENT="No events!" + +; TODAY & UPCOMING +COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_TITLE="ARCHLine.XP Virtual Expo Online Agenda" +COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_ONE_EVENT="There is %s upcoming event" +COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_MANY_EVENTS="There are %s upcoming events" +COM_ICAGENDA_HEADER_TODAY_AND_UPCOMING_NO_EVENT="No upcoming events!" + +; PAST +COM_ICAGENDA_HEADER_PAST_TITLE="Past Events" +COM_ICAGENDA_HEADER_PAST_ONE_EVENT="There is %s past event" +COM_ICAGENDA_HEADER_PAST_MANY_EVENTS="There are %s past events" +COM_ICAGENDA_HEADER_PAST_NO_EVENT="No past events!" + +; UPCOMING +COM_ICAGENDA_HEADER_UPCOMING_TITLE="Upcoming Events" +COM_ICAGENDA_HEADER_UPCOMING_ONE_EVENT="There is %s upcoming event" +COM_ICAGENDA_HEADER_UPCOMING_MANY_EVENTS="There are %s upcoming events" +COM_ICAGENDA_HEADER_UPCOMING_NO_EVENT="No upcoming events!" + +; TODAY +COM_ICAGENDA_HEADER_TODAY_TITLE="Today's Events" +COM_ICAGENDA_HEADER_TODAY_ONE_EVENT="There is %s event today" +COM_ICAGENDA_HEADER_TODAY_MANY_EVENTS="There are %s events today" +COM_ICAGENDA_HEADER_TODAY_NO_EVENT="No event today!" + +COM_ICAGENDA_EVENTS_PAGE="Page" +COM_ICAGENDA_EVENTS_PAGE_PER_TOTAL="Page %s/%s" + + +; Events list Header Filters +COM_ICAGENDA_FILTERS="Search" +COM_ICAGENDA_FILTERS_SEARCH_PLACEHOLDER="Search..." +COM_ICAGENDA_FILTERS_PERIOD_FROM="From" +COM_ICAGENDA_FILTERS_PERIOD_TO="To" +COM_ICAGENDA_FILTERS_SELECT_CATEGORY="- Select Category -" +COM_ICAGENDA_FILTERS_SELECT_MONTH="- Select Month -" +COM_ICAGENDA_FILTERS_SELECT_YEAR="- Select Year -" +COM_ICAGENDA_FILTERS_MORE_OPTIONS="More Options" +COM_ICAGENDA_FILTERS_SUBMIT="Search" +COM_ICAGENDA_FILTERS_RESET="Reset" + + +; Events List +COM_ICAGENDA_EVENTS_NOIMAGE="no image" +COM_ICAGENDA_EVENTS_MORE_INFO="+ info" +ICAGENDA_THANK_YOU_NOT_TO_REMOVE="Powered by %s" + +; Event Details +COM_ICAGENDA_BACK="Back" +COM_ICAGENDA_REGISTRATION_REGISTER="Register" +COM_ICAGENDA_REGISTRATION_EVENT_FULL="Event Full" +COM_ICAGENDA_REGISTRATION_DATE_SOLD_OUT="Date Full" +COM_ICAGENDA_REGISTRATION_REGISTER_ANOTHER_DATE="Select another date" +COM_ICAGENDA_REGISTRATION_EVENT_FINISHED="Event Finished" +COM_ICAGENDA_REGISTRATION_DATE_NO_TICKETS_LEFT="No tickets left for this date" +COM_ICAGENDA_REGISTRATION_CLOSED="Registration Closed" +COM_ICAGENDA_EVENT_CAT="Category" +COM_ICAGENDA_EVENT_DATE="Date" +COM_ICAGENDA_EVENT_COMPLETED="Event Complete" +COM_ICAGENDA_EVENT_PERIOD="Event" +COM_ICAGENDA_PERIOD_FROM="from" +COM_ICAGENDA_PERIOD_TO="to" +COM_ICAGENDA_EVENT_SINGLE_DATES="Single Dates" +COM_ICAGENDA_EVENT_DATE_PAST="Last Date" +COM_ICAGENDA_EVENT_DATE_LAST="Date" +COM_ICAGENDA_EVENT_DATE_FUTUR="Next Date" +COM_ICAGENDA_EVENT_DATE_TODAY="Today" +COM_ICAGENDA_EVENT_DATE_PERIOD_NOW="Now" +COM_ICAGENDA_EVENT_TIME="Time" +COM_ICAGENDA_EVENT_PLACE="Venue" +COM_ICAGENDA_EVENT_CITY="City" +COM_ICAGENDA_EVENT_COUNTRY="Country" +COM_ICAGENDA_EVENT_INFOS="Information" +COM_ICAGENDA_EVENT_PHONE="Telephone" +COM_ICAGENDA_EVENT_MAIL="Email" +COM_ICAGENDA_EVENT_WEBSITE="Website" +COM_ICAGENDA_EVENT_FILE="Attachment" +COM_ICAGENDA_EVENT_DOWNLOAD="Download" +COM_ICAGENDA_EVENT_ADDRESS="Address" +COM_ICAGENDA_EVENT_MAP="Map" +COM_ICAGENDA_EVENT_DATES="All Dates" +COM_ICAGENDA_EVENT_LIST_OF_PARTICIPANTS="List of Participants" +COM_ICAGENDA_NO_REGISTRATION="No Participant" +COM_ICAGENDA_NO_INFOS="No information is available" + +COM_ICAGENDA_EVENT_CANCELLED_TEXT="Cancelled" + +; Added 3.2.14 - Strings with PLACE to be removed later +COM_ICAGENDA_EVENT_NUMBER_OF_SEATS="Number of seats" +COM_ICAGENDA_EVENT_NUMBER_OF_SEATS_DESC="Total number of seats for this event." +COM_ICAGENDA_EVENT_NUMBER_OF_SEATS_AVAILABLE="Seats available" + + +; Forms - alert messages +COM_ICAGENDA_FORM_REQUIRED_INFO="All fields with an * are required." +COM_ICAGENDA_FORM_NC="Please make sure the form is complete and valid." +COM_ICAGENDA_FORM_VALIDATE_FIELD_INVALID="Invalid field:" +COM_ICAGENDA_FORM_VALIDATE_FIELD_REQUIRED="Field required:" +COM_ICAGENDA_FORM_VALIDATE_FIELD_REQUIRED_NAME="Field required: %s" +COM_ICAGENDA_FORM_VALIDATE_FIELD_EMAIL2_MESSAGE="The email addresses you entered do not match. Please enter your email address in the email address field and confirm your entry by entering it in the confirm email address field." + +; Forms - common strings +IC_FORM_EMAIL_CONFIRM_LBL="Confirm Email" +IC_FORM_EMAIL_CONFIRM_DESC="Confirm your email address." +IC_FORM_EMAIL_CONFIRM_HINT="Re-enter email" +COM_ICAGENDA_CANCEL="Cancel" +COM_ICAGENDA_CAPTCHA_LABEL="Captcha" + +; Buttons +COM_ICAGENDA_BUTTON_VIEW_LIST="View List" + + +; Registration form +COM_ICAGENDA_REGISTRATION_TITLE="Registration" +COM_ICAGENDA_REGISTRATION_YOUR_INFORMATION_LEGEND="Your Information" +ICAGENDA_REGISTRATION_FORM_USERID="User ID" +ICAGENDA_REGISTRATION_FORM_USERID_DESC="User id if registered member" +ICAGENDA_REGISTRATION_FORM_NAME="Name" +ICAGENDA_REGISTRATION_FORM_NAME_DESC="Enter your full name." +ICAGENDA_REGISTRATION_FORM_EMAIL="Email" +ICAGENDA_REGISTRATION_FORM_EMAIL_DESC="Enter your email address." +ICAGENDA_REGISTRATION_FORM_PHONE="Telephone" +ICAGENDA_REGISTRATION_FORM_PHONE_DESC="Phone number will be used only in case of necessity" +ICAGENDA_REGISTRATION_FORM_DATE="Date" +ICAGENDA_REGISTRATION_FORM_DATE_DESC="Select the date you want to register" +ICAGENDA_REGISTRATION_FORM_PERIOD="Event period" +ICAGENDA_REGISTRATION_FORM_PERIOD_DESC="Register to all event period" +ICAGENDA_REGISTRATION_FORM_PEOPLE="Number of tickets" +ICAGENDA_REGISTRATION_FORM_PEOPLE_DESC="Number of persons attending including you" +ICAGENDA_REGISTRATION_FORM_NOTES="Notes" +ICAGENDA_REGISTRATION_FORM_NOTES_DESC="Enter your message here." +ICAGENDA_REGISTRATION_FORM_SUBMIT="Submit" +COM_ICAGENDA_REGISTRATION_NUMBER_PLACES="Number of seats" +COM_ICAGENDA_REGISTRATION_NUMBER_PLACES_DESC="Number of persons attending including you" +COM_ICAGENDA_REGISTRATION_PLACES_LEFT="Seats available" +COM_ICAGENDA_REGISTRATION_ALREADY_BOOKED="Already booked" +COM_ICAGENDA_REGISTRATION_TY="Thank you" +COM_ICAGENDA_REGISTRATION_COMPLETE_SUCCESS="Registration completed." +COM_ICAGENDA_REGISTRATION_COMPLETE_CONFIRMED="Your registration to event %s is now confirmed!" +COM_ICAGENDA_REGISTRATION_DATE="Date" +COM_ICAGENDA_REGISTRATION_DATES="Dates" +COM_ICAGENDA_REGISTRATION_SUMMARY_LEGEND="%s Summary" +COM_ICAGENDA_REGISTRATION_SUMMARY_REGISTRATION="Registration" + +COM_ICAGENDA_REGISTRATION_REGISTER_BTN="Register" + +;COM_ICAGENDA_REGISTRATION_CANCEL_LABEL="Registration Cancellation" +COM_ICAGENDA_REGISTRATION_CANCEL_LEGEND="Cancel Registration?" +COM_ICAGENDA_REGISTRATION_CANCEL_SELECT_DATES="Select date(s) to cancel." +COM_ICAGENDA_REGISTRATION_CANCEL_ALL_DATES="All Dates" +COM_ICAGENDA_REGISTRATION_CANCEL_CONFIRM_WARNING="Confirming will cancel your registration for %s on the selected dates(s)!" +COM_ICAGENDA_REGISTRATION_CANCEL_CONFIRM_BUTTON="Yes, Cancel Registration" +COM_ICAGENDA_REGISTRATION_CANCEL_DENY_BUTTON="No, Keep Registration" +COM_ICAGENDA_REGISTRATION_CANCEL_OTHER_DATES_BUTTON="Cancel Other Dates?" +COM_ICAGENDA_REGISTRATION_CANCEL_SUCCESS="Registration cancelled." +COM_ICAGENDA_REGISTRATION_CANCEL_CONFIRMED="Your registration to event %s is now cancelled." +COM_ICAGENDA_REGISTRATION_CANCEL_NONE="No registration to cancel." +COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_SUBJECT="Registration Cancellation" +COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_BODY="User has cancelled his registration." + +COM_ICAGENDA_REGISTRATION_N_TICKETS="%s Tickets" +COM_ICAGENDA_REGISTRATION_N_TICKETS_1="%s Ticket" + +COM_ICAGENDA_REGISTERED_EVENT_PERIOD="Event: from %s %s to %s %s" +COM_ICAGENDA_REGISTERED_EVENT_DATE="Event date: %s %s" +COM_ICAGENDA_REGISTRATION_EVENT_LINK="View Event" +COM_ICAGENDA_REGISTRATION_EMAIL_ALERT="You have already registered for this event with email address :" +COM_ICAGENDA_REGISTRATION_EMAIL_NOT_VALID="Your email address does not seem valid, thank you to verify your entry and try again." +COM_ICAGENDA_REGISTRATION_NAME_NOT_VALID="The name %s contains invalid characters.
                      A name cannot contain any of the following characters: / \ < > "_QQ_" [ ] ( ) % ;=+ &" +COM_ICAGENDA_REGISTRATION_NAME_MINIMUM_CHARACTERS="A name must contain a minimum of 2 characters." +COM_ICAGENDA_ALERT_NO_TICKET_AVAILABLE_EVENT="There is no ticket available for this event." +COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE="There are not enough tickets available." +COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_NOW="At the moment, it remains %s ticket(s) available until you or another person validates a new registration." +COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_CHANGE_NUMBER=" Thank you kindly change the number of tickets to the extent of available seats." +COM_ICAGENDA_ALERT_NO_TICKETS_AVAILABLE="No tickets available." +; +; Registration Emails +COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_SUBJECT="Your registration to event '[TITLE]' on [SITENAME]" +COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_BODY="Hello [NAME],\n\nYou have registered to event '[TITLE]'.\n\nIf you want to see again the details of this event, please click on the following link or, if it's not clickable, copy and paste it to your browser.\n[EVENTURL]\n\nThis email contains your personal information entered when registering for this event on the website [SITEURL].\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nPeriod: from [STARTDATETIME] to [ENDDATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n\nYou can request information, modify your personal details or cancel your registration by sending an email to: [AUTHOREMAIL]\n\nAdd to Google calendar:\n[CALENDAR]\n\nBest regards,\n[SITENAME]" +COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT="Successful registration for '[TITLE]'" +COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY="Hello [NAME],\n\nYou have registered to event '[TITLE]'.\n\nIf you want to see again the details of this event, please click on the following link or, if it's not clickable, copy and paste it to your browser.\n[EVENTURL]\n\nThis email contains your personal information entered when registering for this event on the website [SITEURL].\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nDate : [DATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n\nYou can request information, modify your personal details or cancel your registration by sending an email to: [AUTHOREMAIL]\n\nAdd to Google calendar:\n[CALENDAR]\n\nBest regards,\n[SITENAME]" +COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT="New registration to event '[TITLE]' on [SITENAME]" +COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_PERIOD_DEFAULT_BODY="New registration to event '[TITLE]'.\n\nURL: [EVENTURL]\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nPeriod: from [STARTDATETIME] to [ENDDATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n" +COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DATE_DEFAULT_BODY="New registration to event '[TITLE]'.\n\nURL: [EVENTURL]\n\nName: [NAME]\nEmail: [EMAIL]\nPhone: [PHONE]\nNb of tickets: [PLACES]\nDate : [DATETIME]\n[CUSTOMFIELDS]\nNotes: [NOTES]\n" +COM_ICAGENDA_NOT_SPECIFIED="Not Specified" + +COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_NEW=" +Event title: [TITLE]
                      +Email address: [EMAIL]
                      +Country: [COUNTRY]
                      +Name: [NAME]" + +COM_ICAGENDA_WIN_AL_LIVE="Dear [NAME],

                      + +Thank you for entering our prize draw for an ARCHLine.XP LIVE 2021 Perpetual License!
                      +We have successfully received your application.

                      + +The prize draw will be announced on via Facebook & Instagram.
                      +The first draw will be announced on the 23 Nov.
                      +The second draw will be announced on the 24 Nov.
                      +The third draw will be announced on the 25 Nov.

                      + +Winners will be notified via email within 24 hours of the prize draw.
                      +For more info on how your prize draw application is used, visit our Privacy Policy: https://www.archlinexp.com/legal/privacy-policy

                      + +Good luck!
                      +The ARCHLine.XP Team" + +COM_ICAGENDA_REGISTRATION_EMAIL_USER_NEW="Dear [NAME],

                      + +Thank you for signing up for the ARCHLine.XP event.

                      + +Title: [TITLE]

                      + +Premiere: [DATE]

                      + +Add to Google Calendar

                      + +Watch it here: [LINK]

                      + +Should you have any questions, email us at info@archlinexp.com.

                      + +We are looking forward to seeing you at the show!

                      + +Best Wishes:
                      +The CadLine Team" + + +; Submit an Event Form +COM_ICAGENDA_TITLE_EVENT="Event" +; +; User information +COM_ICAGENDA_LEGEND_USERINFOS="Your information" +COM_ICAGENDA_SUBMIT_FORM_USER_NAME="Name" +COM_ICAGENDA_SUBMIT_FORM_USER_NAME_DESC="Full name, or username for registered member" +COM_ICAGENDA_SUBMIT_FORM_USER_EMAIL="Email" +COM_ICAGENDA_SUBMIT_FORM_USER_EMAIL_DESC="Valid email address on which to receive approval notification." +; +; Panel Event +COM_ICAGENDA_LEGEND_NEW_EVENT="New Event" +COM_ICAGENDA_LEGEND_EDIT_EVENT="Edit event" +COM_ICAGENDA_FORM_LBL_EVENT_TITLE="Title" +COM_ICAGENDA_FORM_DESC_EVENT_TITLE="Title of the event" +COM_ICAGENDA_FORM_LBL_EVENT_USERNAME="Username" +COM_ICAGENDA_FORM_DESC_EVENT_USERNAME="Editor's Username" +COM_ICAGENDA_FORM_LBL_EVENT_CATID="Category" +COM_ICAGENDA_FORM_DESC_EVENT_CATID="Select the category to which belong in the event" +; +; Panel Attachments +COM_ICAGENDA_LEGEND_ALLEG="Attachments" +COM_ICAGENDA_FORM_LBL_EVENT_IMAGE="Event Image" +COM_ICAGENDA_FORM_DESC_EVENT_IMAGE="Image for the event" +COM_ICAGENDA_FORM_LBL_EVENT_FILE="File" +COM_ICAGENDA_FORM_DESC_EVENT_FILE="Attach a file to the event" +; +COM_ICAGENDA_LEGEND_DATES="Dates" +; +; Panel Dates +COM_ICAGENDA_DATES_HELP="Note about dates" +COM_ICAGENDA_DATES_HELP_INTRO="You can add an event taking place over a period, with a start date and an end date, and/or single dates:" +COM_ICAGENDA_DATES_HELP_LINE1="Event with a single date, and a start time" +COM_ICAGENDA_DATES_HELP_EXAMPLE1="eg a concert that starts at 20:00 and takes place only the selected day." +COM_ICAGENDA_DATES_HELP_LINE2="Event with several dates, consecutive or otherwise, with a start time, which may be different for each date." +COM_ICAGENDA_DATES_HELP_EXAMPLE2="eg a concert that would take place a week on Friday and Saturday, and the following week on Friday. This concert can started at different times, and you can add new dates at any time." +COM_ICAGENDA_DATES_HELP_LINE3="Event over a period (from ... to ...)." +COM_ICAGENDA_DATES_HELP_EXAMPLE3="eg a music festival which starts on Thursday at 14:00 and ends on Sunday at 23:00. In this case, you enter the start date and end date." +COM_ICAGENDA_DATES_HELP_LINE4="The event takes place over a period and you want to add specific hours." +COM_ICAGENDA_DATES_HELP_EXAMPLE4="eg A band participates in a music festival from Thursday 14:00 to Sunday 23:00. On Thursday, the band plays at 16:30, Saturday at 18:00 and Sunday at 13:15. You can then enter the period of the event (from Thursday 14:00 to Sunday 23:00) and add the single dates with time, when the band is on stage." +COM_ICAGENDA_DATES_HELP_LINE5="The event takes place over a period, and other dates that are not in this period." +COM_ICAGENDA_DATES_HELP_EXAMPLE5="eg an event which takes place from Monday to Sunday (dates over a period) and another week on Tuesday and Friday (single dates)." +; +COM_ICAGENDA_LEGEND_PERIOD_DATES="Event over a Period" +COM_ICAGENDA_FORM_LBL_EVENTPERIOD_START="Start Date" +COM_ICAGENDA_FORM_DESC_EVENTPERIOD_START="Date and time of beginning of event" +COM_ICAGENDA_FORM_LBL_EVENTPERIOD_END="End Date" +COM_ICAGENDA_FORM_DESC_EVENTPERIOD_END="Date and time of end of event" +COM_ICAGENDA_FORM_LBL_WEEK_DAYS="Week Days" +COM_ICAGENDA_FORM_WEEK_DAYS_INFO_TITLE="Selection of Week Days" +COM_ICAGENDA_FORM_WEEK_DAYS_INFO_DESC="You can split the period into single dates by selecting the days of the week.
                      If left empty, the period will not be divided, and will be considered as a full period (from ... to ... ).
                      You can use Ctrl-click (Windows) or Cmd-click (Mac) to select more than one item." +COM_ICAGENDA_FORM_ALL_WEEK_DAYS="All the days of the week" +; +COM_ICAGENDA_LEGEND_SINGLE_DATES="Single Dates" +COM_ICAGENDA_FORM_LBL_EVENT_DATES="Date" +COM_ICAGENDA_FORM_DESC_EVENT_DATES="Select the dates of the event" +COM_ICAGENDA_ADD_DATE="Add" +COM_ICAGENDA_DELETE_DATE="Delete" +COM_ICAGENDA_TB_DATE="Date" +COM_ICAGENDA_TB_ACT="Actions" +COM_ICAGENDA_FORM_LBL_EVENT_NEXT="Closest date" +COM_ICAGENDA_FORM_DESC_EVENT_NEXT="Indicates the date of the event closest" +; +COM_ICAGENDA_DISPLAY_TIME_LABEL="Time Display" +COM_ICAGENDA_DISPLAY_TIME_DESC="Show or Hide Time of the event" +; +; Panel Information +COM_ICAGENDA_LEGEND_INFORMATION="Information" +; +; Panel Venue +COM_ICAGENDA_LEGEND_VENUE="Venue for the event" +COM_ICAGENDA_FORM_LBL_EVENT_VENUE="Venue" +COM_ICAGENDA_FORM_DESC_EVENT_VENUE="the place where event happens (MoMA, Eiffel Tower, European Stadium, London Concert Hall, Your Home, School, University, Building...)" +; +COM_ICAGENDA_LEGEND_PLACE="Place of the event" +COM_ICAGENDA_FORM_LBL_EVENT_PLACE="Name" +COM_ICAGENDA_FORM_DESC_EVENT_PLACE="Name of the place where the event will take place (MoMA, Eiffel Tower, European Stadium, London Concert Hall, ...)" +COM_ICAGENDA_FORM_LBL_EVENT_CITY="City" +COM_ICAGENDA_FORM_DESC_EVENT_CITY="The city where the event takes place" +COM_ICAGENDA_FORM_LBL_EVENT_COUNTRY="Country" +COM_ICAGENDA_FORM_DESC_EVENT_COUNTRY="The country where the event takes place" +; +COM_ICAGENDA_LEGEND_CONTACT="Contact Details" +COM_ICAGENDA_FORM_LBL_EVENT_EMAIL="Email" +COM_ICAGENDA_FORM_DESC_EVENT_EMAIL="Contact's Email" +COM_ICAGENDA_FORM_LBL_EVENT_PHONE="Telephone" +COM_ICAGENDA_FORM_DESC_EVENT_PHONE="Contact's Telephone" +COM_ICAGENDA_FORM_LBL_EVENT_WEBSITE="Website" +COM_ICAGENDA_FORM_DESC_EVENT_WEBSITE="Event's Website" +; +; Custom Fields +COM_ICAGENDA_LEGEND_OTHER_INFORMATION="Other Information" +; +; Panel Description +COM_ICAGENDA_LEGEND_DESC="Description" +COM_ICAGENDA_SUBMIT_AN_EVENT_SHORT_DESCRIPTION_LBL="Short Description" +COM_ICAGENDA_SUBMIT_AN_EVENT_SHORT_DESCRIPTION_DESC="Please enter a short description for this event." +COM_ICAGENDA_MAXIMUM_N_CHARACTERS="Maximum %s characters" +COM_ICAGENDA_N_REMAINING="(%s remaining)" +COM_ICAGENDA_FORM_LBL_EVENT_DESC="Description" +COM_ICAGENDA_SUBMIT_AN_EVENT_DESCRIPTION_DESC="Please enter a description for this event." +COM_ICAGENDA_FORM_EVENT_METADESC_LBL="Meta Description" +COM_ICAGENDA_SUBMIT_AN_EVENT_METADESC_DESC="An optional paragraph to be used as the description of the event page in the HTML output. This will generally display in the results of search engines." +COM_ICAGENDA_ALERT_TEXT_EXCEEDS_CHARACTER_LIMIT="Text exceeds the character limit.\n\nPlease edit it so that it is not truncated, and it fits within the maximum character limit." +; +; Panel Options +COM_ICAGENDA_REGISTRATION_OPTIONS="Registration options" +COM_ICAGENDA_REGISTRATION_LABEL="Registration" +COM_ICAGENDA_REGISTRATION_DESC="Enable registration for this event" +COM_ICAGENDA_TYPE_REG_LABEL="Registration Type" +COM_ICAGENDA_TYPE_REG_DESC="Select the type for registration : by date (displays a select list of dates), or for all dates of the event." +COM_ICAGENDA_REG_BY_INDIVIDUAL_DATE="by date" +COM_ICAGENDA_REG_FOR_ALL_DATES="for all dates" +COM_ICAGENDA_MAX_REGISTRATIONS_LABEL="Nb of tickets" +COM_ICAGENDA_MAX_REGISTRATIONS_DESC="Number of tickets available per date.
                      If Registration Type option is set to 'for all dates', the number of tickets will be set to the whole event, and not per date." +COM_ICAGENDA_MAX_PER_REGISTRATION_LABEL="Max. Nb per registration" +COM_ICAGENDA_MAX_PER_REGISTRATION_DESC="Maximum number of tickets available during one registration" +; +; Google Maps +COM_ICAGENDA_LEGEND_GOOGLE_MAPS="Google Maps" +COM_ICAGENDA_GOOGLE_MAPS_SUBTITLE_LBL="Address picker, with instant display selection on map." +COM_ICAGENDA_GOOGLE_MAPS_NOTE1="The map displays selected address, even while you navigate in autocomplete suggestions." +COM_ICAGENDA_GOOGLE_MAPS_NOTE2="You can even adjust marker position on the map." +COM_ICAGENDA_GOOGLE_MAPS_ADDRESS_LBL="Address" +COM_ICAGENDA_GOOGLE_MAPS_LATITUDE_LBL="Latitude" +COM_ICAGENDA_GOOGLE_MAPS_LONGITUDE_LBL="Longitude" +COM_ICAGENDA_GOOGLE_MAPS_REVERSE="Reverse Address after Marker Drag?" +COM_ICAGENDA_GOOGLE_MAPS_LEGEND="You can drag and drop the marker to the correct location" +COM_ICAGENDA_FORM_LBL_EVENT_LOCATION="Enter location to view map" +COM_ICAGENDA_FORM_DESC_EVENT_LOCATION="Enter location to view map: full address, street number, city, state, ..." +COM_ICAGENDA_FORM_LBL_EVENT_MAP="Geographic Location" +COM_ICAGENDA_FORM_DESC_EVENT_MAP="Location on Google Maps where the event takes place (move the cursor over the map to adjust automatically)" +COM_ICAGENDA_FORM_LBL_EVENT_GPS="GPS" +COM_ICAGENDA_MAPS_SERVICE_NOT_AVAILABLE="The Maps Service is not available." +COM_ICAGENDA_MAPS_FILL_IN_ADDRESS_ALERT="Please fill in the address field first." + +; +; Warning Messages Box +COM_ICAGENDA_FORM_ALERT_UNPUBLISHED="Your event will not be published: no valid date for this event" +COM_ICAGENDA_FORM_ERROR_NO_STARTDATE="Error: You have specified an end date, but no start date for your event" +COM_ICAGENDA_FORM_ERROR_NO_ENDDATE="Error: You have specified a start date but no end date for your event" +COM_ICAGENDA_FORM_NO_DATES_ALERT="Please fill in the dates of the event." +IC_AUTH_REQUIRED="Authentication required" +COM_ICAGENDA_LOGIN_TO_ACCESS_REGISTRATION_FORM="Please login first to access registration form." +COM_ICAGENDA_LOGIN_TO_ACCESS_REGISTRATION_CANCELLATION="Please login first to access registration cancellation." +COM_ICAGENDA_FORM_ERROR_INVALID_FIELD="Invalid Field: %s" +COM_ICAGENDA_FORM_WARNING="Warning: %s" +COM_ICAGENDA_FORM_ERROR="Error: %s" +COM_ICAGENDA_FORM_ERROR_NO_DATES="Please fill in the date(s) of the event." +COM_ICAGENDA_FORM_ERROR_INCORRECT_CAPTCHA_SOL="The CAPTCHA solution was incorrect." +; +; Event Submission +COM_ICAGENDA_EVENT_SUBMISSION="Event Submission" +COM_ICAGENDA_EVENT_SUBMISSION_SUBMIT_NEW_EVENT="Submit a New Event" +COM_ICAGENDA_EVENT_SUBMISSION_ACCESS="You must be logged-in to submit an event!" +COM_ICAGENDA_EVENT_SUBMISSION_NO_RIGHTS="You are not authorised to submit an event." +COM_ICAGENDA_EVENT_FORM_SUBMIT="Submit Your Event" +COM_ICAGENDA_EVENT_SUBMISSION_CONFIRMATION="Your event has been submitted!" +COM_ICAGENDA_EVENT_SUBMISSION_THANK_YOU="Thank you for submitting your event to %s!" +COM_ICAGENDA_EVENT_SUBMISSION_ANY_QUESTIONS="Also, feel free to submit events and any questions you may have to %s at any time." +COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_BY_EDITOR="You will receive a message that your event has been submitted for review by an editor." +COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_BY_EDITOR_APPROVED="Your event will not appear on the calendar until it has been approved." +COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_BY_EDITOR_TIME="You can expect most of your submitted events to be processed within %s hours." +COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_STAFF="Staff will review your submission and will be in touch with you soon." +COM_ICAGENDA_EVENT_SUBMISSION_EDITOR_REVIEW="An editor will review your submission before validating it." +COM_ICAGENDA_EVENT_SUBMISSION_CONFIRMATION_EMAIL="You will receive a confirmation email when your event will be approved, with a direct link to view it." +COM_ICAGENDA_EVENT_SUBMISSION_VALIDATION_CONTACT="If you do not hear from us contact %s at %s." +COM_ICAGENDA_USER_EMAIL_HELLO="Hello %s" +COM_ICAGENDA_USER_EMAIL_BEST_REGARDS="Best regards,
                      [SITENAME]" +COM_ICAGENDA_USER_EMAIL_EVENT_REFERENCE_NUMBER="Your Event Reference Number: %s" +COM_ICAGENDA_USER_EMAIL_EVENT_TITLE_AND_REF_NO="Your event '%s' has been submitted with reference number '%s'." +; +; Approved Notification Email +COM_ICAGENDA_APPROVED_USEREMAIL_SUBJECT="Your event %s is approved" +COM_ICAGENDA_APPROVED_USEREMAIL_BODY_INTRO="You're receiving this email because you have submitted an event at %s, which has been approved." +COM_ICAGENDA_APPROVED_USEREMAIL_EVENT_LINK="You can view your event at: %s" +COM_ICAGENDA_APPROVED_USEREMAIL_EVENT_LINK_INFO="If the URL is not a link, simply copy & paste it to your browser." +; +; Event Submission Notification Emails +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_SUBJECT="%s submitted a new event on %s" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_HELLO="Hello %s" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_NEW_EVENT="A new event has been submitted!" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_PREVIEW="Preview" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_APPROVE_INFO="To approve this event on %s please click the following link. If the URL is not a link, simply copy & paste it to your browser." +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_APPROVE_LINK="Approve link" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_SITE_MENUID="This event was submitted via frontend menu item ([ID] Title): [%s] %s" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_USER_INFO="Created by: %s, %s" +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_FOOTER="You have received this email from iCagenda running on the website %s because you belong to a user group allowed to approve events submitted. By clicking on the links above, you will automatically be logged-in. If you don't want to appear as logged-in user, don't click on those links." +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_FOOTER_NO_AUTOLOGIN="You have received this email from iCagenda running on the website %s because you belong to a user group allowed to approve events submitted." +COM_ICAGENDA_SUBMISSION_ADMIN_EMAIL_APPROVED_REVIEW="To view your event, click on the following link:" + + +; Traductions dates.js +SA="Sa" +SU="Su" +MO="Mo" +TU="Tu" +WE="We" +TH="Th" +FR="Fr" + +; Traductions textes timepiker.js +COM_ICAGENDA_TP_CURRENT="Now" +COM_ICAGENDA_TP_CLOSE="Validate" +COM_ICAGENDA_TP_TITLE="Select the time" +COM_ICAGENDA_TP_TIME="Time" +COM_ICAGENDA_TP_HOUR="Hour" +COM_ICAGENDA_TP_MINUTE="Minute" + +COM_ICAGENDA_SIGN_UP="Sign up" + +; +; DEPRECATED STRINGS +; + +; DEPRECATED 3.6.0 - Removed 4.0.0 +COM_ICAGENDA_REGISTRATION_COMPLETE="Your registration to event %s is complete." + +; DEPRECATED 3.7.0 - Removed 4.0.0 +COM_ICAGENDA_TERMS_AND_CONDITIONS_AGREE="Agree to Terms and Conditions." diff --git a/deployed/_shared/language/en-GB/en-GB.com_nonprofit.ini b/deployed/_shared/language/en-GB/en-GB.com_nonprofit.ini index 81ffd038..740e1623 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_nonprofit.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_nonprofit.ini @@ -1,64 +1,64 @@ -COM_NONPROFIT_NONPROFIT="Non-profit" -COM_NONPROFIT_DB_CONNECT_ERROR="Can't connect to the database!" -COM_NONPROFIT_EXIST_RECORD="This user already has a key!" -COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Low number of non-profit key" -COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Administrator,\n\nThere is only %s piece of distributable non-profit keys in the system." -COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="No more non-profit key" -COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Administrator,\n\nNo more non-profit key in the system!" -COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit key requested: %s" -COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit key activated: %s" -COM_NONPROFIT_RESTART_SOFTWARE="Non-profit key will be activated after an ARCHLine.XP software restart." -COM_NONPROFIT_RESTART_SOFTWARE_LIVE="Non-profit key will be activated after an ARCHLine.XP Live software restart." -COM_NONPROFIT_FREE_KEYS="Free keys" -COM_NONPROFIT_BUTTON="Get Non-Profit ID" -COM_NONPROFIT_PRESS_BUTTON="To get your Non-Profit ID, click the button below" -COM_NONPROFIT_NO_FREE_KEY="No more non-profit key in the system!" -COM_NONPROFIT_EXIST_ISID="ARCHLine.XP Non-Profit or Commercial version has already been activated on this computer.
                      -Please visit in the menu USER – User Profile to check your current Non-Profit or Commercial serial number(s)." -COM_NONPROFIT_EXIST_ISID_LIVE="ARCHLine.XP Live Non-Profit or Commercial version has already been activated on this computer.
                      -Please visit in the menu USER – User Profile to check your current Non-Profit or Commercial serial number(s)." -COM_NONPROFIT_SUFFIX="Still having trouble with your installation? Get in touch with us at info@archlinexp.com." -COM_NONPROFIT_SUCCESS="Non-Profit key activation was successfull" -COM_NONPROFIT_DESC="If ARCHLine.XP didn't restart, then press this button" -COM_NONPROFIT_DESC_LIVE="To activate your license, please press this button" -COM_NONPROFIT_RESTART="Restart ARCHLine.XP" -COM_NONPROFIT_RESTART_LIVE="Validate Live Non-Profit licence" -COM_NONPROFIT_HARDLOCK="Hardlock" -COM_NONPROFIT_PASS="Serial number" -COM_NONPROFIT_WARNING="You already have Non-Profit ID" -COM_NONPROFIT_EMAIL_BODY_LIVE="Your new ARCHVIZ journey starts now!

                      -Hello %s,

                      -Your Non-Profit serial number:
                      -%s

                      -To activate the Non-Profit version start ARCHLine.XP LIVE and click on Registration.
                      -Enter your Non-Profit serial number and press OK.

                      -To help get you on your way, watch this video.
                      ------------------------------------------------------------------------------------------------------------------
                      -Need Help?

                      -Having trouble with your trial? Here are the most common fixes to help get you started.
                      -At any time during your trial, click the help button for a guided overview of ARCHLine.XP LIVE.
                      -For direct help from a real person, contact us.

                      -For product information and pricing, please see ARCHLine.XP LIVE pricing.

                      -CadLine Ltd
                      -+36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                      -1037 Montevideo str. 3/B.
                      -Budapest, Hungary
                      " -COM_NONPROFIT_EMAIL_BODY="Your ARCHLine.XP journey starts now!

                      -Hello %s,

                      -Your Non-Profit serial number:
                      -%s

                      -To activate the Non-Profit version start ARCHLine.XP and click on Registration.
                      -Enter your Non-Profit serial number and press OK.

                      -To help get you on your way, watch these videos.
                      ------------------------------------------------------------------------------------------------------------------
                      -Need Help?

                      -Having trouble with your trial? Here are the most common fixes to help get you started.
                      -At any time during your trial, click the help button for a guided overview of ARCHLine.XP.
                      -For direct help from a real person, contact us.

                      -For product information and pricing, please see ARCHLine.XP pricing.

                      -CadLine Ltd
                      -+36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                      -1037 Montevideo str. 3/B.
                      -Budapest, Hungary
                      " -COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED="Another machine is registered to this ARCHLINE.XP Non-Profit key" +COM_NONPROFIT_NONPROFIT="Non-profit" +COM_NONPROFIT_DB_CONNECT_ERROR="Can't connect to the database!" +COM_NONPROFIT_EXIST_RECORD="This user already has a key!" +COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Low number of non-profit key" +COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Administrator,\n\nThere is only %s piece of distributable non-profit keys in the system." +COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="No more non-profit key" +COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Administrator,\n\nNo more non-profit key in the system!" +COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit key requested: %s" +COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit key activated: %s" +COM_NONPROFIT_RESTART_SOFTWARE="Non-profit key will be activated after an ARCHLine.XP software restart." +COM_NONPROFIT_RESTART_SOFTWARE_LIVE="Non-profit key will be activated after an ARCHLine.XP Live software restart." +COM_NONPROFIT_FREE_KEYS="Free keys" +COM_NONPROFIT_BUTTON="Get Non-Profit ID" +COM_NONPROFIT_PRESS_BUTTON="To get your Non-Profit ID, click the button below" +COM_NONPROFIT_NO_FREE_KEY="No more non-profit key in the system!" +COM_NONPROFIT_EXIST_ISID="ARCHLine.XP Non-Profit or Commercial version has already been activated on this computer.
                      +Please visit in the menu USER – User Profile to check your current Non-Profit or Commercial serial number(s)." +COM_NONPROFIT_EXIST_ISID_LIVE="ARCHLine.XP Live Non-Profit or Commercial version has already been activated on this computer.
                      +Please visit in the menu USER – User Profile to check your current Non-Profit or Commercial serial number(s)." +COM_NONPROFIT_SUFFIX="Still having trouble with your installation? Get in touch with us at info@archlinexp.com." +COM_NONPROFIT_SUCCESS="Non-Profit key activation was successfull" +COM_NONPROFIT_DESC="If ARCHLine.XP didn't restart, then press this button" +COM_NONPROFIT_DESC_LIVE="To activate your license, please press this button" +COM_NONPROFIT_RESTART="Restart ARCHLine.XP" +COM_NONPROFIT_RESTART_LIVE="Validate Live Non-Profit licence" +COM_NONPROFIT_HARDLOCK="Hardlock" +COM_NONPROFIT_PASS="Serial number" +COM_NONPROFIT_WARNING="You already have Non-Profit ID" +COM_NONPROFIT_EMAIL_BODY_LIVE="Your new ARCHVIZ journey starts now!

                      +Hello %s,

                      +Your Non-Profit serial number:
                      +%s

                      +To activate the Non-Profit version start ARCHLine.XP LIVE and click on Registration.
                      +Enter your Non-Profit serial number and press OK.

                      +To help get you on your way, watch this video.
                      +-----------------------------------------------------------------------------------------------------------------
                      +Need Help?

                      +Having trouble with your trial? Here are the most common fixes to help get you started.
                      +At any time during your trial, click the help button for a guided overview of ARCHLine.XP LIVE.
                      +For direct help from a real person, contact us.

                      +For product information and pricing, please see ARCHLine.XP LIVE pricing.

                      +CadLine Ltd
                      ++36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                      +1037 Montevideo str. 3/B.
                      +Budapest, Hungary
                      " +COM_NONPROFIT_EMAIL_BODY="Your ARCHLine.XP journey starts now!

                      +Hello %s,

                      +Your Non-Profit serial number:
                      +%s

                      +To activate the Non-Profit version start ARCHLine.XP and click on Registration.
                      +Enter your Non-Profit serial number and press OK.

                      +To help get you on your way, watch these videos.
                      +-----------------------------------------------------------------------------------------------------------------
                      +Need Help?

                      +Having trouble with your trial? Here are the most common fixes to help get you started.
                      +At any time during your trial, click the help button for a guided overview of ARCHLine.XP.
                      +For direct help from a real person, contact us.

                      +For product information and pricing, please see ARCHLine.XP pricing.

                      +CadLine Ltd
                      ++36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                      +1037 Montevideo str. 3/B.
                      +Budapest, Hungary
                      " +COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED="Another machine is registered to this ARCHLINE.XP Non-Profit key" COM_NONPROFIT_EXPIRED="This Non-Profit key is expired" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.com_nonprofit.sys.ini b/deployed/_shared/language/en-GB/en-GB.com_nonprofit.sys.ini index 5da8132f..8b4f4904 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_nonprofit.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_nonprofit.sys.ini @@ -1,11 +1,11 @@ -COM_NONPROFIT_NONPROFIT="Non-profit" -COM_NONPROFIT_DB_CONNECT_ERROR="Can't connect to the database!" -COM_NONPROFIT_EXIST_RECORD="This user already has a key!" -COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Low number of non-profit key" -COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Administrator,\n\nThere is only %s piece of distributable non-profit keys in the system." -COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="No more non-profit key" -COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Administrator,\n\nNo more non-profit key in the system!" -COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit key requested: %s" -COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit key activated: %s" -COM_NONPROFIT_RESTART_SOFTWARE="Non-profit key will be activated after an ARCHLine software reset." +COM_NONPROFIT_NONPROFIT="Non-profit" +COM_NONPROFIT_DB_CONNECT_ERROR="Can't connect to the database!" +COM_NONPROFIT_EXIST_RECORD="This user already has a key!" +COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Low number of non-profit key" +COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Administrator,\n\nThere is only %s piece of distributable non-profit keys in the system." +COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="No more non-profit key" +COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Administrator,\n\nNo more non-profit key in the system!" +COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit key requested: %s" +COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit key activated: %s" +COM_NONPROFIT_RESTART_SOFTWARE="Non-profit key will be activated after an ARCHLine software reset." COM_NONPROFIT_FREE_KEYS="Free keys" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.com_phocacommander.ini b/deployed/_shared/language/en-GB/en-GB.com_phocacommander.ini index 2e964913..4c36b20f 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_phocacommander.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_phocacommander.ini @@ -1,310 +1,310 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - - -;[3.0.2] -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED="Folder cannot be downloaded" -COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL="Display Download Button" -COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC="Display or hide download button" -COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL="Display Upload Button" -COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC="Display or hide upload button" - -;[3.0.1] -COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS="List of upload errors" -COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST="File does not exist" -COM_PHOCACOMMANDER_VIEW="View" -COM_PHOCACOMMANDER_DOWNLOAD="Download" -COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL="Inline Actions" -COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL="Display Inline Download" -COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC="Display or hide inline download icon" -COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL="Display Inline View" -COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC="Display or hide inline view icon" -COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL="Display Inline Edit" -COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC="Display or hide inline edit icon" - -;[3.0.0] -COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL="Enable ZIP Function" -COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC="Enable or disable ZIP function. Be aware, for running ZIP successfully, permissions and ownership of files and folders on your server needs to be OK. You can use this feature for zipping small files and small amount of files. Zipping large files or large amount of files can cause server problems (halting, overloading, performance problems or unexpected errors). For zipping large files or large amount of files like backup is, use standard server tools. Always check your newly created ZIP, if it includes all folders and files." -COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL="Experts only" -COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL="Experimental Features" -COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC="Please, read documenation before enabling experimental feature." -COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED="ZIP package created" -COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED="Error - ZIP file could not be created" -COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED="Error - file could not be created" -COM_PHOCACOMMANDER_ERROR_FILE_EXISTS="Error - file exists" -COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET="Error - no value sent or wrong file name added" -COM_PHOCACOMMANDER_PACK="Pack" -COM_PHOCACOMMANDER_SET_PACKAGE_NAME="Set package name" -COM_PHOCACOMMANDER_PACK="Pack" -COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL="Create Index File" -COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC="If new folder will be created, set if index.html file will be created inside this folder." -COM_PHOCACOMMANDER_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" -COM_PHOCACOMMANDER_PLEASE_READ="Please Read" -COM_PHOCACOMMANDER_USEFUL_TIPS="Useful Tips (Extensions)" -COM_PHOCACOMMANDER_USEFUL_LINKS="Useful Links" -;[3.0.0 Beta] -COM_PHOCACOMMANDER="Phoca Commander" -COM_PHOCACOMMANDER_CM_INFO="Phoca Commander Info" -COM_PHOCACOMMANDER_PHOCA_COMMANDER="Phoca Commander" -COM_PHOCACOMMANDER_INFORMATION="Information" -COM_PHOCACOMMANDER_HELP="Help" -COM_PHOCACOMMANDER_VERSION="Version" -COM_PHOCACOMMANDER_COPYRIGHT="Copyright" -COM_PHOCACOMMANDER_LICENSE="License" -COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" -COM_PHOCACOMMANDER_INFO="Info" -COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." -COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" -COM_PHOCACOMMANDER_NAME="Name" -COM_PHOCACOMMANDER_SIZE="Size" -COM_PHOCACOMMANDER_DATE="Date" -COM_PHOCACOMMANDER_ATTRIBUTES="Attributes" -COM_PHOCACOMMANDER_ATTR="Attr" -COM_PHOCACOMMANDER_OWNER="Owner" -COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED="No file or no folder selected" -; For Translaters - set your own data here -COM_PHOCACOMMANDER_TRANSLATION="Translation" -COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG="English" -COM_PHOCACOMMANDER_TRANSLATER="Jan Pavelka" -COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL="www.phoca.cz" -; End Translaters section - - - - - - - - -COM_PHOCACOMMANDER_CHECK_FOR_UPDATE="Check For Update" -COM_PHOCACOMMANDER_CONFIG_HEAD_GENERAL_LABEL="General" -COM_PHOCACOMMANDER_CONFIGURATION="Configuration" -COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY="Are you sure you want to copy" -COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE="Are you sure you want to move" -COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE="Are you sure you want to delete" -COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER="Joomla! root folder" -COM_PHOCACOMMANDER_TO="to" -COM_PHOCACOMMANDER_FILES_FOLDERS="Files (Folders)" -COM_PHOCACOMMANDER_FOLDER="Folder" -COM_PHOCACOMMANDER_FILE="File" -COM_PHOCACOMMANDER_FOLDER_SM="folder" -COM_PHOCACOMMANDER_FILES_FOLDERS_SM="files (folders)" -COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING="Be aware, this action removes selected files or folders (include their subfolders and files) from your server permanently" -COM_PHOCACOMMANDER_F1_ATTRIBUTES="F1 Attributes" -COM_PHOCACOMMANDER_F2_RENAME="F2 Rename" -COM_PHOCACOMMANDER_F3_VIEW="F3 View" -COM_PHOCACOMMANDER_F4_EDIT="F4 Edit" -COM_PHOCACOMMANDER_F5_COPY="F5 Copy" -COM_PHOCACOMMANDER_F6_MOVE="F6 Move" -COM_PHOCACOMMANDER_F7_NEW_FOLDER="F7 New Folder" -COM_PHOCACOMMANDER_F8_DELETE="F8 Delete" -COM_PHOCACOMMANDER_F9_UNPACK="F9 Unpack" -COM_PHOCACOMMANDER_F10_UPLOAD="F10 Upload" -COM_PHOCACOMMANDER_F1="F1" -COM_PHOCACOMMANDER_F2="F2" -COM_PHOCACOMMANDER_F3="F3" -COM_PHOCACOMMANDER_F4="F4" -COM_PHOCACOMMANDER_F5="F5" -COM_PHOCACOMMANDER_F6="F6" -COM_PHOCACOMMANDER_F7="F7" -COM_PHOCACOMMANDER_F8="F8" -COM_PHOCACOMMANDER_F9="F9" -COM_PHOCACOMMANDER_F10="F10" -COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED="Only one file or folder needs to be selected" -COM_PHOCACOMMANDER_RENAME="Rename" -COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED="Only one file needs to be selected" -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED="Folder cannot be previewed or edited" -COM_PHOCACOMMANDER_NEW_FOLDER="New Folder" -COM_PHOCACOMMANDER_NEW_ATTRIBUTES="New Attributes" -COM_PHOCACOMMANDER_CLOSE="Close" -COM_PHOCACOMMANDER_OK="OK" -COM_PHOCACOMMANDER_CANCEL="Cancel" -COM_PHOCACOMMANDER_WARNING="Warning" -COM_PHOCACOMMANDER_CONFIRM="Confirm" -COM_PHOCACOMMANDER_SET="Set" -COM_PHOCACOMMANDER_CREATE="Create" -COM_PHOCACOMMANDER_UPDATING="Updating" -COM_PHOCACOMMANDER_GROUP="Group" -COM_PHOCACOMMANDER_OTHER="Other" -COM_PHOCACOMMANDER_READ="Read" -COM_PHOCACOMMANDER_WRITE="Write" -COM_PHOCACOMMANDER_EXECUTE="Execute" -COM_PHOCACOMMANDER_VALUE="Value" -COM_PHOCACOMMANDER_PERMISSION="Permission" -COM_PHOCACOMMANDER_NEW_ATTRIBUTE="New Attribute" -COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR="Set new attribute for" -COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST="Error - no valid request" -COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK="Error - no valid task" -COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND="Error - no value send" -COM_PHOCACOMMANDER_ITEM_RENAMED="Item renamed" -COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND="Error - no file or folder found" -COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST="Folder does not exist" -COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST="File does not exist" -COM_PHOCACOMMANDER_FILE_RENAMED="File renamed" -COM_PHOCACOMMANDER_FOLDER_RENAMED="Folder renamed" -COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED="Only images can be previewed" -COM_PHOCACOMMANDER_EDIT="Edit" -COM_PHOCACOMMANDER_EDIT_OPTIONS="Edit Options" -COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL="Content" -COM_PHOCACOMMANDER_FIELD_CONTENT_DESC="Edit content" -COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL="Filename" -COM_PHOCACOMMANDER_FIELD_FILENAME_DESC="Filename (include path)" -COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD="New name is the same like the old one" -COM_PHOCACOMMANDER_EDITING_FILE="Editing file" -COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing." -COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE="Error - file is not writable" -COM_PHOCACOMMANDER_FILE_PERMISSIONS="Permissions" -COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP="Check file ownership" -COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Source file can't be returned to unwritable status" -COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - the file %s could not be saved." -COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION="Error - source is the same as destination" -COM_PHOCACOMMANDER_SERVER_ERROR="Server error" -COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES="Overwrite existing folders and files" -COM_PHOCACOMMANDER_COPY="Copy" -COM_PHOCACOMMANDER_ALL_FILES_COPIED="All files copied" -COM_PHOCACOMMANDER_FILES_COPIED="files copied" -COM_PHOCACOMMANDER_FILES_NOT_COPIED="files not copied" -COM_PHOCACOMMANDER_ALL_FOLDERS_COPIED="All folders copied" -COM_PHOCACOMMANDER_FOLDERS_COPIED="folders copied" -COM_PHOCACOMMANDER_FOLDERS_NOT_COPIED="files not copied" -COM_PHOCACOMMANDER_NO_FILES_COPIED="No files copied" -COM_PHOCACOMMANDER_NO_FOLDERS_COPIED="No folders copied" -COM_PHOCACOMMANDER_NO_ALL_FILES_COPIED="Not all files copied" -COM_PHOCACOMMANDER_NO_ALL_FOLDERS_COPIED="Not all folders copied" -COM_PHOCACOMMANDER_FILE_COPIED="File copied" -COM_PHOCACOMMANDER_FOLDER_COPIED="Folder copied" -COM_PHOCACOMMANDER_FILE_NOT_COPIED="File not copied" -COM_PHOCACOMMANDER_FOLDER_NOT_COPIED="Folder not copied" -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_COPIED_OWN_SUBFOLDER="Folder cannot be copied to its own subfolder" -COM_PHOCACOMMANDER_MOVE="Move" -COM_PHOCACOMMANDER_ALL_FILES_MOVED="All files moved" -COM_PHOCACOMMANDER_FILES_MOVED="files moved" -COM_PHOCACOMMANDER_FILES_NOT_MOVED="files not moved" -COM_PHOCACOMMANDER_ALL_FOLDERS_MOVED="All folders moved" -COM_PHOCACOMMANDER_FOLDERS_MOVED="folders moved" -COM_PHOCACOMMANDER_FOLDERS_NOT_MOVED="folders not moved" -COM_PHOCACOMMANDER_NO_FILES_MOVED="No files moved" -COM_PHOCACOMMANDER_NO_FOLDERS_MOVED="No folders moved" -COM_PHOCACOMMANDER_NO_ALL_FILES_MOVED="Not all files moved" -COM_PHOCACOMMANDER_NO_ALL_FOLDERS_MOVED="Not all folders moved" -COM_PHOCACOMMANDER_FILE_MOVED="File moved" -COM_PHOCACOMMANDER_FOLDER_MOVED="Folder moved" -COM_PHOCACOMMANDER_FILE_NOT_MOVED="File not moved" -COM_PHOCACOMMANDER_FOLDER_NOT_MOVED="Folder not moved" -COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_MOVED_OWN_SUBFOLDER="Folder cannot be moved to its own subfolder" -COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN="Folder not overwritten" -COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN="File not overwritten" -COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL="General Options" -COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC="Display F keys with titles or without titles" -COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL="F Keys" -COM_PHOCACOMMANDER_WITHOUT_TITLES="Without Titles" -COM_PHOCACOMMANDER_WITH_TITLES="With Titles" -COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC="Set box (panel) height in px" -COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL="Box (Panel) Height" -COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS="New folder name is the same like existing folder" -COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS="New file name is the same like existing file" -COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED="New folder created" -COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NOT_CREATED="New folder not created" -COM_PHOCACOMMANDER_FILE_DELETED="File deleted" -COM_PHOCACOMMANDER_FILES_DELETED="files deleted" -COM_PHOCACOMMANDER_FILE_NOT_DELETED="File not deleted" -COM_PHOCACOMMANDER_NO_FILES_DELETED="No files deleted" -COM_PHOCACOMMANDER_FILES_NOT_DELETED="files not deleted" -COM_PHOCACOMMANDER_FOLDER_DELETED="Folder deleted (include its subfolders and files)" -COM_PHOCACOMMANDER_FOLDERS_DELETED="folders deleted (include their subfolders and files)" -COM_PHOCACOMMANDER_FOLDER_NOT_DELETED="Folder not deleted" -COM_PHOCACOMMANDER_NO_FOLDERS_DELETED="No folders deleted" -COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED="folders not deleted" -COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK="Are you sure you want to unpack" -COM_PHOCACOMMANDER_UNPACK="Unpack" -COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED="Only archive file can be unpacked" -COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE="File is not archive package" -COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS="File cannot be unpacked. One of the files or folders included in archive package exists in destination folder" -COM_PHOCACOMMANDER_FILE_UNPACKED="File unpacked" -COM_PHOCACOMMANDER_FILE_NOT_UNPACKED="File not unpacked" -COM_PHOCACOMMANDER_WRONG_REQUEST="Wrong request" -COM_PHOCACOMMANDER_UPLOAD="Upload" -COM_PHOCACOMMANDER_UPLOAD_FILE="Unpload File" -COM_PHOCACOMMANDER_MAX_SIZE="Max Size" -COM_PHOCACOMMANDER_SELECT_FILES="Select files" -COM_PHOCACOMMANDER_ADD_FILES="Add Files" -COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." -COM_PHOCACOMMANDER_FILENAME="Filename" -COM_PHOCACOMMANDER_SIZE="Size" -COM_PHOCACOMMANDER_STATUS="Status" -COM_PHOCACOMMANDER_NOT_AUTHORISED_ACTION="You are not authorized to do this action" -COM_PHOCACOMMANDER_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" -COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." -COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." -COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." -COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." -COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." -COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." -COM_PHOCACOMMANDER_START="Start" -COM_PHOCACOMMANDER_START_PUBLISHING="Start Publishing" -COM_PHOCACOMMANDER_START_UPLOAD="Start Upload" -COM_PHOCACOMMANDER_START_UPLOADING_QUEUE="Start Uploading Queue" -COM_PHOCACOMMANDER_STATISTICS="Statistics" -COM_PHOCACOMMANDER_STATUS="Status" -COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD="Stop Current Upload" -COM_PHOCACOMMANDER_SUCCESS="Success" -COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD="File uploaded" -COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOADED="File uploaded" -COM_PHOCACOMMANDER_SUCCESS_FOLDER_CREATING="Folder created" -COM_PHOCACOMMANDER_SUCCESS_RESET_USER_STAT="User Statistics reset" -COM_PHOCACOMMANDER_THERE_IS_NO_FILE="There is no file" -COM_PHOCACOMMANDER_DRAG_FILES_HERE="Drag files here" -COM_PHOCACOMMANDER_UPLOADING_FINISHED="Uploading finished" -COM_PHOCACOMMANDER_ERROR="Error" -COM_PHOCACOMMANDER_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." -COM_PHOCACOMMANDER_WARNFILETOOLARGE="This file is too large to upload." -COM_PHOCACOMMANDER_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." -COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" -COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" -COM_PHOCACOMMANDER_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" -COM_PHOCACOMMANDER_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" -COM_PHOCACOMMANDER_INVALID_TOKEN="Invalid Token" -COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS="File already exists" -COM_PHOCACOMMANDER_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" -COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" -COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" -COM_PHOCACOMMANDER_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" -COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" -COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" -COM_PHOCACOMMANDER_SUCCESS="Success" -COM_PHOCACOMMANDER_FILES_UPLOADED="Files uploaded" -COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" -COM_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" -COM_PHOCACOMMANDER_WARNINVALIDMIME="Illegal or invalid mime type detected." -COM_PHOCACOMMANDER_WARNIEXSS="Possible IE XSS Attack found." -COM_PHOCACOMMANDER_FTP_LOGIN_DESC="For uploading files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below." -COM_PHOCACOMMANDER_FTP_LOGIN_LABEL="FTP Login Details" -COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE="Max upload size" -COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for upload. Default list of filetypes is not complete and should be modified to fit your needs." -COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" -COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for upload" -COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" -COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" -COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" -COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" -COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size" -COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" -COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Upload) and Disallowed File Types (Upload) will be ignored." -COM_PHOCACOMMANDER_YES="Yes" -COM_PHOCACOMMANDER_NO="No" -COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED="files changed (permission)" -COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED="files not changed (permission)" -COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED="folders changed (permission)" -COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED="folders not changed (permission)" -COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED="No files changed (permission)" -COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED="No folders changed (permission)" -COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED="File changed (permission)" -COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED="Folder changed (permission)" -COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED="File not changed (permission)" -COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED="Folder not changed (permission)" -COM_PHOCACOMMANDER_FILE_PERMISSIONS="File permissions" -COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - failed to save filename" -COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL="Edit Not Writable Files" -COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC="Set if edit function can store files which should be not writable" -COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING="Be aware, extracted files will overwrite existing files" -COM_PHOCACOMMANDER_WELCOME_WARNING="
                      Be aware, you are about to manage real folders and files on your server.
                      • Files can be managed like in your FTP client
                      • There is no UNDO action
                      • Some tasks like DELETE or MOVE can remove folders or files permanently
                      • Unpacking archive files can overwrite existing files permanently
                      • Some features may not work if they are limited by server settings
                      • Success in working with folders and files depends on server settings (permissions, ownership)
                      • Check file handling (FTP layer) in Global Configuration
                      Please see Documentation.
                      If you get some problems while using Phoca Commander, please ask in Phoca Forum.
                      " +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + + +;[3.0.2] +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED="Folder cannot be downloaded" +COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL="Display Download Button" +COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC="Display or hide download button" +COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL="Display Upload Button" +COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC="Display or hide upload button" + +;[3.0.1] +COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS="List of upload errors" +COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST="File does not exist" +COM_PHOCACOMMANDER_VIEW="View" +COM_PHOCACOMMANDER_DOWNLOAD="Download" +COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL="Inline Actions" +COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL="Display Inline Download" +COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC="Display or hide inline download icon" +COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL="Display Inline View" +COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC="Display or hide inline view icon" +COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL="Display Inline Edit" +COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC="Display or hide inline edit icon" + +;[3.0.0] +COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL="Enable ZIP Function" +COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC="Enable or disable ZIP function. Be aware, for running ZIP successfully, permissions and ownership of files and folders on your server needs to be OK. You can use this feature for zipping small files and small amount of files. Zipping large files or large amount of files can cause server problems (halting, overloading, performance problems or unexpected errors). For zipping large files or large amount of files like backup is, use standard server tools. Always check your newly created ZIP, if it includes all folders and files." +COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL="Experts only" +COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL="Experimental Features" +COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC="Please, read documenation before enabling experimental feature." +COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED="ZIP package created" +COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED="Error - ZIP file could not be created" +COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED="Error - file could not be created" +COM_PHOCACOMMANDER_ERROR_FILE_EXISTS="Error - file exists" +COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET="Error - no value sent or wrong file name added" +COM_PHOCACOMMANDER_PACK="Pack" +COM_PHOCACOMMANDER_SET_PACKAGE_NAME="Set package name" +COM_PHOCACOMMANDER_PACK="Pack" +COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL="Create Index File" +COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC="If new folder will be created, set if index.html file will be created inside this folder." +COM_PHOCACOMMANDER_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" +COM_PHOCACOMMANDER_PLEASE_READ="Please Read" +COM_PHOCACOMMANDER_USEFUL_TIPS="Useful Tips (Extensions)" +COM_PHOCACOMMANDER_USEFUL_LINKS="Useful Links" +;[3.0.0 Beta] +COM_PHOCACOMMANDER="Phoca Commander" +COM_PHOCACOMMANDER_CM_INFO="Phoca Commander Info" +COM_PHOCACOMMANDER_PHOCA_COMMANDER="Phoca Commander" +COM_PHOCACOMMANDER_INFORMATION="Information" +COM_PHOCACOMMANDER_HELP="Help" +COM_PHOCACOMMANDER_VERSION="Version" +COM_PHOCACOMMANDER_COPYRIGHT="Copyright" +COM_PHOCACOMMANDER_LICENSE="License" +COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" +COM_PHOCACOMMANDER_INFO="Info" +COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." +COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" +COM_PHOCACOMMANDER_NAME="Name" +COM_PHOCACOMMANDER_SIZE="Size" +COM_PHOCACOMMANDER_DATE="Date" +COM_PHOCACOMMANDER_ATTRIBUTES="Attributes" +COM_PHOCACOMMANDER_ATTR="Attr" +COM_PHOCACOMMANDER_OWNER="Owner" +COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED="No file or no folder selected" +; For Translaters - set your own data here +COM_PHOCACOMMANDER_TRANSLATION="Translation" +COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG="English" +COM_PHOCACOMMANDER_TRANSLATER="Jan Pavelka" +COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL="www.phoca.cz" +; End Translaters section - - - - - - - - +COM_PHOCACOMMANDER_CHECK_FOR_UPDATE="Check For Update" +COM_PHOCACOMMANDER_CONFIG_HEAD_GENERAL_LABEL="General" +COM_PHOCACOMMANDER_CONFIGURATION="Configuration" +COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY="Are you sure you want to copy" +COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE="Are you sure you want to move" +COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE="Are you sure you want to delete" +COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER="Joomla! root folder" +COM_PHOCACOMMANDER_TO="to" +COM_PHOCACOMMANDER_FILES_FOLDERS="Files (Folders)" +COM_PHOCACOMMANDER_FOLDER="Folder" +COM_PHOCACOMMANDER_FILE="File" +COM_PHOCACOMMANDER_FOLDER_SM="folder" +COM_PHOCACOMMANDER_FILES_FOLDERS_SM="files (folders)" +COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING="Be aware, this action removes selected files or folders (include their subfolders and files) from your server permanently" +COM_PHOCACOMMANDER_F1_ATTRIBUTES="F1 Attributes" +COM_PHOCACOMMANDER_F2_RENAME="F2 Rename" +COM_PHOCACOMMANDER_F3_VIEW="F3 View" +COM_PHOCACOMMANDER_F4_EDIT="F4 Edit" +COM_PHOCACOMMANDER_F5_COPY="F5 Copy" +COM_PHOCACOMMANDER_F6_MOVE="F6 Move" +COM_PHOCACOMMANDER_F7_NEW_FOLDER="F7 New Folder" +COM_PHOCACOMMANDER_F8_DELETE="F8 Delete" +COM_PHOCACOMMANDER_F9_UNPACK="F9 Unpack" +COM_PHOCACOMMANDER_F10_UPLOAD="F10 Upload" +COM_PHOCACOMMANDER_F1="F1" +COM_PHOCACOMMANDER_F2="F2" +COM_PHOCACOMMANDER_F3="F3" +COM_PHOCACOMMANDER_F4="F4" +COM_PHOCACOMMANDER_F5="F5" +COM_PHOCACOMMANDER_F6="F6" +COM_PHOCACOMMANDER_F7="F7" +COM_PHOCACOMMANDER_F8="F8" +COM_PHOCACOMMANDER_F9="F9" +COM_PHOCACOMMANDER_F10="F10" +COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED="Only one file or folder needs to be selected" +COM_PHOCACOMMANDER_RENAME="Rename" +COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED="Only one file needs to be selected" +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED="Folder cannot be previewed or edited" +COM_PHOCACOMMANDER_NEW_FOLDER="New Folder" +COM_PHOCACOMMANDER_NEW_ATTRIBUTES="New Attributes" +COM_PHOCACOMMANDER_CLOSE="Close" +COM_PHOCACOMMANDER_OK="OK" +COM_PHOCACOMMANDER_CANCEL="Cancel" +COM_PHOCACOMMANDER_WARNING="Warning" +COM_PHOCACOMMANDER_CONFIRM="Confirm" +COM_PHOCACOMMANDER_SET="Set" +COM_PHOCACOMMANDER_CREATE="Create" +COM_PHOCACOMMANDER_UPDATING="Updating" +COM_PHOCACOMMANDER_GROUP="Group" +COM_PHOCACOMMANDER_OTHER="Other" +COM_PHOCACOMMANDER_READ="Read" +COM_PHOCACOMMANDER_WRITE="Write" +COM_PHOCACOMMANDER_EXECUTE="Execute" +COM_PHOCACOMMANDER_VALUE="Value" +COM_PHOCACOMMANDER_PERMISSION="Permission" +COM_PHOCACOMMANDER_NEW_ATTRIBUTE="New Attribute" +COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR="Set new attribute for" +COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST="Error - no valid request" +COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK="Error - no valid task" +COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND="Error - no value send" +COM_PHOCACOMMANDER_ITEM_RENAMED="Item renamed" +COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND="Error - no file or folder found" +COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST="Folder does not exist" +COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST="File does not exist" +COM_PHOCACOMMANDER_FILE_RENAMED="File renamed" +COM_PHOCACOMMANDER_FOLDER_RENAMED="Folder renamed" +COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED="Only images can be previewed" +COM_PHOCACOMMANDER_EDIT="Edit" +COM_PHOCACOMMANDER_EDIT_OPTIONS="Edit Options" +COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL="Content" +COM_PHOCACOMMANDER_FIELD_CONTENT_DESC="Edit content" +COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL="Filename" +COM_PHOCACOMMANDER_FIELD_FILENAME_DESC="Filename (include path)" +COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD="New name is the same like the old one" +COM_PHOCACOMMANDER_EDITING_FILE="Editing file" +COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing." +COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE="Error - file is not writable" +COM_PHOCACOMMANDER_FILE_PERMISSIONS="Permissions" +COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP="Check file ownership" +COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Source file can't be returned to unwritable status" +COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - the file %s could not be saved." +COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION="Error - source is the same as destination" +COM_PHOCACOMMANDER_SERVER_ERROR="Server error" +COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES="Overwrite existing folders and files" +COM_PHOCACOMMANDER_COPY="Copy" +COM_PHOCACOMMANDER_ALL_FILES_COPIED="All files copied" +COM_PHOCACOMMANDER_FILES_COPIED="files copied" +COM_PHOCACOMMANDER_FILES_NOT_COPIED="files not copied" +COM_PHOCACOMMANDER_ALL_FOLDERS_COPIED="All folders copied" +COM_PHOCACOMMANDER_FOLDERS_COPIED="folders copied" +COM_PHOCACOMMANDER_FOLDERS_NOT_COPIED="files not copied" +COM_PHOCACOMMANDER_NO_FILES_COPIED="No files copied" +COM_PHOCACOMMANDER_NO_FOLDERS_COPIED="No folders copied" +COM_PHOCACOMMANDER_NO_ALL_FILES_COPIED="Not all files copied" +COM_PHOCACOMMANDER_NO_ALL_FOLDERS_COPIED="Not all folders copied" +COM_PHOCACOMMANDER_FILE_COPIED="File copied" +COM_PHOCACOMMANDER_FOLDER_COPIED="Folder copied" +COM_PHOCACOMMANDER_FILE_NOT_COPIED="File not copied" +COM_PHOCACOMMANDER_FOLDER_NOT_COPIED="Folder not copied" +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_COPIED_OWN_SUBFOLDER="Folder cannot be copied to its own subfolder" +COM_PHOCACOMMANDER_MOVE="Move" +COM_PHOCACOMMANDER_ALL_FILES_MOVED="All files moved" +COM_PHOCACOMMANDER_FILES_MOVED="files moved" +COM_PHOCACOMMANDER_FILES_NOT_MOVED="files not moved" +COM_PHOCACOMMANDER_ALL_FOLDERS_MOVED="All folders moved" +COM_PHOCACOMMANDER_FOLDERS_MOVED="folders moved" +COM_PHOCACOMMANDER_FOLDERS_NOT_MOVED="folders not moved" +COM_PHOCACOMMANDER_NO_FILES_MOVED="No files moved" +COM_PHOCACOMMANDER_NO_FOLDERS_MOVED="No folders moved" +COM_PHOCACOMMANDER_NO_ALL_FILES_MOVED="Not all files moved" +COM_PHOCACOMMANDER_NO_ALL_FOLDERS_MOVED="Not all folders moved" +COM_PHOCACOMMANDER_FILE_MOVED="File moved" +COM_PHOCACOMMANDER_FOLDER_MOVED="Folder moved" +COM_PHOCACOMMANDER_FILE_NOT_MOVED="File not moved" +COM_PHOCACOMMANDER_FOLDER_NOT_MOVED="Folder not moved" +COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_MOVED_OWN_SUBFOLDER="Folder cannot be moved to its own subfolder" +COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN="Folder not overwritten" +COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN="File not overwritten" +COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL="General Options" +COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC="Display F keys with titles or without titles" +COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL="F Keys" +COM_PHOCACOMMANDER_WITHOUT_TITLES="Without Titles" +COM_PHOCACOMMANDER_WITH_TITLES="With Titles" +COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC="Set box (panel) height in px" +COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL="Box (Panel) Height" +COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS="New folder name is the same like existing folder" +COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS="New file name is the same like existing file" +COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED="New folder created" +COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NOT_CREATED="New folder not created" +COM_PHOCACOMMANDER_FILE_DELETED="File deleted" +COM_PHOCACOMMANDER_FILES_DELETED="files deleted" +COM_PHOCACOMMANDER_FILE_NOT_DELETED="File not deleted" +COM_PHOCACOMMANDER_NO_FILES_DELETED="No files deleted" +COM_PHOCACOMMANDER_FILES_NOT_DELETED="files not deleted" +COM_PHOCACOMMANDER_FOLDER_DELETED="Folder deleted (include its subfolders and files)" +COM_PHOCACOMMANDER_FOLDERS_DELETED="folders deleted (include their subfolders and files)" +COM_PHOCACOMMANDER_FOLDER_NOT_DELETED="Folder not deleted" +COM_PHOCACOMMANDER_NO_FOLDERS_DELETED="No folders deleted" +COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED="folders not deleted" +COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK="Are you sure you want to unpack" +COM_PHOCACOMMANDER_UNPACK="Unpack" +COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED="Only archive file can be unpacked" +COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE="File is not archive package" +COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS="File cannot be unpacked. One of the files or folders included in archive package exists in destination folder" +COM_PHOCACOMMANDER_FILE_UNPACKED="File unpacked" +COM_PHOCACOMMANDER_FILE_NOT_UNPACKED="File not unpacked" +COM_PHOCACOMMANDER_WRONG_REQUEST="Wrong request" +COM_PHOCACOMMANDER_UPLOAD="Upload" +COM_PHOCACOMMANDER_UPLOAD_FILE="Unpload File" +COM_PHOCACOMMANDER_MAX_SIZE="Max Size" +COM_PHOCACOMMANDER_SELECT_FILES="Select files" +COM_PHOCACOMMANDER_ADD_FILES="Add Files" +COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." +COM_PHOCACOMMANDER_FILENAME="Filename" +COM_PHOCACOMMANDER_SIZE="Size" +COM_PHOCACOMMANDER_STATUS="Status" +COM_PHOCACOMMANDER_NOT_AUTHORISED_ACTION="You are not authorized to do this action" +COM_PHOCACOMMANDER_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" +COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." +COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." +COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." +COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." +COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." +COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." +COM_PHOCACOMMANDER_START="Start" +COM_PHOCACOMMANDER_START_PUBLISHING="Start Publishing" +COM_PHOCACOMMANDER_START_UPLOAD="Start Upload" +COM_PHOCACOMMANDER_START_UPLOADING_QUEUE="Start Uploading Queue" +COM_PHOCACOMMANDER_STATISTICS="Statistics" +COM_PHOCACOMMANDER_STATUS="Status" +COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD="Stop Current Upload" +COM_PHOCACOMMANDER_SUCCESS="Success" +COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD="File uploaded" +COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOADED="File uploaded" +COM_PHOCACOMMANDER_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCACOMMANDER_SUCCESS_RESET_USER_STAT="User Statistics reset" +COM_PHOCACOMMANDER_THERE_IS_NO_FILE="There is no file" +COM_PHOCACOMMANDER_DRAG_FILES_HERE="Drag files here" +COM_PHOCACOMMANDER_UPLOADING_FINISHED="Uploading finished" +COM_PHOCACOMMANDER_ERROR="Error" +COM_PHOCACOMMANDER_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." +COM_PHOCACOMMANDER_WARNFILETOOLARGE="This file is too large to upload." +COM_PHOCACOMMANDER_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." +COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" +COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" +COM_PHOCACOMMANDER_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" +COM_PHOCACOMMANDER_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" +COM_PHOCACOMMANDER_INVALID_TOKEN="Invalid Token" +COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS="File already exists" +COM_PHOCACOMMANDER_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" +COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" +COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" +COM_PHOCACOMMANDER_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" +COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" +COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" +COM_PHOCACOMMANDER_SUCCESS="Success" +COM_PHOCACOMMANDER_FILES_UPLOADED="Files uploaded" +COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" +COM_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" +COM_PHOCACOMMANDER_WARNINVALIDMIME="Illegal or invalid mime type detected." +COM_PHOCACOMMANDER_WARNIEXSS="Possible IE XSS Attack found." +COM_PHOCACOMMANDER_FTP_LOGIN_DESC="For uploading files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below." +COM_PHOCACOMMANDER_FTP_LOGIN_LABEL="FTP Login Details" +COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE="Max upload size" +COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for upload. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" +COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for upload" +COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" +COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" +COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" +COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" +COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size" +COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" +COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Upload) and Disallowed File Types (Upload) will be ignored." +COM_PHOCACOMMANDER_YES="Yes" +COM_PHOCACOMMANDER_NO="No" +COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED="files changed (permission)" +COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED="files not changed (permission)" +COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED="folders changed (permission)" +COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED="folders not changed (permission)" +COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED="No files changed (permission)" +COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED="No folders changed (permission)" +COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED="File changed (permission)" +COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED="Folder changed (permission)" +COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED="File not changed (permission)" +COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED="Folder not changed (permission)" +COM_PHOCACOMMANDER_FILE_PERMISSIONS="File permissions" +COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - failed to save filename" +COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL="Edit Not Writable Files" +COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC="Set if edit function can store files which should be not writable" +COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING="Be aware, extracted files will overwrite existing files" +COM_PHOCACOMMANDER_WELCOME_WARNING="
                      Be aware, you are about to manage real folders and files on your server.
                      • Files can be managed like in your FTP client
                      • There is no UNDO action
                      • Some tasks like DELETE or MOVE can remove folders or files permanently
                      • Unpacking archive files can overwrite existing files permanently
                      • Some features may not work if they are limited by server settings
                      • Success in working with folders and files depends on server settings (permissions, ownership)
                      • Check file handling (FTP layer) in Global Configuration
                      Please see Documentation.
                      If you get some problems while using Phoca Commander, please ask in Phoca Forum.
                      " diff --git a/deployed/_shared/language/en-GB/en-GB.com_phocacommander.sys.ini b/deployed/_shared/language/en-GB/en-GB.com_phocacommander.sys.ini index aab3a078..5598685f 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_phocacommander.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_phocacommander.sys.ini @@ -1,19 +1,19 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - -;[3.0.0] -COM_PHOCACOMMANDER="Phoca Commander" -COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" -COM_PHOCACOMMANDER_INFO="Info" -COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." -COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" -COM_PHOCACOMMANDER_VERSION="Version" - +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.0] +COM_PHOCACOMMANDER="Phoca Commander" +COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel" +COM_PHOCACOMMANDER_INFO="Info" +COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS." +COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated" +COM_PHOCACOMMANDER_VERSION="Version" + diff --git a/deployed/_shared/language/en-GB/en-GB.com_phocadownload.sys.ini b/deployed/_shared/language/en-GB/en-GB.com_phocadownload.sys.ini index f0d511f8..8009f968 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_phocadownload.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_phocadownload.sys.ini @@ -1,59 +1,59 @@ -; @package Joomla.Framework -; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. -; @license GNU General Public License version 2 or later; see LICENSE.txt -; -; @component Phoca Component -; @copyright Copyright (C) Jan Pavelka www.phoca.cz -; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; -; -; @test utf-8 ä, ö, ü -; - -;[3.0.2] -COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT="Download View" -COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC="This view displays link of file to download (File which is accessible by unique download URL)" -COM_PHOCADOWNLOAD_DOWNLOAD_GROUP="Download View" -COM_PHOCADOWNLOAD_DOWNLOAD_GROUP_DESC="This view displays link of file to download (File which is accessible by unique download URL)" - -;[3.0.0 Stable] -COM_PHOCADOWNLOAD_VERSION="Version" -;[3.0.0] -COM_PHOCADOWNLOAD_UPDATE_TEXT="Phoca Download updated" -COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" -COM_PHOCADOWNLOAD_UPLOADS="Uploads" -COM_PHOCADOWNLOAD_LOGGING="Logging" -COM_PHOCADOWNLOAD_STYLES="Styles" -;[2.1.2] -COM_PHOCADOWNLOAD_TAGS="Tags" -COM_PHOCADOWNLOAD_LAYOUT="Layout" -;[2.1.0] -PHOCADOWNLOAD="Phoca Download" -COM_PHOCADOWNLOAD="Phoca Download" -COM_PHOCADOWNLOAD_CONTROLPANEL="Control Panel" -COM_PHOCADOWNLOAD_FILES="Files" -COM_PHOCADOWNLOAD_CATEGORIES="Categories" -COM_PHOCADOWNLOAD_LICENSES="Licenses" -COM_PHOCADOWNLOAD_STATISTICS="Statistics" -COM_PHOCADOWNLOAD_USERS="Users" -COM_PHOCADOWNLOAD_INFO="Info" -COM_PHOCADOWNLOAD_FILE_RATING="File Rating" -COM_PHOCADOWNLOAD_XML_DESCRIPTION="Phoca Download is a download manager for Joomla! CMS. It includes component, modules and plugins and allows to add files to the site which can be downloaded by other users." -COM_PHOCADOWNLOAD_CATEGORIES_GROUP="List Of Categories (Categories View)" -COM_PHOCADOWNLOAD_CATEGORIES_GROUP_DESC="This view displays list of categories" -COM_PHOCADOWNLOAD_CATEGORY_GROUP="List of Files (Category View)" -COM_PHOCADOWNLOAD_CATEGORY_GROUP_DESC="This view displays list of files" -COM_PHOCADOWNLOAD_FILE_GROUP="File View - detail of a file" -COM_PHOCADOWNLOAD_FILE_GROUP_DESC="This view displays detail of a file" -COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP="User Upload View" -COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP_DESC="This view displays User Upload" -COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT="List Of Categories (Categories View)" -COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT_DESC="This view displays list of categories" -COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT="List of Files (Category View)" -COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC="This view displays list of files" -COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT="User Upload" -COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT_DESC="This view displays User Upload" -COM_PHOCADOWNLOAD_FILE_LAYOUT="File View" -COM_PHOCADOWNLOAD_FILE_LAYOUT_DESC="This view displays details of a file" - -COM_PHOCADOWNLOAD_INSTALL="Install" +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.2] +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC="This view displays link of file to download (File which is accessible by unique download URL)" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP_DESC="This view displays link of file to download (File which is accessible by unique download URL)" + +;[3.0.0 Stable] +COM_PHOCADOWNLOAD_VERSION="Version" +;[3.0.0] +COM_PHOCADOWNLOAD_UPDATE_TEXT="Phoca Download updated" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_STYLES="Styles" +;[2.1.2] +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.1.0] +PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_CONTROLPANEL="Control Panel" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_XML_DESCRIPTION="Phoca Download is a download manager for Joomla! CMS. It includes component, modules and plugins and allows to add files to the site which can be downloaded by other users." +COM_PHOCADOWNLOAD_CATEGORIES_GROUP="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_GROUP_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_GROUP="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_GROUP_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_FILE_GROUP="File View - detail of a file" +COM_PHOCADOWNLOAD_FILE_GROUP_DESC="This view displays detail of a file" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP="User Upload View" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT="User Upload" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_FILE_LAYOUT="File View" +COM_PHOCADOWNLOAD_FILE_LAYOUT_DESC="This view displays details of a file" + +COM_PHOCADOWNLOAD_INSTALL="Install" COM_PHOCADOWNLOAD_UPGRADE="Upgrade" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.com_smartshoutbox.ini b/deployed/_shared/language/en-GB/en-GB.com_smartshoutbox.ini index 4eb4c9d7..8de46879 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_smartshoutbox.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_smartshoutbox.ini @@ -1,139 +1,139 @@ -COM_SMARTSHOUTBOX_TITLE = "Shoutbox" -COM_SMARTSHOUTBOX_COPYRIGHT = "Powered by The Krotek" - -; Common strings - -COM_SMARTSHOUTBOX_FILTER_DATE = "d.m.Y" -COM_SMARTSHOUTBOX_FILTER_TIME = "H:i" -COM_SMARTSHOUTBOX_FILTER_DATETIME = "d.m.Y, H:i" - -COM_SMARTSHOUTBOX_GUEST = "Guest" -COM_SMARTSHOUTBOX_VIEW_PROFILE = "View %s profile" -COM_SMARTSHOUTBOX_VIEW_PROFILE_OWN = "View your profile" -COM_SMARTSHOUTBOX_TOGGLE_NAME = "Toggle name" -COM_SMARTSHOUTBOX_MESSAGE_HINT = "Type something here and click Submit or hit %s..." -COM_SMARTSHOUTBOX_NAME_HINT = "Your name" -COM_SMARTSHOUTBOX_SHOUT_LIKES = "Shout likes" -COM_SMARTSHOUTBOX_NEW_TITLE = "New shouts!" -COM_SMARTSHOUTBOX_OPEN_LINK = "Click to open link" -COM_SMARTSHOUTBOX_VIEW_IMAGE = "Click to view image" -COM_SMARTSHOUTBOX_WATCH_VIDEO = "Click to watch video" -COM_SMARTSHOUTBOX_UNCATEGORIZED = "Uncategorized" -COM_SMARTSHOUTBOX_UNCATEGORIZED_DESC = "Shouts, not assigned to any category." -COM_SMARTSHOUTBOX_SHOW_DESCRIPTION = "Toggle description" -COM_SMARTSHOUTBOX_SWITCH_CATEGORY = "Switch category" -COM_SMARTSHOUTBOX_DOWNLOAD_ATTACHMENT = "Download attachment" -COM_SMARTSHOUTBOX_ATTACHED = "Attached files:" -COM_SMARTSHOUTBOX_ALL_CATEGORIES = "All categories" -COM_SMARTSHOUTBOX_CATEGORIES = "Categories" -COM_SMARTSHOUTBOX_SHOUTS = "Shouts" -COM_SMARTSHOUTBOX_USERS = "Users" -COM_SMARTSHOUTBOX_GUESTS = "Guests" -COM_SMARTSHOUTBOX_BANNED = "Banned users" -COM_SMARTSHOUTBOX_STATS = "Shoutbox stats:" -COM_SMARTSHOUTBOX_NOT_ALLOWED = "Action not allowed" - -; Buttons - -COM_SMARTSHOUTBOX_BUTTON_SEND = "Send" -COM_SMARTSHOUTBOX_BUTTON_WAIT = "Please, wait..." -COM_SMARTSHOUTBOX_BUTTON_SAVE = "Save" -COM_SMARTSHOUTBOX_BUTTON_SEND = "Submit shout" -COM_SMARTSHOUTBOX_BUTTON_MENU = "Open menu" -COM_SMARTSHOUTBOX_BUTTON_CATEGORIES = "Show categories" -COM_SMARTSHOUTBOX_BUTTON_NAME = "Toggle name" -COM_SMARTSHOUTBOX_BUTTON_SMILEYS = "Insert smiley" -COM_SMARTSHOUTBOX_BUTTON_ATTACH = "Attach file" -COM_SMARTSHOUTBOX_BUTTON_REFRESH = "Refresh shouts" -COM_SMARTSHOUTBOX_BUTTON_SOUNDS = "Toggle sounds" -COM_SMARTSHOUTBOX_BUTTON_READ = "Toggle read mode" -COM_SMARTSHOUTBOX_BUTTON_LIKE = "Like shout" -COM_SMARTSHOUTBOX_BUTTON_EDIT = "Quick edit" -COM_SMARTSHOUTBOX_BUTTON_EDIT_ANNOUNCE = "Edit announce" -COM_SMARTSHOUTBOX_BUTTON_DELETE = "Delete shout" -COM_SMARTSHOUTBOX_BUTTON_BAN = "Toggle ban" -COM_SMARTSHOUTBOX_BUTTON_TRASH = "Delete shouts" -COM_SMARTSHOUTBOX_BUTTON_CLOSE = "Close message" - -COM_SMARTSHOUTBOX_BUTTON_FILTER = "Filter" -COM_SMARTSHOUTBOX_BUTTON_FILTER_DESC = "Filter shouts" - -COM_SMARTSHOUTBOX_BUTTON_CLEAR = "Clear" -COM_SMARTSHOUTBOX_BUTTON_CLEAR_DESC = "Clear filters" - -; Filters - -COM_SMARTSHOUTBOX_FILTERS_AUTHOR = "Author name" -COM_SMARTSHOUTBOX_FILTERS_MESSAGE = "Message text" -COM_SMARTSHOUTBOX_FILTERS_DATE = "Message date" -COM_SMARTSHOUTBOX_FILTERS_LIMIT = "Shouts limit" -COM_SMARTSHOUTBOX_FILTERS_ORDERING = "Ordering" -COM_SMARTSHOUTBOX_FILTERS_ORDERING_DESC = "Descending" -COM_SMARTSHOUTBOX_FILTERS_ORDERING_ASC = "Ascending" - -; Chat - -COM_SMARTSHOUTBOX_CHAT_TITLE = "Chat" - -; Popup window - -COM_SMARTSHOUTBOX_WINDOW_TITLE = "System message" -COM_SMARTSHOUTBOX_WINDOW_CLOSE = "Close" -COM_SMARTSHOUTBOX_WINDOW_CONFIRM = "Confirm" -COM_SMARTSHOUTBOX_WINDOW_CANCEL = "Cancel" - -; Report - -COM_SMARTSHOUTBOX_REPORT_TITLE = "Smart Shoutbox Report" -COM_SMARTSHOUTBOX_REPORT_DELETED = "Shouts older than %s days deleted: %s" -COM_SMARTSHOUTBOX_REPORT_ORPHANS = "Orphaned attachments removed: %s" - -; Messages - -COM_SMARTSHOUTBOX_MESSAGE_NO_SHOUTS = "No shouts were found. Maybe, it's just because nobody said anything yet." -COM_SMARTSHOUTBOX_MESSAGE_EDITOR_EMPTY = "Please, type something first." -COM_SMARTSHOUTBOX_MESSAGE_EDITOR_SELECT = "Please, select some text first." -COM_SMARTSHOUTBOX_MESSAGE_ANNOUNCE_SUCCESS = "Announcement was successfully updated." -COM_SMARTSHOUTBOX_MESSAGE_DELETE_SUCCESS = "Selected shouts were succesfully deleted." -COM_SMARTSHOUTBOX_MESSAGE_LIKE_SUCCESS = "Like was successfully saved. Thank you for your feedback!" -COM_SMARTSHOUTBOX_MESSAGE_BAN_SUCCESS = "User was successfully banned from chat." -COM_SMARTSHOUTBOX_MESSAGE_UNBAN_SUCCESS = "User was successfully unbanned from chat." -COM_SMARTSHOUTBOX_MESSAGE_UPLOAD_SUCCESS = "Files were successfully uploaded and will be attached to next shout." - -; Errors - -COM_SMARTSHOUTBOX_ERROR_LICENSE = "License ID is wrong or empty. Please, enter your license ID in settings." -COM_SMARTSHOUTBOX_ERROR_SECRET = "Wrong secret code. Check your settings and URL." - -COM_SMARTSHOUTBOX_ERROR_BANNED = "You were banned from the shoutbox." - -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_VIEW = "You are not allowed to view shoutbox." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_USE = "You are not allowed to use shoutbox." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_EDIT = "You are not allowed to edit shouts." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_EDIT_NAME = "You are not allowed to edit name." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_EDIT_ANNOUNCE = "You are not allowed to edit announces." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_DELETE = "You are not allowed to delete shouts." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_LIKE = "You are not allowed to like shouts." -COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_BAN = "You are not allowed to ban or unban users." - -COM_SMARTSHOUTBOX_ERROR_ANNOUNCE_EMPTY = "Announce can not be empty. Type something." - -COM_SMARTSHOUTBOX_ERROR_SHOUT_NOT_FOUND = "Shout not found. Maybe it was deleted." -COM_SMARTSHOUTBOX_ERROR_SHOUT_INTERVAL = "You can shout once in %s seconds. Please, wait." -COM_SMARTSHOUTBOX_ERROR_SHOUT_DUPLICATE = "Your shout is the same as previous one. Type something different." - -COM_SMARTSHOUTBOX_ERROR_AUTHOR_EMPTY = "Name can not be empty. Type something." -COM_SMARTSHOUTBOX_ERROR_AUTHOR_NOT_FOUND = "Author not found. Maybe he was deleted or banned." - -COM_SMARTSHOUTBOX_ERROR_MESSAGE_EMPTY = "Message can not be empty. Type something." - -COM_SMARTSHOUTBOX_ERROR_DATE_INVALID = "Message date format is invalid. Check yout input." - -COM_SMARTSHOUTBOX_ERROR_LIKE_SELF = "You can not like your own shout." -COM_SMARTSHOUTBOX_ERROR_LIKE_AGAIN = "You already liked this shout." - -COM_SMARTSHOUTBOX_ERROR_BAN_SELF = "You can not ban or unban yourself." - -COM_SMARTSHOUTBOX_ERROR_UPLOAD_ALLOWED = "You can not upload files of this type. Allowed file types: %s" -COM_SMARTSHOUTBOX_ERROR_UPLOAD_LIMIT = "Too many files. Maximum %s files per shout allowed." +COM_SMARTSHOUTBOX_TITLE = "Shoutbox" +COM_SMARTSHOUTBOX_COPYRIGHT = "Powered by The Krotek" + +; Common strings + +COM_SMARTSHOUTBOX_FILTER_DATE = "d.m.Y" +COM_SMARTSHOUTBOX_FILTER_TIME = "H:i" +COM_SMARTSHOUTBOX_FILTER_DATETIME = "d.m.Y, H:i" + +COM_SMARTSHOUTBOX_GUEST = "Guest" +COM_SMARTSHOUTBOX_VIEW_PROFILE = "View %s profile" +COM_SMARTSHOUTBOX_VIEW_PROFILE_OWN = "View your profile" +COM_SMARTSHOUTBOX_TOGGLE_NAME = "Toggle name" +COM_SMARTSHOUTBOX_MESSAGE_HINT = "Type something here and click Submit or hit %s..." +COM_SMARTSHOUTBOX_NAME_HINT = "Your name" +COM_SMARTSHOUTBOX_SHOUT_LIKES = "Shout likes" +COM_SMARTSHOUTBOX_NEW_TITLE = "New shouts!" +COM_SMARTSHOUTBOX_OPEN_LINK = "Click to open link" +COM_SMARTSHOUTBOX_VIEW_IMAGE = "Click to view image" +COM_SMARTSHOUTBOX_WATCH_VIDEO = "Click to watch video" +COM_SMARTSHOUTBOX_UNCATEGORIZED = "Uncategorized" +COM_SMARTSHOUTBOX_UNCATEGORIZED_DESC = "Shouts, not assigned to any category." +COM_SMARTSHOUTBOX_SHOW_DESCRIPTION = "Toggle description" +COM_SMARTSHOUTBOX_SWITCH_CATEGORY = "Switch category" +COM_SMARTSHOUTBOX_DOWNLOAD_ATTACHMENT = "Download attachment" +COM_SMARTSHOUTBOX_ATTACHED = "Attached files:" +COM_SMARTSHOUTBOX_ALL_CATEGORIES = "All categories" +COM_SMARTSHOUTBOX_CATEGORIES = "Categories" +COM_SMARTSHOUTBOX_SHOUTS = "Shouts" +COM_SMARTSHOUTBOX_USERS = "Users" +COM_SMARTSHOUTBOX_GUESTS = "Guests" +COM_SMARTSHOUTBOX_BANNED = "Banned users" +COM_SMARTSHOUTBOX_STATS = "Shoutbox stats:" +COM_SMARTSHOUTBOX_NOT_ALLOWED = "Action not allowed" + +; Buttons + +COM_SMARTSHOUTBOX_BUTTON_SEND = "Send" +COM_SMARTSHOUTBOX_BUTTON_WAIT = "Please, wait..." +COM_SMARTSHOUTBOX_BUTTON_SAVE = "Save" +COM_SMARTSHOUTBOX_BUTTON_SEND = "Submit shout" +COM_SMARTSHOUTBOX_BUTTON_MENU = "Open menu" +COM_SMARTSHOUTBOX_BUTTON_CATEGORIES = "Show categories" +COM_SMARTSHOUTBOX_BUTTON_NAME = "Toggle name" +COM_SMARTSHOUTBOX_BUTTON_SMILEYS = "Insert smiley" +COM_SMARTSHOUTBOX_BUTTON_ATTACH = "Attach file" +COM_SMARTSHOUTBOX_BUTTON_REFRESH = "Refresh shouts" +COM_SMARTSHOUTBOX_BUTTON_SOUNDS = "Toggle sounds" +COM_SMARTSHOUTBOX_BUTTON_READ = "Toggle read mode" +COM_SMARTSHOUTBOX_BUTTON_LIKE = "Like shout" +COM_SMARTSHOUTBOX_BUTTON_EDIT = "Quick edit" +COM_SMARTSHOUTBOX_BUTTON_EDIT_ANNOUNCE = "Edit announce" +COM_SMARTSHOUTBOX_BUTTON_DELETE = "Delete shout" +COM_SMARTSHOUTBOX_BUTTON_BAN = "Toggle ban" +COM_SMARTSHOUTBOX_BUTTON_TRASH = "Delete shouts" +COM_SMARTSHOUTBOX_BUTTON_CLOSE = "Close message" + +COM_SMARTSHOUTBOX_BUTTON_FILTER = "Filter" +COM_SMARTSHOUTBOX_BUTTON_FILTER_DESC = "Filter shouts" + +COM_SMARTSHOUTBOX_BUTTON_CLEAR = "Clear" +COM_SMARTSHOUTBOX_BUTTON_CLEAR_DESC = "Clear filters" + +; Filters + +COM_SMARTSHOUTBOX_FILTERS_AUTHOR = "Author name" +COM_SMARTSHOUTBOX_FILTERS_MESSAGE = "Message text" +COM_SMARTSHOUTBOX_FILTERS_DATE = "Message date" +COM_SMARTSHOUTBOX_FILTERS_LIMIT = "Shouts limit" +COM_SMARTSHOUTBOX_FILTERS_ORDERING = "Ordering" +COM_SMARTSHOUTBOX_FILTERS_ORDERING_DESC = "Descending" +COM_SMARTSHOUTBOX_FILTERS_ORDERING_ASC = "Ascending" + +; Chat + +COM_SMARTSHOUTBOX_CHAT_TITLE = "Chat" + +; Popup window + +COM_SMARTSHOUTBOX_WINDOW_TITLE = "System message" +COM_SMARTSHOUTBOX_WINDOW_CLOSE = "Close" +COM_SMARTSHOUTBOX_WINDOW_CONFIRM = "Confirm" +COM_SMARTSHOUTBOX_WINDOW_CANCEL = "Cancel" + +; Report + +COM_SMARTSHOUTBOX_REPORT_TITLE = "Smart Shoutbox Report" +COM_SMARTSHOUTBOX_REPORT_DELETED = "Shouts older than %s days deleted: %s" +COM_SMARTSHOUTBOX_REPORT_ORPHANS = "Orphaned attachments removed: %s" + +; Messages + +COM_SMARTSHOUTBOX_MESSAGE_NO_SHOUTS = "No shouts were found. Maybe, it's just because nobody said anything yet." +COM_SMARTSHOUTBOX_MESSAGE_EDITOR_EMPTY = "Please, type something first." +COM_SMARTSHOUTBOX_MESSAGE_EDITOR_SELECT = "Please, select some text first." +COM_SMARTSHOUTBOX_MESSAGE_ANNOUNCE_SUCCESS = "Announcement was successfully updated." +COM_SMARTSHOUTBOX_MESSAGE_DELETE_SUCCESS = "Selected shouts were succesfully deleted." +COM_SMARTSHOUTBOX_MESSAGE_LIKE_SUCCESS = "Like was successfully saved. Thank you for your feedback!" +COM_SMARTSHOUTBOX_MESSAGE_BAN_SUCCESS = "User was successfully banned from chat." +COM_SMARTSHOUTBOX_MESSAGE_UNBAN_SUCCESS = "User was successfully unbanned from chat." +COM_SMARTSHOUTBOX_MESSAGE_UPLOAD_SUCCESS = "Files were successfully uploaded and will be attached to next shout." + +; Errors + +COM_SMARTSHOUTBOX_ERROR_LICENSE = "License ID is wrong or empty. Please, enter your license ID in settings." +COM_SMARTSHOUTBOX_ERROR_SECRET = "Wrong secret code. Check your settings and URL." + +COM_SMARTSHOUTBOX_ERROR_BANNED = "You were banned from the shoutbox." + +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_VIEW = "You are not allowed to view shoutbox." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_USE = "You are not allowed to use shoutbox." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_EDIT = "You are not allowed to edit shouts." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_EDIT_NAME = "You are not allowed to edit name." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_EDIT_ANNOUNCE = "You are not allowed to edit announces." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_DELETE = "You are not allowed to delete shouts." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_LIKE = "You are not allowed to like shouts." +COM_SMARTSHOUTBOX_ERROR_PERMISSIONS_BAN = "You are not allowed to ban or unban users." + +COM_SMARTSHOUTBOX_ERROR_ANNOUNCE_EMPTY = "Announce can not be empty. Type something." + +COM_SMARTSHOUTBOX_ERROR_SHOUT_NOT_FOUND = "Shout not found. Maybe it was deleted." +COM_SMARTSHOUTBOX_ERROR_SHOUT_INTERVAL = "You can shout once in %s seconds. Please, wait." +COM_SMARTSHOUTBOX_ERROR_SHOUT_DUPLICATE = "Your shout is the same as previous one. Type something different." + +COM_SMARTSHOUTBOX_ERROR_AUTHOR_EMPTY = "Name can not be empty. Type something." +COM_SMARTSHOUTBOX_ERROR_AUTHOR_NOT_FOUND = "Author not found. Maybe he was deleted or banned." + +COM_SMARTSHOUTBOX_ERROR_MESSAGE_EMPTY = "Message can not be empty. Type something." + +COM_SMARTSHOUTBOX_ERROR_DATE_INVALID = "Message date format is invalid. Check yout input." + +COM_SMARTSHOUTBOX_ERROR_LIKE_SELF = "You can not like your own shout." +COM_SMARTSHOUTBOX_ERROR_LIKE_AGAIN = "You already liked this shout." + +COM_SMARTSHOUTBOX_ERROR_BAN_SELF = "You can not ban or unban yourself." + +COM_SMARTSHOUTBOX_ERROR_UPLOAD_ALLOWED = "You can not upload files of this type. Allowed file types: %s" +COM_SMARTSHOUTBOX_ERROR_UPLOAD_LIMIT = "Too many files. Maximum %s files per shout allowed." COM_SMARTSHOUTBOX_ERROR_UPLOAD_EMPTY = "No files found, nothing to upload." \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.com_socialloginandsocialshare.ini b/deployed/_shared/language/en-GB/en-GB.com_socialloginandsocialshare.ini index a555c2c3..292ea350 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_socialloginandsocialshare.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_socialloginandsocialshare.ini @@ -1,25 +1,25 @@ -; $Id: en-GB.com_socialloginandsocialshare.ini 1.6 2012-03-16 02:40:25Z Team LoginRadius $ -; Joomla! Project -; Copyright (C) 2011 - till Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - -COM_SOCIALLOGIN_INSTALLATION_STATUS="Social Login And Social Share Installation completed" -COM_SOCIALLOGIN_INSTALLATION_THANK="Thank you very much for installing" -COM_SOCIALLOGIN_INSTALLATION_CONFIG="Please configure" -COM_SOCIALLOGIN_INSTALLATION_COM="component first." -COM_SOCIALLOGIN_INSTALLATION_FREE="Feel free to" -COM_SOCIALLOGIN_INSTALLATION_CONTACT="contact us" -COM_SOCIALLOGIN_INSTALLATION_ASSIST="if you need any assistance." -COM_SOCIALLOGIN_INSTALLATION_THANKYOU="Thank you!" -COM_SOCIALLOGIN_INSTALLATION_MODULE_ERROR="Another module is installed with the same name Please uninstalled it." -COM_SOCIALLOGIN_INSTALLATION_MODULE_DIR_ERROR="Installation process Failed to create module directory." -COM_SOCIALLOGIN_INSTALLATION_MODULE_PLG_ERROR="Installation process failed to create plugin directory." -COM_SOCIALLOGIN_JOMFISH_ERROR="Social Login component for jomfish were not installed beacuse jomfish not installed on your system." -COM_SOCIALLOGIN_LINK_ACCOUNT_HEAD="Link your account with another social account" -COM_SOCIALLOGIN_LINK_ACCOUNT_TEXT="Link Your account with:" -COM_SOCIALLOGIN_LINK_ACCOUNT_DESC="By adding another account, you can log in with the new account as well!" -COM_SOCIALLOGIN_LINK_ACCOUNT_MSG="You can also use" -COM_SOCIALLOGIN_LINK_ACCOUNT_MSGONE="Currently connected with" -COM_SOCIALLOGIN_LINK_ACCOUNT_REMOVE="Remove" +; $Id: en-GB.com_socialloginandsocialshare.ini 1.6 2012-03-16 02:40:25Z Team LoginRadius $ +; Joomla! Project +; Copyright (C) 2011 - till Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +COM_SOCIALLOGIN_INSTALLATION_STATUS="Social Login And Social Share Installation completed" +COM_SOCIALLOGIN_INSTALLATION_THANK="Thank you very much for installing" +COM_SOCIALLOGIN_INSTALLATION_CONFIG="Please configure" +COM_SOCIALLOGIN_INSTALLATION_COM="component first." +COM_SOCIALLOGIN_INSTALLATION_FREE="Feel free to" +COM_SOCIALLOGIN_INSTALLATION_CONTACT="contact us" +COM_SOCIALLOGIN_INSTALLATION_ASSIST="if you need any assistance." +COM_SOCIALLOGIN_INSTALLATION_THANKYOU="Thank you!" +COM_SOCIALLOGIN_INSTALLATION_MODULE_ERROR="Another module is installed with the same name Please uninstalled it." +COM_SOCIALLOGIN_INSTALLATION_MODULE_DIR_ERROR="Installation process Failed to create module directory." +COM_SOCIALLOGIN_INSTALLATION_MODULE_PLG_ERROR="Installation process failed to create plugin directory." +COM_SOCIALLOGIN_JOMFISH_ERROR="Social Login component for jomfish were not installed beacuse jomfish not installed on your system." +COM_SOCIALLOGIN_LINK_ACCOUNT_HEAD="Link your account with another social account" +COM_SOCIALLOGIN_LINK_ACCOUNT_TEXT="Link Your account with:" +COM_SOCIALLOGIN_LINK_ACCOUNT_DESC="By adding another account, you can log in with the new account as well!" +COM_SOCIALLOGIN_LINK_ACCOUNT_MSG="You can also use" +COM_SOCIALLOGIN_LINK_ACCOUNT_MSGONE="Currently connected with" +COM_SOCIALLOGIN_LINK_ACCOUNT_REMOVE="Remove" COM_SOCIALLOGIN_LINK_ACCOUNT_DELETE="Mapped Account identity successfully deleted" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.com_users.ini b/deployed/_shared/language/en-GB/en-GB.com_users.ini index 995c15a5..5eb4c82f 100644 --- a/deployed/_shared/language/en-GB/en-GB.com_users.ini +++ b/deployed/_shared/language/en-GB/en-GB.com_users.ini @@ -1,194 +1,194 @@ -; Joomla! Project -; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - -COM_USERS_LINK_LABEL="Existing customer? Download your software using your user account to login here." -COM_USERS_LINK_LABEL_NEW="Already have an account? Sign in." -COM_USERS_LOGIN_HEADER="Login" -COM_USERS_LOGIN_LABEL="After signing in you can download and install the 30-day free trial of ARCHLine.XP design software." -COM_USERS_PROFILE_BASIC_LABEL="CREATE ACCOUNT" -COM_USERS_PROFILE_DETAILS_LABEL="Details" -COM_USERS_PROFILE_REQUIRED_LABEL="Required field" -COM_USERS_PROFILE_YES_DESC="Yes" -COM_USERS_PROFILE_NO_DESC="No" -COM_USERS_PROFILE_SPECIALIST_DESC="I would like a product specialist to walk me through the product(s) and its features" -COM_USERS_PROFILE_TRIAL_LABEL="GET YOUR FREE TRIAL" -COM_USERS_PROFILE_PRIVACYPOLICY_LABEL="I have read and agree to the ARCHLine.XP Privacy Policy" -COM_USERS_PROFILE_FIRSTNAME_LABEL="First Name" -COM_USERS_PROFILE_FIRSTNAME_DESC="First Name" -COM_USERS_PROFILE_LASTNAME_LABEL="Last Name" -COM_USERS_PROFILE_LASTNAME_DESC="Last Name" -COM_USERS_PROFILE_EMAIL_DESC="Email address" -COM_USERS_PROFILE_CONFIRMEMAIL_LABEL="Confirm email" -COM_USERS_PROFILE_CONFIRMEMAIL_DESC="Confirm email" -COM_USERS_PROFILE_PASSWORD_LABEL="Password" -COM_USERS_PROFILE_PASSWORD_DESC="Password" -COM_USERS_PROFILE_CONFIRMPASSWORD_LABEL="Confirm password" -COM_USERS_PROFILE_CONFIRMPASSWORD_DESC="Confirm password" -COM_USERS_PROFILE_PHONE_LABEL="Phone number" -COM_USERS_PROFILE_PHONE_DESC="Phone number" -COM_USERS_PROFILE_COUNTRY_LABEL="Country" -COM_USERS_PROFILE_COUNTRY_DESC="--- Please select an option ---" -COM_USERS_PROFILE_PROFESSION_LABEL="Profession" -COM_USERS_PROFILE_PROFESSION_DESC="Select" -COM_USERS_ACTIVATION_TOKEN_NOT_FOUND="Verification code not found." -COM_USERS_CAPTCHA_LABEL="Captcha" -COM_USERS_CAPTCHA_DESC="Please complete the security check." -COM_USERS_DATABASE_ERROR="Error getting the user from the database: %s" -COM_USERS_DESIRED_PASSWORD="Enter your desired password." -COM_USERS_DESIRED_USERNAME="Enter your desired username." -COM_USERS_EDIT_PROFILE="Edit Profile" -COM_USERS_EMAIL_ACCOUNT_DETAILS="Account Details for %s at %s" -COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY="Hello administrator,\n\nA new user has registered at %s.\nThe user has verified their email address and requests that you approve their account.\nThis email has their details:\n\n Name : %s \n email: %s \n Username: %s \n\nYou can activate the user by selecting on the link below:\n %s \n" -COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUBJECT="Registration approval required for account of %s at %s" -COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY="Hello %s,\n\nYour account has been activated by an administrator. You can now login at %s using the username %s and the password you chose while registering." -COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUBJECT="Account activated for %s at %s" -COM_USERS_EMAIL_PASSWORD_RESET_BODY="Hello,\n\nA request has been made to reset your %s account password. To reset your password, you will need to submit this verification code to verify that the request was legitimate.\n\nThe verification code is %s\n\nSelect the URL below and proceed with resetting your password.\n\n %s \n\nThank you." -COM_USERS_EMAIL_PASSWORD_RESET_SUBJECT="Your %s password reset request" -COM_USERS_EMAIL_REGISTERED_BODY="Hello %s,\n\nThank you for registering at %s.\n\nYou may now log in to %s using the following username and password:\n\nUsername: %s\nPassword: %s" -COM_USERS_EMAIL_REGISTERED_BODY_NOPW="Hello %s,\n\nThank you for registering at %s.\n\nYou may now log in to %s using the username and password you registered with." -COM_USERS_EMAIL_REGISTERED_NOTIFICATION_TO_ADMIN_BODY="Hello administrator, \n\nA new user '%s', username '%s', has registered at %s." -COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY="Hello %s,\n\nThank you for registering at %s. Your account is created and must be activated before you can use it.\nTo activate the account select the following link or copy-paste it in your browser:\n%s \n\nAfter activation you may login to %s using the following username and password:\n\nUsername: %s\nPassword: %s" -COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY_NOPW="Hello %s,\n\nThank you for registering at %s. Your account is created and must be activated before you can use it.\nTo activate the account select the following link or copy-paste it in your browser:\n%s \n\nAfter activation you may login to %s using the email address and the password you entered during registration." -COM_USERS_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY="Hello %s,\n\nThank you for registering at %s. Your account is created and must be verified before you can use it.\nTo verify the account select the following link or copy-paste it in your browser:\n %s \n\nAfter verification an administrator will be notified to activate your account. You'll receive a confirmation when it's done.\nOnce that account has been activated you may login to %s using the following username and password:\n\nUsername: %s\nPassword: %s" -COM_USERS_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY_NOPW="Hello %s,\n\nThank you for registering at %s. Your account is created and must be verified before you can use it.\nTo verify the account select the following link or copy-paste it in your browser:\n %s \n\nAfter verification an administrator will be notified to activate your account. You'll receive a confirmation when it's done.\nOnce that account has been activated you may login to %s using the following username and the password you entered during registration:\n\nUsername: %s" -COM_USERS_EMAIL_USERNAME_REMINDER_BODY="Hello,\n\nA username reminder has been requested for your %s account.\n\nYour username is %s.\n\nTo login to your account, select the link below.\n\n%s \n\nThank you." -COM_USERS_EMAIL_USERNAME_REMINDER_SUBJECT="Your %s username" -COM_USERS_ERROR_SECRET_CODE_WITHOUT_TFA="You have entered a Secret Code but two factor authentication is not enabled in your user account. If you want to use a secret code to secure your login please edit your user profile and enable two factor authentication." -COM_USERS_FIELD_PASSWORD_RESET_DESC="Please enter the email address associated with your User account.
                      A verification code will be sent to you. Once you have received the verification code, you will be able to choose a new password for your account." -COM_USERS_FIELD_PASSWORD_RESET_LABEL="Email Address" -COM_USERS_FIELD_REMIND_EMAIL_DESC="Please enter the email address associated with your User account.
                      Your username will be emailed to the email address on file." -COM_USERS_FIELD_REMIND_EMAIL_LABEL="Email Address" -COM_USERS_FIELD_RESET_CONFIRM_TOKEN_DESC="Enter the password reset verification code you received by email." -COM_USERS_FIELD_RESET_CONFIRM_TOKEN_LABEL="Verification Code" -COM_USERS_FIELD_RESET_CONFIRM_USERNAME_DESC="Enter your username." -COM_USERS_FIELD_RESET_CONFIRM_USERNAME_LABEL="Username" -COM_USERS_FIELD_RESET_PASSWORD1_DESC="Enter your new password." -COM_USERS_FIELD_RESET_PASSWORD1_LABEL="Password" -COM_USERS_FIELD_RESET_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." -COM_USERS_FIELD_RESET_PASSWORD2_DESC="Confirm your new password." -COM_USERS_FIELD_RESET_PASSWORD2_LABEL="Confirm Password" -COM_USERS_INVALID_EMAIL="Invalid email address" -COM_USERS_LOGIN_IMAGE_ALT="Login image" -COM_USERS_LOGIN_REGISTER="Don't have an account?" -COM_USERS_LOGIN_REMEMBER_ME="Remember me" -COM_USERS_LOGIN_REMIND="Forgot your username?" -COM_USERS_LOGIN_RESET="Forgot your password?" -COM_USERS_LOGIN_USERNAME_LABEL="Username" -COM_USERS_MAIL_FAILED="Failed sending email." -COM_USERS_MAIL_SEND_FAILURE_BODY="An error was encountered when sending the user registration email. The error is: %s The user who tried to register is: %s" -COM_USERS_MAIL_SEND_FAILURE_SUBJECT="Error sending email" -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not have enough digits. At least %s digits are required." -COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not have enough digits. At least 1 digit is required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not have enough symbols. At least %s symbols are required." -COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not have enough symbols. At least 1 symbol is required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not have enough uppercase characters. At least %s upper case characters are required." -COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not have enough uppercase characters. At least 1 upper case character is required." -COM_USERS_MSG_PASSWORD_TOO_LONG="Password is too long. Passwords must be less than 100 characters." -COM_USERS_MSG_PASSWORD_TOO_SHORT_N="Password is too short. Passwords must have at least %s characters." -COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not have spaces." -COM_USERS_OPTIONAL="(optional)" -COM_USERS_OR="or" -COM_USERS_PROFILE="User Profile" -COM_USERS_PROFILE_BIND_FAILED="Could not bind profile data: %s" -COM_USERS_PROFILE_CORE_LEGEND="Profile" -COM_USERS_PROFILE_CUSTOM_LEGEND="Custom Profile" -COM_USERS_PROFILE_DEFAULT_LABEL="Edit Your Profile" -COM_USERS_PROFILE_EMAIL1_DESC="Enter your email address." -COM_USERS_PROFILE_EMAIL1_LABEL="Email Address" -COM_USERS_PROFILE_EMAIL1_MESSAGE="The email address you entered is already in use or invalid. Please enter another email address." -COM_USERS_PROFILE_EMAIL2_DESC="Confirm your email address." -COM_USERS_PROFILE_EMAIL2_LABEL="Confirm Email Address" -COM_USERS_PROFILE_EMAIL2_MESSAGE="The email addresses you entered do not match. Please enter your email address in the email address field and confirm your entry by entering it in the confirm email address field." -COM_USERS_PROFILE_LAST_VISITED_DATE_LABEL="Last Visited Date" -COM_USERS_PROFILE_MY_PROFILE="My Profile" -COM_USERS_PROFILE_NAME_DESC="Enter your full name." -COM_USERS_PROFILE_NAME_LABEL="Name" -COM_USERS_PROFILE_NEVER_VISITED="This is the first time you visit this site" -COM_USERS_PROFILE_NOCHANGE_USERNAME_DESC="If you want to change your username, please contact a site administrator." -COM_USERS_PROFILE_OTEPS="One time emergency passwords" -COM_USERS_PROFILE_OTEPS_DESC="If you do not have access to your two factor authentication device you can use any of the following passwords instead of a regular security code. Each one of these emergency passwords is immediately destroyed upon use. We recommend printing these passwords out and keeping the printout in a safe and accessible location, eg your wallet or a safety deposit box." -COM_USERS_PROFILE_OTEPS_WAIT_DESC="There are no emergency one time passwords generated in your account. The passwords will be generated automatically and displayed here as soon as you activate two factor authentication." -COM_USERS_PROFILE_PASSWORD1_LABEL="Password" -COM_USERS_PROFILE_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." -COM_USERS_PROFILE_PASSWORD2_DESC="Confirm your password." -COM_USERS_PROFILE_PASSWORD2_LABEL="Confirm Password" -COM_USERS_PROFILE_REGISTERED_DATE_LABEL="Registered Date" -COM_USERS_PROFILE_SAVE_FAILED="Profile could not be saved: %s" -COM_USERS_PROFILE_SAVE_SUCCESS="Profile saved." -COM_USERS_PROFILE_TWO_FACTOR_AUTH="Two Factor Authentication" -COM_USERS_PROFILE_TWOFACTOR_LABEL="Authentication Method" -COM_USERS_PROFILE_TWOFACTOR_DESC="Which two factor authentication method you want to activate on the user account." -COM_USERS_PROFILE_USERNAME_DESC="Enter your desired username." -COM_USERS_PROFILE_USERNAME_LABEL="Username" -COM_USERS_PROFILE_USERNAME_MESSAGE="The username you entered is not available. Please pick another username." -COM_USERS_PROFILE_VALUE_NOT_FOUND="No Information Entered" -COM_USERS_PROFILE_WELCOME="Welcome, %s" -COM_USERS_REGISTER_DEFAULT_LABEL="Create An Account" -COM_USERS_REGISTER_EMAIL1_DESC="Enter your email address." -COM_USERS_REGISTER_EMAIL1_LABEL="Email Address" -COM_USERS_REGISTER_EMAIL1_MESSAGE="The email address you entered is already in use or invalid. Please enter another email address." -COM_USERS_REGISTER_EMAIL2_DESC="Confirm your email address." -COM_USERS_REGISTER_EMAIL2_LABEL="Confirm Email Address" -COM_USERS_REGISTER_EMAIL2_MESSAGE="The email addresses you entered do not match. Please enter your email address in the email address field and confirm your entry by entering it in the confirm email address field." -COM_USERS_REGISTER_NAME_DESC="Enter your full name." -COM_USERS_REGISTER_NAME_LABEL="Name" -COM_USERS_REGISTER_PASSWORD1_LABEL="Password" -COM_USERS_REGISTER_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." -COM_USERS_REGISTER_PASSWORD2_DESC="Confirm your password." -COM_USERS_REGISTER_PASSWORD2_LABEL="Confirm Password" -COM_USERS_REGISTER_REQUIRED="* Required field" -COM_USERS_REGISTER_USERNAME_DESC="Enter your desired username." -COM_USERS_REGISTER_USERNAME_LABEL="Username" -COM_USERS_REGISTER_USERNAME_MESSAGE="The username you entered is not available. Please pick another username." -COM_USERS_REGISTRATION="User Registration" -COM_USERS_REGISTRATION_ACTIVATE_SUCCESS="Your Account has been activated. You can now log in using the username and password you chose during the registration." -COM_USERS_REGISTRATION_ACTIVATION_NOTIFY_SEND_MAIL_FAILED="An error was encountered while sending activation notification email" -COM_USERS_REGISTRATION_ACTIVATION_SAVE_FAILED="Failed to save activation data: %s" -COM_USERS_REGISTRATION_ADMINACTIVATE_SUCCESS="The user's account has been activated and the user has been notified about it." -COM_USERS_REGISTRATION_BIND_FAILED="Failed to bind registration data: %s" -COM_USERS_REGISTRATION_COMPLETE_ACTIVATE="Your account has been created and an activation link has been sent to the email address you entered. Note that you must activate the account by selecting the activation link when you get the email before you can login." -COM_USERS_REGISTRATION_COMPLETE_VERIFY="Your account has been created and a verification link has been sent to the email address you entered. Note that you must verify the account by selecting the verification link when you get the email and then an administrator will activate your account before you can login." -COM_USERS_REGISTRATION_DEFAULT_LABEL="User Registration" -COM_USERS_REGISTRATION_SAVE_FAILED="Registration failed: %s" -COM_USERS_REGISTRATION_SAVE_SUCCESS="Thank you for registering. You may now log in using the username and password you registered with." -COM_USERS_REGISTRATION_SEND_MAIL_FAILED="An error was encountered while sending the registration email. A message has been sent to the administrator of this site." -COM_USERS_REGISTRATION_VERIFY_SUCCESS="Your email address has been verified. Once an administrator approves your account you will be notified by email and you can login to the site." -COM_USERS_REMIND="Reminder" -COM_USERS_REMIND_DEFAULT_LABEL="Please enter the email address associated with your User account. Your username will be emailed to the email address on file." -COM_USERS_REMIND_EMAIL_LABEL="Your Email" -COM_USERS_REMIND_LIMIT_ERROR_N_HOURS="You have exceeded the maximum number of password resets allowed. Please try again in %s hours." -COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_1="You have exceeded the maximum number of password resets allowed. Please try again in one hour." -COM_USERS_REMIND_REQUEST_ERROR="Error requesting password reminder." -COM_USERS_REMIND_REQUEST_FAILED="Reminder failed: %s" -COM_USERS_REMIND_REQUEST_SUCCESS="Reminder sent. Please check your mail." -COM_USERS_REMIND_SUPERADMIN_ERROR="A Super User can't request a password reminder. Please contact another Super User or use an alternative method." -COM_USERS_RESET="Password Reset" -COM_USERS_RESET_COMPLETE_ERROR="Error completing password reset." -COM_USERS_RESET_COMPLETE_FAILED="Completing reset password failed: %s" -COM_USERS_RESET_COMPLETE_LABEL="To complete the password reset process, please enter a new password." -COM_USERS_RESET_COMPLETE_SUCCESS="Reset password successful. You may now login to the site." -COM_USERS_RESET_CONFIRM_ERROR="Error while confirming the password." -COM_USERS_RESET_CONFIRM_FAILED="Your password reset confirmation failed because the verification code was invalid. %s" -COM_USERS_RESET_CONFIRM_LABEL="An email has been sent to your email address. The email has a verification code, please paste the verification code in the field below to prove that you are the owner of this account." -COM_USERS_RESET_COMPLETE_TOKENS_MISSING="Your password reset confirmation failed because the verification code was missing." -COM_USERS_RESET_REQUEST_ERROR="Error requesting password reset." -COM_USERS_RESET_REQUEST_FAILED="Reset password failed: %s" -COM_USERS_RESET_REQUEST_LABEL="Please enter the email address for your account. A verification code will be sent to you. Once you have received the verification code, you will be able to choose a new password for your account." -COM_USERS_SETTINGS_FIELDSET_LABEL="Basic Settings" -COM_USERS_USER_BLOCKED="This user is blocked. If this is an error, please contact an administrator." -COM_USERS_USER_FIELD_BACKEND_LANGUAGE_DESC="Choose your default language for the Backend." -COM_USERS_USER_FIELD_BACKEND_LANGUAGE_LABEL="Backend Language" -COM_USERS_USER_FIELD_BACKEND_TEMPLATE_DESC="Select the template style for the Administrator Backend interface. This will only affect this User." -COM_USERS_USER_FIELD_BACKEND_TEMPLATE_LABEL="Backend Template Style" -COM_USERS_USER_FIELD_EDITOR_DESC="Choose your text editor." -COM_USERS_USER_FIELD_EDITOR_LABEL="Editor" -COM_USERS_USER_FIELD_FRONTEND_LANGUAGE_DESC="Choose your default language for the Frontend." -COM_USERS_USER_FIELD_FRONTEND_LANGUAGE_LABEL="Frontend Language" -COM_USERS_USER_FIELD_HELPSITE_DESC="Help site for the Backend." -COM_USERS_USER_FIELD_HELPSITE_LABEL="Help Site" -COM_USERS_USER_FIELD_TIMEZONE_DESC="Choose your time zone." -COM_USERS_USER_FIELD_TIMEZONE_LABEL="Time Zone" -COM_USERS_USER_NOT_FOUND="User not found." -COM_USERS_USER_SAVE_FAILED="Failed to save user: %s" +; Joomla! Project +; Copyright (C) 2005 - 2018 Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 + +COM_USERS_LINK_LABEL="Existing customer? Download your software using your user account to login here." +COM_USERS_LINK_LABEL_NEW="Already have an account? Sign in." +COM_USERS_LOGIN_HEADER="Login" +COM_USERS_LOGIN_LABEL="After signing in you can download and install the 30-day free trial of ARCHLine.XP design software." +COM_USERS_PROFILE_BASIC_LABEL="CREATE ACCOUNT" +COM_USERS_PROFILE_DETAILS_LABEL="Details" +COM_USERS_PROFILE_REQUIRED_LABEL="Required field" +COM_USERS_PROFILE_YES_DESC="Yes" +COM_USERS_PROFILE_NO_DESC="No" +COM_USERS_PROFILE_SPECIALIST_DESC="I would like a product specialist to walk me through the product(s) and its features" +COM_USERS_PROFILE_TRIAL_LABEL="GET YOUR FREE TRIAL" +COM_USERS_PROFILE_PRIVACYPOLICY_LABEL="I have read and agree to the ARCHLine.XP Privacy Policy" +COM_USERS_PROFILE_FIRSTNAME_LABEL="First Name" +COM_USERS_PROFILE_FIRSTNAME_DESC="First Name" +COM_USERS_PROFILE_LASTNAME_LABEL="Last Name" +COM_USERS_PROFILE_LASTNAME_DESC="Last Name" +COM_USERS_PROFILE_EMAIL_DESC="Email address" +COM_USERS_PROFILE_CONFIRMEMAIL_LABEL="Confirm email" +COM_USERS_PROFILE_CONFIRMEMAIL_DESC="Confirm email" +COM_USERS_PROFILE_PASSWORD_LABEL="Password" +COM_USERS_PROFILE_PASSWORD_DESC="Password" +COM_USERS_PROFILE_CONFIRMPASSWORD_LABEL="Confirm password" +COM_USERS_PROFILE_CONFIRMPASSWORD_DESC="Confirm password" +COM_USERS_PROFILE_PHONE_LABEL="Phone number" +COM_USERS_PROFILE_PHONE_DESC="Phone number" +COM_USERS_PROFILE_COUNTRY_LABEL="Country" +COM_USERS_PROFILE_COUNTRY_DESC="--- Please select an option ---" +COM_USERS_PROFILE_PROFESSION_LABEL="Profession" +COM_USERS_PROFILE_PROFESSION_DESC="Select" +COM_USERS_ACTIVATION_TOKEN_NOT_FOUND="Verification code not found." +COM_USERS_CAPTCHA_LABEL="Captcha" +COM_USERS_CAPTCHA_DESC="Please complete the security check." +COM_USERS_DATABASE_ERROR="Error getting the user from the database: %s" +COM_USERS_DESIRED_PASSWORD="Enter your desired password." +COM_USERS_DESIRED_USERNAME="Enter your desired username." +COM_USERS_EDIT_PROFILE="Edit Profile" +COM_USERS_EMAIL_ACCOUNT_DETAILS="Account Details for %s at %s" +COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY="Hello administrator,\n\nA new user has registered at %s.\nThe user has verified their email address and requests that you approve their account.\nThis email has their details:\n\n Name : %s \n email: %s \n Username: %s \n\nYou can activate the user by selecting on the link below:\n %s \n" +COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_SUBJECT="Registration approval required for account of %s at %s" +COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_BODY="Hello %s,\n\nYour account has been activated by an administrator. You can now login at %s using the username %s and the password you chose while registering." +COM_USERS_EMAIL_ACTIVATED_BY_ADMIN_ACTIVATION_SUBJECT="Account activated for %s at %s" +COM_USERS_EMAIL_PASSWORD_RESET_BODY="Hello,\n\nA request has been made to reset your %s account password. To reset your password, you will need to submit this verification code to verify that the request was legitimate.\n\nThe verification code is %s\n\nSelect the URL below and proceed with resetting your password.\n\n %s \n\nThank you." +COM_USERS_EMAIL_PASSWORD_RESET_SUBJECT="Your %s password reset request" +COM_USERS_EMAIL_REGISTERED_BODY="Hello %s,\n\nThank you for registering at %s.\n\nYou may now log in to %s using the following username and password:\n\nUsername: %s\nPassword: %s" +COM_USERS_EMAIL_REGISTERED_BODY_NOPW="Hello %s,\n\nThank you for registering at %s.\n\nYou may now log in to %s using the username and password you registered with." +COM_USERS_EMAIL_REGISTERED_NOTIFICATION_TO_ADMIN_BODY="Hello administrator, \n\nA new user '%s', username '%s', has registered at %s." +COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY="Hello %s,\n\nThank you for registering at %s. Your account is created and must be activated before you can use it.\nTo activate the account select the following link or copy-paste it in your browser:\n%s \n\nAfter activation you may login to %s using the following username and password:\n\nUsername: %s\nPassword: %s" +COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY_NOPW="Hello %s,\n\nThank you for registering at %s. Your account is created and must be activated before you can use it.\nTo activate the account select the following link or copy-paste it in your browser:\n%s \n\nAfter activation you may login to %s using the email address and the password you entered during registration." +COM_USERS_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY="Hello %s,\n\nThank you for registering at %s. Your account is created and must be verified before you can use it.\nTo verify the account select the following link or copy-paste it in your browser:\n %s \n\nAfter verification an administrator will be notified to activate your account. You'll receive a confirmation when it's done.\nOnce that account has been activated you may login to %s using the following username and password:\n\nUsername: %s\nPassword: %s" +COM_USERS_EMAIL_REGISTERED_WITH_ADMIN_ACTIVATION_BODY_NOPW="Hello %s,\n\nThank you for registering at %s. Your account is created and must be verified before you can use it.\nTo verify the account select the following link or copy-paste it in your browser:\n %s \n\nAfter verification an administrator will be notified to activate your account. You'll receive a confirmation when it's done.\nOnce that account has been activated you may login to %s using the following username and the password you entered during registration:\n\nUsername: %s" +COM_USERS_EMAIL_USERNAME_REMINDER_BODY="Hello,\n\nA username reminder has been requested for your %s account.\n\nYour username is %s.\n\nTo login to your account, select the link below.\n\n%s \n\nThank you." +COM_USERS_EMAIL_USERNAME_REMINDER_SUBJECT="Your %s username" +COM_USERS_ERROR_SECRET_CODE_WITHOUT_TFA="You have entered a Secret Code but two factor authentication is not enabled in your user account. If you want to use a secret code to secure your login please edit your user profile and enable two factor authentication." +COM_USERS_FIELD_PASSWORD_RESET_DESC="Please enter the email address associated with your User account.
                      A verification code will be sent to you. Once you have received the verification code, you will be able to choose a new password for your account." +COM_USERS_FIELD_PASSWORD_RESET_LABEL="Email Address" +COM_USERS_FIELD_REMIND_EMAIL_DESC="Please enter the email address associated with your User account.
                      Your username will be emailed to the email address on file." +COM_USERS_FIELD_REMIND_EMAIL_LABEL="Email Address" +COM_USERS_FIELD_RESET_CONFIRM_TOKEN_DESC="Enter the password reset verification code you received by email." +COM_USERS_FIELD_RESET_CONFIRM_TOKEN_LABEL="Verification Code" +COM_USERS_FIELD_RESET_CONFIRM_USERNAME_DESC="Enter your username." +COM_USERS_FIELD_RESET_CONFIRM_USERNAME_LABEL="Username" +COM_USERS_FIELD_RESET_PASSWORD1_DESC="Enter your new password." +COM_USERS_FIELD_RESET_PASSWORD1_LABEL="Password" +COM_USERS_FIELD_RESET_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." +COM_USERS_FIELD_RESET_PASSWORD2_DESC="Confirm your new password." +COM_USERS_FIELD_RESET_PASSWORD2_LABEL="Confirm Password" +COM_USERS_INVALID_EMAIL="Invalid email address" +COM_USERS_LOGIN_IMAGE_ALT="Login image" +COM_USERS_LOGIN_REGISTER="Don't have an account?" +COM_USERS_LOGIN_REMEMBER_ME="Remember me" +COM_USERS_LOGIN_REMIND="Forgot your username?" +COM_USERS_LOGIN_RESET="Forgot your password?" +COM_USERS_LOGIN_USERNAME_LABEL="Username" +COM_USERS_MAIL_FAILED="Failed sending email." +COM_USERS_MAIL_SEND_FAILURE_BODY="An error was encountered when sending the user registration email. The error is: %s The user who tried to register is: %s" +COM_USERS_MAIL_SEND_FAILURE_SUBJECT="Error sending email" +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N="Password does not have enough digits. At least %s digits are required." +COM_USERS_MSG_NOT_ENOUGH_INTEGERS_N_1="Password does not have enough digits. At least 1 digit is required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N="Password does not have enough symbols. At least %s symbols are required." +COM_USERS_MSG_NOT_ENOUGH_SYMBOLS_N_1="Password does not have enough symbols. At least 1 symbol is required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N="Password does not have enough uppercase characters. At least %s upper case characters are required." +COM_USERS_MSG_NOT_ENOUGH_UPPERCASE_LETTERS_N_1="Password does not have enough uppercase characters. At least 1 upper case character is required." +COM_USERS_MSG_PASSWORD_TOO_LONG="Password is too long. Passwords must be less than 100 characters." +COM_USERS_MSG_PASSWORD_TOO_SHORT_N="Password is too short. Passwords must have at least %s characters." +COM_USERS_MSG_SPACES_IN_PASSWORD="Password must not have spaces." +COM_USERS_OPTIONAL="(optional)" +COM_USERS_OR="or" +COM_USERS_PROFILE="User Profile" +COM_USERS_PROFILE_BIND_FAILED="Could not bind profile data: %s" +COM_USERS_PROFILE_CORE_LEGEND="Profile" +COM_USERS_PROFILE_CUSTOM_LEGEND="Custom Profile" +COM_USERS_PROFILE_DEFAULT_LABEL="Edit Your Profile" +COM_USERS_PROFILE_EMAIL1_DESC="Enter your email address." +COM_USERS_PROFILE_EMAIL1_LABEL="Email Address" +COM_USERS_PROFILE_EMAIL1_MESSAGE="The email address you entered is already in use or invalid. Please enter another email address." +COM_USERS_PROFILE_EMAIL2_DESC="Confirm your email address." +COM_USERS_PROFILE_EMAIL2_LABEL="Confirm Email Address" +COM_USERS_PROFILE_EMAIL2_MESSAGE="The email addresses you entered do not match. Please enter your email address in the email address field and confirm your entry by entering it in the confirm email address field." +COM_USERS_PROFILE_LAST_VISITED_DATE_LABEL="Last Visited Date" +COM_USERS_PROFILE_MY_PROFILE="My Profile" +COM_USERS_PROFILE_NAME_DESC="Enter your full name." +COM_USERS_PROFILE_NAME_LABEL="Name" +COM_USERS_PROFILE_NEVER_VISITED="This is the first time you visit this site" +COM_USERS_PROFILE_NOCHANGE_USERNAME_DESC="If you want to change your username, please contact a site administrator." +COM_USERS_PROFILE_OTEPS="One time emergency passwords" +COM_USERS_PROFILE_OTEPS_DESC="If you do not have access to your two factor authentication device you can use any of the following passwords instead of a regular security code. Each one of these emergency passwords is immediately destroyed upon use. We recommend printing these passwords out and keeping the printout in a safe and accessible location, eg your wallet or a safety deposit box." +COM_USERS_PROFILE_OTEPS_WAIT_DESC="There are no emergency one time passwords generated in your account. The passwords will be generated automatically and displayed here as soon as you activate two factor authentication." +COM_USERS_PROFILE_PASSWORD1_LABEL="Password" +COM_USERS_PROFILE_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." +COM_USERS_PROFILE_PASSWORD2_DESC="Confirm your password." +COM_USERS_PROFILE_PASSWORD2_LABEL="Confirm Password" +COM_USERS_PROFILE_REGISTERED_DATE_LABEL="Registered Date" +COM_USERS_PROFILE_SAVE_FAILED="Profile could not be saved: %s" +COM_USERS_PROFILE_SAVE_SUCCESS="Profile saved." +COM_USERS_PROFILE_TWO_FACTOR_AUTH="Two Factor Authentication" +COM_USERS_PROFILE_TWOFACTOR_LABEL="Authentication Method" +COM_USERS_PROFILE_TWOFACTOR_DESC="Which two factor authentication method you want to activate on the user account." +COM_USERS_PROFILE_USERNAME_DESC="Enter your desired username." +COM_USERS_PROFILE_USERNAME_LABEL="Username" +COM_USERS_PROFILE_USERNAME_MESSAGE="The username you entered is not available. Please pick another username." +COM_USERS_PROFILE_VALUE_NOT_FOUND="No Information Entered" +COM_USERS_PROFILE_WELCOME="Welcome, %s" +COM_USERS_REGISTER_DEFAULT_LABEL="Create An Account" +COM_USERS_REGISTER_EMAIL1_DESC="Enter your email address." +COM_USERS_REGISTER_EMAIL1_LABEL="Email Address" +COM_USERS_REGISTER_EMAIL1_MESSAGE="The email address you entered is already in use or invalid. Please enter another email address." +COM_USERS_REGISTER_EMAIL2_DESC="Confirm your email address." +COM_USERS_REGISTER_EMAIL2_LABEL="Confirm Email Address" +COM_USERS_REGISTER_EMAIL2_MESSAGE="The email addresses you entered do not match. Please enter your email address in the email address field and confirm your entry by entering it in the confirm email address field." +COM_USERS_REGISTER_NAME_DESC="Enter your full name." +COM_USERS_REGISTER_NAME_LABEL="Name" +COM_USERS_REGISTER_PASSWORD1_LABEL="Password" +COM_USERS_REGISTER_PASSWORD1_MESSAGE="The passwords you entered do not match. Please enter your desired password in the password field and confirm your entry by entering it in the confirm password field." +COM_USERS_REGISTER_PASSWORD2_DESC="Confirm your password." +COM_USERS_REGISTER_PASSWORD2_LABEL="Confirm Password" +COM_USERS_REGISTER_REQUIRED="* Required field" +COM_USERS_REGISTER_USERNAME_DESC="Enter your desired username." +COM_USERS_REGISTER_USERNAME_LABEL="Username" +COM_USERS_REGISTER_USERNAME_MESSAGE="The username you entered is not available. Please pick another username." +COM_USERS_REGISTRATION="User Registration" +COM_USERS_REGISTRATION_ACTIVATE_SUCCESS="Your Account has been activated. You can now log in using the username and password you chose during the registration." +COM_USERS_REGISTRATION_ACTIVATION_NOTIFY_SEND_MAIL_FAILED="An error was encountered while sending activation notification email" +COM_USERS_REGISTRATION_ACTIVATION_SAVE_FAILED="Failed to save activation data: %s" +COM_USERS_REGISTRATION_ADMINACTIVATE_SUCCESS="The user's account has been activated and the user has been notified about it." +COM_USERS_REGISTRATION_BIND_FAILED="Failed to bind registration data: %s" +COM_USERS_REGISTRATION_COMPLETE_ACTIVATE="Your account has been created and an activation link has been sent to the email address you entered. Note that you must activate the account by selecting the activation link when you get the email before you can login." +COM_USERS_REGISTRATION_COMPLETE_VERIFY="Your account has been created and a verification link has been sent to the email address you entered. Note that you must verify the account by selecting the verification link when you get the email and then an administrator will activate your account before you can login." +COM_USERS_REGISTRATION_DEFAULT_LABEL="User Registration" +COM_USERS_REGISTRATION_SAVE_FAILED="Registration failed: %s" +COM_USERS_REGISTRATION_SAVE_SUCCESS="Thank you for registering. You may now log in using the username and password you registered with." +COM_USERS_REGISTRATION_SEND_MAIL_FAILED="An error was encountered while sending the registration email. A message has been sent to the administrator of this site." +COM_USERS_REGISTRATION_VERIFY_SUCCESS="Your email address has been verified. Once an administrator approves your account you will be notified by email and you can login to the site." +COM_USERS_REMIND="Reminder" +COM_USERS_REMIND_DEFAULT_LABEL="Please enter the email address associated with your User account. Your username will be emailed to the email address on file." +COM_USERS_REMIND_EMAIL_LABEL="Your Email" +COM_USERS_REMIND_LIMIT_ERROR_N_HOURS="You have exceeded the maximum number of password resets allowed. Please try again in %s hours." +COM_USERS_REMIND_LIMIT_ERROR_N_HOURS_1="You have exceeded the maximum number of password resets allowed. Please try again in one hour." +COM_USERS_REMIND_REQUEST_ERROR="Error requesting password reminder." +COM_USERS_REMIND_REQUEST_FAILED="Reminder failed: %s" +COM_USERS_REMIND_REQUEST_SUCCESS="Reminder sent. Please check your mail." +COM_USERS_REMIND_SUPERADMIN_ERROR="A Super User can't request a password reminder. Please contact another Super User or use an alternative method." +COM_USERS_RESET="Password Reset" +COM_USERS_RESET_COMPLETE_ERROR="Error completing password reset." +COM_USERS_RESET_COMPLETE_FAILED="Completing reset password failed: %s" +COM_USERS_RESET_COMPLETE_LABEL="To complete the password reset process, please enter a new password." +COM_USERS_RESET_COMPLETE_SUCCESS="Reset password successful. You may now login to the site." +COM_USERS_RESET_CONFIRM_ERROR="Error while confirming the password." +COM_USERS_RESET_CONFIRM_FAILED="Your password reset confirmation failed because the verification code was invalid. %s" +COM_USERS_RESET_CONFIRM_LABEL="An email has been sent to your email address. The email has a verification code, please paste the verification code in the field below to prove that you are the owner of this account." +COM_USERS_RESET_COMPLETE_TOKENS_MISSING="Your password reset confirmation failed because the verification code was missing." +COM_USERS_RESET_REQUEST_ERROR="Error requesting password reset." +COM_USERS_RESET_REQUEST_FAILED="Reset password failed: %s" +COM_USERS_RESET_REQUEST_LABEL="Please enter the email address for your account. A verification code will be sent to you. Once you have received the verification code, you will be able to choose a new password for your account." +COM_USERS_SETTINGS_FIELDSET_LABEL="Basic Settings" +COM_USERS_USER_BLOCKED="This user is blocked. If this is an error, please contact an administrator." +COM_USERS_USER_FIELD_BACKEND_LANGUAGE_DESC="Choose your default language for the Backend." +COM_USERS_USER_FIELD_BACKEND_LANGUAGE_LABEL="Backend Language" +COM_USERS_USER_FIELD_BACKEND_TEMPLATE_DESC="Select the template style for the Administrator Backend interface. This will only affect this User." +COM_USERS_USER_FIELD_BACKEND_TEMPLATE_LABEL="Backend Template Style" +COM_USERS_USER_FIELD_EDITOR_DESC="Choose your text editor." +COM_USERS_USER_FIELD_EDITOR_LABEL="Editor" +COM_USERS_USER_FIELD_FRONTEND_LANGUAGE_DESC="Choose your default language for the Frontend." +COM_USERS_USER_FIELD_FRONTEND_LANGUAGE_LABEL="Frontend Language" +COM_USERS_USER_FIELD_HELPSITE_DESC="Help site for the Backend." +COM_USERS_USER_FIELD_HELPSITE_LABEL="Help Site" +COM_USERS_USER_FIELD_TIMEZONE_DESC="Choose your time zone." +COM_USERS_USER_FIELD_TIMEZONE_LABEL="Time Zone" +COM_USERS_USER_NOT_FOUND="User not found." +COM_USERS_USER_SAVE_FAILED="Failed to save user: %s" diff --git a/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.ini b/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.ini index fe9db881..b8248492 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.ini @@ -1,8 +1,8 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Subscribe to our weekly newsletter!" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Join our community to get the latest tutorials, offers and news delivered directly in your inbox." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" -MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Subscribe to our weekly newsletter!" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Join our community to get the latest tutorials, offers and news delivered directly in your inbox." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" MOD_AL_NEWSLETTER_DONE="Thank you for subscribing" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.sys.ini index 0ed85c5d..051293b0 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_al_newsletter.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_al_upload.ini b/deployed/_shared/language/en-GB/en-GB.mod_al_upload.ini index 80071a21..4ab545c8 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_al_upload.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_al_upload.ini @@ -1,4 +1,4 @@ -MOD_AL_UPLOAD_SUCCESS="Thank you for participating in the poll, your vote was valid.
                      -Best regards, CadLine Kft." -MOD_AL_UPLOAD_VOTE="Vote" +MOD_AL_UPLOAD_SUCCESS="Thank you for participating in the poll, your vote was valid.
                      +Best regards, CadLine Kft." +MOD_AL_UPLOAD_VOTE="Vote" MOD_AL_UPLOAD_VOTE_2="I vote" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_al_upload.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_al_upload.sys.ini index 0ed85c5d..051293b0 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_al_upload.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_al_upload.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_al_vote.ini b/deployed/_shared/language/en-GB/en-GB.mod_al_vote.ini index 168fe457..ec4034c1 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_al_vote.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_al_vote.ini @@ -1,8 +1,8 @@ -MOD_AL_VOTE_SUCCESS="Thank you for participating in the poll, your vote was valid.
                      -Best regards, CadLine Kft." -MOD_AL_VOTE_VOTE="Vote" -MOD_AL_VOTE_VOTE_2="Vote" -MOD_AL_VOTE_FIRST_PLACE="WINNER: KATA SÁGHY" -MOD_AL_VOTE_SECOND_PLACE="2nd place: Miklós Elek" -MOD_AL_VOTE_THIRD_PLACE="3rd place: Anett Sipos" +MOD_AL_VOTE_SUCCESS="Thank you for participating in the poll, your vote was valid.
                      +Best regards, CadLine Kft." +MOD_AL_VOTE_VOTE="Vote" +MOD_AL_VOTE_VOTE_2="Vote" +MOD_AL_VOTE_FIRST_PLACE="WINNER: KATA SÁGHY" +MOD_AL_VOTE_SECOND_PLACE="2nd place: Miklós Elek" +MOD_AL_VOTE_THIRD_PLACE="3rd place: Anett Sipos" MOD_AL_VOTE_MORE_PICTURES="More entries:" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_al_vote.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_al_vote.sys.ini index 0ed85c5d..051293b0 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_al_vote.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_al_vote.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." -MOD_AL_NEWSLETTER_NAME="Name" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="GET OUR NEWSLETTER" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Want the latest and greatest from our blog straight to your inbox? Chucks us your details and get a sweet weekly email." +MOD_AL_NEWSLETTER_NAME="Name" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Your name" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Your email address" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Subscribe" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_bt_googlemaps.ini b/deployed/_shared/language/en-GB/en-GB.mod_bt_googlemaps.ini index b2b8138b..b22a9028 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_bt_googlemaps.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_bt_googlemaps.ini @@ -1,161 +1,161 @@ -MOD_BT_GOOGLEMAPS_INPUTYPE="Input type" -MOD_BT_GOOGLEMAPS_INPUTYPE_DESC="Address or latitude/longitude coordinate" -MOD_BT_GOOGLEMAPS_ADDRESS="Map address" -MOD_BT_GOOGLEMAPS_ADDRESS_DESC="Enter the address (Example '1601 S California Ave, Palo Alto, CA 94306, USA'" -MOD_BT_GOOGLEMAPS_MAP_TYPE="Map type" -MOD_BT_GOOGLEMAPS_MAP_TYPE_DESC="Select the map type" -MOD_BT_GOOGLEMAPS_LATITUE="Latitude" -MOD_BT_GOOGLEMAPS_LATITUE_DESC="Enter the latitude" -MOD_BT_GOOGLEMAPS_LONGTITUE="Longitude" -MOD_BT_GOOGLEMAPS_LONGTITUE_DESC="Enter the longitude" -MOD_BT_GOOGLEMAPS_ZOOM="Zoom" -MOD_BT_GOOGLEMAPS_ZOOM_DESC="Map zoom size" -MOD_BT_GOOGLEMAPS_MARKER="Marker" -MOD_BT_GOOGLEMAPS_MARKER_DESC="Enable/Disable Marker" -MOD_BT_GOOGLEMAPS_TITLE="Marker title" -MOD_BT_GOOGLEMAPS_TITLE_DESC="Title of marker" -MOD_BT_GOOGLEMAPS_IMAGE="Marker icon" -MOD_BT_GOOGLEMAPS_IMAGE_DESC="Select the marker icon to show on map" -MOD_BT_GOOGLEMAPS_CONTENTINFO="Maker infowindow" -MOD_BT_GOOGLEMAPS_CONTENTINFO_DESC="Infowindow will be shown when clicking to marker" -MOD_BT_GOOGLEMAPS_SHOWCONTENTONLOAD="Show infowindow onload" -MOD_BT_GOOGLEMAPS_SHOWCONTENTONLOAD_DESC="Show Maker infowindow onload" -MOD_BT_GOOGLEMAPS_LOADJQUERY="Load jQuery" -MOD_BT_GOOGLEMAPS_LOADJQUERY_DESC="Select the method to load jquery" -MOD_BT_GOOGLEMAPS_WIDTH="Width" -MOD_BT_GOOGLEMAPS_WIDTH_DESC="Enter the width of map in pixel" -MOD_BT_GOOGLEMAPS_HEIGHT="Height" -MOD_BT_GOOGLEMAPS_HEIGHT_DESC="Enter the height of map in pixel" -MOD_BT_GOOGLEMAPS_ZOOMCONTROL="Zoom Control" -MOD_BT_GOOGLEMAPS_ZOOMCONTROL_DESC="Show/Hide Zoom Control" -MOD_BT_GOOGLEMAPS_PANCONTROL="Pan Control" -MOD_BT_GOOGLEMAPS_PANCONTROL_DESC="Show/Hide Pan Control" -MOD_BT_GOOGLEMAPS_MAPTYPECONTROL="Map Type Control" -MOD_BT_GOOGLEMAPS_MAPTYPECONTROL_DESC="Show/Hide Map Type Control" -MOD_BT_GOOGLEMAPS_SCALECONTROL="Scale Control" -MOD_BT_GOOGLEMAPS_SCALECONTROL_DESC="Show/Hide Scale Control" -MOD_BT_GOOGLEMAPS_OVERVIEWCONTROL="Overview Map Control" -MOD_BT_GOOGLEMAPS_OVERVIEWCONTROL_DESC="Enable/Disable Overview Map Control" -MOD_BT_GOOGLEMAPS_STREETVIEWCONTROL="Streetview" -MOD_BT_GOOGLEMAPS_STREETVIEWCONTROL_DESC="Enable/Disable Streetview" -MOD_BT_GOOGLEMAPS_DRAGGABLE="Draggable" -MOD_BT_GOOGLEMAPS_DRAGGABLE_DESC="Prevents the map from being dragged" -MOD_BT_GOOGLEMAPS_DISABLEDOUBLECLICKZOOM="Disable double click zoom" -MOD_BT_GOOGLEMAPS_DISABLEDOUBLECLICKZOOM_DESC="Enables/disables zoom and center on double click" -MOD_BT_GOOGLEMAPS_SCROLLWHEEL="Scroll wheel" -MOD_BT_GOOGLEMAPS_SCROLLWHEEL_DESC="If false, disables scrollwheel zooming on the map. The scrollwheel is enabled by default." -MOD_BT_GOOGLEMAPS_WEATHER_CLOUD="Weather Cloud" -MOD_BT_GOOGLEMAPS_SHOW_WEATHER="Show weather" -MOD_BT_GOOGLEMAPS_SHOW_WEATHER_DESC="Visible at Zoom Levels 0 through 6" -MOD_BT_GOOGLEMAPS_TEMPERATUREUNIT="Temperature unit" -MOD_BT_GOOGLEMAPS_TEMPERATUREUNIT_DESC="Select the temperature unit" -MOD_BT_GOOGLEMAPS_SHOW_CLOUD="Show cloud" -MOD_BT_GOOGLEMAPS_SHOW_CLOUD_DESC="Show cloud imagery on your map" -FEATURE_TYPE="Feature Type" -ELEMENT_TYPE="Element Type" -VISIBILITY="Visibility" -VISIBILITY_ON="On" -VISIBILITY_OFF="Off" -VISIBILITY_SIMPLY="Simply" -LIGHTNESS_INVERT="Lightness Invert" -MAP_COLOR="Map color" -WEIGHT="Weight" -HUE="Hue" -SATURATION="Saturation" -LIGHTNESS="Lightness" -GAMMA="Gamma" - -MOD_BT_GOOGLEMAPS_MAPCENTER_TYPE_LABEL="Map Address Type" -MOD_BT_GOOGLEMAPS_MAPCENTER_TYPE_DESC="Select type input of Map Address" -MOD_BT_GOOGLEMAPS_MAPCENTER_ADDRESS_LABEL="Map Address" -MOD_BT_GOOGLEMAPS_MAPCENTER_ADDRESS_DESC="Enter address of Map " -MOD_BT_GOOGLEMAPS_MAPCENTER_COORDINATE_LABEL="Map Coordinate" -MOD_BT_GOOGLEMAPS_MAPCENTER_COORDINATE_DESC="Enter coordinate of Map, format input (latitude, longitude)" - -; --- ADMIN MODULE ----> don't need translate -CONFIRM_DELETE_ALL="Are you sure want to delete all?" -CONFIRM_DELETE="Are you sure want to delete this item?" -DELETE_ALL_SUCCESS="Delete all successfully!" - -; -- FOR MARKER MANAGER---- -MOD_BT_GOOGLE_MAP_ADD_MARKER_LABEL="Add Marker" -MOD_BT_GOOGLE_MAP_DELETE_ALL_MARKER_LABEL="Delete All" -MARKER_LIST="Your Marker List" -MARKERS_MANAGER="Marker Manager" -BT_GOOGLE_MAP_ICON_MARKER_DESC="Select icon for marker" -BT_GOOGLE_MAP_ICON_MARKER_LABEL="Icon Marker" -MOD_BT_GOOGLE_MAP_MARKER_TITLE_DESC="Enter title marker" -MOD_BT_GOOGLE_MAP_MARKER_TITLE_LABEL="Title Marker" -MOD_BT_GOOGLE_MAP_TYPE_MARKER_DESC="Select type of marker position" -MOD_BT_GOOGLE_MAP_TYPE_MARKER_LABEL="Marker Type" -MOD_BT_GOOGLE_MAP_ADDRESS_MARKER_DESC="Enter address for marker" -MOD_BT_GOOGLE_MAP_ADDRESS_MARKER_LABEL="Marker Address" -MOD_BT_GOOGLE_MAP_COORDINATE_DESC="Enter coordinate of marker with fomat : latitude,longitude (unit: Decimal Degree)" -MOD_BT_GOOGLE_MAP_COORDINATE_LABEL="Coordinate" -MOD_BT_GOOGLE_MAP_INFO_WINDOW_DESC="Enter information window for marker" -MOD_BT_GOOGLE_MAP_INFO_WINDOW_LABEL="Info Window" -MOD_BT_GOOGLE_MAP_BUTTON_CREATE_MARKER="Create Marker" -MOD_BT_GOOGLE_MAP_BUTTON_UPDATE_MARKER="Update Marker" -MOD_BT_GOOGLE_MAP_BUTTON_CANCEL="Cancel" -MARKER_TITLE_REQUIRED="Please enter marker title!" -MARKER_POSITION_REQUIRED="Please enter position of marker(address or coordinate)!" -ADD_MARKER_SUCCESS="Add marker successfully" -UPDATE_MARKER_SUCCESS="Update marker successfully" -MOD_BT_GOOGLE_MAP_SHOWINFO_ONLOAD_LABEL="Show info onload" -MOD_BT_GOOGLE_MAP_SHOWINFO_ONLOAD_DESC="Select enable/disable show infowindow onload" - -;---FOR STYLES MANAGER----- -STYLES_MANAGER="Custom Style Manager" -MOD_BT_GOOGLE_MAP_ADD_STYLE_LABEL="Add Style" -MOD_BT_GOOGLE_MAP_DELETE_ALL_STYLE_LABEL="Delete All" -MOD_BT_GOOGLE_MAP_BUTTON_CREATE_STYLE="Create Style" -MOD_BT_GOOGLE_MAP_BUTTON_UPDATE_STYLE="Update Style" -STYLE_LIST="Your style list" -MOD_BT_GOOGLE_MAP_FEATURE_TYPE_DESC="Select feature type of style" -MOD_BT_GOOGLE_MAP_FEATURE_TYPE_LABEL="Feature Type" -MOD_BT_GOOGLE_MAP_STYLE_ELEMENT_TYPE_DESC="Select element type of style" -MOD_BT_GOOGLE_MAP_STYLE_ELEMENT_TYPE_LABEL="Element style" -MOD_BT_GOOGLE_MAP_STYLE_VISIBILITY_DESC="Select visibility of style" -MOD_BT_GOOGLE_MAP_STYLE_VISIBILITY_LABEL="Visibility" -MOD_BT_GOOGLE_MAP_STYLE_INVERT_LIGHTNESS_DESC="Select invert lightness" -MOD_BT_GOOGLE_MAP_STYLE_INVERT_LIGHTNESS_LABEL="Invert Lightness" -MOD_BT_GOOGLE_MAP_MAP_COLOR_LABEL="Map Color" -MOD_BT_GOOGLE_MAP_MAP_COLOR_DESC="Enter color code for map color" -MOD_BT_GOOGLE_MAP_STYLE_WEIGHT_LABEL="Weight" -MOD_BT_GOOGLE_MAP_STYLE_WEIGHT_DESC="Enter Weight of style ( 0.1 < or = value < or = 8.0 )" -MOD_BT_GOOGLE_MAP_STYLE_HUE_DESC="Enter color code for Hue of style" -MOD_BT_GOOGLE_MAP_STYLE_HUE_LABEL="Hue" -MOD_BT_GOOGLE_MAP_STYLE_SATURATION_DESC="Enter Saturation for style ( -100 < or = value < or = 100 )" -MOD_BT_GOOGLE_MAP_STYLE_SATURATION_LABEL="Saturation" -MOD_BT_GOOGLE_MAP_STYLE_LIGHTNESS_DESC="Enter Lightness of style ( -100 < or = value < or = 100 )" -MOD_BT_GOOGLE_MAP_STYLE_LIGHTNESS_LABEL="Lightness" -MOD_BT_GOOGLE_MAP_STYLE_GAMMA_DESC="Enter Gamma of style ( 0.01 < or = value < or = 9.91 )" -MOD_BT_GOOGLE_MAP_STYLE_GAMMA_LABEL="Gamma" -MOD_BT_GOOGLEMAPS_ENABLE_STYLE_LABEL="Enable Style" -MOD_BT_GOOGLEMAPS_ENABLE_STYLE_DESC="Select 'Yes' or 'No' to enable/disable custom style" -MOD_BT_GOOGLEMAPS_STYLE_TITLE_LABEL="Styled map title " -MOD_BT_GOOGLEMAPS_STYLE_TITLE_DESC="Enter title of styled map (For 'create new' method only)" -MOD_BT_GOOGLEMAPS_CREATE_NEW_OR_DEFAULT_STYLE_LABEL="Implement method" -MOD_BT_GOOGLEMAPS_CREATE_NEW_OR_DEFAULT_STYLE_DESC="Create new map or apply to default map style" -MOD_BT_GOOGLEMAPS_CREATE_NEW="Create new" -MOD_BT_GOOGLEMAPS_APPLY_DEFAULT="Apply default" - -;--custom info box lang -CUSTOM_INFOBOX="Custom Infobox" -BTG_ENABLE_CUSTOM_INFORBOX_LABEL="Enable/Disable" -BTG_ENABLE_CUSTOM_INFORBOX_DESC="Turn on or of custom box style" -BTG_BOXCSS_LABEL="Box style" -BTG_BOXCSS_DESC="Box style" -BTG_BOX_OFFSET_LABEL="Box Position" -BTG_BOX_OFFSET_DESC="Box Position" - -MOD_BT_GOOGLEMAPS_REPLACE_MARKER_ICON = "Replace Marker Icon" -MOD_BT_GOOGLEMAPS_REPLACE_MARKER_ICON_DESC = "Allow weather icon to replace marker icon" -MOD_BT_GOOGLEMAPS_DISPLAY_WEATHER_INFO= "Display Weather Info" -MOD_BT_GOOGLEMAPS_DISPLAY_WEATHER_INFO_DESC = "Display weather information in infowindow" -MOD_BT_GOOGLEMAPS_OPEN_WEATHER_MAP_API = "Open Weather Map API" -MOD_BT_GOOGLEMAPS_OPEN_WEATHER_MAP_API_DESC = "Open Weather Map API" -MOD_BT_GOOGLEMAPS_ENABLE_MAP_API="Enable Map API Library" -MOD_BT_GOOGLEMAPS_ENABLE_MAP_API_DESC="Enable Map API Library" -MOD_BT_GOOGLEMAPS_API="Google Map API Key" +MOD_BT_GOOGLEMAPS_INPUTYPE="Input type" +MOD_BT_GOOGLEMAPS_INPUTYPE_DESC="Address or latitude/longitude coordinate" +MOD_BT_GOOGLEMAPS_ADDRESS="Map address" +MOD_BT_GOOGLEMAPS_ADDRESS_DESC="Enter the address (Example '1601 S California Ave, Palo Alto, CA 94306, USA'" +MOD_BT_GOOGLEMAPS_MAP_TYPE="Map type" +MOD_BT_GOOGLEMAPS_MAP_TYPE_DESC="Select the map type" +MOD_BT_GOOGLEMAPS_LATITUE="Latitude" +MOD_BT_GOOGLEMAPS_LATITUE_DESC="Enter the latitude" +MOD_BT_GOOGLEMAPS_LONGTITUE="Longitude" +MOD_BT_GOOGLEMAPS_LONGTITUE_DESC="Enter the longitude" +MOD_BT_GOOGLEMAPS_ZOOM="Zoom" +MOD_BT_GOOGLEMAPS_ZOOM_DESC="Map zoom size" +MOD_BT_GOOGLEMAPS_MARKER="Marker" +MOD_BT_GOOGLEMAPS_MARKER_DESC="Enable/Disable Marker" +MOD_BT_GOOGLEMAPS_TITLE="Marker title" +MOD_BT_GOOGLEMAPS_TITLE_DESC="Title of marker" +MOD_BT_GOOGLEMAPS_IMAGE="Marker icon" +MOD_BT_GOOGLEMAPS_IMAGE_DESC="Select the marker icon to show on map" +MOD_BT_GOOGLEMAPS_CONTENTINFO="Maker infowindow" +MOD_BT_GOOGLEMAPS_CONTENTINFO_DESC="Infowindow will be shown when clicking to marker" +MOD_BT_GOOGLEMAPS_SHOWCONTENTONLOAD="Show infowindow onload" +MOD_BT_GOOGLEMAPS_SHOWCONTENTONLOAD_DESC="Show Maker infowindow onload" +MOD_BT_GOOGLEMAPS_LOADJQUERY="Load jQuery" +MOD_BT_GOOGLEMAPS_LOADJQUERY_DESC="Select the method to load jquery" +MOD_BT_GOOGLEMAPS_WIDTH="Width" +MOD_BT_GOOGLEMAPS_WIDTH_DESC="Enter the width of map in pixel" +MOD_BT_GOOGLEMAPS_HEIGHT="Height" +MOD_BT_GOOGLEMAPS_HEIGHT_DESC="Enter the height of map in pixel" +MOD_BT_GOOGLEMAPS_ZOOMCONTROL="Zoom Control" +MOD_BT_GOOGLEMAPS_ZOOMCONTROL_DESC="Show/Hide Zoom Control" +MOD_BT_GOOGLEMAPS_PANCONTROL="Pan Control" +MOD_BT_GOOGLEMAPS_PANCONTROL_DESC="Show/Hide Pan Control" +MOD_BT_GOOGLEMAPS_MAPTYPECONTROL="Map Type Control" +MOD_BT_GOOGLEMAPS_MAPTYPECONTROL_DESC="Show/Hide Map Type Control" +MOD_BT_GOOGLEMAPS_SCALECONTROL="Scale Control" +MOD_BT_GOOGLEMAPS_SCALECONTROL_DESC="Show/Hide Scale Control" +MOD_BT_GOOGLEMAPS_OVERVIEWCONTROL="Overview Map Control" +MOD_BT_GOOGLEMAPS_OVERVIEWCONTROL_DESC="Enable/Disable Overview Map Control" +MOD_BT_GOOGLEMAPS_STREETVIEWCONTROL="Streetview" +MOD_BT_GOOGLEMAPS_STREETVIEWCONTROL_DESC="Enable/Disable Streetview" +MOD_BT_GOOGLEMAPS_DRAGGABLE="Draggable" +MOD_BT_GOOGLEMAPS_DRAGGABLE_DESC="Prevents the map from being dragged" +MOD_BT_GOOGLEMAPS_DISABLEDOUBLECLICKZOOM="Disable double click zoom" +MOD_BT_GOOGLEMAPS_DISABLEDOUBLECLICKZOOM_DESC="Enables/disables zoom and center on double click" +MOD_BT_GOOGLEMAPS_SCROLLWHEEL="Scroll wheel" +MOD_BT_GOOGLEMAPS_SCROLLWHEEL_DESC="If false, disables scrollwheel zooming on the map. The scrollwheel is enabled by default." +MOD_BT_GOOGLEMAPS_WEATHER_CLOUD="Weather Cloud" +MOD_BT_GOOGLEMAPS_SHOW_WEATHER="Show weather" +MOD_BT_GOOGLEMAPS_SHOW_WEATHER_DESC="Visible at Zoom Levels 0 through 6" +MOD_BT_GOOGLEMAPS_TEMPERATUREUNIT="Temperature unit" +MOD_BT_GOOGLEMAPS_TEMPERATUREUNIT_DESC="Select the temperature unit" +MOD_BT_GOOGLEMAPS_SHOW_CLOUD="Show cloud" +MOD_BT_GOOGLEMAPS_SHOW_CLOUD_DESC="Show cloud imagery on your map" +FEATURE_TYPE="Feature Type" +ELEMENT_TYPE="Element Type" +VISIBILITY="Visibility" +VISIBILITY_ON="On" +VISIBILITY_OFF="Off" +VISIBILITY_SIMPLY="Simply" +LIGHTNESS_INVERT="Lightness Invert" +MAP_COLOR="Map color" +WEIGHT="Weight" +HUE="Hue" +SATURATION="Saturation" +LIGHTNESS="Lightness" +GAMMA="Gamma" + +MOD_BT_GOOGLEMAPS_MAPCENTER_TYPE_LABEL="Map Address Type" +MOD_BT_GOOGLEMAPS_MAPCENTER_TYPE_DESC="Select type input of Map Address" +MOD_BT_GOOGLEMAPS_MAPCENTER_ADDRESS_LABEL="Map Address" +MOD_BT_GOOGLEMAPS_MAPCENTER_ADDRESS_DESC="Enter address of Map " +MOD_BT_GOOGLEMAPS_MAPCENTER_COORDINATE_LABEL="Map Coordinate" +MOD_BT_GOOGLEMAPS_MAPCENTER_COORDINATE_DESC="Enter coordinate of Map, format input (latitude, longitude)" + +; --- ADMIN MODULE ----> don't need translate +CONFIRM_DELETE_ALL="Are you sure want to delete all?" +CONFIRM_DELETE="Are you sure want to delete this item?" +DELETE_ALL_SUCCESS="Delete all successfully!" + +; -- FOR MARKER MANAGER---- +MOD_BT_GOOGLE_MAP_ADD_MARKER_LABEL="Add Marker" +MOD_BT_GOOGLE_MAP_DELETE_ALL_MARKER_LABEL="Delete All" +MARKER_LIST="Your Marker List" +MARKERS_MANAGER="Marker Manager" +BT_GOOGLE_MAP_ICON_MARKER_DESC="Select icon for marker" +BT_GOOGLE_MAP_ICON_MARKER_LABEL="Icon Marker" +MOD_BT_GOOGLE_MAP_MARKER_TITLE_DESC="Enter title marker" +MOD_BT_GOOGLE_MAP_MARKER_TITLE_LABEL="Title Marker" +MOD_BT_GOOGLE_MAP_TYPE_MARKER_DESC="Select type of marker position" +MOD_BT_GOOGLE_MAP_TYPE_MARKER_LABEL="Marker Type" +MOD_BT_GOOGLE_MAP_ADDRESS_MARKER_DESC="Enter address for marker" +MOD_BT_GOOGLE_MAP_ADDRESS_MARKER_LABEL="Marker Address" +MOD_BT_GOOGLE_MAP_COORDINATE_DESC="Enter coordinate of marker with fomat : latitude,longitude (unit: Decimal Degree)" +MOD_BT_GOOGLE_MAP_COORDINATE_LABEL="Coordinate" +MOD_BT_GOOGLE_MAP_INFO_WINDOW_DESC="Enter information window for marker" +MOD_BT_GOOGLE_MAP_INFO_WINDOW_LABEL="Info Window" +MOD_BT_GOOGLE_MAP_BUTTON_CREATE_MARKER="Create Marker" +MOD_BT_GOOGLE_MAP_BUTTON_UPDATE_MARKER="Update Marker" +MOD_BT_GOOGLE_MAP_BUTTON_CANCEL="Cancel" +MARKER_TITLE_REQUIRED="Please enter marker title!" +MARKER_POSITION_REQUIRED="Please enter position of marker(address or coordinate)!" +ADD_MARKER_SUCCESS="Add marker successfully" +UPDATE_MARKER_SUCCESS="Update marker successfully" +MOD_BT_GOOGLE_MAP_SHOWINFO_ONLOAD_LABEL="Show info onload" +MOD_BT_GOOGLE_MAP_SHOWINFO_ONLOAD_DESC="Select enable/disable show infowindow onload" + +;---FOR STYLES MANAGER----- +STYLES_MANAGER="Custom Style Manager" +MOD_BT_GOOGLE_MAP_ADD_STYLE_LABEL="Add Style" +MOD_BT_GOOGLE_MAP_DELETE_ALL_STYLE_LABEL="Delete All" +MOD_BT_GOOGLE_MAP_BUTTON_CREATE_STYLE="Create Style" +MOD_BT_GOOGLE_MAP_BUTTON_UPDATE_STYLE="Update Style" +STYLE_LIST="Your style list" +MOD_BT_GOOGLE_MAP_FEATURE_TYPE_DESC="Select feature type of style" +MOD_BT_GOOGLE_MAP_FEATURE_TYPE_LABEL="Feature Type" +MOD_BT_GOOGLE_MAP_STYLE_ELEMENT_TYPE_DESC="Select element type of style" +MOD_BT_GOOGLE_MAP_STYLE_ELEMENT_TYPE_LABEL="Element style" +MOD_BT_GOOGLE_MAP_STYLE_VISIBILITY_DESC="Select visibility of style" +MOD_BT_GOOGLE_MAP_STYLE_VISIBILITY_LABEL="Visibility" +MOD_BT_GOOGLE_MAP_STYLE_INVERT_LIGHTNESS_DESC="Select invert lightness" +MOD_BT_GOOGLE_MAP_STYLE_INVERT_LIGHTNESS_LABEL="Invert Lightness" +MOD_BT_GOOGLE_MAP_MAP_COLOR_LABEL="Map Color" +MOD_BT_GOOGLE_MAP_MAP_COLOR_DESC="Enter color code for map color" +MOD_BT_GOOGLE_MAP_STYLE_WEIGHT_LABEL="Weight" +MOD_BT_GOOGLE_MAP_STYLE_WEIGHT_DESC="Enter Weight of style ( 0.1 < or = value < or = 8.0 )" +MOD_BT_GOOGLE_MAP_STYLE_HUE_DESC="Enter color code for Hue of style" +MOD_BT_GOOGLE_MAP_STYLE_HUE_LABEL="Hue" +MOD_BT_GOOGLE_MAP_STYLE_SATURATION_DESC="Enter Saturation for style ( -100 < or = value < or = 100 )" +MOD_BT_GOOGLE_MAP_STYLE_SATURATION_LABEL="Saturation" +MOD_BT_GOOGLE_MAP_STYLE_LIGHTNESS_DESC="Enter Lightness of style ( -100 < or = value < or = 100 )" +MOD_BT_GOOGLE_MAP_STYLE_LIGHTNESS_LABEL="Lightness" +MOD_BT_GOOGLE_MAP_STYLE_GAMMA_DESC="Enter Gamma of style ( 0.01 < or = value < or = 9.91 )" +MOD_BT_GOOGLE_MAP_STYLE_GAMMA_LABEL="Gamma" +MOD_BT_GOOGLEMAPS_ENABLE_STYLE_LABEL="Enable Style" +MOD_BT_GOOGLEMAPS_ENABLE_STYLE_DESC="Select 'Yes' or 'No' to enable/disable custom style" +MOD_BT_GOOGLEMAPS_STYLE_TITLE_LABEL="Styled map title " +MOD_BT_GOOGLEMAPS_STYLE_TITLE_DESC="Enter title of styled map (For 'create new' method only)" +MOD_BT_GOOGLEMAPS_CREATE_NEW_OR_DEFAULT_STYLE_LABEL="Implement method" +MOD_BT_GOOGLEMAPS_CREATE_NEW_OR_DEFAULT_STYLE_DESC="Create new map or apply to default map style" +MOD_BT_GOOGLEMAPS_CREATE_NEW="Create new" +MOD_BT_GOOGLEMAPS_APPLY_DEFAULT="Apply default" + +;--custom info box lang +CUSTOM_INFOBOX="Custom Infobox" +BTG_ENABLE_CUSTOM_INFORBOX_LABEL="Enable/Disable" +BTG_ENABLE_CUSTOM_INFORBOX_DESC="Turn on or of custom box style" +BTG_BOXCSS_LABEL="Box style" +BTG_BOXCSS_DESC="Box style" +BTG_BOX_OFFSET_LABEL="Box Position" +BTG_BOX_OFFSET_DESC="Box Position" + +MOD_BT_GOOGLEMAPS_REPLACE_MARKER_ICON = "Replace Marker Icon" +MOD_BT_GOOGLEMAPS_REPLACE_MARKER_ICON_DESC = "Allow weather icon to replace marker icon" +MOD_BT_GOOGLEMAPS_DISPLAY_WEATHER_INFO= "Display Weather Info" +MOD_BT_GOOGLEMAPS_DISPLAY_WEATHER_INFO_DESC = "Display weather information in infowindow" +MOD_BT_GOOGLEMAPS_OPEN_WEATHER_MAP_API = "Open Weather Map API" +MOD_BT_GOOGLEMAPS_OPEN_WEATHER_MAP_API_DESC = "Open Weather Map API" +MOD_BT_GOOGLEMAPS_ENABLE_MAP_API="Enable Map API Library" +MOD_BT_GOOGLEMAPS_ENABLE_MAP_API_DESC="Enable Map API Library" +MOD_BT_GOOGLEMAPS_API="Google Map API Key" MOD_BT_GOOGLEMAPS_API_DESC="Google have updated API to ask a authentication key from 22nd of June 2016. On the new domain or localhost, the Map will require a key" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_caroufredsel.ini b/deployed/_shared/language/en-GB/en-GB.mod_caroufredsel.ini index ea8c056b..0aaf0ef3 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_caroufredsel.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_caroufredsel.ini @@ -1,91 +1,91 @@ -MOD_CAROUFREDSEL="carouFredSel" -MOD_CAROUFREDSEL_FIELD_CATEGORY_DESC="Select Articles from a specific Category or a set of Categories. If no selection will show all categories as default" -MOD_CAROUFREDSEL_FIELD_IMAGES_DESC="Article images" -MOD_CAROUFREDSEL_FIELD_IMAGES_LABEL="Images" -MOD_CAROUFREDSEL_FIELD_ITEMS_DESC="The number of Articles to display within this module" -MOD_CAROUFREDSEL_FIELD_ITEMS_LABEL="Number of Articles" -MOD_CAROUFREDSEL_FIELD_LINKTITLE_DESC="Link the Article titles to Articles." -MOD_CAROUFREDSEL_FIELD_LINKTITLE_LABEL="Linked Titles" -MOD_CAROUFREDSEL_FIELD_ORDERING_DESC="Select the order in which you want query results presented." -MOD_CAROUFREDSEL_FIELD_ORDERING_LABEL="Order Results" -MOD_CAROUFREDSEL_FIELD_ORDERING_CREATED_DATE="Created Date" -MOD_CAROUFREDSEL_FIELD_ORDERING_PUBLISHED_DATE="Published Date" -MOD_CAROUFREDSEL_FIELD_ORDERING_ORDERING="Ordering" -MOD_CAROUFREDSEL_FIELD_ORDERING_RANDOM="Random" -MOD_CAROUFREDSEL_FIELD_SHOW_TAGS_LABEL="Tags" -MOD_CAROUFREDSEL_FIELD_SHOW_TAGS_DESC="Show tags for module articles" -MOD_CAROUFREDSEL_FIELD_READMORE_DESC="If set to Show, the 'Read more...' link will show if Main text has been provided for an Article." -MOD_CAROUFREDSEL_FIELD_READMORE_LABEL="'Read more...' Link" -MOD_CAROUFREDSEL_FIELD_SEPARATOR_DESC="Show separator after last Article" -MOD_CAROUFREDSEL_FIELD_SEPARATOR_LABEL="Show last separator" -MOD_CAROUFREDSEL_FIELD_TITLE_DESC="Article title" -MOD_CAROUFREDSEL_FIELD_TITLE_LABEL="Article title" -MOD_CAROUFREDSEL_READMORE="Read more..." -MOD_CAROUFREDSEL_READMORE_REGISTER="Register to Read More" -MOD_CAROUFREDSEL_TITLE_HEADING="Header Level" -MOD_CAROUFREDSEL_TITLE_HEADING_DESCRIPTION="Select the desired HTML header level for the Article titles." -MOD_CAROUFREDSEL_XML_DESCRIPTION="CarouFredSel module is a combination of default Joomla Articles newsflash module and CarouFredSel jQuery plugin" - -MOD_CAROUFREDSEL_FIELD_PUBLISHED_LABEL="Published date" -MOD_CAROUFREDSEL_FIELD_PUBLISHED_DESC="Display item's published date" - -COM_MODULES_CAROUFREDSEL_FIELDSET_LABEL="CarouFredSel Settings" -MOD_CAROUFREDSEL_DEFAULT="Default" -MOD_CAROUFREDSEL_CUSTOM="Custom" - -MOD_CAROUFREDSEL_THEME_LABEL="Theme" -MOD_CAROUFREDSEL_THEME_DESC="Please select CarouFredSel module styling. To use 'custom' option you should have carouFredSel.css style pleaced to your template CSS directory" -MOD_CAROUFREDSEL_SCRIPT_LABEL="Script" -MOD_CAROUFREDSEL_SCRIPT_DESC="Please select CarouFredSel script file. To use 'custom' option you should have jquery.carouFredSel.js style pleaced to your template JS directory" - -MOD_CAROUFREDSEL_SPEED="Speed" -MOD_CAROUFREDSEL_SPEED_DESC="Animation speed in milliseconds" -MOD_CAROUFREDSEL_IMAGE_WIDTH="Image Width" -MOD_CAROUFREDSEL_IMAGE_WIDTH_DESC="Please set images width in pixels" -MOD_CAROUFREDSEL_IMAGE_MARGIN="Margin" -MOD_CAROUFREDSEL_IMAGE_MARGIN_DESC="Right image margin" -MOD_CAROUFREDSEL_IMAGE_BORDER="Border" -MOD_CAROUFREDSEL_IMAGE_BORDER_DESC="Image border width in pixels" -MOD_CAROUFREDSEL_MIN_ITEMS="Min Items" -MOD_CAROUFREDSEL_MIN_ITEMS_DESC="Minimum number of items to show." -MOD_CAROUFREDSEL_CURRENT="Current" -MOD_CAROUFREDSEL_CURRENT_DESC="Index of the current item. When you resize the window, the carousel will make sure this item is visible" - -MOD_CAROUFREDSEL_ID_LABEL="Carousel ID" -MOD_CAROUFREDSEL_ID_DESC="Please type a unique carousel identifier. Single word recommended. " - -MOD_CAROUFREDSEL_DIRECTION_LABEL="Direction" -MOD_CAROUFREDSEL_DIRECTION_DESC="Please select carousel direction" - -MOD_CAROUFREDSEL_MIN_ITEMS_LABEL="Min items" -MOD_CAROUFREDSEL_MIN_ITEMS_DESC="Minimal number of items to display on window resize." -MOD_CAROUFREDSEL_MAX_ITEMS_LABEL="Max items" -MOD_CAROUFREDSEL_MAX_ITEMS_DESC="Maximal number of items to display. Eqals the number of visible items." -MOD_CAROUFREDSEL_MAX_WIDTH_LABEL="Max item width" -MOD_CAROUFREDSEL_MAX_WIDTH_DESC="Please set maximum item width" - -MOD_CAROUFREDSEL_SPACER_FX_LABEL="FX" -MOD_CAROUFREDSEL_SPACER_FX_DESC="Indicates which effect to use for the transition" -MOD_CAROUFREDSEL_SPACER_EASING_LABEL="Easing" -MOD_CAROUFREDSEL_SPACER_EASING_DESC="Indicates which easing function to use for the transition" -MOD_CAROUFREDSEL_DURATION_ITEMS_LABEL="Duration" -MOD_CAROUFREDSEL_DURATION_ITEMS_DESC="Please define carousel animatin speed in milliseconds" - -MOD_CAROUFREDSEL_NAV_LABEL="Navigation" -MOD_CAROUFREDSEL_NAV_DESC="Please select if you want to display carousel navigation buttons (Prev/Next)" - -MOD_CAROUFREDSEL_PAG_LABEL="Pagination" -MOD_CAROUFREDSEL_PAG_DESC="Please select if you want to display carousel pagination" - -MOD_CAROUFREDSEL_SPACER_GENERAL_LABEL="General" -MOD_CAROUFREDSEL_SPACER_ITEMS_LABEL="Items" -MOD_CAROUFREDSEL_SPACER_ANIMATION_LABEL="Animation" -MOD_CAROUFREDSEL_SPACER_CONTROLS_LABEL="Controls" - -MOD_CAROUFREDSEL_HIDE="Hide" -MOD_CAROUFREDSEL_SHOW="Show" - -MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_LABEL="Show intro images" -MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_DESC="Select if you want to display article intro images" -MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_ALIGN_LABEL="Intro image align" +MOD_CAROUFREDSEL="carouFredSel" +MOD_CAROUFREDSEL_FIELD_CATEGORY_DESC="Select Articles from a specific Category or a set of Categories. If no selection will show all categories as default" +MOD_CAROUFREDSEL_FIELD_IMAGES_DESC="Article images" +MOD_CAROUFREDSEL_FIELD_IMAGES_LABEL="Images" +MOD_CAROUFREDSEL_FIELD_ITEMS_DESC="The number of Articles to display within this module" +MOD_CAROUFREDSEL_FIELD_ITEMS_LABEL="Number of Articles" +MOD_CAROUFREDSEL_FIELD_LINKTITLE_DESC="Link the Article titles to Articles." +MOD_CAROUFREDSEL_FIELD_LINKTITLE_LABEL="Linked Titles" +MOD_CAROUFREDSEL_FIELD_ORDERING_DESC="Select the order in which you want query results presented." +MOD_CAROUFREDSEL_FIELD_ORDERING_LABEL="Order Results" +MOD_CAROUFREDSEL_FIELD_ORDERING_CREATED_DATE="Created Date" +MOD_CAROUFREDSEL_FIELD_ORDERING_PUBLISHED_DATE="Published Date" +MOD_CAROUFREDSEL_FIELD_ORDERING_ORDERING="Ordering" +MOD_CAROUFREDSEL_FIELD_ORDERING_RANDOM="Random" +MOD_CAROUFREDSEL_FIELD_SHOW_TAGS_LABEL="Tags" +MOD_CAROUFREDSEL_FIELD_SHOW_TAGS_DESC="Show tags for module articles" +MOD_CAROUFREDSEL_FIELD_READMORE_DESC="If set to Show, the 'Read more...' link will show if Main text has been provided for an Article." +MOD_CAROUFREDSEL_FIELD_READMORE_LABEL="'Read more...' Link" +MOD_CAROUFREDSEL_FIELD_SEPARATOR_DESC="Show separator after last Article" +MOD_CAROUFREDSEL_FIELD_SEPARATOR_LABEL="Show last separator" +MOD_CAROUFREDSEL_FIELD_TITLE_DESC="Article title" +MOD_CAROUFREDSEL_FIELD_TITLE_LABEL="Article title" +MOD_CAROUFREDSEL_READMORE="Read more..." +MOD_CAROUFREDSEL_READMORE_REGISTER="Register to Read More" +MOD_CAROUFREDSEL_TITLE_HEADING="Header Level" +MOD_CAROUFREDSEL_TITLE_HEADING_DESCRIPTION="Select the desired HTML header level for the Article titles." +MOD_CAROUFREDSEL_XML_DESCRIPTION="CarouFredSel module is a combination of default Joomla Articles newsflash module and CarouFredSel jQuery plugin" + +MOD_CAROUFREDSEL_FIELD_PUBLISHED_LABEL="Published date" +MOD_CAROUFREDSEL_FIELD_PUBLISHED_DESC="Display item's published date" + +COM_MODULES_CAROUFREDSEL_FIELDSET_LABEL="CarouFredSel Settings" +MOD_CAROUFREDSEL_DEFAULT="Default" +MOD_CAROUFREDSEL_CUSTOM="Custom" + +MOD_CAROUFREDSEL_THEME_LABEL="Theme" +MOD_CAROUFREDSEL_THEME_DESC="Please select CarouFredSel module styling. To use 'custom' option you should have carouFredSel.css style pleaced to your template CSS directory" +MOD_CAROUFREDSEL_SCRIPT_LABEL="Script" +MOD_CAROUFREDSEL_SCRIPT_DESC="Please select CarouFredSel script file. To use 'custom' option you should have jquery.carouFredSel.js style pleaced to your template JS directory" + +MOD_CAROUFREDSEL_SPEED="Speed" +MOD_CAROUFREDSEL_SPEED_DESC="Animation speed in milliseconds" +MOD_CAROUFREDSEL_IMAGE_WIDTH="Image Width" +MOD_CAROUFREDSEL_IMAGE_WIDTH_DESC="Please set images width in pixels" +MOD_CAROUFREDSEL_IMAGE_MARGIN="Margin" +MOD_CAROUFREDSEL_IMAGE_MARGIN_DESC="Right image margin" +MOD_CAROUFREDSEL_IMAGE_BORDER="Border" +MOD_CAROUFREDSEL_IMAGE_BORDER_DESC="Image border width in pixels" +MOD_CAROUFREDSEL_MIN_ITEMS="Min Items" +MOD_CAROUFREDSEL_MIN_ITEMS_DESC="Minimum number of items to show." +MOD_CAROUFREDSEL_CURRENT="Current" +MOD_CAROUFREDSEL_CURRENT_DESC="Index of the current item. When you resize the window, the carousel will make sure this item is visible" + +MOD_CAROUFREDSEL_ID_LABEL="Carousel ID" +MOD_CAROUFREDSEL_ID_DESC="Please type a unique carousel identifier. Single word recommended. " + +MOD_CAROUFREDSEL_DIRECTION_LABEL="Direction" +MOD_CAROUFREDSEL_DIRECTION_DESC="Please select carousel direction" + +MOD_CAROUFREDSEL_MIN_ITEMS_LABEL="Min items" +MOD_CAROUFREDSEL_MIN_ITEMS_DESC="Minimal number of items to display on window resize." +MOD_CAROUFREDSEL_MAX_ITEMS_LABEL="Max items" +MOD_CAROUFREDSEL_MAX_ITEMS_DESC="Maximal number of items to display. Eqals the number of visible items." +MOD_CAROUFREDSEL_MAX_WIDTH_LABEL="Max item width" +MOD_CAROUFREDSEL_MAX_WIDTH_DESC="Please set maximum item width" + +MOD_CAROUFREDSEL_SPACER_FX_LABEL="FX" +MOD_CAROUFREDSEL_SPACER_FX_DESC="Indicates which effect to use for the transition" +MOD_CAROUFREDSEL_SPACER_EASING_LABEL="Easing" +MOD_CAROUFREDSEL_SPACER_EASING_DESC="Indicates which easing function to use for the transition" +MOD_CAROUFREDSEL_DURATION_ITEMS_LABEL="Duration" +MOD_CAROUFREDSEL_DURATION_ITEMS_DESC="Please define carousel animatin speed in milliseconds" + +MOD_CAROUFREDSEL_NAV_LABEL="Navigation" +MOD_CAROUFREDSEL_NAV_DESC="Please select if you want to display carousel navigation buttons (Prev/Next)" + +MOD_CAROUFREDSEL_PAG_LABEL="Pagination" +MOD_CAROUFREDSEL_PAG_DESC="Please select if you want to display carousel pagination" + +MOD_CAROUFREDSEL_SPACER_GENERAL_LABEL="General" +MOD_CAROUFREDSEL_SPACER_ITEMS_LABEL="Items" +MOD_CAROUFREDSEL_SPACER_ANIMATION_LABEL="Animation" +MOD_CAROUFREDSEL_SPACER_CONTROLS_LABEL="Controls" + +MOD_CAROUFREDSEL_HIDE="Hide" +MOD_CAROUFREDSEL_SHOW="Show" + +MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_LABEL="Show intro images" +MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_DESC="Select if you want to display article intro images" +MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_ALIGN_LABEL="Intro image align" MOD_CAROUFREDSEL_FIELD_INTRO_IMAGES_ALIGN_DESC="Select intro image alignment. Overrides article settings" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_course_list.ini b/deployed/_shared/language/en-GB/en-GB.mod_course_list.ini index fa9fadaf..aa35c38b 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_course_list.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_course_list.ini @@ -1,3 +1,3 @@ -MOD_COURSE_LIST_OVERVIEW="See Overview" -MOD_COURSE_LIST_RESUME="Resume Course" +MOD_COURSE_LIST_OVERVIEW="See Overview" +MOD_COURSE_LIST_RESUME="Resume Course" MOD_COURSE_LIST_START="Start Course" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_course_list.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_course_list.sys.ini index ccf3660f..d92d6e97 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_course_list.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_course_list.sys.ini @@ -1,4 +1,4 @@ -MOD_ARCHLINE_USERS="ARCHLine users" -MOD__P___ARCHLINE_USERS___P_="

                      - ARCHLine users -

                      " +MOD_ARCHLINE_USERS="ARCHLine users" +MOD__P___ARCHLINE_USERS___P_="

                      + ARCHLine users +

                      " diff --git a/deployed/_shared/language/en-GB/en-GB.mod_icemegamenu.ini b/deployed/_shared/language/en-GB/en-GB.mod_icemegamenu.ini index 252dcd5a..9c7e14ef 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_icemegamenu.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_icemegamenu.ini @@ -1,107 +1,107 @@ -; Language File for the IceMegaMenu module by IceTheme -; Copyright (C) 2008 - 2011 IceTheme. All Rights Reserved -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - - -ICEMEGAMENU_DESC="

                      IceMegaMenu Module

                      IceMegaMenu extension is a powerful Joomla (module + plugin) to help you take the most from the navigation system. Top features includes ability to split dropdown columns, option to load modules inside the dropdown, works without JavaScript and much more.

                    " - -ICEMEGAMENU_LABEL="IceMegaMenu Paramters" - -SPACER_1="General Menu Configuration" -SPACER_2="Effects Settings" -SPACER_3="Optional Feature" - -SELECT_THEME="Select Theme" -SELECT_THEME_DESC="Select the theme style from the list that you want to use." - -MODULE_CLASS_SUFFIX="Module Class Suffix" -MODULE_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the Module. This allows for individual Module styling." - -MENU_NAME="Select Menu" -MENU_NAME_DESC="Select a menu from that list that you want to use with the IceMegaMenu extension" - -TARGET_POSITION="Target Position" -TARGET_POSITION_DESC="Target Position." - -MENU_TAG_ID="Menu Tag ID" -MENU_TAG_ID_DESC="An ID attribute to assign to the root UL tag of the menu (optional)" - -START_LEVEL="Start Level" -START_LEVEL_DESC="Level to start rendering the menu at. Setting the start and end levels to the same # and setting 'Show Sub-menu Items' to yes will only display that single level." - -END_LEVEL="End Level" -END_LEVEL_DESC="Level to stop rendering the menu at. If you choose 'All', all levels will be shown depending on 'Show Sub-menu Items' setting." - -SHOW_SUB_MENU_ITEMS="Expand the menu and make its sub-menu items always visible." - -MENU_CLASS_SUFFIX="Menu Class Suffix" -MENU_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the Menu Items." - -MENU_EFFECT="Menu Effect" -MENU_EFFECT_DESC="Select your desired effect from the list to apply a animation style for the module." - -DURATION_OF_THE_EFFECT="Duration Effect (ms)" -DURATION_OF_THE_EFFECT_DESC="Duration of the effect in milliseconds." - -EFFECT_BEHAVES="Transition Effect" -EFFECT_BEHAVES_DESC="Select a transition effect from the list to animate the dropdown on open/close" - -MENU_HIDE_DELAY="Hide Delay (ms)" -MENU_HIDE_DELAY_DESC="In milliseconds, the time that the dropdown will disappear after you move out the mouse from it" - -SUBMENUS_OPACITY="Submenu Opacity" -SUBMENUS_OPACITY_DESC="Add the opacity value from 1-100." - -CACHING="Caching" -CACHING_DESC="Select whether to cache the content of this module." - -CACHE_TIME="Cache time" -CACHE_TIME_DESC="The maximum length of time in minutes for a cache file to be stored before it is refreshed." - -USE_JAVASCREAPT="Use Javascript" -USE_JAVASCREAPT_DESC="In case you may hassle conflict with the IceMegaMenu module JavaScript or simply you want a more fast loading website you may disable the JavaScript and run the dropdown only with CSS" - -SHOW_MENU_ICONS="Show Menu Icons" -SHOW_MENU_ICONS_DESC="Show Menu Icons." -MENU_ICON_ALIGMENT="Menu Icon Alignment" -MENU_ICON_ALIGMENT_DESC="Menu Icon Alignment." -MENU_ICON_LINK="Menu Icon Link" -MENU_ICON_LINK_DESC="Menu Icon Link." -EXPAND_MENU="Expand Menu" -EXPAND_MENU_DESC="Expand Menu." -ACTIVATE_PARENT="Activate parent" -ACTIVATE_PARENT_DESC="Activate parent." -FULL_ACTIVE_HIGHLIGHTING="Full Active highlighting" -FULL_ACTIVE_HIGHLIGHTING_DESC="Full Active highlighting." -INDENT_IMAGE="Indent Image" -INDENT_IMAGE_DESC="Choose which indent image system to utilise." -SPACER="Spacer" -SPACER_DESC="Spacer for Horizontal menu." -END_SPACER="End Spacer" -END_SPACER_DESC="End Spacer for Horizontal menu." -ALWAYS_SHOW_SUB_MENU_ITEMS_LABEL="Always show
                    submenu items" -RESIZABLE_MENU="Resizable Menu" -RESIZABLE_MENU_DESC="Enable/Disable the Resizable feature for your icemegamenu module." - - - -ENABLE_BOOTSTRAP="Enable Bootstrap" -ENABLE_BOOTSTRAP_DESC="Enable or Disable Bootstrap framework for this module." - - - - -ICE_MAIN_MENU="Menu" - - - - - - - - - - - - +; Language File for the IceMegaMenu module by IceTheme +; Copyright (C) 2008 - 2011 IceTheme. All Rights Reserved +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + + +ICEMEGAMENU_DESC="

                    IceMegaMenu Module

                    IceMegaMenu extension is a powerful Joomla (module + plugin) to help you take the most from the navigation system. Top features includes ability to split dropdown columns, option to load modules inside the dropdown, works without JavaScript and much more.

                  " + +ICEMEGAMENU_LABEL="IceMegaMenu Paramters" + +SPACER_1="General Menu Configuration" +SPACER_2="Effects Settings" +SPACER_3="Optional Feature" + +SELECT_THEME="Select Theme" +SELECT_THEME_DESC="Select the theme style from the list that you want to use." + +MODULE_CLASS_SUFFIX="Module Class Suffix" +MODULE_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the Module. This allows for individual Module styling." + +MENU_NAME="Select Menu" +MENU_NAME_DESC="Select a menu from that list that you want to use with the IceMegaMenu extension" + +TARGET_POSITION="Target Position" +TARGET_POSITION_DESC="Target Position." + +MENU_TAG_ID="Menu Tag ID" +MENU_TAG_ID_DESC="An ID attribute to assign to the root UL tag of the menu (optional)" + +START_LEVEL="Start Level" +START_LEVEL_DESC="Level to start rendering the menu at. Setting the start and end levels to the same # and setting 'Show Sub-menu Items' to yes will only display that single level." + +END_LEVEL="End Level" +END_LEVEL_DESC="Level to stop rendering the menu at. If you choose 'All', all levels will be shown depending on 'Show Sub-menu Items' setting." + +SHOW_SUB_MENU_ITEMS="Expand the menu and make its sub-menu items always visible." + +MENU_CLASS_SUFFIX="Menu Class Suffix" +MENU_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the Menu Items." + +MENU_EFFECT="Menu Effect" +MENU_EFFECT_DESC="Select your desired effect from the list to apply a animation style for the module." + +DURATION_OF_THE_EFFECT="Duration Effect (ms)" +DURATION_OF_THE_EFFECT_DESC="Duration of the effect in milliseconds." + +EFFECT_BEHAVES="Transition Effect" +EFFECT_BEHAVES_DESC="Select a transition effect from the list to animate the dropdown on open/close" + +MENU_HIDE_DELAY="Hide Delay (ms)" +MENU_HIDE_DELAY_DESC="In milliseconds, the time that the dropdown will disappear after you move out the mouse from it" + +SUBMENUS_OPACITY="Submenu Opacity" +SUBMENUS_OPACITY_DESC="Add the opacity value from 1-100." + +CACHING="Caching" +CACHING_DESC="Select whether to cache the content of this module." + +CACHE_TIME="Cache time" +CACHE_TIME_DESC="The maximum length of time in minutes for a cache file to be stored before it is refreshed." + +USE_JAVASCREAPT="Use Javascript" +USE_JAVASCREAPT_DESC="In case you may hassle conflict with the IceMegaMenu module JavaScript or simply you want a more fast loading website you may disable the JavaScript and run the dropdown only with CSS" + +SHOW_MENU_ICONS="Show Menu Icons" +SHOW_MENU_ICONS_DESC="Show Menu Icons." +MENU_ICON_ALIGMENT="Menu Icon Alignment" +MENU_ICON_ALIGMENT_DESC="Menu Icon Alignment." +MENU_ICON_LINK="Menu Icon Link" +MENU_ICON_LINK_DESC="Menu Icon Link." +EXPAND_MENU="Expand Menu" +EXPAND_MENU_DESC="Expand Menu." +ACTIVATE_PARENT="Activate parent" +ACTIVATE_PARENT_DESC="Activate parent." +FULL_ACTIVE_HIGHLIGHTING="Full Active highlighting" +FULL_ACTIVE_HIGHLIGHTING_DESC="Full Active highlighting." +INDENT_IMAGE="Indent Image" +INDENT_IMAGE_DESC="Choose which indent image system to utilise." +SPACER="Spacer" +SPACER_DESC="Spacer for Horizontal menu." +END_SPACER="End Spacer" +END_SPACER_DESC="End Spacer for Horizontal menu." +ALWAYS_SHOW_SUB_MENU_ITEMS_LABEL="Always show
                  submenu items" +RESIZABLE_MENU="Resizable Menu" +RESIZABLE_MENU_DESC="Enable/Disable the Resizable feature for your icemegamenu module." + + + +ENABLE_BOOTSTRAP="Enable Bootstrap" +ENABLE_BOOTSTRAP_DESC="Enable or Disable Bootstrap framework for this module." + + + + +ICE_MAIN_MENU="Menu" + + + + + + + + + + + + diff --git a/deployed/_shared/language/en-GB/en-GB.mod_image_swoop.ini b/deployed/_shared/language/en-GB/en-GB.mod_image_swoop.ini index 71c6d5fb..122f3725 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_image_swoop.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_image_swoop.ini @@ -1,178 +1,178 @@ -MOD_IMAGE_SWOOP="Image Swoop" -MOD_IMAGE_SWOOP_FIELD_CATEGORY_DESC="Select Articles from a specific Category or a set of Categories. If no selection will show all categories as default" -MOD_IMAGE_SWOOP_FIELD_IMAGES_DESC="Display Article images" -MOD_IMAGE_SWOOP_FIELD_IMAGES_LABEL="Images" -MOD_IMAGE_SWOOP_FIELD_ITEMS_DESC="The number of Articles to display within this module" -MOD_IMAGE_SWOOP_FIELD_ITEMS_LABEL="Number of Articles" -MOD_IMAGE_SWOOP_FIELD_LINKTITLE_DESC="Link the Article titles to Articles." -MOD_IMAGE_SWOOP_FIELD_LINKTITLE_LABEL="Linked Titles" -MOD_IMAGE_SWOOP_FIELD_ORDERING_DESC="Select the order in which you want query results presented." -MOD_IMAGE_SWOOP_FIELD_ORDERING_LABEL="Order Results" -MOD_IMAGE_SWOOP_FIELD_ORDERING_CREATED_DATE="Created Date" -MOD_IMAGE_SWOOP_FIELD_ORDERING_PUBLISHED_DATE="Published Date" - -MOD_IMAGE_SWOOP_FIELD_ORDERING_ORDERING="Ordering" -MOD_IMAGE_SWOOP_FIELD_ORDERING_RANDOM="Random" -MOD_IMAGE_SWOOP_FIELD_READMORE_DESC="If set to Show, the 'Read more...' link will show if Main text has been provided for an Article." -MOD_IMAGE_SWOOP_FIELD_READMORE_LABEL="'Read more...' Link" -MOD_IMAGE_SWOOP_FIELD_SEPARATOR_DESC="Show separator after last Article" -MOD_IMAGE_SWOOP_FIELD_SEPARATOR_LABEL="Show last separator" -MOD_IMAGE_SWOOP_FIELD_TITLE_DESC="Article title" -MOD_IMAGE_SWOOP_FIELD_TITLE_LABEL="Article title" - -MOD_IMAGE_SWOOP_FIELD_PUBLISHED_LABEL="Published date" -MOD_IMAGE_SWOOP_FIELD_PUBLISHED_DESC="Display item's published date" - -MOD_IMAGE_SWOOP_READMORE="Read more" -MOD_IMAGE_SWOOP_READMORE_REGISTER="Register to Read More" -MOD_IMAGE_SWOOP_FIELD_ITEM_URL="Item URLs" -MOD_IMAGE_SWOOP_FIELD_ITEM_URL_DESC="Please define slides URLs. Type URLs separated by semicolon(;)" -MOD_IMAGE_SWOOP_FIELD_TARGET_LABEL="URL target" -MOD_IMAGE_SWOOP_FIELD_TARGET_DESC="Please select slide URL target" -MOD_IMAGE_SWOOP_TITLE_HEADING="Header Level" -MOD_IMAGE_SWOOP_TITLE_HEADING_DESCRIPTION="Select the desired HTML header level for the Article titles." -MOD_IMAGE_SWOOP_XML_DESCRIPTION="Image Swoop module is a combination of default Joomla Articles newsflash module and Camera Slideshow jQuery plugin" - -COM_MODULES_SLIDESHOW_FIELDSET_LABEL="Image Swoop Settings" -MOD_IMAGE_SWOOP_DEFAULT="Default" -MOD_IMAGE_SWOOP_CUSTOM="Custom" -MOD_IMAGE_SWOOP_MINIFIED="Minified" - -MOD_IMAGE_SWOOP_THEME="Theme" -MOD_IMAGE_SWOOP_THEME_DESC="Please select Image Swoop styling. To use 'custom' option you should have camera.css style pleaced to your template CSS directory" -MOD_IMAGE_SWOOP_SCRIPT="Script" -MOD_IMAGE_SWOOP_SCRIPT_DESC="Please select Image Swoop script file. To use 'custom' option you should have camera.js style pleaced to your template JS directory" - -MOD_IMAGE_SWOOP_SKIN="Color skin" -MOD_IMAGE_SWOOP_SKIN_DESC="Please select slider color skin" - -MOD_IMAGE_SWOOP_ALIGNEMENT="Alignement" -MOD_IMAGE_SWOOP_ALIGNEMENT_DESC="Select slider alignement" -MOD_IMAGE_SWOOP_SLIDESHOW_ADVANCE="Advance" -MOD_IMAGE_SWOOP_SLIDESHOW_ADVANCE_DESC="Select if you want to enable or disable automatic slides change" -MOD_IMAGE_SWOOP_SLIDESHOW_MOBILE_ADVANCE="Mobile Advance" -MOD_IMAGE_SWOOP_SLIDESHOW_MOBILE_ADVANCE_DESC="Advance option for mobile devices" -MOD_IMAGE_SWOOP_BAR_DIRECTION="Bar direction" -MOD_IMAGE_SWOOP_BAR_DIRECTION_DESC="Select loading bar animation direction" -MOD_IMAGE_SWOOP_BAR_POSITION="Bar position" -MOD_IMAGE_SWOOP_BAR_POSITION_DESC="Select loading bar position" -MOD_IMAGE_SWOOP_COLS="Cols" -MOD_IMAGE_SWOOP_COLS_DESC="Animation columns" -MOD_IMAGE_SWOOP_ROWS="Rows" -MOD_IMAGE_SWOOP_ROWS_DESC="Animation rows" -MOD_IMAGE_SWOOP_SLICED_COLS="Sliced cols" -MOD_IMAGE_SWOOP_SLICED_COLS_DESC="Sliced animation cols. If 0 the same value of cols" -MOD_IMAGE_SWOOP_SLICED_ROWS="Sliced rows" -MOD_IMAGE_SWOOP_SLICED_ROWS_DESC="Sliced animation rows. If 0 the same value of rows" -MOD_IMAGE_SWOOP_EASING="Easing" -MOD_IMAGE_SWOOP_EASING_DESC="Select easing animation effect" -MOD_IMAGE_SWOOP_MOBILE_EASING="Mobile Easing" -MOD_IMAGE_SWOOP_MOBILE_EASING_DESC="Select easing animation effect for mobile devices" -MOD_IMAGE_SWOOP_FX="FX" -MOD_IMAGE_SWOOP_FX_DESC="Select FX animation effect. Avaibale options:
                  - random,
                  - simpleFade,
                  - curtainTopLeft,
                  - curtainTopRight,
                  - curtainBottomLeft,
                  - curtainBottomRight,
                  - curtainSliceLeft,
                  - curtainSliceRight,
                  - blindCurtainTopLeft,
                  - blindCurtainTopRight,
                  - blindCurtainBottomLeft,
                  - blindCurtainBottomRight,
                  - blindCurtainSliceBottom,
                  - blindCurtainSliceTop,
                  - stampede,
                  - mosaic,
                  - mosaicReverse,
                  - mosaicRandom,
                  - mosaicSpiral,
                  - mosaicSpiralReverse,
                  - topLeftBottomRight,
                  - bottomRightTopLeft,
                  - bottomLeftTopRight,
                  - bottomLeftTopRight -
                  -
                  - //you can also use more than one effect, just separate them with commas: simpleFade, scrollRight, scrollBottom" -MOD_IMAGE_SWOOP_FX_SET="FX Set" -MOD_IMAGE_SWOOP_FX_SET_DESC="Select if you want to use multiple FX options" -MOD_IMAGE_SWOOP_MOBILE_FX="FX Mobile" -MOD_IMAGE_SWOOP_MOBILE_FX_DESC="Select FX animation effect for mobile devices. Leave empty if you want to display the same effect on mobile devices and on desktop etc" -MOD_IMAGE_SWOOP_GRID_DIFF="Grid difference" -MOD_IMAGE_SWOOP_GRID_DIFF_DESC="To make the grid blocks slower than the slices, this value must be smaller than transPeriod" -MOD_IMAGE_SWOOP_HEIGHT="Height" -MOD_IMAGE_SWOOP_HEIGHT_DESC="Slideshow height" -MOD_IMAGE_SWOOP_IMAGE_PATH="Camera Image path" -MOD_IMAGE_SWOOP_IMAGE_PATH_DESC="Choose camera slider images path." -MOD_IMAGE_SWOOP_HOVER="Pause on Hover" -MOD_IMAGE_SWOOP_HOVER_DESC="Pause on state hover. Not available for mobile devices" -MOD_IMAGE_SWOOP_LOADER="Loader" -MOD_IMAGE_SWOOP_LOADER_DESC="Select slideshow loading icon" -MOD_IMAGE_SWOOP_PIE_DIAMETER="Pie diameter" -MOD_IMAGE_SWOOP_PIE_DIAMETER_DESC="Set pie loading icon diameter" -MOD_IMAGE_SWOOP_PIE_POSITION="Pie position" -MOD_IMAGE_SWOOP_PIE_POSITION_DESC="Select pie loading icon position" -MOD_IMAGE_SWOOP_LOADER_COLOR="Loader color" -MOD_IMAGE_SWOOP_LOADER_COLOR_DESC="Select loading icon color" -MOD_IMAGE_SWOOP_LOADER_BG_COLOR="Loader BG color" -MOD_IMAGE_SWOOP_LOADER_BG_COLOR_DESC="Select loading icon background color" -MOD_IMAGE_SWOOP_LOADER_OPACITY="Loader opacity" -MOD_IMAGE_SWOOP_LOADER_OPACITY_DESC="Loading icon opacity" -MOD_IMAGE_SWOOP_LOADER_PADDING="Loader padding" -MOD_IMAGE_SWOOP_LOADER_PADDING_DESC="How many empty pixels you want to display between the loader and its background" -MOD_IMAGE_SWOOP_LOADER_STROKE="Loader stroke" -MOD_IMAGE_SWOOP_LOADER_STROKE_DESC="The thickness both of the pie loader and of the bar loader. Remember: for the pie, the loader thickness must be less than a half of the pie diameter" -MOD_IMAGE_SWOOP_LOADER_MIN_HEIGHT="Min height" -MOD_IMAGE_SWOOP_LOADER_MIN_HEIGHT_DESC="Slider minimal height" -MOD_IMAGE_SWOOP_NAVIGATION="Navigation" -MOD_IMAGE_SWOOP_NAVIGATION_DESC="Select if you want to display animation" -MOD_IMAGE_SWOOP_NAV_ON_HOVER="Navigation on hover" -MOD_IMAGE_SWOOP_NAV_ON_HOVER_DESC="Select if you wantr to display navigation only on hover" -MOD_IMAGE_SWOOP_MOBILE_NAV_HOVER="Navigation on hover(Mobile)" -MOD_IMAGE_SWOOP_MOBILE_NAV_HOVER_DESC="Display navigation only on hover for mobile devices" -MOD_IMAGE_SWOOP_OPACITY_ON_GRID="Opacity on grid" -MOD_IMAGE_SWOOP_OPACITY_ON_GRID_DESC="Decide to apply a fade effect to blocks and slices: if your slideshow is fullscreen or simply big, we recommend to set it false to have a smoother effect" -MOD_IMAGE_SWOOP_OVERLAYER="Overlayer" -MOD_IMAGE_SWOOP_OVERLAYER_DESC="Decide to put a layer on the images to prevent the users grab them simply by clicking the right button of their mouse" -MOD_IMAGE_SWOOP_PATTERN="Overlay image" -MOD_IMAGE_SWOOP_PATTERN_DESC="Please select overlayer image" -MOD_IMAGE_SWOOP_PAGINATION="Pagination" -MOD_IMAGE_SWOOP_PAGINATION_DESC="Select if you want to display slider pagination" -MOD_IMAGE_SWOOP_THUMB_PAGINATION="Thumbnail Pagination" -MOD_IMAGE_SWOOP_THUMB_PAGINATION_DESC="Please select if you want to display thumbnail pagination" -MOD_IMAGE_SWOOP_PLAY_PAUSE="Play/pause" -MOD_IMAGE_SWOOP_PLAY_PAUSE_DESC="Select if you want to display play and pause buttons" -MOD_IMAGE_SWOOP_PAUSE_ON_CLICK="Pause on click" -MOD_IMAGE_SWOOP_PAUSE_ON_CLICK_DESC="Select if you want to stop slider clicking on it" -MOD_IMAGE_SWOOP_PORTRAIT="Portrait" -MOD_IMAGE_SWOOP_PORTRAIT_DESC="Select if your slider is in portrait format" -MOD_IMAGE_SWOOP_SLIDE_ON="Slide on" -MOD_IMAGE_SWOOP_SLIDE_ON_DESC="Decide if the transition effect will be applied to the current (prev) or the next slide" -MOD_IMAGE_SWOOP_THUMBNAILS="Thumbnails" -MOD_IMAGE_SWOOP_THUMBNAILS_DESC="Select if you ewant to display slider thumbnails. Uploaded XSmall images will be displayed as slider thumbnails" -MOD_IMAGE_SWOOP_TIME="Time" -MOD_IMAGE_SWOOP_TIME_DESC="Milliseconds between the end of the sliding effect and the start of the nex one" -MOD_IMAGE_SWOOP_TRANS_PERIOD="Transition period" -MOD_IMAGE_SWOOP_TRANS_PERIOD_DESC="Length of the sliding effect in milliseconds" -MOD_IMAGE_SWOOP_GENERAL="General" -MOD_IMAGE_SWOOP_LOADING="Loading" -MOD_IMAGE_SWOOP_NAVIGATION_SP="Navigation and controls" -MOD_IMAGE_SWOOP_NAVIGATION="Navigation and controls" -MOD_IMAGE_SWOOP_ANIMATION="Animation" -MOD_IMAGE_SWOOP_SCRIPT="Script" -MOD_IMAGE_SWOOP_SCRIPT_DESC="Select the script you want to load. To use custom option you should have camera.js file located in the templates/your_template/js directory" -MOD_IMAGE_SWOOP_CAPTION_EFFECT="Caption Animation" -MOD_IMAGE_SWOOP_CAPTION_EFFECT_DESC="Select caption animation" -MOD_IMAGE_SWOOP_CAPTION="Caption Settings" -MOD_IMAGE_SWOOP_SHOW_CAPTION="Display Caption" -MOD_IMAGE_SWOOP_SHOW_CAPTION_DESC="PLease select if you want to display caption" -MOD_IMAGE_SWOOP_FIELD_PUBLISHED_LABEL="Publish date" -MOD_IMAGE_SWOOP_FIELD_PUBLISHED_DESC="Please select if you want to display article publish date" - -MOD_IMAGE_SWOOP_LOAD_EASING="Load easing" -MOD_IMAGE_SWOOP_LOAD_EASING_DESC="Load easing library (set false if it is loaded from the template files)" -MOD_IMAGE_SWOOP_LOAD_JQERY_MOBILE="Load jQuery mobile" +MOD_IMAGE_SWOOP="Image Swoop" +MOD_IMAGE_SWOOP_FIELD_CATEGORY_DESC="Select Articles from a specific Category or a set of Categories. If no selection will show all categories as default" +MOD_IMAGE_SWOOP_FIELD_IMAGES_DESC="Display Article images" +MOD_IMAGE_SWOOP_FIELD_IMAGES_LABEL="Images" +MOD_IMAGE_SWOOP_FIELD_ITEMS_DESC="The number of Articles to display within this module" +MOD_IMAGE_SWOOP_FIELD_ITEMS_LABEL="Number of Articles" +MOD_IMAGE_SWOOP_FIELD_LINKTITLE_DESC="Link the Article titles to Articles." +MOD_IMAGE_SWOOP_FIELD_LINKTITLE_LABEL="Linked Titles" +MOD_IMAGE_SWOOP_FIELD_ORDERING_DESC="Select the order in which you want query results presented." +MOD_IMAGE_SWOOP_FIELD_ORDERING_LABEL="Order Results" +MOD_IMAGE_SWOOP_FIELD_ORDERING_CREATED_DATE="Created Date" +MOD_IMAGE_SWOOP_FIELD_ORDERING_PUBLISHED_DATE="Published Date" + +MOD_IMAGE_SWOOP_FIELD_ORDERING_ORDERING="Ordering" +MOD_IMAGE_SWOOP_FIELD_ORDERING_RANDOM="Random" +MOD_IMAGE_SWOOP_FIELD_READMORE_DESC="If set to Show, the 'Read more...' link will show if Main text has been provided for an Article." +MOD_IMAGE_SWOOP_FIELD_READMORE_LABEL="'Read more...' Link" +MOD_IMAGE_SWOOP_FIELD_SEPARATOR_DESC="Show separator after last Article" +MOD_IMAGE_SWOOP_FIELD_SEPARATOR_LABEL="Show last separator" +MOD_IMAGE_SWOOP_FIELD_TITLE_DESC="Article title" +MOD_IMAGE_SWOOP_FIELD_TITLE_LABEL="Article title" + +MOD_IMAGE_SWOOP_FIELD_PUBLISHED_LABEL="Published date" +MOD_IMAGE_SWOOP_FIELD_PUBLISHED_DESC="Display item's published date" + +MOD_IMAGE_SWOOP_READMORE="Read more" +MOD_IMAGE_SWOOP_READMORE_REGISTER="Register to Read More" +MOD_IMAGE_SWOOP_FIELD_ITEM_URL="Item URLs" +MOD_IMAGE_SWOOP_FIELD_ITEM_URL_DESC="Please define slides URLs. Type URLs separated by semicolon(;)" +MOD_IMAGE_SWOOP_FIELD_TARGET_LABEL="URL target" +MOD_IMAGE_SWOOP_FIELD_TARGET_DESC="Please select slide URL target" +MOD_IMAGE_SWOOP_TITLE_HEADING="Header Level" +MOD_IMAGE_SWOOP_TITLE_HEADING_DESCRIPTION="Select the desired HTML header level for the Article titles." +MOD_IMAGE_SWOOP_XML_DESCRIPTION="Image Swoop module is a combination of default Joomla Articles newsflash module and Camera Slideshow jQuery plugin" + +COM_MODULES_SLIDESHOW_FIELDSET_LABEL="Image Swoop Settings" +MOD_IMAGE_SWOOP_DEFAULT="Default" +MOD_IMAGE_SWOOP_CUSTOM="Custom" +MOD_IMAGE_SWOOP_MINIFIED="Minified" + +MOD_IMAGE_SWOOP_THEME="Theme" +MOD_IMAGE_SWOOP_THEME_DESC="Please select Image Swoop styling. To use 'custom' option you should have camera.css style pleaced to your template CSS directory" +MOD_IMAGE_SWOOP_SCRIPT="Script" +MOD_IMAGE_SWOOP_SCRIPT_DESC="Please select Image Swoop script file. To use 'custom' option you should have camera.js style pleaced to your template JS directory" + +MOD_IMAGE_SWOOP_SKIN="Color skin" +MOD_IMAGE_SWOOP_SKIN_DESC="Please select slider color skin" + +MOD_IMAGE_SWOOP_ALIGNEMENT="Alignement" +MOD_IMAGE_SWOOP_ALIGNEMENT_DESC="Select slider alignement" +MOD_IMAGE_SWOOP_SLIDESHOW_ADVANCE="Advance" +MOD_IMAGE_SWOOP_SLIDESHOW_ADVANCE_DESC="Select if you want to enable or disable automatic slides change" +MOD_IMAGE_SWOOP_SLIDESHOW_MOBILE_ADVANCE="Mobile Advance" +MOD_IMAGE_SWOOP_SLIDESHOW_MOBILE_ADVANCE_DESC="Advance option for mobile devices" +MOD_IMAGE_SWOOP_BAR_DIRECTION="Bar direction" +MOD_IMAGE_SWOOP_BAR_DIRECTION_DESC="Select loading bar animation direction" +MOD_IMAGE_SWOOP_BAR_POSITION="Bar position" +MOD_IMAGE_SWOOP_BAR_POSITION_DESC="Select loading bar position" +MOD_IMAGE_SWOOP_COLS="Cols" +MOD_IMAGE_SWOOP_COLS_DESC="Animation columns" +MOD_IMAGE_SWOOP_ROWS="Rows" +MOD_IMAGE_SWOOP_ROWS_DESC="Animation rows" +MOD_IMAGE_SWOOP_SLICED_COLS="Sliced cols" +MOD_IMAGE_SWOOP_SLICED_COLS_DESC="Sliced animation cols. If 0 the same value of cols" +MOD_IMAGE_SWOOP_SLICED_ROWS="Sliced rows" +MOD_IMAGE_SWOOP_SLICED_ROWS_DESC="Sliced animation rows. If 0 the same value of rows" +MOD_IMAGE_SWOOP_EASING="Easing" +MOD_IMAGE_SWOOP_EASING_DESC="Select easing animation effect" +MOD_IMAGE_SWOOP_MOBILE_EASING="Mobile Easing" +MOD_IMAGE_SWOOP_MOBILE_EASING_DESC="Select easing animation effect for mobile devices" +MOD_IMAGE_SWOOP_FX="FX" +MOD_IMAGE_SWOOP_FX_DESC="Select FX animation effect. Avaibale options:
                  + random,
                  + simpleFade,
                  + curtainTopLeft,
                  + curtainTopRight,
                  + curtainBottomLeft,
                  + curtainBottomRight,
                  + curtainSliceLeft,
                  + curtainSliceRight,
                  + blindCurtainTopLeft,
                  + blindCurtainTopRight,
                  + blindCurtainBottomLeft,
                  + blindCurtainBottomRight,
                  + blindCurtainSliceBottom,
                  + blindCurtainSliceTop,
                  + stampede,
                  + mosaic,
                  + mosaicReverse,
                  + mosaicRandom,
                  + mosaicSpiral,
                  + mosaicSpiralReverse,
                  + topLeftBottomRight,
                  + bottomRightTopLeft,
                  + bottomLeftTopRight,
                  + bottomLeftTopRight +
                  +
                  + //you can also use more than one effect, just separate them with commas: simpleFade, scrollRight, scrollBottom" +MOD_IMAGE_SWOOP_FX_SET="FX Set" +MOD_IMAGE_SWOOP_FX_SET_DESC="Select if you want to use multiple FX options" +MOD_IMAGE_SWOOP_MOBILE_FX="FX Mobile" +MOD_IMAGE_SWOOP_MOBILE_FX_DESC="Select FX animation effect for mobile devices. Leave empty if you want to display the same effect on mobile devices and on desktop etc" +MOD_IMAGE_SWOOP_GRID_DIFF="Grid difference" +MOD_IMAGE_SWOOP_GRID_DIFF_DESC="To make the grid blocks slower than the slices, this value must be smaller than transPeriod" +MOD_IMAGE_SWOOP_HEIGHT="Height" +MOD_IMAGE_SWOOP_HEIGHT_DESC="Slideshow height" +MOD_IMAGE_SWOOP_IMAGE_PATH="Camera Image path" +MOD_IMAGE_SWOOP_IMAGE_PATH_DESC="Choose camera slider images path." +MOD_IMAGE_SWOOP_HOVER="Pause on Hover" +MOD_IMAGE_SWOOP_HOVER_DESC="Pause on state hover. Not available for mobile devices" +MOD_IMAGE_SWOOP_LOADER="Loader" +MOD_IMAGE_SWOOP_LOADER_DESC="Select slideshow loading icon" +MOD_IMAGE_SWOOP_PIE_DIAMETER="Pie diameter" +MOD_IMAGE_SWOOP_PIE_DIAMETER_DESC="Set pie loading icon diameter" +MOD_IMAGE_SWOOP_PIE_POSITION="Pie position" +MOD_IMAGE_SWOOP_PIE_POSITION_DESC="Select pie loading icon position" +MOD_IMAGE_SWOOP_LOADER_COLOR="Loader color" +MOD_IMAGE_SWOOP_LOADER_COLOR_DESC="Select loading icon color" +MOD_IMAGE_SWOOP_LOADER_BG_COLOR="Loader BG color" +MOD_IMAGE_SWOOP_LOADER_BG_COLOR_DESC="Select loading icon background color" +MOD_IMAGE_SWOOP_LOADER_OPACITY="Loader opacity" +MOD_IMAGE_SWOOP_LOADER_OPACITY_DESC="Loading icon opacity" +MOD_IMAGE_SWOOP_LOADER_PADDING="Loader padding" +MOD_IMAGE_SWOOP_LOADER_PADDING_DESC="How many empty pixels you want to display between the loader and its background" +MOD_IMAGE_SWOOP_LOADER_STROKE="Loader stroke" +MOD_IMAGE_SWOOP_LOADER_STROKE_DESC="The thickness both of the pie loader and of the bar loader. Remember: for the pie, the loader thickness must be less than a half of the pie diameter" +MOD_IMAGE_SWOOP_LOADER_MIN_HEIGHT="Min height" +MOD_IMAGE_SWOOP_LOADER_MIN_HEIGHT_DESC="Slider minimal height" +MOD_IMAGE_SWOOP_NAVIGATION="Navigation" +MOD_IMAGE_SWOOP_NAVIGATION_DESC="Select if you want to display animation" +MOD_IMAGE_SWOOP_NAV_ON_HOVER="Navigation on hover" +MOD_IMAGE_SWOOP_NAV_ON_HOVER_DESC="Select if you wantr to display navigation only on hover" +MOD_IMAGE_SWOOP_MOBILE_NAV_HOVER="Navigation on hover(Mobile)" +MOD_IMAGE_SWOOP_MOBILE_NAV_HOVER_DESC="Display navigation only on hover for mobile devices" +MOD_IMAGE_SWOOP_OPACITY_ON_GRID="Opacity on grid" +MOD_IMAGE_SWOOP_OPACITY_ON_GRID_DESC="Decide to apply a fade effect to blocks and slices: if your slideshow is fullscreen or simply big, we recommend to set it false to have a smoother effect" +MOD_IMAGE_SWOOP_OVERLAYER="Overlayer" +MOD_IMAGE_SWOOP_OVERLAYER_DESC="Decide to put a layer on the images to prevent the users grab them simply by clicking the right button of their mouse" +MOD_IMAGE_SWOOP_PATTERN="Overlay image" +MOD_IMAGE_SWOOP_PATTERN_DESC="Please select overlayer image" +MOD_IMAGE_SWOOP_PAGINATION="Pagination" +MOD_IMAGE_SWOOP_PAGINATION_DESC="Select if you want to display slider pagination" +MOD_IMAGE_SWOOP_THUMB_PAGINATION="Thumbnail Pagination" +MOD_IMAGE_SWOOP_THUMB_PAGINATION_DESC="Please select if you want to display thumbnail pagination" +MOD_IMAGE_SWOOP_PLAY_PAUSE="Play/pause" +MOD_IMAGE_SWOOP_PLAY_PAUSE_DESC="Select if you want to display play and pause buttons" +MOD_IMAGE_SWOOP_PAUSE_ON_CLICK="Pause on click" +MOD_IMAGE_SWOOP_PAUSE_ON_CLICK_DESC="Select if you want to stop slider clicking on it" +MOD_IMAGE_SWOOP_PORTRAIT="Portrait" +MOD_IMAGE_SWOOP_PORTRAIT_DESC="Select if your slider is in portrait format" +MOD_IMAGE_SWOOP_SLIDE_ON="Slide on" +MOD_IMAGE_SWOOP_SLIDE_ON_DESC="Decide if the transition effect will be applied to the current (prev) or the next slide" +MOD_IMAGE_SWOOP_THUMBNAILS="Thumbnails" +MOD_IMAGE_SWOOP_THUMBNAILS_DESC="Select if you ewant to display slider thumbnails. Uploaded XSmall images will be displayed as slider thumbnails" +MOD_IMAGE_SWOOP_TIME="Time" +MOD_IMAGE_SWOOP_TIME_DESC="Milliseconds between the end of the sliding effect and the start of the nex one" +MOD_IMAGE_SWOOP_TRANS_PERIOD="Transition period" +MOD_IMAGE_SWOOP_TRANS_PERIOD_DESC="Length of the sliding effect in milliseconds" +MOD_IMAGE_SWOOP_GENERAL="General" +MOD_IMAGE_SWOOP_LOADING="Loading" +MOD_IMAGE_SWOOP_NAVIGATION_SP="Navigation and controls" +MOD_IMAGE_SWOOP_NAVIGATION="Navigation and controls" +MOD_IMAGE_SWOOP_ANIMATION="Animation" +MOD_IMAGE_SWOOP_SCRIPT="Script" +MOD_IMAGE_SWOOP_SCRIPT_DESC="Select the script you want to load. To use custom option you should have camera.js file located in the templates/your_template/js directory" +MOD_IMAGE_SWOOP_CAPTION_EFFECT="Caption Animation" +MOD_IMAGE_SWOOP_CAPTION_EFFECT_DESC="Select caption animation" +MOD_IMAGE_SWOOP_CAPTION="Caption Settings" +MOD_IMAGE_SWOOP_SHOW_CAPTION="Display Caption" +MOD_IMAGE_SWOOP_SHOW_CAPTION_DESC="PLease select if you want to display caption" +MOD_IMAGE_SWOOP_FIELD_PUBLISHED_LABEL="Publish date" +MOD_IMAGE_SWOOP_FIELD_PUBLISHED_DESC="Please select if you want to display article publish date" + +MOD_IMAGE_SWOOP_LOAD_EASING="Load easing" +MOD_IMAGE_SWOOP_LOAD_EASING_DESC="Load easing library (set false if it is loaded from the template files)" +MOD_IMAGE_SWOOP_LOAD_JQERY_MOBILE="Load jQuery mobile" MOD_IMAGE_SWOOP_LOAD_JQERY_MOBILE_DESC="Load jQuery mobile ((set false if it is loaded from the template files))" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.ini b/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.ini index 216e4537..1d1763d7 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.ini @@ -1,14 +1,14 @@ -; Joomla! Project -; Copyright (C) 2013 JoomlaUX. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - - -MOD_JUX_TIMELINE="JUX TimeLine" -MOD_JUX_TIMELINE_DISPLAY="Display" -MOD_JUX_TIMELINE_DISPLAY_DESC="The display type of the timeline module show when first load, Set 'Default' to expand the top timeline, set 'Expand' to expand all timeline information or 'Collapse' to collapse all." -JUX_TIMELINE_DEFAULT="Default" -JUX_TIMELINE_EXPAND="Expand" -JUX_TIMELINE_COLLAPSE="Collapse" -MOD_JUX_TIMELINE_ADD_LABEL="Time Line Data" +; Joomla! Project +; Copyright (C) 2013 JoomlaUX. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + + +MOD_JUX_TIMELINE="JUX TimeLine" +MOD_JUX_TIMELINE_DISPLAY="Display" +MOD_JUX_TIMELINE_DISPLAY_DESC="The display type of the timeline module show when first load, Set 'Default' to expand the top timeline, set 'Expand' to expand all timeline information or 'Collapse' to collapse all." +JUX_TIMELINE_DEFAULT="Default" +JUX_TIMELINE_EXPAND="Expand" +JUX_TIMELINE_COLLAPSE="Collapse" +MOD_JUX_TIMELINE_ADD_LABEL="Time Line Data" MOD_JUX_TIMELINE_ADD_DESC="Please use the 'New' button to add new timeline data, use 'Remove' button to delete a timeline. Drag/Drop the box to re-order the timeline. Each timeline has a Time Frame, Timeline Title and Timeline details information." \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.sys.ini index 89790712..3472d7eb 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_jux_timeline.sys.ini @@ -1,7 +1,7 @@ -; Joomla! Project -; Copyright (C) 2013 JoomlaUX. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - - +; Joomla! Project +; Copyright (C) 2013 JoomlaUX. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + + MOD_JUX_TIMELINE="JUX TimeLine" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_mx_timeline.ini b/deployed/_shared/language/en-GB/en-GB.mod_mx_timeline.ini index d7c392a8..7e7086f6 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_mx_timeline.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_mx_timeline.ini @@ -1,166 +1,166 @@ - -# Headers - -COM_MODULES_MOD_MX_TIME_LINE_BASIC_GENERAL_SETTINGS_FIELDSET_LABEL="General settings" -MOD_MX_TIME_LINE_DATA_SOURCE="Data Source" -COM_MODULES_TIME_LINE_CONFIG_SETTINGS_FIELDSET_LABEL="Basic settings" -COM_MODULES_TIME_LINE_CON_EFFECTS_SETTINGS_FIELDSET_LABEL="Style settings" -COM_MODULES_TIME_LINE_CONFIG_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" -COM_MODULES_TIME_LINE_CONFIG_FILTERS_SORTINGS_SETTINGS_FIELDSET_LABEL="Filters Settings" -COM_MODULES_TIME_LINE_CON_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" - -# General Settings - -MOD_MX_TIME_LINE_AUTO_MODULE_ID_LABEL="Automatic module ID" -MOD_MX_TIME_LINE_AUTO_MODULE_ID_DESC="The module will be given an ID automatically." -MOD_MX_TIME_LINE_CUSTOM_MODULE_ID_LABEL="Custom module ID" -MOD_MX_TIME_LINE_CUSTOM_MODULE_ID_DESC="Insert your own ID for the module. It must be unique." -MOD_MX_TIME_LINE_CLASS_SUFFIX_LABEL="Module class suffix" -MOD_MX_TIME_LINE_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the module. This allows for individual module styling." - -# Data Source - -MOD_MX_TIME_LINE_FIELD_COUNT_DESC="The number of items to display. The default value of 0 will display all articles." -MOD_MX_TIME_LINE_FIELD_COUNT_LABEL="Count Items" -MOD_MX_TIME_LINE_FIELD_CATFILTERINGTYPE_LABEL="Category Filtering Type" -MOD_MX_TIME_LINE_FIELD_DATERANGEFIELD_DESC="Select which date field you want the date range to be applied to." -MOD_MX_TIME_LINE_FIELD_CATEGORY_DESC="Please select one or more categories." -MOD_MX_TIME_LINE_FIELD_SHOWCHILDCATEGORYARTICLES_DESC="Include or Exclude Articles from Child Categories." -MOD_MX_TIME_LINE_FIELD_SHOWCHILDCATEGORYARTICLES_LABEL="Child Category Articles" -MOD_MX_TIME_LINE_FIELD_CATDEPTH_DESC="The number of child category levels to return." -MOD_MX_TIME_LINE_FIELD_CATDEPTH_LABEL="Category Depth" -MOD_MX_TIME_LINE_FIELD_TAG_FILTERING_TYPE_LABEL="Tag Filtering Type" -MOD_MX_TIME_LINE_FIELD_TAG_FILTERING_TYPE_DESC="Select Inclusive to Include the Selected Tags, Exclusive to Exclude the Selected Tags." -MOD_MX_TIME_LINE_FIELD_TAG_LABEL="Tag" -MOD_MX_TIME_LINE_FIELD_TAG_DESC="Please select one or more tags." -MOD_MX_TIME_LINE_FIELD_TAG_INCLUDE_CHILDREN_LABEL="Include children tags" -MOD_MX_TIME_LINE_FIELD_TAG_INCLUDE_CHILDREN_DESC="Include or exclude children tags." -MOD_MX_TIME_LINE_FIELD_TAG_MATCH_LABEL="Match Tags" -MOD_MX_TIME_LINE_FIELD_TAG_MATCH_DESC="If Filtering Type is 'Inclusive', it works only if children tags are excluded. If Filtering Type is 'Exclusive', it will always match items with all selected tags." -MOD_MX_TIME_LINE_TAG_MATCH_ANY="Any" -MOD_MX_TIME_LINE_TAG_MATCH_ALL="All" -MOD_MX_TIME_LINE_FIELD_AUTHORFILTERING_LABEL="Author Filtering Type" -MOD_MX_TIME_LINE_FIELD_CATFILTERINGTYPE_DESC="Select Inclusive to Include the Selected Categories, Exclusive to Exclude the Selected Categories." -MOD_MX_TIME_LINE_FIELD_AUTHOR_DESC="Select one or more authors from the list below." -MOD_MX_TIME_LINE_FIELD_AUTHOR_LABEL="Authors" -MOD_MX_TIME_LINE_FIELD_AUTHORALIASFILTERING_DESC="Select Inclusive to Include the Selected Author Aliases, Exclusive to Exclude the Selected Author Aliases." -MOD_MX_TIME_LINE_FIELD_AUTHORALIASFILTERING_LABEL="Author Alias Filtering Type" -MOD_MX_TIME_LINE_FIELD_AUTHORALIAS_DESC="Select one or more author aliases from the list below." -MOD_MX_TIME_LINE_FIELD_AUTHORALIAS_LABEL="Author Aliases" -MOD_MX_TIME_LINE_FIELD_SHOWFEATURED_DESC="Select to Show, Hide, or Only display Featured Articles." -MOD_MX_TIME_LINE_FIELD_SHOWFEATURED_LABEL="Featured Articles" -MOD_MX_TIME_LINE_FIELD_DATEFILTERING_DESC="Select Date Filtering Type." -MOD_MX_TIME_LINE_FIELD_DATEFILTERING_LABEL="Date Filtering" -MOD_MX_TIME_LINE_FIELD_AUTHORFILTERING_DESC="Select Inclusive to Include the Selected Authors, Exclusive to Exclude the Selected Authors." -MOD_MX_TIME_LINE_FIELD_DATERANGEFIELD_LABEL="Date Range Field" -MOD_MX_TIME_LINE_FIELD_STARTDATE_DESC="If Date Range is selected above, please enter a Starting Date." -MOD_MX_TIME_LINE_FIELD_STARTDATE_LABEL="Start Date Range" -MOD_MX_TIME_LINE_FIELD_ENDDATE_DESC="If Date Range is selected above, please enter an End Date." -MOD_MX_TIME_LINE_FIELD_ENDDATE_LABEL="To Date" -MOD_MX_TIME_LINE_FIELD_RELATIVEDATE_DESC="If Relative Date is selected above, please enter in a numeric day value. Results will be retrieved relative to the current date and the value you enter." -MOD_MX_TIME_LINE_FIELD_RELATIVEDATE_LABEL="Relative Date" -MOD_MX_TIME_LINE_FIELD_DATEFIELD_DESC="Select which date field you want to display." -MOD_MX_TIME_LINE_FIELD_DATEFIELD_LABEL="Date Field" -MOD_MX_TIME_LINE_FIELD_DATEFIELDFORMAT_DESC="Please enter in a valid date format. See: http://php.net/date for formatting information." -MOD_MX_TIME_LINE_FIELD_DATEFIELDFORMAT_LABEL="Date Format" -MOD_MX_TIME_LINE_FIELD_EXCLUDEDARTICLES_DESC="Please enter each Article ID on a new line." -MOD_MX_TIME_LINE_FIELD_EXCLUDEDARTICLES_LABEL="Article IDs to Exclude" -MOD_MX_TIME_LINE_FIELD_ARTICLEORDERING_DESC="Select which field you would like Articles to be ordered by. Featured Ordering should only be used when Filtering Option for Featured Articles is set to 'Only'." -MOD_MX_TIME_LINE_FIELD_ARTICLEORDERING_LABEL="Article Field to Order By" -MOD_MX_TIME_LINE_FIELD_ARTICLEORDERINGDIR_DESC="Select the direction you would like Articles to be ordered by." -MOD_MX_TIME_LINE_FIELD_ARTICLEORDERINGDIR_LABEL="Ordering Direction" - -# Basic Slider Settings - -MOD_MX_TIME_LINE_IMAGE_TYPE_LABEL="Image type" -MOD_MX_TIME_LINE_IMAGE_TYPE_DESC="" -MOD_MX_TIME_LINE_CROP_IMAGES_LABEL="Crop images" -MOD_MX_TIME_LINE_CROP_IMAGES_DESC="If enabled, images will be cropped to the specified dimensions." -MOD_MX_TIME_LINE_IMAGE_WIDTH_LABEL="Main image width" -MOD_MX_TIME_LINE_IMAGE_WIDTH_DESC="" -MOD_MX_TIME_LINE_IMAGE_HEIGHT_LABEL="Main image height" -MOD_MX_TIME_LINE_IMAGE_HEIGHT_DESC="" -MOD_MX_TIME_LINE_FALLBACK_IMAGE_LABEL="Fallback image path" -MOD_MX_TIME_LINE_FALLBACK_IMAGE_DESC="Relative path to image. This image will be displayed if an item does not have an image. Leave blank if you don't want to display a fallback image." -MOD_MX_TIME_LINE_TITLE_LABEL="Show slide title" -MOD_MX_TIME_LINE_TITLE_LIMIT_LABEL="Title word limit" -MOD_MX_TIME_LINE_INTROTEXT_LABEL="Show slide introtext" -MOD_MX_TIME_LINE_INTROTEXT_DESC="" -MOD_MX_TIME_LINE_INTROTEXT_LIMIT_LABEL="Slide introtext limit" -MOD_MX_TIME_LINE_INTROTEXT_LIMIT_DESC="" -MOD_MX_TIME_LINE_STRIP_HTML_LABEL="Strip HTML tags" -MOD_MX_TIME_LINE_STRIP_HTML_DESC="If you disable this option, the introtext limit will not work. WARNING: If the HTML code inside the posts text is not valid, the module will break. We don't offer support in this case. You must find the errors in your articles and fix them." -MOD_MX_TIME_LINE_ALLOW_PLUGINS_LABEL="Allow plugins" -MOD_MX_TIME_LINE_ALLOW_PLUGINS_DESC="If enabled, will allow the rendering of content plugins inside the introtext." -MOD_MX_TIME_LINE_DATE_LABEL="Show slide date" -MOD_MX_TIME_LINE_DATE_DESC="" -MOD_MX_TIME_LINE_DATE_COLOR_LABEL="Date font color" -MOD_MX_TIME_LINE_DATE_COLOR_DESC="" -MOD_MX_TIME_LINE_DAY_BACKGROUND_COLOR_LABEL="Day background color" -MOD_MX_TIME_LINE_DAY_BACKGROUND_COLOR_DESC="" -MOD_MX_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_LABEL="Month/year background color" -MOD_MX_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_DESC="" -MOD_MX_TIME_LINE_CATEGORY_LABEL="Show slide category" -MOD_MX_TIME_LINE_CATEGORY_DESC="" -MOD_MX_TIME_LINE_AUTHOR_LABEL="Show slide author" -MOD_MX_TIME_LINE_AUTHOR_DESC="" -MOD_MX_TIME_LINE_MINIMUM_HEIGHT_LABEL="Slider minimum height" -MOD_MX_TIME_LINE_MINIMUM_HEIGHT_DESC="Slider minimum height for mobile responsive layout" - - -MOD_MX_TIME_LINE_CATEGORY_FILTERS_LABEL="Category filters" -MOD_MX_TIME_LINE_CATEGORY_FILTERS_DESC="Category filters" -MOD_MX_TIME_LINE_TAG_FILTERS_LABEL="Tag filters" -MOD_MX_TIME_LINE_TAG_FILTERS_DESC="Tag filters" -MOD_MX_TIME_LINE_FILTER_LABELS_LABEL="Show filter labels" -MOD_MX_TIME_LINE_FILTER_LABELS_DESC="Show filter labels" - -# Advanced Settings - -MOD_MX_TIME_LINE_LOAD_JQUERY_LABEL="Load jQuery Library" -MOD_MX_TIME_LINE_LOAD_JQUERY_DESC="" -MOD_MX_TIME_LINE_LOAD_PHPTHUMB_LABEL="Load PHP Thumb Factory" -MOD_MX_TIME_LINE_LOAD_PHPTHUMB_DESC="" -MOD_MX_TIME_LINE_LOAD_EASING_LABEL="Load Easing Library" -MOD_MX_TIME_LINE_LOAD_EASING_DESC="Disable if you have already installed the jQuery Easing plugin" -MOD_MX_TIME_LINE_CACHING_LABEL="Caching" -MOD_MX_TIME_LINE_CACHING_DESC="Select whether to cache the contents of this module" -MOD_MX_TIME_LINE_CACHE_TIME_LABEL="Cache time" -MOD_MX_TIME_LINE_CACHE_TIME_DESC="The time (in seconds) before the module is recached" - -# Options - -MOD_MX_TIME_LINE_CATEGORY_OPTION_ASCENDING_VALUE="Ascending" -MOD_MX_TIME_LINE_CATEGORY_OPTION_CREATED_VALUE="Created Date" -MOD_MX_TIME_LINE_CATEGORY_OPTION_DATERANGE_VALUE="Date Range" -MOD_MX_TIME_LINE_CATEGORY_OPTION_DESCENDING_VALUE="Descending" -MOD_MX_TIME_LINE_CATEGORY_OPTION_DYNAMIC_VALUE="Dynamic" -MOD_MX_TIME_LINE_CATEGORY_OPTION_EXCLUDE_VALUE="Exclude" -MOD_MX_TIME_LINE_CATEGORY_OPTION_EXCLUSIVE_VALUE="Exclusive" -MOD_MX_TIME_LINE_CATEGORY_OPTION_HITS_VALUE="Hits" -MOD_MX_TIME_LINE_CATEGORY_OPTION_ID_VALUE="ID" -MOD_MX_TIME_LINE_CATEGORY_OPTION_INCLUDE_VALUE="Include" -MOD_MX_TIME_LINE_CATEGORY_OPTION_INCLUSIVE_VALUE="Inclusive" -MOD_MX_TIME_LINE_CATEGORY_OPTION_MODIFIED_VALUE="Modified Date" -MOD_MX_TIME_LINE_CATEGORY_OPTION_MONTHYEAR_VALUE="Month and Year" -MOD_MX_TIME_LINE_CATEGORY_OPTION_NORMAL_VALUE="Normal" -MOD_MX_TIME_LINE_CATEGORY_OPTION_OFF_VALUE="Off" -MOD_MX_TIME_LINE_CATEGORY_OPTION_ONLYFEATURED_VALUE="Only" -MOD_MX_TIME_LINE_CATEGORY_OPTION_ORDERING_VALUE="Article Manager Order" -MOD_MX_TIME_LINE_CATEGORY_OPTION_ORDERINGFEATURED_VALUE="Featured Articles Order" -MOD_MX_TIME_LINE_CATEGORY_OPTION_RELATIVEDAY_VALUE="Relative Date" -MOD_MX_TIME_LINE_CATEGORY_OPTION_STARTPUBLISHING_VALUE="Start Publishing Date" -MOD_MX_TIME_LINE_CATEGORY_OPTION_FINISHPUBLISHING_VALUE="Finish Publishing Date" -MOD_MX_TIME_LINE_CATEGORY_OPTION_YEAR_VALUE="Year" -MOD_MX_TIME_LINE_CATEGORY_READ_MORE="Read more: " -MOD_MX_TIME_LINE_CATEGORY_READ_MORE_TITLE="Read More..." -MOD_MX_TIME_LINE_CATEGORY_REGISTER_TO_READ_MORE="Register to read more" -MOD_MX_TIME_LINE_CATEGORY_XML_DESCRIPTION="This module displays a list of articles from one or more categories." - -MOD_MX_TIME_LINE_IN="in" -MOD_MX_TIME_LINE_BY="by" -MOD_MX_TIME_LINE_HITS="hits" -MOD_MX_TIME_LINE_READ_MORE="Read More" -MOD_MX_TIME_LINE_CATEGORY="Filter by category" -MOD_MX_TIME_LINE_TAG="Filter by tag" + +# Headers + +COM_MODULES_MOD_MX_TIME_LINE_BASIC_GENERAL_SETTINGS_FIELDSET_LABEL="General settings" +MOD_MX_TIME_LINE_DATA_SOURCE="Data Source" +COM_MODULES_TIME_LINE_CONFIG_SETTINGS_FIELDSET_LABEL="Basic settings" +COM_MODULES_TIME_LINE_CON_EFFECTS_SETTINGS_FIELDSET_LABEL="Style settings" +COM_MODULES_TIME_LINE_CONFIG_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" +COM_MODULES_TIME_LINE_CONFIG_FILTERS_SORTINGS_SETTINGS_FIELDSET_LABEL="Filters Settings" +COM_MODULES_TIME_LINE_CON_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" + +# General Settings + +MOD_MX_TIME_LINE_AUTO_MODULE_ID_LABEL="Automatic module ID" +MOD_MX_TIME_LINE_AUTO_MODULE_ID_DESC="The module will be given an ID automatically." +MOD_MX_TIME_LINE_CUSTOM_MODULE_ID_LABEL="Custom module ID" +MOD_MX_TIME_LINE_CUSTOM_MODULE_ID_DESC="Insert your own ID for the module. It must be unique." +MOD_MX_TIME_LINE_CLASS_SUFFIX_LABEL="Module class suffix" +MOD_MX_TIME_LINE_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the module. This allows for individual module styling." + +# Data Source + +MOD_MX_TIME_LINE_FIELD_COUNT_DESC="The number of items to display. The default value of 0 will display all articles." +MOD_MX_TIME_LINE_FIELD_COUNT_LABEL="Count Items" +MOD_MX_TIME_LINE_FIELD_CATFILTERINGTYPE_LABEL="Category Filtering Type" +MOD_MX_TIME_LINE_FIELD_DATERANGEFIELD_DESC="Select which date field you want the date range to be applied to." +MOD_MX_TIME_LINE_FIELD_CATEGORY_DESC="Please select one or more categories." +MOD_MX_TIME_LINE_FIELD_SHOWCHILDCATEGORYARTICLES_DESC="Include or Exclude Articles from Child Categories." +MOD_MX_TIME_LINE_FIELD_SHOWCHILDCATEGORYARTICLES_LABEL="Child Category Articles" +MOD_MX_TIME_LINE_FIELD_CATDEPTH_DESC="The number of child category levels to return." +MOD_MX_TIME_LINE_FIELD_CATDEPTH_LABEL="Category Depth" +MOD_MX_TIME_LINE_FIELD_TAG_FILTERING_TYPE_LABEL="Tag Filtering Type" +MOD_MX_TIME_LINE_FIELD_TAG_FILTERING_TYPE_DESC="Select Inclusive to Include the Selected Tags, Exclusive to Exclude the Selected Tags." +MOD_MX_TIME_LINE_FIELD_TAG_LABEL="Tag" +MOD_MX_TIME_LINE_FIELD_TAG_DESC="Please select one or more tags." +MOD_MX_TIME_LINE_FIELD_TAG_INCLUDE_CHILDREN_LABEL="Include children tags" +MOD_MX_TIME_LINE_FIELD_TAG_INCLUDE_CHILDREN_DESC="Include or exclude children tags." +MOD_MX_TIME_LINE_FIELD_TAG_MATCH_LABEL="Match Tags" +MOD_MX_TIME_LINE_FIELD_TAG_MATCH_DESC="If Filtering Type is 'Inclusive', it works only if children tags are excluded. If Filtering Type is 'Exclusive', it will always match items with all selected tags." +MOD_MX_TIME_LINE_TAG_MATCH_ANY="Any" +MOD_MX_TIME_LINE_TAG_MATCH_ALL="All" +MOD_MX_TIME_LINE_FIELD_AUTHORFILTERING_LABEL="Author Filtering Type" +MOD_MX_TIME_LINE_FIELD_CATFILTERINGTYPE_DESC="Select Inclusive to Include the Selected Categories, Exclusive to Exclude the Selected Categories." +MOD_MX_TIME_LINE_FIELD_AUTHOR_DESC="Select one or more authors from the list below." +MOD_MX_TIME_LINE_FIELD_AUTHOR_LABEL="Authors" +MOD_MX_TIME_LINE_FIELD_AUTHORALIASFILTERING_DESC="Select Inclusive to Include the Selected Author Aliases, Exclusive to Exclude the Selected Author Aliases." +MOD_MX_TIME_LINE_FIELD_AUTHORALIASFILTERING_LABEL="Author Alias Filtering Type" +MOD_MX_TIME_LINE_FIELD_AUTHORALIAS_DESC="Select one or more author aliases from the list below." +MOD_MX_TIME_LINE_FIELD_AUTHORALIAS_LABEL="Author Aliases" +MOD_MX_TIME_LINE_FIELD_SHOWFEATURED_DESC="Select to Show, Hide, or Only display Featured Articles." +MOD_MX_TIME_LINE_FIELD_SHOWFEATURED_LABEL="Featured Articles" +MOD_MX_TIME_LINE_FIELD_DATEFILTERING_DESC="Select Date Filtering Type." +MOD_MX_TIME_LINE_FIELD_DATEFILTERING_LABEL="Date Filtering" +MOD_MX_TIME_LINE_FIELD_AUTHORFILTERING_DESC="Select Inclusive to Include the Selected Authors, Exclusive to Exclude the Selected Authors." +MOD_MX_TIME_LINE_FIELD_DATERANGEFIELD_LABEL="Date Range Field" +MOD_MX_TIME_LINE_FIELD_STARTDATE_DESC="If Date Range is selected above, please enter a Starting Date." +MOD_MX_TIME_LINE_FIELD_STARTDATE_LABEL="Start Date Range" +MOD_MX_TIME_LINE_FIELD_ENDDATE_DESC="If Date Range is selected above, please enter an End Date." +MOD_MX_TIME_LINE_FIELD_ENDDATE_LABEL="To Date" +MOD_MX_TIME_LINE_FIELD_RELATIVEDATE_DESC="If Relative Date is selected above, please enter in a numeric day value. Results will be retrieved relative to the current date and the value you enter." +MOD_MX_TIME_LINE_FIELD_RELATIVEDATE_LABEL="Relative Date" +MOD_MX_TIME_LINE_FIELD_DATEFIELD_DESC="Select which date field you want to display." +MOD_MX_TIME_LINE_FIELD_DATEFIELD_LABEL="Date Field" +MOD_MX_TIME_LINE_FIELD_DATEFIELDFORMAT_DESC="Please enter in a valid date format. See: http://php.net/date for formatting information." +MOD_MX_TIME_LINE_FIELD_DATEFIELDFORMAT_LABEL="Date Format" +MOD_MX_TIME_LINE_FIELD_EXCLUDEDARTICLES_DESC="Please enter each Article ID on a new line." +MOD_MX_TIME_LINE_FIELD_EXCLUDEDARTICLES_LABEL="Article IDs to Exclude" +MOD_MX_TIME_LINE_FIELD_ARTICLEORDERING_DESC="Select which field you would like Articles to be ordered by. Featured Ordering should only be used when Filtering Option for Featured Articles is set to 'Only'." +MOD_MX_TIME_LINE_FIELD_ARTICLEORDERING_LABEL="Article Field to Order By" +MOD_MX_TIME_LINE_FIELD_ARTICLEORDERINGDIR_DESC="Select the direction you would like Articles to be ordered by." +MOD_MX_TIME_LINE_FIELD_ARTICLEORDERINGDIR_LABEL="Ordering Direction" + +# Basic Slider Settings + +MOD_MX_TIME_LINE_IMAGE_TYPE_LABEL="Image type" +MOD_MX_TIME_LINE_IMAGE_TYPE_DESC="" +MOD_MX_TIME_LINE_CROP_IMAGES_LABEL="Crop images" +MOD_MX_TIME_LINE_CROP_IMAGES_DESC="If enabled, images will be cropped to the specified dimensions." +MOD_MX_TIME_LINE_IMAGE_WIDTH_LABEL="Main image width" +MOD_MX_TIME_LINE_IMAGE_WIDTH_DESC="" +MOD_MX_TIME_LINE_IMAGE_HEIGHT_LABEL="Main image height" +MOD_MX_TIME_LINE_IMAGE_HEIGHT_DESC="" +MOD_MX_TIME_LINE_FALLBACK_IMAGE_LABEL="Fallback image path" +MOD_MX_TIME_LINE_FALLBACK_IMAGE_DESC="Relative path to image. This image will be displayed if an item does not have an image. Leave blank if you don't want to display a fallback image." +MOD_MX_TIME_LINE_TITLE_LABEL="Show slide title" +MOD_MX_TIME_LINE_TITLE_LIMIT_LABEL="Title word limit" +MOD_MX_TIME_LINE_INTROTEXT_LABEL="Show slide introtext" +MOD_MX_TIME_LINE_INTROTEXT_DESC="" +MOD_MX_TIME_LINE_INTROTEXT_LIMIT_LABEL="Slide introtext limit" +MOD_MX_TIME_LINE_INTROTEXT_LIMIT_DESC="" +MOD_MX_TIME_LINE_STRIP_HTML_LABEL="Strip HTML tags" +MOD_MX_TIME_LINE_STRIP_HTML_DESC="If you disable this option, the introtext limit will not work. WARNING: If the HTML code inside the posts text is not valid, the module will break. We don't offer support in this case. You must find the errors in your articles and fix them." +MOD_MX_TIME_LINE_ALLOW_PLUGINS_LABEL="Allow plugins" +MOD_MX_TIME_LINE_ALLOW_PLUGINS_DESC="If enabled, will allow the rendering of content plugins inside the introtext." +MOD_MX_TIME_LINE_DATE_LABEL="Show slide date" +MOD_MX_TIME_LINE_DATE_DESC="" +MOD_MX_TIME_LINE_DATE_COLOR_LABEL="Date font color" +MOD_MX_TIME_LINE_DATE_COLOR_DESC="" +MOD_MX_TIME_LINE_DAY_BACKGROUND_COLOR_LABEL="Day background color" +MOD_MX_TIME_LINE_DAY_BACKGROUND_COLOR_DESC="" +MOD_MX_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_LABEL="Month/year background color" +MOD_MX_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_DESC="" +MOD_MX_TIME_LINE_CATEGORY_LABEL="Show slide category" +MOD_MX_TIME_LINE_CATEGORY_DESC="" +MOD_MX_TIME_LINE_AUTHOR_LABEL="Show slide author" +MOD_MX_TIME_LINE_AUTHOR_DESC="" +MOD_MX_TIME_LINE_MINIMUM_HEIGHT_LABEL="Slider minimum height" +MOD_MX_TIME_LINE_MINIMUM_HEIGHT_DESC="Slider minimum height for mobile responsive layout" + + +MOD_MX_TIME_LINE_CATEGORY_FILTERS_LABEL="Category filters" +MOD_MX_TIME_LINE_CATEGORY_FILTERS_DESC="Category filters" +MOD_MX_TIME_LINE_TAG_FILTERS_LABEL="Tag filters" +MOD_MX_TIME_LINE_TAG_FILTERS_DESC="Tag filters" +MOD_MX_TIME_LINE_FILTER_LABELS_LABEL="Show filter labels" +MOD_MX_TIME_LINE_FILTER_LABELS_DESC="Show filter labels" + +# Advanced Settings + +MOD_MX_TIME_LINE_LOAD_JQUERY_LABEL="Load jQuery Library" +MOD_MX_TIME_LINE_LOAD_JQUERY_DESC="" +MOD_MX_TIME_LINE_LOAD_PHPTHUMB_LABEL="Load PHP Thumb Factory" +MOD_MX_TIME_LINE_LOAD_PHPTHUMB_DESC="" +MOD_MX_TIME_LINE_LOAD_EASING_LABEL="Load Easing Library" +MOD_MX_TIME_LINE_LOAD_EASING_DESC="Disable if you have already installed the jQuery Easing plugin" +MOD_MX_TIME_LINE_CACHING_LABEL="Caching" +MOD_MX_TIME_LINE_CACHING_DESC="Select whether to cache the contents of this module" +MOD_MX_TIME_LINE_CACHE_TIME_LABEL="Cache time" +MOD_MX_TIME_LINE_CACHE_TIME_DESC="The time (in seconds) before the module is recached" + +# Options + +MOD_MX_TIME_LINE_CATEGORY_OPTION_ASCENDING_VALUE="Ascending" +MOD_MX_TIME_LINE_CATEGORY_OPTION_CREATED_VALUE="Created Date" +MOD_MX_TIME_LINE_CATEGORY_OPTION_DATERANGE_VALUE="Date Range" +MOD_MX_TIME_LINE_CATEGORY_OPTION_DESCENDING_VALUE="Descending" +MOD_MX_TIME_LINE_CATEGORY_OPTION_DYNAMIC_VALUE="Dynamic" +MOD_MX_TIME_LINE_CATEGORY_OPTION_EXCLUDE_VALUE="Exclude" +MOD_MX_TIME_LINE_CATEGORY_OPTION_EXCLUSIVE_VALUE="Exclusive" +MOD_MX_TIME_LINE_CATEGORY_OPTION_HITS_VALUE="Hits" +MOD_MX_TIME_LINE_CATEGORY_OPTION_ID_VALUE="ID" +MOD_MX_TIME_LINE_CATEGORY_OPTION_INCLUDE_VALUE="Include" +MOD_MX_TIME_LINE_CATEGORY_OPTION_INCLUSIVE_VALUE="Inclusive" +MOD_MX_TIME_LINE_CATEGORY_OPTION_MODIFIED_VALUE="Modified Date" +MOD_MX_TIME_LINE_CATEGORY_OPTION_MONTHYEAR_VALUE="Month and Year" +MOD_MX_TIME_LINE_CATEGORY_OPTION_NORMAL_VALUE="Normal" +MOD_MX_TIME_LINE_CATEGORY_OPTION_OFF_VALUE="Off" +MOD_MX_TIME_LINE_CATEGORY_OPTION_ONLYFEATURED_VALUE="Only" +MOD_MX_TIME_LINE_CATEGORY_OPTION_ORDERING_VALUE="Article Manager Order" +MOD_MX_TIME_LINE_CATEGORY_OPTION_ORDERINGFEATURED_VALUE="Featured Articles Order" +MOD_MX_TIME_LINE_CATEGORY_OPTION_RELATIVEDAY_VALUE="Relative Date" +MOD_MX_TIME_LINE_CATEGORY_OPTION_STARTPUBLISHING_VALUE="Start Publishing Date" +MOD_MX_TIME_LINE_CATEGORY_OPTION_FINISHPUBLISHING_VALUE="Finish Publishing Date" +MOD_MX_TIME_LINE_CATEGORY_OPTION_YEAR_VALUE="Year" +MOD_MX_TIME_LINE_CATEGORY_READ_MORE="Read more: " +MOD_MX_TIME_LINE_CATEGORY_READ_MORE_TITLE="Read More..." +MOD_MX_TIME_LINE_CATEGORY_REGISTER_TO_READ_MORE="Register to read more" +MOD_MX_TIME_LINE_CATEGORY_XML_DESCRIPTION="This module displays a list of articles from one or more categories." + +MOD_MX_TIME_LINE_IN="in" +MOD_MX_TIME_LINE_BY="by" +MOD_MX_TIME_LINE_HITS="hits" +MOD_MX_TIME_LINE_READ_MORE="Read More" +MOD_MX_TIME_LINE_CATEGORY="Filter by category" +MOD_MX_TIME_LINE_TAG="Filter by tag" MOD_MX_TIME_LINE_SHOW_ALL="All" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_ol_k2timeline.ini b/deployed/_shared/language/en-GB/en-GB.mod_ol_k2timeline.ini index 4cae5adc..f32f800c 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_ol_k2timeline.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_ol_k2timeline.ini @@ -1,173 +1,173 @@ - -# Headers - -COM_MODULES_MOD_OL_K2_TIME_LINE_BASIC_GENERAL_SETTINGS_FIELDSET_LABEL="General settings" -COM_MODULES_MOD_OL_K2_TIME_LINE_DATA_SOURCE_FIELDSET_LABEL="Data Source" -COM_MODULES_TIME_LINE_CONFIG_SETTINGS_FIELDSET_LABEL="Basic settings" -COM_MODULES_TIME_LINE_CON_EFFECTS_SETTINGS_FIELDSET_LABEL="Style settings" -COM_MODULES_TIME_LINE_CONFIG_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" -COM_MODULES_TIME_LINE_CONFIG_FILTERS_SORTINGS_SETTINGS_FIELDSET_LABEL="Filters Settings" -COM_MODULES_TIME_LINE_CON_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" - -# General Settings - -MOD_OL_K2_TIME_LINE_AUTO_MODULE_ID_LABEL="Automatic module ID" -MOD_OL_K2_TIME_LINE_AUTO_MODULE_ID_DESC="The module will be given an ID automatically." -MOD_OL_K2_TIME_LINE_CUSTOM_MODULE_ID_LABEL="Custom module ID" -MOD_OL_K2_TIME_LINE_CUSTOM_MODULE_ID_DESC="Insert your own ID for the module. It must be unique." -MOD_OL_K2_TIME_LINE_CLASS_SUFFIX_LABEL="Module class suffix" -MOD_OL_K2_TIME_LINE_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the module. This allows for individual module styling." - -MOD_OL_K2_TIME_LINE_SOURCE_LABEL="Source" -MOD_OL_K2_TIME_LINE_SOURCE_DESC="" -MOD_OL_K2_TIME_LINE_K2_CATEGORIES="K2 Categories" -MOD_OL_K2_TIME_LINE_K2_ARTICLES="K2 Items" -MOD_OL_K2_TIME_LINE_ALL_K2_ARTICLES="All K2 Items" -MOD_OL_K2_TIME_LINE_K2_TAGS="K2 Tags" -MOD_OL_K2_TIME_LINE_EXCLUDE_ITEMS="Exclude Items" - -MOD_OL_K2_TIME_LINE_DS_CATEGORY_SETTINGS="Category settings" -MOD_OL_K2_TIME_LINE_DS_ITEMS_SETTINGS="Items settings" -MOD_OL_K2_TIME_LINE_DS_TAGS_SETTINGS="Tags settings" -MOD_OL_K2_TIME_LINE_DS_GENERAL_SETTINGS="General settings" -MOD_OL_K2_TIME_LINE_K2_CATEGORY_FILTER_LABEL="Category filter" -MOD_OL_K2_TIME_LINE_K2_CATEGORY_FILTER_DESC="" -MOD_OL_K2_TIME_LINE_K2_CATEGORIES_LABEL="K2 Categories" -MOD_OL_K2_TIME_LINE_K2_CATEGORIES_DESC="" -MOD_OL_K2_TIME_LINE_K2_FETCH_ITEMS_FROM_CHILDREN_CATEGORIES_LABEL="Fetch items from children categories" -MOD_OL_K2_TIME_LINE_K2_FETCH_ITEMS_FROM_CHILDREN_CATEGORIES_DESC="" -MOD_OL_K2_TIME_LINE_K2_ADD_ITEMS_LABEL="Add Items" -MOD_OL_K2_TIME_LINE_K2_ADD_ITEMS_DESC="" -MOD_OL_K2_TIME_LINE_K2_DRAG_AND_DROP_TO_REORDER_ITEMS_LABEL="(drag to re-order items)" -MOD_OL_K2_TIME_LINE_K2_DRAG_AND_DROP_TO_REORDER_ITEMS_DESC="" -MOD_OL_K2_TIME_LINE_K2_TAGS_LABEL="K2 Tags" -MOD_OL_K2_TIME_LINE_K2_TAGS_DESC="" -MOD_OL_K2_TIME_LINE_EXCLUDE_K2_ITEMS_LABEL="Exclude Items" -MOD_OL_K2_TIME_LINE_EXCLUDE_K2_ITEMS_DESC="Insert the ID's of the items you want to exclude, separated with commas (for example: 1,4,56)." -MOD_OL_K2_TIME_LINE_FEATURED_ITEMS_LABEL="Featured Items" -MOD_OL_K2_TIME_LINE_FEATURED_ITEMS_DESC="" -MOD_OL_K2_TIME_LINE_FEATURED_SHOW="Show" -MOD_OL_K2_TIME_LINE_FEATURED_HIDE="Hide" -MOD_OL_K2_TIME_LINE_FEATURED_ONLY="Show only Featured Items" -MOD_OL_K2_TIME_LINE_TIME_RANGE_LABEL="Time range (if ordering is set to 'most popular' or 'most commented')" -MOD_OL_K2_TIME_LINE_TIME_RANGE_DESC="" -MOD_OL_K2_TIME_LINE_ALL_TIME="All time" -MOD_OL_K2_TIME_LINE_1_DAY="1 day" -MOD_OL_K2_TIME_LINE_3_DAYS="3 days" -MOD_OL_K2_TIME_LINE_1_WEEK="1 week" -MOD_OL_K2_TIME_LINE_2_WEEKS="2 weeks" -MOD_OL_K2_TIME_LINE_1_MONTH="1 month" -MOD_OL_K2_TIME_LINE_6_MONTHS="6 months" -MOD_OL_K2_TIME_LINE_VIDEOS_ONLY_LABEL="Fetch only items with videos" -MOD_OL_K2_TIME_LINE_VIDEOS_ONLY_DESC="" -MOD_OL_K2_TIME_LINE_ITEMS_ORDERING_LABEL="Items ordering" -MOD_OL_K2_TIME_LINE_ITEMS_ORDERING_DESC="" -MOD_OL_K2_TIME_LINE_DEFAULT="Default" -MOD_OL_K2_TIME_LINE_OLDEST_FIRST="Oldest first (by date created)" -MOD_OL_K2_TIME_LINE_MOST_RECENT_FIRST="Most recent first (by date created)" -MOD_OL_K2_TIME_LINE_RECENTLY_PUBLISHED="Most recent first (by date published)" -MOD_OL_K2_TIME_LINE_TITLE_ALPHABETICAL="Title alphabetical" -MOD_OL_K2_TIME_LINE_TITLE_REVERSE_ALPHABETICAL="Title reverse-alphabetical" -MOD_OL_K2_TIME_LINE_ORDERING="Ordering" -MOD_OL_K2_TIME_LINE_ORDERING_REVERSE="Ordering reverse" -MOD_OL_K2_TIME_LINE_MOST_POPULAR="Most popular" -MOD_OL_K2_TIME_LINE_HIGHEST_RATED="Highest rated" -MOD_OL_K2_TIME_LINE_MOST_COMMENTED="Most commented" -MOD_OL_K2_TIME_LINE_LATEST_MODIFIED="Latest modified" -MOD_OL_K2_TIME_LINE_RANDOM_ORDERING="Random ordering" - -# Basic Slider Settings - -MOD_OL_K2_TIME_LINE_SLIDES_COUNT_LABEL="Items limit" -MOD_OL_K2_TIME_LINE_SLIDES_COUNT_DESC="Number of items in slider" -MOD_OL_K2_TIME_LINE_IMAGE_TYPE_LABEL="Image type" -MOD_OL_K2_TIME_LINE_IMAGE_TYPE_DESC="" -MOD_OL_K2_TIME_LINE_CROP_IMAGES_LABEL="Crop images" -MOD_OL_K2_TIME_LINE_CROP_IMAGES_DESC="If enabled, images will be cropped to the specified dimensions." -MOD_OL_K2_TIME_LINE_IMAGE_WIDTH_LABEL="Main image width" -MOD_OL_K2_TIME_LINE_IMAGE_WIDTH_DESC="" -MOD_OL_K2_TIME_LINE_IMAGE_HEIGHT_LABEL="Main image height" -MOD_OL_K2_TIME_LINE_IMAGE_HEIGHT_DESC="" -MOD_OL_K2_TIME_LINE_FALLBACK_IMAGE_LABEL="Fallback image path" -MOD_OL_K2_TIME_LINE_FALLBACK_IMAGE_DESC="Relative path to image. This image will be displayed if an item does not have an image. Leave blank if you don't want to display a fallback image." -MOD_OL_K2_TIME_LINE_TITLE_LABEL="Show slide title" -MOD_OL_K2_TIME_LINE_TITLE_LIMIT_LABEL="Title word limit" -MOD_OL_K2_TIME_LINE_INTROTEXT_LABEL="Show slide introtext" -MOD_OL_K2_TIME_LINE_INTROTEXT_DESC="" -MOD_OL_K2_TIME_LINE_INTROTEXT_LIMIT_LABEL="Slide introtext limit" -MOD_OL_K2_TIME_LINE_INTROTEXT_LIMIT_DESC="" -MOD_OL_K2_TIME_LINE_STRIP_HTML_LABEL="Strip HTML tags" -MOD_OL_K2_TIME_LINE_STRIP_HTML_DESC="If you disable this option, the introtext limit will not work. WARNING: If the HTML code inside the posts text is not valid, the module will break. We don't offer support in this case. You must find the errors in your articles and fix them." -MOD_OL_K2_TIME_LINE_ALLOW_PLUGINS_LABEL="Allow plugins" -MOD_OL_K2_TIME_LINE_ALLOW_PLUGINS_DESC="If enabled, will allow the rendering of content plugins inside the introtext." -MOD_OL_K2_TIME_LINE_DATE_LABEL="Show slide date" -MOD_OL_K2_TIME_LINE_DATE_DESC="" -MOD_OL_K2_TIME_LINE_DATE_COLOR_LABEL="Date font color" -MOD_OL_K2_TIME_LINE_DATE_COLOR_DESC="" -MOD_OL_K2_TIME_LINE_DAY_BACKGROUND_COLOR_LABEL="Day background color" -MOD_OL_K2_TIME_LINE_DAY_BACKGROUND_COLOR_DESC="" -MOD_OL_K2_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_LABEL="Month/year background color" -MOD_OL_K2_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_DESC="" -MOD_OL_K2_TIME_LINE_CATEGORY_LABEL="Show slide category" -MOD_OL_K2_TIME_LINE_CATEGORY_DESC="" -MOD_OL_K2_TIME_LINE_AUTHOR_LABEL="Show slide author" -MOD_OL_K2_TIME_LINE_AUTHOR_DESC="" -MOD_OL_K2_TIME_LINE_MINIMUM_HEIGHT_LABEL="Slider minimum height" -MOD_OL_K2_TIME_LINE_MINIMUM_HEIGHT_DESC="Slider minimum height for mobile responsive layout" - -MOD_OL_K2_TIME_LINE_CATEGORY_FILTERS_LABEL="Category filters" -MOD_OL_K2_TIME_LINE_CATEGORY_FILTERS_DESC="Category filters" -MOD_OL_K2_TIME_LINE_TAG_FILTERS_LABEL="Tag filters" -MOD_OL_K2_TIME_LINE_TAG_FILTERS_DESC="Tag filters" -MOD_OL_K2_TIME_LINE_FILTER_LABELS_LABEL="Show filter labels" -MOD_OL_K2_TIME_LINE_FILTER_LABELS_DESC="Show filter labels" - -# Advanced Settings - -MOD_OL_K2_TIME_LINE_LOAD_JQUERY_LABEL="Load jQuery Library" -MOD_OL_K2_TIME_LINE_LOAD_JQUERY_DESC="" -MOD_OL_K2_TIME_LINE_LOAD_PHPTHUMB_LABEL="Load PHP Thumb Factory" -MOD_OL_K2_TIME_LINE_LOAD_PHPTHUMB_DESC="" -MOD_OL_K2_TIME_LINE_LOAD_EASING_LABEL="Load Easing Library" -MOD_OL_K2_TIME_LINE_LOAD_EASING_DESC="Disable if you have already installed the jQuery Easing plugin" -MOD_OL_K2_TIME_LINE_CACHING_LABEL="Caching" -MOD_OL_K2_TIME_LINE_CACHING_DESC="Select whether to cache the contents of this module" -MOD_OL_K2_TIME_LINE_CACHE_TIME_LABEL="Cache time" -MOD_OL_K2_TIME_LINE_CACHE_TIME_DESC="The time (in seconds) before the module is recached" - -# Options - -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ASCENDING_VALUE="Ascending" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_CREATED_VALUE="Created Date" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_DATERANGE_VALUE="Date Range" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_DESCENDING_VALUE="Descending" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_DYNAMIC_VALUE="Dynamic" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_EXCLUDE_VALUE="Exclude" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_EXCLUSIVE_VALUE="Exclusive" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_HITS_VALUE="Hits" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ID_VALUE="ID" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_INCLUDE_VALUE="Include" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_INCLUSIVE_VALUE="Inclusive" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_MODIFIED_VALUE="Modified Date" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_MONTHYEAR_VALUE="Month and Year" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_NORMAL_VALUE="Normal" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_OFF_VALUE="Off" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ONLYFEATURED_VALUE="Only" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ORDERING_VALUE="Article Manager Order" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ORDERINGFEATURED_VALUE="Featured Articles Order" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_RELATIVEDAY_VALUE="Relative Date" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_STARTPUBLISHING_VALUE="Start Publishing Date" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_FINISHPUBLISHING_VALUE="Finish Publishing Date" -MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_YEAR_VALUE="Year" -MOD_OL_K2_TIME_LINE_CATEGORY_READ_MORE="Read more: " -MOD_OL_K2_TIME_LINE_CATEGORY_READ_MORE_TITLE="Read More..." -MOD_OL_K2_TIME_LINE_CATEGORY_REGISTER_TO_READ_MORE="Register to read more" -MOD_OL_K2_TIME_LINE_CATEGORY_XML_DESCRIPTION="This module displays a list of articles from one or more categories." - -MOD_OL_K2_TIME_LINE_IN="in" -MOD_OL_K2_TIME_LINE_BY="by" -MOD_OL_K2_TIME_LINE_HITS="hits" -MOD_OL_K2_TIME_LINE_READ_MORE="Read More" -MOD_OL_K2_TIME_LINE_CATEGORY="Filter by category" -MOD_OL_K2_TIME_LINE_TAG="Filter by tag" + +# Headers + +COM_MODULES_MOD_OL_K2_TIME_LINE_BASIC_GENERAL_SETTINGS_FIELDSET_LABEL="General settings" +COM_MODULES_MOD_OL_K2_TIME_LINE_DATA_SOURCE_FIELDSET_LABEL="Data Source" +COM_MODULES_TIME_LINE_CONFIG_SETTINGS_FIELDSET_LABEL="Basic settings" +COM_MODULES_TIME_LINE_CON_EFFECTS_SETTINGS_FIELDSET_LABEL="Style settings" +COM_MODULES_TIME_LINE_CONFIG_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" +COM_MODULES_TIME_LINE_CONFIG_FILTERS_SORTINGS_SETTINGS_FIELDSET_LABEL="Filters Settings" +COM_MODULES_TIME_LINE_CON_ADVANCED_SETTINGS_FIELDSET_LABEL="Advanced settings" + +# General Settings + +MOD_OL_K2_TIME_LINE_AUTO_MODULE_ID_LABEL="Automatic module ID" +MOD_OL_K2_TIME_LINE_AUTO_MODULE_ID_DESC="The module will be given an ID automatically." +MOD_OL_K2_TIME_LINE_CUSTOM_MODULE_ID_LABEL="Custom module ID" +MOD_OL_K2_TIME_LINE_CUSTOM_MODULE_ID_DESC="Insert your own ID for the module. It must be unique." +MOD_OL_K2_TIME_LINE_CLASS_SUFFIX_LABEL="Module class suffix" +MOD_OL_K2_TIME_LINE_CLASS_SUFFIX_DESC="A suffix to be applied to the CSS class of the module. This allows for individual module styling." + +MOD_OL_K2_TIME_LINE_SOURCE_LABEL="Source" +MOD_OL_K2_TIME_LINE_SOURCE_DESC="" +MOD_OL_K2_TIME_LINE_K2_CATEGORIES="K2 Categories" +MOD_OL_K2_TIME_LINE_K2_ARTICLES="K2 Items" +MOD_OL_K2_TIME_LINE_ALL_K2_ARTICLES="All K2 Items" +MOD_OL_K2_TIME_LINE_K2_TAGS="K2 Tags" +MOD_OL_K2_TIME_LINE_EXCLUDE_ITEMS="Exclude Items" + +MOD_OL_K2_TIME_LINE_DS_CATEGORY_SETTINGS="Category settings" +MOD_OL_K2_TIME_LINE_DS_ITEMS_SETTINGS="Items settings" +MOD_OL_K2_TIME_LINE_DS_TAGS_SETTINGS="Tags settings" +MOD_OL_K2_TIME_LINE_DS_GENERAL_SETTINGS="General settings" +MOD_OL_K2_TIME_LINE_K2_CATEGORY_FILTER_LABEL="Category filter" +MOD_OL_K2_TIME_LINE_K2_CATEGORY_FILTER_DESC="" +MOD_OL_K2_TIME_LINE_K2_CATEGORIES_LABEL="K2 Categories" +MOD_OL_K2_TIME_LINE_K2_CATEGORIES_DESC="" +MOD_OL_K2_TIME_LINE_K2_FETCH_ITEMS_FROM_CHILDREN_CATEGORIES_LABEL="Fetch items from children categories" +MOD_OL_K2_TIME_LINE_K2_FETCH_ITEMS_FROM_CHILDREN_CATEGORIES_DESC="" +MOD_OL_K2_TIME_LINE_K2_ADD_ITEMS_LABEL="Add Items" +MOD_OL_K2_TIME_LINE_K2_ADD_ITEMS_DESC="" +MOD_OL_K2_TIME_LINE_K2_DRAG_AND_DROP_TO_REORDER_ITEMS_LABEL="(drag to re-order items)" +MOD_OL_K2_TIME_LINE_K2_DRAG_AND_DROP_TO_REORDER_ITEMS_DESC="" +MOD_OL_K2_TIME_LINE_K2_TAGS_LABEL="K2 Tags" +MOD_OL_K2_TIME_LINE_K2_TAGS_DESC="" +MOD_OL_K2_TIME_LINE_EXCLUDE_K2_ITEMS_LABEL="Exclude Items" +MOD_OL_K2_TIME_LINE_EXCLUDE_K2_ITEMS_DESC="Insert the ID's of the items you want to exclude, separated with commas (for example: 1,4,56)." +MOD_OL_K2_TIME_LINE_FEATURED_ITEMS_LABEL="Featured Items" +MOD_OL_K2_TIME_LINE_FEATURED_ITEMS_DESC="" +MOD_OL_K2_TIME_LINE_FEATURED_SHOW="Show" +MOD_OL_K2_TIME_LINE_FEATURED_HIDE="Hide" +MOD_OL_K2_TIME_LINE_FEATURED_ONLY="Show only Featured Items" +MOD_OL_K2_TIME_LINE_TIME_RANGE_LABEL="Time range (if ordering is set to 'most popular' or 'most commented')" +MOD_OL_K2_TIME_LINE_TIME_RANGE_DESC="" +MOD_OL_K2_TIME_LINE_ALL_TIME="All time" +MOD_OL_K2_TIME_LINE_1_DAY="1 day" +MOD_OL_K2_TIME_LINE_3_DAYS="3 days" +MOD_OL_K2_TIME_LINE_1_WEEK="1 week" +MOD_OL_K2_TIME_LINE_2_WEEKS="2 weeks" +MOD_OL_K2_TIME_LINE_1_MONTH="1 month" +MOD_OL_K2_TIME_LINE_6_MONTHS="6 months" +MOD_OL_K2_TIME_LINE_VIDEOS_ONLY_LABEL="Fetch only items with videos" +MOD_OL_K2_TIME_LINE_VIDEOS_ONLY_DESC="" +MOD_OL_K2_TIME_LINE_ITEMS_ORDERING_LABEL="Items ordering" +MOD_OL_K2_TIME_LINE_ITEMS_ORDERING_DESC="" +MOD_OL_K2_TIME_LINE_DEFAULT="Default" +MOD_OL_K2_TIME_LINE_OLDEST_FIRST="Oldest first (by date created)" +MOD_OL_K2_TIME_LINE_MOST_RECENT_FIRST="Most recent first (by date created)" +MOD_OL_K2_TIME_LINE_RECENTLY_PUBLISHED="Most recent first (by date published)" +MOD_OL_K2_TIME_LINE_TITLE_ALPHABETICAL="Title alphabetical" +MOD_OL_K2_TIME_LINE_TITLE_REVERSE_ALPHABETICAL="Title reverse-alphabetical" +MOD_OL_K2_TIME_LINE_ORDERING="Ordering" +MOD_OL_K2_TIME_LINE_ORDERING_REVERSE="Ordering reverse" +MOD_OL_K2_TIME_LINE_MOST_POPULAR="Most popular" +MOD_OL_K2_TIME_LINE_HIGHEST_RATED="Highest rated" +MOD_OL_K2_TIME_LINE_MOST_COMMENTED="Most commented" +MOD_OL_K2_TIME_LINE_LATEST_MODIFIED="Latest modified" +MOD_OL_K2_TIME_LINE_RANDOM_ORDERING="Random ordering" + +# Basic Slider Settings + +MOD_OL_K2_TIME_LINE_SLIDES_COUNT_LABEL="Items limit" +MOD_OL_K2_TIME_LINE_SLIDES_COUNT_DESC="Number of items in slider" +MOD_OL_K2_TIME_LINE_IMAGE_TYPE_LABEL="Image type" +MOD_OL_K2_TIME_LINE_IMAGE_TYPE_DESC="" +MOD_OL_K2_TIME_LINE_CROP_IMAGES_LABEL="Crop images" +MOD_OL_K2_TIME_LINE_CROP_IMAGES_DESC="If enabled, images will be cropped to the specified dimensions." +MOD_OL_K2_TIME_LINE_IMAGE_WIDTH_LABEL="Main image width" +MOD_OL_K2_TIME_LINE_IMAGE_WIDTH_DESC="" +MOD_OL_K2_TIME_LINE_IMAGE_HEIGHT_LABEL="Main image height" +MOD_OL_K2_TIME_LINE_IMAGE_HEIGHT_DESC="" +MOD_OL_K2_TIME_LINE_FALLBACK_IMAGE_LABEL="Fallback image path" +MOD_OL_K2_TIME_LINE_FALLBACK_IMAGE_DESC="Relative path to image. This image will be displayed if an item does not have an image. Leave blank if you don't want to display a fallback image." +MOD_OL_K2_TIME_LINE_TITLE_LABEL="Show slide title" +MOD_OL_K2_TIME_LINE_TITLE_LIMIT_LABEL="Title word limit" +MOD_OL_K2_TIME_LINE_INTROTEXT_LABEL="Show slide introtext" +MOD_OL_K2_TIME_LINE_INTROTEXT_DESC="" +MOD_OL_K2_TIME_LINE_INTROTEXT_LIMIT_LABEL="Slide introtext limit" +MOD_OL_K2_TIME_LINE_INTROTEXT_LIMIT_DESC="" +MOD_OL_K2_TIME_LINE_STRIP_HTML_LABEL="Strip HTML tags" +MOD_OL_K2_TIME_LINE_STRIP_HTML_DESC="If you disable this option, the introtext limit will not work. WARNING: If the HTML code inside the posts text is not valid, the module will break. We don't offer support in this case. You must find the errors in your articles and fix them." +MOD_OL_K2_TIME_LINE_ALLOW_PLUGINS_LABEL="Allow plugins" +MOD_OL_K2_TIME_LINE_ALLOW_PLUGINS_DESC="If enabled, will allow the rendering of content plugins inside the introtext." +MOD_OL_K2_TIME_LINE_DATE_LABEL="Show slide date" +MOD_OL_K2_TIME_LINE_DATE_DESC="" +MOD_OL_K2_TIME_LINE_DATE_COLOR_LABEL="Date font color" +MOD_OL_K2_TIME_LINE_DATE_COLOR_DESC="" +MOD_OL_K2_TIME_LINE_DAY_BACKGROUND_COLOR_LABEL="Day background color" +MOD_OL_K2_TIME_LINE_DAY_BACKGROUND_COLOR_DESC="" +MOD_OL_K2_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_LABEL="Month/year background color" +MOD_OL_K2_TIME_LINE_MONTH_YEAR_BACKGROUND_COLOR_DESC="" +MOD_OL_K2_TIME_LINE_CATEGORY_LABEL="Show slide category" +MOD_OL_K2_TIME_LINE_CATEGORY_DESC="" +MOD_OL_K2_TIME_LINE_AUTHOR_LABEL="Show slide author" +MOD_OL_K2_TIME_LINE_AUTHOR_DESC="" +MOD_OL_K2_TIME_LINE_MINIMUM_HEIGHT_LABEL="Slider minimum height" +MOD_OL_K2_TIME_LINE_MINIMUM_HEIGHT_DESC="Slider minimum height for mobile responsive layout" + +MOD_OL_K2_TIME_LINE_CATEGORY_FILTERS_LABEL="Category filters" +MOD_OL_K2_TIME_LINE_CATEGORY_FILTERS_DESC="Category filters" +MOD_OL_K2_TIME_LINE_TAG_FILTERS_LABEL="Tag filters" +MOD_OL_K2_TIME_LINE_TAG_FILTERS_DESC="Tag filters" +MOD_OL_K2_TIME_LINE_FILTER_LABELS_LABEL="Show filter labels" +MOD_OL_K2_TIME_LINE_FILTER_LABELS_DESC="Show filter labels" + +# Advanced Settings + +MOD_OL_K2_TIME_LINE_LOAD_JQUERY_LABEL="Load jQuery Library" +MOD_OL_K2_TIME_LINE_LOAD_JQUERY_DESC="" +MOD_OL_K2_TIME_LINE_LOAD_PHPTHUMB_LABEL="Load PHP Thumb Factory" +MOD_OL_K2_TIME_LINE_LOAD_PHPTHUMB_DESC="" +MOD_OL_K2_TIME_LINE_LOAD_EASING_LABEL="Load Easing Library" +MOD_OL_K2_TIME_LINE_LOAD_EASING_DESC="Disable if you have already installed the jQuery Easing plugin" +MOD_OL_K2_TIME_LINE_CACHING_LABEL="Caching" +MOD_OL_K2_TIME_LINE_CACHING_DESC="Select whether to cache the contents of this module" +MOD_OL_K2_TIME_LINE_CACHE_TIME_LABEL="Cache time" +MOD_OL_K2_TIME_LINE_CACHE_TIME_DESC="The time (in seconds) before the module is recached" + +# Options + +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ASCENDING_VALUE="Ascending" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_CREATED_VALUE="Created Date" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_DATERANGE_VALUE="Date Range" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_DESCENDING_VALUE="Descending" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_DYNAMIC_VALUE="Dynamic" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_EXCLUDE_VALUE="Exclude" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_EXCLUSIVE_VALUE="Exclusive" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_HITS_VALUE="Hits" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ID_VALUE="ID" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_INCLUDE_VALUE="Include" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_INCLUSIVE_VALUE="Inclusive" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_MODIFIED_VALUE="Modified Date" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_MONTHYEAR_VALUE="Month and Year" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_NORMAL_VALUE="Normal" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_OFF_VALUE="Off" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ONLYFEATURED_VALUE="Only" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ORDERING_VALUE="Article Manager Order" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_ORDERINGFEATURED_VALUE="Featured Articles Order" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_RELATIVEDAY_VALUE="Relative Date" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_STARTPUBLISHING_VALUE="Start Publishing Date" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_FINISHPUBLISHING_VALUE="Finish Publishing Date" +MOD_OL_K2_TIME_LINE_CATEGORY_OPTION_YEAR_VALUE="Year" +MOD_OL_K2_TIME_LINE_CATEGORY_READ_MORE="Read more: " +MOD_OL_K2_TIME_LINE_CATEGORY_READ_MORE_TITLE="Read More..." +MOD_OL_K2_TIME_LINE_CATEGORY_REGISTER_TO_READ_MORE="Register to read more" +MOD_OL_K2_TIME_LINE_CATEGORY_XML_DESCRIPTION="This module displays a list of articles from one or more categories." + +MOD_OL_K2_TIME_LINE_IN="in" +MOD_OL_K2_TIME_LINE_BY="by" +MOD_OL_K2_TIME_LINE_HITS="hits" +MOD_OL_K2_TIME_LINE_READ_MORE="Read More" +MOD_OL_K2_TIME_LINE_CATEGORY="Filter by category" +MOD_OL_K2_TIME_LINE_TAG="Filter by tag" MOD_OL_K2_TIME_LINE_SHOW_ALL="All" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.ini b/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.ini index 16af1f0c..f548d75d 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.ini @@ -1,439 +1,439 @@ -; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870 -; https://www.joomlack.fr -; @license GNU/GPL -; Double quotes in the values have to be formatted as "_QQ_" - -SLIDESHOWCK_XML_DESCRIPTION = "Slideshow CK displays a slideshow with some nice effects. It is mobile compatible and responsive design. Its width adapts itself and you can slide it with your fingers." -SLIDESHOWCK_OPTIONS_SLIDES = "Slides manager" -SLIDESHOWCK_OPTIONS_STYLES = "Styles options" -SLIDESHOWCK_OPTIONS_EFFECTS = "Effects options" -SLIDESHOWCK_SKIN_LABEL = "Skin" -SLIDESHOWCK_SKIN_DESC = "Choose a color" -SLIDESHOWCK_ALIGNEMENT_LABEL = "Image alignment" -SLIDESHOWCK_ALIGNEMENT_DESC = "Choose where you want to place the image" -SLIDESHOWCK_TOP = "top" -SLIDESHOWCK_BOTTOM = "bottom" -SLIDESHOWCK_TOPLEFT = "top left" -SLIDESHOWCK_TOPCENTER = "top center" -SLIDESHOWCK_TOPRIGHT = "top right" -SLIDESHOWCK_MIDDLELEFT = "center left" -SLIDESHOWCK_CENTER = "center" -SLIDESHOWCK_MIDDLERIGHT = "center right" -SLIDESHOWCK_BOTTOMLEFT = "bottom left" -SLIDESHOWCK_BOTTOMCENTER = "bottom center" -SLIDESHOWCK_BOTTOMRIGHT = "bottom right" -SLIDESHOWCK_LOADER_LABEL = "Loader icon" -SLIDESHOWCK_LOADER_DESC = "Choose what sort of icon you want to display" -SLIDESHOWCK_LOADER_PIE = "pie" -SLIDESHOWCK_LOADER_BAR = "bar" -SLIDESHOWCK_LOADER_NONE = "none" -SLIDESHOWCK_WIDTH_LABEL = "Width" -SLIDESHOWCK_WIDTH_DESC = "Width of the slideshow in px, you can also use the value'auto' to let it as responsive design for mobiles" -SLIDESHOWCK_HEIGHT_LABEL = "Height" -SLIDESHOWCK_HEIGHT_DESC = "Height of the slideshow, you can set it in px or %" -SLIDESHOWCK_THUMBNAILS_LABEL = "Thumbnails" -SLIDESHOWCK_THUMBNAILS_DESC = "Show the thumbnails under the slideshow" -SLIDESHOWCK_PAGINATION_LABEL = "Pagination" -SLIDESHOWCK_PAGINATION_DESC = "Show the buttons for pagination" -SLIDESHOWCK_EFFECT_LABEL = "Animation effect" -SLIDESHOWCK_EFFECT_DESC = "Choose which effect to apply. You can make a multiselection with the CTRL keyboard key" -SLIDESHOWCK_TRANSITION_LABEL = "Transition" -SLIDESHOWCK_TRANSITION_DESC = "Effect transition" -SLIDESHOWCK_TIME_LABEL = "Display time" -SLIDESHOWCK_TIME_DESC = "Time to show each image" -SLIDESHOWCK_TRANSPERIOD_LABEL = "Transition duration" -SLIDESHOWCK_TRANSPERIOD_DESC = "Time between two images" -SLIDESHOWCK_AUTOADVANCE_LABEL = "Autoplay" -SLIDESHOWCK_AUTOADVANCE_DESC = "The slideshow starts automatically" -SLIDESHOWCK_PORTRAIT_LABEL = "Adjust the images" -SLIDESHOWCK_PORTRAIT_DESC = "if no, the images will keep their original size" -SLIDESHOWCK_ADDSLIDE = "Add a slide" -SLIDESHOWCK_SELECTIMAGE = "Select an image" -SLIDESHOWCK_CAPTION = "Caption" -SLIDESHOWCK_USETOSHOW = "Display" -SLIDESHOWCK_IMAGE = "Image" -SLIDESHOWCK_VIDEO = "Video" -SLIDESHOWCK_IMAGEOPTIONS = "Image options" -SLIDESHOWCK_LINKOPTIONS = "Link options" -SLIDESHOWCK_VIDEOOPTIONS = "Video options" -SLIDESHOWCK_ALIGNEMENT_LABEL = "Alignment" -SLIDESHOWCK_LINK = "Link url" -SLIDESHOWCK_TARGET = "Target" -SLIDESHOWCK_SAMEWINDOW = "open in the same window" -SLIDESHOWCK_NEWWINDOW = "open in a new window" -SLIDESHOWCK_VIDEOURL = "Video url" -SLIDESHOWCK_REMOVE = "Remove this slide" -SLIDESHOWCK_IMPORTFROMFOLDER = "Import from a folder" -SLIDESHOWCK_LOADJQUERY_LABEL = "Load JQuery" -SLIDESHOWCK_LOADJQUERY_DESC = "If you already have an extension that load Jquery you can choose to not load it in Slideshow CK" -SLIDESHOWCK_LOADJQUERYEASING_LABEL = "Load JQuery Easing" -SLIDESHOWCK_LOADJQUERYEASING_DESC = "Choose to load the script for the transitions" -SLIDESHOWCK_LOADJQUERYMOBILE_LABEL = "Load JQuery mobile" -SLIDESHOWCK_LOADJQUERYMOBILE_DESC = "Choose to load the script for mobiles" -SLIDESHOWCK_THUMBNAILWIDTH_LABEL = "Thumbnail width" -SLIDESHOWCK_THUMBNAILWIDTH_DESC = "Give the thumbnail width in px" -SLIDESHOWCK_THUMBNAILHEIGHT_LABEL = "Thumbnail height" -SLIDESHOWCK_THUMBNAILHEIGHT_DESC = "Give the thumbnail height in px" -SLIDESHOWCK_NAVIGATION_HOVER = "mouseover" -SLIDESHOWCK_NAVIGATION_ALWAYS = "always" -SLIDESHOWCK_NAVIGATION_NONE = "none" -SLIDESHOWCK_NAVIGATION_LABEL = "Navigation" -SLIDESHOWCK_NAVIGATION_DESC = "Choose if you want to show the navigation buttons" -SLIDESHOWCK_DISPLAYORDER_LABEL = "Display order" -SLIDESHOWCK_DISPLAYORDER_DESC = "Choose the way to display the images" -SLIDESHOWCK_DISPLAYORDER_NORMAL = "in order" -SLIDESHOWCK_DISPLAYORDER_SHUFFLE = "shuffle" -SLIDESHOWCK_THEME_LABEL="Theme" -SLIDESHOWCK_THEME_DESC="Choose a theme for the slideshow" -SLIDESHOWCK_CAPTIONEFFECT_LABEL="Caption effect" -SLIDESHOWCK_CAPTIONEFFECT_DESC="Choose how the caption will appear" -SLIDESHOWCK_HOVER_LABEL="Pause on mouseover" -SLIDESHOWCK_HOVER_DESC="Pause the slideshow on mouseover" -SLIDESHOWCK_CAPTIONSTYLES="Caption styles" -SLIDESHOWCK_FULLPAGE_LABEL="Use it as full page background" -SLIDESHOWCK_FULLPAGE_DESC="Load the slideshow as background of the page" -SLIDESHOWCK_SHOWARTICLETITLE_LABEL="Show the article title" -SLIDESHOWCK_SHOWARTICLETITLE_DESC="Choose if you want to show the article title" -SLIDESHOWCK_OPTIONS_FROMFOLDER="Load the slides from a folder" -SLIDESHOWCK_CHECKPARAMSPLUGIN="You must download and install the plugin Slideshow Params" -SLIDESHOWCK_SPACER_SLIDESHOWCKPARAMS_PATCH_INSTALLED="Plugin Slideshow CK installed" -SLIDESHOWCK_FROMFOLDERNAME_LABEL="Load from the folder" -SLIDESHOWCK_FROMFOLDERNAME_DESC="Choose the folder from which to load the images (type the folder path, then save the module, then click on the import button)" -SLIDESHOWCK_SLIDESSOURCE_LABEL="Images source" -SLIDESHOWCK_SLIDESSOURCE_DESC="Choose if you want to load the images from the slides manager or a folder" -SLIDESHOWCK_SLIDEMANAGER="Slides manager" -SLIDESHOWCK_FOLDER="Import from a folder" -SLIDESHOWCK_IMPORT="Import" -SLIDESHOWCK_OPTIONS_LIGHTBOX="Lightbox Options" -SLIDESHOWCK_LIGHTBOXTYPE_LABEL="Lightbox type" -SLIDESHOWCK_LIGHTBOXTYPE_DESC="Choose the lightbox to use to open the links in a popup. Squeezebox is the natve script in Joomla!. Mediabox CK is the advanced Lightbox that you can download on https://www.joomlack.fr" -SLIDESHOWCK_SQUEEZEBOX="Squeezebox" -SLIDESHOWCK_MEDIABOXCK="Mediabox CK" -SLIDESHOWCK_LIGHTBOXCAPTION_LABEL="Show the caption" -SLIDESHOWCK_LIGHTBOXCAPTION_DESC="The caption is defined in the slide options, it can be shown in the slideshow, or in the lightbox (only if you use Mediabox CK), or both" -SLIDESHOWCK_LIGHTBOXCAPTION="In the slideshow" -SLIDESHOWCK_LIGHTBOXTITLE="In the lightbox (Mediabox CK)" -SLIDESHOWCK_LIGHTBOXCAPTIONANDTITLE="In both" -SLIDESHOWCK_SPACERFOLDERAUTOLOAD_LABEL="Autoload images from a folder" -SLIDESHOWCK_SPACERFOLDERIMPORT_LABEL="Import images from a folder" -SLIDESHOWCK_AUTOLOADFOLDERNAME_LABEL="Autoload from the folder" -SLIDESHOWCK_AUTOLOADFOLDERNAME_DESC="Choose the folder from which to load the images automatically" -SLIDESHOWCK_AUTOLOADFOLDER="Autoload from a folder" -SLIDESHOWCK_MOBILEIMAGE_SPACER_LABEL="Specific images for Mobile Options" -SLIDESHOWCK_USEMOBILEIMAGE_LABEL="Use specific images for Mobile" -SLIDESHOWCK_USEMOBILEIMAGE_DESC="If you use this option the slideshow will detect the resolution and load an image with a prefix. For example if you set the resolution of 640px under this resolution the image 'folder/640/image.jpg' will be loaded instead of 'folder/image.jpg'. BE CAREFUL that both images exists !" -SLIDESHOWCK_MOBILEIMAGERESOLUTION_LABEL="Max resolution for images for Mobile" -SLIDESHOWCK_MOBILEIMAGERESOLUTION_DESC="Under this value the alternative image will be used" -SLIDESHOWCK_LIMITSLIDES_LABEL="Number of slides" -SLIDESHOWCK_LIMITSLIDES_DESC="This option will only be used if you set the display order on Shuffle. Then you can limit the number of slides to show." -SLIDESHOWCK_IMAGETARGET_LABEL="Default image target" -SLIDESHOWCK_IMAGETARGET_DESC="Choose how you want to set the link target by default for all slides" -SLIDESHOWCK_DEFAULT="default" -SLIDESHOWCK_LIGHTBOX="in a Lightbox" -SLIDESHOWCK_HIKASHOP_FIELDSET_LABEL="Hikashop Options" -SLIDESHOWCKHIKASHOP_CHECKPLUGIN="You must download and install the plugin Slideshow CK Hikashop" - -;styles -SLIDESHOWCK_BOLD = "bold" -SLIDESHOWCK_NORMAL = "normal" -SLIDESHOWCK_SPACER_STYLESBACKGROUND="Background" -SLIDESHOWCK_SPACER_STYLESROUNDEDCORNERS="Rounded corners" -SLIDESHOWCK_SPACER_STYLESSHADOW="Shadow" -SLIDESHOWCK_SPACER_STYLESBORDERS="Borders" -SLIDESHOWCK_MARGIN_LABEL="External margins" -SLIDESHOWCK_MARGIN_DESC="Margin value in px" -SLIDESHOWCK_PADDING_LABEL="Internal margins" -SLIDESHOWCK_PADDING_DESC="Padding value in px" -SLIDESHOWCK_BGCOLOR1_LABEL="Background color" -SLIDESHOWCK_BGCOLOR1_DESC="Choose the background color" -SLIDESHOWCK_BGCOLOR2_LABEL="Gradient color" -SLIDESHOWCK_BGCOLOR2_DESC="Choose the gradient color that will be used starting from the background color" -SLIDESHOWCK_ROUNDEDCORNERSTL_LABEL="Top left corner" -SLIDESHOWCK_ROUNDEDCORNERSTL_DESC="Radius value for the corner in px" -SLIDESHOWCK_ROUNDEDCORNERSTR_LABEL="Top right corner" -SLIDESHOWCK_ROUNDEDCORNERSTR_DESC="Radius value for the corner in px" -SLIDESHOWCK_ROUNDEDCORNERSBR_LABEL="Bottom right corner" -SLIDESHOWCK_ROUNDEDCORNERSBR_DESC="Radius value for the corner in px" -SLIDESHOWCK_ROUNDEDCORNERSBL_LABEL="bottom left corner" -SLIDESHOWCK_ROUNDEDCORNERSBL_DESC="Radius value for the corner in px" -SLIDESHOWCK_SHADOWCOLOR_LABEL="Shadow color" -SLIDESHOWCK_SHADOWCOLOR_DESC="Choose the color for the shadow" -SLIDESHOWCK_SHADOWBLUR_LABEL="Shadow width" -SLIDESHOWCK_SHADOWBLUR_DESC="Shadow width in px" -SLIDESHOWCK_SHADOWSPREAD_LABEL="Blur" -SLIDESHOWCK_SHADOWSPREAD_DESC="Blur value for the shadow" -SLIDESHOWCK_OFFSETX_LABEL="Horizontal offset" -SLIDESHOWCK_OFFSETX_DESC="Offset on the X axis, can take a negative value" -SLIDESHOWCK_OFFSETY_LABEL="Vertical offset" -SLIDESHOWCK_OFFSETY_DESC="Offset on the Y axis, can take a negative value" -SLIDESHOWCK_SHADOWINSET_LABEL="Inset" -SLIDESHOWCK_SHADOWINSET_DESC="Use the inset attribtue to create the shadow inside" -SLIDESHOWCK_BORDERCOLOR_LABEL="Border color" -SLIDESHOWCK_BORDERCOLOR_DESC="Choose the color for the border" -SLIDESHOWCK_BORDERWIDTH_LABEL="Border width" -SLIDESHOWCK_BORDERWIDTH_DESC="Width in px for the border" -SLIDESHOWCK_SPACER_STYLESMARGIN = "Margins" -SLIDESHOWCK_USEMARGIN_LABEL = "Use margins" -SLIDESHOWCK_USEMARGIN_DESC = "" -SLIDESHOWCK_USEBACKGROUND_LABEL = "Use background color" -SLIDESHOWCK_USEBACKGROUND_DESC = "" -SLIDESHOWCK_USEGRADIENT_LABEL = "Use gradient color" -SLIDESHOWCK_USEGRADIENT_DESC = "" -SLIDESHOWCK_USEROUNDEDCORNERS_LABEL = "Use rounded corners" -SLIDESHOWCK_USEROUNDEDCORNERS_DESC = "" -SLIDESHOWCK_USESHADOW_LABEL = "Use shadow" -SLIDESHOWCK_USESHADOW_DESC = "" -SLIDESHOWCK_USEBORDERS_LABEL = "Use borders" -SLIDESHOWCK_USEBORDERS_DESC = "" -SLIDESHOWCK_SPACER_STYLESFONT = "Font style" -SLIDESHOWCK_USEFONT_LABEL = "Use font" -SLIDESHOWCK_USEFONT_DESC = "" -SLIDESHOWCK_GFONT_LABEL = "Font" -SLIDESHOWCK_GFONT_DESC = "Choose the google font to use" -SLIDESHOWCK_FONTWEIGHT_LABEL = "Font weight" -SLIDESHOWCK_FONTWEIGHT_DESC = "Choose if you want the text to be bold or normal" -SLIDESHOWCK_FONTSIZE_LABEL = "Font size" -SLIDESHOWCK_FONTSIZE_DESC = "Give the size you want with unit (px, em, %)" -SLIDESHOWCK_FONTCOLOR_LABEL = "Font color" -SLIDESHOWCK_FONTCOLOR_DESC = "Choose the color for the font" -SLIDESHOWCK_DESCFONTSIZE_LABEL = "Description font size" -SLIDESHOWCK_DESCFONTSIZE_DESC = "Size of the description added to the link" -SLIDESHOWCK_DESCFONTCOLOR_LABEL = "Description color" -SLIDESHOWCK_DESCFONTCOLOR_DESC = "Color of the description added to the link" -SLIDESHOWCK_MARGINTOP_LABEL="Margin top" -SLIDESHOWCK_MARGINTOP_DESC="margin in px" -SLIDESHOWCK_MARGINRIGHT_LABEL="Margin right" -SLIDESHOWCK_MARGINRIGHT_DESC="margin in px" -SLIDESHOWCK_MARGINBOTTOM_LABEL="Margin bottom" -SLIDESHOWCK_MARGINBOTTOM_DESC="margin in px" -SLIDESHOWCK_MARGINLEFT_LABEL="Margin left" -SLIDESHOWCK_MARGINLEFT_DESC="margin in px" -SLIDESHOWCK_PADDINGTOP_LABEL="Padding top" -SLIDESHOWCK_PADDINGTOP_DESC="margin in px" -SLIDESHOWCK_PADDINGRIGHT_LABEL="Padding right" -SLIDESHOWCK_PADDINGRIGHT_DESC="margin in px" -SLIDESHOWCK_PADDINGBOTTOM_LABEL="Padding bottom" -SLIDESHOWCK_PADDINGBOTTOM_DESC="margin in px" -SLIDESHOWCK_PADDINGLEFT_LABEL="Padding left" -SLIDESHOWCK_PADDINGLEFT_DESC="margin in px" -SLIDESHOWCK_BACKGROUNDIMAGE_LABEL="Background image" -SLIDESHOWCK_BACKGROUNDIMAGE_DESC="Select an image to apply as background" -SLIDESHOWCK_BACKGROUNDPOSITIONX_LABEL="Poxition X" -SLIDESHOWCK_BACKGROUNDPOSITIONX_DESC="Choose a value with px (ex: 25px) or left, right, center, etc..." -SLIDESHOWCK_BACKGROUNDPOSITIONY_LABEL="Poxition Y" -SLIDESHOWCK_BACKGROUNDPOSITIONY_DESC="Choose a value with px (ex: 25px) or left, right, center, etc..." -SLIDESHOWCK_ARTICLEOPTIONS="Article options" -SLIDESHOWCK_ARTICLELENGTH_LABEL="Character length" -SLIDESHOWCK_ARTICLELENGTH_DESC="The article text will be truncated after the number of characters" -SLIDESHOWCK_ARTICLELINK_LABEL="Article link on" -SLIDESHOWCK_ARTICLELINK_DESC="Choose if you want the link of the article to be added to the title or with a readmore link" -SLIDESHOWCK_READMORE_OPTION="readmore link" -SLIDESHOWCK_TITLE_OPTION="article title" -SLIDESHOWCK_ARTICLETITLE_LABEL="Article title tag" -SLIDESHOWCK_ARTICLETITLE_DESC="Choose which tag to use to render the title" -SLIDESHOWCK_SLIDETIME="enter a specific time value for this slide, else it will be the default time" - -; added 1.3.11 -SLIDESHOWCK_LIGHTBOXGROUPALBUM_LABEL="Group links into an album" -SLIDESHOWCK_LIGHTBOXGROUPALBUM_DESC="ONLY FOR MEDIABOX CK : This will group all links into an album and enable the navigation" -SLIDESHOWCK_CLEAR="Clear" -SLIDESHOWCK_SELECT="Select" - -;added 1.4.0 -SLIDESHOWCK_ARTICLEOPTIONS="Article Options" -SLIDESHOWCK_ARTICLE_ID="Article ID" -SLIDESHOWCK_TITLE_ONLY="title only" -SLIDESHOWCK_DESC_ONLY="description only" -SLIDESHOWCK_OPTIONS_SLIDESSOURCE="Slides source" -SLIDESHOWCK_OPTIONS_FROMARTICLECATEGORY="Autoload from a category of articles" -SLIDESHOWCK_OPTIONS_FROMFOLDER="Autoload from a folder" -SLIDESHOWCK_OPTIONS_STYLES = "Styles options" -SLIDESHOWCK_OPTIONS_EFFECTS = "Effects options" -SLIDESHOWCK_OPTIONS_LIGHTBOX="Lightbox Options" -SLIDESHOWCK_OPTIONS_ADVANCED="Avanced Options" -SLIDESHOWCK_ARTICLEOPTIONS="Article options" -SLIDESHOWCK_CAPTIONSTYLES="Caption styles" -SLIDESHOWCK_HIKASHOP_FIELDSET_LABEL="Hikashop Options" -SLIDESHOWCK_SLIDEMANAGER="Slides manager" -SLIDESHOWCK_SLIDESSOURCE_LABEL="Images source" -SLIDESHOWCK_SLIDESSOURCE_DESC="Choose if you want to load the images from the slides manager or a folder" -SLIDESHOWCK_SPACERFOLDERIMPORT_LABEL="Import images from a folder" -SLIDESHOWCK_TITLE="Title" -SLIDESHOWCK_OPTIONS_SLIDES = "Slides manager" -SLIDESHOWCK_CAPTION="Description" -SLIDESHOWCK_AUTOCREATETHUMBS_LABEL="Create the thumbnails automatically" -SLIDESHOWCK_AUTOCREATETHUMBS_DESC="The server will automatically create the thumbnail images if needed. This can cause some server overload" -SLIDESHOWCK_BGOPACITY_LABEL="Opacity" -SLIDESHOWCK_BGOPACITY_LABEL="Set the opacity for the background" - -;added 1.4.6 -SLIDESHOWCK_IMAGE_OPTION="Image" - -;added 1.4.7 -SLIDESHOWCK_CONTAINER_LABEL="Load as block background" -SLIDESHOWCK_CONTAINER_DESC="For advanced users :Give the CSS selector for the block where you want to load the slideshow as background. For example if you want to load into a block that has an ID 'top', write '#top'. If you want to load into a block that has as css class 'top', write '.top'." - -;added 1.4.15 -SLIDESHOWCK_SPACER_RESPONSIVE="Responsive caption" -SLIDESHOWCK_USERESPONSIVECAPTION_LABEL="Activate the responsive caption" -SLIDESHOWCK_USERESPONSIVECAPTION_DESC="Activate this option if you want to use the following settings for the responsive caption" -SLIDESHOWCK_RESPONSIVERESOLUTION_LABEL="Responsive resolution" -SLIDESHOWCK_RESPONSIVERESOLUTION_DESC="Choose a resolution value under which the following settings will apply." -SLIDESHOWCK_RESPONSIVEFONTSIZE_LABEL="Font size" -SLIDESHOWCK_RESPONSIVEFONTSIZE_DESC="Set the font-size to apply to the caption under the resolution that you have defined above" -SLIDESHOWCK_RESPONSIVEHIDECAPTION_LABEL="Hide caption" -SLIDESHOWCK_RESPONSIVEHIDECAPTION_DESC="If you don't want to show the caption at all under the resolution you have set above, then activate this option" - -;added 1.4.21 -SLIDESHOWCK_OPTIONS_FROMFLICKR="Autoload from Flickr" -SLIDESHOWCK_VOTE_JED="If you are using Slideshow CK, please vote on the JED." -SLIDESHOWCK_CURRENT_VERSION="You are using the version" -SLIDESHOWCK_NEW_VERSION_AVAILABLE="Update available" -SLIDESHOWCK_DOWNLOAD="Download" -SLIDESHOWCK_DOWNLOAD_DOCUMENTATTION="Download the documentation of the module" -SLIDESHOWCK_DOWNLOAD_THEMES="Download a graphic theme for the module" -SLIDESHOWCK_NEED_UPDATE="This extension must be updated" -SLIDESHOWCK_REQUIRED_VERSION="You must at least install the version" - -;added 1.4.22 -SLIDESHOWCK_MINHEIGHT_LABEL="Min-height" -SLIDESHOWCK_MINHEIGHT_DESC="Set a min-height value to limit the size of the slideshow on small devices. This must be in px" -SLIDESHOWCK_RESOLUTION_ADAPTATIVE="Adaptative" -SLIDESHOWCK_RESOLUTION_STEP="Resolution step" -SLIDESHOWCK_STARTDATE="Start date" -SLIDESHOWCK_ENDDATE="End date" - -;added 1.4.37 -SLIDESHOWCK_USECAPTION_LABEL="Show the caption" -SLIDESHOWCK_USECAPTION_DESC="Select if you want to show the caption, or totally disable it" -SLIDESHOWCK_USECAPTIONDESC_LABEL="Show description" -SLIDESHOWCK_USECAPTIONDESC_DESC="Select if you want to show the caption description, or only the title" - -;added 1.4.41 -SLIDESHOWCK_K2_NOTFOUND="K2 not found" - -;added 1.4.42 -SLIDESHOWCK_LINK_POSITION_LABEL="Link position" -SLIDESHOWCK_LINK_POSITION_DESC="Set where you want the slide link to take place" -SLIDESHOWCK_LINK_FULLSLIDE="Full slide" -SLIDESHOWCK_LINK_CAPTION="Caption" -SLIDESHOWCK_LINK_TITLE="Title" -SLIDESHOWCK_LINK_BUTTON="Button" - -;added 1.4.43 -SLIDESHOWCK_FIXHTML_LABEL="Fix html" -SLIDESHOWCK_FIXHTML_DESC="Fix the html code in the caption. Usefull when the text is truncated." - -;added 1.4.52 -SLIDESHOWCK_KEYBOARD_CONTROL_LABEL="Enable keyboard control" -SLIDESHOWCK_KEYBOARD_CONTROL_DESC="You can use the keyboard to control the slideshow (left = previous, right = next, P = play/pause)" - -;added 1.4.63 -PLG_SLIDESHOWCK_READMORE="Read more" -SLIDESHOWCK_STRIPTAGS_LABEL="Strip HTML tags" -SLIDESHOWCK_STRIPTAGS_DESC="Remove all HTML formatting in the text" - -;added 2.0.0 -SLIDESHOWCK_SOURCE_FIELDSET_LABEL="Source" -SLIDESHOWCK_USE_FREE_VERSION="You are using the FREE version" -SLIDESHOWCK_USE_PRO_VERSION="You are using the PRO version" -SLIDESHOWCK_DOCUMENTATION="Read the documentation" -SLIDESHOWCK_TEXT="Text" -SLIDESHOWCK_IMAGE="Image" -SLIDESHOWCK_LINK="Link" -SLIDESHOWCK_VIDEO="Video" -SLIDESHOWCK_ARTICLE="Article" -SLIDESHOWCK_DATES="Dates" -SLIDESHOWCK_REMOVE2="Remove" -SLIDESHOWCK_SELECT_LINK="Select a link" -SLIDESHOWCK_SOURCE_SLIDESMANAGER="Slides manager" -SLIDESHOWCK_SOURCE_FOLDER="Folder" -SLIDESHOWCK_SELECT="Select" -SLIDESHOWCK_USETITLE_LABEL="Show the title" -SLIDESHOWCK_USETITLE_DESC="Select if you want to show the title in the caption" -SLIDESHOWCK_DISPLAY_OPTIONS_LABEL="Display" -SLIDESHOWCK_TEXT_OPTIONS_LABEL="Text" -SLIDESHOWCK_LINK_OPTIONS_LABEL="Link" -SLIDESHOWCK_NUMBER_SLIDES_LABEL="Number of slides" -SLIDESHOWCK_NUMBER_SLIDES_DESC="Give the number of slides to be shown. Leave the field empty to show all slides" -SLIDESHOWCK_NONE="None" -SLIDESHOWCK_LINK_BUTTON_TEXT_LABEL="Button text" -SLIDESHOWCK_LINK_BUTTON_TEXT_DESC="Write the text to be shown in the button. You can write a STRING that will be translated using the language files with your own values" -SLIDESHOWCK_LIGHTBOX_SPACER_LABEL="Lightbox" -SLIDESHOWCK_LIGHTBOX_LABEL="Lightbox to use" -SLIDESHOWCK_LIGHTBOX_DESC="Choose if you want to use the Mediabox CK lightbox available on JoomlaCK.fr, or if you want to use another one" -SLIDESHOWCK_LIGHTBOX_MEDIABOX="Mediabox CK" -SLIDESHOWCK_LIGHTBOX_OTHER="Other" -SLIDESHOWCK_LINK_BUTTON_TEXT="Read more" -SLIDESHOWCK_LIGHTBOX_ATTRIB_LABEL="Lightbox attribute" -SLIDESHOWCK_LIGHTBOX_ATTRIB_DESC="Set the attibute to use according to your lightbox setttings" -SLIDESHOWCK_LIGHTBOX_ATTRIB_VALUE_LABEL="Lightbox attribute value" -SLIDESHOWCK_LIGHTBOX_ATTRIB_VALUE_DESC="Set the attibute value to use according to your lightbox setttings" -SLIDESHOWCK_LINK_BUTTON_CLASS_LABEL="Button CSS class" -SLIDESHOWCK_LINK_BUTTON_CLASS_DESC="Write a CSS class to add to the button" -SLIDESHOWCK_LINK_AUTOIMAGE_LABEL="Link auto to image" -SLIDESHOWCK_LINK_AUTOIMAGE_DESC="If set to yes, it will automatically create a link to the slide image itself" -SLIDESHOWCK_LINK_TARGET_LABEL="Link target" -SLIDESHOWCK_LINK_TARGET_DESC="Choose if you want to open the link in the same window or in a new window" -SLIDESHOWCK_LINK_SAME_WINDOW="Same window" -SLIDESHOWCK_LINK_NEW_WINDOW="New window" -SLIDESHOWCK_TITLE_TAG_LABEL="Title tag" -SLIDESHOWCK_TITLE_TAG_DESC="Choose which tag to use to render the title" -SLIDESHOWCK_OPTIONS_FIELDSET_LABEL="Options" -SLIDESHOWCK_RESPONSIVE="Responsive" -SLIDESHOWCK_EFFECTS_OPTIONS="Effects" -SLIDESHOWCK_VISIT_OTHER_PRODUCTS="Visit the other products available on JoomlaCK" -SLIDESHOWCK_GET_LICENCE_INFOS="See how to manage your licence key" -SLIDESHOWCK_GET_PRO_INFOS="Get infos on the Pro version" -SLIDESHOWCK_STYLES="Styles" -SLIDESHOWCK_EDIT="Edit" -SLIDESHOWCK_SELECT_STYLE_LABEL="Style" -SLIDESHOWCK_SELECT_STYLE_DESC="Select the style to apply to your slideshow and edit it directly here" -SLIDESHOWCK_OTHER="Other" -SLIDESHOWCK_LIGHTBOX_LABEL="Lightbox" -SLIDESHOWCK_LIGHTBOX_DESC="Select which lightbox to use to open your links" -SLIDESHOWCK_PORTRAIT_LABEL="Contain the images" -SLIDESHOWCK_PORTRAIT_DESC="The images will be contained into the slideshow area without resizing" -SLIDESHOWCK_ONLY_PRO="Only available in the Pro version. Click here to read more infos" -SLIDESHOWCK_SOURCE_ARTICLES="Articles" -SLIDESHOWCK_THUMBSTYPE_LABEL="Thumbnails to use" -SLIDESHOWCK_THUMBSTYPE_DESC="Choose between reduced size image or normal size image" -SLIDESHOWCK_THUMBSTYPE_MINI="Mini" -SLIDESHOWCK_THUMBSTYPE_NORMAL="Normal" -SLIDESHOWCK_MIGRATION_NEEDED="A migration is needed ! We have detected that you are editing a module that has been created with Slideshow CK V1." -SLIDESHOWCK_MIGRATION_ACTION="Please click here to automatically update the module. If you don't do it, you may loose some configuration." -SLIDESHOWCK_MIGRATION_SUCCESS="Migration done with success !" -SLIDESHOWCK_MIGRATION_ERROR="Error when trying to migrate the module to the V2. Please contact the developper." -SLIDESHOWCK_HEIGHT_FIELD_HELP_TITLE="How to calculate the height" -SLIDESHOWCK_HEIGHT_FIELD_HELP_1="You can set up the height in px or %. If you use %, the height will be responsive and it will keep the image ratio. If you use px, then the height will always stay the same and it will crop the image." -SLIDESHOWCK_HEIGHT_FIELD_HELP_2="How to calculate the height in %" -SLIDESHOWCK_HEIGHT_FIELD_HELP_3="The percentage is the ratio between the height and width of your image. Note that this value is used for all images in the slideshow, so it is recommended to have all images with the same dimensions." -SLIDESHOWCK_HEIGHT_FIELD_HELP_4="Take an example with an image that has the following dimensions :" -SLIDESHOWCK_HEIGHT_FIELD_HELP_5="To calculate the ratio : 800 / 1280 = 62%. Then in the height option, set the value to 62%." -SLIDESHOWCK_RATIO_LABEL="Image ratio" -SLIDESHOWCK_CALCULATOR="Calculator" -SLIDESHOWCK_SAVE="Save" -SLIDESHOWCK_PARAMS_UNPUBLISHED_INFO="Are you updating this module from the V1 to V2 of Slideshow CK ? The plugin Slideshow CK Params has been detected and it has automatically been deactivated because not compatible with the V2." -SLIDESHOWCK_PARAMS_MIGRATION_LINK="Click here to read the instructions on how to migrate" -SLIDESHOWCK_TEXT_CUSTOM="Custom text" -SLIDESHOWCK_TEXT="Text" -SLIDESHOWCK_WARNING_PLUGIN_OBSOLETE="You have a plugin that is obsolete that was working the Version 1 of Slideshow CK. This plugin is no more compatible with the Version 2 of Slideshow CK, please unpublish it." -SLIDESHOWCK_DISABLE_PLUGIN="Click here to unpublish the plugin" -;added 2.0.5 -SLIDESHOWCK_DEBUG_LABEL="Show debug messages" -SLIDESHOWCK_DEBUG_DESC="Disable it if you don't want any message from the slideshow" -;added 2.0.16 -SLIDESHOWCK_LOAD_INLINE_LABEL="Load script inline" -SLIDESHOWCK_LOAD_INLINE_DESC="If you have some problems to render the slidehow when loaded into an article, you can use this option" -;added 2.1.1 -SLIDESHOWCK_CONTENT_PREPARE_LABEL="Prepare content" -SLIDESHOWCK_CONTENT_PREPARE_DESC="Call the content plugins to be triggered on the rendered content" -;added 2.2.1 -SLIDESHOWCK_VIDEO_AUTOPLAY="Autoplay" -SLIDESHOWCK_VIDEO_LOOP="Loop" -SLIDESHOWCK_VIDEO_CONTROLS="Controls" -;added 2.3.11 -SLIDESHOWCK_TITLE_IN_THUMBNAILS_LABEL="Show title in thumbs" -;added 2.4.1 -SLIDESHOWCK_RESPONSIVEHIDEDESCRIPTION_LABEL="Hide description" +; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870 +; https://www.joomlack.fr +; @license GNU/GPL +; Double quotes in the values have to be formatted as "_QQ_" + +SLIDESHOWCK_XML_DESCRIPTION = "Slideshow CK displays a slideshow with some nice effects. It is mobile compatible and responsive design. Its width adapts itself and you can slide it with your fingers." +SLIDESHOWCK_OPTIONS_SLIDES = "Slides manager" +SLIDESHOWCK_OPTIONS_STYLES = "Styles options" +SLIDESHOWCK_OPTIONS_EFFECTS = "Effects options" +SLIDESHOWCK_SKIN_LABEL = "Skin" +SLIDESHOWCK_SKIN_DESC = "Choose a color" +SLIDESHOWCK_ALIGNEMENT_LABEL = "Image alignment" +SLIDESHOWCK_ALIGNEMENT_DESC = "Choose where you want to place the image" +SLIDESHOWCK_TOP = "top" +SLIDESHOWCK_BOTTOM = "bottom" +SLIDESHOWCK_TOPLEFT = "top left" +SLIDESHOWCK_TOPCENTER = "top center" +SLIDESHOWCK_TOPRIGHT = "top right" +SLIDESHOWCK_MIDDLELEFT = "center left" +SLIDESHOWCK_CENTER = "center" +SLIDESHOWCK_MIDDLERIGHT = "center right" +SLIDESHOWCK_BOTTOMLEFT = "bottom left" +SLIDESHOWCK_BOTTOMCENTER = "bottom center" +SLIDESHOWCK_BOTTOMRIGHT = "bottom right" +SLIDESHOWCK_LOADER_LABEL = "Loader icon" +SLIDESHOWCK_LOADER_DESC = "Choose what sort of icon you want to display" +SLIDESHOWCK_LOADER_PIE = "pie" +SLIDESHOWCK_LOADER_BAR = "bar" +SLIDESHOWCK_LOADER_NONE = "none" +SLIDESHOWCK_WIDTH_LABEL = "Width" +SLIDESHOWCK_WIDTH_DESC = "Width of the slideshow in px, you can also use the value'auto' to let it as responsive design for mobiles" +SLIDESHOWCK_HEIGHT_LABEL = "Height" +SLIDESHOWCK_HEIGHT_DESC = "Height of the slideshow, you can set it in px or %" +SLIDESHOWCK_THUMBNAILS_LABEL = "Thumbnails" +SLIDESHOWCK_THUMBNAILS_DESC = "Show the thumbnails under the slideshow" +SLIDESHOWCK_PAGINATION_LABEL = "Pagination" +SLIDESHOWCK_PAGINATION_DESC = "Show the buttons for pagination" +SLIDESHOWCK_EFFECT_LABEL = "Animation effect" +SLIDESHOWCK_EFFECT_DESC = "Choose which effect to apply. You can make a multiselection with the CTRL keyboard key" +SLIDESHOWCK_TRANSITION_LABEL = "Transition" +SLIDESHOWCK_TRANSITION_DESC = "Effect transition" +SLIDESHOWCK_TIME_LABEL = "Display time" +SLIDESHOWCK_TIME_DESC = "Time to show each image" +SLIDESHOWCK_TRANSPERIOD_LABEL = "Transition duration" +SLIDESHOWCK_TRANSPERIOD_DESC = "Time between two images" +SLIDESHOWCK_AUTOADVANCE_LABEL = "Autoplay" +SLIDESHOWCK_AUTOADVANCE_DESC = "The slideshow starts automatically" +SLIDESHOWCK_PORTRAIT_LABEL = "Adjust the images" +SLIDESHOWCK_PORTRAIT_DESC = "if no, the images will keep their original size" +SLIDESHOWCK_ADDSLIDE = "Add a slide" +SLIDESHOWCK_SELECTIMAGE = "Select an image" +SLIDESHOWCK_CAPTION = "Caption" +SLIDESHOWCK_USETOSHOW = "Display" +SLIDESHOWCK_IMAGE = "Image" +SLIDESHOWCK_VIDEO = "Video" +SLIDESHOWCK_IMAGEOPTIONS = "Image options" +SLIDESHOWCK_LINKOPTIONS = "Link options" +SLIDESHOWCK_VIDEOOPTIONS = "Video options" +SLIDESHOWCK_ALIGNEMENT_LABEL = "Alignment" +SLIDESHOWCK_LINK = "Link url" +SLIDESHOWCK_TARGET = "Target" +SLIDESHOWCK_SAMEWINDOW = "open in the same window" +SLIDESHOWCK_NEWWINDOW = "open in a new window" +SLIDESHOWCK_VIDEOURL = "Video url" +SLIDESHOWCK_REMOVE = "Remove this slide" +SLIDESHOWCK_IMPORTFROMFOLDER = "Import from a folder" +SLIDESHOWCK_LOADJQUERY_LABEL = "Load JQuery" +SLIDESHOWCK_LOADJQUERY_DESC = "If you already have an extension that load Jquery you can choose to not load it in Slideshow CK" +SLIDESHOWCK_LOADJQUERYEASING_LABEL = "Load JQuery Easing" +SLIDESHOWCK_LOADJQUERYEASING_DESC = "Choose to load the script for the transitions" +SLIDESHOWCK_LOADJQUERYMOBILE_LABEL = "Load JQuery mobile" +SLIDESHOWCK_LOADJQUERYMOBILE_DESC = "Choose to load the script for mobiles" +SLIDESHOWCK_THUMBNAILWIDTH_LABEL = "Thumbnail width" +SLIDESHOWCK_THUMBNAILWIDTH_DESC = "Give the thumbnail width in px" +SLIDESHOWCK_THUMBNAILHEIGHT_LABEL = "Thumbnail height" +SLIDESHOWCK_THUMBNAILHEIGHT_DESC = "Give the thumbnail height in px" +SLIDESHOWCK_NAVIGATION_HOVER = "mouseover" +SLIDESHOWCK_NAVIGATION_ALWAYS = "always" +SLIDESHOWCK_NAVIGATION_NONE = "none" +SLIDESHOWCK_NAVIGATION_LABEL = "Navigation" +SLIDESHOWCK_NAVIGATION_DESC = "Choose if you want to show the navigation buttons" +SLIDESHOWCK_DISPLAYORDER_LABEL = "Display order" +SLIDESHOWCK_DISPLAYORDER_DESC = "Choose the way to display the images" +SLIDESHOWCK_DISPLAYORDER_NORMAL = "in order" +SLIDESHOWCK_DISPLAYORDER_SHUFFLE = "shuffle" +SLIDESHOWCK_THEME_LABEL="Theme" +SLIDESHOWCK_THEME_DESC="Choose a theme for the slideshow" +SLIDESHOWCK_CAPTIONEFFECT_LABEL="Caption effect" +SLIDESHOWCK_CAPTIONEFFECT_DESC="Choose how the caption will appear" +SLIDESHOWCK_HOVER_LABEL="Pause on mouseover" +SLIDESHOWCK_HOVER_DESC="Pause the slideshow on mouseover" +SLIDESHOWCK_CAPTIONSTYLES="Caption styles" +SLIDESHOWCK_FULLPAGE_LABEL="Use it as full page background" +SLIDESHOWCK_FULLPAGE_DESC="Load the slideshow as background of the page" +SLIDESHOWCK_SHOWARTICLETITLE_LABEL="Show the article title" +SLIDESHOWCK_SHOWARTICLETITLE_DESC="Choose if you want to show the article title" +SLIDESHOWCK_OPTIONS_FROMFOLDER="Load the slides from a folder" +SLIDESHOWCK_CHECKPARAMSPLUGIN="You must download and install the plugin Slideshow Params" +SLIDESHOWCK_SPACER_SLIDESHOWCKPARAMS_PATCH_INSTALLED="Plugin Slideshow CK installed" +SLIDESHOWCK_FROMFOLDERNAME_LABEL="Load from the folder" +SLIDESHOWCK_FROMFOLDERNAME_DESC="Choose the folder from which to load the images (type the folder path, then save the module, then click on the import button)" +SLIDESHOWCK_SLIDESSOURCE_LABEL="Images source" +SLIDESHOWCK_SLIDESSOURCE_DESC="Choose if you want to load the images from the slides manager or a folder" +SLIDESHOWCK_SLIDEMANAGER="Slides manager" +SLIDESHOWCK_FOLDER="Import from a folder" +SLIDESHOWCK_IMPORT="Import" +SLIDESHOWCK_OPTIONS_LIGHTBOX="Lightbox Options" +SLIDESHOWCK_LIGHTBOXTYPE_LABEL="Lightbox type" +SLIDESHOWCK_LIGHTBOXTYPE_DESC="Choose the lightbox to use to open the links in a popup. Squeezebox is the natve script in Joomla!. Mediabox CK is the advanced Lightbox that you can download on https://www.joomlack.fr" +SLIDESHOWCK_SQUEEZEBOX="Squeezebox" +SLIDESHOWCK_MEDIABOXCK="Mediabox CK" +SLIDESHOWCK_LIGHTBOXCAPTION_LABEL="Show the caption" +SLIDESHOWCK_LIGHTBOXCAPTION_DESC="The caption is defined in the slide options, it can be shown in the slideshow, or in the lightbox (only if you use Mediabox CK), or both" +SLIDESHOWCK_LIGHTBOXCAPTION="In the slideshow" +SLIDESHOWCK_LIGHTBOXTITLE="In the lightbox (Mediabox CK)" +SLIDESHOWCK_LIGHTBOXCAPTIONANDTITLE="In both" +SLIDESHOWCK_SPACERFOLDERAUTOLOAD_LABEL="Autoload images from a folder" +SLIDESHOWCK_SPACERFOLDERIMPORT_LABEL="Import images from a folder" +SLIDESHOWCK_AUTOLOADFOLDERNAME_LABEL="Autoload from the folder" +SLIDESHOWCK_AUTOLOADFOLDERNAME_DESC="Choose the folder from which to load the images automatically" +SLIDESHOWCK_AUTOLOADFOLDER="Autoload from a folder" +SLIDESHOWCK_MOBILEIMAGE_SPACER_LABEL="Specific images for Mobile Options" +SLIDESHOWCK_USEMOBILEIMAGE_LABEL="Use specific images for Mobile" +SLIDESHOWCK_USEMOBILEIMAGE_DESC="If you use this option the slideshow will detect the resolution and load an image with a prefix. For example if you set the resolution of 640px under this resolution the image 'folder/640/image.jpg' will be loaded instead of 'folder/image.jpg'. BE CAREFUL that both images exists !" +SLIDESHOWCK_MOBILEIMAGERESOLUTION_LABEL="Max resolution for images for Mobile" +SLIDESHOWCK_MOBILEIMAGERESOLUTION_DESC="Under this value the alternative image will be used" +SLIDESHOWCK_LIMITSLIDES_LABEL="Number of slides" +SLIDESHOWCK_LIMITSLIDES_DESC="This option will only be used if you set the display order on Shuffle. Then you can limit the number of slides to show." +SLIDESHOWCK_IMAGETARGET_LABEL="Default image target" +SLIDESHOWCK_IMAGETARGET_DESC="Choose how you want to set the link target by default for all slides" +SLIDESHOWCK_DEFAULT="default" +SLIDESHOWCK_LIGHTBOX="in a Lightbox" +SLIDESHOWCK_HIKASHOP_FIELDSET_LABEL="Hikashop Options" +SLIDESHOWCKHIKASHOP_CHECKPLUGIN="You must download and install the plugin Slideshow CK Hikashop" + +;styles +SLIDESHOWCK_BOLD = "bold" +SLIDESHOWCK_NORMAL = "normal" +SLIDESHOWCK_SPACER_STYLESBACKGROUND="Background" +SLIDESHOWCK_SPACER_STYLESROUNDEDCORNERS="Rounded corners" +SLIDESHOWCK_SPACER_STYLESSHADOW="Shadow" +SLIDESHOWCK_SPACER_STYLESBORDERS="Borders" +SLIDESHOWCK_MARGIN_LABEL="External margins" +SLIDESHOWCK_MARGIN_DESC="Margin value in px" +SLIDESHOWCK_PADDING_LABEL="Internal margins" +SLIDESHOWCK_PADDING_DESC="Padding value in px" +SLIDESHOWCK_BGCOLOR1_LABEL="Background color" +SLIDESHOWCK_BGCOLOR1_DESC="Choose the background color" +SLIDESHOWCK_BGCOLOR2_LABEL="Gradient color" +SLIDESHOWCK_BGCOLOR2_DESC="Choose the gradient color that will be used starting from the background color" +SLIDESHOWCK_ROUNDEDCORNERSTL_LABEL="Top left corner" +SLIDESHOWCK_ROUNDEDCORNERSTL_DESC="Radius value for the corner in px" +SLIDESHOWCK_ROUNDEDCORNERSTR_LABEL="Top right corner" +SLIDESHOWCK_ROUNDEDCORNERSTR_DESC="Radius value for the corner in px" +SLIDESHOWCK_ROUNDEDCORNERSBR_LABEL="Bottom right corner" +SLIDESHOWCK_ROUNDEDCORNERSBR_DESC="Radius value for the corner in px" +SLIDESHOWCK_ROUNDEDCORNERSBL_LABEL="bottom left corner" +SLIDESHOWCK_ROUNDEDCORNERSBL_DESC="Radius value for the corner in px" +SLIDESHOWCK_SHADOWCOLOR_LABEL="Shadow color" +SLIDESHOWCK_SHADOWCOLOR_DESC="Choose the color for the shadow" +SLIDESHOWCK_SHADOWBLUR_LABEL="Shadow width" +SLIDESHOWCK_SHADOWBLUR_DESC="Shadow width in px" +SLIDESHOWCK_SHADOWSPREAD_LABEL="Blur" +SLIDESHOWCK_SHADOWSPREAD_DESC="Blur value for the shadow" +SLIDESHOWCK_OFFSETX_LABEL="Horizontal offset" +SLIDESHOWCK_OFFSETX_DESC="Offset on the X axis, can take a negative value" +SLIDESHOWCK_OFFSETY_LABEL="Vertical offset" +SLIDESHOWCK_OFFSETY_DESC="Offset on the Y axis, can take a negative value" +SLIDESHOWCK_SHADOWINSET_LABEL="Inset" +SLIDESHOWCK_SHADOWINSET_DESC="Use the inset attribtue to create the shadow inside" +SLIDESHOWCK_BORDERCOLOR_LABEL="Border color" +SLIDESHOWCK_BORDERCOLOR_DESC="Choose the color for the border" +SLIDESHOWCK_BORDERWIDTH_LABEL="Border width" +SLIDESHOWCK_BORDERWIDTH_DESC="Width in px for the border" +SLIDESHOWCK_SPACER_STYLESMARGIN = "Margins" +SLIDESHOWCK_USEMARGIN_LABEL = "Use margins" +SLIDESHOWCK_USEMARGIN_DESC = "" +SLIDESHOWCK_USEBACKGROUND_LABEL = "Use background color" +SLIDESHOWCK_USEBACKGROUND_DESC = "" +SLIDESHOWCK_USEGRADIENT_LABEL = "Use gradient color" +SLIDESHOWCK_USEGRADIENT_DESC = "" +SLIDESHOWCK_USEROUNDEDCORNERS_LABEL = "Use rounded corners" +SLIDESHOWCK_USEROUNDEDCORNERS_DESC = "" +SLIDESHOWCK_USESHADOW_LABEL = "Use shadow" +SLIDESHOWCK_USESHADOW_DESC = "" +SLIDESHOWCK_USEBORDERS_LABEL = "Use borders" +SLIDESHOWCK_USEBORDERS_DESC = "" +SLIDESHOWCK_SPACER_STYLESFONT = "Font style" +SLIDESHOWCK_USEFONT_LABEL = "Use font" +SLIDESHOWCK_USEFONT_DESC = "" +SLIDESHOWCK_GFONT_LABEL = "Font" +SLIDESHOWCK_GFONT_DESC = "Choose the google font to use" +SLIDESHOWCK_FONTWEIGHT_LABEL = "Font weight" +SLIDESHOWCK_FONTWEIGHT_DESC = "Choose if you want the text to be bold or normal" +SLIDESHOWCK_FONTSIZE_LABEL = "Font size" +SLIDESHOWCK_FONTSIZE_DESC = "Give the size you want with unit (px, em, %)" +SLIDESHOWCK_FONTCOLOR_LABEL = "Font color" +SLIDESHOWCK_FONTCOLOR_DESC = "Choose the color for the font" +SLIDESHOWCK_DESCFONTSIZE_LABEL = "Description font size" +SLIDESHOWCK_DESCFONTSIZE_DESC = "Size of the description added to the link" +SLIDESHOWCK_DESCFONTCOLOR_LABEL = "Description color" +SLIDESHOWCK_DESCFONTCOLOR_DESC = "Color of the description added to the link" +SLIDESHOWCK_MARGINTOP_LABEL="Margin top" +SLIDESHOWCK_MARGINTOP_DESC="margin in px" +SLIDESHOWCK_MARGINRIGHT_LABEL="Margin right" +SLIDESHOWCK_MARGINRIGHT_DESC="margin in px" +SLIDESHOWCK_MARGINBOTTOM_LABEL="Margin bottom" +SLIDESHOWCK_MARGINBOTTOM_DESC="margin in px" +SLIDESHOWCK_MARGINLEFT_LABEL="Margin left" +SLIDESHOWCK_MARGINLEFT_DESC="margin in px" +SLIDESHOWCK_PADDINGTOP_LABEL="Padding top" +SLIDESHOWCK_PADDINGTOP_DESC="margin in px" +SLIDESHOWCK_PADDINGRIGHT_LABEL="Padding right" +SLIDESHOWCK_PADDINGRIGHT_DESC="margin in px" +SLIDESHOWCK_PADDINGBOTTOM_LABEL="Padding bottom" +SLIDESHOWCK_PADDINGBOTTOM_DESC="margin in px" +SLIDESHOWCK_PADDINGLEFT_LABEL="Padding left" +SLIDESHOWCK_PADDINGLEFT_DESC="margin in px" +SLIDESHOWCK_BACKGROUNDIMAGE_LABEL="Background image" +SLIDESHOWCK_BACKGROUNDIMAGE_DESC="Select an image to apply as background" +SLIDESHOWCK_BACKGROUNDPOSITIONX_LABEL="Poxition X" +SLIDESHOWCK_BACKGROUNDPOSITIONX_DESC="Choose a value with px (ex: 25px) or left, right, center, etc..." +SLIDESHOWCK_BACKGROUNDPOSITIONY_LABEL="Poxition Y" +SLIDESHOWCK_BACKGROUNDPOSITIONY_DESC="Choose a value with px (ex: 25px) or left, right, center, etc..." +SLIDESHOWCK_ARTICLEOPTIONS="Article options" +SLIDESHOWCK_ARTICLELENGTH_LABEL="Character length" +SLIDESHOWCK_ARTICLELENGTH_DESC="The article text will be truncated after the number of characters" +SLIDESHOWCK_ARTICLELINK_LABEL="Article link on" +SLIDESHOWCK_ARTICLELINK_DESC="Choose if you want the link of the article to be added to the title or with a readmore link" +SLIDESHOWCK_READMORE_OPTION="readmore link" +SLIDESHOWCK_TITLE_OPTION="article title" +SLIDESHOWCK_ARTICLETITLE_LABEL="Article title tag" +SLIDESHOWCK_ARTICLETITLE_DESC="Choose which tag to use to render the title" +SLIDESHOWCK_SLIDETIME="enter a specific time value for this slide, else it will be the default time" + +; added 1.3.11 +SLIDESHOWCK_LIGHTBOXGROUPALBUM_LABEL="Group links into an album" +SLIDESHOWCK_LIGHTBOXGROUPALBUM_DESC="ONLY FOR MEDIABOX CK : This will group all links into an album and enable the navigation" +SLIDESHOWCK_CLEAR="Clear" +SLIDESHOWCK_SELECT="Select" + +;added 1.4.0 +SLIDESHOWCK_ARTICLEOPTIONS="Article Options" +SLIDESHOWCK_ARTICLE_ID="Article ID" +SLIDESHOWCK_TITLE_ONLY="title only" +SLIDESHOWCK_DESC_ONLY="description only" +SLIDESHOWCK_OPTIONS_SLIDESSOURCE="Slides source" +SLIDESHOWCK_OPTIONS_FROMARTICLECATEGORY="Autoload from a category of articles" +SLIDESHOWCK_OPTIONS_FROMFOLDER="Autoload from a folder" +SLIDESHOWCK_OPTIONS_STYLES = "Styles options" +SLIDESHOWCK_OPTIONS_EFFECTS = "Effects options" +SLIDESHOWCK_OPTIONS_LIGHTBOX="Lightbox Options" +SLIDESHOWCK_OPTIONS_ADVANCED="Avanced Options" +SLIDESHOWCK_ARTICLEOPTIONS="Article options" +SLIDESHOWCK_CAPTIONSTYLES="Caption styles" +SLIDESHOWCK_HIKASHOP_FIELDSET_LABEL="Hikashop Options" +SLIDESHOWCK_SLIDEMANAGER="Slides manager" +SLIDESHOWCK_SLIDESSOURCE_LABEL="Images source" +SLIDESHOWCK_SLIDESSOURCE_DESC="Choose if you want to load the images from the slides manager or a folder" +SLIDESHOWCK_SPACERFOLDERIMPORT_LABEL="Import images from a folder" +SLIDESHOWCK_TITLE="Title" +SLIDESHOWCK_OPTIONS_SLIDES = "Slides manager" +SLIDESHOWCK_CAPTION="Description" +SLIDESHOWCK_AUTOCREATETHUMBS_LABEL="Create the thumbnails automatically" +SLIDESHOWCK_AUTOCREATETHUMBS_DESC="The server will automatically create the thumbnail images if needed. This can cause some server overload" +SLIDESHOWCK_BGOPACITY_LABEL="Opacity" +SLIDESHOWCK_BGOPACITY_LABEL="Set the opacity for the background" + +;added 1.4.6 +SLIDESHOWCK_IMAGE_OPTION="Image" + +;added 1.4.7 +SLIDESHOWCK_CONTAINER_LABEL="Load as block background" +SLIDESHOWCK_CONTAINER_DESC="For advanced users :Give the CSS selector for the block where you want to load the slideshow as background. For example if you want to load into a block that has an ID 'top', write '#top'. If you want to load into a block that has as css class 'top', write '.top'." + +;added 1.4.15 +SLIDESHOWCK_SPACER_RESPONSIVE="Responsive caption" +SLIDESHOWCK_USERESPONSIVECAPTION_LABEL="Activate the responsive caption" +SLIDESHOWCK_USERESPONSIVECAPTION_DESC="Activate this option if you want to use the following settings for the responsive caption" +SLIDESHOWCK_RESPONSIVERESOLUTION_LABEL="Responsive resolution" +SLIDESHOWCK_RESPONSIVERESOLUTION_DESC="Choose a resolution value under which the following settings will apply." +SLIDESHOWCK_RESPONSIVEFONTSIZE_LABEL="Font size" +SLIDESHOWCK_RESPONSIVEFONTSIZE_DESC="Set the font-size to apply to the caption under the resolution that you have defined above" +SLIDESHOWCK_RESPONSIVEHIDECAPTION_LABEL="Hide caption" +SLIDESHOWCK_RESPONSIVEHIDECAPTION_DESC="If you don't want to show the caption at all under the resolution you have set above, then activate this option" + +;added 1.4.21 +SLIDESHOWCK_OPTIONS_FROMFLICKR="Autoload from Flickr" +SLIDESHOWCK_VOTE_JED="If you are using Slideshow CK, please vote on the JED." +SLIDESHOWCK_CURRENT_VERSION="You are using the version" +SLIDESHOWCK_NEW_VERSION_AVAILABLE="Update available" +SLIDESHOWCK_DOWNLOAD="Download" +SLIDESHOWCK_DOWNLOAD_DOCUMENTATTION="Download the documentation of the module" +SLIDESHOWCK_DOWNLOAD_THEMES="Download a graphic theme for the module" +SLIDESHOWCK_NEED_UPDATE="This extension must be updated" +SLIDESHOWCK_REQUIRED_VERSION="You must at least install the version" + +;added 1.4.22 +SLIDESHOWCK_MINHEIGHT_LABEL="Min-height" +SLIDESHOWCK_MINHEIGHT_DESC="Set a min-height value to limit the size of the slideshow on small devices. This must be in px" +SLIDESHOWCK_RESOLUTION_ADAPTATIVE="Adaptative" +SLIDESHOWCK_RESOLUTION_STEP="Resolution step" +SLIDESHOWCK_STARTDATE="Start date" +SLIDESHOWCK_ENDDATE="End date" + +;added 1.4.37 +SLIDESHOWCK_USECAPTION_LABEL="Show the caption" +SLIDESHOWCK_USECAPTION_DESC="Select if you want to show the caption, or totally disable it" +SLIDESHOWCK_USECAPTIONDESC_LABEL="Show description" +SLIDESHOWCK_USECAPTIONDESC_DESC="Select if you want to show the caption description, or only the title" + +;added 1.4.41 +SLIDESHOWCK_K2_NOTFOUND="K2 not found" + +;added 1.4.42 +SLIDESHOWCK_LINK_POSITION_LABEL="Link position" +SLIDESHOWCK_LINK_POSITION_DESC="Set where you want the slide link to take place" +SLIDESHOWCK_LINK_FULLSLIDE="Full slide" +SLIDESHOWCK_LINK_CAPTION="Caption" +SLIDESHOWCK_LINK_TITLE="Title" +SLIDESHOWCK_LINK_BUTTON="Button" + +;added 1.4.43 +SLIDESHOWCK_FIXHTML_LABEL="Fix html" +SLIDESHOWCK_FIXHTML_DESC="Fix the html code in the caption. Usefull when the text is truncated." + +;added 1.4.52 +SLIDESHOWCK_KEYBOARD_CONTROL_LABEL="Enable keyboard control" +SLIDESHOWCK_KEYBOARD_CONTROL_DESC="You can use the keyboard to control the slideshow (left = previous, right = next, P = play/pause)" + +;added 1.4.63 +PLG_SLIDESHOWCK_READMORE="Read more" +SLIDESHOWCK_STRIPTAGS_LABEL="Strip HTML tags" +SLIDESHOWCK_STRIPTAGS_DESC="Remove all HTML formatting in the text" + +;added 2.0.0 +SLIDESHOWCK_SOURCE_FIELDSET_LABEL="Source" +SLIDESHOWCK_USE_FREE_VERSION="You are using the FREE version" +SLIDESHOWCK_USE_PRO_VERSION="You are using the PRO version" +SLIDESHOWCK_DOCUMENTATION="Read the documentation" +SLIDESHOWCK_TEXT="Text" +SLIDESHOWCK_IMAGE="Image" +SLIDESHOWCK_LINK="Link" +SLIDESHOWCK_VIDEO="Video" +SLIDESHOWCK_ARTICLE="Article" +SLIDESHOWCK_DATES="Dates" +SLIDESHOWCK_REMOVE2="Remove" +SLIDESHOWCK_SELECT_LINK="Select a link" +SLIDESHOWCK_SOURCE_SLIDESMANAGER="Slides manager" +SLIDESHOWCK_SOURCE_FOLDER="Folder" +SLIDESHOWCK_SELECT="Select" +SLIDESHOWCK_USETITLE_LABEL="Show the title" +SLIDESHOWCK_USETITLE_DESC="Select if you want to show the title in the caption" +SLIDESHOWCK_DISPLAY_OPTIONS_LABEL="Display" +SLIDESHOWCK_TEXT_OPTIONS_LABEL="Text" +SLIDESHOWCK_LINK_OPTIONS_LABEL="Link" +SLIDESHOWCK_NUMBER_SLIDES_LABEL="Number of slides" +SLIDESHOWCK_NUMBER_SLIDES_DESC="Give the number of slides to be shown. Leave the field empty to show all slides" +SLIDESHOWCK_NONE="None" +SLIDESHOWCK_LINK_BUTTON_TEXT_LABEL="Button text" +SLIDESHOWCK_LINK_BUTTON_TEXT_DESC="Write the text to be shown in the button. You can write a STRING that will be translated using the language files with your own values" +SLIDESHOWCK_LIGHTBOX_SPACER_LABEL="Lightbox" +SLIDESHOWCK_LIGHTBOX_LABEL="Lightbox to use" +SLIDESHOWCK_LIGHTBOX_DESC="Choose if you want to use the Mediabox CK lightbox available on JoomlaCK.fr, or if you want to use another one" +SLIDESHOWCK_LIGHTBOX_MEDIABOX="Mediabox CK" +SLIDESHOWCK_LIGHTBOX_OTHER="Other" +SLIDESHOWCK_LINK_BUTTON_TEXT="Read more" +SLIDESHOWCK_LIGHTBOX_ATTRIB_LABEL="Lightbox attribute" +SLIDESHOWCK_LIGHTBOX_ATTRIB_DESC="Set the attibute to use according to your lightbox setttings" +SLIDESHOWCK_LIGHTBOX_ATTRIB_VALUE_LABEL="Lightbox attribute value" +SLIDESHOWCK_LIGHTBOX_ATTRIB_VALUE_DESC="Set the attibute value to use according to your lightbox setttings" +SLIDESHOWCK_LINK_BUTTON_CLASS_LABEL="Button CSS class" +SLIDESHOWCK_LINK_BUTTON_CLASS_DESC="Write a CSS class to add to the button" +SLIDESHOWCK_LINK_AUTOIMAGE_LABEL="Link auto to image" +SLIDESHOWCK_LINK_AUTOIMAGE_DESC="If set to yes, it will automatically create a link to the slide image itself" +SLIDESHOWCK_LINK_TARGET_LABEL="Link target" +SLIDESHOWCK_LINK_TARGET_DESC="Choose if you want to open the link in the same window or in a new window" +SLIDESHOWCK_LINK_SAME_WINDOW="Same window" +SLIDESHOWCK_LINK_NEW_WINDOW="New window" +SLIDESHOWCK_TITLE_TAG_LABEL="Title tag" +SLIDESHOWCK_TITLE_TAG_DESC="Choose which tag to use to render the title" +SLIDESHOWCK_OPTIONS_FIELDSET_LABEL="Options" +SLIDESHOWCK_RESPONSIVE="Responsive" +SLIDESHOWCK_EFFECTS_OPTIONS="Effects" +SLIDESHOWCK_VISIT_OTHER_PRODUCTS="Visit the other products available on JoomlaCK" +SLIDESHOWCK_GET_LICENCE_INFOS="See how to manage your licence key" +SLIDESHOWCK_GET_PRO_INFOS="Get infos on the Pro version" +SLIDESHOWCK_STYLES="Styles" +SLIDESHOWCK_EDIT="Edit" +SLIDESHOWCK_SELECT_STYLE_LABEL="Style" +SLIDESHOWCK_SELECT_STYLE_DESC="Select the style to apply to your slideshow and edit it directly here" +SLIDESHOWCK_OTHER="Other" +SLIDESHOWCK_LIGHTBOX_LABEL="Lightbox" +SLIDESHOWCK_LIGHTBOX_DESC="Select which lightbox to use to open your links" +SLIDESHOWCK_PORTRAIT_LABEL="Contain the images" +SLIDESHOWCK_PORTRAIT_DESC="The images will be contained into the slideshow area without resizing" +SLIDESHOWCK_ONLY_PRO="Only available in the Pro version. Click here to read more infos" +SLIDESHOWCK_SOURCE_ARTICLES="Articles" +SLIDESHOWCK_THUMBSTYPE_LABEL="Thumbnails to use" +SLIDESHOWCK_THUMBSTYPE_DESC="Choose between reduced size image or normal size image" +SLIDESHOWCK_THUMBSTYPE_MINI="Mini" +SLIDESHOWCK_THUMBSTYPE_NORMAL="Normal" +SLIDESHOWCK_MIGRATION_NEEDED="A migration is needed ! We have detected that you are editing a module that has been created with Slideshow CK V1." +SLIDESHOWCK_MIGRATION_ACTION="Please click here to automatically update the module. If you don't do it, you may loose some configuration." +SLIDESHOWCK_MIGRATION_SUCCESS="Migration done with success !" +SLIDESHOWCK_MIGRATION_ERROR="Error when trying to migrate the module to the V2. Please contact the developper." +SLIDESHOWCK_HEIGHT_FIELD_HELP_TITLE="How to calculate the height" +SLIDESHOWCK_HEIGHT_FIELD_HELP_1="You can set up the height in px or %. If you use %, the height will be responsive and it will keep the image ratio. If you use px, then the height will always stay the same and it will crop the image." +SLIDESHOWCK_HEIGHT_FIELD_HELP_2="How to calculate the height in %" +SLIDESHOWCK_HEIGHT_FIELD_HELP_3="The percentage is the ratio between the height and width of your image. Note that this value is used for all images in the slideshow, so it is recommended to have all images with the same dimensions." +SLIDESHOWCK_HEIGHT_FIELD_HELP_4="Take an example with an image that has the following dimensions :" +SLIDESHOWCK_HEIGHT_FIELD_HELP_5="To calculate the ratio : 800 / 1280 = 62%. Then in the height option, set the value to 62%." +SLIDESHOWCK_RATIO_LABEL="Image ratio" +SLIDESHOWCK_CALCULATOR="Calculator" +SLIDESHOWCK_SAVE="Save" +SLIDESHOWCK_PARAMS_UNPUBLISHED_INFO="Are you updating this module from the V1 to V2 of Slideshow CK ? The plugin Slideshow CK Params has been detected and it has automatically been deactivated because not compatible with the V2." +SLIDESHOWCK_PARAMS_MIGRATION_LINK="Click here to read the instructions on how to migrate" +SLIDESHOWCK_TEXT_CUSTOM="Custom text" +SLIDESHOWCK_TEXT="Text" +SLIDESHOWCK_WARNING_PLUGIN_OBSOLETE="You have a plugin that is obsolete that was working the Version 1 of Slideshow CK. This plugin is no more compatible with the Version 2 of Slideshow CK, please unpublish it." +SLIDESHOWCK_DISABLE_PLUGIN="Click here to unpublish the plugin" +;added 2.0.5 +SLIDESHOWCK_DEBUG_LABEL="Show debug messages" +SLIDESHOWCK_DEBUG_DESC="Disable it if you don't want any message from the slideshow" +;added 2.0.16 +SLIDESHOWCK_LOAD_INLINE_LABEL="Load script inline" +SLIDESHOWCK_LOAD_INLINE_DESC="If you have some problems to render the slidehow when loaded into an article, you can use this option" +;added 2.1.1 +SLIDESHOWCK_CONTENT_PREPARE_LABEL="Prepare content" +SLIDESHOWCK_CONTENT_PREPARE_DESC="Call the content plugins to be triggered on the rendered content" +;added 2.2.1 +SLIDESHOWCK_VIDEO_AUTOPLAY="Autoplay" +SLIDESHOWCK_VIDEO_LOOP="Loop" +SLIDESHOWCK_VIDEO_CONTROLS="Controls" +;added 2.3.11 +SLIDESHOWCK_TITLE_IN_THUMBNAILS_LABEL="Show title in thumbs" +;added 2.4.1 +SLIDESHOWCK_RESPONSIVEHIDEDESCRIPTION_LABEL="Hide description" SLIDESHOWCK_RESPONSIVEHIDEDESCRIPTION_DESC="Hide description on mobile" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.sys.ini index 82686970..24ae7508 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_slideshowck.sys.ini @@ -1,6 +1,6 @@ -; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870 -; https://www.joomlack.fr -; @license GNU/GPL -; Double quotes in the values have to be formatted as "_QQ_" - -SLIDESHOWCK_XML_DESCRIPTION = "Slideshow CK displays a slideshow with some nice effects. It is mobile compatible and responsive design. Its width adapts itself and you can slide it with your fingers." +; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870 +; https://www.joomlack.fr +; @license GNU/GPL +; Double quotes in the values have to be formatted as "_QQ_" + +SLIDESHOWCK_XML_DESCRIPTION = "Slideshow CK displays a slideshow with some nice effects. It is mobile compatible and responsive design. Its width adapts itself and you can slide it with your fingers." diff --git a/deployed/_shared/language/en-GB/en-GB.mod_smartshoutbox.ini b/deployed/_shared/language/en-GB/en-GB.mod_smartshoutbox.ini index ac982739..b75743a6 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_smartshoutbox.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_smartshoutbox.ini @@ -1,31 +1,31 @@ -MOD_SMARTSHOUTBOX = "Smart Shoutbox Module" - -MOD_SMARTSHOUTBOX_ANNOUNCE = "Announce" -MOD_SMARTSHOUTBOX_ANNOUNCE_DESC = "Display announce above shouts list in this module (empty - disable)." - -MOD_SMARTSHOUTBOX_HEIGHT = "Window height" -MOD_SMARTSHOUTBOX_HEIGHT_DESC = "Shout window height for this particular module." - -MOD_SMARTSHOUTBOX_CATEGORIES = "Categories" -MOD_SMARTSHOUTBOX_CATEGORIES_DESC = "Smart Shoutbox categories, which you want to display in this module." - -MOD_SMARTSHOUTBOX_COLUMNS = "Core columns" -MOD_SMARTSHOUTBOX_COLUMNS_DESC = "Core columns you want to display in shouts table (empty - all columns)." -MOD_SMARTSHOUTBOX_COLUMNS_ALL = "All columns" -MOD_SMARTSHOUTBOX_COLUMNS_AVATAR = "Avatar" -MOD_SMARTSHOUTBOX_COLUMNS_AUTHOR = "Author" -MOD_SMARTSHOUTBOX_COLUMNS_MESSAGE = "Message" -MOD_SMARTSHOUTBOX_COLUMNS_DATE = "Date" -MOD_SMARTSHOUTBOX_COLUMNS_LIKES = "Likes" - -MOD_SMARTSHOUTBOX_SHOWEDITOR = "Show editor" -MOD_SMARTSHOUTBOX_SHOWEDITOR_DESC = "Display WYSIWYG editor in this module (Chat only)." - -MOD_SMARTSHOUTBOX_SHOWSTATS = "Show stats" -MOD_SMARTSHOUTBOX_SHOWSTATS_DESC = "Display brief stats at the bottom of the module." - -MOD_SMARTSHOUTBOX_SHOWNOTICE = "Show notice" -MOD_SMARTSHOUTBOX_SHOWNOTICE_DESC = "Display short notice at the top of the module." - -MOD_SMARTSHOUTBOX_NOTICE = "Notice text" +MOD_SMARTSHOUTBOX = "Smart Shoutbox Module" + +MOD_SMARTSHOUTBOX_ANNOUNCE = "Announce" +MOD_SMARTSHOUTBOX_ANNOUNCE_DESC = "Display announce above shouts list in this module (empty - disable)." + +MOD_SMARTSHOUTBOX_HEIGHT = "Window height" +MOD_SMARTSHOUTBOX_HEIGHT_DESC = "Shout window height for this particular module." + +MOD_SMARTSHOUTBOX_CATEGORIES = "Categories" +MOD_SMARTSHOUTBOX_CATEGORIES_DESC = "Smart Shoutbox categories, which you want to display in this module." + +MOD_SMARTSHOUTBOX_COLUMNS = "Core columns" +MOD_SMARTSHOUTBOX_COLUMNS_DESC = "Core columns you want to display in shouts table (empty - all columns)." +MOD_SMARTSHOUTBOX_COLUMNS_ALL = "All columns" +MOD_SMARTSHOUTBOX_COLUMNS_AVATAR = "Avatar" +MOD_SMARTSHOUTBOX_COLUMNS_AUTHOR = "Author" +MOD_SMARTSHOUTBOX_COLUMNS_MESSAGE = "Message" +MOD_SMARTSHOUTBOX_COLUMNS_DATE = "Date" +MOD_SMARTSHOUTBOX_COLUMNS_LIKES = "Likes" + +MOD_SMARTSHOUTBOX_SHOWEDITOR = "Show editor" +MOD_SMARTSHOUTBOX_SHOWEDITOR_DESC = "Display WYSIWYG editor in this module (Chat only)." + +MOD_SMARTSHOUTBOX_SHOWSTATS = "Show stats" +MOD_SMARTSHOUTBOX_SHOWSTATS_DESC = "Display brief stats at the bottom of the module." + +MOD_SMARTSHOUTBOX_SHOWNOTICE = "Show notice" +MOD_SMARTSHOUTBOX_SHOWNOTICE_DESC = "Display short notice at the top of the module." + +MOD_SMARTSHOUTBOX_NOTICE = "Notice text" MOD_SMARTSHOUTBOX_NOTICE_DESC = "Notice text, which will displayed at the top of the module." \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.ini b/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.ini index c378ceb5..ee85d507 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.ini @@ -1,31 +1,31 @@ -; $Id: en-GB.mod_socialloginandsocialshare.ini 1.4 2012-03-16 02:40:25Z Team LoginRadius $ -; Joomla! Project -; Copyright (C) 2011 - till Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - -MOD_LOGINRADIUS="Social Login And Social Share" -MOD_LOGINRADIUS_XML_DESCRIPTION="LoginRadius enables social login on Joomla websites." -MOD_LOGINRADIUS_FORGOT_YOUR_PASSWORD="Forgot your password?" -MOD_LOGINRADIUS_FORGOT_YOUR_USERNAME="Forgot your username?" -MOD_LOGINRADIUS_HINAME="Hi %s," -MOD_LOGINRADIUS_REGISTER="Create an account" -MOD_LOGINRADIUS_REMEMBER_ME="Remember Me" -MOD_LOGINRADIUS_VALUE_NAME="Name" -MOD_LOGINRADIUS_VALUE_USERNAME="User Name" -MOD_LOGINRADIUS_PLUGIN_ERROR="Please install or Enable the Social Login Plugin" -MOD_LOGINRADIUS_USERS_REGISTRATION="User Registration not allowed." -MOD_LOGINRADIUS_FIELD_LOGIN_REDIRECTURL_DESC="Users will be redirected to the page selected, after logging in through login form shown with social login interface. Choosing "QQ" Default "QQ" will return to the same page." -MOD_LOGINRADIUS_FIELD_LOGIN_REDIRECTURL_LABEL="Login Redirection Page" -MOD_LOGINRADIUS_FIELD_LOGOUT_REDIRECTURL_DESC="Select the page the user will be redirected to after successfully ending their current session by logging out. Select from all the pages listed in the dropdown menu. Choosing "_QQ_" Default "_QQ_" will return to the same page." -MOD_LOGINRADIUS_FIELD_LOGOUT_REDIRECTURL_LABEL="Logout Redirection Page" -MOD_LOGINRADIUS_FIELD_POST_TEXT_DESC="This text will be displayed just below LoginRadius interface." -MOD_LOGINRADIUS_FIELD_POST_TEXT_LABEL="Post-text" -MOD_LOGINRADIUS_FIELD_PRE_TEXT_DESC="This text will be displayed just above LoginRadius interface." -MOD_LOGINRADIUS_FIELD_PRE_TEXT_LABEL="Pre-text" -MOD_LOGINRADIUS_FIELD_USESECURE_DESC="Do you want to submit encrypted login data? Do not enable this option if your Joomla is not accessible through HTTPS:// protocol." -MOD_LOGINRADIUS_FIELD_USESECURE_LABEL="Encrypt Login Form" -MOD_LOGINRADIUS_VALUE_ACCOUNT="My Account" -MOD_LOGINRADIUS_VALUE_MAP="You have" -MOD_LOGINRADIUS_VALUE_MAPONE="account mapped with your account." +; $Id: en-GB.mod_socialloginandsocialshare.ini 1.4 2012-03-16 02:40:25Z Team LoginRadius $ +; Joomla! Project +; Copyright (C) 2011 - till Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +MOD_LOGINRADIUS="Social Login And Social Share" +MOD_LOGINRADIUS_XML_DESCRIPTION="LoginRadius enables social login on Joomla websites." +MOD_LOGINRADIUS_FORGOT_YOUR_PASSWORD="Forgot your password?" +MOD_LOGINRADIUS_FORGOT_YOUR_USERNAME="Forgot your username?" +MOD_LOGINRADIUS_HINAME="Hi %s," +MOD_LOGINRADIUS_REGISTER="Create an account" +MOD_LOGINRADIUS_REMEMBER_ME="Remember Me" +MOD_LOGINRADIUS_VALUE_NAME="Name" +MOD_LOGINRADIUS_VALUE_USERNAME="User Name" +MOD_LOGINRADIUS_PLUGIN_ERROR="Please install or Enable the Social Login Plugin" +MOD_LOGINRADIUS_USERS_REGISTRATION="User Registration not allowed." +MOD_LOGINRADIUS_FIELD_LOGIN_REDIRECTURL_DESC="Users will be redirected to the page selected, after logging in through login form shown with social login interface. Choosing "QQ" Default "QQ" will return to the same page." +MOD_LOGINRADIUS_FIELD_LOGIN_REDIRECTURL_LABEL="Login Redirection Page" +MOD_LOGINRADIUS_FIELD_LOGOUT_REDIRECTURL_DESC="Select the page the user will be redirected to after successfully ending their current session by logging out. Select from all the pages listed in the dropdown menu. Choosing "_QQ_" Default "_QQ_" will return to the same page." +MOD_LOGINRADIUS_FIELD_LOGOUT_REDIRECTURL_LABEL="Logout Redirection Page" +MOD_LOGINRADIUS_FIELD_POST_TEXT_DESC="This text will be displayed just below LoginRadius interface." +MOD_LOGINRADIUS_FIELD_POST_TEXT_LABEL="Post-text" +MOD_LOGINRADIUS_FIELD_PRE_TEXT_DESC="This text will be displayed just above LoginRadius interface." +MOD_LOGINRADIUS_FIELD_PRE_TEXT_LABEL="Pre-text" +MOD_LOGINRADIUS_FIELD_USESECURE_DESC="Do you want to submit encrypted login data? Do not enable this option if your Joomla is not accessible through HTTPS:// protocol." +MOD_LOGINRADIUS_FIELD_USESECURE_LABEL="Encrypt Login Form" +MOD_LOGINRADIUS_VALUE_ACCOUNT="My Account" +MOD_LOGINRADIUS_VALUE_MAP="You have" +MOD_LOGINRADIUS_VALUE_MAPONE="account mapped with your account." MOD_SOCIALLOGIN_AND_SOCIALSHARE_UNPLUSH_ERROR="
                  LoginRadius Plugin is not configured!

                  To activate the plugin, Navigate Components > Social Share And Social Share insert LoginRadius API Key & Secret in your Joomla Admin. Follow this document to learn how to get API Key & Secret
                  " \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.sys.ini index 3cccb031..646de353 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_socialloginandsocialshare.sys.ini @@ -1,9 +1,9 @@ -; $Id: en-GB.mod_socialloginandsocialshare.sys.ini 1.7 2012-08-30 02:40:25Z Team LoginRadius $ -; Joomla! Project -; Copyright (C) 2011 - till Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - No BOM - -MOD_LOGINRADIUS="Social Login And Social Share" -MOD_LOGINRADIUS_XML_DESCRIPTION="LoginRadius enables social login on Joomla websites." +; $Id: en-GB.mod_socialloginandsocialshare.sys.ini 1.7 2012-08-30 02:40:25Z Team LoginRadius $ +; Joomla! Project +; Copyright (C) 2011 - till Open Source Matters. All rights reserved. +; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +; Note : All ini files need to be saved as UTF-8 - No BOM + +MOD_LOGINRADIUS="Social Login And Social Share" +MOD_LOGINRADIUS_XML_DESCRIPTION="LoginRadius enables social login on Joomla websites." MOD_LOGINRADIUS_LAYOUT_DEFAULT="Default" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.ini b/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.ini index 0fb349a3..ea9588f8 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.ini @@ -1,31 +1,31 @@ -;Description -MOD_UT_JOOMSTAGRAM = "UT Joomstagram" -MOD_UT_JOOMSTAGRAM_XML_DESCRIPTION ="UT Joomstagram is a module for displaying recent photos and photos of a Tag, from an Instagram User in Joomla!. Read Documentation Here!
                  Unitemplates
                  " - -;Basic -JG_INTRO_LABEL ="Intro" -JG_INTRO_DESC ="Optional text if you want to display a description" -JG_CLIENTID_INFO_LABEL ="First you must create a Client and get your ID, follow this Link. And enter in Manage clients" -JG_CLIENT_ID_LABEL ="Client ID" -JG_CLIENT_ID_DESC ="For a client ID follow the link above" -JG_TOKEN_INFO_LABEL ="For an access token follow this Link. And follow the steps" -JG_ACCESS_TOKEN_LABEL ="Access Token" -JG_ACCESS_TOKEN_DESC ="It is an access token generated by Instagram. Follow the link above" -JG_FEED_SOURCE_LABEL ="Feed Source" -JG_FEED_SOURCE_DESC ="It is the source from which you will get the photos" -JG_USER_LABEL ="User" -JG_USER_DESC ="Write your Instagram username" -JG_TAG_LABEL ="Tag" -JG_TAG_DESC ="Write a tag name (EX: if your hashtag is #fashion your tag is fashion)" -JG_PHOTO_SIZE_LABEL ="Photo Size" -JG_PHOTO_SIZE_DESC ="Choose a size according to the space you have for the module" -JG_COLUMNS_LABEL ="Columns" -JG_COLUMNS_DESC ="This is the number of photos in a row" -JG_ROWS_LABEL ="Rows" -JG_ROWS_DESC ="Enter the number of rows of photos showing" -JG_PADDING_LABEL ="Padding" -JG_PADDING_DESC ="If you need space between photos add padding in pixels. EX 5px" - -;Advanced -JG_ADD_CONTAINER_LABEL ="Container" +;Description +MOD_UT_JOOMSTAGRAM = "UT Joomstagram" +MOD_UT_JOOMSTAGRAM_XML_DESCRIPTION ="UT Joomstagram is a module for displaying recent photos and photos of a Tag, from an Instagram User in Joomla!. Read Documentation Here!
                  Unitemplates
                  " + +;Basic +JG_INTRO_LABEL ="Intro" +JG_INTRO_DESC ="Optional text if you want to display a description" +JG_CLIENTID_INFO_LABEL ="First you must create a Client and get your ID, follow this Link. And enter in Manage clients" +JG_CLIENT_ID_LABEL ="Client ID" +JG_CLIENT_ID_DESC ="For a client ID follow the link above" +JG_TOKEN_INFO_LABEL ="For an access token follow this Link. And follow the steps" +JG_ACCESS_TOKEN_LABEL ="Access Token" +JG_ACCESS_TOKEN_DESC ="It is an access token generated by Instagram. Follow the link above" +JG_FEED_SOURCE_LABEL ="Feed Source" +JG_FEED_SOURCE_DESC ="It is the source from which you will get the photos" +JG_USER_LABEL ="User" +JG_USER_DESC ="Write your Instagram username" +JG_TAG_LABEL ="Tag" +JG_TAG_DESC ="Write a tag name (EX: if your hashtag is #fashion your tag is fashion)" +JG_PHOTO_SIZE_LABEL ="Photo Size" +JG_PHOTO_SIZE_DESC ="Choose a size according to the space you have for the module" +JG_COLUMNS_LABEL ="Columns" +JG_COLUMNS_DESC ="This is the number of photos in a row" +JG_ROWS_LABEL ="Rows" +JG_ROWS_DESC ="Enter the number of rows of photos showing" +JG_PADDING_LABEL ="Padding" +JG_PADDING_DESC ="If you need space between photos add padding in pixels. EX 5px" + +;Advanced +JG_ADD_CONTAINER_LABEL ="Container" JG_ADD_CONTAINER_DESC ="This adds the Responsive container of Bootstrap
                  Active if you are going to publish the module in a full screen position" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.sys.ini b/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.sys.ini index 18a5b28a..7fe33fa5 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.sys.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_ut_joomstagram.sys.ini @@ -1,3 +1,3 @@ -;Description -MOD_UT_JOOMSTAGRAM = "UT Joomstagram" +;Description +MOD_UT_JOOMSTAGRAM = "UT Joomstagram" MOD_UT_JOOMSTAGRAM_XML_DESCRIPTION ="UT Joomstagram is a module for displaying recent photos and photos of a Tag, from an Instagram User in Joomla! Read Documentation Here!
                  Unitemplates
                  " \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_webinar.ini b/deployed/_shared/language/en-GB/en-GB.mod_webinar.ini index bb73e1fb..1074d98b 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_webinar.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_webinar.ini @@ -1,21 +1,21 @@ -MOD_WEBINAR_SUCCESS_REGISTRATION="Thanks for registering!
                  - We're looking forward to having you join us. If, for any reason, you aren't able to attend our live session, don't worry about it. We'll be sharing a recording of the session after it's over." -MOD_WEBINAR_ALREADY_SIGNED_UP="You already signed up for this webinar." -MOD_WEBINAR_REGISTRATION="Registration" -MOD_WEBINAR_TOPIC="Topic" -MOD_WEBINAR_DESCRIPTION="Description" -MOD_WEBINAR_TIME="Time" -MOD_WEBINAR_ACCOUNT_ALREADY="Already have an account?" -MOD_WEBINAR_REQUIRED_INFO="Required information" -MOD_WEBINAR_SIGN_IN="Sign in" -MOD_WEBINAR_NAME="Name" -MOD_WEBINAR_EMAIL="Email address" -MOD_WEBINAR_COUNTRY="Country" -MOD_WEBINAR_CHOOSE_COUNTRY="Choose country" -MOD_WEBINAR_PROFESSION="Profession" -MOD_WEBINAR_CHOOSE_PROFESSION="Choose profession" -MOD_WEBINAR_REGISTER_BUTTON="Register" -MOD_WEBINAR_TERM="Information you provide when registering will be shared with the account owner and host and can be used and shared by them in accordance with their Terms and Privacy Policy." -MOD_WEBINAR_EVENT_OVER="Webinar is over, you cannot register now." -MOD_WEBINAR_TIME_PERIOD="Period" +MOD_WEBINAR_SUCCESS_REGISTRATION="Thanks for registering!
                  + We're looking forward to having you join us. If, for any reason, you aren't able to attend our live session, don't worry about it. We'll be sharing a recording of the session after it's over." +MOD_WEBINAR_ALREADY_SIGNED_UP="You already signed up for this webinar." +MOD_WEBINAR_REGISTRATION="Registration" +MOD_WEBINAR_TOPIC="Topic" +MOD_WEBINAR_DESCRIPTION="Description" +MOD_WEBINAR_TIME="Time" +MOD_WEBINAR_ACCOUNT_ALREADY="Already have an account?" +MOD_WEBINAR_REQUIRED_INFO="Required information" +MOD_WEBINAR_SIGN_IN="Sign in" +MOD_WEBINAR_NAME="Name" +MOD_WEBINAR_EMAIL="Email address" +MOD_WEBINAR_COUNTRY="Country" +MOD_WEBINAR_CHOOSE_COUNTRY="Choose country" +MOD_WEBINAR_PROFESSION="Profession" +MOD_WEBINAR_CHOOSE_PROFESSION="Choose profession" +MOD_WEBINAR_REGISTER_BUTTON="Register" +MOD_WEBINAR_TERM="Information you provide when registering will be shared with the account owner and host and can be used and shared by them in accordance with their Terms and Privacy Policy." +MOD_WEBINAR_EVENT_OVER="Webinar is over, you cannot register now." +MOD_WEBINAR_TIME_PERIOD="Period" MOD_WEBINAR_MINUTE="minutes" \ No newline at end of file diff --git a/deployed/_shared/language/en-GB/en-GB.mod_xpertscroller.ini b/deployed/_shared/language/en-GB/en-GB.mod_xpertscroller.ini index 9eb7eabd..0d49dfbc 100644 --- a/deployed/_shared/language/en-GB/en-GB.mod_xpertscroller.ini +++ b/deployed/_shared/language/en-GB/en-GB.mod_xpertscroller.ini @@ -1,149 +1,149 @@ -;/** -; * @package Xpert Scroller -; * @author ThemeXpert http://www.themexpert.com -; * @copyright Copyright (C) 2009 - 2011 ThemeXpert -; * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only -; * -; */ - -XS_DESC="

                  Xpert Scroller

                  XpertScroller is our next generation extensions based on the GNU General Public License V2.

                  Basing on experiences gathered, we created probably the best tool to present articles for Joomla! Huge amount of options and possibilities of formatting causes XpertScroller is a complex tool in making www pages content attractive.

                  " - -COM_MODULES_GENERAL_SETTINGS_FIELDSET_LABEL= "General Settings" -COM_MODULES_JOOMLA_FIELDSET_LABEL="Joomla Article Settings" -COM_MODULES_K2_FIELDSET_LABEL="K2 Article Settings" -COM_MODULES_DOCUMENTATION_SUPPORT_FIELDSET_LABEL = "Documentation & Support" - -;Routing -ROUTING_BEHAVIOR = "Routing Type" -ROUTING_BEHAVIOR_DESC = "Choose the routing type when generate blog post link" -DEFAULT_BEHAVIOR = "Use default behaviour" -USE_MENU_ITEM = "Use menu item" -USE_MENU_ITEM_DESC = "Select a menu item where the item will load" - -;General settings -SELECT_CONTENT_SOURCE = "Select content provider" -CONTENT_SOURCE= "Content Source" -CONTENT_SOURCE_DESC= "Select source of article" -CATEGORY_LABEL = "Category" -CATEGORY_DESC = "Show/Hide category" -CATEGORY_LINK_LABEL = "Category link" -CATEGORY_LINK_DESC = "" -READMORE_TEXT = "Readmore label" -READMORE_TEXT_DESC = "This option allow you to change the readmore text in any language" - -;Joomla Article settings -JOOM_CATEGOTY_FILTER_LABEL ="Category filter" -JOOM_CATEGOTY_FILTER_DESC ="" -JCATEGORY="Category" -JCATEGORY_DESC="Selects Articles from one or more Categories. If no selection will show all categories as default" -COUNT_LABEL="Count" -COUNT_DESC="The number of Articles to display (the default is 5)" -ORDERING_LABEL ="Order" -ORDERING_DESC="Ordering Options. Touched First means: -Modified First if article has been modified at least one time and -Created if article has only been created." -ORDERING_CREATED_DATE="Created Date" -ORDERING_PUBLISHED_DATE="Published Date" -ORDERING_ORDERING="Ordering" -ORDERING_RANDOM="Random" - -AUTHORS_LABEL="Authors" -AUTHORS_LABEL="Filter by authors" -FEATURED_LABEL="Featured Articles" -FEATURED_DESC="Show/Hide Articles designated as Featured" - -;K2 settings -K2_CATEGORY_FILTER="Category filter" -K2_CHILDREN_CATEGORIES="Children Categories" -K2_TIME_RANGE="Time range" -K2_TIME_RANGE_DESC="Time range (if ordering is set to 'most popular' or 'most commented')" - -;Layout Settings -COM_MODULES_LAYOUT_SETTINGS_FIELDSET_LABEL="Layout Settings" -SCROLLER_LAYOUT="Scroller layout" -SCROLLER_LAYOUT_DESC="Select scroller layout" -MODULE_WIDTH="Module width" -MODULE_WIDTH_DESC="Specify pixel width of the module." -MODULE_HEIGHT="Module height" -MODULE_HEIGHT_DESC="Specify pixel height of the module." -NUMBER_COL="Number of columns" -NUMBER_COL_DESC="Number of columns you want to show in each pane, it will consider as row in vertical layout" -MAX_ARTICLE="Maximum items" -MAX_ARTICLE_DESC="Maximum number of items you want to show" -IMAGE_POSITION="Image postion" -IMAGE_POSITION_DESC="Image Position" -CONTROL_MARGIN="Control arrow margin" -CONTROL_MARGIN_DESC=" Control arrow margin" - -COM_MODULES_SCROLLER_SETTINGS_FIELDSET_LABEL=" Scroller Settings" -SCROLLER_STYLE="Scroller style" -SCROLLER_STYLE_DESC="Scroller animation style" -ANIMATION_SPEED="Animation speed" -ANIMATION_SPEED_DESC="The time (in milliseconds) of the scrolling animation" -REPEAT="Repeat" -REPEAT_DESC="A property indicating whether scrolling starts from the beginning when the last item is exceeded making an infinite loop" -KEYBOARD_NAVIGATION="Keyboard Navigation" -KEYBOARD_NAVIGATION_DESC="Whether or not keyboard arrow key navigation is enabled. The horizontal scroller moves backwards/forwards with the left/right arrow keys; the vertical scroller moves with the up/down keys" -AUTO_PLAY="Auto play" -AUTO_PLAY_DESC="When enabled the scrolling starts automatically upon page load" -INTERVAL="Interval" -INTERVAL_DESC="The time (in milliseconds) between autoscrolls" -AUTO_PAUSE="Auto Pause" -AUTO_PAUSE_DESC="When any navigational buttons are mouseovered, the autoscrolling will pause" - -COM_MODULES_ARTICLE_SETTINGS_FIELDSET_LABEL="Item Settings" -ARTICLE_TITLE="Item title" -ARTICLE_TITLE_DESC="Show/Hide item title" -TITLE_LINK="Title Link " -TITLE_LINK_DESC="Select title will linkable or not" -ITEM_IMG=" Item image" -ITEM_IMG_DESC=" Show/Hide Item Image" -IMAGE_LINK="Image link" -IMAGE_LINK_DESC="Image will linkable or not" -BROWSER_NAV="On Click, Open in" -INTRO_TEXT="Introtext" -INTRO_TEXT_DESC="Show/Hide Introtext" -INTRO_TEXT_LIMIT_TYPE="Limited by" -INTRO_TEXT_LIMIT_TYPE_DESC="Select introtext filter option" -WORDS= "Words" -CHARACTERS= "Characters" -INTRO_TEXT_LIMIT="Introtext limit" -INTRO_TEXT_LIMIT_DESC="Introtext Charecter limit. Leave it blank to show all charecters." -READMORE= "Readmore" -READMORE_DESC= "Show/Hide Readmore button" -NAVIGATOR= "Navigator" -NAVIGATOR_DESC= "Show/Hide navigator button" - -COM_MODULES_IMAGE_SETTINGS_FIELDSET_LABEL="Image Settings" -IMAGE_RESIZE="Image resize" -IMAGE_RESIZE_DESC="Change your image dimensions forcefully" -K2_IMAGE_RESIZE="K2 image resize" -K2_IMAGE_RESIZE_DESC="You can select K2 image size from K2 settings. If you enable this option then K2 image will resize forcefully" -IMAGE_WIDTH="Image width" -IMAGE_WIDTH_DESC=" Set image width in px value. Do not enter px on this value" -IMAGE_HEIGHT="Image height" -IMAGE_HEIGHT_DESC=" Set image height in px value. Do not enter px on this value" - -;Advance -MODULECLASS_SFX="Module suffix" -MODULECLASS_SFX_DESC="Module suffix is used to get other module styling" -AUTO_MODULE_ID="Automatic module ID" -AUTO_MODULE_ID_DESC="Automatic module ID is useful if you don't need to style a module with its ID and you want to be sure that you won't have any script conflict based on the same ID in two or more module instances." -MODULE_UNIQUE_ID="Module ID" -MODULE_UNIQUE_ID_DESC="This option works only if you have automatic module id option disabled. Then you can specify your own static module ID." -LOAD_JQUERY="Load jQuery" -LOAD_JQUERY_DESC="This module needs jQuery version 1.4.2+ to run, if your template already load this version then you can disbale this." -JQUERY_SOURCE="jQuery Source" -JQUERY_SOURCE_DESC="Loading jQuery form Google CDN is Recommended when you are running this module on live site. You can load from Module Core when you don't have any internet connection or for testing purpose." - -IMPORTANT = "Important!" -INFORMATION = "Information" -DOC_MSG = "Please view the extension documentation site for more information about the settings below." - -DOC_SUPPORT_MESSAGE = "Free extensions support is limited and provided as user by user in our Forum. To get premium support consider buying $10 Quick Support plan valid 7 days from purchase." - -;Spacer -TITLE_SETTINGS_LABEL = "Title settings" -TITLE_SETTINGS_DESC = "" -INTRO_SETTINGS_LABEL = "Intro settings" -INTRO_SETTINGS_DESC = "" -IMAGE_SETTINGS_LABEL = "Image settings" +;/** +; * @package Xpert Scroller +; * @author ThemeXpert http://www.themexpert.com +; * @copyright Copyright (C) 2009 - 2011 ThemeXpert +; * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only +; * +; */ + +XS_DESC="

                  Xpert Scroller

                  XpertScroller is our next generation extensions based on the GNU General Public License V2.

                  Basing on experiences gathered, we created probably the best tool to present articles for Joomla! Huge amount of options and possibilities of formatting causes XpertScroller is a complex tool in making www pages content attractive.

                  " + +COM_MODULES_GENERAL_SETTINGS_FIELDSET_LABEL= "General Settings" +COM_MODULES_JOOMLA_FIELDSET_LABEL="Joomla Article Settings" +COM_MODULES_K2_FIELDSET_LABEL="K2 Article Settings" +COM_MODULES_DOCUMENTATION_SUPPORT_FIELDSET_LABEL = "Documentation & Support" + +;Routing +ROUTING_BEHAVIOR = "Routing Type" +ROUTING_BEHAVIOR_DESC = "Choose the routing type when generate blog post link" +DEFAULT_BEHAVIOR = "Use default behaviour" +USE_MENU_ITEM = "Use menu item" +USE_MENU_ITEM_DESC = "Select a menu item where the item will load" + +;General settings +SELECT_CONTENT_SOURCE = "Select content provider" +CONTENT_SOURCE= "Content Source" +CONTENT_SOURCE_DESC= "Select source of article" +CATEGORY_LABEL = "Category" +CATEGORY_DESC = "Show/Hide category" +CATEGORY_LINK_LABEL = "Category link" +CATEGORY_LINK_DESC = "" +READMORE_TEXT = "Readmore label" +READMORE_TEXT_DESC = "This option allow you to change the readmore text in any language" + +;Joomla Article settings +JOOM_CATEGOTY_FILTER_LABEL ="Category filter" +JOOM_CATEGOTY_FILTER_DESC ="" +JCATEGORY="Category" +JCATEGORY_DESC="Selects Articles from one or more Categories. If no selection will show all categories as default" +COUNT_LABEL="Count" +COUNT_DESC="The number of Articles to display (the default is 5)" +ORDERING_LABEL ="Order" +ORDERING_DESC="Ordering Options. Touched First means: -Modified First if article has been modified at least one time and -Created if article has only been created." +ORDERING_CREATED_DATE="Created Date" +ORDERING_PUBLISHED_DATE="Published Date" +ORDERING_ORDERING="Ordering" +ORDERING_RANDOM="Random" + +AUTHORS_LABEL="Authors" +AUTHORS_LABEL="Filter by authors" +FEATURED_LABEL="Featured Articles" +FEATURED_DESC="Show/Hide Articles designated as Featured" + +;K2 settings +K2_CATEGORY_FILTER="Category filter" +K2_CHILDREN_CATEGORIES="Children Categories" +K2_TIME_RANGE="Time range" +K2_TIME_RANGE_DESC="Time range (if ordering is set to 'most popular' or 'most commented')" + +;Layout Settings +COM_MODULES_LAYOUT_SETTINGS_FIELDSET_LABEL="Layout Settings" +SCROLLER_LAYOUT="Scroller layout" +SCROLLER_LAYOUT_DESC="Select scroller layout" +MODULE_WIDTH="Module width" +MODULE_WIDTH_DESC="Specify pixel width of the module." +MODULE_HEIGHT="Module height" +MODULE_HEIGHT_DESC="Specify pixel height of the module." +NUMBER_COL="Number of columns" +NUMBER_COL_DESC="Number of columns you want to show in each pane, it will consider as row in vertical layout" +MAX_ARTICLE="Maximum items" +MAX_ARTICLE_DESC="Maximum number of items you want to show" +IMAGE_POSITION="Image postion" +IMAGE_POSITION_DESC="Image Position" +CONTROL_MARGIN="Control arrow margin" +CONTROL_MARGIN_DESC=" Control arrow margin" + +COM_MODULES_SCROLLER_SETTINGS_FIELDSET_LABEL=" Scroller Settings" +SCROLLER_STYLE="Scroller style" +SCROLLER_STYLE_DESC="Scroller animation style" +ANIMATION_SPEED="Animation speed" +ANIMATION_SPEED_DESC="The time (in milliseconds) of the scrolling animation" +REPEAT="Repeat" +REPEAT_DESC="A property indicating whether scrolling starts from the beginning when the last item is exceeded making an infinite loop" +KEYBOARD_NAVIGATION="Keyboard Navigation" +KEYBOARD_NAVIGATION_DESC="Whether or not keyboard arrow key navigation is enabled. The horizontal scroller moves backwards/forwards with the left/right arrow keys; the vertical scroller moves with the up/down keys" +AUTO_PLAY="Auto play" +AUTO_PLAY_DESC="When enabled the scrolling starts automatically upon page load" +INTERVAL="Interval" +INTERVAL_DESC="The time (in milliseconds) between autoscrolls" +AUTO_PAUSE="Auto Pause" +AUTO_PAUSE_DESC="When any navigational buttons are mouseovered, the autoscrolling will pause" + +COM_MODULES_ARTICLE_SETTINGS_FIELDSET_LABEL="Item Settings" +ARTICLE_TITLE="Item title" +ARTICLE_TITLE_DESC="Show/Hide item title" +TITLE_LINK="Title Link " +TITLE_LINK_DESC="Select title will linkable or not" +ITEM_IMG=" Item image" +ITEM_IMG_DESC=" Show/Hide Item Image" +IMAGE_LINK="Image link" +IMAGE_LINK_DESC="Image will linkable or not" +BROWSER_NAV="On Click, Open in" +INTRO_TEXT="Introtext" +INTRO_TEXT_DESC="Show/Hide Introtext" +INTRO_TEXT_LIMIT_TYPE="Limited by" +INTRO_TEXT_LIMIT_TYPE_DESC="Select introtext filter option" +WORDS= "Words" +CHARACTERS= "Characters" +INTRO_TEXT_LIMIT="Introtext limit" +INTRO_TEXT_LIMIT_DESC="Introtext Charecter limit. Leave it blank to show all charecters." +READMORE= "Readmore" +READMORE_DESC= "Show/Hide Readmore button" +NAVIGATOR= "Navigator" +NAVIGATOR_DESC= "Show/Hide navigator button" + +COM_MODULES_IMAGE_SETTINGS_FIELDSET_LABEL="Image Settings" +IMAGE_RESIZE="Image resize" +IMAGE_RESIZE_DESC="Change your image dimensions forcefully" +K2_IMAGE_RESIZE="K2 image resize" +K2_IMAGE_RESIZE_DESC="You can select K2 image size from K2 settings. If you enable this option then K2 image will resize forcefully" +IMAGE_WIDTH="Image width" +IMAGE_WIDTH_DESC=" Set image width in px value. Do not enter px on this value" +IMAGE_HEIGHT="Image height" +IMAGE_HEIGHT_DESC=" Set image height in px value. Do not enter px on this value" + +;Advance +MODULECLASS_SFX="Module suffix" +MODULECLASS_SFX_DESC="Module suffix is used to get other module styling" +AUTO_MODULE_ID="Automatic module ID" +AUTO_MODULE_ID_DESC="Automatic module ID is useful if you don't need to style a module with its ID and you want to be sure that you won't have any script conflict based on the same ID in two or more module instances." +MODULE_UNIQUE_ID="Module ID" +MODULE_UNIQUE_ID_DESC="This option works only if you have automatic module id option disabled. Then you can specify your own static module ID." +LOAD_JQUERY="Load jQuery" +LOAD_JQUERY_DESC="This module needs jQuery version 1.4.2+ to run, if your template already load this version then you can disbale this." +JQUERY_SOURCE="jQuery Source" +JQUERY_SOURCE_DESC="Loading jQuery form Google CDN is Recommended when you are running this module on live site. You can load from Module Core when you don't have any internet connection or for testing purpose." + +IMPORTANT = "Important!" +INFORMATION = "Information" +DOC_MSG = "Please view the extension documentation site for more information about the settings below." + +DOC_SUPPORT_MESSAGE = "Free extensions support is limited and provided as user by user in our Forum. To get premium support consider buying $10 Quick Support plan valid 7 days from purchase." + +;Spacer +TITLE_SETTINGS_LABEL = "Title settings" +TITLE_SETTINGS_DESC = "" +INTRO_SETTINGS_LABEL = "Intro settings" +INTRO_SETTINGS_DESC = "" +IMAGE_SETTINGS_LABEL = "Image settings" IMAGE_SETTINGS_DESC = "" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.ini b/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.ini index b2118ec0..3cb6f92c 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.ini @@ -1,76 +1,76 @@ -COM_NONPROFIT_NONPROFIT="Non-profit" -COM_NONPROFIT_DB_CONNECT_ERROR="Nem sikerült a csatlakozás az adatbázishoz!" -COM_NONPROFIT_EXIST_RECORD="Ennek a felhasználónak már van kulcsa!" -COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Kevés non-profit kód" -COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Adminisztrátor,\n\nA rendszerben jelenleg csak %s darab kiosztható non-profit kulcs van." -COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="Non-profit kód elfogyott" -COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Adminisztrátor,\n\nNincs több kiosztható non-profit kulcs!" -COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit kódot igényelt: %s" -COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit kódot aktivált: %s" -COM_NONPROFIT_RESTART_SOFTWARE="A non-profit kód aktíválódik a szoftver újraindítása után." -COM_NONPROFIT_RESTART_SOFTWARE_LIVE="A non-profit kód aktíválódik a szoftver újraindítása után." -COM_NONPROFIT_FREE_KEYS="Szabad kódok" -COM_NONPROFIT_BUTTON="Non-Profit aktiválása" -COM_NONPROFIT_PRESS_BUTTON="A Non-Profit változatra való átálláshoz nyomd meg az alábbi gombot" -COM_NONPROFIT_NO_FREE_KEY="Nincs több kiosztható non-profit kulcs!" -COM_NONPROFIT_EXIST_ISID="Ehhez a felhasználói fiókhoz már tartozik ARCHLine.XP Non-Profit verzió." -COM_NONPROFIT_EXIST_ISID_LIVE="Ehhez a felhasználói fiókhoz már tartozik ARCHLine.XP Live Non-Profit verzió." -COM_NONPROFIT_SUFFIX="Segítségért fordulj hozzánk az alábbi email címen: info@archline.hu." -COM_NONPROFIT_SUCCESS="Non-Profit aktiválása sikeres" -COM_NONPROFIT_DESC="Amennyiben nem indult újra az ARCHLine.XP program, akkor kattints erre a gombra" -COM_NONPROFIT_DESC_LIVE="A licenc érvényesítéséhez kattints erre a gombra:" -COM_NONPROFIT_RESTART="ARCHLine.XP újraindítása" -COM_NONPROFIT_RESTART_LIVE="Live Non-Profit érvényesítése" -COM_NONPROFIT_HARDLOCK="Kulcs" -COM_NONPROFIT_PASS="Sorozatszám" -COM_NONPROFIT_WARNING="Amennyiben a gomb inaktív, már van Non-profit kódod ebből a változatból. Aktiváláshoz indítsd el a programot és kattints a Súgó menü - Névjegy - Verzió váltás gombra. Ide másold be a sorozatszámodat, ami a következő: " -COM_NONPROFIT_EMAIL_BODY_LIVE="Keltsd életre terveidet az ARCHLine.XP Live-val!

                  -Kedves %s,

                  - -A kért 60 napos ingyenes időszakot biztosító Non-profit kód:
                  -%s

                  - -A Non-profit verzió váltáshoz indítsd el az
                  -ARCHLine.XP LIVE programot és kattints a Regisztráció gombra.
                  -Írd be a kapott Non-Profit sorozatszámot, majd nyomd meg az OK gombot.

                  - -Oktatóanyagok.
                  ------------------------------------------------------------------------------------------------------------------
                  -Segítségre lenne szükséged?

                  - -Elakadtál valahol? Íme a leggyakoribb tippek, amelyek segítenek a program megismerésében.
                  -A programban kattints a súgó gombra az ARCHLine.XP LIVE áttekintéséhez.
                  -A közvetlen személyes segítségért forduljon hozzánk.

                  - -A termékinformációkért és az árakért lásd az ARCHLine.XP LIVE vásárlás oldalt.

                  - -CadLine Kft
                  -+36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                  -1037 Montevideo utca 3/B.
                  -Budapest, Magyarország
                  " -COM_NONPROFIT_EMAIL_BODY="Keltsd életre terveidet az ARCHLine.XP-vel!

                  -Kedves %s,

                  - -A kért 60 napos ingyenes időszakot biztosító Non-profit kód:
                  -%s

                  - -A Non-profit verzió váltáshoz indítsd el az
                  -ARCHLine.XP programot és kattints a Regisztráció gombra.
                  -Írd be a kapott Non-Profit sorozatszámot, majd nyomd meg az OK gombot.

                  - -Oktatóanyagok.
                  ------------------------------------------------------------------------------------------------------------------
                  -Segítségre lenne szükséged?

                  - -Elakadtál valahol? Íme a leggyakoribb tippek, amelyek segítenek a program megismerésében.
                  -A programban kattints a súgó gombra az ARCHLine.XP áttekintéséhez.
                  -A közvetlen személyes segítségért forduljon hozzánk.

                  - -A termékinformációkért és az árakért lásd az ARCHLine.XP vásárlás oldalt.

                  - -CadLine Kft
                  -+36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                  -1037 Montevideo utca 3/B.
                  -Budapest, Magyarország
                  " -COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED="Másik gép van regisztrálva ehhez a Non-Profit kulcshoz" +COM_NONPROFIT_NONPROFIT="Non-profit" +COM_NONPROFIT_DB_CONNECT_ERROR="Nem sikerült a csatlakozás az adatbázishoz!" +COM_NONPROFIT_EXIST_RECORD="Ennek a felhasználónak már van kulcsa!" +COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Kevés non-profit kód" +COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Adminisztrátor,\n\nA rendszerben jelenleg csak %s darab kiosztható non-profit kulcs van." +COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="Non-profit kód elfogyott" +COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Adminisztrátor,\n\nNincs több kiosztható non-profit kulcs!" +COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit kódot igényelt: %s" +COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit kódot aktivált: %s" +COM_NONPROFIT_RESTART_SOFTWARE="A non-profit kód aktíválódik a szoftver újraindítása után." +COM_NONPROFIT_RESTART_SOFTWARE_LIVE="A non-profit kód aktíválódik a szoftver újraindítása után." +COM_NONPROFIT_FREE_KEYS="Szabad kódok" +COM_NONPROFIT_BUTTON="Non-Profit aktiválása" +COM_NONPROFIT_PRESS_BUTTON="A Non-Profit változatra való átálláshoz nyomd meg az alábbi gombot" +COM_NONPROFIT_NO_FREE_KEY="Nincs több kiosztható non-profit kulcs!" +COM_NONPROFIT_EXIST_ISID="Ehhez a felhasználói fiókhoz már tartozik ARCHLine.XP Non-Profit verzió." +COM_NONPROFIT_EXIST_ISID_LIVE="Ehhez a felhasználói fiókhoz már tartozik ARCHLine.XP Live Non-Profit verzió." +COM_NONPROFIT_SUFFIX="Segítségért fordulj hozzánk az alábbi email címen: info@archline.hu." +COM_NONPROFIT_SUCCESS="Non-Profit aktiválása sikeres" +COM_NONPROFIT_DESC="Amennyiben nem indult újra az ARCHLine.XP program, akkor kattints erre a gombra" +COM_NONPROFIT_DESC_LIVE="A licenc érvényesítéséhez kattints erre a gombra:" +COM_NONPROFIT_RESTART="ARCHLine.XP újraindítása" +COM_NONPROFIT_RESTART_LIVE="Live Non-Profit érvényesítése" +COM_NONPROFIT_HARDLOCK="Kulcs" +COM_NONPROFIT_PASS="Sorozatszám" +COM_NONPROFIT_WARNING="Amennyiben a gomb inaktív, már van Non-profit kódod ebből a változatból. Aktiváláshoz indítsd el a programot és kattints a Súgó menü - Névjegy - Verzió váltás gombra. Ide másold be a sorozatszámodat, ami a következő: " +COM_NONPROFIT_EMAIL_BODY_LIVE="Keltsd életre terveidet az ARCHLine.XP Live-val!

                  +Kedves %s,

                  + +A kért 60 napos ingyenes időszakot biztosító Non-profit kód:
                  +%s

                  + +A Non-profit verzió váltáshoz indítsd el az
                  +ARCHLine.XP LIVE programot és kattints a Regisztráció gombra.
                  +Írd be a kapott Non-Profit sorozatszámot, majd nyomd meg az OK gombot.

                  + +Oktatóanyagok.
                  +-----------------------------------------------------------------------------------------------------------------
                  +Segítségre lenne szükséged?

                  + +Elakadtál valahol? Íme a leggyakoribb tippek, amelyek segítenek a program megismerésében.
                  +A programban kattints a súgó gombra az ARCHLine.XP LIVE áttekintéséhez.
                  +A közvetlen személyes segítségért forduljon hozzánk.

                  + +A termékinformációkért és az árakért lásd az ARCHLine.XP LIVE vásárlás oldalt.

                  + +CadLine Kft
                  ++36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                  +1037 Montevideo utca 3/B.
                  +Budapest, Magyarország
                  " +COM_NONPROFIT_EMAIL_BODY="Keltsd életre terveidet az ARCHLine.XP-vel!

                  +Kedves %s,

                  + +A kért 60 napos ingyenes időszakot biztosító Non-profit kód:
                  +%s

                  + +A Non-profit verzió váltáshoz indítsd el az
                  +ARCHLine.XP programot és kattints a Regisztráció gombra.
                  +Írd be a kapott Non-Profit sorozatszámot, majd nyomd meg az OK gombot.

                  + +Oktatóanyagok.
                  +-----------------------------------------------------------------------------------------------------------------
                  +Segítségre lenne szükséged?

                  + +Elakadtál valahol? Íme a leggyakoribb tippek, amelyek segítenek a program megismerésében.
                  +A programban kattints a súgó gombra az ARCHLine.XP áttekintéséhez.
                  +A közvetlen személyes segítségért forduljon hozzánk.

                  + +A termékinformációkért és az árakért lásd az ARCHLine.XP vásárlás oldalt.

                  + +CadLine Kft
                  ++36 1 388 9733 | +36 1 454 1678 | +36 1 388 9870
                  +1037 Montevideo utca 3/B.
                  +Budapest, Magyarország
                  " +COM_NONPROFIT_ANOTHER_MACHINE_REGISTERED="Másik gép van regisztrálva ehhez a Non-Profit kulcshoz" COM_NONPROFIT_EXPIRED="Ez a Non-Profit kulcs lejárt" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.sys.ini b/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.sys.ini index 4763fc67..055deef0 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.sys.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.com_nonprofit.sys.ini @@ -1,11 +1,11 @@ -COM_NONPROFIT_NONPROFIT="Non-profit" -COM_NONPROFIT_DB_CONNECT_ERROR="Nem sikerült a csatlakozás az adatbázishoz!" -COM_NONPROFIT_EXIST_RECORD="Ennek a felhasználónak már van kulcsa!" -COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Kevés non-profit kód" -COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Adminisztrátor,\n\nA rendszerben jelenleg csak %s darab kiosztható non-profit kulcs van." -COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="Non-profit kód elfogyott" -COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Adminisztrátor,\n\nNincs több kiosztható non-profit kulcs!" -COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit kódot igényelt: %s" -COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit kódot aktivált: %s" -COM_NONPROFIT_RESTART_SOFTWARE="A non-profit kód aktíválódik a szoftver újraindítása után." +COM_NONPROFIT_NONPROFIT="Non-profit" +COM_NONPROFIT_DB_CONNECT_ERROR="Nem sikerült a csatlakozás az adatbázishoz!" +COM_NONPROFIT_EXIST_RECORD="Ennek a felhasználónak már van kulcsa!" +COM_NONPROFIT_MAIL_KEY_LOW_SUBJECT="Kevés non-profit kód" +COM_NONPROFIT_MAIL_KEY_LOW_BODY="Hello Adminisztrátor,\n\nA rendszerben jelenleg csak %s darab kiosztható non-profit kulcs van." +COM_NONPROFIT_MAIL_NO_KEY_SUBJECT="Non-profit kód elfogyott" +COM_NONPROFIT_MAIL_NO_KEY_BODY="Hello Adminisztrátor,\n\nNincs több kiosztható non-profit kulcs!" +COM_NONPROFIT_KEY_REQUEST_INFO="Non-profit kódot igényelt: %s" +COM_NONPROFIT_KEY_ACTIVATION_INFO="Non-profit kódot aktivált: %s" +COM_NONPROFIT_RESTART_SOFTWARE="A non-profit kód aktíválódik a szoftver újraindítása után." COM_NONPROFIT_FREE_KEYS="Szabad kódok" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.com_presentation.ini b/deployed/_shared/language/hu-HU/hu-HU.com_presentation.ini index efa1b92c..60279a3a 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.com_presentation.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.com_presentation.ini @@ -1,54 +1,54 @@ -COM_PRESENTATION_PRESENTATION="Prezentáció" -COM_PRESENTATION_DB_CONNECT_ERROR="Nem sikerült a csatlakozás az adatbázishoz!" -COM_PRESENTATION_FILL_THE_FORM="Kérjük töltse ki az űrlapot" -COM_PRESENTATION_CHOOSE_CATEGORY="Válassza ki azt a kategóriát, ami a legjobban jelemzi Önt" -COM_PRESENTATION_USERPROF="Szakma" -COM_PRESENTATION_FIRSTNAME="Keresztnév" -COM_PRESENTATION_LASTNAME="Vezetéknév" -COM_PRESENTATION_COMPANY="Cég neve" -COM_PRESENTATION_STREET="Utca, házszám" -COM_PRESENTATION_CITY="Város" -COM_PRESENTATION_ZIP="Irányítószám" -COM_PRESENTATION_COUNTRY="Ország" -COM_PRESENTATION_EMAIL="Email cím" -COM_PRESENTATION_PHONE="Telefonszám" -COM_PRESENTATION_PREFERRED_TIMES="Önnek megfelelő napszak" -COM_PRESENTATION_PREFERRED_MORNING="Délelött 10-12 óra közt" -COM_PRESENTATION_PREFERRED_AFTERNOON="Délután 14-17 óra közt" -COM_PRESENTATION_PREFERRED_DAYS="Önnek megfelelő nap(ok)" -COM_PRESENTATION_PREFERRED_DAYS_MONDAY="Hétfő" -COM_PRESENTATION_PREFERRED_DAYS_TUESDAY="Kedd" -COM_PRESENTATION_PREFERRED_DAYS_WEDNESDAY="Szerda" -COM_PRESENTATION_PREFERRED_DAYS_THURSDAY="Csütörtök" -COM_PRESENTATION_PREFERRED_DAYS_FRIDAY="Péntek" -COM_PRESENTATION_SOFTWARE_USED="Jelenleg használt szoftver" -COM_PRESENTATION_ARCHLINEXP="ARCHLine.XP" -COM_PRESENTATION_AUTOCAD="AutoCAD" -COM_PRESENTATION_REVIT="Revit" -COM_PRESENTATION_VECTORWORKS="Vectorworks" -COM_PRESENTATION_ARCHICAD="ArchiCAD" -COM_PRESENTATION_OTHER="Egyéb" -COM_PRESENTATION_OTHER_FILL="Egyéb szoftver" -COM_PRESENTATION_INTERESTED_IN="Érdeklődési kör" -COM_PRESENTATION_INTERIOR_DESIGN="Lakberendezés" -COM_PRESENTATION_ARCHITECT="Építészet" -COM_PRESENTATION_VIRTUAL_STAGING="Virtual Staging" -COM_PRESENTATION_RENDERING="Renderelés" -COM_PRESENTATION_DIGITAL_MOOD_BOARD="Montázs" -COM_PRESENTATION_INTEND="CAD szoftver vásárlást tervez" -COM_PRESENTATION_DONT_INTEND="Nem tervezek CAD szoftver vásárlást" -COM_PRESENTATION_MAYBE_LATER="Talán később" -COM_PRESENTATION_1_MONTH="1 hónapon belül" -COM_PRESENTATION_1_3_MONTH="1-3 hónap múlva" -COM_PRESENTATION_4_6_MONTH="4-6 hónap múlva" -COM_PRESENTATION_1_YEAR="1 éven belül" -COM_PRESENTATION_NOTE="Megjegyzés" -COM_PRESENTATION_NOTE2="Bármilyen egyéb információ" -COM_PRESENTATION_SUBMIT="Elküld" -COM_PRESENTATION_SELECT="Válasszon" -COM_PRESENTATION_MAIL="Hello Adminisztrátor,

                  Az alábbi felhasználó online prezentációt kért:
                  " -COM_PRESENTATION_SUCCESS="A prezentáció kérés sikeresen kézbesítve lett. Az oktatónk hamarosan keresni fogja Önt." -COM_PRESENTATION_ERROR="Hiba" -COM_PRESENTATION_STAR="A csillaggal jelölt mezők kitöltése kötelező" -COM_PRESENTATION_ERROR_SELECT="Kérem válasszon egyet a listából" +COM_PRESENTATION_PRESENTATION="Prezentáció" +COM_PRESENTATION_DB_CONNECT_ERROR="Nem sikerült a csatlakozás az adatbázishoz!" +COM_PRESENTATION_FILL_THE_FORM="Kérjük töltse ki az űrlapot" +COM_PRESENTATION_CHOOSE_CATEGORY="Válassza ki azt a kategóriát, ami a legjobban jelemzi Önt" +COM_PRESENTATION_USERPROF="Szakma" +COM_PRESENTATION_FIRSTNAME="Keresztnév" +COM_PRESENTATION_LASTNAME="Vezetéknév" +COM_PRESENTATION_COMPANY="Cég neve" +COM_PRESENTATION_STREET="Utca, házszám" +COM_PRESENTATION_CITY="Város" +COM_PRESENTATION_ZIP="Irányítószám" +COM_PRESENTATION_COUNTRY="Ország" +COM_PRESENTATION_EMAIL="Email cím" +COM_PRESENTATION_PHONE="Telefonszám" +COM_PRESENTATION_PREFERRED_TIMES="Önnek megfelelő napszak" +COM_PRESENTATION_PREFERRED_MORNING="Délelött 10-12 óra közt" +COM_PRESENTATION_PREFERRED_AFTERNOON="Délután 14-17 óra közt" +COM_PRESENTATION_PREFERRED_DAYS="Önnek megfelelő nap(ok)" +COM_PRESENTATION_PREFERRED_DAYS_MONDAY="Hétfő" +COM_PRESENTATION_PREFERRED_DAYS_TUESDAY="Kedd" +COM_PRESENTATION_PREFERRED_DAYS_WEDNESDAY="Szerda" +COM_PRESENTATION_PREFERRED_DAYS_THURSDAY="Csütörtök" +COM_PRESENTATION_PREFERRED_DAYS_FRIDAY="Péntek" +COM_PRESENTATION_SOFTWARE_USED="Jelenleg használt szoftver" +COM_PRESENTATION_ARCHLINEXP="ARCHLine.XP" +COM_PRESENTATION_AUTOCAD="AutoCAD" +COM_PRESENTATION_REVIT="Revit" +COM_PRESENTATION_VECTORWORKS="Vectorworks" +COM_PRESENTATION_ARCHICAD="ArchiCAD" +COM_PRESENTATION_OTHER="Egyéb" +COM_PRESENTATION_OTHER_FILL="Egyéb szoftver" +COM_PRESENTATION_INTERESTED_IN="Érdeklődési kör" +COM_PRESENTATION_INTERIOR_DESIGN="Lakberendezés" +COM_PRESENTATION_ARCHITECT="Építészet" +COM_PRESENTATION_VIRTUAL_STAGING="Virtual Staging" +COM_PRESENTATION_RENDERING="Renderelés" +COM_PRESENTATION_DIGITAL_MOOD_BOARD="Montázs" +COM_PRESENTATION_INTEND="CAD szoftver vásárlást tervez" +COM_PRESENTATION_DONT_INTEND="Nem tervezek CAD szoftver vásárlást" +COM_PRESENTATION_MAYBE_LATER="Talán később" +COM_PRESENTATION_1_MONTH="1 hónapon belül" +COM_PRESENTATION_1_3_MONTH="1-3 hónap múlva" +COM_PRESENTATION_4_6_MONTH="4-6 hónap múlva" +COM_PRESENTATION_1_YEAR="1 éven belül" +COM_PRESENTATION_NOTE="Megjegyzés" +COM_PRESENTATION_NOTE2="Bármilyen egyéb információ" +COM_PRESENTATION_SUBMIT="Elküld" +COM_PRESENTATION_SELECT="Válasszon" +COM_PRESENTATION_MAIL="Hello Adminisztrátor,

                  Az alábbi felhasználó online prezentációt kért:
                  " +COM_PRESENTATION_SUCCESS="A prezentáció kérés sikeresen kézbesítve lett. Az oktatónk hamarosan keresni fogja Önt." +COM_PRESENTATION_ERROR="Hiba" +COM_PRESENTATION_STAR="A csillaggal jelölt mezők kitöltése kötelező" +COM_PRESENTATION_ERROR_SELECT="Kérem válasszon egyet a listából" COM_PRESENTATION_ERROR_FIELD="Kérem töltse ki ezt a mezőt" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.com_presentation.sys.ini b/deployed/_shared/language/hu-HU/hu-HU.com_presentation.sys.ini index b8cb9327..b64f0ebf 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.com_presentation.sys.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.com_presentation.sys.ini @@ -1,2 +1,2 @@ -COM_PRESENTATION_PRESENTATION="Presentation" +COM_PRESENTATION_PRESENTATION="Presentation" COM_PRESENTATION_DESCRIPTION="Presentation component leírása..." \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.ini index dbc04238..dc473544 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.ini @@ -1,10 +1,10 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozz fel heti hírlevelünkre!" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Csatlakozz az ARCHLine.XP közösségéhez, értesülj elsők között oktatóvideóinkról, akcióinkről és híreinkről! " -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Név" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Email" -MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozom" -MOD_AL_NEWSLETTER_DONE="Köszönjük, hogy feliratkozott hírlevelünkre" -MOD_AL_NEWSLETTER_PHONE="Telefonszám" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozz fel heti hírlevelünkre!" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Csatlakozz az ARCHLine.XP közösségéhez, értesülj elsők között oktatóvideóinkról, akcióinkről és híreinkről! " +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="Név" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Email" +MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozom" +MOD_AL_NEWSLETTER_DONE="Köszönjük, hogy feliratkozott hírlevelünkre" +MOD_AL_NEWSLETTER_PHONE="Telefonszám" MOD_AL_NEWSLETTER_PHONE_DESC="Telefonszám" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini index 243ea56c..e0437556 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_al_newsletter.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozás" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.ini index 109436c7..e62f87f8 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.ini @@ -1,4 +1,4 @@ -MOD_AL_UPLOAD_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
                  -Üdvözlettel, CadLine Kft." -MOD_AL_UPLOAD_VOTE="Szavazat" +MOD_AL_UPLOAD_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
                  +Üdvözlettel, CadLine Kft." +MOD_AL_UPLOAD_VOTE="Szavazat" MOD_AL_UPLOAD_VOTE_2="Szavazok" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.sys.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.sys.ini index 243ea56c..e0437556 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.sys.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_al_upload.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozás" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.ini index 2253a9eb..0d56fe37 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.ini @@ -1,8 +1,8 @@ -MOD_AL_VOTE_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
                  -Üdvözlettel, CadLine Kft." -MOD_AL_VOTE_VOTE="Szavazat" -MOD_AL_VOTE_VOTE_2="Szavazok" -MOD_AL_VOTE_FIRST_PLACE="ELSŐ HELYEZETT: SÁGHY KATA" -MOD_AL_VOTE_SECOND_PLACE="Második helyezett: Elek Miklós" -MOD_AL_VOTE_THIRD_PLACE="Harmadik helyezett: Sipos Anett" +MOD_AL_VOTE_SUCCESS="Köszönjük, hogy részt vettél a szavazáson, leadott szavazatod érvényes volt.
                  +Üdvözlettel, CadLine Kft." +MOD_AL_VOTE_VOTE="Szavazat" +MOD_AL_VOTE_VOTE_2="Szavazok" +MOD_AL_VOTE_FIRST_PLACE="ELSŐ HELYEZETT: SÁGHY KATA" +MOD_AL_VOTE_SECOND_PLACE="Második helyezett: Elek Miklós" +MOD_AL_VOTE_THIRD_PLACE="Harmadik helyezett: Sipos Anett" MOD_AL_VOTE_MORE_PICTURES="További pályamunkák:" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.sys.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.sys.ini index 243ea56c..e0437556 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.sys.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_al_vote.sys.ini @@ -1,7 +1,7 @@ -MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" -MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." -MOD_AL_NEWSLETTER_NAME="Név" -MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" -MOD_AL_NEWSLETTER_EMAIL="Email" -MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" +MOD_AL_NEWSLETTER_SUBSCRIBE_HEADER="Iratkozzon fel hírlevelünkre" +MOD_AL_NEWSLETTER_SUBSCRIBE_TEXT="Szeretné a legújabb és legjobb híreket blogunkról egyenesen a postaládájába? Elküldi nekünk az adatait, és kap egy kedves heti e-mailt." +MOD_AL_NEWSLETTER_NAME="Név" +MOD_AL_NEWSLETTER_NAME_PLACEHOLDER="A neve" +MOD_AL_NEWSLETTER_EMAIL="Email" +MOD_AL_NEWSLETTER_EMAIL_PLACEHOLDER="Az email címe" MOD_AL_NEWSLETTER_SUBSCRIBE_BTN="Feliratkozás" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_alusers.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_alusers.ini index 4f00e38b..cde93f83 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_alusers.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_alusers.ini @@ -1,98 +1,98 @@ -MOD_ARCHLINE_USERS="ARCHLine felhasználók" -MOD_ARCHLINE_PROGRAM_LEGEND="Program részletek" -MOD_ARCHLINE_KEY_NUMBER_LEGEND="Kulcs szám" -MOD_ARCHLINE_NEWSLETTER_SETTINGS="Hírlevél beállítások" -MOD_ARCHLINE_PERSONAL_DATA_SETTINGS="Személyes adatok szerkesztése" -MOD_ARCHLINE_PERSONAL_DATA_SUCCESS="Személyes adatok sikeresen elmentve" -MOD_ARCHLINE_INVOICE_DATA_SUCCESS="Billing information saved successfully" -MOD_ARCHLINE_INVOICE_DATA_SETTINGS="Számlázási adatok megtekintése" -MOD_ARCHLINE_INVOICEC="Számlák" -MOD_ARCHLINE_DOWNLOAD="Letöltés" -MOD_ARCHLINE_CONTRACTS="Szerződések" -MOD_ARCHLINE_BACK="Vissza" -MOD_ARCHLINE_DATE="Dátum" -MOD_ARCHLINE_NEXT_INVOICE="Következő számla" -MOD_ARCHLINE_PRODUCT="Termék" -MOD_ARCHLINE_AMOUNT="Összeg" -MOD_ARCHLINE_DUE_DATE="Esedékesség" -MOD_ARCHLINE_MONEY="Ft" -MOD_ARCHLINE_VAT="ÁFA" -MOD_ARCHLINE_NEWSLETTER_SETTINGS_SUCCESS="Hírlevél beállítások sikeresen elmentve" -MOD_ARCHLINE_NEWSLETTER_LEGEND="Pipáld be, ha szeretnél hírleveleket kapni erre az email címre." -MOD_ARCHLINE_NEWSLETTER_TEXT1="A jelölőnégyzetek beállításával tudod kiválasztani az email címet, amire hírleveleket küldhetünk neked." -MOD_ARCHLINE_NEWSLETTER_TEXT2="Megjegyzés: Felhívjuk a figyelmedet, hogy a problémamentes licenckezelés biztosítása érdekében küldött leveleket (licenc lejárat, hosszabbítás vagy más változás) a hírlevelektől függetlenül küldjük el a megadott e-mail címre." -MOD_ARCHLINE_NEWSLETTER_TEXT3="Ha úgy döntesz, hogy nem szeretnél többé emaileket kapni tőlünk (megszünt email cím, kolléga elhagyta a céget, új szolgáltató, stb...), kérünk, küldj egy emailt %s email címre, és véglegesen eltávolítjuk az adataidat a terjesztési listáról." -MOD_ARCHLINE_YES="Igen" -MOD_ARCHLINE_NO="Nem" -MOD_ARCHLINE_ACTIONS="Licenc áthelyezése másik számítógépre" -MOD_ARCHLINE_DATAS="Adatok" -MOD_ARCHLINE_VERSION_LEGEND="Verzió" -MOD_ARCHLINE_PROGRAM_TYPE_LEGEND="Program típus" -MOD_ARCHLINE_PROGRAM_LIC_TYPE_LEGEND="A licenc természete" -MOD_ARCHLINE_SERIAL_NUMBER_LEGEND="Sorozatszám" -MOD_ARCHLINE_ACTIVATION_NUMBER_LEGEND="Aktiválási kód (regisztrálás után jelenik meg)" -MOD_ARCHLINE_COMPUTER_NAME="Gépnév" -MOD_ARCHLINE_COMPUTER_ID="Gépazonosító" -MOD_ARCHLINE_EXPIRE_DATE="Aktiválás érvényessége" -MOD_ARCHLINE_PERPETUAL="Végleges licenc" -MOD_ARCHLINE_AFTER_DEACTIVATE="A deaktiválás után a licencet át tudja helyezni másik számítógépre." -MOD_ARCHLINE_MODULES_LEGEND="Modulok" -MOD_ARCHLINE_RELEASE="Licenc eltávolítása másik számítógépen való használathoz" -MOD_ARCHLINE_RELEASE_FLOATING="A licenc használatban van. Licenc feloldása másik számítógépen való használatra" -MOD_ARCHLINE_SHOW_ALL_LEGEND="Előző változatok" -MOD_ARCHLINE_SHOW_FAQ_LEGEND="Segítség a letöltéshez és aktiváláshoz" -MOD_ARCHLINE_PASSWORD_CHANGE="Jelszó módosítás" -MOD_ARCHLINE_PASSWORD_CHANGE_SUCCESS="Jelszó módosítás sikeresen elmentve" -MOD_ARCHLINE_PASSWORD_CHANGE_ERROR="Jelszó módosítás sikertelen: a jelszó nem egyezik a jelszó megerősítéssel" -MOD_ARCHLINE_PASSWORD_CHANGE_ERROR2="Jelszó módosítás sikertelen: a jelszó hossza nem megfelelő (6-32 karakter)" -MOD_ARCHLINE_PASSWORD_CHANGE_TEXT1="A jelszavad módosításához írd be a lenti mezőkbe az új jelszavadat, és kattints a 'Jelszó mentés' gombra. Az új jelszavad a következő bejelentkezéstől kell használnod." -MOD_ARCHLINE_PASSWORD_SAVE="Jelszó mentés" -MOD_ARCHLINE_PASSWORD="Új jelszó" -MOD_ARCHLINE_PASSWORD2="Új jelszó megerősítése" -MOD_ARCHLINE_COUNTRY="Ország" -MOD_ARCHLINE_NAME="Név" -MOD_ARCHLINE_USERNAME="Felhasználói név" -MOD_ARCHLINE_ZIP="Irányítószám" -MOD_ARCHLINE_CITY="Város" -MOD_ARCHLINE_ADDRESS="Cím" -MOD_ARCHLINE_EMAIL="eMail" -MOD_ARCHLINE_PHONE="Telefonszám" -MOD_ARCHLINE_PROFESSION="Foglalkozás" -MOD_ARCHLINE_COMPANY="Cég" -MOD_ARCHLINE_NEWSLETTER="Hírlevél" -MOD_ARCHLINE_EACCOUNT="Elektronikus számla" -MOD_ARCHLINE_TAXNUMBER="Adószám" -MOD_ARCHLINE_ASK_EDIT="Módosítás kérése" -MOD_ARCHLINE_EDIT_INVOICE="office@cadline.hu" -MOD_ARCHLINE_SUBJECT="Számlázási adat módosítási kérelem" -MOD_ARCHLINE_LAST_EMAIL_NOTICE="ARCHLine.XP sorozatszámmal rendelkező felhasználó az email címét az info@cadline.hu címre küldött kéréssel törölheti" -MOD_ARCHLINE_ORIG="Eredeti" -MOD_ARCHLINE_NEW="Új" -MOD_ARCHLINE_NEW_EMAIL="Új email cím hozzáadása" -MOD_ARCHLINE_DEL_EMAIL="E-mail cím eltávolítása" -MOD_ARCHLINE_SUBSCRIBE_NEWSLETTER="Feliratkozott hírlevélre" -MOD_ARCHLINE_UNSUBSCRIBE_NEWSLETTER="Leiratkozott hírlevélről" -MOD_ARCHLINE_NEWSLETTER_ENABLED="Hírlevél engedélyezés" -MOD_ARCHLINE_NEWSLETTER_DISABLED="Hírlevél letiltás" -MOD_ARCHLINE_DOWNLOAD_BTN="ARCHLine.XP 2025 - 64 bites telepítő letöltése" -MOD_ARCHLINE_DOWNLOAD_BTN_LIVE="ARCHLine.XP 2023 LIVE - 64 bites webtelepítő letöltése" -MOD_ARCHLINE_ACCEPT="Megerősítem" -MOD_ARCHLINE_ACCEPT_2="Lemondás" -MOD_ARCHLINE_COURSE_CONTRACT="Tanfolyami szerződés hallgatóknak" -MOD_ARCHLINE_PROT="Szoftvervédelem" -MOD_ARCHLINE_FLOATING="Floating" -MOD_ARCHLINE_OFFLINE="Offline" -MOD_ARCHLINE_LATEST="Legújabb" -MOD_ARCHLINE_OLRDER="Régebbi" -MOD_ARCHLINE_EXP_DATE="Lejárati dátum" -MOD_ARCHLINE_SHOW_MORE="Mutass többet" -MOD_ARCHLINE_UPDATE="Frissítés a legújabb verzióra" -MOD_ARCHLINE_CANCEL_MAINTENANCE="Karbantartási szerződés lemondása" -MOD_ARCHLINE_MAINTENANCE_PRIVACY_POLICY_ERROR="Kérjük fogadja el a karbantartási szerződés lemondását" -MOD_ARCHLINE_MAINTENANCE_SUCCESS="A karbantartási szerződés lemondásának kérelmét megkaptuk" -MOD_ARCHLINE_SELL_DATE="Vásárlás dátuma" -MOD_ARCHLINE_CREDIT_PURCHASED="Vásárolt kreditek (db)" -MOD_ARCHLINE_CREDIT_AVAILABLE="Még felhasználható kreditek (db)" -MOD_ARCHLINE_EXPIRY_DATE="Lejárati dátum" -MOD_ARCHLINE_CREDITS="Kreditek" +MOD_ARCHLINE_USERS="ARCHLine felhasználók" +MOD_ARCHLINE_PROGRAM_LEGEND="Program részletek" +MOD_ARCHLINE_KEY_NUMBER_LEGEND="Kulcs szám" +MOD_ARCHLINE_NEWSLETTER_SETTINGS="Hírlevél beállítások" +MOD_ARCHLINE_PERSONAL_DATA_SETTINGS="Személyes adatok szerkesztése" +MOD_ARCHLINE_PERSONAL_DATA_SUCCESS="Személyes adatok sikeresen elmentve" +MOD_ARCHLINE_INVOICE_DATA_SUCCESS="Billing information saved successfully" +MOD_ARCHLINE_INVOICE_DATA_SETTINGS="Számlázási adatok megtekintése" +MOD_ARCHLINE_INVOICEC="Számlák" +MOD_ARCHLINE_DOWNLOAD="Letöltés" +MOD_ARCHLINE_CONTRACTS="Szerződések" +MOD_ARCHLINE_BACK="Vissza" +MOD_ARCHLINE_DATE="Dátum" +MOD_ARCHLINE_NEXT_INVOICE="Következő számla" +MOD_ARCHLINE_PRODUCT="Termék" +MOD_ARCHLINE_AMOUNT="Összeg" +MOD_ARCHLINE_DUE_DATE="Esedékesség" +MOD_ARCHLINE_MONEY="Ft" +MOD_ARCHLINE_VAT="ÁFA" +MOD_ARCHLINE_NEWSLETTER_SETTINGS_SUCCESS="Hírlevél beállítások sikeresen elmentve" +MOD_ARCHLINE_NEWSLETTER_LEGEND="Pipáld be, ha szeretnél hírleveleket kapni erre az email címre." +MOD_ARCHLINE_NEWSLETTER_TEXT1="A jelölőnégyzetek beállításával tudod kiválasztani az email címet, amire hírleveleket küldhetünk neked." +MOD_ARCHLINE_NEWSLETTER_TEXT2="Megjegyzés: Felhívjuk a figyelmedet, hogy a problémamentes licenckezelés biztosítása érdekében küldött leveleket (licenc lejárat, hosszabbítás vagy más változás) a hírlevelektől függetlenül küldjük el a megadott e-mail címre." +MOD_ARCHLINE_NEWSLETTER_TEXT3="Ha úgy döntesz, hogy nem szeretnél többé emaileket kapni tőlünk (megszünt email cím, kolléga elhagyta a céget, új szolgáltató, stb...), kérünk, küldj egy emailt %s email címre, és véglegesen eltávolítjuk az adataidat a terjesztési listáról." +MOD_ARCHLINE_YES="Igen" +MOD_ARCHLINE_NO="Nem" +MOD_ARCHLINE_ACTIONS="Licenc áthelyezése másik számítógépre" +MOD_ARCHLINE_DATAS="Adatok" +MOD_ARCHLINE_VERSION_LEGEND="Verzió" +MOD_ARCHLINE_PROGRAM_TYPE_LEGEND="Program típus" +MOD_ARCHLINE_PROGRAM_LIC_TYPE_LEGEND="A licenc természete" +MOD_ARCHLINE_SERIAL_NUMBER_LEGEND="Sorozatszám" +MOD_ARCHLINE_ACTIVATION_NUMBER_LEGEND="Aktiválási kód (regisztrálás után jelenik meg)" +MOD_ARCHLINE_COMPUTER_NAME="Gépnév" +MOD_ARCHLINE_COMPUTER_ID="Gépazonosító" +MOD_ARCHLINE_EXPIRE_DATE="Aktiválás érvényessége" +MOD_ARCHLINE_PERPETUAL="Végleges licenc" +MOD_ARCHLINE_AFTER_DEACTIVATE="A deaktiválás után a licencet át tudja helyezni másik számítógépre." +MOD_ARCHLINE_MODULES_LEGEND="Modulok" +MOD_ARCHLINE_RELEASE="Licenc eltávolítása másik számítógépen való használathoz" +MOD_ARCHLINE_RELEASE_FLOATING="A licenc használatban van. Licenc feloldása másik számítógépen való használatra" +MOD_ARCHLINE_SHOW_ALL_LEGEND="Előző változatok" +MOD_ARCHLINE_SHOW_FAQ_LEGEND="Segítség a letöltéshez és aktiváláshoz" +MOD_ARCHLINE_PASSWORD_CHANGE="Jelszó módosítás" +MOD_ARCHLINE_PASSWORD_CHANGE_SUCCESS="Jelszó módosítás sikeresen elmentve" +MOD_ARCHLINE_PASSWORD_CHANGE_ERROR="Jelszó módosítás sikertelen: a jelszó nem egyezik a jelszó megerősítéssel" +MOD_ARCHLINE_PASSWORD_CHANGE_ERROR2="Jelszó módosítás sikertelen: a jelszó hossza nem megfelelő (6-32 karakter)" +MOD_ARCHLINE_PASSWORD_CHANGE_TEXT1="A jelszavad módosításához írd be a lenti mezőkbe az új jelszavadat, és kattints a 'Jelszó mentés' gombra. Az új jelszavad a következő bejelentkezéstől kell használnod." +MOD_ARCHLINE_PASSWORD_SAVE="Jelszó mentés" +MOD_ARCHLINE_PASSWORD="Új jelszó" +MOD_ARCHLINE_PASSWORD2="Új jelszó megerősítése" +MOD_ARCHLINE_COUNTRY="Ország" +MOD_ARCHLINE_NAME="Név" +MOD_ARCHLINE_USERNAME="Felhasználói név" +MOD_ARCHLINE_ZIP="Irányítószám" +MOD_ARCHLINE_CITY="Város" +MOD_ARCHLINE_ADDRESS="Cím" +MOD_ARCHLINE_EMAIL="eMail" +MOD_ARCHLINE_PHONE="Telefonszám" +MOD_ARCHLINE_PROFESSION="Foglalkozás" +MOD_ARCHLINE_COMPANY="Cég" +MOD_ARCHLINE_NEWSLETTER="Hírlevél" +MOD_ARCHLINE_EACCOUNT="Elektronikus számla" +MOD_ARCHLINE_TAXNUMBER="Adószám" +MOD_ARCHLINE_ASK_EDIT="Módosítás kérése" +MOD_ARCHLINE_EDIT_INVOICE="office@cadline.hu" +MOD_ARCHLINE_SUBJECT="Számlázási adat módosítási kérelem" +MOD_ARCHLINE_LAST_EMAIL_NOTICE="ARCHLine.XP sorozatszámmal rendelkező felhasználó az email címét az info@cadline.hu címre küldött kéréssel törölheti" +MOD_ARCHLINE_ORIG="Eredeti" +MOD_ARCHLINE_NEW="Új" +MOD_ARCHLINE_NEW_EMAIL="Új email cím hozzáadása" +MOD_ARCHLINE_DEL_EMAIL="E-mail cím eltávolítása" +MOD_ARCHLINE_SUBSCRIBE_NEWSLETTER="Feliratkozott hírlevélre" +MOD_ARCHLINE_UNSUBSCRIBE_NEWSLETTER="Leiratkozott hírlevélről" +MOD_ARCHLINE_NEWSLETTER_ENABLED="Hírlevél engedélyezés" +MOD_ARCHLINE_NEWSLETTER_DISABLED="Hírlevél letiltás" +MOD_ARCHLINE_DOWNLOAD_BTN="ARCHLine.XP 2025 - 64 bites telepítő letöltése" +MOD_ARCHLINE_DOWNLOAD_BTN_LIVE="ARCHLine.XP 2023 LIVE - 64 bites webtelepítő letöltése" +MOD_ARCHLINE_ACCEPT="Megerősítem" +MOD_ARCHLINE_ACCEPT_2="Lemondás" +MOD_ARCHLINE_COURSE_CONTRACT="Tanfolyami szerződés hallgatóknak" +MOD_ARCHLINE_PROT="Szoftvervédelem" +MOD_ARCHLINE_FLOATING="Floating" +MOD_ARCHLINE_OFFLINE="Offline" +MOD_ARCHLINE_LATEST="Legújabb" +MOD_ARCHLINE_OLRDER="Régebbi" +MOD_ARCHLINE_EXP_DATE="Lejárati dátum" +MOD_ARCHLINE_SHOW_MORE="Mutass többet" +MOD_ARCHLINE_UPDATE="Frissítés a legújabb verzióra" +MOD_ARCHLINE_CANCEL_MAINTENANCE="Karbantartási szerződés lemondása" +MOD_ARCHLINE_MAINTENANCE_PRIVACY_POLICY_ERROR="Kérjük fogadja el a karbantartási szerződés lemondását" +MOD_ARCHLINE_MAINTENANCE_SUCCESS="A karbantartási szerződés lemondásának kérelmét megkaptuk" +MOD_ARCHLINE_SELL_DATE="Vásárlás dátuma" +MOD_ARCHLINE_CREDIT_PURCHASED="Vásárolt kreditek (db)" +MOD_ARCHLINE_CREDIT_AVAILABLE="Még felhasználható kreditek (db)" +MOD_ARCHLINE_EXPIRY_DATE="Lejárati dátum" +MOD_ARCHLINE_CREDITS="Kreditek" MOD_ARCHLINE_CREDIT_REQ="XP 2025 Professional szükséges" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.ini index 2821665c..9fbefeb2 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.ini @@ -1,3 +1,3 @@ -MOD_COURSE_LIST_OVERVIEW="Áttekintés" -MOD_COURSE_LIST_RESUME="Tanfolyam folytatása" +MOD_COURSE_LIST_OVERVIEW="Áttekintés" +MOD_COURSE_LIST_RESUME="Tanfolyam folytatása" MOD_COURSE_LIST_START="Tanfolyam indítása" \ No newline at end of file diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.sys.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.sys.ini index ccf3660f..d92d6e97 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.sys.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_course_list.sys.ini @@ -1,4 +1,4 @@ -MOD_ARCHLINE_USERS="ARCHLine users" -MOD__P___ARCHLINE_USERS___P_="

                  - ARCHLine users -

                  " +MOD_ARCHLINE_USERS="ARCHLine users" +MOD__P___ARCHLINE_USERS___P_="

                  + ARCHLine users +

                  " diff --git a/deployed/_shared/language/hu-HU/hu-HU.mod_webinar.ini b/deployed/_shared/language/hu-HU/hu-HU.mod_webinar.ini index 2ae3d20e..5ad5b421 100644 --- a/deployed/_shared/language/hu-HU/hu-HU.mod_webinar.ini +++ b/deployed/_shared/language/hu-HU/hu-HU.mod_webinar.ini @@ -1,21 +1,21 @@ -MOD_WEBINAR_SUCCESS_REGISTRATION="Köszönjük a regisztrációt!
                  - Várjuk, hogy csatlakozzon hozzánk. Ha valamilyen oknál fogva nem tud részt venni élőben, ne aggódjon. Az előadásról készült felvételt a webinár végeztével megosztjuk." -MOD_WEBINAR_ALREADY_SIGNED_UP="Már regisztrált erre a webináriumra." -MOD_WEBINAR_REGISTRATION="Regisztráció" -MOD_WEBINAR_TOPIC="Téma" -MOD_WEBINAR_DESCRIPTION="Leírás" -MOD_WEBINAR_TIME="Idő" -MOD_WEBINAR_ACCOUNT_ALREADY="Már van fiókja?" -MOD_WEBINAR_REQUIRED_INFO="Szükséges információ" -MOD_WEBINAR_SIGN_IN="Bejelentkezés" -MOD_WEBINAR_NAME="Név" -MOD_WEBINAR_EMAIL="Email cím" -MOD_WEBINAR_COUNTRY="Ország" -MOD_WEBINAR_CHOOSE_COUNTRY="Válasszon országot" -MOD_WEBINAR_PROFESSION="Szakma" -MOD_WEBINAR_CHOOSE_PROFESSION="Válasszon szakmát" -MOD_WEBINAR_REGISTER_BUTTON="Regisztráció" -MOD_WEBINAR_TERM="Information you provide when registering will be shared with the account owner and host and can be used and shared by them in accordance with their Terms and Privacy Policy." -MOD_WEBINAR_EVENT_OVER="A webinár véget ért, most nem tud regisztrálni." -MOD_WEBINAR_TIME_PERIOD="Időtartam" +MOD_WEBINAR_SUCCESS_REGISTRATION="Köszönjük a regisztrációt!
                  + Várjuk, hogy csatlakozzon hozzánk. Ha valamilyen oknál fogva nem tud részt venni élőben, ne aggódjon. Az előadásról készült felvételt a webinár végeztével megosztjuk." +MOD_WEBINAR_ALREADY_SIGNED_UP="Már regisztrált erre a webináriumra." +MOD_WEBINAR_REGISTRATION="Regisztráció" +MOD_WEBINAR_TOPIC="Téma" +MOD_WEBINAR_DESCRIPTION="Leírás" +MOD_WEBINAR_TIME="Idő" +MOD_WEBINAR_ACCOUNT_ALREADY="Már van fiókja?" +MOD_WEBINAR_REQUIRED_INFO="Szükséges információ" +MOD_WEBINAR_SIGN_IN="Bejelentkezés" +MOD_WEBINAR_NAME="Név" +MOD_WEBINAR_EMAIL="Email cím" +MOD_WEBINAR_COUNTRY="Ország" +MOD_WEBINAR_CHOOSE_COUNTRY="Válasszon országot" +MOD_WEBINAR_PROFESSION="Szakma" +MOD_WEBINAR_CHOOSE_PROFESSION="Válasszon szakmát" +MOD_WEBINAR_REGISTER_BUTTON="Regisztráció" +MOD_WEBINAR_TERM="Information you provide when registering will be shared with the account owner and host and can be used and shared by them in accordance with their Terms and Privacy Policy." +MOD_WEBINAR_EVENT_OVER="A webinár véget ért, most nem tud regisztrálni." +MOD_WEBINAR_TIME_PERIOD="Időtartam" MOD_WEBINAR_MINUTE="perc" \ No newline at end of file diff --git a/deployed/_shared/language/overrides/hu-HU.override.ini b/deployed/_shared/language/overrides/hu-HU.override.ini index a7925fe6..f6ac3a51 100644 --- a/deployed/_shared/language/overrides/hu-HU.override.ini +++ b/deployed/_shared/language/overrides/hu-HU.override.ini @@ -15,5 +15,5 @@ COM_USERS_REGISTER_COUNTRY_LABEL="Ország" COM_USERS_REGISTER_PROF_LABEL="Szakma" COM_USERS_REGISTER_PHONE_LABEL="Telefonszám" COM_USERS_REGISTER_FIRSTNAME_LABEL="Vezetéknév" -COM_USERS_REGISTER_LASTNAME_LABEL="Keresztnév" +COM_USERS_REGISTER_LASTNAME_LABEL="Keresztnév" COM_JSN_PROFILE_PASSWORD2_LABEL="Jelszó megerősítése" \ No newline at end of file diff --git a/deployed/_theme3037/templates/_theme3037/templateDetails.xml b/deployed/_theme3037/templates/_theme3037/templateDetails.xml index 98b708e9..08a45a7e 100644 --- a/deployed/_theme3037/templates/_theme3037/templateDetails.xml +++ b/deployed/_theme3037/templates/_theme3037/templateDetails.xml @@ -8,13 +8,13 @@ info@template-help.com http://www.templatemonster.com Copyright 2003-2012 template-help.com. All Rights Reserved. - Joomla! CMS files are covered by http://www.gnu.org/copyleft/gpl.html GNU/GPL; Images and template files are covered by ONE TIME USAGE LICENSE from templatemonster.com http://www.templatemonster.com/license_faq.php + Joomla! CMS files are covered by http://www.gnu.org/copyleft/gpl.html GNU/GPL; Images and template files are covered by ONE TIME USAGE LICENSE from templatemonster.com http://www.templatemonster.com/license_faq.php Template for Joomla! 3.x Content Management System provided by TemplateMonster.com
                  Copyright 2003-2014 template-help.com. All Rights Reserved.
                  - Joomla! CMS files are covered by http://www.gnu.org/copyleft/gpl.html GNU/GPL; Images and template files are covered by ONE TIME USAGE LICENSE from templatemonster.com http://www.templatemonster.com/license_faq.php + Joomla! CMS files are covered by http://www.gnu.org/copyleft/gpl.html GNU/GPL; Images and template files are covered by ONE TIME USAGE LICENSE from templatemonster.com http://www.templatemonster.com/license_faq.php

                  Please check detailed tutorials on how to work with our templates at info.template-help.com.

                  ]]> diff --git a/deployed/acym/administrator/components/com_acym/acym.php b/deployed/acym/administrator/components/com_acym/acym.php index f26fdeee..91c31b93 100644 --- a/deployed/acym/administrator/components/com_acym/acym.php +++ b/deployed/acym/administrator/components/com_acym/acym.php @@ -1,89 +1,89 @@ -This version of AcyMailing requires at least PHP 5.4.0, it is time to update the PHP version of your server!

                  '; - exit; -} - -if (!include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acym'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')) { - echo "Could not load Acy helper file"; - - return; -} - -if (acym_isDebug()) { - acym_displayErrors(); -} - -$ctrl = acym_getVar('cmd', 'ctrl', 'dashboard'); -$task = acym_getVar('cmd', 'task'); - -$config = acym_config(); - -if ((($config->get('migration') == 0 && acym_existsAcyMailing59() && acym_getVar('string', 'task') != 'migrationDone') || $config->get('walk_through') == 1) && !acym_isNoTemplate()) { - $ctrl = 'dashboard'; -} - - -if (!include_once(ACYM_CONTROLLER.$ctrl.'.php')) { - acym_redirect(acym_completeLink('dashboard')); - - return; -} - -$className = ucfirst($ctrl).'Controller'; -$controller = new $className(); - -if (empty($task)) { - $task = acym_getVar('cmd', 'defaulttask', $controller->defaulttask); - acym_setVar('task', $task); -} - -if (file_exists(ACYM_BACK.'extensions')) { - $updateHelper = acym_get('helper.update'); - $updateHelper->installExtensions(); -} - -acym_addScript( - true, - 'var TOGGLE_URL_ACYM = "index.php?option='.ACYM_COMPONENT.'&'.acym_noTemplate().'&ctrl=toggle&'.acym_getFormToken().'"; - var AJAX_URL_ACYM = "index.php?option='.ACYM_COMPONENT.'&'.acym_noTemplate().'&'.acym_getFormToken().'"; - var AJAX_URL_ACYBA = "'.ACYM_ACYWEBSITE.'"; - var MEDIA_URL_ACYM = "'.ACYM_MEDIA_URL.'"; - var CMS_ACYM = "'.ACYM_CMS.'"; - var FOUNDATION_FOR_EMAIL = "'.ACYM_CSS.'libraries/foundation_email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'foundation_email.min.css').'"; - var ACYM_FIXES_FOR_EMAIL = "'.ACYM_CSS.'email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'email.min.css').'"; - var ACYM_REGEX_EMAIL = /^'.acym_getEmailRegex(true).'$/i; - var ACYM_JS_TXT = '.acym_getJSMessages().'; - var ACYM_JOOMLA_MEDIA_IMAGE = "'.ACYM_LIVE.'";' -); - -JHtml::_('jquery.framework'); -acym_addScript(false, 'https://code.jquery.com/ui/1.11.4/jquery-ui.min.js'); - -acym_addScript(false, ACYM_JS.'libraries/foundation.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'foundation.min.js')); -acym_addScript(false, ACYM_JS.'libraries/select2.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'select2.min.js')); - -acym_addStyle(false, 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css'); - -acym_addStyle(false, ACYM_CSS.'libraries/introjs.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'introjs.min.css')); -acym_addScript(false, ACYM_JS.'libraries/intro.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'intro.min.js')); - -acym_addScript(false, ACYM_JS.'global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'global.min.js')); -acym_addScript(false, ACYM_JS.'back_global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'back_global.min.js')); -acym_addStyle(false, ACYM_CSS.'back_global.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'back_global.min.css')); -if (file_exists(ACYM_MEDIA.'js'.DS.'back'.DS.$ctrl.'.min.js')) { - acym_addScript(false, ACYM_JS.'back/'.$ctrl.'.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'back'.DS.$ctrl.'.min.js')); -} - -$controller->loadScripts($task); -$controller->$task(); +This version of AcyMailing requires at least PHP 5.4.0, it is time to update the PHP version of your server!

                  '; + exit; +} + +if (!include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acym'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')) { + echo "Could not load Acy helper file"; + + return; +} + +if (acym_isDebug()) { + acym_displayErrors(); +} + +$ctrl = acym_getVar('cmd', 'ctrl', 'dashboard'); +$task = acym_getVar('cmd', 'task'); + +$config = acym_config(); + +if ((($config->get('migration') == 0 && acym_existsAcyMailing59() && acym_getVar('string', 'task') != 'migrationDone') || $config->get('walk_through') == 1) && !acym_isNoTemplate()) { + $ctrl = 'dashboard'; +} + + +if (!include_once(ACYM_CONTROLLER.$ctrl.'.php')) { + acym_redirect(acym_completeLink('dashboard')); + + return; +} + +$className = ucfirst($ctrl).'Controller'; +$controller = new $className(); + +if (empty($task)) { + $task = acym_getVar('cmd', 'defaulttask', $controller->defaulttask); + acym_setVar('task', $task); +} + +if (file_exists(ACYM_BACK.'extensions')) { + $updateHelper = acym_get('helper.update'); + $updateHelper->installExtensions(); +} + +acym_addScript( + true, + 'var TOGGLE_URL_ACYM = "index.php?option='.ACYM_COMPONENT.'&'.acym_noTemplate().'&ctrl=toggle&'.acym_getFormToken().'"; + var AJAX_URL_ACYM = "index.php?option='.ACYM_COMPONENT.'&'.acym_noTemplate().'&'.acym_getFormToken().'"; + var AJAX_URL_ACYBA = "'.ACYM_ACYWEBSITE.'"; + var MEDIA_URL_ACYM = "'.ACYM_MEDIA_URL.'"; + var CMS_ACYM = "'.ACYM_CMS.'"; + var FOUNDATION_FOR_EMAIL = "'.ACYM_CSS.'libraries/foundation_email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'foundation_email.min.css').'"; + var ACYM_FIXES_FOR_EMAIL = "'.ACYM_CSS.'email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'email.min.css').'"; + var ACYM_REGEX_EMAIL = /^'.acym_getEmailRegex(true).'$/i; + var ACYM_JS_TXT = '.acym_getJSMessages().'; + var ACYM_JOOMLA_MEDIA_IMAGE = "'.ACYM_LIVE.'";' +); + +JHtml::_('jquery.framework'); +acym_addScript(false, 'https://code.jquery.com/ui/1.11.4/jquery-ui.min.js'); + +acym_addScript(false, ACYM_JS.'libraries/foundation.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'foundation.min.js')); +acym_addScript(false, ACYM_JS.'libraries/select2.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'select2.min.js')); + +acym_addStyle(false, 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css'); + +acym_addStyle(false, ACYM_CSS.'libraries/introjs.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'introjs.min.css')); +acym_addScript(false, ACYM_JS.'libraries/intro.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'intro.min.js')); + +acym_addScript(false, ACYM_JS.'global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'global.min.js')); +acym_addScript(false, ACYM_JS.'back_global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'back_global.min.js')); +acym_addStyle(false, ACYM_CSS.'back_global.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'back_global.min.css')); +if (file_exists(ACYM_MEDIA.'js'.DS.'back'.DS.$ctrl.'.min.js')) { + acym_addScript(false, ACYM_JS.'back/'.$ctrl.'.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'back'.DS.$ctrl.'.min.js')); +} + +$controller->loadScripts($task); +$controller->$task(); diff --git a/deployed/acym/administrator/components/com_acym/acym.xml b/deployed/acym/administrator/components/com_acym/acym.xml index 55e57a73..b3745f5f 100644 --- a/deployed/acym/administrator/components/com_acym/acym.xml +++ b/deployed/acym/administrator/components/com_acym/acym.xml @@ -1,69 +1,69 @@ - - - Acym - August 2019 - 6.2.0 - starter - Acyba - dev@acyba.com - https://www.acyba.com - Copyright (C) 2009-2019 ACYBA SAS - All rights reserved. - Manage your Mailing lists and e-mail marketing campaigns - GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html - - en-GB.com_acym.ini - en-US.com_acym.ini - - - - tables.sql - - - install.joomla.php - - controllers - inc - views - params - acym.php - index.html - router.php - - - css - images - js - index.html - - - - classes - controllers - dynamics - extensions - helpers - library - types - views - templates - acym.php - config.xml - index.html - tables.sql - - COM_ACYM - - ACYM_USERS - ACYM_CUSTOM_FIELDS - ACYM_LISTS - ACYM_CAMPAIGNS - ACYM_TEMPLATES - ACYM_AUTOMATION - ACYM_QUEUE - ACYM_STATISTICS - ACYM_BOUNCE_HANDLING - ACYM_CONFIGURATION - - - - + + + Acym + August 2019 + 6.2.0 + starter + Acyba + dev@acyba.com + https://www.acyba.com + Copyright (C) 2009-2019 ACYBA SAS - All rights reserved. + Manage your Mailing lists and e-mail marketing campaigns + GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html + + en-GB.com_acym.ini + en-US.com_acym.ini + + + + tables.sql + + + install.joomla.php + + controllers + inc + views + params + acym.php + index.html + router.php + + + css + images + js + index.html + + + + classes + controllers + dynamics + extensions + helpers + library + types + views + templates + acym.php + config.xml + index.html + tables.sql + + COM_ACYM + + ACYM_USERS + ACYM_CUSTOM_FIELDS + ACYM_LISTS + ACYM_CAMPAIGNS + ACYM_TEMPLATES + ACYM_AUTOMATION + ACYM_QUEUE + ACYM_STATISTICS + ACYM_BOUNCE_HANDLING + ACYM_CONFIGURATION + + + + diff --git a/deployed/acym/administrator/components/com_acym/classes/action.php b/deployed/acym/administrator/components/com_acym/classes/action.php index 44d3ad01..64214b9e 100644 --- a/deployed/acym/administrator/components/com_acym/classes/action.php +++ b/deployed/acym/administrator/components/com_acym/classes/action.php @@ -1,13 +1,13 @@ - 'campaign.active = 1 AND queue.mail_id IS NOT NULL', - 'paused' => 'campaign.active = 0', - 'scheduled' => 'campaign.active = 1 AND queue.mail_id IS NULL', - 'automation' => 'mail.type = '.acym_escapeDB('automation'), - ]; - - if (empty($allowedStatus[$settings['status']])) { - die('Unauthorized filter: '.$settings['status']); - } - - $filters[] = $allowedStatus[$settings['status']]; - } - - if (!empty($filters)) { - $query .= ' WHERE ('.implode(') AND (', $filters).')'; - } - - $queryCount = 'SELECT COUNT(DISTINCT mail.id) '.$query; - $query .= ' GROUP BY mail.id'; - - $query = 'SELECT mail.name, mail.subject, mail.id, campaign.id AS campaign, IF(campaign.sending_date IS NULL, queue.sending_date, campaign.sending_date) as sending_date, campaign.scheduled, campaign.active, COUNT(queue.mail_id) AS nbqueued '.$query.' ORDER BY queue.sending_date ASC'; - - $mailClass = acym_get('class.mail'); - $results['elements'] = $mailClass->decode(acym_loadObjectList($query, '', $settings['offset'], $settings['campaignsPerPage'])); - $results['total'] = acym_loadResult($queryCount); - - foreach ($results['elements'] as $i => $oneCampaign) { - if (empty($oneCampaign->campaign)) { - $results['elements'][$i]->iscampaign = false; - $results['elements'][$i]->lists = acym_translation('ACYM_MAIL_FROM_AUTOMATION_SENT_TO'); - $results['elements'][$i]->recipients = acym_loadResult('SELECT COUNT(*) FROM #__acym_queue WHERE mail_id = '.intval($oneCampaign->id)); - } else { - $results['elements'][$i]->iscampaign = true; - $results['elements'][$i]->lists = acym_loadObjectList( - 'SELECT l.color, l.name , l.id - FROM #__acym_list AS l - JOIN #__acym_mail_has_list AS ml ON ml.list_id = l.id - WHERE ml.mail_id = '.intval($oneCampaign->id) - ); - $results['elements'][$i]->recipients = intval($mailStatClass->getTotalSubscribersByMailId($oneCampaign->id)); - } - } - - $automationNumber = acym_loadResult('SELECT COUNT(DISTINCT mail.id) FROM #__acym_mail as mail JOIN #__acym_queue AS queue ON mail.id = queue.mail_id WHERE mail.type = '.acym_escapeDB('automation')); - - $elementsPerStatus = acym_loadObjectList($queryStatus.' GROUP BY score', 'score'); - for ($i = 0 ; $i < 4 ; $i++) { - $elementsPerStatus[$i] = empty($elementsPerStatus[$i]) ? 0 : $elementsPerStatus[$i]->number; - } - - $results['status'] = [ - 'all' => array_sum($elementsPerStatus) + $automationNumber, - 'sending' => $elementsPerStatus[1], - 'paused' => $elementsPerStatus[0] + $elementsPerStatus[2], - 'scheduled' => $elementsPerStatus[3], - 'automation' => $automationNumber, - ]; - - return $results; - } - - public function getMatchingResults($settings) - { - $query = 'FROM #__acym_queue AS queue - JOIN #__acym_mail AS mail ON mail.id = queue.mail_id - JOIN #__acym_user AS user ON queue.user_id = user.id '; - - $filters = []; - - if (!empty($settings['tag'])) { - $query .= ' JOIN #__acym_tag AS tag ON queue.mail_id = tag.id_element AND tag.type = "mail" AND tag.name = '.acym_escapeDB($settings['tag']); - } - - if (!empty($settings['search'])) { - $filters[] = 'mail.subject LIKE '.acym_escapeDB('%'.$settings['search'].'%').' OR mail.name LIKE '.acym_escapeDB('%'.$settings['search'].'%'); - } - - if (!empty($filters)) { - $query .= ' WHERE ('.implode(') AND (', $filters).')'; - } - - if (!empty($settings['tag'])) { - $query .= ' GROUP BY queue.mail_id, queue.user_id'; - } - - $queryCount = 'SELECT COUNT(queue.mail_id) '.$query; - $query = 'SELECT mail.id, queue.sending_date, mail.name, mail.subject, user.email, user.name AS user_name, queue.user_id, queue.try '.$query.' ORDER BY queue.sending_date ASC'; - - $mailClass = acym_get('class.mail'); - $results['elements'] = $mailClass->decode(acym_loadObjectList($query, '', $settings['offset'], $settings['elementsPerPage'])); - $results['total'] = acym_loadResult($queryCount); - - return $results; - } - - public function scheduleReady() - { - $this->messages = []; - - $mailClass = acym_get('class.mail'); - $mailReady = $mailClass->decode( - acym_loadObjectList( - 'SELECT mail.id, campaign.sending_date, mail.name - FROM #__acym_campaign AS campaign - JOIN #__acym_mail AS mail - ON campaign.mail_id = mail.id - WHERE campaign.scheduled = 1 - AND campaign.draft = 0 - AND campaign.sending_date <= '.acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)).' - AND campaign.sent = 0', - 'id' - ) - ); - - - if (empty($mailReady)) { - return false; - } - - foreach ($mailReady as $mailid => $mail) { - $nbQueue = $this->queue($mailid, $mail->sending_date); - $this->messages[] = acym_translation_sprintf('ACYM_ADDED_QUEUE_SCHEDULE', $nbQueue, ''.$mail->name.''); - } - - $mailIds = array_keys($mailReady); - acym_arrayToInteger($mailIds); - $campaignsIDs = acym_loadResultArray('SELECT id FROM #__acym_campaign WHERE mail_id IN ('.implode(',', $mailIds).')'); - $campaignClass = acym_get('class.campaign'); - foreach ($campaignsIDs as $campaignID) { - $campaignClass->send($campaignID, $nbQueue); - } - - return count($mailReady); - } - - public function delete($elements) - { - if (!is_array($elements)) { - $elements = [$elements]; - } - - if (empty($elements)) { - return 0; - } - - acym_arrayToInteger($elements); - - $query = 'DELETE FROM #__acym_queue WHERE mail_id IN ('.implode(',', $elements).')'; - $result = acym_query($query); - - acym_query('UPDATE #__acym_campaign SET draft = 1, active = 1 WHERE mail_id IN ('.implode(',', $elements).')'); - - if (!$result) { - return false; - } - - return $result; - } - - public function deleteOne($elements, $mailId = null) - { - if (!is_array($elements)) { - $elements = [$elements]; - } - - if (empty($elements)) { - return 0; - } - - $nbDeleted = 0; - foreach ($elements as $one) { - if (strpos($one, '_')) { - list($mailId, $userId) = explode('_', $one); - } else { - $userId = $one; - } - - $query = 'DELETE FROM #__acym_queue WHERE user_id = '.intval($userId); - if (!empty($mailId)) { - $query .= ' AND mail_id = '.intval($mailId); - } - - $res = acym_query($query); - if ($res === false) { - $this->errors[] = acym_getDBError(); - } else { - $nbDeleted += $res; - } - } - - return $res; - } - - public function getReady($limit, $mailid = 0) - { - if (empty($limit)) { - return []; - } - - $config = acym_config(); - $order = $config->get('sendorder'); - if (empty($order)) { - $order = 'queue.`user_id` ASC'; - } else { - if ($order == 'rand') { - $order = 'RAND()'; - } else { - $ordering = explode(',', $order); - $order = 'queue.`'.acym_secureDBColumn(trim($ordering[0])).'` '.acym_secureDBColumn(trim($ordering[1])); - } - } - - $query = 'SELECT queue.* FROM #__acym_queue AS queue'; - $query .= ' JOIN #__acym_user AS user ON queue.`user_id` = user.`id` '; - $query .= ' JOIN #__acym_mail AS mail ON queue.`mail_id` = mail.`id` '; - $query .= ' LEFT JOIN #__acym_campaign AS campaign ON campaign.`mail_id` = mail.`id` '; - $query .= ' WHERE queue.`sending_date` <= '.acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)).' AND (campaign.mail_id IS NULL OR (campaign.`active` = 1 AND campaign.`draft` = 0 AND user.active = 1))'; - - if ($config->get('require_confirmation', 1) == 1) { - $query .= ' AND (user.confirmed = 1 OR mail.type = "notification")'; - } - - if (!empty($this->emailtypes)) { - foreach ($this->emailtypes as &$oneType) { - $oneType = acym_escapeDB($oneType); - } - $query .= ' AND (mail.type = '.implode(' OR mail.type = ', $this->emailtypes).')'; - } - if (!empty($mailid)) { - $query .= ' AND queue.`mail_id` = '.intval($mailid); - } - $query .= ' ORDER BY queue.`priority` ASC, queue.`sending_date` ASC, '.$order; - $startqueue = acym_getVar('int', 'startqueue', 0); - $query .= ' LIMIT '.intval($startqueue).','.intval($limit); - try { - $results = acym_loadObjectList($query); - } catch (Exception $e) { - $results = null; - } - - if ($results === null) { - acym_query('REPAIR TABLE #__acym_queue, #__acym_user, #__acym_mail, #__acym_campaign'); - } - - if (empty($results)) { - return []; - } - - if (!empty($results)) { - $firstElementQueued = reset($results); - acym_query('UPDATE #__acym_queue SET sending_date = DATE_ADD(sending_date, INTERVAL 1 SECOND) WHERE mail_id = '.intval($firstElementQueued->mail_id).' AND user_id = '.intval($firstElementQueued->user_id).' LIMIT 1'); - } - - $userIds = []; - foreach ($results as $oneRes) { - $userIds[$oneRes->user_id] = intval($oneRes->user_id); - } - - $cleanQueue = false; - if (!empty($userIds)) { - $allusers = acym_loadObjectList('SELECT * FROM #__acym_user WHERE id IN ('.implode(',', $userIds).')', 'id'); - foreach ($results as $oneId => $oneRes) { - if (empty($allusers[$oneRes->user_id])) { - $cleanQueue = true; - continue; - } - foreach ($allusers[$oneRes->user_id] as $oneVar => $oneVal) { - $results[$oneId]->$oneVar = $oneVal; - } - } - } - - if ($cleanQueue) { - acym_query('DELETE queue.* FROM #__acym_queue AS queue LEFT JOIN #__acym_user AS user ON queue.user_id = user.id WHERE user.id IS NULL'); - } - - return $results; - } - - public function delayFailed($mailId, $userIds) - { - acym_arrayToInteger($userIds); - if (empty($mailId) || empty($userIds)) { - return false; - } - - return acym_query( - 'UPDATE #__acym_queue - SET sending_date = DATE_ADD(sending_date, INTERVAL 1 HOUR), try = try +1 - WHERE mail_id = '.intval($mailId).' - AND user_id IN ('.implode(',', $userIds).')' - ); - } - - private function queue($mailId, $sending_date) - { - $config = acym_config(); - $priority = $config->get('priority_newsletter', 3); - - - return acym_query( - 'INSERT IGNORE INTO #__acym_queue - SELECT '.intval($mailId).', userlist.user_id, '.acym_escapeDB($sending_date).', '.intval($priority).', 0 - FROM #__acym_user_has_list AS userlist - JOIN #__acym_mail_has_list AS maillist ON userlist.list_id = maillist.list_id - WHERE userlist.status = 1 AND maillist.mail_id = '.intval($mailId) - ); - } - - public function addQueue($userId, $mailId, $sendingDate) - { - $config = acym_config(); - $priority = $config->get('priority_newsletter', 3); - - return acym_query('INSERT IGNORE INTO #__acym_queue VALUES ('.intval($mailId).', '.intval($userId).', '.intval($sendingDate).', '.intval($priority).')'); - } - - public function unpauseCampaign($campaignId, $active) - { - if (acym_query('UPDATE #__acym_campaign SET active = '.intval($active).' WHERE id = '.intval($campaignId))) { - acym_enqueueNotification(acym_translation($active ? 'ACYM_UNPAUSE_CAMPAIGN_SUCCESSFUL' : 'ACYM_PAUSE_CAMPAIGN_SUCCESSFUL'), "success", 10000); - } else { - acym_enqueueNotification(acym_translation($active ? 'ACYM_UNPAUSE_CAMPAIGN_FAIL' : 'ACYM_PAUSE_CAMPAIGN_FAIL'), "error", 10000); - } - } - - public function removeUnconfirmedUsersEmails() - { - return acym_query( - 'DELETE `queue`.* - FROM `#__acym_queue` AS `queue` - JOIN `#__acym_user` AS `user` ON `queue`.`user_id` = `user`.`id` - WHERE `user`.`confirmed` = 0 OR `user`.`active` = 0' - ); - } - - public function emptyQueue() - { - return acym_query('DELETE FROM `#__acym_queue`'); - } -} - + 'campaign.active = 1 AND queue.mail_id IS NOT NULL', + 'paused' => 'campaign.active = 0', + 'scheduled' => 'campaign.active = 1 AND queue.mail_id IS NULL', + 'automation' => 'mail.type = '.acym_escapeDB('automation'), + ]; + + if (empty($allowedStatus[$settings['status']])) { + die('Unauthorized filter: '.$settings['status']); + } + + $filters[] = $allowedStatus[$settings['status']]; + } + + if (!empty($filters)) { + $query .= ' WHERE ('.implode(') AND (', $filters).')'; + } + + $queryCount = 'SELECT COUNT(DISTINCT mail.id) '.$query; + $query .= ' GROUP BY mail.id'; + + $query = 'SELECT mail.name, mail.subject, mail.id, campaign.id AS campaign, IF(campaign.sending_date IS NULL, queue.sending_date, campaign.sending_date) as sending_date, campaign.scheduled, campaign.active, COUNT(queue.mail_id) AS nbqueued '.$query.' ORDER BY queue.sending_date ASC'; + + $mailClass = acym_get('class.mail'); + $results['elements'] = $mailClass->decode(acym_loadObjectList($query, '', $settings['offset'], $settings['campaignsPerPage'])); + $results['total'] = acym_loadResult($queryCount); + + foreach ($results['elements'] as $i => $oneCampaign) { + if (empty($oneCampaign->campaign)) { + $results['elements'][$i]->iscampaign = false; + $results['elements'][$i]->lists = acym_translation('ACYM_MAIL_FROM_AUTOMATION_SENT_TO'); + $results['elements'][$i]->recipients = acym_loadResult('SELECT COUNT(*) FROM #__acym_queue WHERE mail_id = '.intval($oneCampaign->id)); + } else { + $results['elements'][$i]->iscampaign = true; + $results['elements'][$i]->lists = acym_loadObjectList( + 'SELECT l.color, l.name , l.id + FROM #__acym_list AS l + JOIN #__acym_mail_has_list AS ml ON ml.list_id = l.id + WHERE ml.mail_id = '.intval($oneCampaign->id) + ); + $results['elements'][$i]->recipients = intval($mailStatClass->getTotalSubscribersByMailId($oneCampaign->id)); + } + } + + $automationNumber = acym_loadResult('SELECT COUNT(DISTINCT mail.id) FROM #__acym_mail as mail JOIN #__acym_queue AS queue ON mail.id = queue.mail_id WHERE mail.type = '.acym_escapeDB('automation')); + + $elementsPerStatus = acym_loadObjectList($queryStatus.' GROUP BY score', 'score'); + for ($i = 0 ; $i < 4 ; $i++) { + $elementsPerStatus[$i] = empty($elementsPerStatus[$i]) ? 0 : $elementsPerStatus[$i]->number; + } + + $results['status'] = [ + 'all' => array_sum($elementsPerStatus) + $automationNumber, + 'sending' => $elementsPerStatus[1], + 'paused' => $elementsPerStatus[0] + $elementsPerStatus[2], + 'scheduled' => $elementsPerStatus[3], + 'automation' => $automationNumber, + ]; + + return $results; + } + + public function getMatchingResults($settings) + { + $query = 'FROM #__acym_queue AS queue + JOIN #__acym_mail AS mail ON mail.id = queue.mail_id + JOIN #__acym_user AS user ON queue.user_id = user.id '; + + $filters = []; + + if (!empty($settings['tag'])) { + $query .= ' JOIN #__acym_tag AS tag ON queue.mail_id = tag.id_element AND tag.type = "mail" AND tag.name = '.acym_escapeDB($settings['tag']); + } + + if (!empty($settings['search'])) { + $filters[] = 'mail.subject LIKE '.acym_escapeDB('%'.$settings['search'].'%').' OR mail.name LIKE '.acym_escapeDB('%'.$settings['search'].'%'); + } + + if (!empty($filters)) { + $query .= ' WHERE ('.implode(') AND (', $filters).')'; + } + + if (!empty($settings['tag'])) { + $query .= ' GROUP BY queue.mail_id, queue.user_id'; + } + + $queryCount = 'SELECT COUNT(queue.mail_id) '.$query; + $query = 'SELECT mail.id, queue.sending_date, mail.name, mail.subject, user.email, user.name AS user_name, queue.user_id, queue.try '.$query.' ORDER BY queue.sending_date ASC'; + + $mailClass = acym_get('class.mail'); + $results['elements'] = $mailClass->decode(acym_loadObjectList($query, '', $settings['offset'], $settings['elementsPerPage'])); + $results['total'] = acym_loadResult($queryCount); + + return $results; + } + + public function scheduleReady() + { + $this->messages = []; + + $mailClass = acym_get('class.mail'); + $mailReady = $mailClass->decode( + acym_loadObjectList( + 'SELECT mail.id, campaign.sending_date, mail.name + FROM #__acym_campaign AS campaign + JOIN #__acym_mail AS mail + ON campaign.mail_id = mail.id + WHERE campaign.scheduled = 1 + AND campaign.draft = 0 + AND campaign.sending_date <= '.acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)).' + AND campaign.sent = 0', + 'id' + ) + ); + + + if (empty($mailReady)) { + return false; + } + + foreach ($mailReady as $mailid => $mail) { + $nbQueue = $this->queue($mailid, $mail->sending_date); + $this->messages[] = acym_translation_sprintf('ACYM_ADDED_QUEUE_SCHEDULE', $nbQueue, ''.$mail->name.''); + } + + $mailIds = array_keys($mailReady); + acym_arrayToInteger($mailIds); + $campaignsIDs = acym_loadResultArray('SELECT id FROM #__acym_campaign WHERE mail_id IN ('.implode(',', $mailIds).')'); + $campaignClass = acym_get('class.campaign'); + foreach ($campaignsIDs as $campaignID) { + $campaignClass->send($campaignID, $nbQueue); + } + + return count($mailReady); + } + + public function delete($elements) + { + if (!is_array($elements)) { + $elements = [$elements]; + } + + if (empty($elements)) { + return 0; + } + + acym_arrayToInteger($elements); + + $query = 'DELETE FROM #__acym_queue WHERE mail_id IN ('.implode(',', $elements).')'; + $result = acym_query($query); + + acym_query('UPDATE #__acym_campaign SET draft = 1, active = 1 WHERE mail_id IN ('.implode(',', $elements).')'); + + if (!$result) { + return false; + } + + return $result; + } + + public function deleteOne($elements, $mailId = null) + { + if (!is_array($elements)) { + $elements = [$elements]; + } + + if (empty($elements)) { + return 0; + } + + $nbDeleted = 0; + foreach ($elements as $one) { + if (strpos($one, '_')) { + list($mailId, $userId) = explode('_', $one); + } else { + $userId = $one; + } + + $query = 'DELETE FROM #__acym_queue WHERE user_id = '.intval($userId); + if (!empty($mailId)) { + $query .= ' AND mail_id = '.intval($mailId); + } + + $res = acym_query($query); + if ($res === false) { + $this->errors[] = acym_getDBError(); + } else { + $nbDeleted += $res; + } + } + + return $res; + } + + public function getReady($limit, $mailid = 0) + { + if (empty($limit)) { + return []; + } + + $config = acym_config(); + $order = $config->get('sendorder'); + if (empty($order)) { + $order = 'queue.`user_id` ASC'; + } else { + if ($order == 'rand') { + $order = 'RAND()'; + } else { + $ordering = explode(',', $order); + $order = 'queue.`'.acym_secureDBColumn(trim($ordering[0])).'` '.acym_secureDBColumn(trim($ordering[1])); + } + } + + $query = 'SELECT queue.* FROM #__acym_queue AS queue'; + $query .= ' JOIN #__acym_user AS user ON queue.`user_id` = user.`id` '; + $query .= ' JOIN #__acym_mail AS mail ON queue.`mail_id` = mail.`id` '; + $query .= ' LEFT JOIN #__acym_campaign AS campaign ON campaign.`mail_id` = mail.`id` '; + $query .= ' WHERE queue.`sending_date` <= '.acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)).' AND (campaign.mail_id IS NULL OR (campaign.`active` = 1 AND campaign.`draft` = 0 AND user.active = 1))'; + + if ($config->get('require_confirmation', 1) == 1) { + $query .= ' AND (user.confirmed = 1 OR mail.type = "notification")'; + } + + if (!empty($this->emailtypes)) { + foreach ($this->emailtypes as &$oneType) { + $oneType = acym_escapeDB($oneType); + } + $query .= ' AND (mail.type = '.implode(' OR mail.type = ', $this->emailtypes).')'; + } + if (!empty($mailid)) { + $query .= ' AND queue.`mail_id` = '.intval($mailid); + } + $query .= ' ORDER BY queue.`priority` ASC, queue.`sending_date` ASC, '.$order; + $startqueue = acym_getVar('int', 'startqueue', 0); + $query .= ' LIMIT '.intval($startqueue).','.intval($limit); + try { + $results = acym_loadObjectList($query); + } catch (Exception $e) { + $results = null; + } + + if ($results === null) { + acym_query('REPAIR TABLE #__acym_queue, #__acym_user, #__acym_mail, #__acym_campaign'); + } + + if (empty($results)) { + return []; + } + + if (!empty($results)) { + $firstElementQueued = reset($results); + acym_query('UPDATE #__acym_queue SET sending_date = DATE_ADD(sending_date, INTERVAL 1 SECOND) WHERE mail_id = '.intval($firstElementQueued->mail_id).' AND user_id = '.intval($firstElementQueued->user_id).' LIMIT 1'); + } + + $userIds = []; + foreach ($results as $oneRes) { + $userIds[$oneRes->user_id] = intval($oneRes->user_id); + } + + $cleanQueue = false; + if (!empty($userIds)) { + $allusers = acym_loadObjectList('SELECT * FROM #__acym_user WHERE id IN ('.implode(',', $userIds).')', 'id'); + foreach ($results as $oneId => $oneRes) { + if (empty($allusers[$oneRes->user_id])) { + $cleanQueue = true; + continue; + } + foreach ($allusers[$oneRes->user_id] as $oneVar => $oneVal) { + $results[$oneId]->$oneVar = $oneVal; + } + } + } + + if ($cleanQueue) { + acym_query('DELETE queue.* FROM #__acym_queue AS queue LEFT JOIN #__acym_user AS user ON queue.user_id = user.id WHERE user.id IS NULL'); + } + + return $results; + } + + public function delayFailed($mailId, $userIds) + { + acym_arrayToInteger($userIds); + if (empty($mailId) || empty($userIds)) { + return false; + } + + return acym_query( + 'UPDATE #__acym_queue + SET sending_date = DATE_ADD(sending_date, INTERVAL 1 HOUR), try = try +1 + WHERE mail_id = '.intval($mailId).' + AND user_id IN ('.implode(',', $userIds).')' + ); + } + + private function queue($mailId, $sending_date) + { + $config = acym_config(); + $priority = $config->get('priority_newsletter', 3); + + + return acym_query( + 'INSERT IGNORE INTO #__acym_queue + SELECT '.intval($mailId).', userlist.user_id, '.acym_escapeDB($sending_date).', '.intval($priority).', 0 + FROM #__acym_user_has_list AS userlist + JOIN #__acym_mail_has_list AS maillist ON userlist.list_id = maillist.list_id + WHERE userlist.status = 1 AND maillist.mail_id = '.intval($mailId) + ); + } + + public function addQueue($userId, $mailId, $sendingDate) + { + $config = acym_config(); + $priority = $config->get('priority_newsletter', 3); + + return acym_query('INSERT IGNORE INTO #__acym_queue VALUES ('.intval($mailId).', '.intval($userId).', '.intval($sendingDate).', '.intval($priority).')'); + } + + public function unpauseCampaign($campaignId, $active) + { + if (acym_query('UPDATE #__acym_campaign SET active = '.intval($active).' WHERE id = '.intval($campaignId))) { + acym_enqueueNotification(acym_translation($active ? 'ACYM_UNPAUSE_CAMPAIGN_SUCCESSFUL' : 'ACYM_PAUSE_CAMPAIGN_SUCCESSFUL'), "success", 10000); + } else { + acym_enqueueNotification(acym_translation($active ? 'ACYM_UNPAUSE_CAMPAIGN_FAIL' : 'ACYM_PAUSE_CAMPAIGN_FAIL'), "error", 10000); + } + } + + public function removeUnconfirmedUsersEmails() + { + return acym_query( + 'DELETE `queue`.* + FROM `#__acym_queue` AS `queue` + JOIN `#__acym_user` AS `user` ON `queue`.`user_id` = `user`.`id` + WHERE `user`.`confirmed` = 0 OR `user`.`active` = 0' + ); + } + + public function emptyQueue() + { + return acym_query('DELETE FROM `#__acym_queue`'); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/classes/rule.php b/deployed/acym/administrator/components/com_acym/classes/rule.php index 662358e2..49ef3e27 100644 --- a/deployed/acym/administrator/components/com_acym/classes/rule.php +++ b/deployed/acym/administrator/components/com_acym/classes/rule.php @@ -1,13 +1,13 @@ - $value) { - if (empty($value)) { - continue; - } - - $url->$oneAttribute = strip_tags($value); - } - - return parent::save($url); - } - - public function getOneUrlById($id) - { - $query = 'SELECT * from #__acym_url WHERE id = '.intval($id); - - return acym_loadObject($query); - } - - public function get($url) - { - $column = is_numeric($url) ? 'id' : 'url'; - $query = 'SELECT * FROM #__acym_url WHERE '.$column.' = '.acym_escapeDB($url).' LIMIT 1'; - - return acym_loadObject($query); - } - - public function getAdd($url) - { - $currentUrl = $this->get($url); - if (empty($currentUrl->id)) { - $currentUrl = new stdClass(); - $currentUrl->name = $url; - $currentUrl->url = $url; - $currentUrl->id = $this->save($currentUrl); - - if (empty($currentUrl->id)) { - return; - } - } - - return $currentUrl; - } - - public function getUrl($url, $mailid, $userid) - { - - if (empty($url) || empty($mailid) || empty($userid)) { - return; - } - - static $allurls; - - $url = str_replace('&', '&', $url); - - if (empty($allurls[$url])) { - $currentUrl = $this->getAdd($url); - - $allurls[$url] = acym_frontendLink('fronturl&action=acymailing_frontrouter&task=click&urlid='.$currentUrl->id.'&userid='.$userid.'&mailid='.$mailid); - } - - return $allurls[$url]; - } -} + $value) { + if (empty($value)) { + continue; + } + + $url->$oneAttribute = strip_tags($value); + } + + return parent::save($url); + } + + public function getOneUrlById($id) + { + $query = 'SELECT * from #__acym_url WHERE id = '.intval($id); + + return acym_loadObject($query); + } + + public function get($url) + { + $column = is_numeric($url) ? 'id' : 'url'; + $query = 'SELECT * FROM #__acym_url WHERE '.$column.' = '.acym_escapeDB($url).' LIMIT 1'; + + return acym_loadObject($query); + } + + public function getAdd($url) + { + $currentUrl = $this->get($url); + if (empty($currentUrl->id)) { + $currentUrl = new stdClass(); + $currentUrl->name = $url; + $currentUrl->url = $url; + $currentUrl->id = $this->save($currentUrl); + + if (empty($currentUrl->id)) { + return; + } + } + + return $currentUrl; + } + + public function getUrl($url, $mailid, $userid) + { + + if (empty($url) || empty($mailid) || empty($userid)) { + return; + } + + static $allurls; + + $url = str_replace('&', '&', $url); + + if (empty($allurls[$url])) { + $currentUrl = $this->getAdd($url); + + $allurls[$url] = acym_frontendLink('fronturl&action=acymailing_frontrouter&task=click&urlid='.$currentUrl->id.'&userid='.$userid.'&mailid='.$mailid); + } + + return $allurls[$url]; + } +} diff --git a/deployed/acym/administrator/components/com_acym/classes/urlclick.php b/deployed/acym/administrator/components/com_acym/classes/urlclick.php index dcaabcf0..c116019b 100644 --- a/deployed/acym/administrator/components/com_acym/classes/urlclick.php +++ b/deployed/acym/administrator/components/com_acym/classes/urlclick.php @@ -1,124 +1,124 @@ - $value) { - if (in_array($key, $columnName)) { - $column[] = '`'.acym_secureDBColumn($key).'`'; - $valueColumn[] = acym_escapeDB($value); - } - } - - $query = "#__acym_url_click (".implode(',', $column).") VALUES (".implode(',', $valueColumn).")"; - - $onDuplicate = []; - - if (!empty($urlClick['click'])) { - $onDuplicate[] = "click = click + 1"; - $automationClass = acym_get('class.automation'); - $automationClass->trigger('user_click', ['userId' => $urlClick['user_id']]); - } - - if (!empty($onDuplicate)) { - $query .= " ON DUPLICATE KEY UPDATE "; - $query .= implode(',', $onDuplicate); - $query = "INSERT INTO ".$query; - } else { - $query = "INSERT IGNORE INTO ".$query; - } - - acym_query($query); - } - - public function getClickRate($mailid = '') - { - $query = 'SELECT COUNT(DISTINCT user_id) as click FROM #__acym_url_click '; - $query .= empty($mailid) ? '' : ' WHERE `mail_id` = '.intval($mailid); - $query .= ' ORDER BY user_id'; - - return acym_loadObject($query); - } - - public function getAllClickByMailMonth($mailid = '', $start = '', $end = '') - { - $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m\') as date_click FROM #__acym_url_click WHERE click > 0'; - $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); - $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); - $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); - $query .= ' GROUP BY MONTH(date_click), YEAR(date_click) ORDER BY date_click'; - - return acym_loadObjectList($query); - } - - public function getAllClickByMailWeek($mailid = '', $start = '', $end = '') - { - $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m-%d\') as date_click FROM #__acym_url_click WHERE click > 0'; - $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); - $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); - $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); - $query .= ' GROUP BY WEEK(date_click), YEAR(date_click) ORDER BY date_click'; - - return acym_loadObjectList($query); - } - - public function getAllClickByMailDay($mailid = '', $start = '', $end = '') - { - $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m-%d\') as date_click FROM #__acym_url_click WHERE click > 0'; - $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); - $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); - $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); - $query .= ' GROUP BY DAYOFYEAR(date_click), YEAR(date_click) ORDER BY date_click'; - - return acym_loadObjectList($query); - } - - public function getAllClickByMailHour($mailid = '', $start = '', $end = '') - { - $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m-%d %H:00:00\') as date_click FROM #__acym_url_click WHERE click > 0'; - $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); - $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); - $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); - $query .= ' GROUP BY HOUR(date_click), DAYOFYEAR(date_click), YEAR(date_click) ORDER BY date_click'; - - return acym_loadObjectList($query); - } - - public function getAllLinkFromEmail($id) - { - $queryClickUrl = 'SELECT url.name, SUM(urlclick.click) as click FROM #__acym_url_click AS urlclick - LEFT JOIN #__acym_url AS url ON urlclick.url_id = url.id - WHERE `mail_id` = '.intval($id).' GROUP BY `url_id`'; - - $queryCountAllClicks = 'SELECT SUM(click) FROM #__acym_url_click WHERE `mail_id` = '.intval($id); - - $return = [ - 'urls_click' => acym_loadObjectList($queryClickUrl), - 'allClick' => acym_loadResult($queryCountAllClicks), - ]; - - return $return; - } -} - + $value) { + if (in_array($key, $columnName)) { + $column[] = '`'.acym_secureDBColumn($key).'`'; + $valueColumn[] = acym_escapeDB($value); + } + } + + $query = "#__acym_url_click (".implode(',', $column).") VALUES (".implode(',', $valueColumn).")"; + + $onDuplicate = []; + + if (!empty($urlClick['click'])) { + $onDuplicate[] = "click = click + 1"; + $automationClass = acym_get('class.automation'); + $automationClass->trigger('user_click', ['userId' => $urlClick['user_id']]); + } + + if (!empty($onDuplicate)) { + $query .= " ON DUPLICATE KEY UPDATE "; + $query .= implode(',', $onDuplicate); + $query = "INSERT INTO ".$query; + } else { + $query = "INSERT IGNORE INTO ".$query; + } + + acym_query($query); + } + + public function getClickRate($mailid = '') + { + $query = 'SELECT COUNT(DISTINCT user_id) as click FROM #__acym_url_click '; + $query .= empty($mailid) ? '' : ' WHERE `mail_id` = '.intval($mailid); + $query .= ' ORDER BY user_id'; + + return acym_loadObject($query); + } + + public function getAllClickByMailMonth($mailid = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m\') as date_click FROM #__acym_url_click WHERE click > 0'; + $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); + $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); + $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); + $query .= ' GROUP BY MONTH(date_click), YEAR(date_click) ORDER BY date_click'; + + return acym_loadObjectList($query); + } + + public function getAllClickByMailWeek($mailid = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m-%d\') as date_click FROM #__acym_url_click WHERE click > 0'; + $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); + $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); + $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); + $query .= ' GROUP BY WEEK(date_click), YEAR(date_click) ORDER BY date_click'; + + return acym_loadObjectList($query); + } + + public function getAllClickByMailDay($mailid = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m-%d\') as date_click FROM #__acym_url_click WHERE click > 0'; + $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); + $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); + $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); + $query .= ' GROUP BY DAYOFYEAR(date_click), YEAR(date_click) ORDER BY date_click'; + + return acym_loadObjectList($query); + } + + public function getAllClickByMailHour($mailid = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(*) as click, DATE_FORMAT(date_click, \'%Y-%m-%d %H:00:00\') as date_click FROM #__acym_url_click WHERE click > 0'; + $query .= empty($mailid) ? '' : ' AND `mail_id` = '.intval($mailid); + $query .= empty($start) ? '' : ' AND date_click >= '.acym_escapeDB($start); + $query .= empty($end) ? '' : ' AND date_click <= '.acym_escapeDB($end); + $query .= ' GROUP BY HOUR(date_click), DAYOFYEAR(date_click), YEAR(date_click) ORDER BY date_click'; + + return acym_loadObjectList($query); + } + + public function getAllLinkFromEmail($id) + { + $queryClickUrl = 'SELECT url.name, SUM(urlclick.click) as click FROM #__acym_url_click AS urlclick + LEFT JOIN #__acym_url AS url ON urlclick.url_id = url.id + WHERE `mail_id` = '.intval($id).' GROUP BY `url_id`'; + + $queryCountAllClicks = 'SELECT SUM(click) FROM #__acym_url_click WHERE `mail_id` = '.intval($id); + + $return = [ + 'urls_click' => acym_loadObjectList($queryClickUrl), + 'allClick' => acym_loadResult($queryCountAllClicks), + ]; + + return $return; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/classes/user.php b/deployed/acym/administrator/components/com_acym/classes/user.php index 85c44b56..c182cc5b 100644 --- a/deployed/acym/administrator/components/com_acym/classes/user.php +++ b/deployed/acym/administrator/components/com_acym/classes/user.php @@ -1,13 +1,13 @@ - - -
                  - - - - -
                  -
                  - + + +
                  + + + + +
                  +
                  + diff --git a/deployed/acym/administrator/components/com_acym/controllers/automation.php b/deployed/acym/administrator/components/com_acym/controllers/automation.php index c07ecc91..17004221 100644 --- a/deployed/acym/administrator/components/com_acym/controllers/automation.php +++ b/deployed/acym/administrator/components/com_acym/controllers/automation.php @@ -1,13 +1,13 @@ -breadcrumb[acym_translation('ACYM_BOUNCE_HANDLING')] = acym_completeLink('bounces'); - } - - function listing() - { - - if (!acym_level(2)) { - acym_redirect(acym_completeLink('dashboard&task=upgrade&version=enterprise', false, true)); - } - } - - - function edit() - { - $ruleClass = acym_get('class.rule'); - acym_setVar("layout", "edit"); - $ruleId = acym_getVar("int", "id", 0); - $listsClass = acym_get('class.list'); - - $rule = ""; - - if (!empty($ruleId)) { - $rule = $ruleClass->getOneById($ruleId); - $this->breadcrumb[acym_translation($rule->name)] = acym_completeLink('bounces&task=edit&id='.$ruleId); - } else { - $this->breadcrumb[acym_translation('ACYM_NEW')] = acym_completeLink('bounces&task=edit'); - } - - $data = [ - "id" => $ruleId, - "lists" => $listsClass->getAllWithIdName(), - "rule" => $rule, - ]; - - parent::display($data); - } - - public function apply() - { - $this->saveRule(); - acym_setVar("id", acym_getVar('array', 'bounce')['id']); - $this->edit(); - - - return; - } - - public function save() - { - $this->saveRule(); - $this->listing(); - - return; - } - - public function saveRule() - { - $rule = acym_getVar('array', 'bounce'); - - $ruleClass = acym_get('class.rule'); - $bounceClass = acym_get('class.bounce'); - - $rule['executed_on'] = !empty($rule['executed_on']) ? json_encode($rule['executed_on']) : '[]'; - - if (!empty($rule['action_user'])) { - if (in_array('subscribe_user', $rule['action_user'])) { - $rule['action_user']['subscribe_user_list'] = $rule['subscribe_user_list']; - } - } - unset($rule['subscribe_user_list']); - - if (!empty($rule['action_message']) && !in_array('forward_message', $rule['action_message'])) { - unset($rule['action_message']['forward_to']); - } - - if (empty($rule['id'])) { - $rule['ordering'] = $bounceClass->getOrderingNumber() + 1; - } - - $ruleObject = new stdClass(); - $ruleObject->executed_on = '[]'; - $ruleObject->action_message = '[]'; - $ruleObject->action_user = '[]'; - - foreach ($rule as $column => $value) { - acym_secureDBColumn($column); - if (is_array($value) || is_object($value)) { - $ruleObject->$column = json_encode($value); - } else { - $ruleObject->$column = strip_tags($value); - } - } - - $res = $ruleClass->save($ruleObject); - - if (!$res) { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); - } else { - acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success', 5000); - } - } - - public function setOrdering() - { - $order = json_decode(acym_getVar('string', 'order')); - $i = 1; - $error = false; - foreach ($order as $rule) { - $query = 'UPDATE #__acym_rule SET `ordering` = '.intval($i).' WHERE `id` = '.intval($rule); - $error = acym_query($query) >= 0 ? false : true; - $i++; - } - if ($error) { - echo 'error'; - } else { - echo 'updated'; - } - exit; - } - - function process() - { - acym_increasePerf(); - - $config = acym_config(); - $bounceClass = acym_get('helper.bounce'); - $bounceClass->report = true; - if (!$bounceClass->init()) { - return; - } - if (!$bounceClass->connect()) { - acym_display($bounceClass->getErrors(), 'error'); - - return; - } - $disp = "\n\n\n"; - $disp .= ''.addslashes(acym_translation('ACYM_BOUNCE_PROCESS')).''."\n"; - $disp .= "\n\n"; - echo $disp; - - acym_display(acym_translation_sprintf('ACYM_BOUNCE_CONNECT_SUCC', $config->get('bounce_username')), 'success'); - $nbMessages = $bounceClass->getNBMessages(); - acym_display(acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages), 'info'); - - if (empty($nbMessages)) { - exit; - } - - $bounceClass->handleMessages(); - $bounceClass->close(); - - $cronHelper = acym_get('helper.cron'); - $cronHelper->messages[] = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); - $cronHelper->detailMessages = $bounceClass->messages; - $cronHelper->saveReport(); - - if ($config->get('bounce_max', 0) != 0 && $nbMessages > $config->get('bounce_max', 0)) { - $url = acym_completeLink('bounces&task=process&continuebounce=1', true, true); - if (acym_getVar('int', 'continuebounce')) { - echo ''; - } else { - echo ''; - } - } - - echo ""; - while ($bounceClass->obend-- > 0) { - ob_start(); - } - exit; - } - - function saveconfig() - { - $this->_saveconfig(); - - return $this->listing(); - } - - function _saveconfig() - { - acym_checkToken(); - - $config = acym_config(); - $newConfig = acym_getVar('array', 'config', [], 'POST'); - if (!empty($newConfig['bounce_username'])) { - $newConfig['bounce_username'] = acym_punycode($newConfig['bounce_username']); - } - - $newConfig['auto_bounce_next'] = min($config->get('auto_bounce_last', time()), time()) + $newConfig['auto_bounce_frequency']; - - $status = $config->save($newConfig); - - if ($status) { - acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'message'); - } else { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error'); - } - - $config->load(); - } - - function chart() - { - acym_setVar('layout', 'chart'); - - return parent::display(); - } - - function test() - { - - $bounceClass = acym_get('class.bounce'); - - if ($bounceClass->getOrderingNumber() < 1) { - acym_enqueueNotification(acym_translation('ACYM_NO_RULES'), 'error', 5000); - - $this->listing(); - - return; - } - - acym_increasePerf(); - $config = acym_config(); - $bounceClass = acym_get('helper.bounce'); - $bounceClass->report = true; - - if ($bounceClass->init()) { - if ($bounceClass->connect()) { - $nbMessages = $bounceClass->getNBMessages(); - acym_enqueueNotification(acym_translation_sprintf('ACYM_BOUNCE_CONNECT_SUCC', $config->get('bounce_username')), "success", 5000); - $bounceClass->close(); - if (!empty($nbMessages)) { - acym_enqueueNotification( - [ - acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages), - acym_modal( - acym_translation('ACYM_CLICK_BOUNCE'), - '', - null, - 'data-reveal-larger', - 'data-ajax="true" data-iframe="&ctrl=bounces&task=process" class="acym__color__light-blue cursor-pointer" style="margin: 0"' - ), - ] - ); - } - } else { - $errors = $bounceClass->getErrors(); - if (!empty($errors)) { - acym_enqueueNotification($errors, 'error'); - $errorString = implode(' ', $errors); - $port = $config->get('bounce_port', ''); - if (preg_match('#certificate#i', $errorString) && !$config->get('bounce_certif', false)) { - acym_enqueueNotification('You may need to turn ON the option '.acym_translation('ACYM_SELF_SIGNED_CERTIFICATE').'', 'warning'); - } elseif (!empty($port) && !in_array($port, ['993', '143', '110'])) { - acym_enqueueNotification(acym_translation('ACYM_BOUNCE_WRONG_PORT'), 'warning'); - } - } - } - } - - return $this->listing(); - } - - function reinstall() - { - $bounceClass = acym_get('class.bounce'); - $bounceClass->cleanTable(); - - $updateHelper = acym_get('helper.update'); - $updateHelper->installBounceRules(); - - return $this->listing(); - } - - public function config() - { - acym_redirect(acym_completeLink('configuration', false, true)); - } - - public function delete() - { - $rulesSelected = acym_getVar('array', 'elements_checked'); - - $ruleClass = acym_get('class.rule'); - $ruleClass->delete($rulesSelected); - - $this->listing(); - } -} - +breadcrumb[acym_translation('ACYM_BOUNCE_HANDLING')] = acym_completeLink('bounces'); + } + + function listing() + { + + if (!acym_level(2)) { + acym_redirect(acym_completeLink('dashboard&task=upgrade&version=enterprise', false, true)); + } + } + + + function edit() + { + $ruleClass = acym_get('class.rule'); + acym_setVar("layout", "edit"); + $ruleId = acym_getVar("int", "id", 0); + $listsClass = acym_get('class.list'); + + $rule = ""; + + if (!empty($ruleId)) { + $rule = $ruleClass->getOneById($ruleId); + $this->breadcrumb[acym_translation($rule->name)] = acym_completeLink('bounces&task=edit&id='.$ruleId); + } else { + $this->breadcrumb[acym_translation('ACYM_NEW')] = acym_completeLink('bounces&task=edit'); + } + + $data = [ + "id" => $ruleId, + "lists" => $listsClass->getAllWithIdName(), + "rule" => $rule, + ]; + + parent::display($data); + } + + public function apply() + { + $this->saveRule(); + acym_setVar("id", acym_getVar('array', 'bounce')['id']); + $this->edit(); + + + return; + } + + public function save() + { + $this->saveRule(); + $this->listing(); + + return; + } + + public function saveRule() + { + $rule = acym_getVar('array', 'bounce'); + + $ruleClass = acym_get('class.rule'); + $bounceClass = acym_get('class.bounce'); + + $rule['executed_on'] = !empty($rule['executed_on']) ? json_encode($rule['executed_on']) : '[]'; + + if (!empty($rule['action_user'])) { + if (in_array('subscribe_user', $rule['action_user'])) { + $rule['action_user']['subscribe_user_list'] = $rule['subscribe_user_list']; + } + } + unset($rule['subscribe_user_list']); + + if (!empty($rule['action_message']) && !in_array('forward_message', $rule['action_message'])) { + unset($rule['action_message']['forward_to']); + } + + if (empty($rule['id'])) { + $rule['ordering'] = $bounceClass->getOrderingNumber() + 1; + } + + $ruleObject = new stdClass(); + $ruleObject->executed_on = '[]'; + $ruleObject->action_message = '[]'; + $ruleObject->action_user = '[]'; + + foreach ($rule as $column => $value) { + acym_secureDBColumn($column); + if (is_array($value) || is_object($value)) { + $ruleObject->$column = json_encode($value); + } else { + $ruleObject->$column = strip_tags($value); + } + } + + $res = $ruleClass->save($ruleObject); + + if (!$res) { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); + } else { + acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success', 5000); + } + } + + public function setOrdering() + { + $order = json_decode(acym_getVar('string', 'order')); + $i = 1; + $error = false; + foreach ($order as $rule) { + $query = 'UPDATE #__acym_rule SET `ordering` = '.intval($i).' WHERE `id` = '.intval($rule); + $error = acym_query($query) >= 0 ? false : true; + $i++; + } + if ($error) { + echo 'error'; + } else { + echo 'updated'; + } + exit; + } + + function process() + { + acym_increasePerf(); + + $config = acym_config(); + $bounceClass = acym_get('helper.bounce'); + $bounceClass->report = true; + if (!$bounceClass->init()) { + return; + } + if (!$bounceClass->connect()) { + acym_display($bounceClass->getErrors(), 'error'); + + return; + } + $disp = "\n\n\n"; + $disp .= ''.addslashes(acym_translation('ACYM_BOUNCE_PROCESS')).''."\n"; + $disp .= "\n\n"; + echo $disp; + + acym_display(acym_translation_sprintf('ACYM_BOUNCE_CONNECT_SUCC', $config->get('bounce_username')), 'success'); + $nbMessages = $bounceClass->getNBMessages(); + acym_display(acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages), 'info'); + + if (empty($nbMessages)) { + exit; + } + + $bounceClass->handleMessages(); + $bounceClass->close(); + + $cronHelper = acym_get('helper.cron'); + $cronHelper->messages[] = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); + $cronHelper->detailMessages = $bounceClass->messages; + $cronHelper->saveReport(); + + if ($config->get('bounce_max', 0) != 0 && $nbMessages > $config->get('bounce_max', 0)) { + $url = acym_completeLink('bounces&task=process&continuebounce=1', true, true); + if (acym_getVar('int', 'continuebounce')) { + echo ''; + } else { + echo ''; + } + } + + echo ""; + while ($bounceClass->obend-- > 0) { + ob_start(); + } + exit; + } + + function saveconfig() + { + $this->_saveconfig(); + + return $this->listing(); + } + + function _saveconfig() + { + acym_checkToken(); + + $config = acym_config(); + $newConfig = acym_getVar('array', 'config', [], 'POST'); + if (!empty($newConfig['bounce_username'])) { + $newConfig['bounce_username'] = acym_punycode($newConfig['bounce_username']); + } + + $newConfig['auto_bounce_next'] = min($config->get('auto_bounce_last', time()), time()) + $newConfig['auto_bounce_frequency']; + + $status = $config->save($newConfig); + + if ($status) { + acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'message'); + } else { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error'); + } + + $config->load(); + } + + function chart() + { + acym_setVar('layout', 'chart'); + + return parent::display(); + } + + function test() + { + + $bounceClass = acym_get('class.bounce'); + + if ($bounceClass->getOrderingNumber() < 1) { + acym_enqueueNotification(acym_translation('ACYM_NO_RULES'), 'error', 5000); + + $this->listing(); + + return; + } + + acym_increasePerf(); + $config = acym_config(); + $bounceClass = acym_get('helper.bounce'); + $bounceClass->report = true; + + if ($bounceClass->init()) { + if ($bounceClass->connect()) { + $nbMessages = $bounceClass->getNBMessages(); + acym_enqueueNotification(acym_translation_sprintf('ACYM_BOUNCE_CONNECT_SUCC', $config->get('bounce_username')), "success", 5000); + $bounceClass->close(); + if (!empty($nbMessages)) { + acym_enqueueNotification( + [ + acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages), + acym_modal( + acym_translation('ACYM_CLICK_BOUNCE'), + '', + null, + 'data-reveal-larger', + 'data-ajax="true" data-iframe="&ctrl=bounces&task=process" class="acym__color__light-blue cursor-pointer" style="margin: 0"' + ), + ] + ); + } + } else { + $errors = $bounceClass->getErrors(); + if (!empty($errors)) { + acym_enqueueNotification($errors, 'error'); + $errorString = implode(' ', $errors); + $port = $config->get('bounce_port', ''); + if (preg_match('#certificate#i', $errorString) && !$config->get('bounce_certif', false)) { + acym_enqueueNotification('You may need to turn ON the option '.acym_translation('ACYM_SELF_SIGNED_CERTIFICATE').'', 'warning'); + } elseif (!empty($port) && !in_array($port, ['993', '143', '110'])) { + acym_enqueueNotification(acym_translation('ACYM_BOUNCE_WRONG_PORT'), 'warning'); + } + } + } + } + + return $this->listing(); + } + + function reinstall() + { + $bounceClass = acym_get('class.bounce'); + $bounceClass->cleanTable(); + + $updateHelper = acym_get('helper.update'); + $updateHelper->installBounceRules(); + + return $this->listing(); + } + + public function config() + { + acym_redirect(acym_completeLink('configuration', false, true)); + } + + public function delete() + { + $rulesSelected = acym_getVar('array', 'elements_checked'); + + $ruleClass = acym_get('class.rule'); + $ruleClass->delete($rulesSelected); + + $this->listing(); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/controllers/campaigns.php b/deployed/acym/administrator/components/com_acym/controllers/campaigns.php index 4406515f..a2c052f4 100644 --- a/deployed/acym/administrator/components/com_acym/controllers/campaigns.php +++ b/deployed/acym/administrator/components/com_acym/controllers/campaigns.php @@ -1,13 +1,13 @@ -loadScripts = [ - 'all' => ['colorpicker', 'datepicker', 'thumbnail', 'foundation-email', 'parse-css'], - ]; - } - - public function listing() - { - acym_setVar('layout', 'listing'); - $config = acym_config(); - - if ($config->get('migration') == 0 && acym_existsAcyMailing59()) { - - acym_setVar("layout", "migrate"); - - parent::display(); - - return; - } - - if (ACYM_CMS === 'wordpress') { - $installDate = $config->get('install_date', time()); - $remindme = json_decode($config->get('remindme', '[]')); - - if ($installDate < time() - 1814400 && !in_array('reviews', $remindme)) { - $this->feedback(); - - return true; - } - } - - $newConfig = new stdClass(); - - $newConfig->migration = '1'; - $config->save($newConfig); - - if ($config->get('walk_through') == 1) { - $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); - if (!empty($walkthroughParams['step'])) { - $this->{$walkthroughParams['step']}(); - } else { - $this->stepSubscribe(); - } - - return; - } - - $data = []; - $campaignClass = acym_get('class.campaign'); - $mailStatsClass = acym_get('class.mailstat'); - $urlClickClass = acym_get('class.urlclick'); - $mails = $mailStatsClass->getAllMailsForStats(); - $data['campaignsScheduled'] = $campaignClass->getCampaignForDashboard(); - $data['dashboard_stats'] = true; - - if (empty($mails)) { - $data['emptyGlobal'] = 'campaigns'; - parent::display($data); - - return; - } - - $data['mails'] = []; - - foreach ($mails as $mail) { - if (empty($mail->name) || (empty($mail->id) && $mail->sent != 1)) continue; - - $newMail = new stdClass(); - $newMail->name = $mail->name; - $newMail->value = $mail->id; - $data['mails'][] = $newMail; - } - - $data['selectedMailid'] = empty($selectedMail) ? '' : $selectedMail; - - $statsMailSelected = $mailStatsClass->getOneByMailId($data['selectedMailid']); - - if (empty($statsMailSelected)) { - $data['emptyGlobal'] = empty($data['selectedMailid']) ? 'campaigns' : 'stats'; - } - - if (empty($statsMailSelected->sent)) { - $data['emptyGlobal'] = 'stats'; - } - - $statsMailSelected->totalMail = $statsMailSelected->sent + $statsMailSelected->fail; - $statsMailSelected->pourcentageSent = empty($statsMailSelected->totalMail) ? 0 : intval(($statsMailSelected->sent * 100) / $statsMailSelected->totalMail); - $statsMailSelected->allSent = empty($statsMailSelected->totalMail) ? acym_translation_sprintf('ACYM_X_MAIL_SUCCESSFULLY_SENT_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_MAIL_SUCCESSFULLY_SENT_OF_X', $statsMailSelected->sent, $statsMailSelected->totalMail); - - $openRateCampaign = empty($data['selectedMailid']) ? $campaignClass->getOpenRateAllCampaign() : $campaignClass->getOpenRateOneCampaign($data['selectedMailid']); - $statsMailSelected->pourcentageOpen = empty($openRateCampaign->sent) ? 0 : intval(($openRateCampaign->open_unique * 100) / $openRateCampaign->sent); - $statsMailSelected->allOpen = empty($openRateCampaign->sent) ? acym_translation_sprintf('ACYM_X_MAIL_OPENED_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_MAIL_OPENED_OF_X', $openRateCampaign->open_unique, $openRateCampaign->sent); - - $clickRateCampaign = $urlClickClass->getClickRate($data['selectedMailid']); - $statsMailSelected->pourcentageClick = empty($statsMailSelected->sent) ? 0 : intval(($clickRateCampaign->click * 100) / $statsMailSelected->sent); - $statsMailSelected->allClick = empty($statsMailSelected->sent) ? acym_translation_sprintf('ACYM_X_MAIL_CLICKED_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_MAIL_CLICKED_OF_X', $clickRateCampaign->click, $statsMailSelected->sent); - - $bounceRateCampaign = empty($data['selectedMailid']) ? $campaignClass->getBounceRateAllCampaign() : $campaignClass->getBounceRateOneCampaign($data['selectedMailid']); - $statsMailSelected->pourcentageBounce = empty($statsMailSelected->sent) ? 0 : intval(($bounceRateCampaign->bounce_unique * 100) / $statsMailSelected->sent); - $statsMailSelected->allBounce = empty($statsMailSelected->sent) ? acym_translation_sprintf('ACYM_X_BOUNCE_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_BOUNCE_OF_X', $bounceRateCampaign->bounce_unique, $statsMailSelected->sent); - - - $campaignOpenByMonth = $campaignClass->getOpenByMonth($data['selectedMailid']); - $campaignOpenByDay = $campaignClass->getOpenByDay($data['selectedMailid']); - $campaignOpenByHour = $campaignClass->getOpenByHour($data['selectedMailid']); - - $campaignClickByMonth = $urlClickClass->getAllClickByMailMonth($data['selectedMailid']); - $campaignClickByDay = $urlClickClass->getAllClickByMailDay($data['selectedMailid']); - $campaignClickByHour = $urlClickClass->getAllClickByMailHour($data['selectedMailid']); - - if (empty($campaignOpenByMonth) || empty($campaignOpenByDay) || empty($campaignOpenByHour)) { - $statsMailSelected->empty = true; - $data['stats_mail_1'] = $statsMailSelected; - - parent::display($data); - - return; - } - - #To get all the month between the first open date and the last - $begin = new DateTime(empty($campaignClickByMonth) ? $campaignOpenByMonth[0]->open_date : min([$campaignOpenByMonth[0]->open_date, $campaignClickByMonth[0]->date_click])); - $end = new DateTime(empty($campaignClickByMonth) ? end($campaignOpenByMonth)->open_date : max([end($campaignOpenByMonth)->open_date, end($campaignClickByMonth)->date_click])); - - $end->modify('+1 day'); - - $interval = new DateInterval('P1M'); - $daterange = new DatePeriod($begin, $interval, $end); - - $rangeMonth = []; - - foreach ($daterange as $date) { - $rangeMonth[] = acym_getTime($date->format('Y-m-d H:i:s')); - } - - #To get all the day between the first open date and the last - $begin = new DateTime(empty($campaignClickByDay) ? $campaignOpenByDay[0]->open_date : min([$campaignOpenByDay[0]->open_date, $campaignClickByDay[0]->date_click])); - $end = new DateTime(empty($campaignClickByDay) ? end($campaignOpenByDay)->open_date : max([end($campaignOpenByDay)->open_date, end($campaignClickByDay)->date_click])); - - $end->modify('+1 hour'); - - $interval = new DateInterval('P1D'); - $daterange = new DatePeriod($begin, $interval, $end); - - $rangeDay = []; - - foreach ($daterange as $date) { - $rangeDay[] = acym_getTime($date->format('Y-m-d H:i:s')); - } - - - #To get all the hour between the first open date and the last - $begin = new DateTime(empty($campaignClickByHour) ? $campaignOpenByHour[0]->open_date : min([$campaignOpenByHour[0]->open_date, $campaignClickByHour[0]->date_click])); - $end = new DateTime(empty($campaignClickByHour) ? end($campaignOpenByHour)->open_date : max([end($campaignOpenByHour)->open_date, end($campaignClickByHour)->date_click])); - - $end->modify('+1 min'); - - $interval = new DateInterval('PT1H'); - $daterange = new DatePeriod($begin, $interval, $end); - - $rangeHour = []; - - foreach ($daterange as $date) { - $rangeHour[] = acym_getTime($date->format('Y-m-d H:i:s')); - } - - $openMonthArray = []; - $openDayArray = []; - $openHourArray = []; - - foreach ($campaignOpenByMonth as $one) { - $openMonthArray[acym_date(acym_getTime($one->open_date), 'M Y')] = $one->open; - } - - foreach ($campaignOpenByDay as $one) { - $openDayArray[acym_date(acym_getTime($one->open_date), 'd M Y')] = $one->open; - } - - foreach ($campaignOpenByHour as $one) { - $openHourArray[acym_date(acym_getTime($one->open_date), 'd M Y H')] = $one->open; - } - - $clickMonthArray = []; - $clickDayArray = []; - $clickHourArray = []; - - foreach ($campaignClickByMonth as $one) { - $clickMonthArray[acym_date(acym_getTime($one->date_click), 'M Y')] = $one->click; - } - - foreach ($campaignClickByDay as $one) { - $clickDayArray[acym_date(acym_getTime($one->date_click), 'd M Y')] = $one->click; - } - - foreach ($campaignClickByHour as $one) { - $clickHourArray[acym_date(acym_getTime($one->date_click), 'd M Y H')] = $one->click; - } - - $statsMailSelected->month = []; - foreach ($rangeMonth as $one) { - $one = acym_date($one, 'M Y'); - $currentMonth = []; - $currentMonth['open'] = empty($openMonthArray[$one]) ? 0 : $openMonthArray[$one]; - $currentMonth['click'] = empty($clickMonthArray[$one]) ? 0 : $clickMonthArray[$one]; - $statsMailSelected->month[$one] = $currentMonth; - } - - $statsMailSelected->day = []; - foreach ($rangeDay as $one) { - $one = acym_date($one, 'd M Y'); - $currentDay = []; - $currentDay['open'] = empty($openDayArray[$one]) ? 0 : $openDayArray[$one]; - $currentDay['click'] = empty($clickDayArray[$one]) ? 0 : $clickDayArray[$one]; - $statsMailSelected->day[$one] = $currentDay; - } - - $statsMailSelected->hour = []; - foreach ($rangeHour as $one) { - $one = acym_date($one, 'd M Y H'); - $currentHour = []; - $currentHour['open'] = empty($openHourArray[$one]) ? 0 : $openHourArray[$one]; - $currentHour['click'] = empty($clickHourArray[$one]) ? 0 : $clickHourArray[$one]; - $statsMailSelected->hour[$one.':00'] = $currentHour; - } - $data['stats_mail_1'] = $statsMailSelected; - - parent::display($data); - } - - public function stepSubscribe() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'subscribe', - 'email' => acym_currentUserEmail(), - ]; - - parent::display($data); - } - - public function saveStepSubscribe() - { - $this->_saveWalkthrough(['step' => 'stepEmail']); - $this->stepEmail(); - } - - public function stepEmail() - { - acym_setVar('layout', 'walk_through'); - - $config = acym_config(); - - $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); - - $mailClass = acym_get('class.mail'); - $updateHelper = acym_get('helper.update'); - - $mail = empty($walkthroughParams['mail_id']) ? $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)) : $mailClass->getOneById($walkthroughParams['mail_id']); - - if (empty($mail)) { - $updateHelper = acym_get('helper.update'); - if (!$updateHelper->installNotifications()) { - $this->stepSubscribe(); - - return; - } - $mail = $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)); - } - - $editor = acym_get('helper.editor'); - $editor->content = $mail->body; - $editor->autoSave = ''; - $editor->settings = $mail->settings; - $editor->stylesheet = $mail->stylesheet; - $editor->editor = 'acyEditor'; - $editor->mailId = $mail->id; - $editor->walkThrough = true; - - $data = [ - 'step' => 'email', - 'editor' => $editor, - 'social_icons' => $config->get('social_icons', '{}'), - 'mail' => $mail, - ]; - - parent::display($data); - } - - public function saveAjax() - { - $mailController = acym_get('controller.mails'); - - $isWellSaved = $mailController->store(true); - echo json_encode(['error' => $isWellSaved ? '' : acym_translation('ACYM_ERROR_SAVING'), 'data' => $isWellSaved]); - exit; - } - - public function saveStepEmail() - { - $mailController = acym_get('controller.mails'); - - $mailId = $mailController->store(); - - if (empty($mailId)) { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 10000); - $this->passWalkThrough(); - } else { - $this->_saveWalkthrough(['step' => 'stepList', 'mail_id' => $mailId]); - $this->stepList(); - } - } - - public function stepList() - { - acym_setVar('layout', 'walk_through'); - $listClass = acym_get('class.list'); - $config = acym_config(); - $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); - - $users = empty($walkthroughParams['list_id']) ? [] : $listClass->getSubscribersByListId($walkthroughParams['list_id']); - $usersReturn = []; - if (!empty($users)) { - foreach ($users as $user) { - $usersReturn[] = $user->email; - } - } - - if (empty($usersReturn)) $usersReturn[] = acym_currentUserEmail(); - - $data = [ - 'step' => 'list', - 'users' => $usersReturn, - ]; - - parent::display($data); - } - - public function saveStepList() - { - $config = acym_config(); - $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); - if (empty($walkthroughParams['list_id'])) { - $testingList = new stdClass(); - $testingList->name = acym_translation('ACYM_TESTING_LIST'); - $testingList->visible = 0; - $testingList->active = 1; - $testingList->color = '#94d4a6'; - - $listClass = acym_get('class.list'); - $listId = $listClass->save($testingList); - } else { - $listId = $walkthroughParams['list_id']; - } - - if (empty($listId)) { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVE_LIST'), 'error', 5000); - $this->passWalkThrough(); - - return; - } - - $userClass = acym_get('class.user'); - - $addresses = acym_getVar('array', 'addresses', []); - $addresses = array_unique($addresses); - $wrongAddresses = []; - foreach ($addresses as $oneAddress) { - if (!acym_isValidEmail($oneAddress)) { - $wrongAddresses[] = $oneAddress; - continue; - } - - $existing = $userClass->getOneByEmail($oneAddress); - if (empty($existing)) { - $newUser = new stdClass(); - $newUser->email = $oneAddress; - $newUser->confirmed = 1; - - $userId = $userClass->save($newUser); - } else { - $userId = $existing->id; - } - - $userClass->subscribe($userId, $listId); - } - - if (!empty($wrongAddresses)) acym_enqueueNotification(acym_translation_sprintf('ACYM_WRONG_ADDRESSES', implode(', ', $wrongAddresses)), 'warning', 5000); - - $nextStep = acym_isLocalWebsite() ? 'stepGmail' : 'stepPhpmail'; - - $this->_saveWalkthrough(['step' => $nextStep, 'list_id' => $listId]); - $this->$nextStep(); - } - - public function stepPhpmail() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'phpmail', - 'userEmail' => acym_currentUserEmail(), - ]; - - parent::display($data); - } - - public function saveStepPhpmail() - { - $config = acym_config(); - - - if (!$this->_saveFrom()) { - $this->stepPhpmail(); - - return; - } - - $mailerMethod = ['mailer_method' => 'phpmail']; - if (false === $config->save($mailerMethod)) { - acym_enqueueMessage(acym_translation('ACYM_ERROR_SAVING', 'error')); - $this->stepPhpmail(); - - return; - } - - if (false === $this->_sendFirstEmail()) { - $this->stepPhpmail(); - - return; - } - - $this->_saveWalkthrough(['step' => 'stepResult']); - $this->stepResult(); - } - - public function stepGmail() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'gmail', - 'userEmail' => acym_currentUserEmail(), - ]; - - parent::display($data); - } - - public function saveStepGmail() - { - $config = acym_config(); - - if (!$this->_saveFrom() || !$this->_saveGmailInformation()) { - $this->stepGmail(); - - return; - } - - $this->_sendFirstEmail(); - - $this->_saveWalkthrough(['step' => 'stepResult']); - $this->stepResult(); - } - - public function stepResult() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'result', - ]; - - parent::display($data); - } - - public function saveStepResult() - { - $config = acym_config(); - $result = acym_getVar('boolean', 'result'); - - $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); - - $stepFail = acym_isLocalWebsite() || !empty($walkthroughParams['step_fail']) ? 'stepFaillocal' : 'stepFail'; - - $nextStep = $result ? 'stepSuccess' : $stepFail; - $this->_saveWalkthrough(['step' => $nextStep]); - - $this->$nextStep(); - } - - public function stepSuccess() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'success', - ]; - - parent::display($data); - } - - public function saveStepSuccess() - { - $this->passWalkThrough(); - } - - public function stepFaillocal() - { - acym_setVar('layout', 'walk_through'); - $data = [ - 'step' => 'faillocal', - 'email' => acym_currentUserEmail(), - ]; - parent::display($data); - } - - public function saveStepFaillocal() - { - $this->_handleContactMe('stepFaillocal'); - } - - public function stepFail() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'fail', - 'email' => acym_currentUserEmail(), - ]; - - parent::display($data); - } - - public function saveStepFail() - { - $choice = acym_getVar('cmd', 'choice', 'gmail'); - if ('gmail' === $choice) { - $this->_saveGmailInformation(); - $this->_sendFirstEmail(); - $this->_saveWalkthrough(['step' => 'stepResult', 'step_fail' => true]); - $this->stepResult(); - } else { - $this->_handleContactMe('stepFail'); - } - } - - private function _handleContactMe($fromFunction) - { - $email = acym_getVar('string', 'email'); - if (empty($email) || !acym_isValidEmail($email)) { - acym_enqueueNotification(acym_translation('ACYM_PLEASE_ADD_YOUR_EMAIL'), 'error', 10000); - $this->$fromFunction(); - - return; - } - - $config = acym_config(); - - $handle = curl_init(); - $url = ACYM_UPDATEMEURL.'contact&task=contactme&email='.urlencode($email).'&version='.$config->get('version', '6').'&cms='.ACYM_CMS; - curl_setopt($handle, CURLOPT_URL, $url); - curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); - $output = curl_exec($handle); - curl_close($handle); - $output = json_decode($output, true); - if (!empty($output['error'])) { - acym_enqueueMessage(acym_translation('ACYM_SOMETHING_WENT_WRONG_CONTACT_ON_ACYBA'), 'error'); - $this->passWalkThrough(); - } else { - $this->_saveWalkthrough(['step' => 'stepSupport']); - $this->stepSupport(); - } - } - - public function stepSupport() - { - acym_setVar('layout', 'walk_through'); - - $data = [ - 'step' => 'support', - ]; - - parent::display($data); - } - - public function saveStepSupport() - { - $this->passWalkThrough(); - } - - public function passWalkThrough() - { - $config = acym_config(); - $newConfig = new stdClass(); - $newConfig->walk_through = 0; - - if ($config->get('templates_installed') == 0) { - $updateHelper = acym_get('helper.update'); - $updateHelper->installTemplate(); - $newConfig->templates_installed = 1; - } - $config->save($newConfig); - - acym_redirect(acym_completeLink('users&task=import', false, true)); - - return; - } - - public function preMigration() - { - $elementToMigrate = acym_getVar("string", "element"); - $helperMigration = acym_get('helper.migration'); - - $result = $helperMigration->preMigration($elementToMigrate); - - if (!empty($result["isOk"])) { - echo $result["count"]; - } else { - echo "ERROR : "; - if (!empty($result["errorInsert"])) { - echo strtoupper(acym_translation("ACYM_INSERT_ERROR")); - } - if (!empty($result["errorClean"])) { - echo strtoupper(acym_translation("ACYM_CLEAN_ERROR")); - } - - if (!empty($result["errors"])) { - echo "
                  "; - - foreach ($result["errors"] as $key => $oneError) { - echo "
                  ".$key." : ".$oneError; - } - } - } - exit; - } - - public function migrate() - { - $elementToMigrate = acym_getVar("string", "element"); - $helperMigration = acym_get('helper.migration'); - $functionName = "do".ucfirst($elementToMigrate)."Migration"; - - $result = $helperMigration->$functionName($elementToMigrate); - - if (!empty($result["isOk"])) { - echo json_encode($result); - } else { - echo "ERROR : "; - if (!empty($result["errorInsert"])) { - echo strtoupper(acym_translation("ACYM_INSERT_ERROR")); - } - if (!empty($result["errorClean"])) { - echo strtoupper(acym_translation("ACYM_CLEAN_ERROR")); - } - - if (!empty($result["errors"])) { - echo "
                  "; - - foreach ($result["errors"] as $key => $oneError) { - echo "
                  ".$key." : ".$oneError; - } - } - } - exit; - } - - public function migrationDone() - { - $config = acym_config(); - - $newConfig = new stdClass(); - $newConfig->migration = "1"; - $config->save($newConfig); - - $updateHelper = acym_get('helper.update'); - $updateHelper->installNotifications(); - - $this->listing(); - } - - private function acym_existsAcyMailing59() - { - $allTables = acym_getTables(); - - if (in_array(acym_getPrefix().'acymailing_config', $allTables)) { - $queryVersion = 'SELECT `value` FROM #__acymailing_config WHERE `namekey` LIKE "version"'; - - $version = acym_loadResult($queryVersion); - - if (version_compare($version, '5.9.0') >= 0) { - return true; - } - } - - return false; - } - - public function upgrade() - { - acym_setVar('layout', 'upgrade'); - - $version = acym_getVar('string', 'version', 'enterprise'); - - $data = ['version' => $version]; - - parent::display($data); - } - - public function feedback() - { - acym_setVar('layout', 'feedback'); - - parent::display(); - - return; - } - - private function _saveFrom() - { - $fromName = acym_getVar('string', 'from_name', 'Test'); - $fromAddress = acym_getVar('string', 'from_address', 'test@test.com'); - - $mailClass = acym_get('class.mail'); - $updateHelper = acym_get('helper.update'); - - $firstMail = $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)); - - if (empty($firstMail)) { - acym_enqueueNotification(acym_translation('ACYM_PLEASE_REINSTALL_ACYMAILING'), 'error'); - - return false; - } - - $firstMail->from_name = $fromName; - $firstMail->from_email = $fromAddress; - - $statusSaveMail = $mailClass->save($firstMail); - - if (empty($statusSaveMail)) { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error'); - - return false; - } - - return true; - } - - private function _saveGmailInformation() - { - $gmailAddress = acym_getVar('string', 'gmail_address', ''); - $gmailPassword = acym_getVar('string', 'gmail_password', ''); - - $config = acym_config(); - - if (empty($gmailAddress) || empty($gmailPassword)) { - acym_enqueueMessage(acym_translation('ACYM_EMPTY_ADDRESS_OR_PASSWORD'), 'error'); - - return false; - } - - $newSmtpConfiguration = [ - 'smtp_auth' => '1', - 'smtp_host' => 'smtp.gmail.com', - 'smtp_keepalive' => '1', - 'smtp_port' => '465', - 'smtp_secured' => 'ssl', - 'smtp_username' => $gmailAddress, - 'smtp_password' => $gmailPassword, - 'mailer_method' => 'smtp', - ]; - - if (false === $config->save($newSmtpConfiguration)) { - acym_enqueueMessage(acym_translation('ACYM_ERROR_SAVING', 'error')); - - return false; - } - - return true; - } - - private function _sendFirstEmail() - { - $config = acym_config(); - $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); - $listClass = acym_get('class.list'); - $mailClass = acym_get('class.mail'); - $updateHelper = acym_get('helper.update'); - $mailerHelper = acym_get('helper.mailer'); - - $testingList = empty($walkthroughParams['list_id']) ? $listClass->getOneByName(acym_translation('ACYM_TESTING_LIST')) : $listClass->getOneById($walkthroughParams['list_id']); - $firstMail = empty($walkthroughParams['mail_id']) ? $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)) : $mailClass->getOneById($walkthroughParams['mail_id']); - - if (empty($testingList)) { - acym_enqueueNotification(acym_translation('ACYM_CANT_RETRIEVE_TESTING_LIST'), 'error'); - - return false; - } - - if (empty($firstMail)) { - acym_enqueueNotification(acym_translation('ACYM_CANT_RETRIEVE_TEST_EMAIL'), 'error'); - } - - $subscribersTestingListIds = $listClass->getSubscribersIdsById($testingList->id); - - $nbSent = 0; - foreach ($subscribersTestingListIds as $subscriberId) { - if ($mailerHelper->sendOne($firstMail->id, $subscriberId, true)) $nbSent++; - } - - if ($nbSent === 0) { - return false; - } - - return true; - } - - private function _saveWalkthrough($params) - { - $config = acym_config(); - - $newParams = json_decode($config->get('walkthrough_params', '[]'), true); - foreach ($params as $key => $value) { - $newParams[$key] = $value; - } - $config->save(['walkthrough_params' => json_encode($newParams)]); - } -} - +loadScripts = [ + 'all' => ['colorpicker', 'datepicker', 'thumbnail', 'foundation-email', 'parse-css'], + ]; + } + + public function listing() + { + acym_setVar('layout', 'listing'); + $config = acym_config(); + + if ($config->get('migration') == 0 && acym_existsAcyMailing59()) { + + acym_setVar("layout", "migrate"); + + parent::display(); + + return; + } + + if (ACYM_CMS === 'wordpress') { + $installDate = $config->get('install_date', time()); + $remindme = json_decode($config->get('remindme', '[]')); + + if ($installDate < time() - 1814400 && !in_array('reviews', $remindme)) { + $this->feedback(); + + return true; + } + } + + $newConfig = new stdClass(); + + $newConfig->migration = '1'; + $config->save($newConfig); + + if ($config->get('walk_through') == 1) { + $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); + if (!empty($walkthroughParams['step'])) { + $this->{$walkthroughParams['step']}(); + } else { + $this->stepSubscribe(); + } + + return; + } + + $data = []; + $campaignClass = acym_get('class.campaign'); + $mailStatsClass = acym_get('class.mailstat'); + $urlClickClass = acym_get('class.urlclick'); + $mails = $mailStatsClass->getAllMailsForStats(); + $data['campaignsScheduled'] = $campaignClass->getCampaignForDashboard(); + $data['dashboard_stats'] = true; + + if (empty($mails)) { + $data['emptyGlobal'] = 'campaigns'; + parent::display($data); + + return; + } + + $data['mails'] = []; + + foreach ($mails as $mail) { + if (empty($mail->name) || (empty($mail->id) && $mail->sent != 1)) continue; + + $newMail = new stdClass(); + $newMail->name = $mail->name; + $newMail->value = $mail->id; + $data['mails'][] = $newMail; + } + + $data['selectedMailid'] = empty($selectedMail) ? '' : $selectedMail; + + $statsMailSelected = $mailStatsClass->getOneByMailId($data['selectedMailid']); + + if (empty($statsMailSelected)) { + $data['emptyGlobal'] = empty($data['selectedMailid']) ? 'campaigns' : 'stats'; + } + + if (empty($statsMailSelected->sent)) { + $data['emptyGlobal'] = 'stats'; + } + + $statsMailSelected->totalMail = $statsMailSelected->sent + $statsMailSelected->fail; + $statsMailSelected->pourcentageSent = empty($statsMailSelected->totalMail) ? 0 : intval(($statsMailSelected->sent * 100) / $statsMailSelected->totalMail); + $statsMailSelected->allSent = empty($statsMailSelected->totalMail) ? acym_translation_sprintf('ACYM_X_MAIL_SUCCESSFULLY_SENT_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_MAIL_SUCCESSFULLY_SENT_OF_X', $statsMailSelected->sent, $statsMailSelected->totalMail); + + $openRateCampaign = empty($data['selectedMailid']) ? $campaignClass->getOpenRateAllCampaign() : $campaignClass->getOpenRateOneCampaign($data['selectedMailid']); + $statsMailSelected->pourcentageOpen = empty($openRateCampaign->sent) ? 0 : intval(($openRateCampaign->open_unique * 100) / $openRateCampaign->sent); + $statsMailSelected->allOpen = empty($openRateCampaign->sent) ? acym_translation_sprintf('ACYM_X_MAIL_OPENED_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_MAIL_OPENED_OF_X', $openRateCampaign->open_unique, $openRateCampaign->sent); + + $clickRateCampaign = $urlClickClass->getClickRate($data['selectedMailid']); + $statsMailSelected->pourcentageClick = empty($statsMailSelected->sent) ? 0 : intval(($clickRateCampaign->click * 100) / $statsMailSelected->sent); + $statsMailSelected->allClick = empty($statsMailSelected->sent) ? acym_translation_sprintf('ACYM_X_MAIL_CLICKED_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_MAIL_CLICKED_OF_X', $clickRateCampaign->click, $statsMailSelected->sent); + + $bounceRateCampaign = empty($data['selectedMailid']) ? $campaignClass->getBounceRateAllCampaign() : $campaignClass->getBounceRateOneCampaign($data['selectedMailid']); + $statsMailSelected->pourcentageBounce = empty($statsMailSelected->sent) ? 0 : intval(($bounceRateCampaign->bounce_unique * 100) / $statsMailSelected->sent); + $statsMailSelected->allBounce = empty($statsMailSelected->sent) ? acym_translation_sprintf('ACYM_X_BOUNCE_OF_X', 0, 0) : acym_translation_sprintf('ACYM_X_BOUNCE_OF_X', $bounceRateCampaign->bounce_unique, $statsMailSelected->sent); + + + $campaignOpenByMonth = $campaignClass->getOpenByMonth($data['selectedMailid']); + $campaignOpenByDay = $campaignClass->getOpenByDay($data['selectedMailid']); + $campaignOpenByHour = $campaignClass->getOpenByHour($data['selectedMailid']); + + $campaignClickByMonth = $urlClickClass->getAllClickByMailMonth($data['selectedMailid']); + $campaignClickByDay = $urlClickClass->getAllClickByMailDay($data['selectedMailid']); + $campaignClickByHour = $urlClickClass->getAllClickByMailHour($data['selectedMailid']); + + if (empty($campaignOpenByMonth) || empty($campaignOpenByDay) || empty($campaignOpenByHour)) { + $statsMailSelected->empty = true; + $data['stats_mail_1'] = $statsMailSelected; + + parent::display($data); + + return; + } + + #To get all the month between the first open date and the last + $begin = new DateTime(empty($campaignClickByMonth) ? $campaignOpenByMonth[0]->open_date : min([$campaignOpenByMonth[0]->open_date, $campaignClickByMonth[0]->date_click])); + $end = new DateTime(empty($campaignClickByMonth) ? end($campaignOpenByMonth)->open_date : max([end($campaignOpenByMonth)->open_date, end($campaignClickByMonth)->date_click])); + + $end->modify('+1 day'); + + $interval = new DateInterval('P1M'); + $daterange = new DatePeriod($begin, $interval, $end); + + $rangeMonth = []; + + foreach ($daterange as $date) { + $rangeMonth[] = acym_getTime($date->format('Y-m-d H:i:s')); + } + + #To get all the day between the first open date and the last + $begin = new DateTime(empty($campaignClickByDay) ? $campaignOpenByDay[0]->open_date : min([$campaignOpenByDay[0]->open_date, $campaignClickByDay[0]->date_click])); + $end = new DateTime(empty($campaignClickByDay) ? end($campaignOpenByDay)->open_date : max([end($campaignOpenByDay)->open_date, end($campaignClickByDay)->date_click])); + + $end->modify('+1 hour'); + + $interval = new DateInterval('P1D'); + $daterange = new DatePeriod($begin, $interval, $end); + + $rangeDay = []; + + foreach ($daterange as $date) { + $rangeDay[] = acym_getTime($date->format('Y-m-d H:i:s')); + } + + + #To get all the hour between the first open date and the last + $begin = new DateTime(empty($campaignClickByHour) ? $campaignOpenByHour[0]->open_date : min([$campaignOpenByHour[0]->open_date, $campaignClickByHour[0]->date_click])); + $end = new DateTime(empty($campaignClickByHour) ? end($campaignOpenByHour)->open_date : max([end($campaignOpenByHour)->open_date, end($campaignClickByHour)->date_click])); + + $end->modify('+1 min'); + + $interval = new DateInterval('PT1H'); + $daterange = new DatePeriod($begin, $interval, $end); + + $rangeHour = []; + + foreach ($daterange as $date) { + $rangeHour[] = acym_getTime($date->format('Y-m-d H:i:s')); + } + + $openMonthArray = []; + $openDayArray = []; + $openHourArray = []; + + foreach ($campaignOpenByMonth as $one) { + $openMonthArray[acym_date(acym_getTime($one->open_date), 'M Y')] = $one->open; + } + + foreach ($campaignOpenByDay as $one) { + $openDayArray[acym_date(acym_getTime($one->open_date), 'd M Y')] = $one->open; + } + + foreach ($campaignOpenByHour as $one) { + $openHourArray[acym_date(acym_getTime($one->open_date), 'd M Y H')] = $one->open; + } + + $clickMonthArray = []; + $clickDayArray = []; + $clickHourArray = []; + + foreach ($campaignClickByMonth as $one) { + $clickMonthArray[acym_date(acym_getTime($one->date_click), 'M Y')] = $one->click; + } + + foreach ($campaignClickByDay as $one) { + $clickDayArray[acym_date(acym_getTime($one->date_click), 'd M Y')] = $one->click; + } + + foreach ($campaignClickByHour as $one) { + $clickHourArray[acym_date(acym_getTime($one->date_click), 'd M Y H')] = $one->click; + } + + $statsMailSelected->month = []; + foreach ($rangeMonth as $one) { + $one = acym_date($one, 'M Y'); + $currentMonth = []; + $currentMonth['open'] = empty($openMonthArray[$one]) ? 0 : $openMonthArray[$one]; + $currentMonth['click'] = empty($clickMonthArray[$one]) ? 0 : $clickMonthArray[$one]; + $statsMailSelected->month[$one] = $currentMonth; + } + + $statsMailSelected->day = []; + foreach ($rangeDay as $one) { + $one = acym_date($one, 'd M Y'); + $currentDay = []; + $currentDay['open'] = empty($openDayArray[$one]) ? 0 : $openDayArray[$one]; + $currentDay['click'] = empty($clickDayArray[$one]) ? 0 : $clickDayArray[$one]; + $statsMailSelected->day[$one] = $currentDay; + } + + $statsMailSelected->hour = []; + foreach ($rangeHour as $one) { + $one = acym_date($one, 'd M Y H'); + $currentHour = []; + $currentHour['open'] = empty($openHourArray[$one]) ? 0 : $openHourArray[$one]; + $currentHour['click'] = empty($clickHourArray[$one]) ? 0 : $clickHourArray[$one]; + $statsMailSelected->hour[$one.':00'] = $currentHour; + } + $data['stats_mail_1'] = $statsMailSelected; + + parent::display($data); + } + + public function stepSubscribe() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'subscribe', + 'email' => acym_currentUserEmail(), + ]; + + parent::display($data); + } + + public function saveStepSubscribe() + { + $this->_saveWalkthrough(['step' => 'stepEmail']); + $this->stepEmail(); + } + + public function stepEmail() + { + acym_setVar('layout', 'walk_through'); + + $config = acym_config(); + + $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); + + $mailClass = acym_get('class.mail'); + $updateHelper = acym_get('helper.update'); + + $mail = empty($walkthroughParams['mail_id']) ? $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)) : $mailClass->getOneById($walkthroughParams['mail_id']); + + if (empty($mail)) { + $updateHelper = acym_get('helper.update'); + if (!$updateHelper->installNotifications()) { + $this->stepSubscribe(); + + return; + } + $mail = $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)); + } + + $editor = acym_get('helper.editor'); + $editor->content = $mail->body; + $editor->autoSave = ''; + $editor->settings = $mail->settings; + $editor->stylesheet = $mail->stylesheet; + $editor->editor = 'acyEditor'; + $editor->mailId = $mail->id; + $editor->walkThrough = true; + + $data = [ + 'step' => 'email', + 'editor' => $editor, + 'social_icons' => $config->get('social_icons', '{}'), + 'mail' => $mail, + ]; + + parent::display($data); + } + + public function saveAjax() + { + $mailController = acym_get('controller.mails'); + + $isWellSaved = $mailController->store(true); + echo json_encode(['error' => $isWellSaved ? '' : acym_translation('ACYM_ERROR_SAVING'), 'data' => $isWellSaved]); + exit; + } + + public function saveStepEmail() + { + $mailController = acym_get('controller.mails'); + + $mailId = $mailController->store(); + + if (empty($mailId)) { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 10000); + $this->passWalkThrough(); + } else { + $this->_saveWalkthrough(['step' => 'stepList', 'mail_id' => $mailId]); + $this->stepList(); + } + } + + public function stepList() + { + acym_setVar('layout', 'walk_through'); + $listClass = acym_get('class.list'); + $config = acym_config(); + $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); + + $users = empty($walkthroughParams['list_id']) ? [] : $listClass->getSubscribersByListId($walkthroughParams['list_id']); + $usersReturn = []; + if (!empty($users)) { + foreach ($users as $user) { + $usersReturn[] = $user->email; + } + } + + if (empty($usersReturn)) $usersReturn[] = acym_currentUserEmail(); + + $data = [ + 'step' => 'list', + 'users' => $usersReturn, + ]; + + parent::display($data); + } + + public function saveStepList() + { + $config = acym_config(); + $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); + if (empty($walkthroughParams['list_id'])) { + $testingList = new stdClass(); + $testingList->name = acym_translation('ACYM_TESTING_LIST'); + $testingList->visible = 0; + $testingList->active = 1; + $testingList->color = '#94d4a6'; + + $listClass = acym_get('class.list'); + $listId = $listClass->save($testingList); + } else { + $listId = $walkthroughParams['list_id']; + } + + if (empty($listId)) { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVE_LIST'), 'error', 5000); + $this->passWalkThrough(); + + return; + } + + $userClass = acym_get('class.user'); + + $addresses = acym_getVar('array', 'addresses', []); + $addresses = array_unique($addresses); + $wrongAddresses = []; + foreach ($addresses as $oneAddress) { + if (!acym_isValidEmail($oneAddress)) { + $wrongAddresses[] = $oneAddress; + continue; + } + + $existing = $userClass->getOneByEmail($oneAddress); + if (empty($existing)) { + $newUser = new stdClass(); + $newUser->email = $oneAddress; + $newUser->confirmed = 1; + + $userId = $userClass->save($newUser); + } else { + $userId = $existing->id; + } + + $userClass->subscribe($userId, $listId); + } + + if (!empty($wrongAddresses)) acym_enqueueNotification(acym_translation_sprintf('ACYM_WRONG_ADDRESSES', implode(', ', $wrongAddresses)), 'warning', 5000); + + $nextStep = acym_isLocalWebsite() ? 'stepGmail' : 'stepPhpmail'; + + $this->_saveWalkthrough(['step' => $nextStep, 'list_id' => $listId]); + $this->$nextStep(); + } + + public function stepPhpmail() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'phpmail', + 'userEmail' => acym_currentUserEmail(), + ]; + + parent::display($data); + } + + public function saveStepPhpmail() + { + $config = acym_config(); + + + if (!$this->_saveFrom()) { + $this->stepPhpmail(); + + return; + } + + $mailerMethod = ['mailer_method' => 'phpmail']; + if (false === $config->save($mailerMethod)) { + acym_enqueueMessage(acym_translation('ACYM_ERROR_SAVING', 'error')); + $this->stepPhpmail(); + + return; + } + + if (false === $this->_sendFirstEmail()) { + $this->stepPhpmail(); + + return; + } + + $this->_saveWalkthrough(['step' => 'stepResult']); + $this->stepResult(); + } + + public function stepGmail() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'gmail', + 'userEmail' => acym_currentUserEmail(), + ]; + + parent::display($data); + } + + public function saveStepGmail() + { + $config = acym_config(); + + if (!$this->_saveFrom() || !$this->_saveGmailInformation()) { + $this->stepGmail(); + + return; + } + + $this->_sendFirstEmail(); + + $this->_saveWalkthrough(['step' => 'stepResult']); + $this->stepResult(); + } + + public function stepResult() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'result', + ]; + + parent::display($data); + } + + public function saveStepResult() + { + $config = acym_config(); + $result = acym_getVar('boolean', 'result'); + + $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); + + $stepFail = acym_isLocalWebsite() || !empty($walkthroughParams['step_fail']) ? 'stepFaillocal' : 'stepFail'; + + $nextStep = $result ? 'stepSuccess' : $stepFail; + $this->_saveWalkthrough(['step' => $nextStep]); + + $this->$nextStep(); + } + + public function stepSuccess() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'success', + ]; + + parent::display($data); + } + + public function saveStepSuccess() + { + $this->passWalkThrough(); + } + + public function stepFaillocal() + { + acym_setVar('layout', 'walk_through'); + $data = [ + 'step' => 'faillocal', + 'email' => acym_currentUserEmail(), + ]; + parent::display($data); + } + + public function saveStepFaillocal() + { + $this->_handleContactMe('stepFaillocal'); + } + + public function stepFail() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'fail', + 'email' => acym_currentUserEmail(), + ]; + + parent::display($data); + } + + public function saveStepFail() + { + $choice = acym_getVar('cmd', 'choice', 'gmail'); + if ('gmail' === $choice) { + $this->_saveGmailInformation(); + $this->_sendFirstEmail(); + $this->_saveWalkthrough(['step' => 'stepResult', 'step_fail' => true]); + $this->stepResult(); + } else { + $this->_handleContactMe('stepFail'); + } + } + + private function _handleContactMe($fromFunction) + { + $email = acym_getVar('string', 'email'); + if (empty($email) || !acym_isValidEmail($email)) { + acym_enqueueNotification(acym_translation('ACYM_PLEASE_ADD_YOUR_EMAIL'), 'error', 10000); + $this->$fromFunction(); + + return; + } + + $config = acym_config(); + + $handle = curl_init(); + $url = ACYM_UPDATEMEURL.'contact&task=contactme&email='.urlencode($email).'&version='.$config->get('version', '6').'&cms='.ACYM_CMS; + curl_setopt($handle, CURLOPT_URL, $url); + curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); + $output = curl_exec($handle); + curl_close($handle); + $output = json_decode($output, true); + if (!empty($output['error'])) { + acym_enqueueMessage(acym_translation('ACYM_SOMETHING_WENT_WRONG_CONTACT_ON_ACYBA'), 'error'); + $this->passWalkThrough(); + } else { + $this->_saveWalkthrough(['step' => 'stepSupport']); + $this->stepSupport(); + } + } + + public function stepSupport() + { + acym_setVar('layout', 'walk_through'); + + $data = [ + 'step' => 'support', + ]; + + parent::display($data); + } + + public function saveStepSupport() + { + $this->passWalkThrough(); + } + + public function passWalkThrough() + { + $config = acym_config(); + $newConfig = new stdClass(); + $newConfig->walk_through = 0; + + if ($config->get('templates_installed') == 0) { + $updateHelper = acym_get('helper.update'); + $updateHelper->installTemplate(); + $newConfig->templates_installed = 1; + } + $config->save($newConfig); + + acym_redirect(acym_completeLink('users&task=import', false, true)); + + return; + } + + public function preMigration() + { + $elementToMigrate = acym_getVar("string", "element"); + $helperMigration = acym_get('helper.migration'); + + $result = $helperMigration->preMigration($elementToMigrate); + + if (!empty($result["isOk"])) { + echo $result["count"]; + } else { + echo "ERROR : "; + if (!empty($result["errorInsert"])) { + echo strtoupper(acym_translation("ACYM_INSERT_ERROR")); + } + if (!empty($result["errorClean"])) { + echo strtoupper(acym_translation("ACYM_CLEAN_ERROR")); + } + + if (!empty($result["errors"])) { + echo "
                  "; + + foreach ($result["errors"] as $key => $oneError) { + echo "
                  ".$key." : ".$oneError; + } + } + } + exit; + } + + public function migrate() + { + $elementToMigrate = acym_getVar("string", "element"); + $helperMigration = acym_get('helper.migration'); + $functionName = "do".ucfirst($elementToMigrate)."Migration"; + + $result = $helperMigration->$functionName($elementToMigrate); + + if (!empty($result["isOk"])) { + echo json_encode($result); + } else { + echo "ERROR : "; + if (!empty($result["errorInsert"])) { + echo strtoupper(acym_translation("ACYM_INSERT_ERROR")); + } + if (!empty($result["errorClean"])) { + echo strtoupper(acym_translation("ACYM_CLEAN_ERROR")); + } + + if (!empty($result["errors"])) { + echo "
                  "; + + foreach ($result["errors"] as $key => $oneError) { + echo "
                  ".$key." : ".$oneError; + } + } + } + exit; + } + + public function migrationDone() + { + $config = acym_config(); + + $newConfig = new stdClass(); + $newConfig->migration = "1"; + $config->save($newConfig); + + $updateHelper = acym_get('helper.update'); + $updateHelper->installNotifications(); + + $this->listing(); + } + + private function acym_existsAcyMailing59() + { + $allTables = acym_getTables(); + + if (in_array(acym_getPrefix().'acymailing_config', $allTables)) { + $queryVersion = 'SELECT `value` FROM #__acymailing_config WHERE `namekey` LIKE "version"'; + + $version = acym_loadResult($queryVersion); + + if (version_compare($version, '5.9.0') >= 0) { + return true; + } + } + + return false; + } + + public function upgrade() + { + acym_setVar('layout', 'upgrade'); + + $version = acym_getVar('string', 'version', 'enterprise'); + + $data = ['version' => $version]; + + parent::display($data); + } + + public function feedback() + { + acym_setVar('layout', 'feedback'); + + parent::display(); + + return; + } + + private function _saveFrom() + { + $fromName = acym_getVar('string', 'from_name', 'Test'); + $fromAddress = acym_getVar('string', 'from_address', 'test@test.com'); + + $mailClass = acym_get('class.mail'); + $updateHelper = acym_get('helper.update'); + + $firstMail = $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)); + + if (empty($firstMail)) { + acym_enqueueNotification(acym_translation('ACYM_PLEASE_REINSTALL_ACYMAILING'), 'error'); + + return false; + } + + $firstMail->from_name = $fromName; + $firstMail->from_email = $fromAddress; + + $statusSaveMail = $mailClass->save($firstMail); + + if (empty($statusSaveMail)) { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error'); + + return false; + } + + return true; + } + + private function _saveGmailInformation() + { + $gmailAddress = acym_getVar('string', 'gmail_address', ''); + $gmailPassword = acym_getVar('string', 'gmail_password', ''); + + $config = acym_config(); + + if (empty($gmailAddress) || empty($gmailPassword)) { + acym_enqueueMessage(acym_translation('ACYM_EMPTY_ADDRESS_OR_PASSWORD'), 'error'); + + return false; + } + + $newSmtpConfiguration = [ + 'smtp_auth' => '1', + 'smtp_host' => 'smtp.gmail.com', + 'smtp_keepalive' => '1', + 'smtp_port' => '465', + 'smtp_secured' => 'ssl', + 'smtp_username' => $gmailAddress, + 'smtp_password' => $gmailPassword, + 'mailer_method' => 'smtp', + ]; + + if (false === $config->save($newSmtpConfiguration)) { + acym_enqueueMessage(acym_translation('ACYM_ERROR_SAVING', 'error')); + + return false; + } + + return true; + } + + private function _sendFirstEmail() + { + $config = acym_config(); + $walkthroughParams = json_decode($config->get('walkthrough_params', '[]'), true); + $listClass = acym_get('class.list'); + $mailClass = acym_get('class.mail'); + $updateHelper = acym_get('helper.update'); + $mailerHelper = acym_get('helper.mailer'); + + $testingList = empty($walkthroughParams['list_id']) ? $listClass->getOneByName(acym_translation('ACYM_TESTING_LIST')) : $listClass->getOneById($walkthroughParams['list_id']); + $firstMail = empty($walkthroughParams['mail_id']) ? $mailClass->getOneByName(acym_translation($updateHelper::FIRST_EMAIL_NAME_KEY)) : $mailClass->getOneById($walkthroughParams['mail_id']); + + if (empty($testingList)) { + acym_enqueueNotification(acym_translation('ACYM_CANT_RETRIEVE_TESTING_LIST'), 'error'); + + return false; + } + + if (empty($firstMail)) { + acym_enqueueNotification(acym_translation('ACYM_CANT_RETRIEVE_TEST_EMAIL'), 'error'); + } + + $subscribersTestingListIds = $listClass->getSubscribersIdsById($testingList->id); + + $nbSent = 0; + foreach ($subscribersTestingListIds as $subscriberId) { + if ($mailerHelper->sendOne($firstMail->id, $subscriberId, true)) $nbSent++; + } + + if ($nbSent === 0) { + return false; + } + + return true; + } + + private function _saveWalkthrough($params) + { + $config = acym_config(); + + $newParams = json_decode($config->get('walkthrough_params', '[]'), true); + foreach ($params as $key => $value) { + $newParams[$key] = $value; + } + $config->save(['walkthrough_params' => json_encode($newParams)]); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/controllers/dynamics.php b/deployed/acym/administrator/components/com_acym/controllers/dynamics.php index a6499479..1da6a760 100644 --- a/deployed/acym/administrator/components/com_acym/controllers/dynamics.php +++ b/deployed/acym/administrator/components/com_acym/controllers/dynamics.php @@ -1,13 +1,13 @@ -breadcrumb[acym_translation('ACYM_CUSTOM_FIELDS')] = acym_completeLink('fields'); - } - - public function listing() - { - - if (!acym_level(2)) { - acym_redirect(acym_completeLink('dashboard&task=upgrade&version=enterprise', false, true)); - } - } - - public function edit() - { - acym_setVar('layout', 'edit'); - $id = acym_getVar('int', 'id'); - $fieldClass = acym_get('class.field'); - - if (empty($id)) { - $field = new stdClass(); - $field->id = 0; - $field->name = ''; - $field->active = 1; - $field->type = 'text'; - $field->value = ''; - $field->option = ''; - $field->default_value = ''; - $field->required = 0; - $field->backend_profile = 1; - $field->backend_listing = 0; - $field->backend_filter = 1; - $field->frontend_form = 1; - $field->frontend_profile = 1; - $field->frontend_filter = 1; - $field->access = 1; - $field->fieldDB = new stdClass(); - } else { - $field = $fieldClass->getOneFieldByID($id); - $field->option = json_decode($field->option); - $field->value = json_decode($field->value); - $field->fieldDB = empty($field->option->fieldDB) ? new stdClass() : json_decode($field->option->fieldDB); - if (!in_array($id, [1, 2]) && !empty($field->fieldDB->table)) { - $tables = acym_loadResultArray('SHOW TABLES FROM `'.acym_secureDBColumn($field->fieldDB->database).'`'); - $field->fieldDB->tables = []; - foreach ($tables as $one) { - $field->fieldDB->tables[$one] = $one; - } - $columns = empty($field->fieldDB->table) ? [] : acym_loadResultArray('SHOW COLUMNS FROM '.acym_secureDBColumn($field->fieldDB->table).' FROM '.acym_secureDBColumn($field->fieldDB->database)); - $field->fieldDB->columns = []; - foreach ($columns as $one) { - $field->fieldDB->columns[$one] = $one; - } - array_unshift($field->fieldDB->columns, acym_translation('ACYM_CHOOSE_COLUMN')); - } - } - - if (!empty($id)) { - $this->breadcrumb[acym_escape(acym_translation($field->name))] = acym_completeLink('fields&task=edit&id='.$id); - } else { - $this->breadcrumb[acym_translation('ACYM_NEW_CUSTOM_FIELD')] = acym_completeLink('fields&task=edit'); - } - - $allDatabases = acym_loadResultArray('SHOW DATABASES'); - $databases = []; - foreach ($allDatabases as $database) { - $databases[$database] = $database; - } - - $allFields = $fieldClass->getAllfields(); - - $allFieldsName = []; - foreach ($allFields as $one) { - $allFieldsName[$one->id] = $one->name; - } - - $data = [ - 'field' => $field, - 'database' => $databases, - 'allFields' => $allFieldsName, - ]; - - $data['fieldType'] = [ - 'text' => acym_translation('ACYM_TEXT'), - 'textarea' => acym_translation('ACYM_TEXTAREA'), - 'radio' => acym_translation('ACYM_RADIO'), - 'checkbox' => acym_translation('ACYM_CHECKBOX'), - 'single_dropdown' => acym_translation('ACYM_SINGLE_DROPDOWN'), - 'multiple_dropdown' => acym_translation('ACYM_MULTIPLE_DROPDOWN'), - 'date' => acym_translation('ACYM_DATE'), - 'file' => acym_translation('ACYM_FILE'), - 'phone' => acym_translation('ACYM_PHONE'), - 'custom_text' => acym_translation('ACYM_CUSTOM_TEXT'), - ]; - - return parent::display($data); - } - - public function getTables() - { - $database = acym_getVar('string', 'database'); - $allTables = acym_loadResultArray('SHOW TABLES FROM '.$database); - echo json_encode($allTables); - exit; - } - - public function setColumns() - { - $table = acym_getVar('string', 'table'); - $database = acym_getVar('string', 'database'); - $query = 'SHOW COLUMNS FROM '.$table.' FROM '.$database; - $columns = acym_loadResultArray($query); - array_unshift($columns, 'ACYM_CHOOSE_COLUMN'); - echo json_encode($columns); - exit; - } - - public function apply() - { - $fieldClass = acym_get('class.field'); - $newField = $this->setFieldToSave(); - $id = $fieldClass->save($newField); - if (!empty($id)) { - acym_setVar('id', $id); - acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success', 5000); - } else { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); - } - - $this->edit(); - } - - public function save() - { - $fieldClass = acym_get('class.field'); - $newField = $this->setFieldToSave(); - $id = $fieldClass->save($newField); - if (!empty($id)) { - acym_setVar('id', $id); - acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success', 5000); - } else { - acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); - } - $this->listing(); - } - - private function setFieldToSave() - { - $fieldClass = acym_get('class.field'); - $field = acym_getVar('array', 'field'); - $fieldDB = json_encode(acym_getVar('array', 'fieldDB')); - $id = acym_getVar('int', 'id'); - if ($id == 2) { - $field['required'] = 1; - } - if (empty($field['name'])) { - return false; - } - - - $value = []; - - $fieldValues = $field['value']; - $field['type'] = in_array($id, [1, 2]) ? 'text' : $field['type']; - - $i = 0; - foreach ($fieldValues['value'] as $one) { - if (empty($one) && $one != '0' && ($i != 0 || !in_array($field['type'], ['single_dropdown', 'multiple_dropdown']))) { - $i++; - continue; - } else { - $value[$i] = [ - 'value' => $one, - 'title' => $fieldValues['title'][$i], - 'disabled' => $fieldValues['disabled'][$i], - ]; - $i++; - } - } - - $field['namekey'] = empty($field['namekey']) ? $fieldClass->generateNamekey($field['name']) : $field['namekey']; - $field['option']['format'] = ($field['type'] == 'date' && empty($field['option']['format'])) ? '%d%m%y' : strtolower($field['option']['format']); - $field['option']['rows'] = ($field['type'] == 'textarea' && empty($field['option']['rows'])) ? '5' : $field['option']['rows']; - $field['option']['columns'] = ($field['type'] == 'textarea' && empty($field['option']['columns'])) ? '30' : $field['option']['columns']; - - $field['value'] = json_encode($value); - $field['option']['fieldDB'] = $fieldDB; - $field['option']['format'] = !empty($field['option']['format']) ? preg_replace('/[^a-zA-Z\%]/', '', $field['option']['format']) : $field['option']['format']; - $newField = new stdClass(); - $newField->name = $field['name']; - $newField->active = $field['active']; - $newField->namekey = $field['namekey']; - $newField->type = in_array($id, [1, 2]) ? 'text' : $field['type']; - $newField->required = $field['required']; - $newField->option = json_encode($field['option']); - $newField->value = $field['value']; - $newField->default_value = $field['default_value']; - $newField->frontend_form = $field['frontend_form']; - $newField->frontend_profile = $field['frontend_profile']; - $newField->backend_profile = $field['backend_profile']; - $newField->backend_listing = $field['backend_listing']; - $newField->backend_filter = 1; - $newField->frontend_filter = 1; - $newField->access = 'all'; - if (empty($id)) { - $newField->ordering = $fieldClass->getOrdering()->ordering_number + 1; - } else { - $newField->id = $id; - } - - return $newField; - } - - public function setOrdering() - { - $order = json_decode(acym_getVar('string', 'order')); - $i = 1; - $error = false; - foreach ($order as $field) { - $query = 'UPDATE #__acym_field SET `ordering` = '.intval($i).' WHERE `id` = '.intval($field); - $error = acym_query($query) >= 0 ? false : true; - $i++; - } - if ($error) { - echo 'error'; - } else { - echo 'updated'; - } - exit; - } - - public function delete() - { - $ids = acym_getVar('cmd', 'elements_checked'); - if (in_array('1', $ids) || in_array('2', $ids)) { - acym_enqueueNotification(acym_translation('ACYM_CANT_DELETE'), 'error', 5000); - $this->listing(); - - return; - } else { - return parent::delete(); - } - } -} - +breadcrumb[acym_translation('ACYM_CUSTOM_FIELDS')] = acym_completeLink('fields'); + } + + public function listing() + { + + if (!acym_level(2)) { + acym_redirect(acym_completeLink('dashboard&task=upgrade&version=enterprise', false, true)); + } + } + + public function edit() + { + acym_setVar('layout', 'edit'); + $id = acym_getVar('int', 'id'); + $fieldClass = acym_get('class.field'); + + if (empty($id)) { + $field = new stdClass(); + $field->id = 0; + $field->name = ''; + $field->active = 1; + $field->type = 'text'; + $field->value = ''; + $field->option = ''; + $field->default_value = ''; + $field->required = 0; + $field->backend_profile = 1; + $field->backend_listing = 0; + $field->backend_filter = 1; + $field->frontend_form = 1; + $field->frontend_profile = 1; + $field->frontend_filter = 1; + $field->access = 1; + $field->fieldDB = new stdClass(); + } else { + $field = $fieldClass->getOneFieldByID($id); + $field->option = json_decode($field->option); + $field->value = json_decode($field->value); + $field->fieldDB = empty($field->option->fieldDB) ? new stdClass() : json_decode($field->option->fieldDB); + if (!in_array($id, [1, 2]) && !empty($field->fieldDB->table)) { + $tables = acym_loadResultArray('SHOW TABLES FROM `'.acym_secureDBColumn($field->fieldDB->database).'`'); + $field->fieldDB->tables = []; + foreach ($tables as $one) { + $field->fieldDB->tables[$one] = $one; + } + $columns = empty($field->fieldDB->table) ? [] : acym_loadResultArray('SHOW COLUMNS FROM '.acym_secureDBColumn($field->fieldDB->table).' FROM '.acym_secureDBColumn($field->fieldDB->database)); + $field->fieldDB->columns = []; + foreach ($columns as $one) { + $field->fieldDB->columns[$one] = $one; + } + array_unshift($field->fieldDB->columns, acym_translation('ACYM_CHOOSE_COLUMN')); + } + } + + if (!empty($id)) { + $this->breadcrumb[acym_escape(acym_translation($field->name))] = acym_completeLink('fields&task=edit&id='.$id); + } else { + $this->breadcrumb[acym_translation('ACYM_NEW_CUSTOM_FIELD')] = acym_completeLink('fields&task=edit'); + } + + $allDatabases = acym_loadResultArray('SHOW DATABASES'); + $databases = []; + foreach ($allDatabases as $database) { + $databases[$database] = $database; + } + + $allFields = $fieldClass->getAllfields(); + + $allFieldsName = []; + foreach ($allFields as $one) { + $allFieldsName[$one->id] = $one->name; + } + + $data = [ + 'field' => $field, + 'database' => $databases, + 'allFields' => $allFieldsName, + ]; + + $data['fieldType'] = [ + 'text' => acym_translation('ACYM_TEXT'), + 'textarea' => acym_translation('ACYM_TEXTAREA'), + 'radio' => acym_translation('ACYM_RADIO'), + 'checkbox' => acym_translation('ACYM_CHECKBOX'), + 'single_dropdown' => acym_translation('ACYM_SINGLE_DROPDOWN'), + 'multiple_dropdown' => acym_translation('ACYM_MULTIPLE_DROPDOWN'), + 'date' => acym_translation('ACYM_DATE'), + 'file' => acym_translation('ACYM_FILE'), + 'phone' => acym_translation('ACYM_PHONE'), + 'custom_text' => acym_translation('ACYM_CUSTOM_TEXT'), + ]; + + return parent::display($data); + } + + public function getTables() + { + $database = acym_getVar('string', 'database'); + $allTables = acym_loadResultArray('SHOW TABLES FROM '.$database); + echo json_encode($allTables); + exit; + } + + public function setColumns() + { + $table = acym_getVar('string', 'table'); + $database = acym_getVar('string', 'database'); + $query = 'SHOW COLUMNS FROM '.$table.' FROM '.$database; + $columns = acym_loadResultArray($query); + array_unshift($columns, 'ACYM_CHOOSE_COLUMN'); + echo json_encode($columns); + exit; + } + + public function apply() + { + $fieldClass = acym_get('class.field'); + $newField = $this->setFieldToSave(); + $id = $fieldClass->save($newField); + if (!empty($id)) { + acym_setVar('id', $id); + acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success', 5000); + } else { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); + } + + $this->edit(); + } + + public function save() + { + $fieldClass = acym_get('class.field'); + $newField = $this->setFieldToSave(); + $id = $fieldClass->save($newField); + if (!empty($id)) { + acym_setVar('id', $id); + acym_enqueueNotification(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success', 5000); + } else { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); + } + $this->listing(); + } + + private function setFieldToSave() + { + $fieldClass = acym_get('class.field'); + $field = acym_getVar('array', 'field'); + $fieldDB = json_encode(acym_getVar('array', 'fieldDB')); + $id = acym_getVar('int', 'id'); + if ($id == 2) { + $field['required'] = 1; + } + if (empty($field['name'])) { + return false; + } + + + $value = []; + + $fieldValues = $field['value']; + $field['type'] = in_array($id, [1, 2]) ? 'text' : $field['type']; + + $i = 0; + foreach ($fieldValues['value'] as $one) { + if (empty($one) && $one != '0' && ($i != 0 || !in_array($field['type'], ['single_dropdown', 'multiple_dropdown']))) { + $i++; + continue; + } else { + $value[$i] = [ + 'value' => $one, + 'title' => $fieldValues['title'][$i], + 'disabled' => $fieldValues['disabled'][$i], + ]; + $i++; + } + } + + $field['namekey'] = empty($field['namekey']) ? $fieldClass->generateNamekey($field['name']) : $field['namekey']; + $field['option']['format'] = ($field['type'] == 'date' && empty($field['option']['format'])) ? '%d%m%y' : strtolower($field['option']['format']); + $field['option']['rows'] = ($field['type'] == 'textarea' && empty($field['option']['rows'])) ? '5' : $field['option']['rows']; + $field['option']['columns'] = ($field['type'] == 'textarea' && empty($field['option']['columns'])) ? '30' : $field['option']['columns']; + + $field['value'] = json_encode($value); + $field['option']['fieldDB'] = $fieldDB; + $field['option']['format'] = !empty($field['option']['format']) ? preg_replace('/[^a-zA-Z\%]/', '', $field['option']['format']) : $field['option']['format']; + $newField = new stdClass(); + $newField->name = $field['name']; + $newField->active = $field['active']; + $newField->namekey = $field['namekey']; + $newField->type = in_array($id, [1, 2]) ? 'text' : $field['type']; + $newField->required = $field['required']; + $newField->option = json_encode($field['option']); + $newField->value = $field['value']; + $newField->default_value = $field['default_value']; + $newField->frontend_form = $field['frontend_form']; + $newField->frontend_profile = $field['frontend_profile']; + $newField->backend_profile = $field['backend_profile']; + $newField->backend_listing = $field['backend_listing']; + $newField->backend_filter = 1; + $newField->frontend_filter = 1; + $newField->access = 'all'; + if (empty($id)) { + $newField->ordering = $fieldClass->getOrdering()->ordering_number + 1; + } else { + $newField->id = $id; + } + + return $newField; + } + + public function setOrdering() + { + $order = json_decode(acym_getVar('string', 'order')); + $i = 1; + $error = false; + foreach ($order as $field) { + $query = 'UPDATE #__acym_field SET `ordering` = '.intval($i).' WHERE `id` = '.intval($field); + $error = acym_query($query) >= 0 ? false : true; + $i++; + } + if ($error) { + echo 'error'; + } else { + echo 'updated'; + } + exit; + } + + public function delete() + { + $ids = acym_getVar('cmd', 'elements_checked'); + if (in_array('1', $ids) || in_array('2', $ids)) { + acym_enqueueNotification(acym_translation('ACYM_CANT_DELETE'), 'error', 5000); + $this->listing(); + + return; + } else { + return parent::delete(); + } + } +} + diff --git a/deployed/acym/administrator/components/com_acym/controllers/file.php b/deployed/acym/administrator/components/com_acym/controllers/file.php index 94a20196..68cc6475 100644 --- a/deployed/acym/administrator/components/com_acym/controllers/file.php +++ b/deployed/acym/administrator/components/com_acym/controllers/file.php @@ -1,13 +1,13 @@ -breadcrumb[acym_translation('ACYM_QUEUE')] = acym_completeLink('queue'); - $this->setDefaultTask('campaigns'); - } - - public function campaigns() - { - acym_setVar('layout', 'campaigns'); - - $config = acym_config(); - if (acym_level(1) && $config->get('cron_last', 0) < (time() - 43200)){ - acym_enqueueMessage(acym_translation('ACYM_CREATE_CRON_REMINDER').' '.acym_translation('ACYM_GOTO_CONFIG').'', 'warning'); - } - - $searchFilter = acym_getVar('string', 'cqueue_search', ''); - $tagFilter = acym_getVar('string', 'cqueue_tag', ''); - $status = acym_getVar('string', 'cqueue_status', ''); - - $campaignsPerPage = acym_getCMSConfig('list_limit', 20); - $page = acym_getVar('int', 'cqueue_pagination_page', 1); - - $queueClass = acym_get('class.queue'); - $matchingElements = $queueClass->getMatchingCampaigns( - [ - 'search' => $searchFilter, - 'tag' => $tagFilter, - 'status' => $status, - 'campaignsPerPage' => $campaignsPerPage, - 'offset' => ($page - 1) * $campaignsPerPage, - ] - ); - - $pagination = acym_get('helper.pagination'); - $pagination->setStatus($matchingElements['total'], $page, $campaignsPerPage); - - $viewData = [ - 'allElements' => $matchingElements['elements'], - 'pagination' => $pagination, - 'search' => $searchFilter, - 'tag' => $tagFilter, - 'tags' => acym_get('class.tag')->getAllTagsByType('mail'), - 'numberPerStatus' => $matchingElements['status'], - 'status' => $status, - ]; - - $this->breadcrumb[acym_translation('ACYM_CAMPAIGNS')] = acym_completeLink('queue'); - parent::display($viewData); - } - - public function automated() - { - } - - public function detailed() - { - acym_setVar("layout", "detailed"); - - $searchFilter = acym_getVar('string', 'dqueue_search', ''); - $tagFilter = acym_getVar('string', 'dqueue_tag', ''); - - $elementsPerPage = acym_getCMSConfig('list_limit', 20); - $page = acym_getVar('int', 'dqueue_pagination_page', 1); - - $queueClass = acym_get('class.queue'); - $matchingElements = $queueClass->getMatchingResults( - [ - 'search' => $searchFilter, - 'tag' => $tagFilter, - 'elementsPerPage' => $elementsPerPage, - 'offset' => ($page - 1) * $elementsPerPage, - ] - ); - - $pagination = acym_get('helper.pagination'); - $pagination->setStatus($matchingElements['total'], $page, $elementsPerPage); - - $viewData = [ - 'allElements' => $matchingElements['elements'], - 'pagination' => $pagination, - 'search' => $searchFilter, - 'tag' => $tagFilter, - 'tags' => acym_get('class.tag')->getAllTagsByType('mail'), - ]; - - $this->breadcrumb[acym_translation('ACYM_QUEUE_DETAILED')] = acym_completeLink('queue&task=detailed'); - parent::display($viewData); - } - - public function scheduleReady() - { - $queueClass = acym_get('class.queue'); - $queueClass->scheduleReady(); - } - - public function continuesend() - { - $config = acym_config(); - - if ($config->get('queue_type') == 'onlyauto') { - acym_setNoTemplate(); - acym_display(acym_translation('ACYM_ONLYAUTOPROCESS'), 'warning'); - - exit; - } - - $newcrontime = time() + 120; - if ($config->get('cron_next') < $newcrontime) { - $newValue = new stdClass(); - $newValue->cron_next = $newcrontime; - $config->save($newValue); - } - - $mailid = acym_getCID('id'); - - $totalSend = acym_getVar('int', 'totalsend', 0); - if (empty($totalSend)) { - $query = 'SELECT COUNT(queue.user_id) FROM #__acym_queue AS queue LEFT JOIN #__acym_campaign AS campaign ON queue.mail_id = campaign.mail_id WHERE (campaign.id IS NULL OR campaign.active = 1) AND queue.sending_date < '.acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)); - if (!empty($mailid)) { - $query .= ' AND queue.mail_id = '.intval($mailid); - } - $totalSend = acym_loadResult($query); - } - - $alreadySent = acym_getVar('int', 'alreadysent', 0); - - $helperQueue = acym_get('helper.queue'); - $helperQueue->id = $mailid; - $helperQueue->report = true; - $helperQueue->total = $totalSend; - $helperQueue->start = $alreadySent; - $helperQueue->pause = $config->get('queue_pause'); - $helperQueue->process(); - - acym_setNoTemplate(); - exit; - } - - public function cancelSending() - { - $mailId = acym_getVar('int', 'acym__queue__cancel__mail_id'); - - if (!empty($mailId)) { - $hasStat = acym_loadResult("SELECT COUNT(*) FROM #__acym_user_stat WHERE mail_id = ".intval($mailId)); - - $result = []; - - $result[] = acym_query('DELETE FROM #__acym_queue WHERE mail_id = '.intval($mailId)); - if (empty($hasStat)) { - $result[] = acym_query('UPDATE #__acym_campaign SET draft = "1", sent = "0", sending_date = NULL WHERE mail_id = '.intval($mailId)); - $result[] = acym_query('DELETE FROM #__acym_mail_stat WHERE mail_id = '.intval($mailId)); - } - } else { - acym_enqueueNotification(acym_translation("ACYM_ERROR_QUEUE_CANCEL_CAMPAIGN"), "error", 10000); - } - $this->campaigns(); - } - - public function playPauseSending() - { - $active = acym_getVar("int", "acym__queue__play_pause__active__new_value"); - $campaignId = acym_getVar("int", "acym__queue__play_pause__campaign_id"); - - if (!empty($campaignId)) { - $queueClass = acym_get('class.queue'); - $queueClass->unpauseCampaign($campaignId, $active); - } else { - if (!empty($active)) { - acym_enqueueNotification(acym_translation("ACYM_ERROR_QUEUE_RESUME"), "error", 10000); - } else { - acym_enqueueNotification(acym_translation("ACYM_ERROR_QUEUE_PAUSE"), "error", 10000); - } - } - - $this->campaigns(); - } - - public function emptyQueue() - { - acym_checkToken(); - - $queueClass = acym_get('class.queue'); - $deleted = $queueClass->emptyQueue(); - acym_enqueueNotification(acym_translation_sprintf('ACYM_EMAILS_REMOVED_QUEUE', $deleted)); - - $this->campaigns(); - } -} - +breadcrumb[acym_translation('ACYM_QUEUE')] = acym_completeLink('queue'); + $this->setDefaultTask('campaigns'); + } + + public function campaigns() + { + acym_setVar('layout', 'campaigns'); + + $config = acym_config(); + if (acym_level(1) && $config->get('cron_last', 0) < (time() - 43200)){ + acym_enqueueMessage(acym_translation('ACYM_CREATE_CRON_REMINDER').' '.acym_translation('ACYM_GOTO_CONFIG').'', 'warning'); + } + + $searchFilter = acym_getVar('string', 'cqueue_search', ''); + $tagFilter = acym_getVar('string', 'cqueue_tag', ''); + $status = acym_getVar('string', 'cqueue_status', ''); + + $campaignsPerPage = acym_getCMSConfig('list_limit', 20); + $page = acym_getVar('int', 'cqueue_pagination_page', 1); + + $queueClass = acym_get('class.queue'); + $matchingElements = $queueClass->getMatchingCampaigns( + [ + 'search' => $searchFilter, + 'tag' => $tagFilter, + 'status' => $status, + 'campaignsPerPage' => $campaignsPerPage, + 'offset' => ($page - 1) * $campaignsPerPage, + ] + ); + + $pagination = acym_get('helper.pagination'); + $pagination->setStatus($matchingElements['total'], $page, $campaignsPerPage); + + $viewData = [ + 'allElements' => $matchingElements['elements'], + 'pagination' => $pagination, + 'search' => $searchFilter, + 'tag' => $tagFilter, + 'tags' => acym_get('class.tag')->getAllTagsByType('mail'), + 'numberPerStatus' => $matchingElements['status'], + 'status' => $status, + ]; + + $this->breadcrumb[acym_translation('ACYM_CAMPAIGNS')] = acym_completeLink('queue'); + parent::display($viewData); + } + + public function automated() + { + } + + public function detailed() + { + acym_setVar("layout", "detailed"); + + $searchFilter = acym_getVar('string', 'dqueue_search', ''); + $tagFilter = acym_getVar('string', 'dqueue_tag', ''); + + $elementsPerPage = acym_getCMSConfig('list_limit', 20); + $page = acym_getVar('int', 'dqueue_pagination_page', 1); + + $queueClass = acym_get('class.queue'); + $matchingElements = $queueClass->getMatchingResults( + [ + 'search' => $searchFilter, + 'tag' => $tagFilter, + 'elementsPerPage' => $elementsPerPage, + 'offset' => ($page - 1) * $elementsPerPage, + ] + ); + + $pagination = acym_get('helper.pagination'); + $pagination->setStatus($matchingElements['total'], $page, $elementsPerPage); + + $viewData = [ + 'allElements' => $matchingElements['elements'], + 'pagination' => $pagination, + 'search' => $searchFilter, + 'tag' => $tagFilter, + 'tags' => acym_get('class.tag')->getAllTagsByType('mail'), + ]; + + $this->breadcrumb[acym_translation('ACYM_QUEUE_DETAILED')] = acym_completeLink('queue&task=detailed'); + parent::display($viewData); + } + + public function scheduleReady() + { + $queueClass = acym_get('class.queue'); + $queueClass->scheduleReady(); + } + + public function continuesend() + { + $config = acym_config(); + + if ($config->get('queue_type') == 'onlyauto') { + acym_setNoTemplate(); + acym_display(acym_translation('ACYM_ONLYAUTOPROCESS'), 'warning'); + + exit; + } + + $newcrontime = time() + 120; + if ($config->get('cron_next') < $newcrontime) { + $newValue = new stdClass(); + $newValue->cron_next = $newcrontime; + $config->save($newValue); + } + + $mailid = acym_getCID('id'); + + $totalSend = acym_getVar('int', 'totalsend', 0); + if (empty($totalSend)) { + $query = 'SELECT COUNT(queue.user_id) FROM #__acym_queue AS queue LEFT JOIN #__acym_campaign AS campaign ON queue.mail_id = campaign.mail_id WHERE (campaign.id IS NULL OR campaign.active = 1) AND queue.sending_date < '.acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)); + if (!empty($mailid)) { + $query .= ' AND queue.mail_id = '.intval($mailid); + } + $totalSend = acym_loadResult($query); + } + + $alreadySent = acym_getVar('int', 'alreadysent', 0); + + $helperQueue = acym_get('helper.queue'); + $helperQueue->id = $mailid; + $helperQueue->report = true; + $helperQueue->total = $totalSend; + $helperQueue->start = $alreadySent; + $helperQueue->pause = $config->get('queue_pause'); + $helperQueue->process(); + + acym_setNoTemplate(); + exit; + } + + public function cancelSending() + { + $mailId = acym_getVar('int', 'acym__queue__cancel__mail_id'); + + if (!empty($mailId)) { + $hasStat = acym_loadResult("SELECT COUNT(*) FROM #__acym_user_stat WHERE mail_id = ".intval($mailId)); + + $result = []; + + $result[] = acym_query('DELETE FROM #__acym_queue WHERE mail_id = '.intval($mailId)); + if (empty($hasStat)) { + $result[] = acym_query('UPDATE #__acym_campaign SET draft = "1", sent = "0", sending_date = NULL WHERE mail_id = '.intval($mailId)); + $result[] = acym_query('DELETE FROM #__acym_mail_stat WHERE mail_id = '.intval($mailId)); + } + } else { + acym_enqueueNotification(acym_translation("ACYM_ERROR_QUEUE_CANCEL_CAMPAIGN"), "error", 10000); + } + $this->campaigns(); + } + + public function playPauseSending() + { + $active = acym_getVar("int", "acym__queue__play_pause__active__new_value"); + $campaignId = acym_getVar("int", "acym__queue__play_pause__campaign_id"); + + if (!empty($campaignId)) { + $queueClass = acym_get('class.queue'); + $queueClass->unpauseCampaign($campaignId, $active); + } else { + if (!empty($active)) { + acym_enqueueNotification(acym_translation("ACYM_ERROR_QUEUE_RESUME"), "error", 10000); + } else { + acym_enqueueNotification(acym_translation("ACYM_ERROR_QUEUE_PAUSE"), "error", 10000); + } + } + + $this->campaigns(); + } + + public function emptyQueue() + { + acym_checkToken(); + + $queueClass = acym_get('class.queue'); + $deleted = $queueClass->emptyQueue(); + acym_enqueueNotification(acym_translation_sprintf('ACYM_EMAILS_REMOVED_QUEUE', $deleted)); + + $this->campaigns(); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/controllers/stats.php b/deployed/acym/administrator/components/com_acym/controllers/stats.php index 9673fef3..3ad71c8c 100644 --- a/deployed/acym/administrator/components/com_acym/controllers/stats.php +++ b/deployed/acym/administrator/components/com_acym/controllers/stats.php @@ -1,13 +1,13 @@ -defaulttask = 'toggle'; - - $this->toggleableColumns['automation'] = ['active' => 'id']; - $this->toggleableColumns['campaign'] = ['active' => 'id']; - $this->toggleableColumns['field'] = ['active' => 'id', 'required' => 'id', 'backend_profile' => 'id', 'backend_listing' => 'id', 'frontend_profile' => 'id', 'frontend_listing' => 'id']; - $this->toggleableColumns['list'] = ['active' => 'id', 'visible' => 'id']; - $this->toggleableColumns['rule'] = ['active' => 'id']; - $this->toggleableColumns['user'] = ['active' => 'id', 'confirmed' => 'id']; - - $this->icons['automation']['active'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['automation']['active'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['campaign']['active'][0] = 'fa fa-play-circle-o'; - $this->icons['campaign']['active'][1] = 'fa fa-pause-circle-o'; - $this->icons['field']['active'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['field']['active'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['field']['required'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['field']['required'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['field']['backend_profile'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['field']['backend_profile'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['field']['backend_listing'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['field']['backend_listing'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['field']['frontend_profile'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['field']['frontend_profile'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['field']['frontend_listing'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['field']['frontend_listing'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['list']['active'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['list']['active'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['list']['visible'][1] = 'fa fa-eye'; - $this->icons['list']['visible'][0] = 'fa fa-eye-slash acym__color__dark-gray'; - $this->icons['rule']['active'][0] = 'fa fa-times-circle acym__color__red'; - $this->icons['rule']['active'][1] = 'fa fa-check-circle acym__color__green'; - $this->icons['user']['active'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['user']['active'][0] = 'fa fa-times-circle-o acym__color__red'; - $this->icons['user']['confirmed'][1] = 'fa fa-check-circle-o acym__color__green'; - $this->icons['user']['confirmed'][0] = 'fa fa-times-circle-o acym__color__red'; - - $this->deletableRows[] = 'list'; - $this->deletableRows[] = 'mail'; - $this->deletableRows[] = 'queue'; - - acym_noCache(); - } - - public function toggle() - { - acym_checkToken(); - - - $table = acym_getVar('word', 'table', ''); - $field = acym_getVar('cmd', 'field', ''); - $id = acym_getVar('int', 'id', 0); - $newValue = acym_getVar('int', 'value', 0); - if (!empty($newValue)) { - $newValue = 1; - } - - - if (empty($table) || empty($field) || empty($id) || empty($this->toggleableColumns[$table][$field])) { - exit; - } - $pkey = $this->toggleableColumns[$table][$field]; - - $function = $table.$field; - if (method_exists($this, $function)) { - $this->$function($id, $newValue); - } else { - acym_query('UPDATE '.acym_secureDBColumn(ACYM_DBPREFIX.$table).' SET `'.acym_secureDBColumn($field).'` = '.intval($newValue).' WHERE `'.acym_secureDBColumn($pkey).'` = '.intval($id).' LIMIT 1'); - } - - acym_trigger('onAcymToggle'.ucfirst($table).ucfirst($field), [&$id, &$newValue]); - - - if (empty($this->icons[$table][$field][$newValue])) { - echo 'test'; - exit; - } - - $result = []; - $result['value'] = 1 - $newValue; - $result['classes'] = 'acym_toggleable '.$this->icons[$table][$field][$newValue]; - - echo json_encode($result); - - exit; - } - - public function delete() - { - acym_checkToken(); - - $table = acym_getVar('word', 'table', ''); - $id = acym_getVar('cmd', 'id', 0); - $method = acym_getVar('word', 'method', 'delete'); - - if (empty($table) || !in_array($table, $this->deletableRows) || empty($id)) { - exit; - } - - $elementClass = acym_get('class.'.$table); - $elementClass->$method($id); - - exit; - } - - public function getIntroJSConfig() - { - $config = acym_config(); - echo $config->get('introjs', '[]'); - exit; - } - - public function toggleIntroJS() - { - $config = acym_config(); - $toggleElement = acym_getVar('string', 'where'); - $intro = json_decode($config->get('introjs', '[]'), true); - $intro[$toggleElement] = 1; - $newConfig = new stdClass(); - $newConfig->introjs = json_encode($intro); - $config->save($newConfig); - exit; - } - - public function setDoNotRemindMe() - { - $newValue = acym_getVar('string', 'value'); - - $return = []; - $return['error'] = ''; - - if (empty($newValue)) { - $return['error'] = acym_translation('ACYM_ERROR_SAVING'); - echo json_encode($return); - exit; - } - $config = acym_config(); - $newConfig = new stdClass(); - - $newConfig->remindme = json_decode($config->get('remindme', '[]')); - if (!in_array($newValue, $newConfig->remindme)) array_push($newConfig->remindme, $newValue); - $newConfig->remindme = json_encode($newConfig->remindme); - - if ($config->save($newConfig)) { - $return['message'] = acym_translation('ACYM_THANKS'); - } else { - $return['error'] = acym_translation('ACYM_ERROR_SAVING'); - } - - echo json_encode($return); - exit; - } -} - +defaulttask = 'toggle'; + + $this->toggleableColumns['automation'] = ['active' => 'id']; + $this->toggleableColumns['campaign'] = ['active' => 'id']; + $this->toggleableColumns['field'] = ['active' => 'id', 'required' => 'id', 'backend_profile' => 'id', 'backend_listing' => 'id', 'frontend_profile' => 'id', 'frontend_listing' => 'id']; + $this->toggleableColumns['list'] = ['active' => 'id', 'visible' => 'id']; + $this->toggleableColumns['rule'] = ['active' => 'id']; + $this->toggleableColumns['user'] = ['active' => 'id', 'confirmed' => 'id']; + + $this->icons['automation']['active'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['automation']['active'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['campaign']['active'][0] = 'fa fa-play-circle-o'; + $this->icons['campaign']['active'][1] = 'fa fa-pause-circle-o'; + $this->icons['field']['active'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['field']['active'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['field']['required'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['field']['required'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['field']['backend_profile'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['field']['backend_profile'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['field']['backend_listing'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['field']['backend_listing'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['field']['frontend_profile'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['field']['frontend_profile'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['field']['frontend_listing'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['field']['frontend_listing'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['list']['active'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['list']['active'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['list']['visible'][1] = 'fa fa-eye'; + $this->icons['list']['visible'][0] = 'fa fa-eye-slash acym__color__dark-gray'; + $this->icons['rule']['active'][0] = 'fa fa-times-circle acym__color__red'; + $this->icons['rule']['active'][1] = 'fa fa-check-circle acym__color__green'; + $this->icons['user']['active'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['user']['active'][0] = 'fa fa-times-circle-o acym__color__red'; + $this->icons['user']['confirmed'][1] = 'fa fa-check-circle-o acym__color__green'; + $this->icons['user']['confirmed'][0] = 'fa fa-times-circle-o acym__color__red'; + + $this->deletableRows[] = 'list'; + $this->deletableRows[] = 'mail'; + $this->deletableRows[] = 'queue'; + + acym_noCache(); + } + + public function toggle() + { + acym_checkToken(); + + + $table = acym_getVar('word', 'table', ''); + $field = acym_getVar('cmd', 'field', ''); + $id = acym_getVar('int', 'id', 0); + $newValue = acym_getVar('int', 'value', 0); + if (!empty($newValue)) { + $newValue = 1; + } + + + if (empty($table) || empty($field) || empty($id) || empty($this->toggleableColumns[$table][$field])) { + exit; + } + $pkey = $this->toggleableColumns[$table][$field]; + + $function = $table.$field; + if (method_exists($this, $function)) { + $this->$function($id, $newValue); + } else { + acym_query('UPDATE '.acym_secureDBColumn(ACYM_DBPREFIX.$table).' SET `'.acym_secureDBColumn($field).'` = '.intval($newValue).' WHERE `'.acym_secureDBColumn($pkey).'` = '.intval($id).' LIMIT 1'); + } + + acym_trigger('onAcymToggle'.ucfirst($table).ucfirst($field), [&$id, &$newValue]); + + + if (empty($this->icons[$table][$field][$newValue])) { + echo 'test'; + exit; + } + + $result = []; + $result['value'] = 1 - $newValue; + $result['classes'] = 'acym_toggleable '.$this->icons[$table][$field][$newValue]; + + echo json_encode($result); + + exit; + } + + public function delete() + { + acym_checkToken(); + + $table = acym_getVar('word', 'table', ''); + $id = acym_getVar('cmd', 'id', 0); + $method = acym_getVar('word', 'method', 'delete'); + + if (empty($table) || !in_array($table, $this->deletableRows) || empty($id)) { + exit; + } + + $elementClass = acym_get('class.'.$table); + $elementClass->$method($id); + + exit; + } + + public function getIntroJSConfig() + { + $config = acym_config(); + echo $config->get('introjs', '[]'); + exit; + } + + public function toggleIntroJS() + { + $config = acym_config(); + $toggleElement = acym_getVar('string', 'where'); + $intro = json_decode($config->get('introjs', '[]'), true); + $intro[$toggleElement] = 1; + $newConfig = new stdClass(); + $newConfig->introjs = json_encode($intro); + $config->save($newConfig); + exit; + } + + public function setDoNotRemindMe() + { + $newValue = acym_getVar('string', 'value'); + + $return = []; + $return['error'] = ''; + + if (empty($newValue)) { + $return['error'] = acym_translation('ACYM_ERROR_SAVING'); + echo json_encode($return); + exit; + } + $config = acym_config(); + $newConfig = new stdClass(); + + $newConfig->remindme = json_decode($config->get('remindme', '[]')); + if (!in_array($newValue, $newConfig->remindme)) array_push($newConfig->remindme, $newValue); + $newConfig->remindme = json_encode($newConfig->remindme); + + if ($config->save($newConfig)) { + $return['message'] = acym_translation('ACYM_THANKS'); + } else { + $return['error'] = acym_translation('ACYM_ERROR_SAVING'); + } + + echo json_encode($return); + exit; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/controllers/update.php b/deployed/acym/administrator/components/com_acym/controllers/update.php index 1e9cd854..37b158b1 100644 --- a/deployed/acym/administrator/components/com_acym/controllers/update.php +++ b/deployed/acym/administrator/components/com_acym/controllers/update.php @@ -1,13 +1,13 @@ -finalizeElementFormat($this->name, $result, $tag, $varFields); } -} +} diff --git a/deployed/acym/administrator/components/com_acym/dynamics/cbuilder/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/cbuilder/plugin.php index 93f34965..cf89761c 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/cbuilder/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/cbuilder/plugin.php @@ -1,13 +1,13 @@ -summaryConditionFilters($automationFilter); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/eventbooking/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/eventbooking/plugin.php index e04b5cfb..66b50e1a 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/eventbooking/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/eventbooking/plugin.php @@ -1,13 +1,13 @@ -display('plugin'); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/managetext/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/managetext/plugin.php index 3db968a0..1495822d 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/managetext/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/managetext/plugin.php @@ -1,13 +1,13 @@ -body = $newBody; } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/online/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/online/plugin.php index e2bb7d09..21ab17e9 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/online/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/online/plugin.php @@ -1,13 +1,13 @@ -acympluginHelper->replaceTags($email, $tags); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/page/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/page/plugin.php index 6a16e5a4..6e75657a 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/page/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/page/plugin.php @@ -1,13 +1,13 @@ -finalizeElementFormat($this->name, $result, $tag, $varFields); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/payplans/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/payplans/plugin.php index bd01c417..ae91db0e 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/payplans/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/payplans/plugin.php @@ -1,13 +1,13 @@ -summaryConditionFilters($automationFilter); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/post/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/post/plugin.php index 2b9ea666..718efc6d 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/post/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/post/plugin.php @@ -1,13 +1,13 @@ -finalizeElementFormat($this->name, $result, $tag, $varFields); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/seblod/acyseblodfield.php b/deployed/acym/administrator/components/com_acym/dynamics/seblod/acyseblodfield.php index 21c3a983..5d26e899 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/seblod/acyseblodfield.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/seblod/acyseblodfield.php @@ -1,13 +1,13 @@ -trigger('user_subscribe', ['userId' => $user->id]); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/time/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/time/plugin.php index 9e146639..f37dc156 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/time/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/time/plugin.php @@ -1,13 +1,13 @@ -triggers['vmorder'])) $automation->triggers['vmorder'] = acym_translation('ACYM_WHEN_ORDER'); } } - + diff --git a/deployed/acym/administrator/components/com_acym/dynamics/woocommerce/plugin.php b/deployed/acym/administrator/components/com_acym/dynamics/woocommerce/plugin.php index 408d1667..8e4a74e7 100644 --- a/deployed/acym/administrator/components/com_acym/dynamics/woocommerce/plugin.php +++ b/deployed/acym/administrator/components/com_acym/dynamics/woocommerce/plugin.php @@ -1,13 +1,13 @@ -config = acym_config(); - $this->mailer = acym_get('helper.mailer'); - $this->bounceClass = acym_get('class.bounce'); - $this->ruleClass = acym_get('class.rule'); - $this->mailer->report = false; - $this->mailer->alreadyCheckedAddresses = true; - $this->userClass = acym_get('class.user'); - $this->mailClass = acym_get('class.mail'); - $this->historyClass = acym_get('class.history'); - $this->encodingHelper = acym_get('helper.encoding'); - $charset = acym_get('type.charset'); - $this->allCharsets = $charset->charsets; - $this->allowed_extensions = explode(',', $this->config->get('allowed_files', '')); - $this->detectEmail = '/'.acym_getEmailRegex(false, true).'/i'; - } - - public function init() - { - $this->server = $this->config->get('bounce_server'); - $this->username = $this->config->get('bounce_username'); - $this->password = $this->config->get('bounce_password'); - $this->port = $this->config->get('bounce_port', ''); - $this->connectMethod = $this->config->get('bounce_connection'); - $this->secureMethod = $this->config->get('bounce_secured', ''); - $this->selfSigned = $this->config->get('bounce_certif', false); - $this->timeout = $this->config->get('bounce_timeout'); - - if ($this->connectMethod == 'pear') { - $this->usepear = true; - include_once(ACYM_INC.'pear'.DS.'pop3.php'); - - return true; - } - - if (extension_loaded("imap") || function_exists('imap_open')) { - return true; - } - - $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : ''; - $EXTENSION = $prefix.'imap.'.PHP_SHLIB_SUFFIX; - - if (function_exists('dl')) { - $fatalMessage = 'The system tried to load dynamically the '.$EXTENSION.' extension'; - $fatalMessage .= '
                  If you see this message, that means the system could not load this PHP extension'; - $fatalMessage .= '
                  Please enable the PHP Extension '.$EXTENSION; - ob_start(); - echo $fatalMessage; - dl($EXTENSION); - $warnings = str_replace($fatalMessage, '', ob_get_clean()); - if (extension_loaded("imap") || function_exists('imap_open')) { - return true; - } - } - - if ($this->report) { - acym_display('The extension "'.$EXTENSION.'" could not be loaded, please change your PHP configuration to enable it or use the pop3 method without imap extension', 'error'); - if (!empty($warnings)) { - acym_display($warnings, 'warning'); - } - } - - return false; - } - - public function connect() - { - if ($this->usepear) { - return $this->_connectpear(); - } - - return $this->_connectimap(); - } - - private function _connectpear() - { - ob_start(); - - $this->mailbox = new Net_POP3(); - - $timeout = $this->timeout; - if (!empty($timeout)) { - $this->mailbox->setTimeOut($timeout); - } - - $port = intval($this->port); - $secure = $this->secureMethod; - if (empty($port)) { - if ($secure == 'ssl') { - $port = '995'; - } else { - $port = '110/pop3/notls'; - } - } - - $serverName = trim($this->server); - - if (!empty($secure) && !strpos($serverName, '://')) { - $serverName = $secure.'://'.$serverName; - } - - if (!$this->mailbox->connect($serverName, $port)) { - $warnings = ob_get_clean(); - if ($this->report) { - acym_enqueueMessage(acym_translation_sprintf("ACYM_ERROR_CONNECTING", $this->server." : ".$port), 'error'); - } - if (!empty($warnings) && $this->report) { - acym_display($warnings, 'warning'); - } - - return false; - } - - $login = $this->mailbox->login(trim($this->username), trim($this->password), 'USER'); - if (empty($login) || isset($login->code)) { - $warnings = ob_get_clean(); - if ($this->report) { - acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_LOGIN', $this->username.':'.$this->password), 'error'); - } - if (!empty($warnings) && $this->report) { - acym_display($warnings, 'warning'); - } - - return false; - } - - ob_end_clean(); - - return true; - } - - private function _connectimap() - { - if (empty($this->server)) { - acym_enqueueMessage(acym_translation('ACYM_CONFIGURE_BOUNCE'), 'warning'); - - return false; - } - - ob_start(); - $buff = imap_alerts(); - $buff = imap_errors(); - - $timeout = intval($this->timeout); - if (!empty($timeout)) { - imap_timeout(IMAP_OPENTIMEOUT, $timeout); - } - - $port = intval($this->port); - $secure = $this->secureMethod; - $protocol = $this->connectMethod; - $serverName = '{'.trim($this->server); - if (empty($port)) { - if ($secure == 'ssl' && $protocol == 'imap') { - $port = '993'; - } elseif ($secure == 'ssl' && $protocol == 'pop3') { - $port = '995'; - } elseif ($protocol == 'imap') { - $port = '143'; - } elseif ($protocol == 'pop3') { - $port = '110'; - } - } - - - if (!empty($port)) { - $serverName .= ':'.$port; - } - if (!empty($secure)) { - $serverName .= '/'.$secure; - } - if ($this->selfSigned) { - $serverName .= '/novalidate-cert'; - } - if (!empty($protocol)) { - $serverName .= '/service='.$protocol; - } - $serverName .= '}'; - $this->mailbox = imap_open($serverName, trim($this->username), trim($this->password), OP_SILENT); - $warnings = ob_get_clean(); - - if ($this->report) { - if (!$this->mailbox) { - acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_CONNECTING', $serverName), 'error'); - } - if (!empty($warnings)) { - acym_enqueueMessage($warnings, 'warning'); - } - } - - - return $this->mailbox ? true : false; - } - - public function getNBMessages() - { - if ($this->usepear) { - $this->nbMessages = $this->mailbox->numMsg(); - } else { - $this->nbMessages = imap_num_msg($this->mailbox); - } - - return $this->nbMessages; - } - - public function getMessage($msgNB) - { - if ($this->usepear) { - $message = new stdClass(); - $message->headerString = $this->mailbox->getRawHeaders($msgNB); - if (empty($message->headerString)) { - return false; - } - } else { - $message = imap_headerinfo($this->mailbox, $msgNB); - } - - return $message; - } - - public function deleteMessage($msgNB) - { - if ($this->usepear) { - $this->mailbox->deleteMsg($msgNB); - } else { - imap_delete($this->mailbox, $msgNB); - imap_expunge($this->mailbox); - } - } - - public function close() - { - if ($this->usepear) { - $this->mailbox->disconnect(); - } else { - imap_close($this->mailbox); - } - } - - private function decodeMessage() - { - if ($this->usepear) { - return $this->_decodeMessagepear(); - } else { - return $this->_decodeMessageimap(); - } - } - - private function _decodeMessagepear() - { - $this->_message->headerinfo = $this->mailbox->getParsedHeaders($this->_message->messageNB); - if (empty($this->_message->headerinfo['subject'])) { - return false; - } - $this->_message->text = ''; - $this->_message->html = $this->mailbox->getBody($this->_message->messageNB); - - if (!empty($this->_message->headerinfo['content-type']) && strpos($this->_message->headerinfo['content-type'], 'boundary') !== false) { - $matches = []; - preg_match('#boundary="([^"]+)"#i', $this->_message->headerinfo['content-type'], $matches); - - if (!empty($matches[1]) && strpos($this->_message->html, $matches[1]) !== false) { - $inlineImages = []; - - $segments = explode('--'.$matches[1], $this->_message->html); - foreach ($segments as $segment) { - if (strpos($segment, "Content-Type: text/plain") !== false) { - $matches = []; - preg_match('#boundary="([^"]+)"#i', $segment, $matches); - - if (!empty($matches[1])) { - $parts = explode('--'.$matches[1], $segment); - - foreach ($parts as $onePart) { - $content = trim(preg_replace('#(charset=".*?\r\n)|Content-(Type|ID|Disposition|Transfer-Encoding):.*?\r\n#is', "", $onePart)); - - if (strpos($onePart, 'Content-Transfer-Encoding') !== false) { - preg_match('#Content-Transfer-Encoding: (.+)#i', $onePart, $encoding); - $encoding = trim($encoding[1]); - $content = mb_convert_encoding($content, 'UTF-8', $encoding); - } - - if (strpos($onePart, "Content-Type: text/plain") !== false) { - $this->_message->text = $content; - } - if (strpos($onePart, "Content-Type: text/html") !== false) { - $this->_message->html = $content; - } - } - } else { - $this->_message->html = trim(preg_replace('#(charset=".*?\r\n)|Content-(Type|ID|Disposition|Transfer-Encoding):.*?\r\n#is', "", $segment)); - } - } elseif (preg_match("#Content-Type: .*?/(png|jpg|jpeg|gif)#i", $segment) !== false) { - preg_match('#name="([^"]+)"#i', $segment, $filename); - if (empty($filename) || empty($filename[1])) { - continue; - } - $name = trim($filename[1]); - $filename = $name; - $extensionPos = strrpos($filename, '.'); - - if ($extensionPos === false) { - continue; - } - - $extension = substr($filename, $extensionPos + 1); - - $filename = preg_replace('#[^a-zA-Z0-9]#Uis', '_', substr($filename, 0, $extensionPos)); - - $uploadFolder = str_replace(['/', '\\'], DS, acym_getFilesFolder()); - $pathToUpload = ACYM_ROOT.trim($uploadFolder, DS).DS; - - if (file_exists($pathToUpload.$filename.'.'.$extension)) { - $fileNumber = 1; - while (file_exists($pathToUpload.$filename.'_('.$fileNumber.').'.$extension)) { - $fileNumber++; - } - $filename = $filename.'_('.$fileNumber.')'; - } - - preg_match('#Content-ID: <([^>]+)>#i', $segment, $contentID); - if (empty($contentID) || empty($contentID[1])) { - continue; - } - $contentID = trim($contentID[1]); - - $data = trim(substr($segment, strpos($segment, "\r\n\r\n"))); - if (strpos($segment, 'Content-Transfer-Encoding: base64') !== false) { - $data = base64_decode($data); - } - - - try { - if (acym_writeFile($pathToUpload.$filename.'.'.$extension, $data)) { - $inlineImages['cid:'.$contentID] = acym_rootURI().$uploadFolder.'/'.$filename.'.'.$extension; - } - } catch (Exception $e) { - $this->_display(acym_translation_sprintf('ACYM_ERROR_UPLOAD_ATTACHMENT', $filename.'.'.$extension, $e->getMessage()), false); - } - } - } - - if (!empty($inlineImages)) { - $this->_message->html = str_replace(array_keys($inlineImages), $inlineImages, $this->_message->html); - } - } - } - - $this->_message->subject = $this->_decodeHeader($this->_message->headerinfo['subject']); - if (empty($this->_message->header)) { - $this->_message->header = new stdClass(); - } - $this->_message->header->sender_email = @$this->_message->headerinfo['return-path']; - if (is_array($this->_message->header->sender_email)) { - $this->_message->header->sender_email = reset($this->_message->header->sender_email); - } - if (preg_match($this->detectEmail, $this->_message->header->sender_email, $results)) { - $this->_message->header->sender_email = $results[0]; - } - $this->_message->header->sender_name = strip_tags(@$this->_message->headerinfo['from']); - $this->_message->header->reply_to_email = $this->_message->header->sender_email; - $this->_message->header->reply_to_name = $this->_message->header->sender_name; - $this->_message->header->from_email = $this->_message->header->sender_email; - $this->_message->header->from_name = $this->_message->header->sender_name; - - return true; - } - - private function _decodeMessageimap() - { - $this->_message->structure = imap_fetchstructure($this->mailbox, $this->_message->messageNB); - - if (empty($this->_message->structure)) { - return false; - } - $this->_message->headerinfo = imap_fetchheader($this->mailbox, $this->_message->messageNB); - - $this->_message->html = ''; - $this->_message->text = ''; - - if ($this->_message->structure->type == 1) { - $this->_message->contentType = 2; - if ($this->_message->structure->subtype == "MIXED") { - $allParts = $this->_explodeBodyMixed($this->_message->structure); - } else { - $allParts = $this->_explodeBody($this->_message->structure); - } - - $text = ''; - foreach ($allParts as $num => $onePart) { - $decodedContent = $this->_decodeContent(imap_fetchbody($this->mailbox, $this->_message->messageNB, $num), $onePart); - if ($onePart->subtype == 'HTML') { - $this->_message->html .= $decodedContent; - } else { - if ($onePart->subtype == 'PLAIN') { - $text .= $decodedContent."\n"; - } - $this->_message->text .= $decodedContent."\n\n- - -\n\n"; - } - } - - if (!empty($this->action) && empty($this->_message->html)) { - $this->_message->html = $text."\n"; - } - if (!empty($this->inlineImages)) { - $this->_message->html = str_replace(array_keys($this->inlineImages), $this->inlineImages, $this->_message->html); - } - } else { - if ($this->_message->structure->subtype == 'HTML') { - $this->_message->contentType = 1; - $this->_message->html = $this->_decodeContent(imap_body($this->mailbox, $this->_message->messageNB), $this->_message->structure); - } else { - $this->_message->contentType = 0; - $this->_message->text = $this->_decodeContent(imap_body($this->mailbox, $this->_message->messageNB), $this->_message->structure); - } - } - - $this->_message->subject = $this->_decodeHeader($this->_message->subject); - - $this->_decodeAddressimap('sender'); - $this->_decodeAddressimap('from'); - $this->_decodeAddressimap('reply_to'); - $this->_decodeAddressimap('to'); - - return true; - } - - public function handleMessages() - { - - $maxMessages = min($this->nbMessages, $this->config->get('bounce_max', 0)); - if (empty($maxMessages)) { - $maxMessages = min($this->nbMessages, 500); - } - - if ($this->report) { - if (function_exists('apache_get_modules')) { - $modules = apache_get_modules(); - $this->mod_security2 = in_array('mod_security2', $modules); - } - - @ini_set('output_buffering', 'off'); - @ini_set('zlib.output_compression', 0); - - - if (!headers_sent()) { - while (ob_get_level() > 0 && $this->obend++ < 3) { - @ob_end_flush(); - } - } - - $disp = "
                  "; - $disp .= acym_translation('ACYM_BOUNCE_HANDLING'); - $disp .= ': 0 / '.$maxMessages; - $disp .= '
                  '; - $disp .= ''; - echo $disp; - if (function_exists('ob_flush')) { - @ob_flush(); - } - if (!$this->mod_security2) { - @flush(); - } - } - - $rules = $this->ruleClass->getAll(true); - - $msgNB = $maxMessages; - $listClass = acym_get('class.list'); - $this->allLists = $listClass->getAll('id'); - - $replyemail = $this->config->get('reply_email'); - $fromemail = $this->config->get('from_email'); - $bouncemail = $this->config->get('bounce_email'); - $removeEmails = '#('.str_replace(['%'], ['@'], $this->config->get('bounce_username')); - if (!empty($bouncemail)) { - $removeEmails .= '|'.$bouncemail; - } - if (!empty($fromemail)) { - $removeEmails .= '|'.$fromemail; - } - if (!empty($replyemail)) { - $removeEmails .= '|'.$replyemail; - } - $removeEmails .= ')#i'; - - while (($msgNB > 0) && ($this->_message = $this->getMessage($msgNB))) { - if ($this->report) { - echo ''; - if (function_exists('ob_flush')) { - @ob_flush(); - } - if (!$this->mod_security2) { - @flush(); - } - } - $this->_message->messageNB = $msgNB; - $msgNB--; - - if (!$this->decodeMessage()) { - $this->_display('Error retrieving message', false, $maxMessages - $this->_message->messageNB + 1); - continue; - } - - if (empty($this->_message->subject)) { - $this->_message->subject = 'empty subject'; - } - - $this->_message->analyseText = $this->_message->html.' '.$this->_message->text; - if (!empty($this->_message->header->from_email)) { - $this->_message->analyseText .= ' '.$this->_message->header->from_email; - } - $this->_display(''.acym_translation('ACYM_EMAIL_SUBJECT').' : '.strip_tags($this->_message->subject).'', false, $maxMessages - $this->_message->messageNB + 1); - - preg_match('#AC([0-9]+)Y([0-9]+)BA#i', $this->_message->analyseText, $resultsVars); - if (!empty($resultsVars[1])) { - $this->_message->userid = $resultsVars[1]; - } - if (!empty($resultsVars[2])) { - $this->_message->mailid = $resultsVars[2]; - } - - if (empty($this->_message->userid)) { - preg_match_all($this->detectEmail, $this->_message->analyseText, $results); - - if (empty($results[0])) { - preg_match_all($this->detectEmail2, $this->_message->analyseText, $results2); - for ($i = 0 ; $i < count($results2[0]) ; $i++) { - $results[0][] = $results2[3][$i].'@'.$results2[1][$i]; - } - } - - if (!empty($results[0])) { - $alreadyChecked = []; - foreach ($results[0] as $oneEmail) { - if (!preg_match($removeEmails, $oneEmail)) { - $this->_message->subemail = strtolower($oneEmail); - if (!empty($alreadyChecked[$this->_message->subemail])) { - continue; - } - - $user = $this->userClass->getOneByEmail($this->_message->subemail); - if (!empty($user)) $this->_message->userid = $user->id; - - if (empty($this->_message->userid) && preg_match('#(&|\?)id=([0-9]+)&#ims', $this->_message->subemail, $subid)) { - $user = $this->userClass->getOneById($subid[2]); - $this->_message->userid = $user->id; - $this->_message->subemail = $user->email; - } - - $alreadyChecked[$this->_message->subemail] = true; - if (!empty($this->_message->userid)) { - break; - } - } - } - } - } - - if (empty($this->_message->mailid) && !empty($this->_message->userid)) { - $this->_message->mailid = acym_loadResult('SELECT `mail_id` FROM #__acym_user_stat WHERE `user_id` = '.intval($this->_message->userid).' ORDER BY `send_date` DESC'); - } - - - foreach ($rules as $oneRule) { - if ($this->_handleRule($oneRule)) { - break; - } - } - - if ($msgNB % 50 == 0) { - $this->_subActions(); - } - - if (!empty($this->stoptime) && time() > $this->stoptime) { - break; - } - } - - - $this->_subActions(); - } - - - private function _subActions() - { - - if (!empty($this->deletedUsers)) { - acym_arrayToInteger($this->deletedUsers); - $this->userClass->delete($this->deletedUsers); - $this->deletedUsers = []; - } - if (!empty($this->blockedUsers)) { - acym_arrayToInteger($this->blockedUsers); - $allUsersId = implode(',', $this->blockedUsers); - acym_query('UPDATE `#__acym_user` SET `active` = 0 WHERE `id` IN ('.$allUsersId.')'); - acym_query('DELETE FROM `#__acym_queue` WHERE `user_id` IN ('.$allUsersId.')'); - $this->blockedUsers = []; - } - - if (!empty($this->bounceMessages)) { - foreach ($this->bounceMessages as $mailid => $bouncedata) { - - $updateBounceDetails = ''; - if (!empty($bouncedata['bouncedetails'])) { - $bouncedetails = acym_loadResult('SELECT `bounce_details` FROM #__acym_mail_stat WHERE mail_id = '.intval($mailid)); - if (!empty($bouncedetails)) { - $bouncedetails = unserialize($bouncedetails); - } else { - $bouncedetails = []; - } - - foreach ($bouncedata['bouncedetails'] as $ruleName => $nbTimes) { - if (empty($bouncedetails[$ruleName])) { - $bouncedetails[$ruleName] = 0; - } - $bouncedetails[$ruleName] += $nbTimes; - } - - $updateBounceDetails = ' , `bounce_details` = '.acym_escapeDB(serialize($bouncedetails)); - } - - if (!empty($bouncedata['userids'])) { - $valueInsert = []; - foreach ($bouncedata['ruletriggered'] as $userid => $rulename) { - $valueInsert[] = '('.intval($mailid).','.intval($userid).',1,'.acym_escapeDB($rulename).')'; - } - acym_query('INSERT INTO #__acym_user_stat (mail_id,user_id,bounce,bounce_rule) VALUES '.implode(',', $valueInsert).' ON DUPLICATE KEY UPDATE `bounce` = `bounce` + 1, bounce_rule=VALUES(bounce_rule)'); - acym_arrayToInteger($bouncedata['userids']); - $realUniqueBounces = acym_loadResult('SELECT COUNT(*) FROM #__acym_user_stat WHERE `bounce` = 1 AND `user_id` IN ('.implode(',', $bouncedata['userids']).') AND `mail_id` = '.intval($mailid)); - $bouncedata['nbbounces'] = $bouncedata['nbbounces'] - count($bouncedata['userids']) + $realUniqueBounces; - } - - acym_query('UPDATE #__acym_mail_stat SET `bounce_unique` = `bounce_unique` + '.intval($bouncedata['nbbounces']).$updateBounceDetails.' WHERE `mail_id` = '.intval($mailid).' LIMIT 1'); - } - $this->bounceMessages = []; - } - } - - private function _handleRule(&$oneRule) - { - $regex = $oneRule->regex; - if (empty($regex)) { - return false; - } - - - $analyseText = ''; - if (in_array('senderInfo', $oneRule->executed_on)) { - $analyseText .= ' '; - if (isset($this->_message->header->sender_name)) { - $analyseText .= $this->_message->header->sender_name; - } - if (isset($this->_message->header->sender_email)) { - $analyseText .= $this->_message->header->sender_email; - } - } - if (in_array('subject', $oneRule->executed_on)) { - $analyseText .= ' '.$this->_message->subject; - } - if (in_array('body', $oneRule->executed_on)) { - if (!empty($this->_message->html)) { - $analyseText .= ' '.$this->_message->html; - } - if (!empty($this->_message->text)) { - $analyseText .= ' '.$this->_message->text; - } - } - - $analyseText = str_replace(["\n", "\r", "\t"], ' ', $analyseText); - - if (!preg_match('#'.$regex.'#ims', $analyseText)) { - return false; - } - - $message = acym_translation('ACYM_BOUNCE_RULE').' ['.acym_translation('ACYM_ID').' '.$oneRule->id.'] '.acym_translation($oneRule->name).' : '; - $message .= $this->_actionuser($oneRule); - $message .= $this->_actionmessage($oneRule); - - $this->_display($message, true); - - return true; - } - - private function _actionuser(&$oneRule) - { - $message = ''; - - if (empty($this->_message->userid)) { - $message .= 'user not identified'; - if (!empty($this->_message->subemail)) { - $message .= ' ( '.$this->_message->subemail.' ) '; - } - - return $message; - } - - if (in_array('delete_user_subscription', $oneRule->action_user) || in_array('unsubscribe_user', $oneRule->action_user) || in_array('subscribe_user', $oneRule->action_user)) { - $status = $this->userClass->getSubscriptionStatus($this->_message->userid); - if (empty($this->_message->subemail)) { - $currentUser = $this->userClass->getOneById($this->_message->userid); - if (!empty($currentUser->email)) { - $this->_message->subemail = $currentUser->email; - } - } - } - - if (empty($this->_message->subemail)) { - $this->_message->subemail = $this->_message->userid; - } - - - $mail = $this->mailClass->getOneById($this->_message->mailid); - if ($oneRule->increment_stats && !empty($this->_message->mailid) && !empty($mail)) { - - if (empty($this->bounceMessages[$this->_message->mailid])) { - $this->bounceMessages[$this->_message->mailid] = []; - $this->bounceMessages[$this->_message->mailid]['nbbounces'] = 0; - $this->bounceMessages[$this->_message->mailid]['userids'] = []; - $this->bounceMessages[$this->_message->mailid]['bouncedetails'] = []; - $this->bounceMessages[$this->_message->mailid]['ruletriggered'] = []; - } - - $this->bounceMessages[$this->_message->mailid]['nbbounces']++; - - $ruleName = $oneRule->name.' [ID '.$oneRule->id.'] '; - if (empty($this->bounceMessages[$this->_message->mailid]['bouncedetails'][$ruleName])) { - $this->bounceMessages[$this->_message->mailid]['bouncedetails'][$ruleName] = 1; - } else { - $this->bounceMessages[$this->_message->mailid]['bouncedetails'][$ruleName]++; - } - - $user = $this->userClass->getOneById($this->_message->userid); - if (!empty($this->_message->userid) && !in_array('delete_user', $oneRule->action_user) && !empty($user)) { - $this->bounceMessages[$this->_message->mailid]['userids'][] = intval($this->_message->userid); - $this->bounceMessages[$this->_message->mailid]['ruletriggered'][intval($this->_message->userid)] = $oneRule->name.' ['.acym_translation('ACYM_ID').' '.$oneRule->id.']'; - } - } - - if (!empty($oneRule->execute_action_after) && $oneRule->execute_action_after > 1) { - if (empty($this->_message->mailid)) { - $this->_message->mailid = 0; - } - $nb = intval(acym_loadResult('SELECT COUNT(mail_id) FROM #__acym_user_stat WHERE bounce > 0 AND user_id = '.intval($this->_message->userid).' AND mail_id != '.intval($this->_message->mailid))) + 1; - - if ($nb < $oneRule->execute_action_after) { - $message .= ' | '.acym_translation_sprintf('ACYM_BOUNCE_RECEIVED', $nb, $this->_message->subemail).' | '.acym_translation_sprintf('ACYM_BOUNCE_MIN_EXEC', $oneRule->execute_action_after); - - return $message; - } - } - - if (in_array('delete_user', $oneRule->action_user)) { - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_DELETED', $this->_message->subemail); - $this->deletedUsers[] = intval($this->_message->userid); - - return $message; - } - - $listId = 0; - if (in_array('subscribe_user', $oneRule->action_user) && !empty($oneRule->action_user['subscribe_user_list'])) { - $listId = $oneRule->action_user['subscribe_user_list']; - - $listName = empty($this->allLists[$listId]->name) ? $listId : $this->allLists[$listId]->name; - $message .= ' | '; - if (isset($status[$listId])) { - $message .= acym_translation_sprintf('ACYM_USER_X_NOT_SUBSCRIBED_TO', $this->_message->subemail, $listName); - if ($status[$listId]->status == 1) { - $message .= acym_translation('ACYM_USER_ALREADY_SUBSCRIBED'); - } elseif ($status[$listId]->status == 0) { - $message .= acym_translation('ACYM_USER_ALREADY_UNSUBSCRIBED'); - } - } else { - $this->userClass->subscribe($this->_message->userid, $listId); - $message .= acym_translation_sprintf('ACYM_USER_X_SUBSCRIBED_TO', $this->_message->subemail, $listName); - } - } - - if (in_array('delete_user_subscription', $oneRule->action_user)) { - $unsubLists = array_diff(array_keys($status), [$listId]); - if (!empty($unsubLists)) { - $listnames = []; - foreach ($unsubLists as $oneListId) { - if (!empty($this->allLists[$oneListId]->name)) { - $listnames[] = $this->allLists[$oneListId]->name; - } else { - $listnames[] = $oneListId; - } - } - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_REMOVED_FROM', $this->_message->subemail, implode(', ', $listnames)); - $this->userClass->removeSubscription($this->_message->userid, $unsubLists); - } else { - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_NOT_SUBSCRIBED', $this->_message->subemail); - } - } - - if (in_array('unsubscribe_user', $oneRule->action_user)) { - $unsubLists = array_diff(array_keys($status), [$listId]); - if (!empty($unsubLists)) { - $listnames = []; - foreach ($unsubLists as $oneListId) { - if (!empty($this->allLists[$oneListId]->name)) { - $listnames[] = $this->allLists[$oneListId]->name; - } else { - $listnames[] = $oneListId; - } - } - $this->userClass->unsubscribe($this->_message->userid, $unsubLists); - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_UNSUBSCRIBED_FROM', $this->_message->subemail, implode(', ', $listnames)); - } else { - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_NOT_SUBSCRIBED', $this->_message->subemail); - } - } - - if (in_array('block_user', $oneRule->action_user)) { - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_BLOCKED', $this->_message->subemail.' ( '.acym_translation('ACYM_ID').' '.intval($this->_message->userid).' )'); - $this->blockedUsers[] = intval($this->_message->userid); - } - - if (in_array('empty_queue_user', $oneRule->action_user)) { - $affected = acym_query('DELETE FROM #__acym_queue WHERE user_id = '.intval($this->_message->userid)); - $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_QUEUE', $this->_message->subemail.' ( '.acym_translation('ACYM_ID').' '.intval($this->_message->userid).' )', acym_translation_sprintf('ACYM_SUCC_DELETE_ELEMENTS', $affected)); - } - - return $message; - } - - private function _actionmessage(&$oneRule) - { - $message = ''; - - if (!empty($oneRule->action_message['forward_to'])) { - if (strtolower($oneRule->action_message['forward_to']) == strtolower($this->config->get('bounce_username')) || strtolower($oneRule->action_message['forward_to']) == strtolower($this->config->get('bounce_email'))) { - $oneRule->action_message['forward_to'] = ''; - unset($oneRule->action_message['delete_message']); - $message .= ' | '.acym_translation('ACYM_BOUNCE_NOT_FORWARD'); - } - } - - - if (in_array('save_message', $oneRule->action_message) && !empty($this->_message->userid) && !in_array('delete_user', $oneRule->action_user)) { - $data = []; - $data[] = 'SUBJECT::'.@htmlentities($this->_message->subject, ENT_COMPAT, 'UTF-8'); - $data[] = 'ACY_RULE::'.$oneRule->id.' '.$oneRule->name; - $data[] = 'REPLYTO_ADDRESS::'.$this->_message->header->reply_to_name.' ( '.$this->_message->header->reply_to_email.' )'; - $data[] = 'FROM_ADDRESS::'.$this->_message->header->from_name.' ( '.$this->_message->header->from_email.' )'; - if (!empty($this->_message->html)) { - $data[] = 'HTML_VERSION::'.@htmlentities($this->_message->html, ENT_COMPAT, 'UTF-8'); - } - if (!empty($this->_message->text)) { - $data[] = 'TEXT_VERSION::'.nl2br(@htmlentities($this->_message->text, ENT_COMPAT, 'UTF-8')); - } - $data[] = print_r($this->_message->headerinfo, true); - if (empty($this->_message->mailid)) { - $this->_message->mailid = 0; - } - $this->historyClass->insert($this->_message->userid, 'bounce', $data, $this->_message->mailid); - $message .= ' | '.acym_translation_sprintf('ACYM_BOUNCE_MESSAGE_SAVED', $this->_message->userid); - } - - $donotdelete = false; - - if (!empty($oneRule->action_message['forward_to'])) { - $this->mailer->clearAll(); - $this->mailer->Subject = 'BOUNCE FORWARD : '.$this->_message->subject; - - if (substr_count($oneRule->action_message['forward_to'], '@') > 1) { - $forwardAddresses = explode(';', str_replace([';', ','], ';', $oneRule->action_message['forward_to'])); - } else { - $forwardAddresses = [$oneRule->action_message['forward_to']]; - } - - foreach ($forwardAddresses as $oneForwardAddress) { - $this->mailer->AddAddress($this->mailer->cleanText($oneForwardAddress)); - } - - $info = acym_translation('ACYM_BOUNCE_RULE').' ['.acym_translation('ACYM_ID').' '.$oneRule->id.'] '.acym_translation($oneRule->name); - if (!empty($this->_message->html)) { - $this->mailer->isHTML(true); - $this->mailer->Body = $info.'
                  '.$this->_message->html; - if (!empty($this->_message->text)) { - $this->mailer->Body .= '

                  -------
                  '.nl2br($this->_message->text); - } - } else { - $this->mailer->isHTML(false); - $this->mailer->Body = $info."\n".$this->_message->text; - } - - $this->mailer->Body .= print_r($this->_message->headerinfo, true); - $replyAddress = trim(@$this->_message->header->reply_to_email, '<> '); - if (!empty($replyAddress)) { - $this->mailer->AddReplyTo(trim($this->_message->header->reply_to_email, '<> '), $this->_message->header->reply_to_name); - } - - if ($this->mailer->send()) { - $message .= ' | '.acym_translation_sprintf('ACYM_FORWARDED_TO_X', $oneRule->action_message['forward_to']); - } else { - $message .= ' | '.acym_translation_sprintf('ACYM_NOT_FORWARDED_TO_X', $oneRule->action_message['forward_to'], $this->mailer->reportMessage); - $donotdelete = true; - } - } - - if (in_array('delete_message', $oneRule->action_message) && !$donotdelete) { - $message .= ' | '.acym_translation('ACYM_MESSAGE_DELETED'); - $this->deleteMessage($this->_message->messageNB); - } - - return $message; - } - - private function _decodeAddressimap($type) - { - $address = $type.'address'; - $name = $type.'_name'; - $email = $type.'_email'; - if (empty($this->_message->$type)) { - return false; - } - - $var = $this->_message->$type; - - if (empty($this->_message->header)) { - $this->_message->header = new stdClass(); - } - - if (!empty($this->_message->$address)) { - $this->_message->header->$name = $this->_message->$address; - } else { - $this->_message->header->$name = $var[0]->personal; - } - - $this->_message->header->$email = $var[0]->mailbox.'@'.@$var[0]->host; - - return true; - } - - - private function _display($message, $status = '', $num = '') - { - $this->messages[] = $message; - - if (!$this->report) { - return; - } - - $color = $status ? 'green' : 'blue'; - if (!empty($num)) { - echo '
                  '.$num.' : '; - } else { - echo '
                       '; - } - - echo ''.$message.''; - if (function_exists('ob_flush')) { - @ob_flush(); - } - if (!$this->mod_security2) { - @flush(); - } - } - - private function _decodeHeader($input) - { - $input = preg_replace('/(=\?[^?]+\?(q|b)\?[^?]*\?=)(\s)+=\?/i', '\1=?', $input); - $this->charset = false; - - while (preg_match('/(=\?([^?]+)\?(q|b)\?([^?]*)\?=)/i', $input, $matches)) { - - $encoded = $matches[1]; - $charset = $matches[2]; - $encoding = $matches[3]; - $text = $matches[4]; - - switch (strtolower($encoding)) { - case 'b': - $text = base64_decode($text); - break; - - case 'q': - $text = str_replace('_', ' ', $text); - preg_match_all('/=([a-f0-9]{2})/i', $text, $matches); - foreach ($matches[1] as $value) { - $text = str_replace('='.$value, chr(hexdec($value)), $text); - } - break; - } - $this->charset = $charset; - $input = str_replace($encoded, $text, $input); - } - - if ($this->charset && in_array($this->charset, $this->allCharsets)) { - $input = $this->encodingHelper->change($input, $this->charset, 'UTF-8'); - } - - return $input; - } - - private function _explodeBodyMixed($struct, $path = "1") - { - $allParts = []; - - if (empty($struct->parts)) { - return $allParts; - } - - $pathPrefix = ($struct->subtype == "MIXED" && $path == '1') ? '' : $path.'.'; - foreach ($struct->parts as $i => $part) { - $partPath = $pathPrefix.($i + 1); - if ($part->type == 1) { - $allParts = array_merge($this->_explodeBodyMixed($part, $partPath), $allParts); - } else { - $allParts[$partPath] = $part; - } - } - - return $allParts; - } - - private function _explodeBody($struct, $path = "0", $inline = 0) - { - $allParts = []; - - if (empty($struct->parts)) { - return $allParts; - } - - $c = 0; //counts real content - foreach ($struct->parts as $part) { - if ($part->type == 1) { - if ($part->subtype == "MIXED") { //Mixed: - $path = $this->_incPath($path, 1); //refreshing current path - $newpath = $path.".0"; //create a new path-id (ex.:2.0) - $allParts = array_merge($this->_explodeBody($part, $newpath), $allParts); //fetch new parts - } else { //Alternativ / rfc / signed - $newpath = $this->_incPath($path, 1); - $path = $this->_incPath($path, 1); - $allParts = array_merge($this->_explodeBody($part, $newpath, 1), $allParts); - } - } else { - $c++; - if ($c == 1 && $inline) { - $path = $path.".0"; - } - $path = $this->_incPath($path, 1); - $allParts[$path] = $part; - } - } - - return $allParts; - } - - private function _incPath($path, $inc) - { - $newpath = ""; - $path_elements = explode(".", $path); - $limit = count($path_elements); - for ($i = 0 ; $i < $limit ; $i++) { - if ($i == $limit - 1) { //last element - $newpath .= $path_elements[$i] + $inc; // new Part-Number - } else { - $newpath .= $path_elements[$i]."."; //rebuild "1.2.2"-Chronology - } - } - - return $newpath; - } - - private function _decodeContent($content, $structure) - { - $encoding = $structure->encoding; - - if ($encoding == 2) { - $content = imap_binary($content); - } elseif ($encoding == 3) { - $content = imap_base64($content); - } elseif ($encoding == 4) { - $content = imap_qprint($content); - } - - if (!empty($this->action)) { - $charset = $this->_getMailParam($structure, 'charset'); - if (!empty($charset) && strtoupper($charset) != 'UTF-8') { - $content = $this->encodingHelper->change($content, $charset, 'UTF-8'); - } - - return $content; - } - - return substr($content, 0, 100000); - } - - private function _getMailParam($params, $name) - { - $searchIn = []; - - if ($params->ifparameters) { - $searchIn = array_merge($searchIn, $params->parameters); - } - if ($params->ifdparameters) { - $searchIn = array_merge($searchIn, $params->dparameters); - } - - if (empty($searchIn)) { - return false; - } - - foreach ($searchIn as $num => $values) { - if (strtolower($values->attribute) == $name) { - return $values->value; - } - } - } - - public function getErrors() - { - $return = []; - if ($this->usepear) { - } else { - if (!function_exists('imap_alerts')) { - $return[] = 'The IMAP extension could not be loaded, please change your PHP configuration to enable it or use the pop3 method without imap extension'; - - return $return; - } - $alerts = imap_alerts(); - $errors = imap_errors(); - if (!empty($alerts)) { - $return = array_merge($return, $alerts); - } - if (!empty($errors)) { - $return = array_merge($return, $errors); - } - } - - return $return; - } -} - +config = acym_config(); + $this->mailer = acym_get('helper.mailer'); + $this->bounceClass = acym_get('class.bounce'); + $this->ruleClass = acym_get('class.rule'); + $this->mailer->report = false; + $this->mailer->alreadyCheckedAddresses = true; + $this->userClass = acym_get('class.user'); + $this->mailClass = acym_get('class.mail'); + $this->historyClass = acym_get('class.history'); + $this->encodingHelper = acym_get('helper.encoding'); + $charset = acym_get('type.charset'); + $this->allCharsets = $charset->charsets; + $this->allowed_extensions = explode(',', $this->config->get('allowed_files', '')); + $this->detectEmail = '/'.acym_getEmailRegex(false, true).'/i'; + } + + public function init() + { + $this->server = $this->config->get('bounce_server'); + $this->username = $this->config->get('bounce_username'); + $this->password = $this->config->get('bounce_password'); + $this->port = $this->config->get('bounce_port', ''); + $this->connectMethod = $this->config->get('bounce_connection'); + $this->secureMethod = $this->config->get('bounce_secured', ''); + $this->selfSigned = $this->config->get('bounce_certif', false); + $this->timeout = $this->config->get('bounce_timeout'); + + if ($this->connectMethod == 'pear') { + $this->usepear = true; + include_once(ACYM_INC.'pear'.DS.'pop3.php'); + + return true; + } + + if (extension_loaded("imap") || function_exists('imap_open')) { + return true; + } + + $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : ''; + $EXTENSION = $prefix.'imap.'.PHP_SHLIB_SUFFIX; + + if (function_exists('dl')) { + $fatalMessage = 'The system tried to load dynamically the '.$EXTENSION.' extension'; + $fatalMessage .= '
                  If you see this message, that means the system could not load this PHP extension'; + $fatalMessage .= '
                  Please enable the PHP Extension '.$EXTENSION; + ob_start(); + echo $fatalMessage; + dl($EXTENSION); + $warnings = str_replace($fatalMessage, '', ob_get_clean()); + if (extension_loaded("imap") || function_exists('imap_open')) { + return true; + } + } + + if ($this->report) { + acym_display('The extension "'.$EXTENSION.'" could not be loaded, please change your PHP configuration to enable it or use the pop3 method without imap extension', 'error'); + if (!empty($warnings)) { + acym_display($warnings, 'warning'); + } + } + + return false; + } + + public function connect() + { + if ($this->usepear) { + return $this->_connectpear(); + } + + return $this->_connectimap(); + } + + private function _connectpear() + { + ob_start(); + + $this->mailbox = new Net_POP3(); + + $timeout = $this->timeout; + if (!empty($timeout)) { + $this->mailbox->setTimeOut($timeout); + } + + $port = intval($this->port); + $secure = $this->secureMethod; + if (empty($port)) { + if ($secure == 'ssl') { + $port = '995'; + } else { + $port = '110/pop3/notls'; + } + } + + $serverName = trim($this->server); + + if (!empty($secure) && !strpos($serverName, '://')) { + $serverName = $secure.'://'.$serverName; + } + + if (!$this->mailbox->connect($serverName, $port)) { + $warnings = ob_get_clean(); + if ($this->report) { + acym_enqueueMessage(acym_translation_sprintf("ACYM_ERROR_CONNECTING", $this->server." : ".$port), 'error'); + } + if (!empty($warnings) && $this->report) { + acym_display($warnings, 'warning'); + } + + return false; + } + + $login = $this->mailbox->login(trim($this->username), trim($this->password), 'USER'); + if (empty($login) || isset($login->code)) { + $warnings = ob_get_clean(); + if ($this->report) { + acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_LOGIN', $this->username.':'.$this->password), 'error'); + } + if (!empty($warnings) && $this->report) { + acym_display($warnings, 'warning'); + } + + return false; + } + + ob_end_clean(); + + return true; + } + + private function _connectimap() + { + if (empty($this->server)) { + acym_enqueueMessage(acym_translation('ACYM_CONFIGURE_BOUNCE'), 'warning'); + + return false; + } + + ob_start(); + $buff = imap_alerts(); + $buff = imap_errors(); + + $timeout = intval($this->timeout); + if (!empty($timeout)) { + imap_timeout(IMAP_OPENTIMEOUT, $timeout); + } + + $port = intval($this->port); + $secure = $this->secureMethod; + $protocol = $this->connectMethod; + $serverName = '{'.trim($this->server); + if (empty($port)) { + if ($secure == 'ssl' && $protocol == 'imap') { + $port = '993'; + } elseif ($secure == 'ssl' && $protocol == 'pop3') { + $port = '995'; + } elseif ($protocol == 'imap') { + $port = '143'; + } elseif ($protocol == 'pop3') { + $port = '110'; + } + } + + + if (!empty($port)) { + $serverName .= ':'.$port; + } + if (!empty($secure)) { + $serverName .= '/'.$secure; + } + if ($this->selfSigned) { + $serverName .= '/novalidate-cert'; + } + if (!empty($protocol)) { + $serverName .= '/service='.$protocol; + } + $serverName .= '}'; + $this->mailbox = imap_open($serverName, trim($this->username), trim($this->password), OP_SILENT); + $warnings = ob_get_clean(); + + if ($this->report) { + if (!$this->mailbox) { + acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_CONNECTING', $serverName), 'error'); + } + if (!empty($warnings)) { + acym_enqueueMessage($warnings, 'warning'); + } + } + + + return $this->mailbox ? true : false; + } + + public function getNBMessages() + { + if ($this->usepear) { + $this->nbMessages = $this->mailbox->numMsg(); + } else { + $this->nbMessages = imap_num_msg($this->mailbox); + } + + return $this->nbMessages; + } + + public function getMessage($msgNB) + { + if ($this->usepear) { + $message = new stdClass(); + $message->headerString = $this->mailbox->getRawHeaders($msgNB); + if (empty($message->headerString)) { + return false; + } + } else { + $message = imap_headerinfo($this->mailbox, $msgNB); + } + + return $message; + } + + public function deleteMessage($msgNB) + { + if ($this->usepear) { + $this->mailbox->deleteMsg($msgNB); + } else { + imap_delete($this->mailbox, $msgNB); + imap_expunge($this->mailbox); + } + } + + public function close() + { + if ($this->usepear) { + $this->mailbox->disconnect(); + } else { + imap_close($this->mailbox); + } + } + + private function decodeMessage() + { + if ($this->usepear) { + return $this->_decodeMessagepear(); + } else { + return $this->_decodeMessageimap(); + } + } + + private function _decodeMessagepear() + { + $this->_message->headerinfo = $this->mailbox->getParsedHeaders($this->_message->messageNB); + if (empty($this->_message->headerinfo['subject'])) { + return false; + } + $this->_message->text = ''; + $this->_message->html = $this->mailbox->getBody($this->_message->messageNB); + + if (!empty($this->_message->headerinfo['content-type']) && strpos($this->_message->headerinfo['content-type'], 'boundary') !== false) { + $matches = []; + preg_match('#boundary="([^"]+)"#i', $this->_message->headerinfo['content-type'], $matches); + + if (!empty($matches[1]) && strpos($this->_message->html, $matches[1]) !== false) { + $inlineImages = []; + + $segments = explode('--'.$matches[1], $this->_message->html); + foreach ($segments as $segment) { + if (strpos($segment, "Content-Type: text/plain") !== false) { + $matches = []; + preg_match('#boundary="([^"]+)"#i', $segment, $matches); + + if (!empty($matches[1])) { + $parts = explode('--'.$matches[1], $segment); + + foreach ($parts as $onePart) { + $content = trim(preg_replace('#(charset=".*?\r\n)|Content-(Type|ID|Disposition|Transfer-Encoding):.*?\r\n#is', "", $onePart)); + + if (strpos($onePart, 'Content-Transfer-Encoding') !== false) { + preg_match('#Content-Transfer-Encoding: (.+)#i', $onePart, $encoding); + $encoding = trim($encoding[1]); + $content = mb_convert_encoding($content, 'UTF-8', $encoding); + } + + if (strpos($onePart, "Content-Type: text/plain") !== false) { + $this->_message->text = $content; + } + if (strpos($onePart, "Content-Type: text/html") !== false) { + $this->_message->html = $content; + } + } + } else { + $this->_message->html = trim(preg_replace('#(charset=".*?\r\n)|Content-(Type|ID|Disposition|Transfer-Encoding):.*?\r\n#is', "", $segment)); + } + } elseif (preg_match("#Content-Type: .*?/(png|jpg|jpeg|gif)#i", $segment) !== false) { + preg_match('#name="([^"]+)"#i', $segment, $filename); + if (empty($filename) || empty($filename[1])) { + continue; + } + $name = trim($filename[1]); + $filename = $name; + $extensionPos = strrpos($filename, '.'); + + if ($extensionPos === false) { + continue; + } + + $extension = substr($filename, $extensionPos + 1); + + $filename = preg_replace('#[^a-zA-Z0-9]#Uis', '_', substr($filename, 0, $extensionPos)); + + $uploadFolder = str_replace(['/', '\\'], DS, acym_getFilesFolder()); + $pathToUpload = ACYM_ROOT.trim($uploadFolder, DS).DS; + + if (file_exists($pathToUpload.$filename.'.'.$extension)) { + $fileNumber = 1; + while (file_exists($pathToUpload.$filename.'_('.$fileNumber.').'.$extension)) { + $fileNumber++; + } + $filename = $filename.'_('.$fileNumber.')'; + } + + preg_match('#Content-ID: <([^>]+)>#i', $segment, $contentID); + if (empty($contentID) || empty($contentID[1])) { + continue; + } + $contentID = trim($contentID[1]); + + $data = trim(substr($segment, strpos($segment, "\r\n\r\n"))); + if (strpos($segment, 'Content-Transfer-Encoding: base64') !== false) { + $data = base64_decode($data); + } + + + try { + if (acym_writeFile($pathToUpload.$filename.'.'.$extension, $data)) { + $inlineImages['cid:'.$contentID] = acym_rootURI().$uploadFolder.'/'.$filename.'.'.$extension; + } + } catch (Exception $e) { + $this->_display(acym_translation_sprintf('ACYM_ERROR_UPLOAD_ATTACHMENT', $filename.'.'.$extension, $e->getMessage()), false); + } + } + } + + if (!empty($inlineImages)) { + $this->_message->html = str_replace(array_keys($inlineImages), $inlineImages, $this->_message->html); + } + } + } + + $this->_message->subject = $this->_decodeHeader($this->_message->headerinfo['subject']); + if (empty($this->_message->header)) { + $this->_message->header = new stdClass(); + } + $this->_message->header->sender_email = @$this->_message->headerinfo['return-path']; + if (is_array($this->_message->header->sender_email)) { + $this->_message->header->sender_email = reset($this->_message->header->sender_email); + } + if (preg_match($this->detectEmail, $this->_message->header->sender_email, $results)) { + $this->_message->header->sender_email = $results[0]; + } + $this->_message->header->sender_name = strip_tags(@$this->_message->headerinfo['from']); + $this->_message->header->reply_to_email = $this->_message->header->sender_email; + $this->_message->header->reply_to_name = $this->_message->header->sender_name; + $this->_message->header->from_email = $this->_message->header->sender_email; + $this->_message->header->from_name = $this->_message->header->sender_name; + + return true; + } + + private function _decodeMessageimap() + { + $this->_message->structure = imap_fetchstructure($this->mailbox, $this->_message->messageNB); + + if (empty($this->_message->structure)) { + return false; + } + $this->_message->headerinfo = imap_fetchheader($this->mailbox, $this->_message->messageNB); + + $this->_message->html = ''; + $this->_message->text = ''; + + if ($this->_message->structure->type == 1) { + $this->_message->contentType = 2; + if ($this->_message->structure->subtype == "MIXED") { + $allParts = $this->_explodeBodyMixed($this->_message->structure); + } else { + $allParts = $this->_explodeBody($this->_message->structure); + } + + $text = ''; + foreach ($allParts as $num => $onePart) { + $decodedContent = $this->_decodeContent(imap_fetchbody($this->mailbox, $this->_message->messageNB, $num), $onePart); + if ($onePart->subtype == 'HTML') { + $this->_message->html .= $decodedContent; + } else { + if ($onePart->subtype == 'PLAIN') { + $text .= $decodedContent."\n"; + } + $this->_message->text .= $decodedContent."\n\n- - -\n\n"; + } + } + + if (!empty($this->action) && empty($this->_message->html)) { + $this->_message->html = $text."\n"; + } + if (!empty($this->inlineImages)) { + $this->_message->html = str_replace(array_keys($this->inlineImages), $this->inlineImages, $this->_message->html); + } + } else { + if ($this->_message->structure->subtype == 'HTML') { + $this->_message->contentType = 1; + $this->_message->html = $this->_decodeContent(imap_body($this->mailbox, $this->_message->messageNB), $this->_message->structure); + } else { + $this->_message->contentType = 0; + $this->_message->text = $this->_decodeContent(imap_body($this->mailbox, $this->_message->messageNB), $this->_message->structure); + } + } + + $this->_message->subject = $this->_decodeHeader($this->_message->subject); + + $this->_decodeAddressimap('sender'); + $this->_decodeAddressimap('from'); + $this->_decodeAddressimap('reply_to'); + $this->_decodeAddressimap('to'); + + return true; + } + + public function handleMessages() + { + + $maxMessages = min($this->nbMessages, $this->config->get('bounce_max', 0)); + if (empty($maxMessages)) { + $maxMessages = min($this->nbMessages, 500); + } + + if ($this->report) { + if (function_exists('apache_get_modules')) { + $modules = apache_get_modules(); + $this->mod_security2 = in_array('mod_security2', $modules); + } + + @ini_set('output_buffering', 'off'); + @ini_set('zlib.output_compression', 0); + + + if (!headers_sent()) { + while (ob_get_level() > 0 && $this->obend++ < 3) { + @ob_end_flush(); + } + } + + $disp = "
                  "; + $disp .= acym_translation('ACYM_BOUNCE_HANDLING'); + $disp .= ': 0 / '.$maxMessages; + $disp .= '
                  '; + $disp .= ''; + echo $disp; + if (function_exists('ob_flush')) { + @ob_flush(); + } + if (!$this->mod_security2) { + @flush(); + } + } + + $rules = $this->ruleClass->getAll(true); + + $msgNB = $maxMessages; + $listClass = acym_get('class.list'); + $this->allLists = $listClass->getAll('id'); + + $replyemail = $this->config->get('reply_email'); + $fromemail = $this->config->get('from_email'); + $bouncemail = $this->config->get('bounce_email'); + $removeEmails = '#('.str_replace(['%'], ['@'], $this->config->get('bounce_username')); + if (!empty($bouncemail)) { + $removeEmails .= '|'.$bouncemail; + } + if (!empty($fromemail)) { + $removeEmails .= '|'.$fromemail; + } + if (!empty($replyemail)) { + $removeEmails .= '|'.$replyemail; + } + $removeEmails .= ')#i'; + + while (($msgNB > 0) && ($this->_message = $this->getMessage($msgNB))) { + if ($this->report) { + echo ''; + if (function_exists('ob_flush')) { + @ob_flush(); + } + if (!$this->mod_security2) { + @flush(); + } + } + $this->_message->messageNB = $msgNB; + $msgNB--; + + if (!$this->decodeMessage()) { + $this->_display('Error retrieving message', false, $maxMessages - $this->_message->messageNB + 1); + continue; + } + + if (empty($this->_message->subject)) { + $this->_message->subject = 'empty subject'; + } + + $this->_message->analyseText = $this->_message->html.' '.$this->_message->text; + if (!empty($this->_message->header->from_email)) { + $this->_message->analyseText .= ' '.$this->_message->header->from_email; + } + $this->_display(''.acym_translation('ACYM_EMAIL_SUBJECT').' : '.strip_tags($this->_message->subject).'', false, $maxMessages - $this->_message->messageNB + 1); + + preg_match('#AC([0-9]+)Y([0-9]+)BA#i', $this->_message->analyseText, $resultsVars); + if (!empty($resultsVars[1])) { + $this->_message->userid = $resultsVars[1]; + } + if (!empty($resultsVars[2])) { + $this->_message->mailid = $resultsVars[2]; + } + + if (empty($this->_message->userid)) { + preg_match_all($this->detectEmail, $this->_message->analyseText, $results); + + if (empty($results[0])) { + preg_match_all($this->detectEmail2, $this->_message->analyseText, $results2); + for ($i = 0 ; $i < count($results2[0]) ; $i++) { + $results[0][] = $results2[3][$i].'@'.$results2[1][$i]; + } + } + + if (!empty($results[0])) { + $alreadyChecked = []; + foreach ($results[0] as $oneEmail) { + if (!preg_match($removeEmails, $oneEmail)) { + $this->_message->subemail = strtolower($oneEmail); + if (!empty($alreadyChecked[$this->_message->subemail])) { + continue; + } + + $user = $this->userClass->getOneByEmail($this->_message->subemail); + if (!empty($user)) $this->_message->userid = $user->id; + + if (empty($this->_message->userid) && preg_match('#(&|\?)id=([0-9]+)&#ims', $this->_message->subemail, $subid)) { + $user = $this->userClass->getOneById($subid[2]); + $this->_message->userid = $user->id; + $this->_message->subemail = $user->email; + } + + $alreadyChecked[$this->_message->subemail] = true; + if (!empty($this->_message->userid)) { + break; + } + } + } + } + } + + if (empty($this->_message->mailid) && !empty($this->_message->userid)) { + $this->_message->mailid = acym_loadResult('SELECT `mail_id` FROM #__acym_user_stat WHERE `user_id` = '.intval($this->_message->userid).' ORDER BY `send_date` DESC'); + } + + + foreach ($rules as $oneRule) { + if ($this->_handleRule($oneRule)) { + break; + } + } + + if ($msgNB % 50 == 0) { + $this->_subActions(); + } + + if (!empty($this->stoptime) && time() > $this->stoptime) { + break; + } + } + + + $this->_subActions(); + } + + + private function _subActions() + { + + if (!empty($this->deletedUsers)) { + acym_arrayToInteger($this->deletedUsers); + $this->userClass->delete($this->deletedUsers); + $this->deletedUsers = []; + } + if (!empty($this->blockedUsers)) { + acym_arrayToInteger($this->blockedUsers); + $allUsersId = implode(',', $this->blockedUsers); + acym_query('UPDATE `#__acym_user` SET `active` = 0 WHERE `id` IN ('.$allUsersId.')'); + acym_query('DELETE FROM `#__acym_queue` WHERE `user_id` IN ('.$allUsersId.')'); + $this->blockedUsers = []; + } + + if (!empty($this->bounceMessages)) { + foreach ($this->bounceMessages as $mailid => $bouncedata) { + + $updateBounceDetails = ''; + if (!empty($bouncedata['bouncedetails'])) { + $bouncedetails = acym_loadResult('SELECT `bounce_details` FROM #__acym_mail_stat WHERE mail_id = '.intval($mailid)); + if (!empty($bouncedetails)) { + $bouncedetails = unserialize($bouncedetails); + } else { + $bouncedetails = []; + } + + foreach ($bouncedata['bouncedetails'] as $ruleName => $nbTimes) { + if (empty($bouncedetails[$ruleName])) { + $bouncedetails[$ruleName] = 0; + } + $bouncedetails[$ruleName] += $nbTimes; + } + + $updateBounceDetails = ' , `bounce_details` = '.acym_escapeDB(serialize($bouncedetails)); + } + + if (!empty($bouncedata['userids'])) { + $valueInsert = []; + foreach ($bouncedata['ruletriggered'] as $userid => $rulename) { + $valueInsert[] = '('.intval($mailid).','.intval($userid).',1,'.acym_escapeDB($rulename).')'; + } + acym_query('INSERT INTO #__acym_user_stat (mail_id,user_id,bounce,bounce_rule) VALUES '.implode(',', $valueInsert).' ON DUPLICATE KEY UPDATE `bounce` = `bounce` + 1, bounce_rule=VALUES(bounce_rule)'); + acym_arrayToInteger($bouncedata['userids']); + $realUniqueBounces = acym_loadResult('SELECT COUNT(*) FROM #__acym_user_stat WHERE `bounce` = 1 AND `user_id` IN ('.implode(',', $bouncedata['userids']).') AND `mail_id` = '.intval($mailid)); + $bouncedata['nbbounces'] = $bouncedata['nbbounces'] - count($bouncedata['userids']) + $realUniqueBounces; + } + + acym_query('UPDATE #__acym_mail_stat SET `bounce_unique` = `bounce_unique` + '.intval($bouncedata['nbbounces']).$updateBounceDetails.' WHERE `mail_id` = '.intval($mailid).' LIMIT 1'); + } + $this->bounceMessages = []; + } + } + + private function _handleRule(&$oneRule) + { + $regex = $oneRule->regex; + if (empty($regex)) { + return false; + } + + + $analyseText = ''; + if (in_array('senderInfo', $oneRule->executed_on)) { + $analyseText .= ' '; + if (isset($this->_message->header->sender_name)) { + $analyseText .= $this->_message->header->sender_name; + } + if (isset($this->_message->header->sender_email)) { + $analyseText .= $this->_message->header->sender_email; + } + } + if (in_array('subject', $oneRule->executed_on)) { + $analyseText .= ' '.$this->_message->subject; + } + if (in_array('body', $oneRule->executed_on)) { + if (!empty($this->_message->html)) { + $analyseText .= ' '.$this->_message->html; + } + if (!empty($this->_message->text)) { + $analyseText .= ' '.$this->_message->text; + } + } + + $analyseText = str_replace(["\n", "\r", "\t"], ' ', $analyseText); + + if (!preg_match('#'.$regex.'#ims', $analyseText)) { + return false; + } + + $message = acym_translation('ACYM_BOUNCE_RULE').' ['.acym_translation('ACYM_ID').' '.$oneRule->id.'] '.acym_translation($oneRule->name).' : '; + $message .= $this->_actionuser($oneRule); + $message .= $this->_actionmessage($oneRule); + + $this->_display($message, true); + + return true; + } + + private function _actionuser(&$oneRule) + { + $message = ''; + + if (empty($this->_message->userid)) { + $message .= 'user not identified'; + if (!empty($this->_message->subemail)) { + $message .= ' ( '.$this->_message->subemail.' ) '; + } + + return $message; + } + + if (in_array('delete_user_subscription', $oneRule->action_user) || in_array('unsubscribe_user', $oneRule->action_user) || in_array('subscribe_user', $oneRule->action_user)) { + $status = $this->userClass->getSubscriptionStatus($this->_message->userid); + if (empty($this->_message->subemail)) { + $currentUser = $this->userClass->getOneById($this->_message->userid); + if (!empty($currentUser->email)) { + $this->_message->subemail = $currentUser->email; + } + } + } + + if (empty($this->_message->subemail)) { + $this->_message->subemail = $this->_message->userid; + } + + + $mail = $this->mailClass->getOneById($this->_message->mailid); + if ($oneRule->increment_stats && !empty($this->_message->mailid) && !empty($mail)) { + + if (empty($this->bounceMessages[$this->_message->mailid])) { + $this->bounceMessages[$this->_message->mailid] = []; + $this->bounceMessages[$this->_message->mailid]['nbbounces'] = 0; + $this->bounceMessages[$this->_message->mailid]['userids'] = []; + $this->bounceMessages[$this->_message->mailid]['bouncedetails'] = []; + $this->bounceMessages[$this->_message->mailid]['ruletriggered'] = []; + } + + $this->bounceMessages[$this->_message->mailid]['nbbounces']++; + + $ruleName = $oneRule->name.' [ID '.$oneRule->id.'] '; + if (empty($this->bounceMessages[$this->_message->mailid]['bouncedetails'][$ruleName])) { + $this->bounceMessages[$this->_message->mailid]['bouncedetails'][$ruleName] = 1; + } else { + $this->bounceMessages[$this->_message->mailid]['bouncedetails'][$ruleName]++; + } + + $user = $this->userClass->getOneById($this->_message->userid); + if (!empty($this->_message->userid) && !in_array('delete_user', $oneRule->action_user) && !empty($user)) { + $this->bounceMessages[$this->_message->mailid]['userids'][] = intval($this->_message->userid); + $this->bounceMessages[$this->_message->mailid]['ruletriggered'][intval($this->_message->userid)] = $oneRule->name.' ['.acym_translation('ACYM_ID').' '.$oneRule->id.']'; + } + } + + if (!empty($oneRule->execute_action_after) && $oneRule->execute_action_after > 1) { + if (empty($this->_message->mailid)) { + $this->_message->mailid = 0; + } + $nb = intval(acym_loadResult('SELECT COUNT(mail_id) FROM #__acym_user_stat WHERE bounce > 0 AND user_id = '.intval($this->_message->userid).' AND mail_id != '.intval($this->_message->mailid))) + 1; + + if ($nb < $oneRule->execute_action_after) { + $message .= ' | '.acym_translation_sprintf('ACYM_BOUNCE_RECEIVED', $nb, $this->_message->subemail).' | '.acym_translation_sprintf('ACYM_BOUNCE_MIN_EXEC', $oneRule->execute_action_after); + + return $message; + } + } + + if (in_array('delete_user', $oneRule->action_user)) { + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_DELETED', $this->_message->subemail); + $this->deletedUsers[] = intval($this->_message->userid); + + return $message; + } + + $listId = 0; + if (in_array('subscribe_user', $oneRule->action_user) && !empty($oneRule->action_user['subscribe_user_list'])) { + $listId = $oneRule->action_user['subscribe_user_list']; + + $listName = empty($this->allLists[$listId]->name) ? $listId : $this->allLists[$listId]->name; + $message .= ' | '; + if (isset($status[$listId])) { + $message .= acym_translation_sprintf('ACYM_USER_X_NOT_SUBSCRIBED_TO', $this->_message->subemail, $listName); + if ($status[$listId]->status == 1) { + $message .= acym_translation('ACYM_USER_ALREADY_SUBSCRIBED'); + } elseif ($status[$listId]->status == 0) { + $message .= acym_translation('ACYM_USER_ALREADY_UNSUBSCRIBED'); + } + } else { + $this->userClass->subscribe($this->_message->userid, $listId); + $message .= acym_translation_sprintf('ACYM_USER_X_SUBSCRIBED_TO', $this->_message->subemail, $listName); + } + } + + if (in_array('delete_user_subscription', $oneRule->action_user)) { + $unsubLists = array_diff(array_keys($status), [$listId]); + if (!empty($unsubLists)) { + $listnames = []; + foreach ($unsubLists as $oneListId) { + if (!empty($this->allLists[$oneListId]->name)) { + $listnames[] = $this->allLists[$oneListId]->name; + } else { + $listnames[] = $oneListId; + } + } + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_REMOVED_FROM', $this->_message->subemail, implode(', ', $listnames)); + $this->userClass->removeSubscription($this->_message->userid, $unsubLists); + } else { + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_NOT_SUBSCRIBED', $this->_message->subemail); + } + } + + if (in_array('unsubscribe_user', $oneRule->action_user)) { + $unsubLists = array_diff(array_keys($status), [$listId]); + if (!empty($unsubLists)) { + $listnames = []; + foreach ($unsubLists as $oneListId) { + if (!empty($this->allLists[$oneListId]->name)) { + $listnames[] = $this->allLists[$oneListId]->name; + } else { + $listnames[] = $oneListId; + } + } + $this->userClass->unsubscribe($this->_message->userid, $unsubLists); + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_UNSUBSCRIBED_FROM', $this->_message->subemail, implode(', ', $listnames)); + } else { + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_NOT_SUBSCRIBED', $this->_message->subemail); + } + } + + if (in_array('block_user', $oneRule->action_user)) { + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_BLOCKED', $this->_message->subemail.' ( '.acym_translation('ACYM_ID').' '.intval($this->_message->userid).' )'); + $this->blockedUsers[] = intval($this->_message->userid); + } + + if (in_array('empty_queue_user', $oneRule->action_user)) { + $affected = acym_query('DELETE FROM #__acym_queue WHERE user_id = '.intval($this->_message->userid)); + $message .= ' | '.acym_translation_sprintf('ACYM_USER_X_QUEUE', $this->_message->subemail.' ( '.acym_translation('ACYM_ID').' '.intval($this->_message->userid).' )', acym_translation_sprintf('ACYM_SUCC_DELETE_ELEMENTS', $affected)); + } + + return $message; + } + + private function _actionmessage(&$oneRule) + { + $message = ''; + + if (!empty($oneRule->action_message['forward_to'])) { + if (strtolower($oneRule->action_message['forward_to']) == strtolower($this->config->get('bounce_username')) || strtolower($oneRule->action_message['forward_to']) == strtolower($this->config->get('bounce_email'))) { + $oneRule->action_message['forward_to'] = ''; + unset($oneRule->action_message['delete_message']); + $message .= ' | '.acym_translation('ACYM_BOUNCE_NOT_FORWARD'); + } + } + + + if (in_array('save_message', $oneRule->action_message) && !empty($this->_message->userid) && !in_array('delete_user', $oneRule->action_user)) { + $data = []; + $data[] = 'SUBJECT::'.@htmlentities($this->_message->subject, ENT_COMPAT, 'UTF-8'); + $data[] = 'ACY_RULE::'.$oneRule->id.' '.$oneRule->name; + $data[] = 'REPLYTO_ADDRESS::'.$this->_message->header->reply_to_name.' ( '.$this->_message->header->reply_to_email.' )'; + $data[] = 'FROM_ADDRESS::'.$this->_message->header->from_name.' ( '.$this->_message->header->from_email.' )'; + if (!empty($this->_message->html)) { + $data[] = 'HTML_VERSION::'.@htmlentities($this->_message->html, ENT_COMPAT, 'UTF-8'); + } + if (!empty($this->_message->text)) { + $data[] = 'TEXT_VERSION::'.nl2br(@htmlentities($this->_message->text, ENT_COMPAT, 'UTF-8')); + } + $data[] = print_r($this->_message->headerinfo, true); + if (empty($this->_message->mailid)) { + $this->_message->mailid = 0; + } + $this->historyClass->insert($this->_message->userid, 'bounce', $data, $this->_message->mailid); + $message .= ' | '.acym_translation_sprintf('ACYM_BOUNCE_MESSAGE_SAVED', $this->_message->userid); + } + + $donotdelete = false; + + if (!empty($oneRule->action_message['forward_to'])) { + $this->mailer->clearAll(); + $this->mailer->Subject = 'BOUNCE FORWARD : '.$this->_message->subject; + + if (substr_count($oneRule->action_message['forward_to'], '@') > 1) { + $forwardAddresses = explode(';', str_replace([';', ','], ';', $oneRule->action_message['forward_to'])); + } else { + $forwardAddresses = [$oneRule->action_message['forward_to']]; + } + + foreach ($forwardAddresses as $oneForwardAddress) { + $this->mailer->AddAddress($this->mailer->cleanText($oneForwardAddress)); + } + + $info = acym_translation('ACYM_BOUNCE_RULE').' ['.acym_translation('ACYM_ID').' '.$oneRule->id.'] '.acym_translation($oneRule->name); + if (!empty($this->_message->html)) { + $this->mailer->isHTML(true); + $this->mailer->Body = $info.'
                  '.$this->_message->html; + if (!empty($this->_message->text)) { + $this->mailer->Body .= '

                  -------
                  '.nl2br($this->_message->text); + } + } else { + $this->mailer->isHTML(false); + $this->mailer->Body = $info."\n".$this->_message->text; + } + + $this->mailer->Body .= print_r($this->_message->headerinfo, true); + $replyAddress = trim(@$this->_message->header->reply_to_email, '<> '); + if (!empty($replyAddress)) { + $this->mailer->AddReplyTo(trim($this->_message->header->reply_to_email, '<> '), $this->_message->header->reply_to_name); + } + + if ($this->mailer->send()) { + $message .= ' | '.acym_translation_sprintf('ACYM_FORWARDED_TO_X', $oneRule->action_message['forward_to']); + } else { + $message .= ' | '.acym_translation_sprintf('ACYM_NOT_FORWARDED_TO_X', $oneRule->action_message['forward_to'], $this->mailer->reportMessage); + $donotdelete = true; + } + } + + if (in_array('delete_message', $oneRule->action_message) && !$donotdelete) { + $message .= ' | '.acym_translation('ACYM_MESSAGE_DELETED'); + $this->deleteMessage($this->_message->messageNB); + } + + return $message; + } + + private function _decodeAddressimap($type) + { + $address = $type.'address'; + $name = $type.'_name'; + $email = $type.'_email'; + if (empty($this->_message->$type)) { + return false; + } + + $var = $this->_message->$type; + + if (empty($this->_message->header)) { + $this->_message->header = new stdClass(); + } + + if (!empty($this->_message->$address)) { + $this->_message->header->$name = $this->_message->$address; + } else { + $this->_message->header->$name = $var[0]->personal; + } + + $this->_message->header->$email = $var[0]->mailbox.'@'.@$var[0]->host; + + return true; + } + + + private function _display($message, $status = '', $num = '') + { + $this->messages[] = $message; + + if (!$this->report) { + return; + } + + $color = $status ? 'green' : 'blue'; + if (!empty($num)) { + echo '
                  '.$num.' : '; + } else { + echo '
                       '; + } + + echo ''.$message.''; + if (function_exists('ob_flush')) { + @ob_flush(); + } + if (!$this->mod_security2) { + @flush(); + } + } + + private function _decodeHeader($input) + { + $input = preg_replace('/(=\?[^?]+\?(q|b)\?[^?]*\?=)(\s)+=\?/i', '\1=?', $input); + $this->charset = false; + + while (preg_match('/(=\?([^?]+)\?(q|b)\?([^?]*)\?=)/i', $input, $matches)) { + + $encoded = $matches[1]; + $charset = $matches[2]; + $encoding = $matches[3]; + $text = $matches[4]; + + switch (strtolower($encoding)) { + case 'b': + $text = base64_decode($text); + break; + + case 'q': + $text = str_replace('_', ' ', $text); + preg_match_all('/=([a-f0-9]{2})/i', $text, $matches); + foreach ($matches[1] as $value) { + $text = str_replace('='.$value, chr(hexdec($value)), $text); + } + break; + } + $this->charset = $charset; + $input = str_replace($encoded, $text, $input); + } + + if ($this->charset && in_array($this->charset, $this->allCharsets)) { + $input = $this->encodingHelper->change($input, $this->charset, 'UTF-8'); + } + + return $input; + } + + private function _explodeBodyMixed($struct, $path = "1") + { + $allParts = []; + + if (empty($struct->parts)) { + return $allParts; + } + + $pathPrefix = ($struct->subtype == "MIXED" && $path == '1') ? '' : $path.'.'; + foreach ($struct->parts as $i => $part) { + $partPath = $pathPrefix.($i + 1); + if ($part->type == 1) { + $allParts = array_merge($this->_explodeBodyMixed($part, $partPath), $allParts); + } else { + $allParts[$partPath] = $part; + } + } + + return $allParts; + } + + private function _explodeBody($struct, $path = "0", $inline = 0) + { + $allParts = []; + + if (empty($struct->parts)) { + return $allParts; + } + + $c = 0; //counts real content + foreach ($struct->parts as $part) { + if ($part->type == 1) { + if ($part->subtype == "MIXED") { //Mixed: + $path = $this->_incPath($path, 1); //refreshing current path + $newpath = $path.".0"; //create a new path-id (ex.:2.0) + $allParts = array_merge($this->_explodeBody($part, $newpath), $allParts); //fetch new parts + } else { //Alternativ / rfc / signed + $newpath = $this->_incPath($path, 1); + $path = $this->_incPath($path, 1); + $allParts = array_merge($this->_explodeBody($part, $newpath, 1), $allParts); + } + } else { + $c++; + if ($c == 1 && $inline) { + $path = $path.".0"; + } + $path = $this->_incPath($path, 1); + $allParts[$path] = $part; + } + } + + return $allParts; + } + + private function _incPath($path, $inc) + { + $newpath = ""; + $path_elements = explode(".", $path); + $limit = count($path_elements); + for ($i = 0 ; $i < $limit ; $i++) { + if ($i == $limit - 1) { //last element + $newpath .= $path_elements[$i] + $inc; // new Part-Number + } else { + $newpath .= $path_elements[$i]."."; //rebuild "1.2.2"-Chronology + } + } + + return $newpath; + } + + private function _decodeContent($content, $structure) + { + $encoding = $structure->encoding; + + if ($encoding == 2) { + $content = imap_binary($content); + } elseif ($encoding == 3) { + $content = imap_base64($content); + } elseif ($encoding == 4) { + $content = imap_qprint($content); + } + + if (!empty($this->action)) { + $charset = $this->_getMailParam($structure, 'charset'); + if (!empty($charset) && strtoupper($charset) != 'UTF-8') { + $content = $this->encodingHelper->change($content, $charset, 'UTF-8'); + } + + return $content; + } + + return substr($content, 0, 100000); + } + + private function _getMailParam($params, $name) + { + $searchIn = []; + + if ($params->ifparameters) { + $searchIn = array_merge($searchIn, $params->parameters); + } + if ($params->ifdparameters) { + $searchIn = array_merge($searchIn, $params->dparameters); + } + + if (empty($searchIn)) { + return false; + } + + foreach ($searchIn as $num => $values) { + if (strtolower($values->attribute) == $name) { + return $values->value; + } + } + } + + public function getErrors() + { + $return = []; + if ($this->usepear) { + } else { + if (!function_exists('imap_alerts')) { + $return[] = 'The IMAP extension could not be loaded, please change your PHP configuration to enable it or use the pop3 method without imap extension'; + + return $return; + } + $alerts = imap_alerts(); + $errors = imap_errors(); + if (!empty($alerts)) { + $return = array_merge($return, $alerts); + } + if (!empty($errors)) { + $return = array_merge($return, $errors); + } + } + + return $return; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/helpers/captcha.php b/deployed/acym/administrator/components/com_acym/helpers/captcha.php index 926e698a..b4ce3a50 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/captcha.php +++ b/deployed/acym/administrator/components/com_acym/helpers/captcha.php @@ -1,13 +1,13 @@ -messages[] = $firstMessage; - if ($this->report) { - acym_display($firstMessage, 'info'); - } - - if ($config->get('cron_next') > $time) { - if ($config->get('cron_next') > ($time + $config->get('cron_frequency'))) { - $newConfig = new stdClass(); - $newConfig->cron_next = $time + $config->get('cron_frequency'); - $config->save($newConfig); - } - - $nottime = acym_translation_sprintf('ACYM_CRON_NEXT', acym_getDate($config->get('cron_next'))); - $this->messages[] = $nottime; - if ($this->report) { - acym_display($nottime, 'info'); - } - - return false; - } - - $this->executed = true; - - - $newConfig = new stdClass(); - $newConfig->cron_last = $time; - $newConfig->cron_fromip = acym_getIP(); - $newConfig->cron_next = $config->get('cron_next') + $config->get('cron_frequency'); - - if ($newConfig->cron_next <= $time || $newConfig->cron_next > $time + $config->get('cron_frequency')) { - $newConfig->cron_next = $time + $config->get('cron_frequency'); - } - - $config->save($newConfig); - - - if (!in_array('schedule', $this->skip)) { - $queueClass = acym_get('class.queue'); - $nbScheduled = $queueClass->scheduleReady(); - if ($nbScheduled) { - $this->messages[] = acym_translation_sprintf('ACYM_NB_SCHEDULED', $nbScheduled); - $this->detailMessages = array_merge($this->detailMessages, $queueClass->messages); - $this->processed = true; - } - } - - if ($config->get('require_confirmation', 1) == 1) { - $deletedNb = $queueClass->removeUnconfirmedUsersEmails(); - - if (!empty($deletedNb)) { - $this->messages[] = acym_translation_sprintf('ACYM_EMAILS_REMOVED_QUEUE_UNCONFIRMED', $deletedNb); - $this->processed = true; - } - } - - if ($config->get('queue_type') != 'manual' && !in_array('send', $this->skip)) { - $queueHelper = acym_get('helper.queue'); - $queueHelper->send_limit = (int)$config->get('queue_nbmail_auto'); - $queueHelper->report = false; - $queueHelper->emailtypes = $this->emailtypes; - $queueHelper->process(); - if (!empty($queueHelper->messages)) { - $this->detailMessages = array_merge($this->detailMessages, $queueHelper->messages); - } - if (!empty($queueHelper->nbprocess)) { - $this->processed = true; - } - $this->mainmessage = acym_translation_sprintf('ACYM_CRON_PROCESS', $queueHelper->nbprocess, $queueHelper->successSend, $queueHelper->errorSend); - $this->messages[] = $this->mainmessage; - - if (!empty($queueHelper->errorSend)) { - $this->errorDetected = true; - } - if (!empty($queueHelper->stoptime) && time() > $queueHelper->stoptime) { - return true; - } - } - - if (!in_array('bounce', $this->skip) && acym_level(2) && $config->get('auto_bounce', 0) && $time > (int)$config->get('auto_bounce_next', 0) && (empty($queueHelper->stoptime) || time() < $queueHelper->stoptime - 5)) { - - $newConfig = new stdClass(); - $newConfig->auto_bounce_next = $time + (int)$config->get('auto_bounce_frequency', 0); - $newConfig->auto_bounce_last = $time; - $config->save($newConfig); - $bounceClass = acym_get('helper.bounce'); - $bounceClass->report = false; - $bounceClass->stoptime = $queueHelper->stoptime; - $newConfig = new stdClass(); - if ($bounceClass->init() && $bounceClass->connect()) { - $nbMessages = $bounceClass->getNBMessages(); - $this->messages[] = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); - $newConfig->auto_bounce_report = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); - $this->detailMessages[] = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); - if (!empty($nbMessages)) { - $bounceClass->handleMessages(); - $bounceClass->close(); - $this->processed = true; - } - $this->detailMessages = array_merge($this->detailMessages, $bounceClass->messages); - } else { - $bounceErrors = $bounceClass->getErrors(); - $newConfig->auto_bounce_report = implode('
                  ', $bounceErrors); - if (!empty($bounceErrors[0])) { - $bounceErrors[0] = acym_translation('ACYM_BOUNCE_HANDLING').' : '.$bounceErrors[0]; - } - $this->messages = array_merge($this->messages, $bounceErrors); - $this->processed = true; - $this->errorDetected = true; - } - $config->save($newConfig); - - if (!empty($queueHelper->stoptime) && time() > $queueHelper->stoptime) { - return true; - } - } - - if (!in_array('automation', $this->skip) && acym_level(2)) { - $automationClass = acym_get('class.automation'); - $automationClass->trigger('classic'); - if (!empty($automationClass->report)) { - if ($automationClass->didAnAction) $this->processed = true; - $this->messages = array_merge($this->messages, $automationClass->report); - } - - if (!empty($queueHelper->stoptime) && time() > $queueHelper->stoptime) { - return true; - } - } - - return true; - } - - function report() - { - $config = acym_config(); - - $sendreport = $config->get('cron_sendreport'); - $mailer = acym_get('helper.mailer'); - - if (($sendreport == 2 && $this->processed) || $sendreport == 1 || ($sendreport == 3 && $this->errorDetected)) { - $mailer->report = false; - $mailer->autoAddUser = true; - $mailer->checkConfirmField = false; - $mailer->addParam('report', implode('
                  ', $this->messages)); - $mailer->addParam('mainreport', $this->mainmessage); - $mailer->addParam('detailreport', implode('
                  ', $this->detailMessages)); - - $receiverString = $config->get('cron_sendto'); - $receivers = []; - if (substr_count($receiverString, '@') > 1) { - $receivers = explode(' ', trim(preg_replace('# +#', ' ', str_replace([';', ','], ' ', $receiverString)))); - } else { - $receivers[] = trim($receiverString); - } - - if (!empty($receivers)) { - foreach ($receivers as $oneReceiver) { - $mailer->sendOne('acy_report', $oneReceiver); - } - } - } - - if (!$this->executed) { - return; - } - - if ($this->processed) { - $this->saveReport(); - } - - $newConfig = new stdClass(); - $newConfig->cron_report = implode("\n", $this->messages); - if (strlen($newConfig->cron_report) > 800) { - $newConfig->cron_report = substr($newConfig->cron_report, 0, 795).'...'; - } - $config->save($newConfig); - } - - function saveReport() - { - $config = acym_config(); - $saveReport = $config->get('cron_savereport'); - if (empty($saveReport)) { - return; - } - - $reportPath = $config->get('cron_savepath'); - if (empty($reportPath)) { - return; - } - - $reportPath = str_replace(['{year}', '{month}'], [date('Y'), date('m')], $reportPath); - - $reportPath = acym_cleanPath(ACYM_ROOT.trim(html_entity_decode($reportPath))); - - acym_createDir(dirname($reportPath), true, true); - - ob_start(); - file_put_contents($reportPath, "\r\n"."\r\n".str_repeat('*', 20).str_repeat(' ', 5).acym_getDate(time()).str_repeat(' ', 5).str_repeat('*', 20)."\r\n".implode("\r\n", $this->messages), FILE_APPEND); - if ($saveReport == 2 && !empty($this->detailMessages)) { - @file_put_contents($reportPath, "\r\n"."---- Details ----"."\r\n".implode("\r\n", $this->detailMessages), FILE_APPEND); - } - $potentialWarnings = ob_get_clean(); - - if (!empty($potentialWarnings)) { - $this->messages[] = $potentialWarnings; - } - } -} - +messages[] = $firstMessage; + if ($this->report) { + acym_display($firstMessage, 'info'); + } + + if ($config->get('cron_next') > $time) { + if ($config->get('cron_next') > ($time + $config->get('cron_frequency'))) { + $newConfig = new stdClass(); + $newConfig->cron_next = $time + $config->get('cron_frequency'); + $config->save($newConfig); + } + + $nottime = acym_translation_sprintf('ACYM_CRON_NEXT', acym_getDate($config->get('cron_next'))); + $this->messages[] = $nottime; + if ($this->report) { + acym_display($nottime, 'info'); + } + + return false; + } + + $this->executed = true; + + + $newConfig = new stdClass(); + $newConfig->cron_last = $time; + $newConfig->cron_fromip = acym_getIP(); + $newConfig->cron_next = $config->get('cron_next') + $config->get('cron_frequency'); + + if ($newConfig->cron_next <= $time || $newConfig->cron_next > $time + $config->get('cron_frequency')) { + $newConfig->cron_next = $time + $config->get('cron_frequency'); + } + + $config->save($newConfig); + + + if (!in_array('schedule', $this->skip)) { + $queueClass = acym_get('class.queue'); + $nbScheduled = $queueClass->scheduleReady(); + if ($nbScheduled) { + $this->messages[] = acym_translation_sprintf('ACYM_NB_SCHEDULED', $nbScheduled); + $this->detailMessages = array_merge($this->detailMessages, $queueClass->messages); + $this->processed = true; + } + } + + if ($config->get('require_confirmation', 1) == 1) { + $deletedNb = $queueClass->removeUnconfirmedUsersEmails(); + + if (!empty($deletedNb)) { + $this->messages[] = acym_translation_sprintf('ACYM_EMAILS_REMOVED_QUEUE_UNCONFIRMED', $deletedNb); + $this->processed = true; + } + } + + if ($config->get('queue_type') != 'manual' && !in_array('send', $this->skip)) { + $queueHelper = acym_get('helper.queue'); + $queueHelper->send_limit = (int)$config->get('queue_nbmail_auto'); + $queueHelper->report = false; + $queueHelper->emailtypes = $this->emailtypes; + $queueHelper->process(); + if (!empty($queueHelper->messages)) { + $this->detailMessages = array_merge($this->detailMessages, $queueHelper->messages); + } + if (!empty($queueHelper->nbprocess)) { + $this->processed = true; + } + $this->mainmessage = acym_translation_sprintf('ACYM_CRON_PROCESS', $queueHelper->nbprocess, $queueHelper->successSend, $queueHelper->errorSend); + $this->messages[] = $this->mainmessage; + + if (!empty($queueHelper->errorSend)) { + $this->errorDetected = true; + } + if (!empty($queueHelper->stoptime) && time() > $queueHelper->stoptime) { + return true; + } + } + + if (!in_array('bounce', $this->skip) && acym_level(2) && $config->get('auto_bounce', 0) && $time > (int)$config->get('auto_bounce_next', 0) && (empty($queueHelper->stoptime) || time() < $queueHelper->stoptime - 5)) { + + $newConfig = new stdClass(); + $newConfig->auto_bounce_next = $time + (int)$config->get('auto_bounce_frequency', 0); + $newConfig->auto_bounce_last = $time; + $config->save($newConfig); + $bounceClass = acym_get('helper.bounce'); + $bounceClass->report = false; + $bounceClass->stoptime = $queueHelper->stoptime; + $newConfig = new stdClass(); + if ($bounceClass->init() && $bounceClass->connect()) { + $nbMessages = $bounceClass->getNBMessages(); + $this->messages[] = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); + $newConfig->auto_bounce_report = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); + $this->detailMessages[] = acym_translation_sprintf('ACYM_NB_MAIL_MAILBOX', $nbMessages); + if (!empty($nbMessages)) { + $bounceClass->handleMessages(); + $bounceClass->close(); + $this->processed = true; + } + $this->detailMessages = array_merge($this->detailMessages, $bounceClass->messages); + } else { + $bounceErrors = $bounceClass->getErrors(); + $newConfig->auto_bounce_report = implode('
                  ', $bounceErrors); + if (!empty($bounceErrors[0])) { + $bounceErrors[0] = acym_translation('ACYM_BOUNCE_HANDLING').' : '.$bounceErrors[0]; + } + $this->messages = array_merge($this->messages, $bounceErrors); + $this->processed = true; + $this->errorDetected = true; + } + $config->save($newConfig); + + if (!empty($queueHelper->stoptime) && time() > $queueHelper->stoptime) { + return true; + } + } + + if (!in_array('automation', $this->skip) && acym_level(2)) { + $automationClass = acym_get('class.automation'); + $automationClass->trigger('classic'); + if (!empty($automationClass->report)) { + if ($automationClass->didAnAction) $this->processed = true; + $this->messages = array_merge($this->messages, $automationClass->report); + } + + if (!empty($queueHelper->stoptime) && time() > $queueHelper->stoptime) { + return true; + } + } + + return true; + } + + function report() + { + $config = acym_config(); + + $sendreport = $config->get('cron_sendreport'); + $mailer = acym_get('helper.mailer'); + + if (($sendreport == 2 && $this->processed) || $sendreport == 1 || ($sendreport == 3 && $this->errorDetected)) { + $mailer->report = false; + $mailer->autoAddUser = true; + $mailer->checkConfirmField = false; + $mailer->addParam('report', implode('
                  ', $this->messages)); + $mailer->addParam('mainreport', $this->mainmessage); + $mailer->addParam('detailreport', implode('
                  ', $this->detailMessages)); + + $receiverString = $config->get('cron_sendto'); + $receivers = []; + if (substr_count($receiverString, '@') > 1) { + $receivers = explode(' ', trim(preg_replace('# +#', ' ', str_replace([';', ','], ' ', $receiverString)))); + } else { + $receivers[] = trim($receiverString); + } + + if (!empty($receivers)) { + foreach ($receivers as $oneReceiver) { + $mailer->sendOne('acy_report', $oneReceiver); + } + } + } + + if (!$this->executed) { + return; + } + + if ($this->processed) { + $this->saveReport(); + } + + $newConfig = new stdClass(); + $newConfig->cron_report = implode("\n", $this->messages); + if (strlen($newConfig->cron_report) > 800) { + $newConfig->cron_report = substr($newConfig->cron_report, 0, 795).'...'; + } + $config->save($newConfig); + } + + function saveReport() + { + $config = acym_config(); + $saveReport = $config->get('cron_savereport'); + if (empty($saveReport)) { + return; + } + + $reportPath = $config->get('cron_savepath'); + if (empty($reportPath)) { + return; + } + + $reportPath = str_replace(['{year}', '{month}'], [date('Y'), date('m')], $reportPath); + + $reportPath = acym_cleanPath(ACYM_ROOT.trim(html_entity_decode($reportPath))); + + acym_createDir(dirname($reportPath), true, true); + + ob_start(); + file_put_contents($reportPath, "\r\n"."\r\n".str_repeat('*', 20).str_repeat(' ', 5).acym_getDate(time()).str_repeat(' ', 5).str_repeat('*', 20)."\r\n".implode("\r\n", $this->messages), FILE_APPEND); + if ($saveReport == 2 && !empty($this->detailMessages)) { + @file_put_contents($reportPath, "\r\n"."---- Details ----"."\r\n".implode("\r\n", $this->detailMessages), FILE_APPEND); + } + $potentialWarnings = ob_get_clean(); + + if (!empty($potentialWarnings)) { + $this->messages[] = $potentialWarnings; + } + } +} + diff --git a/deployed/acym/administrator/components/com_acym/helpers/editor.php b/deployed/acym/administrator/components/com_acym/helpers/editor.php index 90bd2509..b622a27e 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/editor.php +++ b/deployed/acym/administrator/components/com_acym/helpers/editor.php @@ -1,238 +1,238 @@ -isDragAndDrop()) { - acym_addScript(false, ACYM_JS.'tinymce/tinymce.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'tinymce/tinymce.min.js')); - include(ACYM_VIEW.'mails'.DS.'tmpl'.DS.'editor_wysid.php'); - } else { - echo 'joomla' === ACYM_CMS ? '
                ' : '
                '; - $method = 'displayJoomla'; - $this->$method(); - } - } - - public function isDragAndDrop() - { - return strpos($this->content, 'acym__wysid__template') !== false || $this->editor == 'acyEditor'; - } - - private function displayJoomla() - { - $this->editor = acym_getCMSConfig('editor', 'tinymce'); - - $this->myEditor = Editor::getInstance($this->editor); - $this->myEditor->initialise(); - - $this->editorConfig['extended_elements'] = 'table[background|cellspacing|cellpadding|width|align|bgcolor|border|style|class|id],tr[background|width|bgcolor|style|class|id|valign],td[background|width|align|bgcolor|valign|colspan|rowspan|height|style|class|id|nowrap]'; - - if (!empty($this->mailId)) { - $cssurl = acym_completeLink((acym_isAdmin() ? '' : 'front').'mails&task=loadCSS&id='.$this->mailId.'&time='.time()); - $classMail = acym_get('class.mail'); - $filepath = $classMail->createTemplateFile($this->mailId); - - if ($this->editor == 'tinymce') { - $this->editorConfig['content_css_custom'] = $cssurl.'&local=http'; - $this->editorConfig['content_css'] = '0'; - } elseif ($this->editor == 'jckeditor' || $this->editor == 'fckeditor') { - $this->editorConfig['content_css_custom'] = $filepath; - $this->editorConfig['content_css'] = '0'; - $this->editorConfig['editor_css'] = '0'; - } else { - $fileurl = ACYM_MEDIA_FOLDER.'/templates/css/template_'.$this->mailId.'.css?time='.time(); - $this->editorConfig['custom_css_url'] = $cssurl; - $this->editorConfig['custom_css_file'] = $fileurl; - $this->editorConfig['custom_css_path'] = $filepath; - acym_setVar('acycssfile', $fileurl); - } - } - - - if (empty($this->editorContent)) { - $this->content = acym_escape($this->content); - ob_start(); - echo $this->myEditor->display($this->name, $this->content, $this->width, $this->height, $this->cols, $this->rows, ['pagebreak', 'readmore'], null, 'com_content', null, $this->editorConfig); - - $this->editorContent = ob_get_clean(); - } - - if (method_exists($this->myEditor, 'save')) { - acym_addScript(true, 'function acyOnSaveEditor(){'.$this->myEditor->save($this->name).'}'); - } - - echo $this->editorContent; - } - - private function displayWordPress() - { - add_filter('mce_external_plugins', [$this, 'addPlugins']); - add_filter('mce_buttons', [$this, 'addButtons']); - add_filter('mce_buttons_2', [$this, 'addButtonsToolbar']); - - $mailClass = acym_get('class.mail'); - - $mail = $mailClass->getOneById($this->mailId); - $stylesheet = empty($mail) ? '' : trim(preg_replace('/\s\s+/', ' ', $mailClass->buildCSS($mail->stylesheet))); - - $options = [ - 'editor_css' => '', - 'editor_height' => $this->height, - 'textarea_rows' => $this->rows, - "wpautop" => false, - 'tinymce' => [ - 'content_css' => '', - 'content_style' => '.alignleft{float:left;margin:0.5em 1em 0.5em 0;} .aligncenter{display: block;margin-left: auto;margin-right: auto;} .alignright{float: right;margin: 0.5em 0 0.5em 1em;}'.$stylesheet, - ], - ]; - - wp_editor($this->content, $this->name, $options); - } - - private function getWYSIDSettings() - { - if ($this->settings != 'editor_settings') return $this->settings; - - $id = acym_getVar('int', 'id'); - - if (empty($id)) return null; - - $ctrl = acym_getVar('string', 'ctrl'); - if ($ctrl == 'mails') { - $query = 'SELECT settings FROM #__acym_mail WHERE id = '.intval($id); - } elseif ($ctrl == 'campaigns') { - $query = 'SELECT settings FROM #__acym_mail AS mail JOIN #__acym_campaign AS campaign ON mail.id = campaign.mail_id WHERE campaign.id = '.intval($id); - } else { - return '{}'; - } - - $settings = acym_loadResult($query); - - return empty($settings) ? '{}' : $settings; - } - - private function getWYSIDStylesheet() - { - if ($this->stylesheet != 'editor_stylesheet') return $this->stylesheet; - - $id = acym_getVar('int', 'id'); - $notification = acym_getVar('string', 'notification'); - $ctrl = acym_getVar('string', 'ctrl'); - - if (!in_array($ctrl, ['mails', 'campaigns'])) return null; - - if (!empty($id)) { - if ($ctrl == 'mails') { - $query = 'SELECT stylesheet FROM #__acym_mail WHERE id = '.intval($id); - } elseif ($ctrl == 'campaigns') { - $query = 'SELECT stylesheet FROM #__acym_mail AS mail JOIN #__acym_campaign AS campaign ON mail.id = campaign.mail_id WHERE campaign.id = '.intval($id); - } - - $stylesheet = acym_loadResult($query); - - return empty($stylesheet) ? '' : $stylesheet; - } elseif (!empty($notification)) { - $stylesheet = acym_loadResult('SELECT stylesheet FROM #__acym_mail WHERE `type` = "notification" AND `name` = '.acym_escapeDB($notification)); - - return empty($stylesheet) ? '' : $stylesheet; - } - - return null; - } - - private function getWYSIDThumbnail() - { - if ($this->thumbnail != 'editor_thumbnail') return $this->thumbnail; - - $id = acym_getVar('int', 'id'); - if (empty($id)) return null; - - $thumbnail = acym_loadResult('SELECT thumbnail FROM #__acym_mail WHERE id = '.intval($id)); - - return empty($thumbnail) ? '' : $thumbnail; - } - - private function addButtonAtPosition(&$buttons, $newButton, $after) - { - $position = array_search($after, $buttons); - - if ($position === false) { - array_push($buttons, 'separator', $newButton); - } else { - array_splice($buttons, $position + 1, 0, $newButton); - } - } - - public function addPlugins($plugins) - { - $plugins['table'] = ACYM_JS.'tinymce/table.min.js'; - - return $plugins; - } - - public function addButtons($buttons) - { - $position = array_search('wp_more', $buttons); - if ($position !== false) { - $buttons[$position] = ''; - } - - array_unshift($buttons, 'separator', 'fontsizeselect'); - array_unshift($buttons, 'separator', 'fontselect'); - array_push($buttons, 'separator', 'table'); - - $this->addButtonAtPosition($buttons, 'alignjustify', 'alignright'); - $this->addButtonAtPosition($buttons, 'underline', 'italic'); - $this->addButtonAtPosition($buttons, 'strikethrough', 'underline'); - - return $buttons; - } - - public function addButtonsToolbar($buttons) - { - $position = array_search('strikethrough', $buttons); - if ($position !== false) { - $buttons[$position] = ''; - } - $this->addButtonAtPosition($buttons, 'backcolor', 'forecolor'); - - return $buttons; - } -} - +isDragAndDrop()) { + acym_addScript(false, ACYM_JS.'tinymce/tinymce.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'tinymce/tinymce.min.js')); + include(ACYM_VIEW.'mails'.DS.'tmpl'.DS.'editor_wysid.php'); + } else { + echo 'joomla' === ACYM_CMS ? '
                ' : '
                '; + $method = 'displayJoomla'; + $this->$method(); + } + } + + public function isDragAndDrop() + { + return strpos($this->content, 'acym__wysid__template') !== false || $this->editor == 'acyEditor'; + } + + private function displayJoomla() + { + $this->editor = acym_getCMSConfig('editor', 'tinymce'); + + $this->myEditor = Editor::getInstance($this->editor); + $this->myEditor->initialise(); + + $this->editorConfig['extended_elements'] = 'table[background|cellspacing|cellpadding|width|align|bgcolor|border|style|class|id],tr[background|width|bgcolor|style|class|id|valign],td[background|width|align|bgcolor|valign|colspan|rowspan|height|style|class|id|nowrap]'; + + if (!empty($this->mailId)) { + $cssurl = acym_completeLink((acym_isAdmin() ? '' : 'front').'mails&task=loadCSS&id='.$this->mailId.'&time='.time()); + $classMail = acym_get('class.mail'); + $filepath = $classMail->createTemplateFile($this->mailId); + + if ($this->editor == 'tinymce') { + $this->editorConfig['content_css_custom'] = $cssurl.'&local=http'; + $this->editorConfig['content_css'] = '0'; + } elseif ($this->editor == 'jckeditor' || $this->editor == 'fckeditor') { + $this->editorConfig['content_css_custom'] = $filepath; + $this->editorConfig['content_css'] = '0'; + $this->editorConfig['editor_css'] = '0'; + } else { + $fileurl = ACYM_MEDIA_FOLDER.'/templates/css/template_'.$this->mailId.'.css?time='.time(); + $this->editorConfig['custom_css_url'] = $cssurl; + $this->editorConfig['custom_css_file'] = $fileurl; + $this->editorConfig['custom_css_path'] = $filepath; + acym_setVar('acycssfile', $fileurl); + } + } + + + if (empty($this->editorContent)) { + $this->content = acym_escape($this->content); + ob_start(); + echo $this->myEditor->display($this->name, $this->content, $this->width, $this->height, $this->cols, $this->rows, ['pagebreak', 'readmore'], null, 'com_content', null, $this->editorConfig); + + $this->editorContent = ob_get_clean(); + } + + if (method_exists($this->myEditor, 'save')) { + acym_addScript(true, 'function acyOnSaveEditor(){'.$this->myEditor->save($this->name).'}'); + } + + echo $this->editorContent; + } + + private function displayWordPress() + { + add_filter('mce_external_plugins', [$this, 'addPlugins']); + add_filter('mce_buttons', [$this, 'addButtons']); + add_filter('mce_buttons_2', [$this, 'addButtonsToolbar']); + + $mailClass = acym_get('class.mail'); + + $mail = $mailClass->getOneById($this->mailId); + $stylesheet = empty($mail) ? '' : trim(preg_replace('/\s\s+/', ' ', $mailClass->buildCSS($mail->stylesheet))); + + $options = [ + 'editor_css' => '', + 'editor_height' => $this->height, + 'textarea_rows' => $this->rows, + "wpautop" => false, + 'tinymce' => [ + 'content_css' => '', + 'content_style' => '.alignleft{float:left;margin:0.5em 1em 0.5em 0;} .aligncenter{display: block;margin-left: auto;margin-right: auto;} .alignright{float: right;margin: 0.5em 0 0.5em 1em;}'.$stylesheet, + ], + ]; + + wp_editor($this->content, $this->name, $options); + } + + private function getWYSIDSettings() + { + if ($this->settings != 'editor_settings') return $this->settings; + + $id = acym_getVar('int', 'id'); + + if (empty($id)) return null; + + $ctrl = acym_getVar('string', 'ctrl'); + if ($ctrl == 'mails') { + $query = 'SELECT settings FROM #__acym_mail WHERE id = '.intval($id); + } elseif ($ctrl == 'campaigns') { + $query = 'SELECT settings FROM #__acym_mail AS mail JOIN #__acym_campaign AS campaign ON mail.id = campaign.mail_id WHERE campaign.id = '.intval($id); + } else { + return '{}'; + } + + $settings = acym_loadResult($query); + + return empty($settings) ? '{}' : $settings; + } + + private function getWYSIDStylesheet() + { + if ($this->stylesheet != 'editor_stylesheet') return $this->stylesheet; + + $id = acym_getVar('int', 'id'); + $notification = acym_getVar('string', 'notification'); + $ctrl = acym_getVar('string', 'ctrl'); + + if (!in_array($ctrl, ['mails', 'campaigns'])) return null; + + if (!empty($id)) { + if ($ctrl == 'mails') { + $query = 'SELECT stylesheet FROM #__acym_mail WHERE id = '.intval($id); + } elseif ($ctrl == 'campaigns') { + $query = 'SELECT stylesheet FROM #__acym_mail AS mail JOIN #__acym_campaign AS campaign ON mail.id = campaign.mail_id WHERE campaign.id = '.intval($id); + } + + $stylesheet = acym_loadResult($query); + + return empty($stylesheet) ? '' : $stylesheet; + } elseif (!empty($notification)) { + $stylesheet = acym_loadResult('SELECT stylesheet FROM #__acym_mail WHERE `type` = "notification" AND `name` = '.acym_escapeDB($notification)); + + return empty($stylesheet) ? '' : $stylesheet; + } + + return null; + } + + private function getWYSIDThumbnail() + { + if ($this->thumbnail != 'editor_thumbnail') return $this->thumbnail; + + $id = acym_getVar('int', 'id'); + if (empty($id)) return null; + + $thumbnail = acym_loadResult('SELECT thumbnail FROM #__acym_mail WHERE id = '.intval($id)); + + return empty($thumbnail) ? '' : $thumbnail; + } + + private function addButtonAtPosition(&$buttons, $newButton, $after) + { + $position = array_search($after, $buttons); + + if ($position === false) { + array_push($buttons, 'separator', $newButton); + } else { + array_splice($buttons, $position + 1, 0, $newButton); + } + } + + public function addPlugins($plugins) + { + $plugins['table'] = ACYM_JS.'tinymce/table.min.js'; + + return $plugins; + } + + public function addButtons($buttons) + { + $position = array_search('wp_more', $buttons); + if ($position !== false) { + $buttons[$position] = ''; + } + + array_unshift($buttons, 'separator', 'fontsizeselect'); + array_unshift($buttons, 'separator', 'fontselect'); + array_push($buttons, 'separator', 'table'); + + $this->addButtonAtPosition($buttons, 'alignjustify', 'alignright'); + $this->addButtonAtPosition($buttons, 'underline', 'italic'); + $this->addButtonAtPosition($buttons, 'strikethrough', 'underline'); + + return $buttons; + } + + public function addButtonsToolbar($buttons) + { + $position = array_search('strikethrough', $buttons); + if ($position !== false) { + $buttons[$position] = ''; + } + $this->addButtonAtPosition($buttons, 'backcolor', 'forecolor'); + + return $buttons; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/helpers/encoding.php b/deployed/acym/administrator/components/com_acym/helpers/encoding.php index a0afb831..89513f37 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/encoding.php +++ b/deployed/acym/administrator/components/com_acym/helpers/encoding.php @@ -1,13 +1,13 @@ -setDownloadHeaders($filename); - $nbExport = $this->getExportLimit(); - - acym_displayErrors(); - $encodingClass = acym_get('helper.encoding'); - $config = acym_config(); - - $eol = "\r\n"; - $before = '"'; - $separator = '"'.$separator.'"'; - $after = '"'; - - echo $before.implode($separator, array_merge($fieldsToExport, $customFieldsToExport)).$after.$eol; - - $start = 0; - do { - $users = acym_loadObjectList($query.' LIMIT '.intval($start).', '.intval($nbExport), 'id'); - $start += $nbExport; - - if ($users === false) { - echo $eol.$eol.'Error : '.acym_getDBError(); - } - - if (empty($users)) { - break; - } - - foreach ($users as $userID => $oneUser) { - unset($oneUser->id); - - $data = get_object_vars($oneUser); - - if (!empty($customFieldsToExport)) { - $userCustomFields = acym_loadObjectList( - 'SELECT field_id, value - FROM #__acym_user_has_field - WHERE user_id = '.intval($userID).' AND field_id IN ('.implode(',', array_keys($customFieldsToExport)).') - ORDER BY field_id', - 'field_id' - ); - - foreach ($customFieldsToExport as $fieldID => $fieldName) { - $data[] = empty($userCustomFields[$fieldID]) ? '' : $userCustomFields[$fieldID]->value; - } - } - - $excelSecure = $config->get('export_excelsecurity', 0); - foreach ($data as &$oneData) { - if ($excelSecure == 1) { - $firstcharacter = substr($oneData, 0, 1); - if (in_array($firstcharacter, ['=', '+', '-', '@'])) { - $oneData = ' '.$oneData; - } - } - - $oneData = acym_escape($oneData); - } - - $dataexport = implode($separator, $data); - - echo $before.$encodingClass->change($dataexport, 'UTF-8', $charset).$after.$eol; - } - - unset($users); - } while (true); - } - - private function getExportLimit() - { - $serverLimit = acym_bytes(ini_get('memory_limit')); - if ($serverLimit > 150000000) { - return 50000; - } elseif ($serverLimit > 80000000) { - return 15000; - } else { - return 5000; - } - } -} - +setDownloadHeaders($filename); + $nbExport = $this->getExportLimit(); + + acym_displayErrors(); + $encodingClass = acym_get('helper.encoding'); + $config = acym_config(); + + $eol = "\r\n"; + $before = '"'; + $separator = '"'.$separator.'"'; + $after = '"'; + + echo $before.implode($separator, array_merge($fieldsToExport, $customFieldsToExport)).$after.$eol; + + $start = 0; + do { + $users = acym_loadObjectList($query.' LIMIT '.intval($start).', '.intval($nbExport), 'id'); + $start += $nbExport; + + if ($users === false) { + echo $eol.$eol.'Error : '.acym_getDBError(); + } + + if (empty($users)) { + break; + } + + foreach ($users as $userID => $oneUser) { + unset($oneUser->id); + + $data = get_object_vars($oneUser); + + if (!empty($customFieldsToExport)) { + $userCustomFields = acym_loadObjectList( + 'SELECT field_id, value + FROM #__acym_user_has_field + WHERE user_id = '.intval($userID).' AND field_id IN ('.implode(',', array_keys($customFieldsToExport)).') + ORDER BY field_id', + 'field_id' + ); + + foreach ($customFieldsToExport as $fieldID => $fieldName) { + $data[] = empty($userCustomFields[$fieldID]) ? '' : $userCustomFields[$fieldID]->value; + } + } + + $excelSecure = $config->get('export_excelsecurity', 0); + foreach ($data as &$oneData) { + if ($excelSecure == 1) { + $firstcharacter = substr($oneData, 0, 1); + if (in_array($firstcharacter, ['=', '+', '-', '@'])) { + $oneData = ' '.$oneData; + } + } + + $oneData = acym_escape($oneData); + } + + $dataexport = implode($separator, $data); + + echo $before.$encodingClass->change($dataexport, 'UTF-8', $charset).$after.$eol; + } + + unset($users); + } while (true); + } + + private function getExportLimit() + { + $serverLimit = acym_bytes(ini_get('memory_limit')); + if ($serverLimit > 150000000) { + return 50000; + } elseif ($serverLimit > 80000000) { + return 15000; + } else { + return 5000; + } + } +} + diff --git a/deployed/acym/administrator/components/com_acym/helpers/header.php b/deployed/acym/administrator/components/com_acym/helpers/header.php index 1fd87b5b..8704b99c 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/header.php +++ b/deployed/acym/administrator/components/com_acym/helpers/header.php @@ -1,13 +1,13 @@ - 'acymailing', // Know which product to look at - 'level' => strtolower($config->get('level', 'starter')), // Know which version to look at - 'domain' => rtrim(ACYM_LIVE, '/'), // Tell the user if the automatic features are available for the current installation - 'version' => $config->get('version'), // Tell the user if a newer version is available - 'cms' => ACYM_CMS, // We may delay some new Acy versions depending on the CMS - 'cmsv' => ACYM_CMSV, // Acy isn't available for some versions - ]; - - foreach ($paramsForLicenseCheck as $param => $value) { - $url .= '&'.$param.'='.urlencode($value); - } - - $userInformation = acym_fileGetContent($url, 30); - $warnings = ob_get_clean(); - $result = (!empty($warnings) && acym_isDebug()) ? $warnings : ''; - - if (empty($userInformation) || $userInformation === false) { - if ($ajax) { - echo json_encode(['content' => '
                '.acym_translation('ACYM_ERROR_LOAD_FROM_ACYBA').'
                '.$result]); - exit; - } else { - return ''; - } - } - - $decodedInformation = json_decode($userInformation, true); - - $newConfig = new stdClass(); - - $newConfig->latestversion = $decodedInformation['latestversion']; - $newConfig->expirationdate = $decodedInformation['expiration']; - $newConfig->lastlicensecheck = time(); - $config->save($newConfig); - - return $newConfig->lastlicensecheck; -} - -function acym_dateField($name, $value = '', $class = '', $attributes = '', $relativeDefault = '-') -{ - $result = '
                '; - - $result .= '
                '; - $result .= acym_switchFilter( - [ - 'relative' => acym_translation('ACYM_RELATIVE_DATE'), - 'specific' => acym_translation('ACYM_SPECIFIC_DATE'), - ], - 'relative', - 'switch_'.$name, - 'date_rs_selection' - ); - $result .= '
                '; - - $result .= '
                -
                - -
                -
                '; - $result .= acym_select( - [ - '60' => acym_translation('ACYM_MINUTES'), - '3600' => acym_translation('ACYM_HOUR'), - '86400' => acym_translation('ACYM_DAY'), - ], - 'relative_'.$name, - null, - 'class="acym__select relativetype"' - ); - - $result .= '
                -
                '; - - $result .= acym_select( - [ - '-' => acym_translation('ACYM_BEFORE'), - '+' => acym_translation('ACYM_AFTER'), - ], - 'relativewhen_'.$name, - $relativeDefault, - 'class="acym__select relativewhen"' - ); - $result .= '
                -
                '; - - $result .= ' -
                -
                - - -
                -
                '; - - $result .= '
                '; - - $id = preg_replace('#[^a-z0-9_]#i', '', $name); - if (is_numeric($value)) { - $months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; - - $replaceValues = []; - foreach ($months as $oneMonth) { - $replaceValues[] = substr(acym_translation('ACYM_'.strtoupper($oneMonth)), 0, 3); - } - - $shownValue = str_replace($months, $replaceValues, date('d F Y H:i', $value)); - } else { - $shownValue = $value; - } - $result = ''.acym_modal( - '', - $result, - $id, - '', - '', - false, - false - ); - - return $result; -} - -function acym_escape($text, $isURL = false) -{ - return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); -} - -function acym_escapeArrayValues($array) -{ - foreach ($array as $key => $one) { - $array[$key] = acym_escape($one); - } - - return $array; -} - -function acydump($arg, $ajax = false, $indent = true) -{ - ob_start(); - var_dump($arg); - $result = ob_get_clean(); - - if ($ajax) { - file_put_contents(ACYM_ROOT.'acydebug.txt', $result, FILE_APPEND); - } else { - $style = $indent ? 'margin-left: 220px;' : ''; - echo '
                '.$result.'
                '; - } -} - -function acym_teasing($text) -{ - echo '
                -
                '.$text.'
                - '; -} - -function acym_line_chart($id, $dataMonth, $dataDay, $dataHour) -{ - acym_initializeChart(); - - $month = []; - $openMonth = []; - $clickMonth = []; - - foreach ($dataMonth as $key => $data) { - $month[] = '"'.$key.'"'; - $openMonth[] = '"'.$data['open'].'"'; - $clickMonth[] = '"'.$data['click'].'"'; - } - - $day = []; - $openDay = []; - $clickDay = []; - - foreach ($dataDay as $key => $data) { - $day[] = '"'.$key.'"'; - $openDay[] = '"'.$data['open'].'"'; - $clickDay[] = '"'.$data['click'].'"'; - } - - $hour = []; - $openHour = []; - $clickHour = []; - - foreach ($dataHour as $key => $data) { - $hour[] = '"'.$key.'"'; - $openHour[] = '"'.$data['open'].'"'; - $clickHour[] = '"'.$data['click'].'"'; - } - - $idCanvas = 'acy_canvas_rand_id'.rand(1000, 9000); - $idLegend = 'acy_legend_rand_id'.rand(1000, 9000); - $return = ''; - - $nbDataDay = count($dataDay); - $nbDataHour = count($dataHour); - $selectedChartHour = ""; - $selectedChartDay = ""; - $selectedChartMonth = ""; - - if ($nbDataHour < 49) { - $selectedChartHour = "selected__choose_by"; - $displayed = $hour; - $clickDisplayed = $clickHour; - $openDisplayed = $openHour; - } elseif ($nbDataDay < 63) { - $selectedChartDay = "selected__choose_by"; - $displayed = $day; - $clickDisplayed = $clickDay; - $openDisplayed = $openDay; - } else { - $selectedChartMonth = "selected__choose_by"; - $displayed = $month; - $clickDisplayed = $clickMonth; - $openDisplayed = $openMonth; - } - - - $return .= '
                -
                -

                '.acym_translation('ACYM_BY_MONTH').'

                -

                '.acym_translation('ACYM_BY_DAY').'

                -

                '.acym_translation('ACYM_BY_HOUR').'

                -
                -
                - -
                '; - - $return .= ''; - - return $return; -} - -function acym_initializeChart() -{ - static $loaded = false; - - if (!$loaded) { - acym_addScript(false, ACYM_JS.'libraries/chart.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'chart.min.js'), 'text/javascript', false, false, true); - $loaded = true; - } -} - -function acym_round_chart($id, $pourcentage, $type = '', $class = '', $topLabel = '', $bottomLabel = '', $colorChart = '') -{ - if ($pourcentage != 0 && empty($pourcentage)) { - return; - } - - acym_initializeChart(); - - if (empty($id)) { - $id = 'acy_round_chart_rand_id'.rand(1000, 9000); - } - - $green = '#3dea91'; - $red = '#ff5259'; - $orange = '#ffab15'; - $defaultColor = '#00a4ff'; - - $isFixColor = false; - $isInverted = false; - - switch ($type) { - case 'click': - $valueHigh = 5; - $valueLow = 1; - break; - case 'open': - $valueHigh = 30; - $valueLow = 18; - break; - case 'delivery': - $valueHigh = 90; - $valueLow = 70; - break; - case 'fail': - $valueHigh = 30; - $valueLow = 10; - $isInverted = true; - break; - default: - $isFixColor = true; - } - - if ($isFixColor) { - $color = !empty($colorChart) ? $colorChart : $defaultColor; - } else { - if ($pourcentage >= $valueHigh) { - $color = $isInverted ? $red : $green; - } elseif ($pourcentage < $valueHigh && $pourcentage >= $valueLow) { - $color = $orange; - } elseif ($pourcentage < $valueLow) { - $color = $isInverted ? $green : $red; - } else { - $color = $defaultColor; - } - } - - $idCanvas = 'acy_canvas_rand_id'.rand(1000, 9000); - - $return = '
                -

                '.$topLabel.'

                -
                - -
                -

                '.$bottomLabel.'

                -
                '; - $return .= ''; - - - return $return; -} - -function acym_getEmailRegex($secureJS = false, $forceRegex = false) -{ - $config = acym_config(); - if ($forceRegex || $config->get('special_chars', 0) == 0) { - $regex = '[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*\@([a-z0-9-]+\.)+[a-z0-9]{2,20}'; - } else { - $regex = '.+\@(.+\.)+.{2,20}'; - } - - if ($secureJS) { - $regex = str_replace(['"', "'"], ['\"', "\'"], $regex); - } - - return $regex; -} - -function acym_isValidEmail($email, $extended = false) -{ - if (empty($email) || !is_string($email)) { - return false; - } - - if (!preg_match('/^'.acym_getEmailRegex().'$/i', $email)) { - return false; - } - - if (!$extended) { - return true; - } - - - $config = acym_config(); - - if ($config->get('email_checkdomain', false) && function_exists('getmxrr')) { - $domain = substr($email, strrpos($email, '@') + 1); - $mxhosts = []; - $checkDomain = getmxrr($domain, $mxhosts); - if (!empty($mxhosts) && strpos($mxhosts[0], 'hostnamedoesnotexist')) { - array_shift($mxhosts); - } - if (!$checkDomain || empty($mxhosts)) { - $dns = @dns_get_record($domain, DNS_A); - $domainChanged = true; - foreach ($dns as $oneRes) { - if (strtolower($oneRes['host']) == strtolower($domain)) { - $domainChanged = false; - } - } - if (empty($dns) || $domainChanged) { - return false; - } - } - } - - $object = new stdClass(); - $object->IP = acym_getIP(); - $object->emailAddress = $email; - - if ($config->get('email_iptimecheck', 0)) { - $lapseTime = time() - 7200; - $nbUsers = acym_loadResult('SELECT COUNT(*) FROM #__acym_user WHERE creation_date > '.intval($lapseTime).' AND ip = '.acym_escapeDB($object->IP)); - if ($nbUsers >= 3) { - return false; - } - } - - return true; -} - -function acym_getIP() -{ - $ip = ''; - if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strlen($_SERVER['HTTP_X_FORWARDED_FOR']) > 6) { - $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; - } elseif (!empty($_SERVER['HTTP_CLIENT_IP']) && strlen($_SERVER['HTTP_CLIENT_IP']) > 6) { - $ip = $_SERVER['HTTP_CLIENT_IP']; - } elseif (!empty($_SERVER['REMOTE_ADDR']) && strlen($_SERVER['REMOTE_ADDR']) > 6) { - $ip = $_SERVER['REMOTE_ADDR']; - } - - return strip_tags($ip); -} - -function acym_radio($options, $name, $selected = null, $id = null, $attributes = [], $objValue = 'value', $objText = 'text', $useIncrement = false) -{ - $id = preg_replace( - '#[^a-zA-Z0-9_]+#mi', - '_', - str_replace( - ['[', ']'], - ['_', ''], - empty($id) ? $name : $id - ) - ); - - $attributes['type'] = 'radio'; - $attributes['name'] = $name; - - $return = '
                '; - $k = 0; - foreach ($options as $value => $label) { - if (is_object($label)) { - if (!empty($label->class)) { - $attributes['class'] = $label->class; - } - - $value = $label->$objValue; - $label = $label->$objText; - } - - $currentId = $useIncrement ? $id.$k : $id.$value; - - $attributes['value'] = $value; - $attributes['id'] = $currentId; - - $return .= ''; - $return .= ''; - $return .= ' $val) { - $return .= ' '.$attribute.'="'.acym_escape($val).'"'; - } - $return .= ($value == $selected ? ' checked="checked"' : '').' />'; - $return .= ''; - $k++; - } - $return .= '
                '; - - return $return; -} - -function acym_convertPHPToMomentFormat($format) -{ - $replacements = [ - 'd' => 'DD', - 'D' => 'ddd', - 'j' => 'D', - 'l' => 'dddd', - 'N' => 'E', - 'S' => 'o', - 'w' => 'e', - 'z' => 'DDD', - 'W' => 'W', - 'F' => 'MMMM', - 'm' => 'MM', - 'M' => 'MMM', - 'n' => 'M', - 't' => '', // no equivalent - 'L' => '', // no equivalent - 'o' => 'YYYY', - 'Y' => 'YYYY', - 'y' => 'YY', - 'a' => 'a', - 'A' => 'A', - 'B' => '', // no equivalent - 'g' => 'h', - 'G' => 'H', - 'h' => 'hh', - 'H' => 'HH', - 'i' => 'mm', - 's' => 'ss', - 'u' => 'SSS', - 'e' => 'zz', // deprecated since version 1.6.0 of moment.js - 'I' => '', // no equivalent - 'O' => '', // no equivalent - 'P' => '', // no equivalent - 'T' => '', // no equivalent - 'Z' => '', // no equivalent - 'c' => '', // no equivalent - 'r' => '', // no equivalent - 'U' => 'X', - ]; - $momentFormat = strtr($format, $replacements); - - return $momentFormat; -} - -function acym_boolean($name, $selected = null, $id = null, $attributes = [], $yes = 'ACYM_YES', $no = 'ACYM_NO') -{ - $options = [ - '1' => acym_translation($yes), - '0' => acym_translation($no), - ]; - - return acym_radio( - $options, - $name, - $selected ? 1 : 0, - $id, - $attributes - ); -} - -function acym_select($data, $name, $selected = null, $attribs = null, $optKey = 'value', $optText = 'text', $idtag = false, $translate = false) -{ - $idtag = str_replace(['[', ']', ' '], '', empty($idtag) ? $name : $idtag); - $dropdown = ''; - - return $dropdown; -} - -function acym_modal($button, $data, $id = null, $attributesModal = '', $attributesButton = '', $isButton = true, $isLarge = true) -{ - if (empty($id)) { - $id = 'acymodal_'.rand(1000, 9000); - } - - $modal = $isButton ? '' : $button; - $modal .= '
                '; - $modal .= $data; - $modal .= '
                '; - - return $modal; -} - -function acym_modal_include($button, $file, $id, $data, $attributes = '', $classModal = "") -{ - if (empty($id)) { - $id = 'acymodal_'.rand(1000, 9000); - } - - $modal = '
                '.$button; - $modal .= '
                '; - ob_start(); - include($file); - $modal .= ob_get_clean(); - $modal .= '
                '; - - return $modal; -} - -function acym_modal_pagination_users($button, $class, $textButton = null, $id = null, $attributes = '', $hiddenUsers = '', $task = '') -{ - $searchField = acym_filterSearch('', 'modal_search_users', 'ACYM_SEARCH_A_USER_NAME'); - - - $data = ' - - - - - -
                -

                - '.acym_translation('ACYM_CHOOSE_USERS').'

                -
                - - - - '; - - $data .= '
                '; - - $attributesButton = 'class="modal__pagination__users__button-open button '.$class.'" '.$attributes; - - return acym_modal($button, $data, $id, "", $attributesButton); -} - -function acym_modal_pagination_lists($button, $class, $textButton = null, $id = null, $attributes = '', $isModal = true, $inputEventId = "", $checkedLists = "[]", $needDisplaySubscribers = false, $attributesModal = '') -{ - $searchField = acym_filterSearch('', 'modal_search_lists', 'ACYM_SEARCH_A_LIST_NAME'); - - $data = ""; - - if (!empty($inputEventId)) { - $data .= ''; - } - if ($needDisplaySubscribers) { - $data .= ''; - } - - $data .= '
                - - - -
                -

                '.acym_translation('ACYM_CHOOSE_LISTS').'

                -
                - - - - -
                '; - - if ($isModal) { - $data .= '
                '; - $attributesButton = 'class="modal__pagination__button-open button '.$class.'" '.$attributes; - - return acym_modal($button, $data, $id, "", $attributesButton); - } else { - return $data; - } -} - -function acym_modal_pagination_lists_import($button, $class, $textButtonRight, $id = null, $attributes = '', $classButton = 'acym__users__import__generic__import__button', $severalButton = false) -{ - if (empty($id)) { - $id = 'acymodal_pagination_lists_'.rand(1000, 9000); - } - - $listsPerPage = acym_getCMSConfig('list_limit', 20); - $ajaxURL = acym_prepareAjaxURL('lists').'&task=setAjaxListing&listsPerPage='.$listsPerPage; - - $searchField = acym_filterSearch('', 'modal_search_lists', 'ACYM_SEARCH_A_LIST_NAME'); - - $data = ' - - - - -
                -

                - '.acym_translation('ACYM_CHOOSE_LISTS').'

                -
                - - - - -
                - - -
                - '; - - $modal = $severalButton ? '' : ''; - $modal .= '
                '; - $modal .= $data; - $modal .= '
                '; - - return $modal; -} - -function acym_generateCountryNumber($name, $defaultvalue = '') -{ - $flagPosition = []; - $flagPosition['93'] = ['x' => -48, 'y' => 0]; - $flagPosition['355'] = ['x' => -96, 'y' => 0]; - $flagPosition['213'] = ['x' => -160, 'y' => -33]; - $flagPosition['1684'] = ['x' => -176, 'y' => 0]; - $flagPosition['376'] = ['x' => -16, 'y' => 0]; - $flagPosition['244'] = ['x' => -144, 'y' => 0]; - $flagPosition['1264'] = ['x' => -80, 'y' => 0]; - $flagPosition['672'] = ['x' => 0, 'y' => -176]; //antartica - $flagPosition['1268'] = ['x' => -64, 'y' => 0]; - $flagPosition['54'] = ['x' => -160, 'y' => 0]; - $flagPosition['374'] = ['x' => -112, 'y' => 0]; - $flagPosition['297'] = ['x' => -224, 'y' => 0]; - $flagPosition['247'] = ['x' => -16, 'y' => -176]; //ascenscion island - $flagPosition['61'] = ['x' => -208, 'y' => 0]; - $flagPosition['43'] = ['x' => -192, 'y' => 0]; - $flagPosition['994'] = ['x' => -240, 'y' => 0]; - $flagPosition['1242'] = ['x' => -208, 'y' => -11]; - $flagPosition['973'] = ['x' => -96, 'y' => -11]; - $flagPosition['880'] = ['x' => -32, 'y' => -11]; - $flagPosition['1246'] = ['x' => -16, 'y' => -11]; - $flagPosition['375'] = ['x' => -16, 'y' => -22]; - $flagPosition['32'] = ['x' => -48, 'y' => -11]; - $flagPosition['501'] = ['x' => -32, 'y' => -22]; - $flagPosition['229'] = ['x' => -128, 'y' => -11]; - $flagPosition['1441'] = ['x' => -144, 'y' => -11]; - $flagPosition['975'] = ['x' => -224, 'y' => -11]; - $flagPosition['591'] = ['x' => -176, 'y' => -11]; - $flagPosition['387'] = ['x' => 0, 'y' => -11]; - $flagPosition['267'] = ['x' => 0, 'y' => -22]; - $flagPosition['55'] = ['x' => -192, 'y' => -11]; - $flagPosition['1284'] = ['x' => -240, 'y' => -154]; - $flagPosition['673'] = ['x' => -160, 'y' => -11]; - $flagPosition['359'] = ['x' => -80, 'y' => -11]; - $flagPosition['226'] = ['x' => -64, 'y' => -11]; - $flagPosition['257'] = ['x' => -112, 'y' => -11]; - $flagPosition['855'] = ['x' => -64, 'y' => -77]; - $flagPosition['237'] = ['x' => -192, 'y' => -22]; - $flagPosition['1'] = ['x' => -48, 'y' => -22]; - $flagPosition['238'] = ['x' => -16, 'y' => -33]; - $flagPosition['1345'] = ['x' => -192, 'y' => -77]; - $flagPosition['236'] = ['x' => -96, 'y' => -22]; - $flagPosition['235'] = ['x' => -112, 'y' => -143]; - $flagPosition['56'] = ['x' => -176, 'y' => -22]; - $flagPosition['86'] = ['x' => -208, 'y' => -22]; - $flagPosition['6724'] = ['x' => -32, 'y' => -176]; //christmas island - $flagPosition['6722'] = ['x' => -48, 'y' => -176]; //coco keeling island - $flagPosition['57'] = ['x' => -224, 'y' => -22]; - $flagPosition['269'] = ['x' => -96, 'y' => -77]; - $flagPosition['243'] = ['x' => -80, 'y' => -22]; - $flagPosition['242'] = ['x' => -112, 'y' => -22]; - $flagPosition['682'] = ['x' => -160, 'y' => -22]; - $flagPosition['506'] = ['x' => -240, 'y' => -22]; - $flagPosition['225'] = ['x' => -144, 'y' => -22]; - $flagPosition['385'] = ['x' => 0, 'y' => -66]; - $flagPosition['53'] = ['x' => 0, 'y' => -33]; - $flagPosition['357'] = ['x' => -48, 'y' => -33]; - $flagPosition['420'] = ['x' => -64, 'y' => -33]; - $flagPosition['45'] = ['x' => -112, 'y' => -33]; - $flagPosition['253'] = ['x' => -96, 'y' => -33]; - $flagPosition['1767'] = ['x' => -128, 'y' => -33]; - $flagPosition['1809'] = ['x' => -144, 'y' => -33]; - $flagPosition['593'] = ['x' => -176, 'y' => -33]; - $flagPosition['20'] = ['x' => -208, 'y' => -33]; - $flagPosition['503'] = ['x' => -32, 'y' => -143]; - $flagPosition['240'] = ['x' => -96, 'y' => -55]; - $flagPosition['291'] = ['x' => 0, 'y' => -44]; - $flagPosition['372'] = ['x' => -192, 'y' => -33]; - $flagPosition['251'] = ['x' => -32, 'y' => -44]; - $flagPosition['500'] = ['x' => -96, 'y' => -44]; - $flagPosition['298'] = ['x' => -128, 'y' => -44]; - $flagPosition['679'] = ['x' => -80, 'y' => -44]; - $flagPosition['358'] = ['x' => -64, 'y' => -44]; - $flagPosition['33'] = ['x' => -144, 'y' => -44]; - $flagPosition['596'] = ['x' => -80, 'y' => -99]; - $flagPosition['594'] = ['x' => -128, 'y' => -176]; //french guiana - $flagPosition['689'] = ['x' => -224, 'y' => -110]; - $flagPosition['241'] = ['x' => -160, 'y' => -44]; - $flagPosition['220'] = ['x' => -48, 'y' => -55]; - $flagPosition['995'] = ['x' => -208, 'y' => -44]; - $flagPosition['49'] = ['x' => -80, 'y' => -33]; - $flagPosition['233'] = ['x' => 0, 'y' => -55]; - $flagPosition['350'] = ['x' => -16, 'y' => -55]; - $flagPosition['30'] = ['x' => -112, 'y' => -55]; - $flagPosition['299'] = ['x' => -32, 'y' => -55]; - $flagPosition['1473'] = ['x' => -192, 'y' => -44]; - $flagPosition['590'] = ['x' => -80, 'y' => -55]; - $flagPosition['1671'] = ['x' => -160, 'y' => -55]; - $flagPosition['502'] = ['x' => -144, 'y' => -55]; - $flagPosition['224'] = ['x' => -64, 'y' => -55]; - $flagPosition['245'] = ['x' => -176, 'y' => -55]; - $flagPosition['592'] = ['x' => -192, 'y' => -55]; - $flagPosition['509'] = ['x' => -16, 'y' => -66]; - $flagPosition['504'] = ['x' => -240, 'y' => -55]; - $flagPosition['852'] = ['x' => -208, 'y' => -55]; - $flagPosition['36'] = ['x' => -32, 'y' => -66]; - $flagPosition['354'] = ['x' => -192, 'y' => -66]; - $flagPosition['91'] = ['x' => -128, 'y' => -66]; - $flagPosition['62'] = ['x' => -64, 'y' => -66]; - $flagPosition['964'] = ['x' => -160, 'y' => -66]; - $flagPosition['98'] = ['x' => -176, 'y' => -66]; - $flagPosition['353'] = ['x' => -80, 'y' => -66]; - $flagPosition['972'] = ['x' => -96, 'y' => -66]; - $flagPosition['39'] = ['x' => -208, 'y' => -66]; - $flagPosition['1876'] = ['x' => -240, 'y' => -66]; - $flagPosition['81'] = ['x' => -16, 'y' => -77]; - $flagPosition['962'] = ['x' => 0, 'y' => -77]; - $flagPosition['254'] = ['x' => -32, 'y' => -77]; - $flagPosition['686'] = ['x' => -80, 'y' => -77]; - $flagPosition['3774'] = ['x' => -64, 'y' => -176]; //kosovo - $flagPosition['965'] = ['x' => -176, 'y' => -77]; - $flagPosition['996'] = ['x' => -48, 'y' => -77]; - $flagPosition['856'] = ['x' => -224, 'y' => -77]; - $flagPosition['371'] = ['x' => -112, 'y' => -88]; - $flagPosition['961'] = ['x' => -240, 'y' => -77]; - $flagPosition['266'] = ['x' => -64, 'y' => -88]; - $flagPosition['231'] = ['x' => -48, 'y' => -88]; - $flagPosition['218'] = ['x' => -128, 'y' => -88]; - $flagPosition['423'] = ['x' => -16, 'y' => -88]; - $flagPosition['370'] = ['x' => -80, 'y' => -88]; - $flagPosition['352'] = ['x' => -96, 'y' => -88]; - $flagPosition['853'] = ['x' => -48, 'y' => -99]; - $flagPosition['389'] = ['x' => -240, 'y' => -88]; - $flagPosition['261'] = ['x' => -208, 'y' => -88]; - $flagPosition['265'] = ['x' => -176, 'y' => -99]; - $flagPosition['60'] = ['x' => -208, 'y' => -99]; - $flagPosition['960'] = ['x' => -160, 'y' => -99]; - $flagPosition['223'] = ['x' => 0, 'y' => -99]; - $flagPosition['356'] = ['x' => -128, 'y' => -99]; - $flagPosition['692'] = ['x' => -224, 'y' => -88]; - $flagPosition['222'] = ['x' => -96, 'y' => -99]; - $flagPosition['230'] = ['x' => -144, 'y' => -99]; - $flagPosition['52'] = ['x' => -192, 'y' => -99]; - $flagPosition['691'] = ['x' => -112, 'y' => -44]; - $flagPosition['373'] = ['x' => -176, 'y' => -88]; - $flagPosition['377'] = ['x' => -160, 'y' => -88]; - $flagPosition['976'] = ['x' => -32, 'y' => -99]; - $flagPosition['382'] = ['x' => -192, 'y' => -88]; - $flagPosition['1664'] = ['x' => -112, 'y' => -99]; - $flagPosition['212'] = ['x' => -144, 'y' => -88]; - $flagPosition['258'] = ['x' => -224, 'y' => -99]; - $flagPosition['95'] = ['x' => -16, 'y' => -99]; - $flagPosition['264'] = ['x' => -240, 'y' => -99]; - $flagPosition['674'] = ['x' => -128, 'y' => -110]; - $flagPosition['977'] = ['x' => -112, 'y' => -110]; - $flagPosition['31'] = ['x' => -80, 'y' => -110]; - $flagPosition['599'] = ['x' => -128, 'y' => 0]; - $flagPosition['687'] = ['x' => 0, 'y' => -110]; - $flagPosition['64'] = ['x' => -160, 'y' => -110]; - $flagPosition['505'] = ['x' => -64, 'y' => -110]; - $flagPosition['227'] = ['x' => -16, 'y' => -110]; - $flagPosition['234'] = ['x' => -48, 'y' => -110]; - $flagPosition['683'] = ['x' => -144, 'y' => -110]; - $flagPosition['6723'] = ['x' => -32, 'y' => -110]; - $flagPosition['850'] = ['x' => -128, 'y' => -77]; - $flagPosition['47'] = ['x' => -96, 'y' => -110]; - $flagPosition['968'] = ['x' => -176, 'y' => -110]; - $flagPosition['92'] = ['x' => -16, 'y' => -121]; - $flagPosition['680'] = ['x' => -80, 'y' => -176]; //palau - $flagPosition['970'] = ['x' => -96, 'y' => -121]; - $flagPosition['507'] = ['x' => -192, 'y' => -110]; - $flagPosition['675'] = ['x' => -240, 'y' => -110]; - $flagPosition['595'] = ['x' => -144, 'y' => -121]; - $flagPosition['51'] = ['x' => -208, 'y' => -110]; - $flagPosition['63'] = ['x' => 0, 'y' => -121]; - $flagPosition['48'] = ['x' => -32, 'y' => -121]; - $flagPosition['351'] = ['x' => -112, 'y' => -121]; - $flagPosition['1787'] = ['x' => -80, 'y' => -121]; - $flagPosition['974'] = ['x' => -160, 'y' => -121]; - $flagPosition['262'] = ['x' => -144, 'y' => -176]; //reunion island - $flagPosition['40'] = ['x' => -192, 'y' => -121]; - $flagPosition['7'] = ['x' => -224, 'y' => -121]; - $flagPosition['250'] = ['x' => -240, 'y' => -121]; - $flagPosition['1670'] = ['x' => -96, 'y' => -176]; //marianne - $flagPosition['378'] = ['x' => -176, 'y' => -132]; - $flagPosition['239'] = ['x' => -16, 'y' => -143]; - $flagPosition['966'] = ['x' => 0, 'y' => -132]; - $flagPosition['221'] = ['x' => -192, 'y' => -132]; - $flagPosition['381'] = ['x' => -208, 'y' => -121]; - $flagPosition['248'] = ['x' => -32, 'y' => -132]; - $flagPosition['232'] = ['x' => -160, 'y' => -132]; - $flagPosition['65'] = ['x' => -96, 'y' => -132]; - $flagPosition['421'] = ['x' => -144, 'y' => -132]; - $flagPosition['386'] = ['x' => -128, 'y' => -132]; - $flagPosition['677'] = ['x' => -16, 'y' => -132]; - $flagPosition['252'] = ['x' => -208, 'y' => -132]; - $flagPosition['685'] = ['x' => -112, 'y' => -176]; //somoa - $flagPosition['27'] = ['x' => -128, 'y' => -165]; - $flagPosition['82'] = ['x' => -144, 'y' => -77]; - $flagPosition['34'] = ['x' => -16, 'y' => -44]; - $flagPosition['94'] = ['x' => -32, 'y' => -88]; - $flagPosition['290'] = ['x' => -112, 'y' => -132]; - $flagPosition['1869'] = ['x' => -112, 'y' => -77]; - $flagPosition['1758'] = ['x' => 0, 'y' => -88]; - $flagPosition['508'] = ['x' => -48, 'y' => -121]; - $flagPosition['1784'] = ['x' => -208, 'y' => -154]; - $flagPosition['249'] = ['x' => -64, 'y' => -132]; - $flagPosition['597'] = ['x' => -240, 'y' => -132]; - $flagPosition['268'] = ['x' => -80, 'y' => -143]; - $flagPosition['46'] = ['x' => -80, 'y' => -132]; - $flagPosition['41'] = ['x' => -128, 'y' => -22]; - $flagPosition['963'] = ['x' => -64, 'y' => -143]; - $flagPosition['886'] = ['x' => -64, 'y' => -154]; - $flagPosition['992'] = ['x' => -176, 'y' => -143]; - $flagPosition['255'] = ['x' => -80, 'y' => -154]; - $flagPosition['66'] = ['x' => -160, 'y' => -143]; - $flagPosition['228'] = ['x' => -144, 'y' => -143]; - $flagPosition['690'] = ['x' => -192, 'y' => -143]; - $flagPosition['676'] = ['x' => 0, 'y' => -154]; - $flagPosition['1868'] = ['x' => -32, 'y' => -154]; - $flagPosition['216'] = ['x' => -240, 'y' => -143]; - $flagPosition['90'] = ['x' => -16, 'y' => -154]; - $flagPosition['993'] = ['x' => -224, 'y' => -143]; - $flagPosition['1649'] = ['x' => -96, 'y' => -143]; - $flagPosition['688'] = ['x' => -48, 'y' => -154]; - $flagPosition['256'] = ['x' => -112, 'y' => -154]; - $flagPosition['380'] = ['x' => -96, 'y' => -154]; - $flagPosition['971'] = ['x' => -32, 'y' => 0]; - $flagPosition['44'] = ['x' => -176, 'y' => -44]; - $flagPosition['598'] = ['x' => -160, 'y' => -154]; - $flagPosition['1 '] = ['x' => -144, 'y' => -154]; - $flagPosition['998'] = ['x' => -176, 'y' => -154]; - $flagPosition['678'] = ['x' => -32, 'y' => -165]; - $flagPosition['3966'] = ['x' => -192, 'y' => -154]; - $flagPosition['58'] = ['x' => -224, 'y' => -154]; - $flagPosition['84'] = ['x' => -16, 'y' => -165]; - $flagPosition['1340'] = ['x' => 0, 'y' => -165]; - $flagPosition['681'] = ['x' => -64, 'y' => -165]; - $flagPosition['967'] = ['x' => -96, 'y' => -165]; - $flagPosition['260'] = ['x' => -160, 'y' => -165]; - $flagPosition['263'] = ['x' => -176, 'y' => -165]; - $flagPosition[''] = ['x' => -160, 'y' => -176]; - - - $country = []; - $country['93'] = 'Afghanistan'; - $country['355'] = 'Albania'; - $country['213'] = 'Algeria'; - $country['1684'] = 'American Samoa'; - $country['376'] = 'Andorra'; - $country['244'] = 'Angola'; - $country['1264'] = 'Anguilla'; - $country['672'] = 'Antarctica'; - $country['1268'] = 'Antigua & Barbuda'; - $country['54'] = 'Argentina'; - $country['374'] = 'Armenia'; - $country['297'] = 'Aruba'; - $country['247'] = 'Ascension Island'; - $country['61'] = 'Australia'; - $country['43'] = 'Austria'; - $country['994'] = 'Azerbaijan'; - $country['1242'] = 'Bahamas'; - $country['973'] = 'Bahrain'; - $country['880'] = 'Bangladesh'; - $country['1246'] = 'Barbados'; - $country['375'] = 'Belarus'; - $country['32'] = 'Belgium'; - $country['501'] = 'Belize'; - $country['229'] = 'Benin'; - $country['1441'] = 'Bermuda'; - $country['975'] = 'Bhutan'; - $country['591'] = 'Bolivia'; - $country['387'] = 'Bosnia/Herzegovina'; - $country['267'] = 'Botswana'; - $country['55'] = 'Brazil'; - $country['1284'] = 'British Virgin Islands'; - $country['673'] = 'Brunei'; - $country['359'] = 'Bulgaria'; - $country['226'] = 'Burkina Faso'; - $country['257'] = 'Burundi'; - $country['855'] = 'Cambodia'; - $country['237'] = 'Cameroon'; - $country['1'] = 'Canada/USA'; - $country['238'] = 'Cape Verde Islands'; - $country['1345'] = 'Cayman Islands'; - $country['236'] = 'Central African Republic'; - $country['235'] = 'Chad Republic'; - $country['56'] = 'Chile'; - $country['86'] = 'China'; - $country['6724'] = 'Christmas Island'; - $country['6722'] = 'Cocos Keeling Island'; - $country['57'] = 'Colombia'; - $country['269'] = 'Comoros'; - $country['243'] = 'Congo Democratic Republic'; - $country['242'] = 'Congo, Republic of'; - $country['682'] = 'Cook Islands'; - $country['506'] = 'Costa Rica'; - $country['225'] = 'Cote D\'Ivoire'; - $country['385'] = 'Croatia'; - $country['53'] = 'Cuba'; - $country['357'] = 'Cyprus'; - $country['420'] = 'Czech Republic'; - $country['45'] = 'Denmark'; - $country['253'] = 'Djibouti'; - $country['1767'] = 'Dominica'; - $country['1809'] = 'Dominican Republic'; - $country['593'] = 'Ecuador'; - $country['20'] = 'Egypt'; - $country['503'] = 'El Salvador'; - $country['240'] = 'Equatorial Guinea'; - $country['291'] = 'Eritrea'; - $country['372'] = 'Estonia'; - $country['251'] = 'Ethiopia'; - $country['500'] = 'Falkland Islands'; - $country['298'] = 'Faroe Island'; - $country['679'] = 'Fiji Islands'; - $country['358'] = 'Finland'; - $country['33'] = 'France'; - $country['596'] = 'French Antilles/Martinique'; - $country['594'] = 'French Guiana'; - $country['689'] = 'French Polynesia'; - $country['241'] = 'Gabon Republic'; - $country['220'] = 'Gambia'; - $country['995'] = 'Georgia'; - $country['49'] = 'Germany'; - $country['233'] = 'Ghana'; - $country['350'] = 'Gibraltar'; - $country['30'] = 'Greece'; - $country['299'] = 'Greenland'; - $country['1473'] = 'Grenada'; - $country['590'] = 'Guadeloupe'; - $country['1671'] = 'Guam'; - $country['502'] = 'Guatemala'; - $country['224'] = 'Guinea Republic'; - $country['245'] = 'Guinea-Bissau'; - $country['592'] = 'Guyana'; - $country['509'] = 'Haiti'; - $country['504'] = 'Honduras'; - $country['852'] = 'Hong Kong'; - $country['36'] = 'Hungary'; - $country['354'] = 'Iceland'; - $country['91'] = 'India'; - $country['62'] = 'Indonesia'; - $country['964'] = 'Iraq'; - $country['98'] = 'Iran'; - $country['353'] = 'Ireland'; - $country['972'] = 'Israel'; - $country['39'] = 'Italy'; - $country['1876'] = 'Jamaica'; - $country['81'] = 'Japan'; - $country['962'] = 'Jordan'; - $country['254'] = 'Kenya'; - $country['686'] = 'Kiribati'; - $country['3774'] = 'Kosovo'; - $country['965'] = 'Kuwait'; - $country['996'] = 'Kyrgyzstan'; - $country['856'] = 'Laos'; - $country['371'] = 'Latvia'; - $country['961'] = 'Lebanon'; - $country['266'] = 'Lesotho'; - $country['231'] = 'Liberia'; - $country['218'] = 'Libya'; - $country['423'] = 'Liechtenstein'; - $country['370'] = 'Lithuania'; - $country['352'] = 'Luxembourg'; - $country['853'] = 'Macau'; - $country['389'] = 'Macedonia'; - $country['261'] = 'Madagascar'; - $country['265'] = 'Malawi'; - $country['60'] = 'Malaysia'; - $country['960'] = 'Maldives'; - $country['223'] = 'Mali Republic'; - $country['356'] = 'Malta'; - $country['692'] = 'Marshall Islands'; - $country['222'] = 'Mauritania'; - $country['230'] = 'Mauritius'; - $country['52'] = 'Mexico'; - $country['691'] = 'Micronesia'; - $country['373'] = 'Moldova'; - $country['377'] = 'Monaco'; - $country['976'] = 'Mongolia'; - $country['382'] = 'Montenegro'; - $country['1664'] = 'Montserrat'; - $country['212'] = 'Morocco'; - $country['258'] = 'Mozambique'; - $country['95'] = 'Myanmar (Burma)'; - $country['264'] = 'Namibia'; - $country['674'] = 'Nauru'; - $country['977'] = 'Nepal'; - $country['31'] = 'Netherlands'; - $country['599'] = 'Netherlands Antilles'; - $country['687'] = 'New Caledonia'; - $country['64'] = 'New Zealand'; - $country['505'] = 'Nicaragua'; - $country['227'] = 'Niger Republic'; - $country['234'] = 'Nigeria'; - $country['683'] = 'Niue Island'; - $country['6723'] = 'Norfolk'; - $country['850'] = 'North Korea'; - $country['47'] = 'Norway'; - $country['968'] = 'Oman Dem Republic'; - $country['92'] = 'Pakistan'; - $country['680'] = 'Palau Republic'; - $country['970'] = 'Palestine'; - $country['507'] = 'Panama'; - $country['675'] = 'Papua New Guinea'; - $country['595'] = 'Paraguay'; - $country['51'] = 'Peru'; - $country['63'] = 'Philippines'; - $country['48'] = 'Poland'; - $country['351'] = 'Portugal'; - $country['1787'] = 'Puerto Rico'; - $country['974'] = 'Qatar'; - $country['262'] = 'Reunion Island'; - $country['40'] = 'Romania'; - $country['7'] = 'Russia'; - $country['250'] = 'Rwanda Republic'; - $country['1670'] = 'Saipan/Mariannas'; - $country['378'] = 'San Marino'; - $country['239'] = 'Sao Tome/Principe'; - $country['966'] = 'Saudi Arabia'; - $country['221'] = 'Senegal'; - $country['381'] = 'Serbia'; - $country['248'] = 'Seychelles Island'; - $country['232'] = 'Sierra Leone'; - $country['65'] = 'Singapore'; - $country['421'] = 'Slovakia'; - $country['386'] = 'Slovenia'; - $country['677'] = 'Solomon Islands'; - $country['252'] = 'Somalia Republic'; - $country['685'] = 'Somoa'; - $country['27'] = 'South Africa'; - $country['82'] = 'South Korea'; - $country['34'] = 'Spain'; - $country['94'] = 'Sri Lanka'; - $country['290'] = 'St. Helena'; - $country['1869'] = 'St. Kitts'; - $country['1758'] = 'St. Lucia'; - $country['508'] = 'St. Pierre'; - $country['1784'] = 'St. Vincent'; - $country['249'] = 'Sudan'; - $country['597'] = 'Suriname'; - $country['268'] = 'Swaziland'; - $country['46'] = 'Sweden'; - $country['41'] = 'Switzerland'; - $country['963'] = 'Syria'; - $country['886'] = 'Taiwan'; - $country['992'] = 'Tajikistan'; - $country['255'] = 'Tanzania'; - $country['66'] = 'Thailand'; - $country['228'] = 'Togo Republic'; - $country['690'] = 'Tokelau'; - $country['676'] = 'Tonga Islands'; - $country['1868'] = 'Trinidad & Tobago'; - $country['216'] = 'Tunisia'; - $country['90'] = 'Turkey'; - $country['993'] = 'Turkmenistan'; - $country['1649'] = 'Turks & Caicos Island'; - $country['688'] = 'Tuvalu'; - $country['256'] = 'Uganda'; - $country['380'] = 'Ukraine'; - $country['971'] = 'United Arab Emirates'; - $country['44'] = 'United Kingdom'; - $country['598'] = 'Uruguay'; - $country['1 '] = 'USA/Canada'; - $country['998'] = 'Uzbekistan'; - $country['678'] = 'Vanuatu'; - $country['3966'] = 'Vatican City'; - $country['58'] = 'Venezuela'; - $country['84'] = 'Vietnam'; - $country['1340'] = 'Virgin Islands (US)'; - $country['681'] = 'Wallis/Futuna Islands'; - $country['967'] = 'Yemen Arab Republic'; - $country['260'] = 'Zambia'; - $country['263'] = 'Zimbabwe'; - $country[''] = acym_translation('ACYM_PHONE_NOCOUNTRY'); - - $countryCodeForSelect = []; - - foreach ($country as $key => $one) { - $countryCodeForSelect[$key] = $one.' +'.$key; - } - - return acym_select($countryCodeForSelect, $name, empty($defaultvalue) ? '' : $defaultvalue, 'class="acym__select__country"', 'value', 'text'); -} - -function acym_displayDateFormat($format, $name = 'date', $default = '14/06/1997', $attributes = '') -{ - $attributes = empty($attributes) ? 'class="acym__custom__fields__select__form "' : $attributes; - $default = empty($default) ? '14/06/1997' : $default; - $return = '
                '; - $days = []; - for ($i = 1 ; $i != 31 ; $i++) { - $days[$i < 10 ? '0'.$i : $i] = $i < 10 ? '0'.$i : $i; - } - $month = [ - '01' => acym_translation('ACYM_JANUARY'), - '02' => acym_translation('ACYM_FEBRUARY'), - '03' => acym_translation('ACYM_MARCH'), - '04' => acym_translation('ACYM_APRIL'), - '05' => acym_translation('ACYM_MAY'), - '06' => acym_translation('ACYM_JUNE'), - '07' => acym_translation('ACYM_JULY'), - '08' => acym_translation('ACYM_AUGUST'), - '09' => acym_translation('ACYM_SEPTEMBER'), - '10' => acym_translation('ACYM_OCTOBER'), - '11' => acym_translation('ACYM_NOVEMBER'), - '12' => acym_translation('ACYM_DECEMBER'), - ]; - $year = []; - for ($i = 1900 ; $i <= acym_date('now', 'Y') ; $i++) { - $year[$i] = $i; - } - $formatToDisplay = explode('%', $format); - $defaultDate = explode('/', $default); - - $i = 0; - unset($formatToDisplay[0]); - foreach ($formatToDisplay as $one) { - if ($one == 'd') { - $return .= '
                '.acym_select($days, $name, $defaultDate[$i], $attributes, 'value', 'text').'
                '; - } - if ($one == 'm') { - $return .= '
                '.acym_select($month, $name, $defaultDate[$i], $attributes, 'value', 'text').'
                '; - } - if ($one == 'y') { - $return .= '
                '.acym_select($year, $name, $defaultDate[$i], $attributes, 'value', 'text').'
                '; - } - $i++; - } - - $return .= '
                '; - - return $return; -} - -function acym_selectMultiple($data, $name, $selected = [], $attribs = [], $optValue = "value", $optText = "text", $translate = false) -{ - if (substr($name, -2) !== '[]') { - $name .= "[]"; - } - - $dropdown = "'; - - return $dropdown; -} - -function acym_selectOption($value, $text = '', $optKey = 'value', $optText = 'text', $disable = false) -{ - $option = new stdClass(); - $option->$optKey = $value; - $option->$optText = acym_translation($text); - $option->disable = $disable; - - return $option; -} - -function acym_gridID($rowNum, $recId, $checkedOut = false, $name = 'cid', $stub = 'cb') -{ - return ''; -} - -function acym_level($level) -{ - $config = acym_config(); - if ($config->get($config->get('level'), 0) >= $level) { - return true; - } - - return false; -} - -function acym_getDate($time = 0, $format = '%d %B %Y %H:%M') -{ - if (empty($time)) { - return ''; - } - - if (is_numeric($format)) { - $format = acym_translation('ACYM_DATE_FORMAT_LC'.$format); - } - - $format = str_replace( - ['%A', '%d', '%B', '%m', '%Y', '%y', '%H', '%M', '%S', '%a', '%I', '%p', '%w'], - ['l', 'd', 'F', 'm', 'Y', 'y', 'H', 'i', 's', 'D', 'h', 'a', 'w'], - $format - ); - - try { - return acym_date($time, $format, false); - } catch (Exception $e) { - return date($format, $time); - } -} - -function acym_isRobot() -{ - if (empty($_SERVER)) { - return false; - } - if (!empty($_SERVER['HTTP_USER_AGENT']) && strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'spambayes') !== false) { - return true; - } - if (!empty($_SERVER['REMOTE_ADDR']) && version_compare($_SERVER['REMOTE_ADDR'], '64.235.144.0', '>=') && version_compare($_SERVER['REMOTE_ADDR'], '64.235.159.255', '<=')) { - return true; - } - - return false; -} - -function acym_isAllowed($allowedGroups, $groups = null) -{ - if ($allowedGroups == 'all') { - return true; - } - if ($allowedGroups == 'none') { - return false; - } - if (!is_array($allowedGroups)) { - $allowedGroups = explode(',', trim($allowedGroups, ',')); - } - - $currentUserid = acym_currentUserId(); - if (empty($currentUserid) && empty($groups) && in_array('nonloggedin', $allowedGroups)) { - return true; - } - - if (empty($groups) && empty($currentUserid)) { - return false; - } - if (empty($groups)) { - $groups = acym_getGroupsByUser($currentUserid, false); - } - - if (!is_array($groups)) { - $groups = [$groups]; - } - $inter = array_intersect($groups, $allowedGroups); - if (empty($inter)) { - return false; - } - - return true; -} - -function acym_getFunctionsEmailCheck($controllButtons = [], $bounce = false) -{ - $addressCheck = '!emailAddress.match(/^'.acym_getEmailRegex(true).'((,|;)'.acym_getEmailRegex( - true - ).')*$/i)'; - - $return = ''; - - return $return; -} - -function acym_loadLanguage() -{ - acym_loadLanguageFile(ACYM_LANGUAGE_FILE, ACYM_ROOT, null, true); - acym_loadLanguageFile(ACYM_LANGUAGE_FILE.'_custom', ACYM_ROOT, null, true); -} - -function acym_createDir($dir, $report = true, $secured = false) -{ - if (is_dir($dir)) { - return true; - } - - $indexhtml = ''; - - try { - $status = acym_createFolder($dir); - } catch (Exception $e) { - $status = false; - } - - if (!$status) { - if ($report) { - acym_display('Could not create the directory '.$dir, 'error'); - } - - return false; - } - - try { - $status = acym_writeFile($dir.DS.'index.html', $indexhtml); - } catch (Exception $e) { - $status = false; - } - - if (!$status) { - if ($report) { - acym_display('Could not create the file '.$dir.DS.'index.html', 'error'); - } - } - - if ($secured) { - try { - $htaccess = 'Order deny,allow'."\r\n".'Deny from all'; - $status = acym_writeFile($dir.DS.'.htaccess', $htaccess); - } catch (Exception $e) { - $status = false; - } - - if (!$status) { - if ($report) { - acym_display('Could not create the file '.$dir.DS.'.htaccess', 'error'); - } - } - } - - return $status; -} - -function acym_getUpgradeLink($tolevel) -{ - $config = acym_config(); - - return ' '.acym_translation('ONLY_FROM_'.strtoupper($tolevel)).''; -} - -function acym_replaceDate($mydate, $display = false) -{ - if (strpos($mydate, '[time]') === false) { - if (is_numeric($mydate) && $display) return acym_date($mydate, 'Y-m-d H:i:s'); - - return $mydate; - } - - if ($mydate == '[time]' && $display) return acym_translation('ACYM_NOW'); - - $mydate = str_replace('[time]', time(), $mydate); - $operators = ['+', '-']; - foreach ($operators as $oneOperator) { - if (strpos($mydate, $oneOperator) === false) continue; - - $dateArray = explode($oneOperator, $mydate); - if ($oneOperator == '+') { - if ($display) { - $mydate = acym_translation_sprintf('ACYM_AFTER_DATE', acym_secondsToTime(intval($dateArray[1]))); - } else { - $mydate = intval($dateArray[0]) + intval($dateArray[1]); - } - } elseif ($oneOperator == '-') { - if ($display) { - $mydate = acym_translation_sprintf('ACYM_BEFORE_DATE', acym_secondsToTime(intval($dateArray[1]))); - } else { - $mydate = intval($dateArray[0]) - intval($dateArray[1]); - } - } - } - - return $mydate; -} - -function acym_secondsToTime($seconds) -{ - $dtF = new \DateTime('@0'); - $dtT = new \DateTime("@$seconds"); - - return $dtF->diff($dtT)->format('%a day(s) %h h, %i min'); -} - -function acym_generateKey($length) -{ - $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - $randstring = ''; - $max = strlen($characters) - 1; - for ($i = 0 ; $i < $length ; $i++) { - $randstring .= $characters[mt_rand(0, $max)]; - } - - return $randstring; -} - -function acym_absoluteURL($text) -{ - static $mainurl = ''; - if (empty($mainurl)) { - $urls = parse_url(ACYM_LIVE); - if (!empty($urls['path'])) { - $mainurl = substr(ACYM_LIVE, 0, strrpos(ACYM_LIVE, $urls['path'])).'/'; - } else { - $mainurl = ACYM_LIVE; - } - } - - $text = str_replace( - [ - 'href="../undefined/', - 'href="../../undefined/', - 'href="../../../undefined//', - 'href="undefined/', - ACYM_LIVE.'http://', - ACYM_LIVE.'https://', - ], - [ - 'href="'.$mainurl, - 'href="'.$mainurl, - 'href="'.$mainurl, - 'href="'.ACYM_LIVE, - 'http://', - 'https://', - ], - $text - ); - $text = preg_replace('#href="(/?administrator)?/({|%7B)#Ui', 'href="$2', $text); - - $text = preg_replace('#href="http:/([^/])#Ui', 'href="http://$1', $text); - - $text = preg_replace( - '#href="'.preg_quote(str_replace(['http://', 'https://'], '', $mainurl), '#').'#Ui', - 'href="'.$mainurl, - $text - ); - - $replace = []; - $replaceBy = []; - if ($mainurl !== ACYM_LIVE) { - - $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"(?!(\{|%7B|\[|\#|\\\\|[a-z]{3,15}:|/))(?:\.\./)#i'; - $replaceBy[] = '$1="'.substr(ACYM_LIVE, 0, strrpos(rtrim(ACYM_LIVE, '/'), '/') + 1); - - - $subfolder = substr(ACYM_LIVE, strrpos(rtrim(ACYM_LIVE, '/'), '/')); - $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"'.preg_quote($subfolder, '#').'(\{|%7B)#i'; - $replaceBy[] = '$1="$2'; - } - - $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"(?!(\{|%7B|\[|\#|\\\\|[a-z]{3,15}:|/))(?:\.\./|\./)?#i'; - $replaceBy[] = '$1="'.ACYM_LIVE; - $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"(?!(\{|%7B|\[|\#|\\\\|[a-z]{3,15}:))/#i'; - $replaceBy[] = '$1="'.$mainurl; - - $replace[] = '#((?:background-image|background)[ ]*:[ ]*url\((?:\'|"|")?(?!(\\\\|[a-z]{3,15}:|/|\'|"|"))(?:\.\./|\./)?)#i'; - $replaceBy[] = '$1'.ACYM_LIVE; - - return preg_replace($replace, $replaceBy, $text); -} - -function acym_mainURL(&$link) -{ - static $mainurl = ''; - static $otherarguments = false; - if (empty($mainurl)) { - $urls = parse_url(ACYM_LIVE); - if (isset($urls['path']) && strlen($urls['path']) > 0) { - $mainurl = substr(ACYM_LIVE, 0, strrpos(ACYM_LIVE, $urls['path'])).'/'; - $otherarguments = trim(str_replace($mainurl, '', ACYM_LIVE), '/'); - if (strlen($otherarguments) > 0) { - $otherarguments .= '/'; - } - } else { - $mainurl = ACYM_LIVE; - } - } - - if ($otherarguments && strpos($link, $otherarguments) === false) { - $link = $otherarguments.$link; - } - - return $mainurl; -} - -function acym_bytes($val) -{ - $val = trim($val); - if (empty($val)) { - return 0; - } - $last = strtolower($val[strlen($val) - 1]); - switch ($last) { - case 'g': - $val = intval($val) * 1073741824; - break; - case 'm': - $val = intval($val) * 1048576; - break; - case 'k': - $val = intval($val) * 1024; - break; - } - - return (int)$val; -} - -function acym_getTables() -{ - return acym_loadResultArray('SHOW TABLES'); -} - -function acym_getColumns($table, $acyTable = true, $putPrefix = true) -{ - if ($putPrefix) { - $prefix = $acyTable ? '#__acym_' : '#__'; - $table = $prefix.$table; - } - - return acym_loadResultArray('SHOW COLUMNS FROM '.acym_secureDBColumn($table)); -} - -function acym_display($messages, $type = 'success', $close = true) -{ - if (empty($messages)) { - return; - } - - if (!is_array($messages)) { - $messages = [$messages]; - } - - echo '
                '; - - if ($close) { - echo ''; - } - - echo '

                '.implode('

                ', $messages).'

                '; -} - -function acym_secureDBColumn($fieldName) -{ - if (!is_string($fieldName) || preg_match('|[^a-z0-9#_.-]|i', $fieldName) !== 0) { - die('field, table or database "'.acym_escape($fieldName).'" not secured'); - } - - return $fieldName; -} - -function acym_displayErrors() -{ - error_reporting(E_ALL); - @ini_set("display_errors", 1); -} - -function acym_increasePerf() -{ - @ini_set('max_execution_time', 600); - @ini_set('pcre.backtrack_limit', 1000000); -} - -function acym_config($reload = false) -{ - static $configClass = null; - if ($configClass === null || $reload) { - $configClass = acym_get('class.configuration'); - $configClass->load(); - } - - return $configClass; -} - -function acym_getModuleFormName() -{ - static $i = 1; - - return 'formAcym'.rand(1000, 9999).$i++; -} - -function acym_initModule($params = null) -{ - static $loaded = false; - if ($loaded) { - return; - } - $loaded = true; - - if (method_exists($params, 'get')) { - $nameCaption = $params->get('nametext'); - $emailCaption = $params->get('emailtext'); - } - - if (empty($nameCaption)) { - $nameCaption = acym_translation('ACYM_NAME'); - } - if (empty($emailCaption)) { - $emailCaption = acym_translation('ACYM_EMAIL'); - } - - $js = " var acymModule = []; - acymModule['emailRegex'] = /^".acym_getEmailRegex(true)."$/i; - acymModule['NAMECAPTION'] = '".str_replace("'", "\'", $nameCaption)."'; - acymModule['NAME_MISSING'] = '".str_replace("'", "\'", acym_translation('ACYM_MISSING_NAME'))."'; - acymModule['EMAILCAPTION'] = '".str_replace("'", "\'", $emailCaption)."'; - acymModule['VALID_EMAIL'] = '".str_replace("'", "\'", acym_translation('ACYM_VALID_EMAIL'))."'; - acymModule['CAPTCHA_MISSING'] = '".str_replace("'", "\'", acym_translation('ACYM_WRONG_CAPTCHA'))."'; - acymModule['NO_LIST_SELECTED'] = '".str_replace("'", "\'", acym_translation('ACYM_SELECT_LIST'))."'; - acymModule['ACCEPT_TERMS'] = '".str_replace("'", "\'", acym_translation('ACYM_ACCEPT_TERMS'))."'; - "; - - $config = acym_config(); - $version = str_replace('.', '', $config->get('version')); - - $scriptName = acym_addScript(false, ACYM_JS.'module.min.js?v='.$version); - acym_addScript(true, $js, 'text/javascript', false, false, false, ['script_name' => $scriptName]); - - if ('wordpress' === ACYM_CMS) { - wp_enqueue_style('style_acymailing_module', ACYM_CSS.'module.min.css?v='.$version); - } else { - acym_addStyle(false, ACYM_CSS.'module.min.css?v='.$version); - } -} - -function acym_footer() -{ - $config = acym_config(); - $description = ACYM_CMS_TITLE.' E-mail Marketing'; - $text = ' - '; - if (acym_level(1) && !acym_level(4)) { - return $text; - } - $level = $config->get('level'); - $text .= ''; - - return $text; -} - -function acym_perf($name) -{ - static $previoustime = 0; - static $previousmemory = 0; - static $file = ''; - - if (empty($file)) { - $file = ACYM_ROOT.'acydebug_'.rand().'.txt'; - $previoustime = microtime(true); - $previousmemory = memory_get_usage(); - file_put_contents( - $file, - "\r\n\r\n-- new test : ".$name." -- ".date('d M H:i:s')." from ".@$_SERVER['REMOTE_ADDR'], - FILE_APPEND - ); - - return; - } - - $nowtime = microtime(true); - $totaltime = $nowtime - $previoustime; - $previoustime = $nowtime; - - $nowmemory = memory_get_usage(); - $totalmemory = $nowmemory - $previousmemory; - $previousmemory = $nowmemory; - - file_put_contents( - $file, - "\r\n".$name.' : '.number_format($totaltime, 2).'s - '.$totalmemory.' / '.memory_get_usage(), - FILE_APPEND - ); -} - -function acym_get($path) -{ - list($group, $class) = explode('.', $path); - - $className = $class.ucfirst(str_replace('_front', '', $group)); - if ($group == 'helper' && strpos($className, 'acym') !== 0) { - $className = 'acym'.$className; - } - if ($group == 'class') { - $className = 'acym'.$className; - } - - if (substr($group, 0, 4) == 'view') { - $className = $className.ucfirst($class); - $class .= DS.'view.html'; - } - - if (!class_exists($className)) { - include(constant(strtoupper('ACYM_'.$group)).$class.'.php'); - } - - if (!class_exists($className)) { - return null; - } - - return new $className(); -} - -function acym_getCID($field = '') -{ - $oneResult = acym_getVar('array', 'cid', [], ''); - $oneResult = intval(reset($oneResult)); - if (!empty($oneResult) || empty($field)) { - return $oneResult; - } - - $oneResult = acym_getVar('int', $field, 0, ''); - - return intval($oneResult); -} - -function acym_checkRobots() -{ - if (preg_match('#(libwww-perl|python|googlebot)#i', @$_SERVER['HTTP_USER_AGENT'])) { - die('Not allowed for robots. Please contact us if you are not a robot'); - } -} - -function acym_importFile($file, $uploadPath, $onlyPict, $maxwidth = '') -{ - acym_checkToken(); - - $config = acym_config(); - $additionalMsg = ''; - - if ($file["error"] > 0) { - $file["error"] = intval($file["error"]); - if ($file["error"] > 8) { - $file["error"] = 0; - } - - $phpFileUploadErrors = [ - 0 => 'Unknown error', - 1 => 'The uploaded file exceeds the upload_max_filesize directive in php.ini', - 2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', - 3 => 'The uploaded file was only partially uploaded', - 4 => 'No file was uploaded', - 6 => 'Missing a temporary folder', - 7 => 'Failed to write file to disk', - 8 => 'A PHP extension stopped the file upload', - ]; - - acym_enqueueNotification(acym_translation_sprintf('ACYM_ERROR_UPLOADING_FILE_X', $phpFileUploadErrors[$file["error"]]), 'error', 5000); - - return false; - } - - acym_createDir($uploadPath, true); - - if (!is_writable($uploadPath)) { - @chmod($uploadPath, '0755'); - if (!is_writable($uploadPath)) { - acym_display(acym_translation_sprintf('ACYM_WRITABLE_FOLDER', $uploadPath), 'error'); - - return false; - } - } - - if ($onlyPict) { - $allowedExtensions = ['png', 'jpeg', 'jpg', 'gif', 'ico', 'bmp']; - } else { - $allowedExtensions = explode(',', $config->get('allowed_files')); - } - - if (!preg_match('#\.('.implode('|', $allowedExtensions).')$#Ui', $file["name"], $extension)) { - $ext = substr($file["name"], strrpos($file["name"], '.') + 1); - acym_display( - acym_translation_sprintf( - 'ACYM_ACCEPTED_TYPE', - acym_escape($ext), - implode(', ', $allowedExtensions) - ), - 'error' - ); - - return false; - } - - if (preg_match('#\.(php.?|.?htm.?|pl|py|jsp|asp|sh|cgi)#Ui', $file["name"])) { - acym_display( - 'This extension name is blocked by the system regardless your configuration for security reasons', - 'error' - ); - - return false; - } - - $file["name"] = preg_replace( - '#[^a-z0-9]#i', - '_', - strtolower(substr($file["name"], 0, strrpos($file["name"], '.'))) - ).'.'.$extension[1]; - - if ($onlyPict) { - $imageSize = getimagesize($file['tmp_name']); - if (empty($imageSize)) { - acym_display('Invalid image', 'error'); - - return false; - } - } - - if (file_exists($uploadPath.DS.$file["name"])) { - $i = 1; - $nameFile = preg_replace("/\\.[^.\\s]{3,4}$/", "", $file["name"]); - $ext = substr($file["name"], strrpos($file["name"], '.') + 1); - while (file_exists($uploadPath.DS.$nameFile.'_'.$i.'.'.$ext)) { - $i++; - } - - $file["name"] = $nameFile.'_'.$i.'.'.$ext; - $additionalMsg = '
                '.acym_translation_sprintf('ACYM_FILE_RENAMED', $file["name"]); - if ($onlyPict) { - $additionalMsg .= '
                '.acym_translation( - 'ACYM_RENAME_OR_REPLACE' - ).''; - } - } - - if (!acym_uploadFile($file["tmp_name"], rtrim($uploadPath, DS).DS.$file["name"])) { - if (!move_uploaded_file($file["tmp_name"], rtrim($uploadPath, DS).DS.$file["name"])) { - acym_display( - acym_translation_sprintf( - 'ACYM_FAIL_UPLOAD', - ''.acym_escape($file["tmp_name"]).'', - ''.acym_escape(rtrim($uploadPath, DS).DS.$file["name"]).'' - ), - 'error' - ); - - return false; - } - } - - if (!empty($maxwidth) || ($onlyPict && $imageSize[0] > 1000)) { - $imageHelper = acym_get('helper.image'); - if ($imageHelper->available()) { - $imageHelper->maxHeight = 9999; - if (empty($maxwidth)) { - $imageHelper->maxWidth = 700; - } else { - $imageHelper->maxWidth = $maxwidth; - } - $message = 'ACYM_IMAGE_RESIZED'; - $imageHelper->destination = $uploadPath; - $thumb = $imageHelper->generateThumbnail(rtrim($uploadPath, DS).DS.$file["name"], $file["name"]); - $resize = acym_moveFile($thumb['file'], $uploadPath.DS.$file["name"]); - if ($thumb) { - $additionalMsg .= '
                '.acym_translation($message); - } - } - } - acym_enqueueNotification(acym_translation('ACYM_SUCCESS_FILE_UPLOAD').$additionalMsg, 'success', 5000); - - return $file["name"]; -} - -function acym_inputFile($name, $value = '', $id = '', $class = '', $attributes = '') -{ - $return = '
                '; - $return .= empty($value) ? acym_translation('ACYM_NO_FILE_CHOSEN') : $value; - $return .= '
                '; - - return $return; -} - -function acym_getFilesFolder($folder = 'upload', $multipleFolders = false) -{ - $listClass = acym_get('class.list'); - if (acym_isAdmin()) { - $allLists = $listClass->getAll(); - } else { - $allLists = $listClass->getAll(); - } - $newFolders = []; - - $config = acym_config(); - if ($folder == 'upload') { - $uploadFolder = $config->get('uploadfolder', ACYM_UPLOAD_FOLDER); - } else { - $uploadFolder = $config->get('mediafolder', ACYM_UPLOAD_FOLDER); - } - - $folders = explode(',', $uploadFolder); - - foreach ($folders as $k => $folder) { - $folders[$k] = trim($folder, '/'); - if (strpos($folder, '{userid}') !== false) { - $folders[$k] = str_replace('{userid}', acym_currentUserId(), $folders[$k]); - } - - if (strpos($folder, '{listalias}') !== false) { - if (empty($allLists)) { - $noList = new stdClass(); - $noList->alias = 'none'; - $allLists = [$noList]; - } - - foreach ($allLists as $oneList) { - $newFolders[] = str_replace( - '{listalias}', - strtolower(str_replace([' ', '-'], '_', $oneList->alias)), - $folders[$k] - ); - } - - $folders[$k] = ''; - continue; - } - - if (strpos($folder, '{groupid}') !== false || strpos($folder, '{groupname}') !== false) { - $groups = acym_getGroupsByUser(acym_currentUserId(), false); - acym_arrayToInteger($groups); - if (empty($groups)) { - $groups[] = 0; - } - - $completeGroups = acym_loadObjectList('SELECT id, title FROM #__usergroups WHERE id IN ('.implode(',', $groups).')'); - - foreach ($completeGroups as $group) { - $newFolders[] = str_replace( - ['{groupid}', '{groupname}'], - [$group->id, strtolower(str_replace(' ', '_', $group->title))], - $folders[$k] - ); - } - - $folders[$k] = ''; - } - } - - $folders = array_merge($folders, $newFolders); - $folders = array_filter($folders); - sort($folders); - if ($multipleFolders) { - return $folders; - } else { - return array_shift($folders); - } -} - -function acym_generateArborescence($folders) -{ - $folderList = []; - foreach ($folders as $folder) { - $folderPath = acym_cleanPath(ACYM_ROOT.trim(str_replace('/', DS, trim($folder)), DS)); - if (!file_exists($folderPath)) { - acym_createDir($folderPath); - } - $subFolders = acym_listFolderTree($folderPath, '', 15); - $folderList[$folder] = []; - foreach ($subFolders as $oneFolder) { - $subFolder = str_replace(ACYM_ROOT, '', $oneFolder['relname']); - $subFolder = str_replace(DS, '/', $subFolder); - $folderList[$folder][$subFolder] = ltrim($subFolder, '/'); - } - $folderList[$folder] = array_unique($folderList[$folder]); - } - - return $folderList; -} - -function acym_arrayToInteger(&$array) -{ - if (is_array($array)) { - $array = array_map('intval', $array); - } else { - $array = []; - } -} - -function acym_arrayToString($array, $inner_glue = '=', $outer_glue = ' ', $keepOuterKey = false) -{ - $output = []; - - foreach ($array as $key => $item) { - if (is_array($item)) { - if ($keepOuterKey) { - $output[] = $key; - } - - $output[] = acym_arrayToString($item, $inner_glue, $outer_glue, $keepOuterKey); - } else { - $output[] = $key.$inner_glue.'"'.$item.'"'; - } - } - - return implode($outer_glue, $output); -} - -function acym_makeSafeFile($file) -{ - $file = rtrim($file, '.'); - $regex = ['#(\.){2,}#', '#[^A-Za-z0-9\.\_\- ]#', '#^\.#']; - - return trim(preg_replace($regex, '', $file)); -} - -function acym_sortablelist($table, $ordering) -{ - acym_addScript(false, ACYM_JS.'sortable.js?v='.@filemtime(ACYM_MEDIA.'js'.DS.'sortable.js')); - - $js = " - document.addEventListener(\"DOMContentLoaded\", function(event) { - Sortable.create(document.getElementById('acym_sortable_listing'), { - handle: '.acyicon-draghandle', - animation: 150, - dataIdAttr: 'acyorderid', - ghostClass: 'acysortable-ghost', - store: { - set: function (sortable) { - var cid = sortable.toArray(); - var order = [".$ordering."]; - - var xhr = new XMLHttpRequest(); - xhr.open('GET', '".acym_prepareAjaxURL( - $table - )."&task=saveorder&'+cid.join('&')+'&'+order.join('&')+'&".acym_getFormToken()."'); - xhr.send(); - } - } - }); - });"; - - acym_addScript(true, $js); -} - -function acym_tooltip($text, $tooltipText, $classContainer = '', $title = '', $link = '') -{ - if (!empty($link)) { - $text = ''.$text.''; - } - - if (!empty($title)) { - $title = ''.$title.''; - } - - return ''.$title.$tooltipText.''.$text.''; -} - -function acym_info($tooltipText) -{ - return acym_tooltip('', $tooltipText, 'acym__tooltip__info'); -} - -function acym_deleteFolder($path) -{ - $path = acym_cleanPath($path); - if (!is_dir($path)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FOLDER', $path), 'error', 0); - - return false; - } - $files = acym_getFiles($path); - if (!empty($files)) { - foreach ($files as $oneFile) { - if (!acym_deleteFile($path.DS.$oneFile)) { - return false; - } - } - } - - $folders = acym_getFolders($path, '.', false, false, []); - if (!empty($folders)) { - foreach ($folders as $oneFolder) { - if (!acym_deleteFolder($path.DS.$oneFolder)) { - return false; - } - } - } - - if (@rmdir($path)) { - $ret = true; - } else { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_DELETE_FOLDER', $path), 'error', 0); - $ret = false; - } - - return $ret; -} - -function acym_createFolder($path = '', $mode = 0755) -{ - $path = acym_cleanPath($path); - if (file_exists($path)) { - return true; - } - - $origmask = @umask(0); - $ret = @mkdir($path, $mode, true); - @umask($origmask); - - return $ret; -} - -function acym_getFolders($path, $filter = '.', $recurse = false, $full = false, $exclude = ['.svn', 'CVS', '.DS_Store', '__MACOSX'], $excludefilter = ['^\..*']) -{ - $path = acym_cleanPath($path); - - if (!is_dir($path)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FOLDER', $path), 'error', 0); - - return false; - } - - if (count($excludefilter)) { - $excludefilter_string = '/('.implode('|', $excludefilter).')/'; - } else { - $excludefilter_string = ''; - } - - $arr = acym_getItems($path, $filter, $recurse, $full, $exclude, $excludefilter_string, false); - asort($arr); - - return array_values($arr); -} - -function acym_getFiles($path, $filter = '.', $recurse = false, $full = false, $exclude = ['.svn', 'CVS', '.DS_Store', '__MACOSX'], $excludefilter = ['^\..*', '.*~'], $naturalSort = false) -{ - $path = acym_cleanPath($path); - - if (!is_dir($path)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FOLDER', $path), 'error', 0); - - return false; - } - - if (count($excludefilter)) { - $excludefilter_string = '/('.implode('|', $excludefilter).')/'; - } else { - $excludefilter_string = ''; - } - - $arr = acym_getItems($path, $filter, $recurse, $full, $exclude, $excludefilter_string, true); - - if ($naturalSort) { - natsort($arr); - } else { - asort($arr); - } - - return array_values($arr); -} - -function acym_getItems($path, $filter, $recurse, $full, $exclude, $excludefilter_string, $findfiles) -{ - $arr = []; - - if (!($handle = @opendir($path))) { - return $arr; - } - - while (($file = readdir($handle)) !== false) { - if ($file == '.' || $file == '..' || in_array($file, $exclude) || (!empty($excludefilter_string) && preg_match( - $excludefilter_string, - $file - ))) { - continue; - } - $fullpath = $path.'/'.$file; - - $isDir = is_dir($fullpath); - - if (($isDir xor $findfiles) && preg_match("/$filter/", $file)) { - if ($full) { - $arr[] = $fullpath; - } else { - $arr[] = $file; - } - } - - if ($isDir && $recurse) { - if (is_int($recurse)) { - $arr = array_merge( - $arr, - acym_getItems( - $fullpath, - $filter, - $recurse - 1, - $full, - $exclude, - $excludefilter_string, - $findfiles - ) - ); - } else { - $arr = array_merge( - $arr, - acym_getItems( - $fullpath, - $filter, - $recurse, - $full, - $exclude, - $excludefilter_string, - $findfiles - ) - ); - } - } - } - - closedir($handle); - - return $arr; -} - -function acym_copyFolder($src, $dest, $path = '', $force = false, $use_streams = false) -{ - - if ($path) { - $src = acym_cleanPath($path.'/'.$src); - $dest = acym_cleanPath($path.'/'.$dest); - } - - $src = rtrim($src, DIRECTORY_SEPARATOR); - $dest = rtrim($dest, DIRECTORY_SEPARATOR); - - if (!file_exists($src)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_FOLDER_DOES_NOT_EXIST', $src), 'error', 0); - - return false; - } - - if (file_exists($dest) && !$force) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_FOLDER_ALREADY_EXIST', $dest), 'error', 0); - - return true; - } - - if (!acym_createFolder($dest)) { - acym_enqueueNotification(acym_translation('ACYM_CANNOT_CREATE_DESTINATION_FOLDER'), 'error', 0); - - return false; - } - - if (!($dh = @opendir($src))) { - acym_enqueueNotification(acym_translation('ACYM_CANNOT_OPEN_SOURCE_FOLDER'), 'error', 0); - - return false; - } - - while (($file = readdir($dh)) !== false) { - $sfid = $src.'/'.$file; - $dfid = $dest.'/'.$file; - - switch (filetype($sfid)) { - case 'dir': - if ($file != '.' && $file != '..') { - $ret = acym_copyFolder($sfid, $dfid, null, $force, $use_streams); - - if ($ret !== true) { - return $ret; - } - } - break; - - case 'file': - if (!@copy($sfid, $dfid)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COPY_FILE_FAILED_PERMISSION', $sfid), 'error', 0); - - return false; - } - break; - } - } - - return true; -} - -function acym_moveFolder($src, $dest, $path = '', $use_streams = false) -{ - if ($path) { - $src = acym_cleanPath($path.'/'.$src); - $dest = acym_cleanPath($path.'/'.$dest); - } - - if (!file_exists($src)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_FOLDER_DOES_NOT_EXIST', $src), 'error', 0); - - return false; - } - - if (!@rename($src, $dest)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_MOVE_FOLDER_PERMISSION', $src, $dest), 'error', 0); - - return false; - } - - return true; -} - -function acym_listFolderTree($path, $filter, $maxLevel = 3, $level = 0, $parent = 0) -{ - $dirs = []; - - if ($level == 0) { - $GLOBALS['acym_folder_tree_index'] = 0; - } - - if ($level < $maxLevel) { - $folders = acym_getFolders($path, $filter); - - foreach ($folders as $name) { - $id = ++$GLOBALS['acym_folder_tree_index']; - $fullName = acym_cleanPath($path.'/'.$name); - $dirs[] = [ - 'id' => $id, - 'parent' => $parent, - 'name' => $name, - 'fullname' => $fullName, - 'relname' => str_replace(ACYM_ROOT, '', $fullName), - ]; - $dirs2 = acym_listFolderTree($fullName, $filter, $maxLevel, $level + 1, $id); - $dirs = array_merge($dirs, $dirs2); - } - } - - return $dirs; -} - -function acym_deleteFile($file) -{ - $file = acym_cleanPath($file); - if (!is_file($file)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FILE', $file), 'error', 0); - - return false; - } - - @chmod($file, 0777); - - if (!@unlink($file)) { - $filename = basename($file); - acym_enqueueNotification(acym_translation_sprintf('ACYM_FAILED_DELETE', $filename), 'error', 0); - - return false; - } - - return true; -} - -function acym_writeFile($file, $buffer, $use_streams = false) -{ - if (!file_exists(dirname($file)) && acym_createFolder(dirname($file)) == false) { - return false; - } - - $file = acym_cleanPath($file); - $ret = is_int(file_put_contents($file, $buffer)); - - return $ret; -} - -function acym_moveFile($src, $dest, $path = '', $use_streams = false) -{ - if (!empty($path)) { - $src = acym_cleanPath($path.'/'.$src); - $dest = acym_cleanPath($path.'/'.$dest); - } - - if (!is_readable($src)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_FIND_FILE_SOURCE_PERMISSION', $src), 'error', 0); - - return false; - } - - if (!@rename($src, $dest)) { - acym_enqueueNotification(acym_translation('ACYM_COULD_NOT_MOVE_FILE'), 'error', 0); - - return false; - } - - return true; -} - -function acym_uploadFile($src, $dest) -{ - $dest = acym_cleanPath($dest); - - $baseDir = dirname($dest); - if (!file_exists($baseDir)) { - acym_createFolder($baseDir); - } - - if (is_writeable($baseDir) && move_uploaded_file($src, $dest)) { - if (@chmod($dest, octdec('0644'))) { - return true; - } else { - acym_enqueueNotification(acym_translation('ACYM_FILE_REJECTED_SAFETY_REASON'), 'error', 0); - } - } else { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_UPLOAD_FILE_PERMISSION', $baseDir), 'error', 0); - } - - return false; -} - -function acym_copyFile($src, $dest, $path = null, $use_streams = false) -{ - if ($path) { - $src = acym_cleanPath($path.'/'.$src); - $dest = acym_cleanPath($path.'/'.$dest); - } - - if (!is_readable($src)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_FIND_FILE_SOURCE_PERMISSION', $src), 'error', 0); - - return false; - } - - if (!@copy($src, $dest)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_COPY_FILE_X_TO_X', $src, $dest), 'error', 0); - - return false; - } - - return true; -} - -function acym_fileGetExt($file) -{ - $dot = strrpos($file, '.'); - if ($dot === false) { - return ''; - } - - return substr($file, $dot + 1); -} - -function acym_cleanPath($path, $ds = DIRECTORY_SEPARATOR) -{ - $path = trim($path); - - if (empty($path)) { - $path = ACYM_ROOT; - } elseif (($ds == '\\') && substr($path, 0, 2) == '\\\\') { - $path = "\\".preg_replace('#[/\\\\]+#', $ds, $path); - } else { - $path = preg_replace('#[/\\\\]+#', $ds, $path); - } - - return $path; -} - -function acym_createArchive($name, $files) -{ - $contents = []; - $ctrldir = []; - - $timearray = getdate(); - $dostime = (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); - $dtime = dechex($dostime); - $hexdtime = chr(hexdec($dtime[6].$dtime[7])).chr(hexdec($dtime[4].$dtime[5])).chr(hexdec($dtime[2].$dtime[3])).chr( - hexdec($dtime[0].$dtime[1]) - ); - - foreach ($files as $file) { - $data = $file['data']; - $filename = str_replace('\\', '/', $file['name']); - - $fr = "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00".$hexdtime; - - $unc_len = strlen($data); - $crc = crc32($data); - $zdata = gzcompress($data); - $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); - $c_len = strlen($zdata); - - $fr .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len).pack('v', strlen($filename)).pack( - 'v', - 0 - ).$filename.$zdata; - - $old_offset = strlen(implode('', $contents)); - $contents[] = $fr; - - $cdrec = "\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00".$hexdtime; - $cdrec .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len).pack('v', strlen($filename)).pack('v', 0).pack( - 'v', - 0 - ).pack('v', 0).pack('v', 0).pack('V', 32).pack('V', $old_offset).$filename; - - $ctrldir[] = $cdrec; - } - - $data = implode('', $contents); - $dir = implode('', $ctrldir); - $buffer = $data.$dir."\x50\x4b\x05\x06\x00\x00\x00\x00".pack('v', count($ctrldir)).pack('v', count($ctrldir)).pack( - 'V', - strlen($dir) - ).pack('V', strlen($data))."\x00\x00"; - - return acym_writeFile($name.'.zip', $buffer); -} - -function acym_currentURL() -{ - $url = isset($_SERVER['HTTPS']) ? 'https' : 'http'; - $url .= '://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; - - return $url; -} - -function acym_accessList() -{ - $listid = acym_getVar('int', 'listid'); - if (empty($listid)) { - return false; - } - - $listClass = acym_get('class.list'); - $myList = $listClass->get($listid); - if (empty($myList->listid)) { - die('Invalid List'); - } - - $currentUserid = acym_currentUserId(); - if (!empty($currentUserid) && $currentUserid == (int)$myList->userid) { - return true; - } - if (empty($currentUserid) || $myList->access_manage == 'none') { - return false; - } - if ($myList->access_manage != 'all' && !acym_isAllowed($myList->access_manage)) { - return false; - } - - return true; -} - -function acym_gridSort( - $title, $order, $direction = 'asc', $selected = '', $task = null, $new_direction = 'asc', $tip = '' -) { - $direction = strtolower($direction); - if ($order != $selected) { - $direction = $new_direction; - } else { - $direction = $direction == 'desc' ? 'asc' : 'desc'; - } - - $icon = ['acyicon-up', 'acyicon-down']; - $index = (int)($direction == 'desc'); - - $result = ''; - $result .= acym_tooltip(acym_translation('ACYM_ORDER_COLUMN'), '', '', acym_translation($title)); - if ($order == $selected) { - $result .= ''; - } - $result .= ''; - - return $result; -} - -function acym_session() -{ - $sessionID = session_id(); - if (empty($sessionID)) { - @session_start(); - } -} - -function acym_filterOrdering($orderingOptions, $selected) -{ - echo ''; - - foreach ($orderingOptions as $value => $text) { - $class = 'acym_ordering_option large-shrink medium-auto small-6 cell button primary'; - if ($value == $selected) { - $class .= ' acym__listing__sort-by--selected'; - } - echo acym_tooltip('', acym_translation("ACYM_SORT_BY").' '.acym_translation($text)); - } -} - -function acym_dropdown($id = null, $target = null, $content = '', $dataPosition = 'bottom', $dataAlignment = 'center') -{ - $dropdown = $target; - $dropdown .= ''; - - return $dropdown; -} - -function acym_listingActions($actions) -{ - $defaultAction = new stdClass(); - $defaultAction->value = 0; - $defaultAction->text = acym_translation('ACYM_CHOOSE_ACTION'); - $defaultAction->disable = true; - - array_unshift($actions, $defaultAction); - - return acym_select($actions, '', null, 'class="medium-shrink cell margin-right-1"', 'value', 'text', 'listing_actions'); -} - -function acym_switchFilter($switchOptions, $selected, $name, $addClass = '') -{ - $return = ''; - foreach ($switchOptions as $value => $text) { - $class = 'button hollow acym__type__choosen cell small-6 xlarge-auto large-shrink'; - if ($value == $selected) { - $class .= ' is-active'; - } - $class .= ' '.$addClass; - $return .= ''; - } - - return $return; -} - -function acym_filterStatus($options, $selected, $name) -{ - $filterStatus = ''; - - foreach ($options as $value => $text) { - $class = 'acym__filter__status clear button secondary'; - if ($value == $selected) { - $class .= ' font-bold acym__status__select'; - } - $disabled = empty($text[1]) ? ' disabled' : ''; - $filterStatus .= ''; - } - - return $filterStatus; -} - -function acym_filterSearch($search, $name, $placeholder = 'ACYM_SEARCH', $showClearBtn = true) -{ - $searchField = '
                -
                - -
                - '; - if ($showClearBtn) { - $searchField .= ''; - } - $searchField .= '
                '; - - return $searchField; -} - -function acym_switch($name, $value, $label = null, $attrInput = [], $labelClass = 'medium-6 small-9', $switchContainerClass = 'auto', $switchClass = 'tiny', $toggle = null, $toggleOpen = true) -{ - static $occurrence = 100; - $occurrence++; - - $id = acym_escape('switch_'.$occurrence); - $checked = $value == 1 ? 'checked="checked"' : ''; - - $switch = ' -
                - $oneAttributeValue) { - $switch .= ' '.$oneAttributeName.'="'.acym_escape($oneAttributeValue).'"'; - } - $switch .= '>'; - $switch .= ' - - -
                '; - - if (!empty($label)) { - $switch = '
                '.$switch.'
                '; - } - - return $switch; -} - -function acym_selectTemplates($mailOptions, $selected, $type, $listId) -{ - echo ''; - foreach ($mailOptions as $oneTpl) { - echo '
                '; - $buttonSelectedClass = ''; - $iconSelectedClass = ' not_selected_template'; - if ($oneTpl->id == $selected) { - $buttonSelectedClass = ' acym_template_option--selected'; - $iconSelectedClass = ' selected_template'; - } - $button = ' - -
                '; - echo $button; - } - echo '
                '; -} - -function acym_backToListing($listingName) -{ - return '

                '.acym_translation('ACYM_BACK_TO_LISTING').'

                '; -} - -function acym_sortBy($options = [], $listing, $default = "") -{ - $default = empty($default) ? reset($options) : $default; - - $selected = acym_getVar('string', $listing.'_ordering', $default); - $orderingSortOrder = acym_getVar('string', $listing.'_ordering_sort_order', 'desc'); - $classSortOrder = $orderingSortOrder == 'asc' ? 'fa-sort-amount-asc' : 'fa-sort-amount-desc'; - - $display = ''.acym_translation('ACYM_SORT_BY').' - '; - - $tooltipText = $orderingSortOrder == 'asc' ? acym_translation('ACYM_SORT_ASC') : acym_translation('ACYM_SORT_DESC'); - $display .= acym_tooltip('', $tooltipText); - - $display .= ''; - - return $display; -} - -function acym_enqueueNotification($message, $type = 'info', $time = 0) -{ - if (!acym_isAdmin()) { - acym_enqueueNotificationFront($message, $type, 0); - - return; - } - - $logo = 'fa-bell'; - - if (!in_array($type, ['success', 'warning', 'error'])) $type = 'info'; - - $notification = '
                0) { - $notification .= ' callout-timer="'.$time.'" style="display: none">
                '; - } else { - $notification .= ' style="display: none">'; - } - - if (is_array($message)) { - $message = implode('
                ', $message); - } - $notification .= '
                '.$message.'
                '; - - if (empty($_SESSION)) acym_session(); - if (empty($_SESSION['acynotif'])) { - $_SESSION['acynotif'] = []; - } - $_SESSION['acynotif'][] = $notification; -} - -function acym_getJSMessages() -{ - $msg = "{"; - $msg .= '"email": "'.acym_translation('ACYM_VALID_EMAIL', true).'",'; - $msg .= '"number": "'.acym_translation('ACYM_VALID_NUMBER', true).'",'; - $msg .= '"requiredMsg": "'.acym_translation('ACYM_REQUIRED_FIELD', true).'",'; - $msg .= '"defaultMsg": "'.acym_translation('ACYM_DEFAULT_VALIDATION_ERROR', true).'"'; - - $keysToLoad = [ - 'ACYM_ARE_YOU_SURE', - 'ACYM_INSERT_IMG_BAD_NAME', - 'ACYM_NON_VALID_URL', - 'ACYM_DYNAMIC_TEXT', - 'ACYM_ARE_YOU_SURE_DELETE', - 'ACYM_ARE_YOU_SURE_ACTIVE', - 'ACYM_ARE_YOU_SURE_INACTIVE', - 'ACYM_SEARCH_TAGS', - 'ACYM_SEARCH_CAMPAIGN', - 'ACYM_SEARCH_ENCODING', - 'ACYM_CANCEL', - 'ACYM_CONFIRM', - 'ACYM_TEMPLATE_CHANGED_CLICK_ON_SAVE', - 'ACYM_SURE_SEND_TRANSALTION', - 'ACYM_TESTS_SPAM_SENT', - 'ACYM_CONFIRMATION_CANCEL_CAMPAIGN_QUEUE', - 'ACYM_EXPORT_SELECT_LIST', - 'ACYM_YES', - 'ACYM_NO', - 'ACYM_NEXT', - 'ACYM_BACK', - 'ACYM_SKIP', - 'ACYM_INTRO_ADD_DTEXT', - 'ACYM_INTRO_TEMPLATE', - 'ACYM_INTRO_DRAG_BLOCKS', - 'ACYM_INTRO_DRAG_CONTENT', - 'ACYM_INTRO_SETTINGS', - 'ACYM_INTRO_CUSTOMIZE_FONT', - 'ACYM_INTRO_IMPORT_CSS', - 'ACYM_INTRO_SAFE_CHECK', - 'ACYM_INTRO_MAIL_SETTINGS', - 'ACYM_INTRO_ADVANCED', - 'ACYM_INTRO_DKIM', - 'ACYM_INTRO_CRON', - 'ACYM_INTRO_SUBSCRIPTION', - 'ACYM_INTRO_CHECK_DATABASE', - 'ACYM_SEND_TEST_SUCCESS', - 'ACYM_SEND_TEST_ERROR', - 'ACYM_COPY_DEFAULT_TRANSLATIONS_CONFIRM', - 'ACYM_BECARFUL_BACKGROUND_IMG', - 'ACYM_CANT_DELETE_AND_SAVE', - 'ACYM_AND', - 'ACYM_OR', - 'ACYM_ERROR', - 'ACYM_EDIT_MAIL', - 'ACYM_CREATE_MAIL', - 'ACYM_NO_RAND_FOR_MULTQUEUE', - 'ACYM_DELETE_MY_DATA_CONFIRM', - 'ACYM_CHOOSE_COLUMN', - 'ACYM_AUTOSAVE_USE', - 'ACYM_SELECT_NEW_ICON', - 'ACYM_ICON_IMPORTED', - 'ACYM_SESSION_IS_GOING_TO_END', - 'ACYM_CLICKS_OUT_OF', - 'ACYM_OF_CLICKS', - 'ACYM_ARE_SURE_DUPLICATE_TEMPLATE', - 'ACYM_NOT_FOUND', - 'ACYM_EMAIL', - 'ACYM_CAMPAIGN_NAME', - 'ACYM_EMAIL_SUBJECT', - 'ACYM_TEMPLATE_NAME', - 'ACYM_ERROR_SAVING', - 'ACYM_LOADING_ERROR', - 'ACYM_AT_LEAST_ONE_USER', - ]; - - foreach ($keysToLoad as $oneKey) { - $msg .= ',"'.$oneKey.'": "'.acym_translation($oneKey, true).'"'; - } - - $msg .= "}"; - - return $msg; -} - -global $acymPlugins; -function acym_loadPlugins() -{ - $dynamics = acym_getFolders(ACYM_BACK.'dynamics'); - - $key = array_search('managetext', $dynamics); - unset($dynamics[$key]); - $dynamics[] = 'managetext'; - - global $acymPlugins; - foreach ($dynamics as $oneDynamic) { - $dynamicFile = ACYM_BACK.'dynamics'.DS.$oneDynamic.DS.'plugin.php'; - $className = 'plgAcym'.ucfirst($oneDynamic); - - if (isset($acymPlugins[$className]) || !file_exists($dynamicFile) || !include_once($dynamicFile)) continue; - if (!class_exists($className)) continue; - - $plugin = new $className(); - if (!in_array($plugin->cms, ['all', 'Joomla']) || !$plugin->installed) continue; - - $acymPlugins[$className] = $plugin; - } -} - -function acym_getPlugin($family, $name = null) -{ - $plugin = new stdClass(); - $plugin->params = []; - - return $plugin; -} - -function acym_trigger($method, $args = [], $plugin = null) -{ - global $acymPlugins; - if (empty($acymPlugins)) acym_loadPlugins(); - - $result = []; - foreach ($acymPlugins as $class => $onePlugin) { - if (!method_exists($onePlugin, $method)) continue; - if (!empty($plugin) && $class != $plugin) continue; - $value = call_user_func_array([$onePlugin, $method], $args); - - if (isset($value)) $result[] = $value; - } - - return $result; -} - -function acym_displayParam($type, $value, $name, $params = []) -{ - if (!include_once(ACYM_FRONT.'params'.DS.$type.'.php')) return ''; - - $class = 'JFormField'.ucfirst($type); - - $field = new $class(); - $field->value = $value; - $field->name = $name; - - if (!empty($params)) { - foreach ($params as $param => $val) { - $field->$param = $val; - } - } - - return $field->getInput(); -} - -function acym_upgradeTo($version) -{ - $link = ACYM_ACYWEBSITE.'acymailing/'.($version == 'essential' ? 'essential' : 'enterprise').'.html'; - $text = $version == 'essential' ? 'ACYM_ESSENTIAL' : 'ACYM_ENTERPRISE'; - echo '
                -

                '.acym_translation_sprintf('ACYM_USE_THIS_FEATURE', ''.acym_translation($text).'').'

                - '.acym_translation('ACYM_UPGRADE_NOW').' -
                '; -} - -function acym_checkbox($values, $name, $selected = [], $label = '', $parentClass = '', $labelClass = '') -{ - echo '
                '.$label.'
                '; - foreach ($values as $key => $value) { - echo ''; - } - echo '
                '; -} - -function acym_table($name, $component = true) -{ - $prefix = $component ? ACYM_DBPREFIX : '#__'; - - return $prefix.$name; -} - -function acym_existsAcyMailing59() -{ - $allTables = acym_getTables(); - if (!in_array(acym_getPrefix().'acymailing_config', $allTables)) return false; - - $version = acym_loadResult('SELECT `value` FROM #__acymailing_config WHERE `namekey` LIKE "version"'); - - return version_compare($version, '5.9.0', '>='); -} - -function acym_noCache() -{ - header('Cache-Control: no-store, no-cache, must-revalidate'); - header('Cache-Control: post-check=0, pre-check=0', false); - header('Pragma: no-cache'); - header('Expires: Wed, 17 Sep 1975 21:32:10 GMT'); -} - - -include_once(ACYM_LIBRARY.'class.php'); -include_once(ACYM_LIBRARY.'parameter.php'); -include_once(ACYM_LIBRARY.'controller.php'); -include_once(ACYM_LIBRARY.'view.php'); -include_once(ACYM_LIBRARY.'plugin.php'); - -acym_loadLanguage(); - + 'acymailing', // Know which product to look at + 'level' => strtolower($config->get('level', 'starter')), // Know which version to look at + 'domain' => rtrim(ACYM_LIVE, '/'), // Tell the user if the automatic features are available for the current installation + 'version' => $config->get('version'), // Tell the user if a newer version is available + 'cms' => ACYM_CMS, // We may delay some new Acy versions depending on the CMS + 'cmsv' => ACYM_CMSV, // Acy isn't available for some versions + ]; + + foreach ($paramsForLicenseCheck as $param => $value) { + $url .= '&'.$param.'='.urlencode($value); + } + + $userInformation = acym_fileGetContent($url, 30); + $warnings = ob_get_clean(); + $result = (!empty($warnings) && acym_isDebug()) ? $warnings : ''; + + if (empty($userInformation) || $userInformation === false) { + if ($ajax) { + echo json_encode(['content' => '
                '.acym_translation('ACYM_ERROR_LOAD_FROM_ACYBA').'
                '.$result]); + exit; + } else { + return ''; + } + } + + $decodedInformation = json_decode($userInformation, true); + + $newConfig = new stdClass(); + + $newConfig->latestversion = $decodedInformation['latestversion']; + $newConfig->expirationdate = $decodedInformation['expiration']; + $newConfig->lastlicensecheck = time(); + $config->save($newConfig); + + return $newConfig->lastlicensecheck; +} + +function acym_dateField($name, $value = '', $class = '', $attributes = '', $relativeDefault = '-') +{ + $result = '
                '; + + $result .= '
                '; + $result .= acym_switchFilter( + [ + 'relative' => acym_translation('ACYM_RELATIVE_DATE'), + 'specific' => acym_translation('ACYM_SPECIFIC_DATE'), + ], + 'relative', + 'switch_'.$name, + 'date_rs_selection' + ); + $result .= '
                '; + + $result .= '
                +
                + +
                +
                '; + $result .= acym_select( + [ + '60' => acym_translation('ACYM_MINUTES'), + '3600' => acym_translation('ACYM_HOUR'), + '86400' => acym_translation('ACYM_DAY'), + ], + 'relative_'.$name, + null, + 'class="acym__select relativetype"' + ); + + $result .= '
                +
                '; + + $result .= acym_select( + [ + '-' => acym_translation('ACYM_BEFORE'), + '+' => acym_translation('ACYM_AFTER'), + ], + 'relativewhen_'.$name, + $relativeDefault, + 'class="acym__select relativewhen"' + ); + $result .= '
                +
                '; + + $result .= ' +
                +
                + + +
                +
                '; + + $result .= '
                '; + + $id = preg_replace('#[^a-z0-9_]#i', '', $name); + if (is_numeric($value)) { + $months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + + $replaceValues = []; + foreach ($months as $oneMonth) { + $replaceValues[] = substr(acym_translation('ACYM_'.strtoupper($oneMonth)), 0, 3); + } + + $shownValue = str_replace($months, $replaceValues, date('d F Y H:i', $value)); + } else { + $shownValue = $value; + } + $result = ''.acym_modal( + '', + $result, + $id, + '', + '', + false, + false + ); + + return $result; +} + +function acym_escape($text, $isURL = false) +{ + return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); +} + +function acym_escapeArrayValues($array) +{ + foreach ($array as $key => $one) { + $array[$key] = acym_escape($one); + } + + return $array; +} + +function acydump($arg, $ajax = false, $indent = true) +{ + ob_start(); + var_dump($arg); + $result = ob_get_clean(); + + if ($ajax) { + file_put_contents(ACYM_ROOT.'acydebug.txt', $result, FILE_APPEND); + } else { + $style = $indent ? 'margin-left: 220px;' : ''; + echo '
                '.$result.'
                '; + } +} + +function acym_teasing($text) +{ + echo '
                +
                '.$text.'
                + '; +} + +function acym_line_chart($id, $dataMonth, $dataDay, $dataHour) +{ + acym_initializeChart(); + + $month = []; + $openMonth = []; + $clickMonth = []; + + foreach ($dataMonth as $key => $data) { + $month[] = '"'.$key.'"'; + $openMonth[] = '"'.$data['open'].'"'; + $clickMonth[] = '"'.$data['click'].'"'; + } + + $day = []; + $openDay = []; + $clickDay = []; + + foreach ($dataDay as $key => $data) { + $day[] = '"'.$key.'"'; + $openDay[] = '"'.$data['open'].'"'; + $clickDay[] = '"'.$data['click'].'"'; + } + + $hour = []; + $openHour = []; + $clickHour = []; + + foreach ($dataHour as $key => $data) { + $hour[] = '"'.$key.'"'; + $openHour[] = '"'.$data['open'].'"'; + $clickHour[] = '"'.$data['click'].'"'; + } + + $idCanvas = 'acy_canvas_rand_id'.rand(1000, 9000); + $idLegend = 'acy_legend_rand_id'.rand(1000, 9000); + $return = ''; + + $nbDataDay = count($dataDay); + $nbDataHour = count($dataHour); + $selectedChartHour = ""; + $selectedChartDay = ""; + $selectedChartMonth = ""; + + if ($nbDataHour < 49) { + $selectedChartHour = "selected__choose_by"; + $displayed = $hour; + $clickDisplayed = $clickHour; + $openDisplayed = $openHour; + } elseif ($nbDataDay < 63) { + $selectedChartDay = "selected__choose_by"; + $displayed = $day; + $clickDisplayed = $clickDay; + $openDisplayed = $openDay; + } else { + $selectedChartMonth = "selected__choose_by"; + $displayed = $month; + $clickDisplayed = $clickMonth; + $openDisplayed = $openMonth; + } + + + $return .= '
                +
                +

                '.acym_translation('ACYM_BY_MONTH').'

                +

                '.acym_translation('ACYM_BY_DAY').'

                +

                '.acym_translation('ACYM_BY_HOUR').'

                +
                +
                + +
                '; + + $return .= ''; + + return $return; +} + +function acym_initializeChart() +{ + static $loaded = false; + + if (!$loaded) { + acym_addScript(false, ACYM_JS.'libraries/chart.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'chart.min.js'), 'text/javascript', false, false, true); + $loaded = true; + } +} + +function acym_round_chart($id, $pourcentage, $type = '', $class = '', $topLabel = '', $bottomLabel = '', $colorChart = '') +{ + if ($pourcentage != 0 && empty($pourcentage)) { + return; + } + + acym_initializeChart(); + + if (empty($id)) { + $id = 'acy_round_chart_rand_id'.rand(1000, 9000); + } + + $green = '#3dea91'; + $red = '#ff5259'; + $orange = '#ffab15'; + $defaultColor = '#00a4ff'; + + $isFixColor = false; + $isInverted = false; + + switch ($type) { + case 'click': + $valueHigh = 5; + $valueLow = 1; + break; + case 'open': + $valueHigh = 30; + $valueLow = 18; + break; + case 'delivery': + $valueHigh = 90; + $valueLow = 70; + break; + case 'fail': + $valueHigh = 30; + $valueLow = 10; + $isInverted = true; + break; + default: + $isFixColor = true; + } + + if ($isFixColor) { + $color = !empty($colorChart) ? $colorChart : $defaultColor; + } else { + if ($pourcentage >= $valueHigh) { + $color = $isInverted ? $red : $green; + } elseif ($pourcentage < $valueHigh && $pourcentage >= $valueLow) { + $color = $orange; + } elseif ($pourcentage < $valueLow) { + $color = $isInverted ? $green : $red; + } else { + $color = $defaultColor; + } + } + + $idCanvas = 'acy_canvas_rand_id'.rand(1000, 9000); + + $return = '
                +

                '.$topLabel.'

                +
                + +
                +

                '.$bottomLabel.'

                +
                '; + $return .= ''; + + + return $return; +} + +function acym_getEmailRegex($secureJS = false, $forceRegex = false) +{ + $config = acym_config(); + if ($forceRegex || $config->get('special_chars', 0) == 0) { + $regex = '[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*\@([a-z0-9-]+\.)+[a-z0-9]{2,20}'; + } else { + $regex = '.+\@(.+\.)+.{2,20}'; + } + + if ($secureJS) { + $regex = str_replace(['"', "'"], ['\"', "\'"], $regex); + } + + return $regex; +} + +function acym_isValidEmail($email, $extended = false) +{ + if (empty($email) || !is_string($email)) { + return false; + } + + if (!preg_match('/^'.acym_getEmailRegex().'$/i', $email)) { + return false; + } + + if (!$extended) { + return true; + } + + + $config = acym_config(); + + if ($config->get('email_checkdomain', false) && function_exists('getmxrr')) { + $domain = substr($email, strrpos($email, '@') + 1); + $mxhosts = []; + $checkDomain = getmxrr($domain, $mxhosts); + if (!empty($mxhosts) && strpos($mxhosts[0], 'hostnamedoesnotexist')) { + array_shift($mxhosts); + } + if (!$checkDomain || empty($mxhosts)) { + $dns = @dns_get_record($domain, DNS_A); + $domainChanged = true; + foreach ($dns as $oneRes) { + if (strtolower($oneRes['host']) == strtolower($domain)) { + $domainChanged = false; + } + } + if (empty($dns) || $domainChanged) { + return false; + } + } + } + + $object = new stdClass(); + $object->IP = acym_getIP(); + $object->emailAddress = $email; + + if ($config->get('email_iptimecheck', 0)) { + $lapseTime = time() - 7200; + $nbUsers = acym_loadResult('SELECT COUNT(*) FROM #__acym_user WHERE creation_date > '.intval($lapseTime).' AND ip = '.acym_escapeDB($object->IP)); + if ($nbUsers >= 3) { + return false; + } + } + + return true; +} + +function acym_getIP() +{ + $ip = ''; + if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strlen($_SERVER['HTTP_X_FORWARDED_FOR']) > 6) { + $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; + } elseif (!empty($_SERVER['HTTP_CLIENT_IP']) && strlen($_SERVER['HTTP_CLIENT_IP']) > 6) { + $ip = $_SERVER['HTTP_CLIENT_IP']; + } elseif (!empty($_SERVER['REMOTE_ADDR']) && strlen($_SERVER['REMOTE_ADDR']) > 6) { + $ip = $_SERVER['REMOTE_ADDR']; + } + + return strip_tags($ip); +} + +function acym_radio($options, $name, $selected = null, $id = null, $attributes = [], $objValue = 'value', $objText = 'text', $useIncrement = false) +{ + $id = preg_replace( + '#[^a-zA-Z0-9_]+#mi', + '_', + str_replace( + ['[', ']'], + ['_', ''], + empty($id) ? $name : $id + ) + ); + + $attributes['type'] = 'radio'; + $attributes['name'] = $name; + + $return = '
                '; + $k = 0; + foreach ($options as $value => $label) { + if (is_object($label)) { + if (!empty($label->class)) { + $attributes['class'] = $label->class; + } + + $value = $label->$objValue; + $label = $label->$objText; + } + + $currentId = $useIncrement ? $id.$k : $id.$value; + + $attributes['value'] = $value; + $attributes['id'] = $currentId; + + $return .= ''; + $return .= ''; + $return .= ' $val) { + $return .= ' '.$attribute.'="'.acym_escape($val).'"'; + } + $return .= ($value == $selected ? ' checked="checked"' : '').' />'; + $return .= ''; + $k++; + } + $return .= '
                '; + + return $return; +} + +function acym_convertPHPToMomentFormat($format) +{ + $replacements = [ + 'd' => 'DD', + 'D' => 'ddd', + 'j' => 'D', + 'l' => 'dddd', + 'N' => 'E', + 'S' => 'o', + 'w' => 'e', + 'z' => 'DDD', + 'W' => 'W', + 'F' => 'MMMM', + 'm' => 'MM', + 'M' => 'MMM', + 'n' => 'M', + 't' => '', // no equivalent + 'L' => '', // no equivalent + 'o' => 'YYYY', + 'Y' => 'YYYY', + 'y' => 'YY', + 'a' => 'a', + 'A' => 'A', + 'B' => '', // no equivalent + 'g' => 'h', + 'G' => 'H', + 'h' => 'hh', + 'H' => 'HH', + 'i' => 'mm', + 's' => 'ss', + 'u' => 'SSS', + 'e' => 'zz', // deprecated since version 1.6.0 of moment.js + 'I' => '', // no equivalent + 'O' => '', // no equivalent + 'P' => '', // no equivalent + 'T' => '', // no equivalent + 'Z' => '', // no equivalent + 'c' => '', // no equivalent + 'r' => '', // no equivalent + 'U' => 'X', + ]; + $momentFormat = strtr($format, $replacements); + + return $momentFormat; +} + +function acym_boolean($name, $selected = null, $id = null, $attributes = [], $yes = 'ACYM_YES', $no = 'ACYM_NO') +{ + $options = [ + '1' => acym_translation($yes), + '0' => acym_translation($no), + ]; + + return acym_radio( + $options, + $name, + $selected ? 1 : 0, + $id, + $attributes + ); +} + +function acym_select($data, $name, $selected = null, $attribs = null, $optKey = 'value', $optText = 'text', $idtag = false, $translate = false) +{ + $idtag = str_replace(['[', ']', ' '], '', empty($idtag) ? $name : $idtag); + $dropdown = ''; + + return $dropdown; +} + +function acym_modal($button, $data, $id = null, $attributesModal = '', $attributesButton = '', $isButton = true, $isLarge = true) +{ + if (empty($id)) { + $id = 'acymodal_'.rand(1000, 9000); + } + + $modal = $isButton ? '' : $button; + $modal .= '
                '; + $modal .= $data; + $modal .= '
                '; + + return $modal; +} + +function acym_modal_include($button, $file, $id, $data, $attributes = '', $classModal = "") +{ + if (empty($id)) { + $id = 'acymodal_'.rand(1000, 9000); + } + + $modal = '
                '.$button; + $modal .= '
                '; + ob_start(); + include($file); + $modal .= ob_get_clean(); + $modal .= '
                '; + + return $modal; +} + +function acym_modal_pagination_users($button, $class, $textButton = null, $id = null, $attributes = '', $hiddenUsers = '', $task = '') +{ + $searchField = acym_filterSearch('', 'modal_search_users', 'ACYM_SEARCH_A_USER_NAME'); + + + $data = ' + + + + + +
                +

                + '.acym_translation('ACYM_CHOOSE_USERS').'

                +
                + + + + '; + + $data .= '
                '; + + $attributesButton = 'class="modal__pagination__users__button-open button '.$class.'" '.$attributes; + + return acym_modal($button, $data, $id, "", $attributesButton); +} + +function acym_modal_pagination_lists($button, $class, $textButton = null, $id = null, $attributes = '', $isModal = true, $inputEventId = "", $checkedLists = "[]", $needDisplaySubscribers = false, $attributesModal = '') +{ + $searchField = acym_filterSearch('', 'modal_search_lists', 'ACYM_SEARCH_A_LIST_NAME'); + + $data = ""; + + if (!empty($inputEventId)) { + $data .= ''; + } + if ($needDisplaySubscribers) { + $data .= ''; + } + + $data .= '
                + + + +
                +

                '.acym_translation('ACYM_CHOOSE_LISTS').'

                +
                + + + + +
                '; + + if ($isModal) { + $data .= '
                '; + $attributesButton = 'class="modal__pagination__button-open button '.$class.'" '.$attributes; + + return acym_modal($button, $data, $id, "", $attributesButton); + } else { + return $data; + } +} + +function acym_modal_pagination_lists_import($button, $class, $textButtonRight, $id = null, $attributes = '', $classButton = 'acym__users__import__generic__import__button', $severalButton = false) +{ + if (empty($id)) { + $id = 'acymodal_pagination_lists_'.rand(1000, 9000); + } + + $listsPerPage = acym_getCMSConfig('list_limit', 20); + $ajaxURL = acym_prepareAjaxURL('lists').'&task=setAjaxListing&listsPerPage='.$listsPerPage; + + $searchField = acym_filterSearch('', 'modal_search_lists', 'ACYM_SEARCH_A_LIST_NAME'); + + $data = ' + + + + +
                +

                + '.acym_translation('ACYM_CHOOSE_LISTS').'

                +
                + + + + +
                + + +
                + '; + + $modal = $severalButton ? '' : ''; + $modal .= '
                '; + $modal .= $data; + $modal .= '
                '; + + return $modal; +} + +function acym_generateCountryNumber($name, $defaultvalue = '') +{ + $flagPosition = []; + $flagPosition['93'] = ['x' => -48, 'y' => 0]; + $flagPosition['355'] = ['x' => -96, 'y' => 0]; + $flagPosition['213'] = ['x' => -160, 'y' => -33]; + $flagPosition['1684'] = ['x' => -176, 'y' => 0]; + $flagPosition['376'] = ['x' => -16, 'y' => 0]; + $flagPosition['244'] = ['x' => -144, 'y' => 0]; + $flagPosition['1264'] = ['x' => -80, 'y' => 0]; + $flagPosition['672'] = ['x' => 0, 'y' => -176]; //antartica + $flagPosition['1268'] = ['x' => -64, 'y' => 0]; + $flagPosition['54'] = ['x' => -160, 'y' => 0]; + $flagPosition['374'] = ['x' => -112, 'y' => 0]; + $flagPosition['297'] = ['x' => -224, 'y' => 0]; + $flagPosition['247'] = ['x' => -16, 'y' => -176]; //ascenscion island + $flagPosition['61'] = ['x' => -208, 'y' => 0]; + $flagPosition['43'] = ['x' => -192, 'y' => 0]; + $flagPosition['994'] = ['x' => -240, 'y' => 0]; + $flagPosition['1242'] = ['x' => -208, 'y' => -11]; + $flagPosition['973'] = ['x' => -96, 'y' => -11]; + $flagPosition['880'] = ['x' => -32, 'y' => -11]; + $flagPosition['1246'] = ['x' => -16, 'y' => -11]; + $flagPosition['375'] = ['x' => -16, 'y' => -22]; + $flagPosition['32'] = ['x' => -48, 'y' => -11]; + $flagPosition['501'] = ['x' => -32, 'y' => -22]; + $flagPosition['229'] = ['x' => -128, 'y' => -11]; + $flagPosition['1441'] = ['x' => -144, 'y' => -11]; + $flagPosition['975'] = ['x' => -224, 'y' => -11]; + $flagPosition['591'] = ['x' => -176, 'y' => -11]; + $flagPosition['387'] = ['x' => 0, 'y' => -11]; + $flagPosition['267'] = ['x' => 0, 'y' => -22]; + $flagPosition['55'] = ['x' => -192, 'y' => -11]; + $flagPosition['1284'] = ['x' => -240, 'y' => -154]; + $flagPosition['673'] = ['x' => -160, 'y' => -11]; + $flagPosition['359'] = ['x' => -80, 'y' => -11]; + $flagPosition['226'] = ['x' => -64, 'y' => -11]; + $flagPosition['257'] = ['x' => -112, 'y' => -11]; + $flagPosition['855'] = ['x' => -64, 'y' => -77]; + $flagPosition['237'] = ['x' => -192, 'y' => -22]; + $flagPosition['1'] = ['x' => -48, 'y' => -22]; + $flagPosition['238'] = ['x' => -16, 'y' => -33]; + $flagPosition['1345'] = ['x' => -192, 'y' => -77]; + $flagPosition['236'] = ['x' => -96, 'y' => -22]; + $flagPosition['235'] = ['x' => -112, 'y' => -143]; + $flagPosition['56'] = ['x' => -176, 'y' => -22]; + $flagPosition['86'] = ['x' => -208, 'y' => -22]; + $flagPosition['6724'] = ['x' => -32, 'y' => -176]; //christmas island + $flagPosition['6722'] = ['x' => -48, 'y' => -176]; //coco keeling island + $flagPosition['57'] = ['x' => -224, 'y' => -22]; + $flagPosition['269'] = ['x' => -96, 'y' => -77]; + $flagPosition['243'] = ['x' => -80, 'y' => -22]; + $flagPosition['242'] = ['x' => -112, 'y' => -22]; + $flagPosition['682'] = ['x' => -160, 'y' => -22]; + $flagPosition['506'] = ['x' => -240, 'y' => -22]; + $flagPosition['225'] = ['x' => -144, 'y' => -22]; + $flagPosition['385'] = ['x' => 0, 'y' => -66]; + $flagPosition['53'] = ['x' => 0, 'y' => -33]; + $flagPosition['357'] = ['x' => -48, 'y' => -33]; + $flagPosition['420'] = ['x' => -64, 'y' => -33]; + $flagPosition['45'] = ['x' => -112, 'y' => -33]; + $flagPosition['253'] = ['x' => -96, 'y' => -33]; + $flagPosition['1767'] = ['x' => -128, 'y' => -33]; + $flagPosition['1809'] = ['x' => -144, 'y' => -33]; + $flagPosition['593'] = ['x' => -176, 'y' => -33]; + $flagPosition['20'] = ['x' => -208, 'y' => -33]; + $flagPosition['503'] = ['x' => -32, 'y' => -143]; + $flagPosition['240'] = ['x' => -96, 'y' => -55]; + $flagPosition['291'] = ['x' => 0, 'y' => -44]; + $flagPosition['372'] = ['x' => -192, 'y' => -33]; + $flagPosition['251'] = ['x' => -32, 'y' => -44]; + $flagPosition['500'] = ['x' => -96, 'y' => -44]; + $flagPosition['298'] = ['x' => -128, 'y' => -44]; + $flagPosition['679'] = ['x' => -80, 'y' => -44]; + $flagPosition['358'] = ['x' => -64, 'y' => -44]; + $flagPosition['33'] = ['x' => -144, 'y' => -44]; + $flagPosition['596'] = ['x' => -80, 'y' => -99]; + $flagPosition['594'] = ['x' => -128, 'y' => -176]; //french guiana + $flagPosition['689'] = ['x' => -224, 'y' => -110]; + $flagPosition['241'] = ['x' => -160, 'y' => -44]; + $flagPosition['220'] = ['x' => -48, 'y' => -55]; + $flagPosition['995'] = ['x' => -208, 'y' => -44]; + $flagPosition['49'] = ['x' => -80, 'y' => -33]; + $flagPosition['233'] = ['x' => 0, 'y' => -55]; + $flagPosition['350'] = ['x' => -16, 'y' => -55]; + $flagPosition['30'] = ['x' => -112, 'y' => -55]; + $flagPosition['299'] = ['x' => -32, 'y' => -55]; + $flagPosition['1473'] = ['x' => -192, 'y' => -44]; + $flagPosition['590'] = ['x' => -80, 'y' => -55]; + $flagPosition['1671'] = ['x' => -160, 'y' => -55]; + $flagPosition['502'] = ['x' => -144, 'y' => -55]; + $flagPosition['224'] = ['x' => -64, 'y' => -55]; + $flagPosition['245'] = ['x' => -176, 'y' => -55]; + $flagPosition['592'] = ['x' => -192, 'y' => -55]; + $flagPosition['509'] = ['x' => -16, 'y' => -66]; + $flagPosition['504'] = ['x' => -240, 'y' => -55]; + $flagPosition['852'] = ['x' => -208, 'y' => -55]; + $flagPosition['36'] = ['x' => -32, 'y' => -66]; + $flagPosition['354'] = ['x' => -192, 'y' => -66]; + $flagPosition['91'] = ['x' => -128, 'y' => -66]; + $flagPosition['62'] = ['x' => -64, 'y' => -66]; + $flagPosition['964'] = ['x' => -160, 'y' => -66]; + $flagPosition['98'] = ['x' => -176, 'y' => -66]; + $flagPosition['353'] = ['x' => -80, 'y' => -66]; + $flagPosition['972'] = ['x' => -96, 'y' => -66]; + $flagPosition['39'] = ['x' => -208, 'y' => -66]; + $flagPosition['1876'] = ['x' => -240, 'y' => -66]; + $flagPosition['81'] = ['x' => -16, 'y' => -77]; + $flagPosition['962'] = ['x' => 0, 'y' => -77]; + $flagPosition['254'] = ['x' => -32, 'y' => -77]; + $flagPosition['686'] = ['x' => -80, 'y' => -77]; + $flagPosition['3774'] = ['x' => -64, 'y' => -176]; //kosovo + $flagPosition['965'] = ['x' => -176, 'y' => -77]; + $flagPosition['996'] = ['x' => -48, 'y' => -77]; + $flagPosition['856'] = ['x' => -224, 'y' => -77]; + $flagPosition['371'] = ['x' => -112, 'y' => -88]; + $flagPosition['961'] = ['x' => -240, 'y' => -77]; + $flagPosition['266'] = ['x' => -64, 'y' => -88]; + $flagPosition['231'] = ['x' => -48, 'y' => -88]; + $flagPosition['218'] = ['x' => -128, 'y' => -88]; + $flagPosition['423'] = ['x' => -16, 'y' => -88]; + $flagPosition['370'] = ['x' => -80, 'y' => -88]; + $flagPosition['352'] = ['x' => -96, 'y' => -88]; + $flagPosition['853'] = ['x' => -48, 'y' => -99]; + $flagPosition['389'] = ['x' => -240, 'y' => -88]; + $flagPosition['261'] = ['x' => -208, 'y' => -88]; + $flagPosition['265'] = ['x' => -176, 'y' => -99]; + $flagPosition['60'] = ['x' => -208, 'y' => -99]; + $flagPosition['960'] = ['x' => -160, 'y' => -99]; + $flagPosition['223'] = ['x' => 0, 'y' => -99]; + $flagPosition['356'] = ['x' => -128, 'y' => -99]; + $flagPosition['692'] = ['x' => -224, 'y' => -88]; + $flagPosition['222'] = ['x' => -96, 'y' => -99]; + $flagPosition['230'] = ['x' => -144, 'y' => -99]; + $flagPosition['52'] = ['x' => -192, 'y' => -99]; + $flagPosition['691'] = ['x' => -112, 'y' => -44]; + $flagPosition['373'] = ['x' => -176, 'y' => -88]; + $flagPosition['377'] = ['x' => -160, 'y' => -88]; + $flagPosition['976'] = ['x' => -32, 'y' => -99]; + $flagPosition['382'] = ['x' => -192, 'y' => -88]; + $flagPosition['1664'] = ['x' => -112, 'y' => -99]; + $flagPosition['212'] = ['x' => -144, 'y' => -88]; + $flagPosition['258'] = ['x' => -224, 'y' => -99]; + $flagPosition['95'] = ['x' => -16, 'y' => -99]; + $flagPosition['264'] = ['x' => -240, 'y' => -99]; + $flagPosition['674'] = ['x' => -128, 'y' => -110]; + $flagPosition['977'] = ['x' => -112, 'y' => -110]; + $flagPosition['31'] = ['x' => -80, 'y' => -110]; + $flagPosition['599'] = ['x' => -128, 'y' => 0]; + $flagPosition['687'] = ['x' => 0, 'y' => -110]; + $flagPosition['64'] = ['x' => -160, 'y' => -110]; + $flagPosition['505'] = ['x' => -64, 'y' => -110]; + $flagPosition['227'] = ['x' => -16, 'y' => -110]; + $flagPosition['234'] = ['x' => -48, 'y' => -110]; + $flagPosition['683'] = ['x' => -144, 'y' => -110]; + $flagPosition['6723'] = ['x' => -32, 'y' => -110]; + $flagPosition['850'] = ['x' => -128, 'y' => -77]; + $flagPosition['47'] = ['x' => -96, 'y' => -110]; + $flagPosition['968'] = ['x' => -176, 'y' => -110]; + $flagPosition['92'] = ['x' => -16, 'y' => -121]; + $flagPosition['680'] = ['x' => -80, 'y' => -176]; //palau + $flagPosition['970'] = ['x' => -96, 'y' => -121]; + $flagPosition['507'] = ['x' => -192, 'y' => -110]; + $flagPosition['675'] = ['x' => -240, 'y' => -110]; + $flagPosition['595'] = ['x' => -144, 'y' => -121]; + $flagPosition['51'] = ['x' => -208, 'y' => -110]; + $flagPosition['63'] = ['x' => 0, 'y' => -121]; + $flagPosition['48'] = ['x' => -32, 'y' => -121]; + $flagPosition['351'] = ['x' => -112, 'y' => -121]; + $flagPosition['1787'] = ['x' => -80, 'y' => -121]; + $flagPosition['974'] = ['x' => -160, 'y' => -121]; + $flagPosition['262'] = ['x' => -144, 'y' => -176]; //reunion island + $flagPosition['40'] = ['x' => -192, 'y' => -121]; + $flagPosition['7'] = ['x' => -224, 'y' => -121]; + $flagPosition['250'] = ['x' => -240, 'y' => -121]; + $flagPosition['1670'] = ['x' => -96, 'y' => -176]; //marianne + $flagPosition['378'] = ['x' => -176, 'y' => -132]; + $flagPosition['239'] = ['x' => -16, 'y' => -143]; + $flagPosition['966'] = ['x' => 0, 'y' => -132]; + $flagPosition['221'] = ['x' => -192, 'y' => -132]; + $flagPosition['381'] = ['x' => -208, 'y' => -121]; + $flagPosition['248'] = ['x' => -32, 'y' => -132]; + $flagPosition['232'] = ['x' => -160, 'y' => -132]; + $flagPosition['65'] = ['x' => -96, 'y' => -132]; + $flagPosition['421'] = ['x' => -144, 'y' => -132]; + $flagPosition['386'] = ['x' => -128, 'y' => -132]; + $flagPosition['677'] = ['x' => -16, 'y' => -132]; + $flagPosition['252'] = ['x' => -208, 'y' => -132]; + $flagPosition['685'] = ['x' => -112, 'y' => -176]; //somoa + $flagPosition['27'] = ['x' => -128, 'y' => -165]; + $flagPosition['82'] = ['x' => -144, 'y' => -77]; + $flagPosition['34'] = ['x' => -16, 'y' => -44]; + $flagPosition['94'] = ['x' => -32, 'y' => -88]; + $flagPosition['290'] = ['x' => -112, 'y' => -132]; + $flagPosition['1869'] = ['x' => -112, 'y' => -77]; + $flagPosition['1758'] = ['x' => 0, 'y' => -88]; + $flagPosition['508'] = ['x' => -48, 'y' => -121]; + $flagPosition['1784'] = ['x' => -208, 'y' => -154]; + $flagPosition['249'] = ['x' => -64, 'y' => -132]; + $flagPosition['597'] = ['x' => -240, 'y' => -132]; + $flagPosition['268'] = ['x' => -80, 'y' => -143]; + $flagPosition['46'] = ['x' => -80, 'y' => -132]; + $flagPosition['41'] = ['x' => -128, 'y' => -22]; + $flagPosition['963'] = ['x' => -64, 'y' => -143]; + $flagPosition['886'] = ['x' => -64, 'y' => -154]; + $flagPosition['992'] = ['x' => -176, 'y' => -143]; + $flagPosition['255'] = ['x' => -80, 'y' => -154]; + $flagPosition['66'] = ['x' => -160, 'y' => -143]; + $flagPosition['228'] = ['x' => -144, 'y' => -143]; + $flagPosition['690'] = ['x' => -192, 'y' => -143]; + $flagPosition['676'] = ['x' => 0, 'y' => -154]; + $flagPosition['1868'] = ['x' => -32, 'y' => -154]; + $flagPosition['216'] = ['x' => -240, 'y' => -143]; + $flagPosition['90'] = ['x' => -16, 'y' => -154]; + $flagPosition['993'] = ['x' => -224, 'y' => -143]; + $flagPosition['1649'] = ['x' => -96, 'y' => -143]; + $flagPosition['688'] = ['x' => -48, 'y' => -154]; + $flagPosition['256'] = ['x' => -112, 'y' => -154]; + $flagPosition['380'] = ['x' => -96, 'y' => -154]; + $flagPosition['971'] = ['x' => -32, 'y' => 0]; + $flagPosition['44'] = ['x' => -176, 'y' => -44]; + $flagPosition['598'] = ['x' => -160, 'y' => -154]; + $flagPosition['1 '] = ['x' => -144, 'y' => -154]; + $flagPosition['998'] = ['x' => -176, 'y' => -154]; + $flagPosition['678'] = ['x' => -32, 'y' => -165]; + $flagPosition['3966'] = ['x' => -192, 'y' => -154]; + $flagPosition['58'] = ['x' => -224, 'y' => -154]; + $flagPosition['84'] = ['x' => -16, 'y' => -165]; + $flagPosition['1340'] = ['x' => 0, 'y' => -165]; + $flagPosition['681'] = ['x' => -64, 'y' => -165]; + $flagPosition['967'] = ['x' => -96, 'y' => -165]; + $flagPosition['260'] = ['x' => -160, 'y' => -165]; + $flagPosition['263'] = ['x' => -176, 'y' => -165]; + $flagPosition[''] = ['x' => -160, 'y' => -176]; + + + $country = []; + $country['93'] = 'Afghanistan'; + $country['355'] = 'Albania'; + $country['213'] = 'Algeria'; + $country['1684'] = 'American Samoa'; + $country['376'] = 'Andorra'; + $country['244'] = 'Angola'; + $country['1264'] = 'Anguilla'; + $country['672'] = 'Antarctica'; + $country['1268'] = 'Antigua & Barbuda'; + $country['54'] = 'Argentina'; + $country['374'] = 'Armenia'; + $country['297'] = 'Aruba'; + $country['247'] = 'Ascension Island'; + $country['61'] = 'Australia'; + $country['43'] = 'Austria'; + $country['994'] = 'Azerbaijan'; + $country['1242'] = 'Bahamas'; + $country['973'] = 'Bahrain'; + $country['880'] = 'Bangladesh'; + $country['1246'] = 'Barbados'; + $country['375'] = 'Belarus'; + $country['32'] = 'Belgium'; + $country['501'] = 'Belize'; + $country['229'] = 'Benin'; + $country['1441'] = 'Bermuda'; + $country['975'] = 'Bhutan'; + $country['591'] = 'Bolivia'; + $country['387'] = 'Bosnia/Herzegovina'; + $country['267'] = 'Botswana'; + $country['55'] = 'Brazil'; + $country['1284'] = 'British Virgin Islands'; + $country['673'] = 'Brunei'; + $country['359'] = 'Bulgaria'; + $country['226'] = 'Burkina Faso'; + $country['257'] = 'Burundi'; + $country['855'] = 'Cambodia'; + $country['237'] = 'Cameroon'; + $country['1'] = 'Canada/USA'; + $country['238'] = 'Cape Verde Islands'; + $country['1345'] = 'Cayman Islands'; + $country['236'] = 'Central African Republic'; + $country['235'] = 'Chad Republic'; + $country['56'] = 'Chile'; + $country['86'] = 'China'; + $country['6724'] = 'Christmas Island'; + $country['6722'] = 'Cocos Keeling Island'; + $country['57'] = 'Colombia'; + $country['269'] = 'Comoros'; + $country['243'] = 'Congo Democratic Republic'; + $country['242'] = 'Congo, Republic of'; + $country['682'] = 'Cook Islands'; + $country['506'] = 'Costa Rica'; + $country['225'] = 'Cote D\'Ivoire'; + $country['385'] = 'Croatia'; + $country['53'] = 'Cuba'; + $country['357'] = 'Cyprus'; + $country['420'] = 'Czech Republic'; + $country['45'] = 'Denmark'; + $country['253'] = 'Djibouti'; + $country['1767'] = 'Dominica'; + $country['1809'] = 'Dominican Republic'; + $country['593'] = 'Ecuador'; + $country['20'] = 'Egypt'; + $country['503'] = 'El Salvador'; + $country['240'] = 'Equatorial Guinea'; + $country['291'] = 'Eritrea'; + $country['372'] = 'Estonia'; + $country['251'] = 'Ethiopia'; + $country['500'] = 'Falkland Islands'; + $country['298'] = 'Faroe Island'; + $country['679'] = 'Fiji Islands'; + $country['358'] = 'Finland'; + $country['33'] = 'France'; + $country['596'] = 'French Antilles/Martinique'; + $country['594'] = 'French Guiana'; + $country['689'] = 'French Polynesia'; + $country['241'] = 'Gabon Republic'; + $country['220'] = 'Gambia'; + $country['995'] = 'Georgia'; + $country['49'] = 'Germany'; + $country['233'] = 'Ghana'; + $country['350'] = 'Gibraltar'; + $country['30'] = 'Greece'; + $country['299'] = 'Greenland'; + $country['1473'] = 'Grenada'; + $country['590'] = 'Guadeloupe'; + $country['1671'] = 'Guam'; + $country['502'] = 'Guatemala'; + $country['224'] = 'Guinea Republic'; + $country['245'] = 'Guinea-Bissau'; + $country['592'] = 'Guyana'; + $country['509'] = 'Haiti'; + $country['504'] = 'Honduras'; + $country['852'] = 'Hong Kong'; + $country['36'] = 'Hungary'; + $country['354'] = 'Iceland'; + $country['91'] = 'India'; + $country['62'] = 'Indonesia'; + $country['964'] = 'Iraq'; + $country['98'] = 'Iran'; + $country['353'] = 'Ireland'; + $country['972'] = 'Israel'; + $country['39'] = 'Italy'; + $country['1876'] = 'Jamaica'; + $country['81'] = 'Japan'; + $country['962'] = 'Jordan'; + $country['254'] = 'Kenya'; + $country['686'] = 'Kiribati'; + $country['3774'] = 'Kosovo'; + $country['965'] = 'Kuwait'; + $country['996'] = 'Kyrgyzstan'; + $country['856'] = 'Laos'; + $country['371'] = 'Latvia'; + $country['961'] = 'Lebanon'; + $country['266'] = 'Lesotho'; + $country['231'] = 'Liberia'; + $country['218'] = 'Libya'; + $country['423'] = 'Liechtenstein'; + $country['370'] = 'Lithuania'; + $country['352'] = 'Luxembourg'; + $country['853'] = 'Macau'; + $country['389'] = 'Macedonia'; + $country['261'] = 'Madagascar'; + $country['265'] = 'Malawi'; + $country['60'] = 'Malaysia'; + $country['960'] = 'Maldives'; + $country['223'] = 'Mali Republic'; + $country['356'] = 'Malta'; + $country['692'] = 'Marshall Islands'; + $country['222'] = 'Mauritania'; + $country['230'] = 'Mauritius'; + $country['52'] = 'Mexico'; + $country['691'] = 'Micronesia'; + $country['373'] = 'Moldova'; + $country['377'] = 'Monaco'; + $country['976'] = 'Mongolia'; + $country['382'] = 'Montenegro'; + $country['1664'] = 'Montserrat'; + $country['212'] = 'Morocco'; + $country['258'] = 'Mozambique'; + $country['95'] = 'Myanmar (Burma)'; + $country['264'] = 'Namibia'; + $country['674'] = 'Nauru'; + $country['977'] = 'Nepal'; + $country['31'] = 'Netherlands'; + $country['599'] = 'Netherlands Antilles'; + $country['687'] = 'New Caledonia'; + $country['64'] = 'New Zealand'; + $country['505'] = 'Nicaragua'; + $country['227'] = 'Niger Republic'; + $country['234'] = 'Nigeria'; + $country['683'] = 'Niue Island'; + $country['6723'] = 'Norfolk'; + $country['850'] = 'North Korea'; + $country['47'] = 'Norway'; + $country['968'] = 'Oman Dem Republic'; + $country['92'] = 'Pakistan'; + $country['680'] = 'Palau Republic'; + $country['970'] = 'Palestine'; + $country['507'] = 'Panama'; + $country['675'] = 'Papua New Guinea'; + $country['595'] = 'Paraguay'; + $country['51'] = 'Peru'; + $country['63'] = 'Philippines'; + $country['48'] = 'Poland'; + $country['351'] = 'Portugal'; + $country['1787'] = 'Puerto Rico'; + $country['974'] = 'Qatar'; + $country['262'] = 'Reunion Island'; + $country['40'] = 'Romania'; + $country['7'] = 'Russia'; + $country['250'] = 'Rwanda Republic'; + $country['1670'] = 'Saipan/Mariannas'; + $country['378'] = 'San Marino'; + $country['239'] = 'Sao Tome/Principe'; + $country['966'] = 'Saudi Arabia'; + $country['221'] = 'Senegal'; + $country['381'] = 'Serbia'; + $country['248'] = 'Seychelles Island'; + $country['232'] = 'Sierra Leone'; + $country['65'] = 'Singapore'; + $country['421'] = 'Slovakia'; + $country['386'] = 'Slovenia'; + $country['677'] = 'Solomon Islands'; + $country['252'] = 'Somalia Republic'; + $country['685'] = 'Somoa'; + $country['27'] = 'South Africa'; + $country['82'] = 'South Korea'; + $country['34'] = 'Spain'; + $country['94'] = 'Sri Lanka'; + $country['290'] = 'St. Helena'; + $country['1869'] = 'St. Kitts'; + $country['1758'] = 'St. Lucia'; + $country['508'] = 'St. Pierre'; + $country['1784'] = 'St. Vincent'; + $country['249'] = 'Sudan'; + $country['597'] = 'Suriname'; + $country['268'] = 'Swaziland'; + $country['46'] = 'Sweden'; + $country['41'] = 'Switzerland'; + $country['963'] = 'Syria'; + $country['886'] = 'Taiwan'; + $country['992'] = 'Tajikistan'; + $country['255'] = 'Tanzania'; + $country['66'] = 'Thailand'; + $country['228'] = 'Togo Republic'; + $country['690'] = 'Tokelau'; + $country['676'] = 'Tonga Islands'; + $country['1868'] = 'Trinidad & Tobago'; + $country['216'] = 'Tunisia'; + $country['90'] = 'Turkey'; + $country['993'] = 'Turkmenistan'; + $country['1649'] = 'Turks & Caicos Island'; + $country['688'] = 'Tuvalu'; + $country['256'] = 'Uganda'; + $country['380'] = 'Ukraine'; + $country['971'] = 'United Arab Emirates'; + $country['44'] = 'United Kingdom'; + $country['598'] = 'Uruguay'; + $country['1 '] = 'USA/Canada'; + $country['998'] = 'Uzbekistan'; + $country['678'] = 'Vanuatu'; + $country['3966'] = 'Vatican City'; + $country['58'] = 'Venezuela'; + $country['84'] = 'Vietnam'; + $country['1340'] = 'Virgin Islands (US)'; + $country['681'] = 'Wallis/Futuna Islands'; + $country['967'] = 'Yemen Arab Republic'; + $country['260'] = 'Zambia'; + $country['263'] = 'Zimbabwe'; + $country[''] = acym_translation('ACYM_PHONE_NOCOUNTRY'); + + $countryCodeForSelect = []; + + foreach ($country as $key => $one) { + $countryCodeForSelect[$key] = $one.' +'.$key; + } + + return acym_select($countryCodeForSelect, $name, empty($defaultvalue) ? '' : $defaultvalue, 'class="acym__select__country"', 'value', 'text'); +} + +function acym_displayDateFormat($format, $name = 'date', $default = '14/06/1997', $attributes = '') +{ + $attributes = empty($attributes) ? 'class="acym__custom__fields__select__form "' : $attributes; + $default = empty($default) ? '14/06/1997' : $default; + $return = '
                '; + $days = []; + for ($i = 1 ; $i != 31 ; $i++) { + $days[$i < 10 ? '0'.$i : $i] = $i < 10 ? '0'.$i : $i; + } + $month = [ + '01' => acym_translation('ACYM_JANUARY'), + '02' => acym_translation('ACYM_FEBRUARY'), + '03' => acym_translation('ACYM_MARCH'), + '04' => acym_translation('ACYM_APRIL'), + '05' => acym_translation('ACYM_MAY'), + '06' => acym_translation('ACYM_JUNE'), + '07' => acym_translation('ACYM_JULY'), + '08' => acym_translation('ACYM_AUGUST'), + '09' => acym_translation('ACYM_SEPTEMBER'), + '10' => acym_translation('ACYM_OCTOBER'), + '11' => acym_translation('ACYM_NOVEMBER'), + '12' => acym_translation('ACYM_DECEMBER'), + ]; + $year = []; + for ($i = 1900 ; $i <= acym_date('now', 'Y') ; $i++) { + $year[$i] = $i; + } + $formatToDisplay = explode('%', $format); + $defaultDate = explode('/', $default); + + $i = 0; + unset($formatToDisplay[0]); + foreach ($formatToDisplay as $one) { + if ($one == 'd') { + $return .= '
                '.acym_select($days, $name, $defaultDate[$i], $attributes, 'value', 'text').'
                '; + } + if ($one == 'm') { + $return .= '
                '.acym_select($month, $name, $defaultDate[$i], $attributes, 'value', 'text').'
                '; + } + if ($one == 'y') { + $return .= '
                '.acym_select($year, $name, $defaultDate[$i], $attributes, 'value', 'text').'
                '; + } + $i++; + } + + $return .= '
                '; + + return $return; +} + +function acym_selectMultiple($data, $name, $selected = [], $attribs = [], $optValue = "value", $optText = "text", $translate = false) +{ + if (substr($name, -2) !== '[]') { + $name .= "[]"; + } + + $dropdown = "'; + + return $dropdown; +} + +function acym_selectOption($value, $text = '', $optKey = 'value', $optText = 'text', $disable = false) +{ + $option = new stdClass(); + $option->$optKey = $value; + $option->$optText = acym_translation($text); + $option->disable = $disable; + + return $option; +} + +function acym_gridID($rowNum, $recId, $checkedOut = false, $name = 'cid', $stub = 'cb') +{ + return ''; +} + +function acym_level($level) +{ + $config = acym_config(); + if ($config->get($config->get('level'), 0) >= $level) { + return true; + } + + return false; +} + +function acym_getDate($time = 0, $format = '%d %B %Y %H:%M') +{ + if (empty($time)) { + return ''; + } + + if (is_numeric($format)) { + $format = acym_translation('ACYM_DATE_FORMAT_LC'.$format); + } + + $format = str_replace( + ['%A', '%d', '%B', '%m', '%Y', '%y', '%H', '%M', '%S', '%a', '%I', '%p', '%w'], + ['l', 'd', 'F', 'm', 'Y', 'y', 'H', 'i', 's', 'D', 'h', 'a', 'w'], + $format + ); + + try { + return acym_date($time, $format, false); + } catch (Exception $e) { + return date($format, $time); + } +} + +function acym_isRobot() +{ + if (empty($_SERVER)) { + return false; + } + if (!empty($_SERVER['HTTP_USER_AGENT']) && strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'spambayes') !== false) { + return true; + } + if (!empty($_SERVER['REMOTE_ADDR']) && version_compare($_SERVER['REMOTE_ADDR'], '64.235.144.0', '>=') && version_compare($_SERVER['REMOTE_ADDR'], '64.235.159.255', '<=')) { + return true; + } + + return false; +} + +function acym_isAllowed($allowedGroups, $groups = null) +{ + if ($allowedGroups == 'all') { + return true; + } + if ($allowedGroups == 'none') { + return false; + } + if (!is_array($allowedGroups)) { + $allowedGroups = explode(',', trim($allowedGroups, ',')); + } + + $currentUserid = acym_currentUserId(); + if (empty($currentUserid) && empty($groups) && in_array('nonloggedin', $allowedGroups)) { + return true; + } + + if (empty($groups) && empty($currentUserid)) { + return false; + } + if (empty($groups)) { + $groups = acym_getGroupsByUser($currentUserid, false); + } + + if (!is_array($groups)) { + $groups = [$groups]; + } + $inter = array_intersect($groups, $allowedGroups); + if (empty($inter)) { + return false; + } + + return true; +} + +function acym_getFunctionsEmailCheck($controllButtons = [], $bounce = false) +{ + $addressCheck = '!emailAddress.match(/^'.acym_getEmailRegex(true).'((,|;)'.acym_getEmailRegex( + true + ).')*$/i)'; + + $return = ''; + + return $return; +} + +function acym_loadLanguage() +{ + acym_loadLanguageFile(ACYM_LANGUAGE_FILE, ACYM_ROOT, null, true); + acym_loadLanguageFile(ACYM_LANGUAGE_FILE.'_custom', ACYM_ROOT, null, true); +} + +function acym_createDir($dir, $report = true, $secured = false) +{ + if (is_dir($dir)) { + return true; + } + + $indexhtml = ''; + + try { + $status = acym_createFolder($dir); + } catch (Exception $e) { + $status = false; + } + + if (!$status) { + if ($report) { + acym_display('Could not create the directory '.$dir, 'error'); + } + + return false; + } + + try { + $status = acym_writeFile($dir.DS.'index.html', $indexhtml); + } catch (Exception $e) { + $status = false; + } + + if (!$status) { + if ($report) { + acym_display('Could not create the file '.$dir.DS.'index.html', 'error'); + } + } + + if ($secured) { + try { + $htaccess = 'Order deny,allow'."\r\n".'Deny from all'; + $status = acym_writeFile($dir.DS.'.htaccess', $htaccess); + } catch (Exception $e) { + $status = false; + } + + if (!$status) { + if ($report) { + acym_display('Could not create the file '.$dir.DS.'.htaccess', 'error'); + } + } + } + + return $status; +} + +function acym_getUpgradeLink($tolevel) +{ + $config = acym_config(); + + return ' '.acym_translation('ONLY_FROM_'.strtoupper($tolevel)).''; +} + +function acym_replaceDate($mydate, $display = false) +{ + if (strpos($mydate, '[time]') === false) { + if (is_numeric($mydate) && $display) return acym_date($mydate, 'Y-m-d H:i:s'); + + return $mydate; + } + + if ($mydate == '[time]' && $display) return acym_translation('ACYM_NOW'); + + $mydate = str_replace('[time]', time(), $mydate); + $operators = ['+', '-']; + foreach ($operators as $oneOperator) { + if (strpos($mydate, $oneOperator) === false) continue; + + $dateArray = explode($oneOperator, $mydate); + if ($oneOperator == '+') { + if ($display) { + $mydate = acym_translation_sprintf('ACYM_AFTER_DATE', acym_secondsToTime(intval($dateArray[1]))); + } else { + $mydate = intval($dateArray[0]) + intval($dateArray[1]); + } + } elseif ($oneOperator == '-') { + if ($display) { + $mydate = acym_translation_sprintf('ACYM_BEFORE_DATE', acym_secondsToTime(intval($dateArray[1]))); + } else { + $mydate = intval($dateArray[0]) - intval($dateArray[1]); + } + } + } + + return $mydate; +} + +function acym_secondsToTime($seconds) +{ + $dtF = new \DateTime('@0'); + $dtT = new \DateTime("@$seconds"); + + return $dtF->diff($dtT)->format('%a day(s) %h h, %i min'); +} + +function acym_generateKey($length) +{ + $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + $randstring = ''; + $max = strlen($characters) - 1; + for ($i = 0 ; $i < $length ; $i++) { + $randstring .= $characters[mt_rand(0, $max)]; + } + + return $randstring; +} + +function acym_absoluteURL($text) +{ + static $mainurl = ''; + if (empty($mainurl)) { + $urls = parse_url(ACYM_LIVE); + if (!empty($urls['path'])) { + $mainurl = substr(ACYM_LIVE, 0, strrpos(ACYM_LIVE, $urls['path'])).'/'; + } else { + $mainurl = ACYM_LIVE; + } + } + + $text = str_replace( + [ + 'href="../undefined/', + 'href="../../undefined/', + 'href="../../../undefined//', + 'href="undefined/', + ACYM_LIVE.'http://', + ACYM_LIVE.'https://', + ], + [ + 'href="'.$mainurl, + 'href="'.$mainurl, + 'href="'.$mainurl, + 'href="'.ACYM_LIVE, + 'http://', + 'https://', + ], + $text + ); + $text = preg_replace('#href="(/?administrator)?/({|%7B)#Ui', 'href="$2', $text); + + $text = preg_replace('#href="http:/([^/])#Ui', 'href="http://$1', $text); + + $text = preg_replace( + '#href="'.preg_quote(str_replace(['http://', 'https://'], '', $mainurl), '#').'#Ui', + 'href="'.$mainurl, + $text + ); + + $replace = []; + $replaceBy = []; + if ($mainurl !== ACYM_LIVE) { + + $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"(?!(\{|%7B|\[|\#|\\\\|[a-z]{3,15}:|/))(?:\.\./)#i'; + $replaceBy[] = '$1="'.substr(ACYM_LIVE, 0, strrpos(rtrim(ACYM_LIVE, '/'), '/') + 1); + + + $subfolder = substr(ACYM_LIVE, strrpos(rtrim(ACYM_LIVE, '/'), '/')); + $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"'.preg_quote($subfolder, '#').'(\{|%7B)#i'; + $replaceBy[] = '$1="$2'; + } + + $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"(?!(\{|%7B|\[|\#|\\\\|[a-z]{3,15}:|/))(?:\.\./|\./)?#i'; + $replaceBy[] = '$1="'.ACYM_LIVE; + $replace[] = '#(href|src|action|background)[ ]*=[ ]*\"(?!(\{|%7B|\[|\#|\\\\|[a-z]{3,15}:))/#i'; + $replaceBy[] = '$1="'.$mainurl; + + $replace[] = '#((?:background-image|background)[ ]*:[ ]*url\((?:\'|"|")?(?!(\\\\|[a-z]{3,15}:|/|\'|"|"))(?:\.\./|\./)?)#i'; + $replaceBy[] = '$1'.ACYM_LIVE; + + return preg_replace($replace, $replaceBy, $text); +} + +function acym_mainURL(&$link) +{ + static $mainurl = ''; + static $otherarguments = false; + if (empty($mainurl)) { + $urls = parse_url(ACYM_LIVE); + if (isset($urls['path']) && strlen($urls['path']) > 0) { + $mainurl = substr(ACYM_LIVE, 0, strrpos(ACYM_LIVE, $urls['path'])).'/'; + $otherarguments = trim(str_replace($mainurl, '', ACYM_LIVE), '/'); + if (strlen($otherarguments) > 0) { + $otherarguments .= '/'; + } + } else { + $mainurl = ACYM_LIVE; + } + } + + if ($otherarguments && strpos($link, $otherarguments) === false) { + $link = $otherarguments.$link; + } + + return $mainurl; +} + +function acym_bytes($val) +{ + $val = trim($val); + if (empty($val)) { + return 0; + } + $last = strtolower($val[strlen($val) - 1]); + switch ($last) { + case 'g': + $val = intval($val) * 1073741824; + break; + case 'm': + $val = intval($val) * 1048576; + break; + case 'k': + $val = intval($val) * 1024; + break; + } + + return (int)$val; +} + +function acym_getTables() +{ + return acym_loadResultArray('SHOW TABLES'); +} + +function acym_getColumns($table, $acyTable = true, $putPrefix = true) +{ + if ($putPrefix) { + $prefix = $acyTable ? '#__acym_' : '#__'; + $table = $prefix.$table; + } + + return acym_loadResultArray('SHOW COLUMNS FROM '.acym_secureDBColumn($table)); +} + +function acym_display($messages, $type = 'success', $close = true) +{ + if (empty($messages)) { + return; + } + + if (!is_array($messages)) { + $messages = [$messages]; + } + + echo '
                '; + + if ($close) { + echo ''; + } + + echo '

                '.implode('

                ', $messages).'

                '; +} + +function acym_secureDBColumn($fieldName) +{ + if (!is_string($fieldName) || preg_match('|[^a-z0-9#_.-]|i', $fieldName) !== 0) { + die('field, table or database "'.acym_escape($fieldName).'" not secured'); + } + + return $fieldName; +} + +function acym_displayErrors() +{ + error_reporting(E_ALL); + @ini_set("display_errors", 1); +} + +function acym_increasePerf() +{ + @ini_set('max_execution_time', 600); + @ini_set('pcre.backtrack_limit', 1000000); +} + +function acym_config($reload = false) +{ + static $configClass = null; + if ($configClass === null || $reload) { + $configClass = acym_get('class.configuration'); + $configClass->load(); + } + + return $configClass; +} + +function acym_getModuleFormName() +{ + static $i = 1; + + return 'formAcym'.rand(1000, 9999).$i++; +} + +function acym_initModule($params = null) +{ + static $loaded = false; + if ($loaded) { + return; + } + $loaded = true; + + if (method_exists($params, 'get')) { + $nameCaption = $params->get('nametext'); + $emailCaption = $params->get('emailtext'); + } + + if (empty($nameCaption)) { + $nameCaption = acym_translation('ACYM_NAME'); + } + if (empty($emailCaption)) { + $emailCaption = acym_translation('ACYM_EMAIL'); + } + + $js = " var acymModule = []; + acymModule['emailRegex'] = /^".acym_getEmailRegex(true)."$/i; + acymModule['NAMECAPTION'] = '".str_replace("'", "\'", $nameCaption)."'; + acymModule['NAME_MISSING'] = '".str_replace("'", "\'", acym_translation('ACYM_MISSING_NAME'))."'; + acymModule['EMAILCAPTION'] = '".str_replace("'", "\'", $emailCaption)."'; + acymModule['VALID_EMAIL'] = '".str_replace("'", "\'", acym_translation('ACYM_VALID_EMAIL'))."'; + acymModule['CAPTCHA_MISSING'] = '".str_replace("'", "\'", acym_translation('ACYM_WRONG_CAPTCHA'))."'; + acymModule['NO_LIST_SELECTED'] = '".str_replace("'", "\'", acym_translation('ACYM_SELECT_LIST'))."'; + acymModule['ACCEPT_TERMS'] = '".str_replace("'", "\'", acym_translation('ACYM_ACCEPT_TERMS'))."'; + "; + + $config = acym_config(); + $version = str_replace('.', '', $config->get('version')); + + $scriptName = acym_addScript(false, ACYM_JS.'module.min.js?v='.$version); + acym_addScript(true, $js, 'text/javascript', false, false, false, ['script_name' => $scriptName]); + + if ('wordpress' === ACYM_CMS) { + wp_enqueue_style('style_acymailing_module', ACYM_CSS.'module.min.css?v='.$version); + } else { + acym_addStyle(false, ACYM_CSS.'module.min.css?v='.$version); + } +} + +function acym_footer() +{ + $config = acym_config(); + $description = ACYM_CMS_TITLE.' E-mail Marketing'; + $text = ' + '; + if (acym_level(1) && !acym_level(4)) { + return $text; + } + $level = $config->get('level'); + $text .= ''; + + return $text; +} + +function acym_perf($name) +{ + static $previoustime = 0; + static $previousmemory = 0; + static $file = ''; + + if (empty($file)) { + $file = ACYM_ROOT.'acydebug_'.rand().'.txt'; + $previoustime = microtime(true); + $previousmemory = memory_get_usage(); + file_put_contents( + $file, + "\r\n\r\n-- new test : ".$name." -- ".date('d M H:i:s')." from ".@$_SERVER['REMOTE_ADDR'], + FILE_APPEND + ); + + return; + } + + $nowtime = microtime(true); + $totaltime = $nowtime - $previoustime; + $previoustime = $nowtime; + + $nowmemory = memory_get_usage(); + $totalmemory = $nowmemory - $previousmemory; + $previousmemory = $nowmemory; + + file_put_contents( + $file, + "\r\n".$name.' : '.number_format($totaltime, 2).'s - '.$totalmemory.' / '.memory_get_usage(), + FILE_APPEND + ); +} + +function acym_get($path) +{ + list($group, $class) = explode('.', $path); + + $className = $class.ucfirst(str_replace('_front', '', $group)); + if ($group == 'helper' && strpos($className, 'acym') !== 0) { + $className = 'acym'.$className; + } + if ($group == 'class') { + $className = 'acym'.$className; + } + + if (substr($group, 0, 4) == 'view') { + $className = $className.ucfirst($class); + $class .= DS.'view.html'; + } + + if (!class_exists($className)) { + include(constant(strtoupper('ACYM_'.$group)).$class.'.php'); + } + + if (!class_exists($className)) { + return null; + } + + return new $className(); +} + +function acym_getCID($field = '') +{ + $oneResult = acym_getVar('array', 'cid', [], ''); + $oneResult = intval(reset($oneResult)); + if (!empty($oneResult) || empty($field)) { + return $oneResult; + } + + $oneResult = acym_getVar('int', $field, 0, ''); + + return intval($oneResult); +} + +function acym_checkRobots() +{ + if (preg_match('#(libwww-perl|python|googlebot)#i', @$_SERVER['HTTP_USER_AGENT'])) { + die('Not allowed for robots. Please contact us if you are not a robot'); + } +} + +function acym_importFile($file, $uploadPath, $onlyPict, $maxwidth = '') +{ + acym_checkToken(); + + $config = acym_config(); + $additionalMsg = ''; + + if ($file["error"] > 0) { + $file["error"] = intval($file["error"]); + if ($file["error"] > 8) { + $file["error"] = 0; + } + + $phpFileUploadErrors = [ + 0 => 'Unknown error', + 1 => 'The uploaded file exceeds the upload_max_filesize directive in php.ini', + 2 => 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', + 3 => 'The uploaded file was only partially uploaded', + 4 => 'No file was uploaded', + 6 => 'Missing a temporary folder', + 7 => 'Failed to write file to disk', + 8 => 'A PHP extension stopped the file upload', + ]; + + acym_enqueueNotification(acym_translation_sprintf('ACYM_ERROR_UPLOADING_FILE_X', $phpFileUploadErrors[$file["error"]]), 'error', 5000); + + return false; + } + + acym_createDir($uploadPath, true); + + if (!is_writable($uploadPath)) { + @chmod($uploadPath, '0755'); + if (!is_writable($uploadPath)) { + acym_display(acym_translation_sprintf('ACYM_WRITABLE_FOLDER', $uploadPath), 'error'); + + return false; + } + } + + if ($onlyPict) { + $allowedExtensions = ['png', 'jpeg', 'jpg', 'gif', 'ico', 'bmp']; + } else { + $allowedExtensions = explode(',', $config->get('allowed_files')); + } + + if (!preg_match('#\.('.implode('|', $allowedExtensions).')$#Ui', $file["name"], $extension)) { + $ext = substr($file["name"], strrpos($file["name"], '.') + 1); + acym_display( + acym_translation_sprintf( + 'ACYM_ACCEPTED_TYPE', + acym_escape($ext), + implode(', ', $allowedExtensions) + ), + 'error' + ); + + return false; + } + + if (preg_match('#\.(php.?|.?htm.?|pl|py|jsp|asp|sh|cgi)#Ui', $file["name"])) { + acym_display( + 'This extension name is blocked by the system regardless your configuration for security reasons', + 'error' + ); + + return false; + } + + $file["name"] = preg_replace( + '#[^a-z0-9]#i', + '_', + strtolower(substr($file["name"], 0, strrpos($file["name"], '.'))) + ).'.'.$extension[1]; + + if ($onlyPict) { + $imageSize = getimagesize($file['tmp_name']); + if (empty($imageSize)) { + acym_display('Invalid image', 'error'); + + return false; + } + } + + if (file_exists($uploadPath.DS.$file["name"])) { + $i = 1; + $nameFile = preg_replace("/\\.[^.\\s]{3,4}$/", "", $file["name"]); + $ext = substr($file["name"], strrpos($file["name"], '.') + 1); + while (file_exists($uploadPath.DS.$nameFile.'_'.$i.'.'.$ext)) { + $i++; + } + + $file["name"] = $nameFile.'_'.$i.'.'.$ext; + $additionalMsg = '
                '.acym_translation_sprintf('ACYM_FILE_RENAMED', $file["name"]); + if ($onlyPict) { + $additionalMsg .= '
                '.acym_translation( + 'ACYM_RENAME_OR_REPLACE' + ).''; + } + } + + if (!acym_uploadFile($file["tmp_name"], rtrim($uploadPath, DS).DS.$file["name"])) { + if (!move_uploaded_file($file["tmp_name"], rtrim($uploadPath, DS).DS.$file["name"])) { + acym_display( + acym_translation_sprintf( + 'ACYM_FAIL_UPLOAD', + ''.acym_escape($file["tmp_name"]).'', + ''.acym_escape(rtrim($uploadPath, DS).DS.$file["name"]).'' + ), + 'error' + ); + + return false; + } + } + + if (!empty($maxwidth) || ($onlyPict && $imageSize[0] > 1000)) { + $imageHelper = acym_get('helper.image'); + if ($imageHelper->available()) { + $imageHelper->maxHeight = 9999; + if (empty($maxwidth)) { + $imageHelper->maxWidth = 700; + } else { + $imageHelper->maxWidth = $maxwidth; + } + $message = 'ACYM_IMAGE_RESIZED'; + $imageHelper->destination = $uploadPath; + $thumb = $imageHelper->generateThumbnail(rtrim($uploadPath, DS).DS.$file["name"], $file["name"]); + $resize = acym_moveFile($thumb['file'], $uploadPath.DS.$file["name"]); + if ($thumb) { + $additionalMsg .= '
                '.acym_translation($message); + } + } + } + acym_enqueueNotification(acym_translation('ACYM_SUCCESS_FILE_UPLOAD').$additionalMsg, 'success', 5000); + + return $file["name"]; +} + +function acym_inputFile($name, $value = '', $id = '', $class = '', $attributes = '') +{ + $return = '
                '; + $return .= empty($value) ? acym_translation('ACYM_NO_FILE_CHOSEN') : $value; + $return .= '
                '; + + return $return; +} + +function acym_getFilesFolder($folder = 'upload', $multipleFolders = false) +{ + $listClass = acym_get('class.list'); + if (acym_isAdmin()) { + $allLists = $listClass->getAll(); + } else { + $allLists = $listClass->getAll(); + } + $newFolders = []; + + $config = acym_config(); + if ($folder == 'upload') { + $uploadFolder = $config->get('uploadfolder', ACYM_UPLOAD_FOLDER); + } else { + $uploadFolder = $config->get('mediafolder', ACYM_UPLOAD_FOLDER); + } + + $folders = explode(',', $uploadFolder); + + foreach ($folders as $k => $folder) { + $folders[$k] = trim($folder, '/'); + if (strpos($folder, '{userid}') !== false) { + $folders[$k] = str_replace('{userid}', acym_currentUserId(), $folders[$k]); + } + + if (strpos($folder, '{listalias}') !== false) { + if (empty($allLists)) { + $noList = new stdClass(); + $noList->alias = 'none'; + $allLists = [$noList]; + } + + foreach ($allLists as $oneList) { + $newFolders[] = str_replace( + '{listalias}', + strtolower(str_replace([' ', '-'], '_', $oneList->alias)), + $folders[$k] + ); + } + + $folders[$k] = ''; + continue; + } + + if (strpos($folder, '{groupid}') !== false || strpos($folder, '{groupname}') !== false) { + $groups = acym_getGroupsByUser(acym_currentUserId(), false); + acym_arrayToInteger($groups); + if (empty($groups)) { + $groups[] = 0; + } + + $completeGroups = acym_loadObjectList('SELECT id, title FROM #__usergroups WHERE id IN ('.implode(',', $groups).')'); + + foreach ($completeGroups as $group) { + $newFolders[] = str_replace( + ['{groupid}', '{groupname}'], + [$group->id, strtolower(str_replace(' ', '_', $group->title))], + $folders[$k] + ); + } + + $folders[$k] = ''; + } + } + + $folders = array_merge($folders, $newFolders); + $folders = array_filter($folders); + sort($folders); + if ($multipleFolders) { + return $folders; + } else { + return array_shift($folders); + } +} + +function acym_generateArborescence($folders) +{ + $folderList = []; + foreach ($folders as $folder) { + $folderPath = acym_cleanPath(ACYM_ROOT.trim(str_replace('/', DS, trim($folder)), DS)); + if (!file_exists($folderPath)) { + acym_createDir($folderPath); + } + $subFolders = acym_listFolderTree($folderPath, '', 15); + $folderList[$folder] = []; + foreach ($subFolders as $oneFolder) { + $subFolder = str_replace(ACYM_ROOT, '', $oneFolder['relname']); + $subFolder = str_replace(DS, '/', $subFolder); + $folderList[$folder][$subFolder] = ltrim($subFolder, '/'); + } + $folderList[$folder] = array_unique($folderList[$folder]); + } + + return $folderList; +} + +function acym_arrayToInteger(&$array) +{ + if (is_array($array)) { + $array = array_map('intval', $array); + } else { + $array = []; + } +} + +function acym_arrayToString($array, $inner_glue = '=', $outer_glue = ' ', $keepOuterKey = false) +{ + $output = []; + + foreach ($array as $key => $item) { + if (is_array($item)) { + if ($keepOuterKey) { + $output[] = $key; + } + + $output[] = acym_arrayToString($item, $inner_glue, $outer_glue, $keepOuterKey); + } else { + $output[] = $key.$inner_glue.'"'.$item.'"'; + } + } + + return implode($outer_glue, $output); +} + +function acym_makeSafeFile($file) +{ + $file = rtrim($file, '.'); + $regex = ['#(\.){2,}#', '#[^A-Za-z0-9\.\_\- ]#', '#^\.#']; + + return trim(preg_replace($regex, '', $file)); +} + +function acym_sortablelist($table, $ordering) +{ + acym_addScript(false, ACYM_JS.'sortable.js?v='.@filemtime(ACYM_MEDIA.'js'.DS.'sortable.js')); + + $js = " + document.addEventListener(\"DOMContentLoaded\", function(event) { + Sortable.create(document.getElementById('acym_sortable_listing'), { + handle: '.acyicon-draghandle', + animation: 150, + dataIdAttr: 'acyorderid', + ghostClass: 'acysortable-ghost', + store: { + set: function (sortable) { + var cid = sortable.toArray(); + var order = [".$ordering."]; + + var xhr = new XMLHttpRequest(); + xhr.open('GET', '".acym_prepareAjaxURL( + $table + )."&task=saveorder&'+cid.join('&')+'&'+order.join('&')+'&".acym_getFormToken()."'); + xhr.send(); + } + } + }); + });"; + + acym_addScript(true, $js); +} + +function acym_tooltip($text, $tooltipText, $classContainer = '', $title = '', $link = '') +{ + if (!empty($link)) { + $text = ''.$text.''; + } + + if (!empty($title)) { + $title = ''.$title.''; + } + + return ''.$title.$tooltipText.''.$text.''; +} + +function acym_info($tooltipText) +{ + return acym_tooltip('', $tooltipText, 'acym__tooltip__info'); +} + +function acym_deleteFolder($path) +{ + $path = acym_cleanPath($path); + if (!is_dir($path)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FOLDER', $path), 'error', 0); + + return false; + } + $files = acym_getFiles($path); + if (!empty($files)) { + foreach ($files as $oneFile) { + if (!acym_deleteFile($path.DS.$oneFile)) { + return false; + } + } + } + + $folders = acym_getFolders($path, '.', false, false, []); + if (!empty($folders)) { + foreach ($folders as $oneFolder) { + if (!acym_deleteFolder($path.DS.$oneFolder)) { + return false; + } + } + } + + if (@rmdir($path)) { + $ret = true; + } else { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_DELETE_FOLDER', $path), 'error', 0); + $ret = false; + } + + return $ret; +} + +function acym_createFolder($path = '', $mode = 0755) +{ + $path = acym_cleanPath($path); + if (file_exists($path)) { + return true; + } + + $origmask = @umask(0); + $ret = @mkdir($path, $mode, true); + @umask($origmask); + + return $ret; +} + +function acym_getFolders($path, $filter = '.', $recurse = false, $full = false, $exclude = ['.svn', 'CVS', '.DS_Store', '__MACOSX'], $excludefilter = ['^\..*']) +{ + $path = acym_cleanPath($path); + + if (!is_dir($path)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FOLDER', $path), 'error', 0); + + return false; + } + + if (count($excludefilter)) { + $excludefilter_string = '/('.implode('|', $excludefilter).')/'; + } else { + $excludefilter_string = ''; + } + + $arr = acym_getItems($path, $filter, $recurse, $full, $exclude, $excludefilter_string, false); + asort($arr); + + return array_values($arr); +} + +function acym_getFiles($path, $filter = '.', $recurse = false, $full = false, $exclude = ['.svn', 'CVS', '.DS_Store', '__MACOSX'], $excludefilter = ['^\..*', '.*~'], $naturalSort = false) +{ + $path = acym_cleanPath($path); + + if (!is_dir($path)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FOLDER', $path), 'error', 0); + + return false; + } + + if (count($excludefilter)) { + $excludefilter_string = '/('.implode('|', $excludefilter).')/'; + } else { + $excludefilter_string = ''; + } + + $arr = acym_getItems($path, $filter, $recurse, $full, $exclude, $excludefilter_string, true); + + if ($naturalSort) { + natsort($arr); + } else { + asort($arr); + } + + return array_values($arr); +} + +function acym_getItems($path, $filter, $recurse, $full, $exclude, $excludefilter_string, $findfiles) +{ + $arr = []; + + if (!($handle = @opendir($path))) { + return $arr; + } + + while (($file = readdir($handle)) !== false) { + if ($file == '.' || $file == '..' || in_array($file, $exclude) || (!empty($excludefilter_string) && preg_match( + $excludefilter_string, + $file + ))) { + continue; + } + $fullpath = $path.'/'.$file; + + $isDir = is_dir($fullpath); + + if (($isDir xor $findfiles) && preg_match("/$filter/", $file)) { + if ($full) { + $arr[] = $fullpath; + } else { + $arr[] = $file; + } + } + + if ($isDir && $recurse) { + if (is_int($recurse)) { + $arr = array_merge( + $arr, + acym_getItems( + $fullpath, + $filter, + $recurse - 1, + $full, + $exclude, + $excludefilter_string, + $findfiles + ) + ); + } else { + $arr = array_merge( + $arr, + acym_getItems( + $fullpath, + $filter, + $recurse, + $full, + $exclude, + $excludefilter_string, + $findfiles + ) + ); + } + } + } + + closedir($handle); + + return $arr; +} + +function acym_copyFolder($src, $dest, $path = '', $force = false, $use_streams = false) +{ + + if ($path) { + $src = acym_cleanPath($path.'/'.$src); + $dest = acym_cleanPath($path.'/'.$dest); + } + + $src = rtrim($src, DIRECTORY_SEPARATOR); + $dest = rtrim($dest, DIRECTORY_SEPARATOR); + + if (!file_exists($src)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_FOLDER_DOES_NOT_EXIST', $src), 'error', 0); + + return false; + } + + if (file_exists($dest) && !$force) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_FOLDER_ALREADY_EXIST', $dest), 'error', 0); + + return true; + } + + if (!acym_createFolder($dest)) { + acym_enqueueNotification(acym_translation('ACYM_CANNOT_CREATE_DESTINATION_FOLDER'), 'error', 0); + + return false; + } + + if (!($dh = @opendir($src))) { + acym_enqueueNotification(acym_translation('ACYM_CANNOT_OPEN_SOURCE_FOLDER'), 'error', 0); + + return false; + } + + while (($file = readdir($dh)) !== false) { + $sfid = $src.'/'.$file; + $dfid = $dest.'/'.$file; + + switch (filetype($sfid)) { + case 'dir': + if ($file != '.' && $file != '..') { + $ret = acym_copyFolder($sfid, $dfid, null, $force, $use_streams); + + if ($ret !== true) { + return $ret; + } + } + break; + + case 'file': + if (!@copy($sfid, $dfid)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COPY_FILE_FAILED_PERMISSION', $sfid), 'error', 0); + + return false; + } + break; + } + } + + return true; +} + +function acym_moveFolder($src, $dest, $path = '', $use_streams = false) +{ + if ($path) { + $src = acym_cleanPath($path.'/'.$src); + $dest = acym_cleanPath($path.'/'.$dest); + } + + if (!file_exists($src)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_FOLDER_DOES_NOT_EXIST', $src), 'error', 0); + + return false; + } + + if (!@rename($src, $dest)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_MOVE_FOLDER_PERMISSION', $src, $dest), 'error', 0); + + return false; + } + + return true; +} + +function acym_listFolderTree($path, $filter, $maxLevel = 3, $level = 0, $parent = 0) +{ + $dirs = []; + + if ($level == 0) { + $GLOBALS['acym_folder_tree_index'] = 0; + } + + if ($level < $maxLevel) { + $folders = acym_getFolders($path, $filter); + + foreach ($folders as $name) { + $id = ++$GLOBALS['acym_folder_tree_index']; + $fullName = acym_cleanPath($path.'/'.$name); + $dirs[] = [ + 'id' => $id, + 'parent' => $parent, + 'name' => $name, + 'fullname' => $fullName, + 'relname' => str_replace(ACYM_ROOT, '', $fullName), + ]; + $dirs2 = acym_listFolderTree($fullName, $filter, $maxLevel, $level + 1, $id); + $dirs = array_merge($dirs, $dirs2); + } + } + + return $dirs; +} + +function acym_deleteFile($file) +{ + $file = acym_cleanPath($file); + if (!is_file($file)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_IS_NOT_A_FILE', $file), 'error', 0); + + return false; + } + + @chmod($file, 0777); + + if (!@unlink($file)) { + $filename = basename($file); + acym_enqueueNotification(acym_translation_sprintf('ACYM_FAILED_DELETE', $filename), 'error', 0); + + return false; + } + + return true; +} + +function acym_writeFile($file, $buffer, $use_streams = false) +{ + if (!file_exists(dirname($file)) && acym_createFolder(dirname($file)) == false) { + return false; + } + + $file = acym_cleanPath($file); + $ret = is_int(file_put_contents($file, $buffer)); + + return $ret; +} + +function acym_moveFile($src, $dest, $path = '', $use_streams = false) +{ + if (!empty($path)) { + $src = acym_cleanPath($path.'/'.$src); + $dest = acym_cleanPath($path.'/'.$dest); + } + + if (!is_readable($src)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_FIND_FILE_SOURCE_PERMISSION', $src), 'error', 0); + + return false; + } + + if (!@rename($src, $dest)) { + acym_enqueueNotification(acym_translation('ACYM_COULD_NOT_MOVE_FILE'), 'error', 0); + + return false; + } + + return true; +} + +function acym_uploadFile($src, $dest) +{ + $dest = acym_cleanPath($dest); + + $baseDir = dirname($dest); + if (!file_exists($baseDir)) { + acym_createFolder($baseDir); + } + + if (is_writeable($baseDir) && move_uploaded_file($src, $dest)) { + if (@chmod($dest, octdec('0644'))) { + return true; + } else { + acym_enqueueNotification(acym_translation('ACYM_FILE_REJECTED_SAFETY_REASON'), 'error', 0); + } + } else { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_UPLOAD_FILE_PERMISSION', $baseDir), 'error', 0); + } + + return false; +} + +function acym_copyFile($src, $dest, $path = null, $use_streams = false) +{ + if ($path) { + $src = acym_cleanPath($path.'/'.$src); + $dest = acym_cleanPath($path.'/'.$dest); + } + + if (!is_readable($src)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_FIND_FILE_SOURCE_PERMISSION', $src), 'error', 0); + + return false; + } + + if (!@copy($src, $dest)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_COULD_NOT_COPY_FILE_X_TO_X', $src, $dest), 'error', 0); + + return false; + } + + return true; +} + +function acym_fileGetExt($file) +{ + $dot = strrpos($file, '.'); + if ($dot === false) { + return ''; + } + + return substr($file, $dot + 1); +} + +function acym_cleanPath($path, $ds = DIRECTORY_SEPARATOR) +{ + $path = trim($path); + + if (empty($path)) { + $path = ACYM_ROOT; + } elseif (($ds == '\\') && substr($path, 0, 2) == '\\\\') { + $path = "\\".preg_replace('#[/\\\\]+#', $ds, $path); + } else { + $path = preg_replace('#[/\\\\]+#', $ds, $path); + } + + return $path; +} + +function acym_createArchive($name, $files) +{ + $contents = []; + $ctrldir = []; + + $timearray = getdate(); + $dostime = (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + $dtime = dechex($dostime); + $hexdtime = chr(hexdec($dtime[6].$dtime[7])).chr(hexdec($dtime[4].$dtime[5])).chr(hexdec($dtime[2].$dtime[3])).chr( + hexdec($dtime[0].$dtime[1]) + ); + + foreach ($files as $file) { + $data = $file['data']; + $filename = str_replace('\\', '/', $file['name']); + + $fr = "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00".$hexdtime; + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + + $fr .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len).pack('v', strlen($filename)).pack( + 'v', + 0 + ).$filename.$zdata; + + $old_offset = strlen(implode('', $contents)); + $contents[] = $fr; + + $cdrec = "\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00".$hexdtime; + $cdrec .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len).pack('v', strlen($filename)).pack('v', 0).pack( + 'v', + 0 + ).pack('v', 0).pack('v', 0).pack('V', 32).pack('V', $old_offset).$filename; + + $ctrldir[] = $cdrec; + } + + $data = implode('', $contents); + $dir = implode('', $ctrldir); + $buffer = $data.$dir."\x50\x4b\x05\x06\x00\x00\x00\x00".pack('v', count($ctrldir)).pack('v', count($ctrldir)).pack( + 'V', + strlen($dir) + ).pack('V', strlen($data))."\x00\x00"; + + return acym_writeFile($name.'.zip', $buffer); +} + +function acym_currentURL() +{ + $url = isset($_SERVER['HTTPS']) ? 'https' : 'http'; + $url .= '://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; + + return $url; +} + +function acym_accessList() +{ + $listid = acym_getVar('int', 'listid'); + if (empty($listid)) { + return false; + } + + $listClass = acym_get('class.list'); + $myList = $listClass->get($listid); + if (empty($myList->listid)) { + die('Invalid List'); + } + + $currentUserid = acym_currentUserId(); + if (!empty($currentUserid) && $currentUserid == (int)$myList->userid) { + return true; + } + if (empty($currentUserid) || $myList->access_manage == 'none') { + return false; + } + if ($myList->access_manage != 'all' && !acym_isAllowed($myList->access_manage)) { + return false; + } + + return true; +} + +function acym_gridSort( + $title, $order, $direction = 'asc', $selected = '', $task = null, $new_direction = 'asc', $tip = '' +) { + $direction = strtolower($direction); + if ($order != $selected) { + $direction = $new_direction; + } else { + $direction = $direction == 'desc' ? 'asc' : 'desc'; + } + + $icon = ['acyicon-up', 'acyicon-down']; + $index = (int)($direction == 'desc'); + + $result = ''; + $result .= acym_tooltip(acym_translation('ACYM_ORDER_COLUMN'), '', '', acym_translation($title)); + if ($order == $selected) { + $result .= ''; + } + $result .= ''; + + return $result; +} + +function acym_session() +{ + $sessionID = session_id(); + if (empty($sessionID)) { + @session_start(); + } +} + +function acym_filterOrdering($orderingOptions, $selected) +{ + echo ''; + + foreach ($orderingOptions as $value => $text) { + $class = 'acym_ordering_option large-shrink medium-auto small-6 cell button primary'; + if ($value == $selected) { + $class .= ' acym__listing__sort-by--selected'; + } + echo acym_tooltip('', acym_translation("ACYM_SORT_BY").' '.acym_translation($text)); + } +} + +function acym_dropdown($id = null, $target = null, $content = '', $dataPosition = 'bottom', $dataAlignment = 'center') +{ + $dropdown = $target; + $dropdown .= ''; + + return $dropdown; +} + +function acym_listingActions($actions) +{ + $defaultAction = new stdClass(); + $defaultAction->value = 0; + $defaultAction->text = acym_translation('ACYM_CHOOSE_ACTION'); + $defaultAction->disable = true; + + array_unshift($actions, $defaultAction); + + return acym_select($actions, '', null, 'class="medium-shrink cell margin-right-1"', 'value', 'text', 'listing_actions'); +} + +function acym_switchFilter($switchOptions, $selected, $name, $addClass = '') +{ + $return = ''; + foreach ($switchOptions as $value => $text) { + $class = 'button hollow acym__type__choosen cell small-6 xlarge-auto large-shrink'; + if ($value == $selected) { + $class .= ' is-active'; + } + $class .= ' '.$addClass; + $return .= ''; + } + + return $return; +} + +function acym_filterStatus($options, $selected, $name) +{ + $filterStatus = ''; + + foreach ($options as $value => $text) { + $class = 'acym__filter__status clear button secondary'; + if ($value == $selected) { + $class .= ' font-bold acym__status__select'; + } + $disabled = empty($text[1]) ? ' disabled' : ''; + $filterStatus .= ''; + } + + return $filterStatus; +} + +function acym_filterSearch($search, $name, $placeholder = 'ACYM_SEARCH', $showClearBtn = true) +{ + $searchField = '
                +
                + +
                + '; + if ($showClearBtn) { + $searchField .= ''; + } + $searchField .= '
                '; + + return $searchField; +} + +function acym_switch($name, $value, $label = null, $attrInput = [], $labelClass = 'medium-6 small-9', $switchContainerClass = 'auto', $switchClass = 'tiny', $toggle = null, $toggleOpen = true) +{ + static $occurrence = 100; + $occurrence++; + + $id = acym_escape('switch_'.$occurrence); + $checked = $value == 1 ? 'checked="checked"' : ''; + + $switch = ' +
                + $oneAttributeValue) { + $switch .= ' '.$oneAttributeName.'="'.acym_escape($oneAttributeValue).'"'; + } + $switch .= '>'; + $switch .= ' + + +
                '; + + if (!empty($label)) { + $switch = '
                '.$switch.'
                '; + } + + return $switch; +} + +function acym_selectTemplates($mailOptions, $selected, $type, $listId) +{ + echo ''; + foreach ($mailOptions as $oneTpl) { + echo '
                '; + $buttonSelectedClass = ''; + $iconSelectedClass = ' not_selected_template'; + if ($oneTpl->id == $selected) { + $buttonSelectedClass = ' acym_template_option--selected'; + $iconSelectedClass = ' selected_template'; + } + $button = ' + +
                '; + echo $button; + } + echo '
                '; +} + +function acym_backToListing($listingName) +{ + return '

                '.acym_translation('ACYM_BACK_TO_LISTING').'

                '; +} + +function acym_sortBy($options = [], $listing, $default = "") +{ + $default = empty($default) ? reset($options) : $default; + + $selected = acym_getVar('string', $listing.'_ordering', $default); + $orderingSortOrder = acym_getVar('string', $listing.'_ordering_sort_order', 'desc'); + $classSortOrder = $orderingSortOrder == 'asc' ? 'fa-sort-amount-asc' : 'fa-sort-amount-desc'; + + $display = ''.acym_translation('ACYM_SORT_BY').' + '; + + $tooltipText = $orderingSortOrder == 'asc' ? acym_translation('ACYM_SORT_ASC') : acym_translation('ACYM_SORT_DESC'); + $display .= acym_tooltip('', $tooltipText); + + $display .= ''; + + return $display; +} + +function acym_enqueueNotification($message, $type = 'info', $time = 0) +{ + if (!acym_isAdmin()) { + acym_enqueueNotificationFront($message, $type, 0); + + return; + } + + $logo = 'fa-bell'; + + if (!in_array($type, ['success', 'warning', 'error'])) $type = 'info'; + + $notification = '
                0) { + $notification .= ' callout-timer="'.$time.'" style="display: none">
                '; + } else { + $notification .= ' style="display: none">'; + } + + if (is_array($message)) { + $message = implode('
                ', $message); + } + $notification .= '
                '.$message.'
                '; + + if (empty($_SESSION)) acym_session(); + if (empty($_SESSION['acynotif'])) { + $_SESSION['acynotif'] = []; + } + $_SESSION['acynotif'][] = $notification; +} + +function acym_getJSMessages() +{ + $msg = "{"; + $msg .= '"email": "'.acym_translation('ACYM_VALID_EMAIL', true).'",'; + $msg .= '"number": "'.acym_translation('ACYM_VALID_NUMBER', true).'",'; + $msg .= '"requiredMsg": "'.acym_translation('ACYM_REQUIRED_FIELD', true).'",'; + $msg .= '"defaultMsg": "'.acym_translation('ACYM_DEFAULT_VALIDATION_ERROR', true).'"'; + + $keysToLoad = [ + 'ACYM_ARE_YOU_SURE', + 'ACYM_INSERT_IMG_BAD_NAME', + 'ACYM_NON_VALID_URL', + 'ACYM_DYNAMIC_TEXT', + 'ACYM_ARE_YOU_SURE_DELETE', + 'ACYM_ARE_YOU_SURE_ACTIVE', + 'ACYM_ARE_YOU_SURE_INACTIVE', + 'ACYM_SEARCH_TAGS', + 'ACYM_SEARCH_CAMPAIGN', + 'ACYM_SEARCH_ENCODING', + 'ACYM_CANCEL', + 'ACYM_CONFIRM', + 'ACYM_TEMPLATE_CHANGED_CLICK_ON_SAVE', + 'ACYM_SURE_SEND_TRANSALTION', + 'ACYM_TESTS_SPAM_SENT', + 'ACYM_CONFIRMATION_CANCEL_CAMPAIGN_QUEUE', + 'ACYM_EXPORT_SELECT_LIST', + 'ACYM_YES', + 'ACYM_NO', + 'ACYM_NEXT', + 'ACYM_BACK', + 'ACYM_SKIP', + 'ACYM_INTRO_ADD_DTEXT', + 'ACYM_INTRO_TEMPLATE', + 'ACYM_INTRO_DRAG_BLOCKS', + 'ACYM_INTRO_DRAG_CONTENT', + 'ACYM_INTRO_SETTINGS', + 'ACYM_INTRO_CUSTOMIZE_FONT', + 'ACYM_INTRO_IMPORT_CSS', + 'ACYM_INTRO_SAFE_CHECK', + 'ACYM_INTRO_MAIL_SETTINGS', + 'ACYM_INTRO_ADVANCED', + 'ACYM_INTRO_DKIM', + 'ACYM_INTRO_CRON', + 'ACYM_INTRO_SUBSCRIPTION', + 'ACYM_INTRO_CHECK_DATABASE', + 'ACYM_SEND_TEST_SUCCESS', + 'ACYM_SEND_TEST_ERROR', + 'ACYM_COPY_DEFAULT_TRANSLATIONS_CONFIRM', + 'ACYM_BECARFUL_BACKGROUND_IMG', + 'ACYM_CANT_DELETE_AND_SAVE', + 'ACYM_AND', + 'ACYM_OR', + 'ACYM_ERROR', + 'ACYM_EDIT_MAIL', + 'ACYM_CREATE_MAIL', + 'ACYM_NO_RAND_FOR_MULTQUEUE', + 'ACYM_DELETE_MY_DATA_CONFIRM', + 'ACYM_CHOOSE_COLUMN', + 'ACYM_AUTOSAVE_USE', + 'ACYM_SELECT_NEW_ICON', + 'ACYM_ICON_IMPORTED', + 'ACYM_SESSION_IS_GOING_TO_END', + 'ACYM_CLICKS_OUT_OF', + 'ACYM_OF_CLICKS', + 'ACYM_ARE_SURE_DUPLICATE_TEMPLATE', + 'ACYM_NOT_FOUND', + 'ACYM_EMAIL', + 'ACYM_CAMPAIGN_NAME', + 'ACYM_EMAIL_SUBJECT', + 'ACYM_TEMPLATE_NAME', + 'ACYM_ERROR_SAVING', + 'ACYM_LOADING_ERROR', + 'ACYM_AT_LEAST_ONE_USER', + ]; + + foreach ($keysToLoad as $oneKey) { + $msg .= ',"'.$oneKey.'": "'.acym_translation($oneKey, true).'"'; + } + + $msg .= "}"; + + return $msg; +} + +global $acymPlugins; +function acym_loadPlugins() +{ + $dynamics = acym_getFolders(ACYM_BACK.'dynamics'); + + $key = array_search('managetext', $dynamics); + unset($dynamics[$key]); + $dynamics[] = 'managetext'; + + global $acymPlugins; + foreach ($dynamics as $oneDynamic) { + $dynamicFile = ACYM_BACK.'dynamics'.DS.$oneDynamic.DS.'plugin.php'; + $className = 'plgAcym'.ucfirst($oneDynamic); + + if (isset($acymPlugins[$className]) || !file_exists($dynamicFile) || !include_once($dynamicFile)) continue; + if (!class_exists($className)) continue; + + $plugin = new $className(); + if (!in_array($plugin->cms, ['all', 'Joomla']) || !$plugin->installed) continue; + + $acymPlugins[$className] = $plugin; + } +} + +function acym_getPlugin($family, $name = null) +{ + $plugin = new stdClass(); + $plugin->params = []; + + return $plugin; +} + +function acym_trigger($method, $args = [], $plugin = null) +{ + global $acymPlugins; + if (empty($acymPlugins)) acym_loadPlugins(); + + $result = []; + foreach ($acymPlugins as $class => $onePlugin) { + if (!method_exists($onePlugin, $method)) continue; + if (!empty($plugin) && $class != $plugin) continue; + $value = call_user_func_array([$onePlugin, $method], $args); + + if (isset($value)) $result[] = $value; + } + + return $result; +} + +function acym_displayParam($type, $value, $name, $params = []) +{ + if (!include_once(ACYM_FRONT.'params'.DS.$type.'.php')) return ''; + + $class = 'JFormField'.ucfirst($type); + + $field = new $class(); + $field->value = $value; + $field->name = $name; + + if (!empty($params)) { + foreach ($params as $param => $val) { + $field->$param = $val; + } + } + + return $field->getInput(); +} + +function acym_upgradeTo($version) +{ + $link = ACYM_ACYWEBSITE.'acymailing/'.($version == 'essential' ? 'essential' : 'enterprise').'.html'; + $text = $version == 'essential' ? 'ACYM_ESSENTIAL' : 'ACYM_ENTERPRISE'; + echo '
                +

                '.acym_translation_sprintf('ACYM_USE_THIS_FEATURE', ''.acym_translation($text).'').'

                + '.acym_translation('ACYM_UPGRADE_NOW').' +
                '; +} + +function acym_checkbox($values, $name, $selected = [], $label = '', $parentClass = '', $labelClass = '') +{ + echo '
                '.$label.'
                '; + foreach ($values as $key => $value) { + echo ''; + } + echo '
                '; +} + +function acym_table($name, $component = true) +{ + $prefix = $component ? ACYM_DBPREFIX : '#__'; + + return $prefix.$name; +} + +function acym_existsAcyMailing59() +{ + $allTables = acym_getTables(); + if (!in_array(acym_getPrefix().'acymailing_config', $allTables)) return false; + + $version = acym_loadResult('SELECT `value` FROM #__acymailing_config WHERE `namekey` LIKE "version"'); + + return version_compare($version, '5.9.0', '>='); +} + +function acym_noCache() +{ + header('Cache-Control: no-store, no-cache, must-revalidate'); + header('Cache-Control: post-check=0, pre-check=0', false); + header('Pragma: no-cache'); + header('Expires: Wed, 17 Sep 1975 21:32:10 GMT'); +} + + +include_once(ACYM_LIBRARY.'class.php'); +include_once(ACYM_LIBRARY.'parameter.php'); +include_once(ACYM_LIBRARY.'controller.php'); +include_once(ACYM_LIBRARY.'view.php'); +include_once(ACYM_LIBRARY.'plugin.php'); + +acym_loadLanguage(); + diff --git a/deployed/acym/administrator/components/com_acym/helpers/image.php b/deployed/acym/administrator/components/com_acym/helpers/image.php index ea954743..d73b0cee 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/image.php +++ b/deployed/acym/administrator/components/com_acym/helpers/image.php @@ -1,13 +1,13 @@ - $newFile, 'width' => $newWidth, 'height' => $newHeight]; } } - + diff --git a/deployed/acym/administrator/components/com_acym/helpers/import.php b/deployed/acym/administrator/components/com_acym/helpers/import.php index a6333e8f..e983364b 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/import.php +++ b/deployed/acym/administrator/components/com_acym/helpers/import.php @@ -1,13 +1,13 @@ -result; } } - + diff --git a/deployed/acym/administrator/components/com_acym/helpers/pagination.php b/deployed/acym/administrator/components/com_acym/helpers/pagination.php index 59ced78b..408b563f 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/pagination.php +++ b/deployed/acym/administrator/components/com_acym/helpers/pagination.php @@ -1,13 +1,13 @@ -config = acym_config(); - $this->queueClass = acym_get('class.queue'); - $this->userClass = acym_get('class.user'); - - $this->send_limit = (int)$this->config->get('queue_nbmail', 40); - - acym_increasePerf(); - - @ini_set('default_socket_timeout', 10); - - @ignore_user_abort(true); - - $timelimit = intval(ini_get('max_execution_time')); - if (empty($timelimit)) { - $timelimit = 600; - } - - $calculatedTimeout = $this->config->get('max_execution_time'); - if (!empty($calculatedTimeout)) { - $timelimit = $calculatedTimeout; - } - - if (!empty($timelimit)) { - $this->stoptime = time() + $timelimit - 4; - } - } - - public function process() - { - $queueClass = acym_get('class.queue'); - $queueClass->emailtypes = $this->emailtypes; - $queueElements = $queueClass->getReady($this->send_limit, $this->id); - - if (empty($queueElements)) { - $this->finish = true; - if ($this->report) { - acym_display(acym_translation('ACYM_NO_PROCESS'), 'info'); - } - - return true; - } - - if ($this->report) { - if (function_exists('apache_get_modules')) { - $modules = apache_get_modules(); - $this->mod_security2 = in_array('mod_security2', $modules); - } - - @ini_set('output_buffering', 'off'); - @ini_set('zlib.output_compression', 0); - - if (!headers_sent()) { - while (ob_get_level() > 0 && $this->obend++ < 3) { - @ob_end_flush(); - } - } - - $disp = ''; - $disp .= ''.acym_translation('ACYM_SEND_PROCESS').''; - $disp .= ''; - $disp .= '

                '.acym_translation('ACYM_DONT_CLOSE').'

                '; - $disp .= "
                "; - $disp .= ""; - $disp .= acym_translation('ACYM_SEND_PROCESS').': '.$this->start.' / '.$this->total; - $disp .= '
                '; - $disp .= ""; - $disp .= '

                '; - $url = acym_completeLink('queue&task=continuesend&id='.$this->id.'&totalsend='.$this->total, true, true).'&alreadysent='; - $disp .= ''; - echo $disp; - if (function_exists('ob_flush')) { - @ob_flush(); - } - if (!$this->mod_security2) { - @flush(); - } - }//endifreport - - $mailHelper = acym_get('helper.mailer'); - $mailHelper->report = false; - if ($this->config->get('smtp_keepalive', 1) || in_array($this->config->get('mailer_method'), ['elasticemail'])) { - $mailHelper->SMTPKeepAlive = true; - } - - $queueDelete = []; - $queueUpdate = []; - $statsAdd = []; - $actionSubscriber = []; - - $maxTry = (int)$this->config->get('queue_try', 0); - - $currentMail = $this->start; - $this->nbprocess = 0; - - if (count($queueElements) < $this->send_limit) { - $this->finish = true; - } - - foreach ($queueElements as $oneQueue) { - $currentMail++; - $this->nbprocess++; - if ($this->report) { - echo ''; - if (function_exists('ob_flush')) { - @ob_flush(); - } - if (!$this->mod_security2) { - @flush(); - } - } - - $result = $mailHelper->sendOne($oneQueue->mail_id, $oneQueue->user_id); - - $queueDeleteOk = true; - $otherMessage = ''; - - if ($result) { - $this->successSend++; - $this->consecutiveError = 0; - $queueDelete[$oneQueue->mail_id][] = $oneQueue->user_id; - $statsAdd[$oneQueue->mail_id][1][] = $oneQueue->user_id; - - $queueDeleteOk = $this->_deleteQueue($queueDelete); - $queueDelete = []; - - if ($this->nbprocess % 10 == 0) { - $this->statsAdd($statsAdd); - $this->_queueUpdate($queueUpdate); - $statsAdd = []; - $queueUpdate = []; - } - } else { - $this->errorSend++; - - $newtry = false; - if (in_array($mailHelper->errorNumber, $mailHelper->errorNewTry)) { - if (empty($maxTry) || $oneQueue->try < $maxTry - 1) { - $newtry = true; - $otherMessage = acym_translation_sprintf('ACYM_QUEUE_NEXT_TRY', 60); - } - if ($mailHelper->errorNumber == 1) { - $this->consecutiveError++; - } - if ($this->consecutiveError == 2) { - sleep(1); - } - } - - if (!$newtry) { - $queueDelete[$oneQueue->mail_id][] = $oneQueue->user_id; - $statsAdd[$oneQueue->mail_id][0][] = $oneQueue->user_id; - if ($mailHelper->errorNumber == 1 && $this->config->get('bounce_action_maxtry')) { - $queueDeleteOk = $this->_deleteQueue($queueDelete); - $queueDelete = []; - $otherMessage .= $this->_failedActions($oneQueue->user_id); - } - } else { - $queueUpdate[$oneQueue->mail_id][] = $oneQueue->user_id; - } - } - - $messageOnScreen = '[ ID '.$oneQueue->mail_id.'] '.$mailHelper->reportMessage; - if (!empty($otherMessage)) { - $messageOnScreen .= ' => '.$otherMessage; - } - $this->_display($messageOnScreen, $result, $currentMail); - - if (!$queueDeleteOk) { - $this->finish = true; - break; - } - - if (!empty($this->stoptime) && $this->stoptime < time()) { - $this->_display(acym_translation('ACYM_SEND_REFRESH_TIMEOUT')); - if ($this->nbprocess < count($queueElements)) { - $this->finish = false; - } - break; - } - - if ($this->consecutiveError > 3 && $this->successSend > 3) { - $this->_display(acym_translation('ACYM_SEND_REFRESH_CONNECTION')); - break; - } - - if ($this->consecutiveError > 5 || connection_aborted()) { - $this->finish = true; - break; - } - } - - $this->_deleteQueue($queueDelete); - $this->statsAdd($statsAdd); - $this->_queueUpdate($queueUpdate); - - if ($mailHelper->SMTPKeepAlive) { - $mailHelper->smtpClose(); - } - - if (!empty($this->total) && $currentMail >= $this->total) { - $this->finish = true; - } - - if ($this->consecutiveError > 5) { - $this->_handleError(); - - return false; - } - - if ($this->report && !$this->finish) { - echo ''; - } - - if ($this->report) { - echo ""; - while ($this->obend-- > 0) { - ob_start(); - } - exit; - } - - return true; - } - - private function _deleteQueue($queueDelete) - { - if (empty($queueDelete)) { - return true; - } - $status = true; - - foreach ($queueDelete as $mailid => $subscribers) { - $nbsub = count($subscribers); - $res = $this->queueClass->deleteOne($subscribers, $mailid); - if ($res === false || !empty($this->queueClass->errors)) { - $status = false; - $this->_display($this->queueClass->errors); - } else { - $nbdeleted = $res; - if ($nbdeleted != $nbsub) { - $status = false; - $this->_display($nbdeleted < $nbsub ? acym_translation('ACYM_QUEUE_DOUBLE') : $nbdeleted.' emails deleted from the queue whereas we only have '.$nbsub.' subscribers'); - } - } - } - - return $status; - } - - public function statsAdd($statsAdd) - { - if (empty($statsAdd)) { - return true; - } - - $userStatClass = acym_get('class.userstat'); - $mailStatClass = acym_get('class.mailstat'); - - $time = acym_date("now", "Y-m-d H:i:s"); - - foreach ($statsAdd as $mailId => $infos) { - - $mailId = intval($mailId); - - foreach ($infos as $status => $subscribers) { - foreach ($subscribers as $oneSubscriber) { - - $oneSubscriber = intval($oneSubscriber); - - $userStat = []; - $userStat['user_id'] = $oneSubscriber; - $userStat['mail_id'] = $mailId; - $userStat['send_date'] = $time; - $userStat['fail'] = $status ? 0 : 1; - $userStat['sent'] = $status ? 1 : 0; - $userStat['statusSending'] = $status; - - $userStatClass->save($userStat); - } - } - - $nbSent = empty($infos[1]) ? 0 : count($infos[1]); - $nbFail = empty($infos[0]) ? 0 : count($infos[0]); - - $mailStat = []; - $mailStat['mail_id'] = $mailId; - $mailStat['sent'] = $nbSent; - $mailStat['fail'] = $nbFail; - - $mailStatClass->save($mailStat); - } - - return true; - } - - private function _queueUpdate($queueUpdate) - { - if (empty($queueUpdate)) { - return true; - } - - foreach ($queueUpdate as $mailid => $subscribers) { - $this->queueClass->delayFailed($mailid, $subscribers); - } - } - - private function _handleError() - { - $this->finish = true; - $message = acym_translation('ACYM_SEND_STOPED'); - $message .= '
                '; - $message .= acym_translation('ACYM_SEND_KEPT_ALL'); - $message .= '
                '; - if ($this->report) { - if (empty($this->successSend) && empty($this->start)) { - $message .= acym_translation('ACYM_SEND_CHECKONE'); - $message .= '
                '; - $message .= acym_translation('ACYM_SEND_ADVISE_LIMITATION'); - } else { - $message .= acym_translation('ACYM_SEND_REFUSE'); - $message .= '
                '; - if (!acym_level(1)) { - $message .= acym_translation('ACYM_SEND_CONTINUE_COMMERCIAL'); - } else { - $message .= acym_translation('ACYM_SEND_CONTINUE_AUTO'); - } - } - } - - $this->_display($message); - } - - private function _display($messages, $status = '', $num = '') - { - if (!is_array($messages)) { - $messages = [$messages]; - } - - foreach ($messages as $message) { - $this->messages[] = strip_tags($message); - } - - if (!$this->report) { - return; - } - - $color = $status ? 'green' : 'red'; - foreach ($messages as $message) { - if (!empty($num)) { - echo '
                '.$num.' : '.$message.''; - } else { - echo ''; - } - } - - if (function_exists('ob_flush')) { - @ob_flush(); - } - if (!$this->mod_security2) { - @flush(); - } - } - - private function _failedActions($userId) - { - $listId = 0; - if (in_array($this->config->get('bounce_action_maxtry'), ['sub', 'remove', 'unsub'])) { - $subscriptions = $this->userClass->getUserSubscriptionById($userId); - } - - $message = ''; - switch ($this->config->get('bounce_action_maxtry')) { - case 'sub' : - $listId = $this->config->get('bounce_action_lists_maxtry'); - if (!empty($listId)) { - $message .= ' user '.$userId.' subscribed to list n°'.$listId; - $this->userClass->subscribe($userId, [$listId]); - } - case 'remove' : - $unsubLists = array_diff(array_keys($subscriptions), [$listId]); - if (!empty($unsubLists)) { - $message .= ' user '.$userId.' removed from lists '.implode(',', $unsubLists); - $this->userClass->removeSubscription($userId, $unsubLists); - } else { - $message .= ' user '.$userId.' not subscribed'; - } - break; - case 'unsub' : - $unsubLists = array_diff(array_keys($subscriptions), [$listId]); - if (!empty($unsubLists)) { - $message .= ' user '.$userId.' unsubscribed from lists '.implode(',', $unsubLists); - $this->userClass->unsubscribe($userId, $unsubLists); - } else { - $message .= ' user '.$userId.' not unsubscribed'; - } - break; - case 'delete' : - $message .= ' user '.$userId.' deleted'; - $this->userClass->delete($userId); - break; - case 'block' : - $message .= ' user '.$userId.' blocked'; - $this->userClass->deactivate($userId); - $this->queueClass->deleteOne($userId); - break; - } - - return $message; - } -} - +config = acym_config(); + $this->queueClass = acym_get('class.queue'); + $this->userClass = acym_get('class.user'); + + $this->send_limit = (int)$this->config->get('queue_nbmail', 40); + + acym_increasePerf(); + + @ini_set('default_socket_timeout', 10); + + @ignore_user_abort(true); + + $timelimit = intval(ini_get('max_execution_time')); + if (empty($timelimit)) { + $timelimit = 600; + } + + $calculatedTimeout = $this->config->get('max_execution_time'); + if (!empty($calculatedTimeout)) { + $timelimit = $calculatedTimeout; + } + + if (!empty($timelimit)) { + $this->stoptime = time() + $timelimit - 4; + } + } + + public function process() + { + $queueClass = acym_get('class.queue'); + $queueClass->emailtypes = $this->emailtypes; + $queueElements = $queueClass->getReady($this->send_limit, $this->id); + + if (empty($queueElements)) { + $this->finish = true; + if ($this->report) { + acym_display(acym_translation('ACYM_NO_PROCESS'), 'info'); + } + + return true; + } + + if ($this->report) { + if (function_exists('apache_get_modules')) { + $modules = apache_get_modules(); + $this->mod_security2 = in_array('mod_security2', $modules); + } + + @ini_set('output_buffering', 'off'); + @ini_set('zlib.output_compression', 0); + + if (!headers_sent()) { + while (ob_get_level() > 0 && $this->obend++ < 3) { + @ob_end_flush(); + } + } + + $disp = ''; + $disp .= ''.acym_translation('ACYM_SEND_PROCESS').''; + $disp .= ''; + $disp .= '

                '.acym_translation('ACYM_DONT_CLOSE').'

                '; + $disp .= "
                "; + $disp .= ""; + $disp .= acym_translation('ACYM_SEND_PROCESS').': '.$this->start.' / '.$this->total; + $disp .= '
                '; + $disp .= ""; + $disp .= '

                '; + $url = acym_completeLink('queue&task=continuesend&id='.$this->id.'&totalsend='.$this->total, true, true).'&alreadysent='; + $disp .= ''; + echo $disp; + if (function_exists('ob_flush')) { + @ob_flush(); + } + if (!$this->mod_security2) { + @flush(); + } + }//endifreport + + $mailHelper = acym_get('helper.mailer'); + $mailHelper->report = false; + if ($this->config->get('smtp_keepalive', 1) || in_array($this->config->get('mailer_method'), ['elasticemail'])) { + $mailHelper->SMTPKeepAlive = true; + } + + $queueDelete = []; + $queueUpdate = []; + $statsAdd = []; + $actionSubscriber = []; + + $maxTry = (int)$this->config->get('queue_try', 0); + + $currentMail = $this->start; + $this->nbprocess = 0; + + if (count($queueElements) < $this->send_limit) { + $this->finish = true; + } + + foreach ($queueElements as $oneQueue) { + $currentMail++; + $this->nbprocess++; + if ($this->report) { + echo ''; + if (function_exists('ob_flush')) { + @ob_flush(); + } + if (!$this->mod_security2) { + @flush(); + } + } + + $result = $mailHelper->sendOne($oneQueue->mail_id, $oneQueue->user_id); + + $queueDeleteOk = true; + $otherMessage = ''; + + if ($result) { + $this->successSend++; + $this->consecutiveError = 0; + $queueDelete[$oneQueue->mail_id][] = $oneQueue->user_id; + $statsAdd[$oneQueue->mail_id][1][] = $oneQueue->user_id; + + $queueDeleteOk = $this->_deleteQueue($queueDelete); + $queueDelete = []; + + if ($this->nbprocess % 10 == 0) { + $this->statsAdd($statsAdd); + $this->_queueUpdate($queueUpdate); + $statsAdd = []; + $queueUpdate = []; + } + } else { + $this->errorSend++; + + $newtry = false; + if (in_array($mailHelper->errorNumber, $mailHelper->errorNewTry)) { + if (empty($maxTry) || $oneQueue->try < $maxTry - 1) { + $newtry = true; + $otherMessage = acym_translation_sprintf('ACYM_QUEUE_NEXT_TRY', 60); + } + if ($mailHelper->errorNumber == 1) { + $this->consecutiveError++; + } + if ($this->consecutiveError == 2) { + sleep(1); + } + } + + if (!$newtry) { + $queueDelete[$oneQueue->mail_id][] = $oneQueue->user_id; + $statsAdd[$oneQueue->mail_id][0][] = $oneQueue->user_id; + if ($mailHelper->errorNumber == 1 && $this->config->get('bounce_action_maxtry')) { + $queueDeleteOk = $this->_deleteQueue($queueDelete); + $queueDelete = []; + $otherMessage .= $this->_failedActions($oneQueue->user_id); + } + } else { + $queueUpdate[$oneQueue->mail_id][] = $oneQueue->user_id; + } + } + + $messageOnScreen = '[ ID '.$oneQueue->mail_id.'] '.$mailHelper->reportMessage; + if (!empty($otherMessage)) { + $messageOnScreen .= ' => '.$otherMessage; + } + $this->_display($messageOnScreen, $result, $currentMail); + + if (!$queueDeleteOk) { + $this->finish = true; + break; + } + + if (!empty($this->stoptime) && $this->stoptime < time()) { + $this->_display(acym_translation('ACYM_SEND_REFRESH_TIMEOUT')); + if ($this->nbprocess < count($queueElements)) { + $this->finish = false; + } + break; + } + + if ($this->consecutiveError > 3 && $this->successSend > 3) { + $this->_display(acym_translation('ACYM_SEND_REFRESH_CONNECTION')); + break; + } + + if ($this->consecutiveError > 5 || connection_aborted()) { + $this->finish = true; + break; + } + } + + $this->_deleteQueue($queueDelete); + $this->statsAdd($statsAdd); + $this->_queueUpdate($queueUpdate); + + if ($mailHelper->SMTPKeepAlive) { + $mailHelper->smtpClose(); + } + + if (!empty($this->total) && $currentMail >= $this->total) { + $this->finish = true; + } + + if ($this->consecutiveError > 5) { + $this->_handleError(); + + return false; + } + + if ($this->report && !$this->finish) { + echo ''; + } + + if ($this->report) { + echo ""; + while ($this->obend-- > 0) { + ob_start(); + } + exit; + } + + return true; + } + + private function _deleteQueue($queueDelete) + { + if (empty($queueDelete)) { + return true; + } + $status = true; + + foreach ($queueDelete as $mailid => $subscribers) { + $nbsub = count($subscribers); + $res = $this->queueClass->deleteOne($subscribers, $mailid); + if ($res === false || !empty($this->queueClass->errors)) { + $status = false; + $this->_display($this->queueClass->errors); + } else { + $nbdeleted = $res; + if ($nbdeleted != $nbsub) { + $status = false; + $this->_display($nbdeleted < $nbsub ? acym_translation('ACYM_QUEUE_DOUBLE') : $nbdeleted.' emails deleted from the queue whereas we only have '.$nbsub.' subscribers'); + } + } + } + + return $status; + } + + public function statsAdd($statsAdd) + { + if (empty($statsAdd)) { + return true; + } + + $userStatClass = acym_get('class.userstat'); + $mailStatClass = acym_get('class.mailstat'); + + $time = acym_date("now", "Y-m-d H:i:s"); + + foreach ($statsAdd as $mailId => $infos) { + + $mailId = intval($mailId); + + foreach ($infos as $status => $subscribers) { + foreach ($subscribers as $oneSubscriber) { + + $oneSubscriber = intval($oneSubscriber); + + $userStat = []; + $userStat['user_id'] = $oneSubscriber; + $userStat['mail_id'] = $mailId; + $userStat['send_date'] = $time; + $userStat['fail'] = $status ? 0 : 1; + $userStat['sent'] = $status ? 1 : 0; + $userStat['statusSending'] = $status; + + $userStatClass->save($userStat); + } + } + + $nbSent = empty($infos[1]) ? 0 : count($infos[1]); + $nbFail = empty($infos[0]) ? 0 : count($infos[0]); + + $mailStat = []; + $mailStat['mail_id'] = $mailId; + $mailStat['sent'] = $nbSent; + $mailStat['fail'] = $nbFail; + + $mailStatClass->save($mailStat); + } + + return true; + } + + private function _queueUpdate($queueUpdate) + { + if (empty($queueUpdate)) { + return true; + } + + foreach ($queueUpdate as $mailid => $subscribers) { + $this->queueClass->delayFailed($mailid, $subscribers); + } + } + + private function _handleError() + { + $this->finish = true; + $message = acym_translation('ACYM_SEND_STOPED'); + $message .= '
                '; + $message .= acym_translation('ACYM_SEND_KEPT_ALL'); + $message .= '
                '; + if ($this->report) { + if (empty($this->successSend) && empty($this->start)) { + $message .= acym_translation('ACYM_SEND_CHECKONE'); + $message .= '
                '; + $message .= acym_translation('ACYM_SEND_ADVISE_LIMITATION'); + } else { + $message .= acym_translation('ACYM_SEND_REFUSE'); + $message .= '
                '; + if (!acym_level(1)) { + $message .= acym_translation('ACYM_SEND_CONTINUE_COMMERCIAL'); + } else { + $message .= acym_translation('ACYM_SEND_CONTINUE_AUTO'); + } + } + } + + $this->_display($message); + } + + private function _display($messages, $status = '', $num = '') + { + if (!is_array($messages)) { + $messages = [$messages]; + } + + foreach ($messages as $message) { + $this->messages[] = strip_tags($message); + } + + if (!$this->report) { + return; + } + + $color = $status ? 'green' : 'red'; + foreach ($messages as $message) { + if (!empty($num)) { + echo '
                '.$num.' : '.$message.''; + } else { + echo ''; + } + } + + if (function_exists('ob_flush')) { + @ob_flush(); + } + if (!$this->mod_security2) { + @flush(); + } + } + + private function _failedActions($userId) + { + $listId = 0; + if (in_array($this->config->get('bounce_action_maxtry'), ['sub', 'remove', 'unsub'])) { + $subscriptions = $this->userClass->getUserSubscriptionById($userId); + } + + $message = ''; + switch ($this->config->get('bounce_action_maxtry')) { + case 'sub' : + $listId = $this->config->get('bounce_action_lists_maxtry'); + if (!empty($listId)) { + $message .= ' user '.$userId.' subscribed to list n°'.$listId; + $this->userClass->subscribe($userId, [$listId]); + } + case 'remove' : + $unsubLists = array_diff(array_keys($subscriptions), [$listId]); + if (!empty($unsubLists)) { + $message .= ' user '.$userId.' removed from lists '.implode(',', $unsubLists); + $this->userClass->removeSubscription($userId, $unsubLists); + } else { + $message .= ' user '.$userId.' not subscribed'; + } + break; + case 'unsub' : + $unsubLists = array_diff(array_keys($subscriptions), [$listId]); + if (!empty($unsubLists)) { + $message .= ' user '.$userId.' unsubscribed from lists '.implode(',', $unsubLists); + $this->userClass->unsubscribe($userId, $unsubLists); + } else { + $message .= ' user '.$userId.' not unsubscribed'; + } + break; + case 'delete' : + $message .= ' user '.$userId.' deleted'; + $this->userClass->delete($userId); + break; + case 'block' : + $message .= ' user '.$userId.' blocked'; + $this->userClass->deactivate($userId); + $this->queueClass->deleteOne($userId); + break; + } + + return $message; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/helpers/regacy.php b/deployed/acym/administrator/components/com_acym/helpers/regacy.php index 5762e664..e52a4734 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/regacy.php +++ b/deployed/acym/administrator/components/com_acym/helpers/regacy.php @@ -1,13 +1,13 @@ -lists = $result; } } - + diff --git a/deployed/acym/administrator/components/com_acym/helpers/tab.php b/deployed/acym/administrator/components/com_acym/helpers/tab.php index 1ae14e65..922ddacd 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/tab.php +++ b/deployed/acym/administrator/components/com_acym/helpers/tab.php @@ -1,13 +1,13 @@ -cmsUserVars = $acymCmsUserVars; - } - - public function installBounceRules() - { - $bounceClass = acym_get('class.bounce'); - if ($bounceClass->getOrderingNumber() > 0) { - return; - } - $config = acym_config(); - $replyTo = $config->get('replyto_email'); - $bounce = $config->get('bounce_email'); - $from = $config->get('from_email'); - - $forwardEmail = $replyTo != $bounce ? $replyTo : $from; - if (empty($forwardEmail)) $forwardEmail = acym_currentUserEmail(); - - $forwardEmail = str_replace('"', '', $forwardEmail); - - $query = "INSERT INTO `#__acym_rule` (`id`, `name`, `ordering`, `regex`, `executed_on`, `action_message`, `action_user`, `active`, `increment_stats`, `execute_action_after`) VALUES "; - $query .= "(1, 'ACYM_ACTION_REQUIRED', 1, 'action *requ|verif', '[\"subject\"]', '{\"0\":\"delete_message\",\"1\":\"forward_message\",\"forward_to\":\"".$forwardEmail."\"}', '[]', 1, 0, 0),"; - $query .= "(2, 'ACYM_ACKNOWLEDGMENT_RECEIPT_SUBJECT', 2, '(out|away) *(of|from)|vacation|holiday|absen|congés|recept|acknowledg|thank you for', '[\"subject\"]', '[\"delete_message\"]', '[]', 1, 0, 0),"; - $query .= "(3, 'ACYM_FEEDBACK_LOOP', 3, 'feedback|staff@hotmail.com|complaints@.{0,15}email-abuse.amazonses.com|complaint about message', '[\"senderInfo\",\"subject\"]', '[\"save_message\",\"delete_message\"]', '[\"unsubscribe_user\"]', 1, 0, 0),"; - $query .= "(4, 'ACYM_FEEDBACK_LOOP_BODY', 4, 'Feedback-Type.{1,5}abuse', '[\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"unsubscribe_user\"]', 1, 1, 0),"; - $query .= "(5, 'ACYM_MAILBOX_FULL', 5, '((mailbox|mailfolder|storage|quota|space|inbox) *(is)? *(over)? *(exceeded|size|storage|allocation|full|quota|maxi))|status(-code)? *(:|=)? *5.2.2|quota-issue|not *enough.{1,20}space|((over|exceeded|full|exhausted) *(allowed)? *(mail|storage|quota))', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; - $query .= "(6, 'ACYM_BLOCKED_GOOGLE_GROUPS', 6, 'message *rejected *by *Google *Groups', '[\"body\"]', '[\"delete_message\"]', '[]', 1, 1, 0),"; - $query .= "(7, 'ACYM_MAILBOX_DOESNT_EXIST_1', 7, '(Invalid|no such|unknown|bad|des?activated|inactive|unrouteable) *(mail|destination|recipient|user|address|person)|bad-mailbox|inactive-mailbox|not listed in.{1,20}directory|RecipNotFound|(user|mailbox|address|recipients?|host|account|domain) *(is|has been)? *(error|disabled|failed|unknown|unavailable|not *(found|available)|.{1,30}inactiv)|no *mailbox *here|user does.?n.t have.{0,30}account', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; - $query .= "(8, 'ACYM_MESSAGE_BLOCKED_RECIPIENTS', 8, 'blocked *by|block *list|look(ed)? *like *spam|spam-related|spam *detected| CXBL | CDRBL | IPBL | URLBL |(unacceptable|banned|offensive|filtered|blocked|unsolicited) *(content|message|e?-?mail)|service refused|(status(-code)?|554) *(:|=)? *5.7.1|administratively *denied|blacklisted *IP|policy *reasons|rejected.{1,10}spam|junkmail *rejected|throttling *constraints|exceeded.{1,10}max.{1,40}hour|comply with required standards|421 RP-00|550 SC-00|550 DY-00|550 OU-00', '[\"body\"]', '{\"0\":\"delete_message\",\"1\":\"forward_message\",\"forward_to\":\"".$forwardEmail."\"}', '[]', 1, 1, 0),"; - $query .= "(9, 'ACYM_MAILBOX_DOESNT_EXIST_2', 9, 'status(-code)? *(:|=)? *5.(1.[1-6]|0.0|4.[0123467])|recipient *address *rejected|does *not *like *recipient', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; - $query .= "(10, 'ACYM_DOMAIN_NOT_EXIST', 10, 'No.{1,10}MX *(record|host)|host *does *not *receive *any *mail|bad-domain|connection.{1,10}mail.{1,20}fail|domain.{1,10}not *exist|fail.{1,10}establish *connection', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; - $query .= "(11, 'ACYM_TEMPORARY_FAILURES', 11, 'has.*been.*delayed|delayed *mail|message *delayed|message-expired|temporar(il)?y *(failure|unavailable|disable|offline|unable)|deferred|delayed *([0-9]*) *(hour|minut)|possible *mail *loop|too *many *hops|delivery *time *expired|Action: *delayed|status(-code)? *(:|=)? *4.4.6|will continue to be attempted|unable to deliver in.*Status: 4.4.7', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; - $query .= "(12, 'ACYM_FAILED_PERM', 12, 'failed *permanently|permanent.{1,20}(failure|error)|not *accepting *(any)? *mail|does *not *exist|no *valid *route|delivery *failure', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; - $query .= "(13, 'ACYM_ACKNOWLEDGMENT_RECEIPT_BODY', 13, 'vacances|holiday|vacation|absen|urlaub', '[\"body\"]', '[\"delete_message\"]', '[]', 1, 0, 0),"; - $query .= "(14, 'ACYM_FINAL_RULE', 14, '.', '[\"senderInfo\",\"subject\"]', '{\"0\":\"delete_message\",\"1\":\"forward_message\",\"forward_to\":\"".$forwardEmail."\"}', '[]', 1, 1, 0);"; - - acym_query($query); - - $newConfig = new stdClass(); - $newConfig->bounceVersion = $this->bounceVersion; - $config->save($newConfig); - } - - public function addUpdateSite() - { - $config = acym_config(); - - $newconfig = new stdClass(); - $newconfig->website = ACYM_LIVE; - $newconfig->max_execution_time = 0; - - $config->save($newconfig); - - acym_query('DELETE FROM #__updates WHERE element = "com_acym"'); - - $update_site_id = acym_loadResult("SELECT update_site_id FROM #__update_sites WHERE location LIKE '%component=acymailing%' AND type LIKE 'extension'"); - - $object = new stdClass(); - $object->name = 'AcyMailing'; - $object->type = 'extension'; - $object->location = ACYM_UPDATEMEURL.'updatexml&component=acymailing&cms=joomla&level='.$config->get('level').'&version='.$config->get('version'); - - $object->enabled = 1; - - if (empty($update_site_id)) { - $update_site_id = acym_insertObject("#__update_sites", $object); - } else { - $object->update_site_id = $update_site_id; - acym_updateObject("#__update_sites", $object, 'update_site_id'); - } - - $extension_id = acym_loadResult("SELECT extension_id FROM #__extensions WHERE `element` = 'com_acym' AND type LIKE 'component'"); - if (empty($update_site_id) || empty($extension_id)) { - return false; - } - - $query = 'INSERT IGNORE INTO #__update_sites_extensions (update_site_id, extension_id) values ('.intval($update_site_id).','.intval($extension_id).')'; - acym_query($query); - - return true; - } - - public function installLanguages() - { - $siteLanguages = acym_getLanguages(); - if (!empty($siteLanguages[ACYM_DEFAULT_LANGUAGE])) { - unset($siteLanguages[ACYM_DEFAULT_LANGUAGE]); - } - - $installedLanguages = array_keys($siteLanguages); - if (empty($installedLanguages)) return; - - ob_start(); - $languagesContent = acym_fileGetContent(ACYM_UPDATEURL.'loadLanguages&json=1&component=acym&codes='.implode(',', $installedLanguages)); - $warnings = ob_get_clean(); - if (!empty($warnings) && acym_isDebug()) acym_enqueueMessage($warnings, 'warning'); - - if (empty($languagesContent)) { - acym_enqueueMessage(acym_translation('ACYM_ERROR_LOAD_LANGUAGES'), 'error'); - - return; - } - - $decodedLanguages = json_decode($languagesContent, true); - - $success = []; - $error = []; - $errorLoad = []; - - foreach ($decodedLanguages as $code => $content) { - if (empty($content)) { - $errorLoad[] = $code; - continue; - } - - $path = acym_getLanguagePath(ACYM_ROOT, $code).DS.$code.'.'.ACYM_LANGUAGE_FILE.'.ini'; - if (acym_writeFile($path, $content)) { - $this->installBackLanguages($code); - $success[] = $code; - } else { - $error[] = acym_translation_sprintf('ACYM_ERROR_SAVE_FILE', $path); - } - } - - if (!empty($success)) acym_enqueueMessage(acym_translation_sprintf('ACYM_TRANSLATION_INSTALLED', implode(', ', $success)), 'success'); - if (!empty($error)) acym_enqueueMessage($error, 'error'); - if (!empty($errorLoad)) acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_LOAD_LANGUAGE', implode(', ', $errorLoad)), 'warning'); - } - - public function installBackLanguages($onlyCode = '') - { - if (ACYM_CMS != 'joomla') return; - - $menuStrings = [ - 'ACYM_USERS', - 'ACYM_CUSTOM_FIELDS', - 'ACYM_LISTS', - 'ACYM_TEMPLATES', - 'ACYM_CAMPAIGNS', - 'ACYM_QUEUE', - 'ACYM_AUTOMATION', - 'ACYM_STATISTICS', - 'ACYM_BOUNCE_HANDLING', - 'ACYM_CONFIGURATION', - 'ACYM_MENU_PROFILE', - 'ACYM_MENU_PROFILE_DESC', - 'ACYM_MENU_ARCHIVE', - 'ACYM_MENU_ARCHIVE_DESC', - ]; - - if (empty($onlyCode)) { - $siteLanguages = array_keys(acym_getLanguages()); - } else { - $siteLanguages = [$onlyCode]; - } - - foreach ($siteLanguages as $code) { - - $path = acym_getLanguagePath(ACYM_ROOT, $code).DS.$code.'.com_acym.ini'; - if (!file_exists($path)) continue; - - $content = file_get_contents($path); - if (empty($content)) continue; - - - $menuFileContent = 'ACYM="AcyMailing 6"'."\r\n"; - $menuFileContent .= 'COM_ACYM="AcyMailing 6"'."\r\n"; - $menuFileContent .= 'COM_ACYM_CONFIGURATION="AcyMailing 6"'."\r\n"; - - foreach ($menuStrings as $oneString) { - preg_match('#[^_]'.$oneString.'="(.*)"#i', $content, $matches); - if (empty($matches[1])) continue; - - $menuFileContent .= $oneString.'="'.$matches[1].'"'."\r\n"; - } - - $menuPath = ACYM_ROOT.'administrator'.DS.'language'.DS.$code.DS.$code.'.com_acym.sys.ini'; - - if (!acym_writeFile($menuPath, $menuFileContent)) { - acym_enqueueNotification(acym_translation_sprintf('ACYM_FAIL_SAVE_FILE', $menuPath), 'error', 0); - } - } - } - - public function installFields() - { - $query = "INSERT IGNORE INTO #__acym_field (`id`, `name`, `type`, `value`, `active`, `default_value`, `required`, `ordering`, `option`, `core`, `backend_profile`, `backend_listing`, `backend_filter`, `frontend_form`, `frontend_profile`, `frontend_listing`, `frontend_filter`, `access`, `namekey`) VALUES - (1, 'ACYM_NAME', 'text', NULL, 1, NULL, 0, 1, '{\"editable_user_creation\":\"1\",\"editable_user_modification\":\"1\",\"error_message\":\"\",\"error_message_invalid\":\"\",\"size\":\"\",\"rows\":\"\",\"columns\":\"\",\"format\":\"\",\"custom_text\":\"\",\"css_class\":\"\",\"authorized_content\":{\"0\":\"all\",\"regex\":\"\"}}', 1, 1, 1, 0, 1, 1, 1, 0, 'all', 'acym_name'), - (2, 'ACYM_EMAIL', 'text', NULL, 1, NULL, 1, 2, '{\"editable_user_creation\":\"1\",\"editable_user_modification\":\"1\",\"error_message\":\"\",\"error_message_invalid\":\"\",\"size\":\"\",\"rows\":\"\",\"columns\":\"\",\"format\":\"\",\"custom_text\":\"\",\"css_class\":\"\",\"authorized_content\":{\"0\":\"all\",\"regex\":\"\"}}', 1, 1, 1, 0, 1, 1, 1, 0, 'all', 'acym_name');"; - acym_query($query); - } - - public function installTemplate() - { - $names = ['default_template', 'default_template_2']; - foreach ($names as $name) { - $query = "INSERT INTO `#__acym_mail` (`name`, `creation_date`, `thumbnail`, `drag_editor`, `library`, `type`, `body`, `subject`, `template`, `from_name`, `from_email`, `reply_to_name`, `reply_to_email`, `bcc`, `settings`, `stylesheet`, `attachments`, `creator_id`) VALUES - (".acym_escapeDB(str_replace('_', ' ', $name)).", ".acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)).", ".acym_escapeDB(ACYM_IMAGES.'img_template'.DS.$name.'.png').", 1, 1, 'standard', ".acym_escapeDB(str_replace('{acym_media}', ACYM_IMAGES, file_get_contents(ACYM_BACK.'templates'.DS.$name.DS.'content.txt'))).", 'Subject', 1, NULL, NULL, NULL, NULL, NULL, ".acym_escapeDB(file_get_contents(ACYM_BACK.'templates'.DS.$name.DS.'settings.txt')).", '', NULL, 1);"; - acym_query($query); - } - - acym_deleteFolder(ACYM_BACK.'templates'); - } - - private function _newAutomationAdmin($title) - { - $automationClass = acym_get('class.automation'); - $stepClass = acym_get('class.step'); - $conditionClass = acym_get('class.condition'); - $mailClass = acym_get('class.mail'); - $actionClass = acym_get('class.action'); - - - $adminCreate = new stdClass(); - $adminCreate->desc = 'ACYM_ADMIN_USER_CREATE_DESC'; - $adminCreate->triggers = '{"user_creation":[""],"type_trigger":"user"}'; - $adminCreate->conditions = '{"type_condition":"user"}'; - $adminCreate->emailTitle = acym_translation('ACYM_USER_CREATION'); - $adminCreate->emailSubject = '{trans:ACYM_USER_CREATION}'; - $adminCreate->emailContent = '

                {trans:ACYM_HELLO} {subtag:name|ucfirst},

                -

                {trans:ACYM_NEW_USER_ACYMAILING}:

                -

                {trans:ACYM_NAME}: {subtag:name|info:current}

                -

                {trans:ACYM_EMAIL}: {subtag:email|info:current}

                '; - - $adminModif = new stdClass(); - $adminModif->desc = 'ACYM_ADMIN_USER_MODIFICATION_DESC'; - $adminModif->triggers = '{"user_modification":[""],"type_trigger":"user"}'; - $adminModif->conditions = '{"type_condition":"user"}'; - $adminModif->emailTitle = acym_translation('ACYM_USER_MODIFICATION'); - $adminModif->emailSubject = '{trans:ACYM_USER_MODIFICATION}'; - $adminModif->emailContent = '

                {trans:ACYM_HELLO} {subtag:name|ucfirst},

                -

                {trans:ACYM_USER_MODIFY_ACYMAILING}:

                -

                {trans:ACYM_NAME}: {subtag:name|info:current}

                -

                {trans:ACYM_EMAIL}: {subtag:email|info:current}

                '; - - $info = [ - 'ACYM_ADMIN_USER_CREATE' => $adminCreate, - 'ACYM_ADMIN_USER_MODIFICATION' => $adminModif, - ]; - - $newAutomation = new stdClass(); - $newAutomation->name = $title; - $newAutomation->description = $info[$title]->desc; - $newAutomation->active = 0; - $newAutomation->admin = 1; - $newAutomation->id = $automationClass->save($newAutomation); - if (empty($newAutomation->id)) return false; - - $newStep = new stdClass(); - $newStep->name = 'ACYM_ADMIN_USER_CREATE'; - $newStep->triggers = $info[$title]->triggers; - $newStep->automation_id = $newAutomation->id; - $newStep->id = $stepClass->save($newStep); - if (empty($newStep->id)) return false; - - $newCondition = new stdClass(); - $newCondition->step_id = $newStep->id; - $newCondition->conditions = $info[$title]->conditions; - $newCondition->id = $conditionClass->save($newCondition); - if (empty($newCondition->id)) return false; - - $mailAutomation = new stdClass(); - $mailAutomation->type = 'automation'; - $mailAutomation->library = 1; - $mailAutomation->template = 0; - $mailAutomation->drag_editor = 1; - $mailAutomation->creator_id = acym_currentUserId(); - $mailAutomation->creation_date = date('Y-m-d H:i:s', time()); - $mailAutomation->name = acym_translation($info[$title]->emailTitle); - $mailAutomation->subject = acym_translation($info[$title]->emailSubject); - $mailAutomation->body = $this->getFormatedNotification($info[$title]->emailContent); - - $mailAutomation->id = $mailClass->save($mailAutomation); - if (empty($mailAutomation->id)) return false; - - $newAction = new stdClass(); - $newAction->condition_id = $newCondition->id; - $newAction->actions = '[{"acy_add_queue":{"mail_id":"'.intval($mailAutomation->id).'","time":"[time]"}}]'; - $newAction->filters = '{"0":{"1":{"acy_field":{"field":"email","operator":"=","value":"'.acym_currentUserEmail().'"}}},"type_filter":"classic"}'; - $newAction->order = 1; - $newAction->id = $actionClass->save($newAction); - if (empty($newAction->id)) return false; - } - - public function installAdminNotif() - { - $automationClass = acym_get('class.automation'); - $automationAdmin = $automationClass->getAutomationsAdmin(); - - if (empty($automationAdmin['ACYM_ADMIN_USER_CREATE'])) { - $this->_newAutomationAdmin('ACYM_ADMIN_USER_CREATE'); - } - - if (empty($automationAdmin['ACYM_ADMIN_USER_MODIFICATION'])) { - $this->_newAutomationAdmin('ACYM_ADMIN_USER_MODIFICATION'); - } - } - - public function installList() - { - $listClass = acym_get('class.list'); - $listClass->addDefaultList(); - } - - public function installNotifications() - { - $searchSettings = [ - 'offset' => 0, - 'mailsPerPage' => 9000, - 'key' => 'name', - ]; - - $mailClass = acym_get('class.mail'); - $userClass = acym_get('class.user'); - $notifications = $mailClass->getMailsByType('notification', $searchSettings); - $notifications = $notifications['mails']; - - $addNotif = []; - - if (empty($notifications['acy_report'])) { - $addNotif[] = [ - 'name' => 'acy_report', - 'subject' => 'AcyMailing Cron Report {mainreport}', - 'content' => '

                {report}

                {detailreport}

                ', - ]; - } - - if (empty($notifications['acy_confirm'])) { - $addNotif[] = [ - 'name' => 'acy_confirm', - 'subject' => '{subtag:name|ucfirst}, {trans:ACYM_PLEASE_CONFIRM_SUBSCRIPTION}', - 'content' => $this->getFormatedNotification( - '

                Hello {subtag:name|ucfirst},

                -

                {trans:ACYM_CONFIRM_MESSAGE}

                -

                {trans:ACYM_CONFIRM_MESSAGE_ACTIVATE}

                -

                {confirm}{trans:ACYM_CONFIRM_SUBSCRIPTION}{/confirm}

                ' - ), - ]; - } - - $firstEmail = $mailClass->getOneByName(acym_translation(self::FIRST_EMAIL_NAME_KEY)); - - if (empty($firstEmail)) { - $user = $userClass->getOneByCMSId(acym_currentUserId()); - if (empty($user)) { - $newUser = new stdClass(); - $newUser->email = acym_currentUserEmail(); - $newUser->confirmed = 1; - $newUser->cms_id = acym_currentUserId(); - $newUser->id = $userClass->save($newUser); - $user = $userClass->getOneById($newUser->id); - } - $addNotif[] = [ - 'name' => acym_translation(self::FIRST_EMAIL_NAME_KEY), - 'subject' => acym_translation('ACYM_YOUR_FIRST_EMAIL'), - 'content' => '
                - - - - - - -
                -
                - - - - - - -
                - - - - - - -
                - - - - - - -
                -
                -

                - We need your feedback! -

                -

                - Having trouble seeing this email? - - - Click here to view it online - - - -

                -
                -
                -
                - - - - - - -
                - - - - - - - - - -
                -
                -

                - logo_acymailing_step_email -

                -
                -
                -
                -
                -
                - - - - - - -
                - - - - - - - - - -
                -
                -

                - Dear Admin, -

                -
                -
                -
                -

                - Amazing, you are going to send your first email!  -

                -

                -
                -

                -

                - Feel free to drag & drop some content and give -

                -

                - a try to the AcyMailing editor.

                - Once it is done then click on the "Save" button -

                -
                -
                -
                - - - - - - -
                - - - - - - -
                -
                -

                - image_mailing_step_email -

                -
                -
                -
                - - - - - - -
                - - - - - - -
                -
                -

                - - - Unsubscribe - - - -

                -
                -
                -
                -
                -
                -
                -
                ', - 'template' => 1, - 'settings' => '{"p":{"font-family":"Helvetica","font-size":"16px"},"#acym__wysid__background-colorpicker":{"background-color":"#f5f5f5"}}', - 'type' => 'standard', - 'thumbnail' => 'thumbnail_first_email.png', - ]; - $mailingImage = 'image_mailing_step_email.jpg'; - $logoAcymailing = 'logo_acymailing_step_email.png'; - $thumbnailFirstStep = 'thumbnail_first_email.png'; - - acym_createFolder(ACYM_ROOT.ACYM_UPLOAD_FOLDER); - acym_createFolder(ACYM_UPLOAD_FOLDER_THUMBNAIL); - - if (!file_exists(ACYM_ROOT.ACYM_UPLOAD_FOLDER.$mailingImage)) copy(ACYM_ROOT.ACYM_MEDIA_FOLDER.DS.'images'.DS.$mailingImage, ACYM_ROOT.ACYM_UPLOAD_FOLDER.$mailingImage); - if (!file_exists(ACYM_ROOT.ACYM_UPLOAD_FOLDER.$logoAcymailing)) copy(ACYM_ROOT.ACYM_MEDIA_FOLDER.DS.'images'.DS.$logoAcymailing, ACYM_ROOT.ACYM_UPLOAD_FOLDER.$logoAcymailing); - if (!file_exists(ACYM_UPLOAD_FOLDER_THUMBNAIL.$thumbnailFirstStep)) copy(ACYM_ROOT.ACYM_MEDIA_FOLDER.DS.'images'.DS.$thumbnailFirstStep, ACYM_UPLOAD_FOLDER_THUMBNAIL.$thumbnailFirstStep); - } - - if (!empty($addNotif)) { - foreach ($addNotif as $oneNotif) { - $notif = new stdClass(); - $notif->type = empty($oneNotif['type']) ? 'notification' : $oneNotif['type']; - $notif->library = 1; - $notif->template = empty($oneNotif['template']) ? 0 : $oneNotif['template']; - $notif->settings = empty($oneNotif['settings']) ? '' : $oneNotif['settings']; - $notif->drag_editor = 1; - $notif->creator_id = acym_currentUserId(); - $notif->creation_date = date('Y-m-d H:i:s', time()); - $notif->name = $oneNotif['name']; - $notif->subject = $oneNotif['subject']; - $notif->body = $oneNotif['content']; - $notif->thumbnail = empty($oneNotif['thumbnail']) ? '' : $oneNotif['thumbnail']; - - $notif->id = $mailClass->save($notif); - if (empty($notif->id)) { - acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_INSTALLING_X_TEMPLATE', $notif->name), 'error'); - - return false; - } - if (acym_translation(self::FIRST_EMAIL_NAME_KEY) === $notif->name) { - $notif->body = str_replace('id_view_it_online_first_test', $notif->id, $notif->body); - $mailClass->save($notif); - } - } - } - - return true; - } - - private function getFormatedNotification($content) - { - $begining = '
                '; - $ending = '
                '; - - return $begining.$content.$ending; - } - - public function installExtensions() - { - $dirs = acym_getFolders(ACYM_BACK.'extensions'); - if (empty($dirs)) return; - - $extensionsToPublish = [ - 'acymtriggers', - 'jceacym', - ]; - $existingExtensions = acym_loadResultArray('SELECT `element` FROM #__extensions WHERE `type` = "plugin" AND `folder` = "system" AND `element` IN ("'.implode('", "', $extensionsToPublish).'")'); - - if (!empty($existingExtensions)) { - $extensionsToPublish = array_diff($extensionsToPublish, $existingExtensions); - } - - $installer = JInstaller::getInstance(); - foreach ($dirs as $oneExtension) { - $installer->install(ACYM_BACK.'extensions'.DS.$oneExtension); - } - - acym_query('UPDATE #__extensions SET `enabled` = 1 WHERE `type` = "plugin" AND `folder` = "system" AND `element` IN ("'.implode('", "', $extensionsToPublish).'")'); - - acym_deleteFolder(ACYM_BACK.'extensions'); - } -} - +cmsUserVars = $acymCmsUserVars; + } + + public function installBounceRules() + { + $bounceClass = acym_get('class.bounce'); + if ($bounceClass->getOrderingNumber() > 0) { + return; + } + $config = acym_config(); + $replyTo = $config->get('replyto_email'); + $bounce = $config->get('bounce_email'); + $from = $config->get('from_email'); + + $forwardEmail = $replyTo != $bounce ? $replyTo : $from; + if (empty($forwardEmail)) $forwardEmail = acym_currentUserEmail(); + + $forwardEmail = str_replace('"', '', $forwardEmail); + + $query = "INSERT INTO `#__acym_rule` (`id`, `name`, `ordering`, `regex`, `executed_on`, `action_message`, `action_user`, `active`, `increment_stats`, `execute_action_after`) VALUES "; + $query .= "(1, 'ACYM_ACTION_REQUIRED', 1, 'action *requ|verif', '[\"subject\"]', '{\"0\":\"delete_message\",\"1\":\"forward_message\",\"forward_to\":\"".$forwardEmail."\"}', '[]', 1, 0, 0),"; + $query .= "(2, 'ACYM_ACKNOWLEDGMENT_RECEIPT_SUBJECT', 2, '(out|away) *(of|from)|vacation|holiday|absen|congés|recept|acknowledg|thank you for', '[\"subject\"]', '[\"delete_message\"]', '[]', 1, 0, 0),"; + $query .= "(3, 'ACYM_FEEDBACK_LOOP', 3, 'feedback|staff@hotmail.com|complaints@.{0,15}email-abuse.amazonses.com|complaint about message', '[\"senderInfo\",\"subject\"]', '[\"save_message\",\"delete_message\"]', '[\"unsubscribe_user\"]', 1, 0, 0),"; + $query .= "(4, 'ACYM_FEEDBACK_LOOP_BODY', 4, 'Feedback-Type.{1,5}abuse', '[\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"unsubscribe_user\"]', 1, 1, 0),"; + $query .= "(5, 'ACYM_MAILBOX_FULL', 5, '((mailbox|mailfolder|storage|quota|space|inbox) *(is)? *(over)? *(exceeded|size|storage|allocation|full|quota|maxi))|status(-code)? *(:|=)? *5.2.2|quota-issue|not *enough.{1,20}space|((over|exceeded|full|exhausted) *(allowed)? *(mail|storage|quota))', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; + $query .= "(6, 'ACYM_BLOCKED_GOOGLE_GROUPS', 6, 'message *rejected *by *Google *Groups', '[\"body\"]', '[\"delete_message\"]', '[]', 1, 1, 0),"; + $query .= "(7, 'ACYM_MAILBOX_DOESNT_EXIST_1', 7, '(Invalid|no such|unknown|bad|des?activated|inactive|unrouteable) *(mail|destination|recipient|user|address|person)|bad-mailbox|inactive-mailbox|not listed in.{1,20}directory|RecipNotFound|(user|mailbox|address|recipients?|host|account|domain) *(is|has been)? *(error|disabled|failed|unknown|unavailable|not *(found|available)|.{1,30}inactiv)|no *mailbox *here|user does.?n.t have.{0,30}account', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; + $query .= "(8, 'ACYM_MESSAGE_BLOCKED_RECIPIENTS', 8, 'blocked *by|block *list|look(ed)? *like *spam|spam-related|spam *detected| CXBL | CDRBL | IPBL | URLBL |(unacceptable|banned|offensive|filtered|blocked|unsolicited) *(content|message|e?-?mail)|service refused|(status(-code)?|554) *(:|=)? *5.7.1|administratively *denied|blacklisted *IP|policy *reasons|rejected.{1,10}spam|junkmail *rejected|throttling *constraints|exceeded.{1,10}max.{1,40}hour|comply with required standards|421 RP-00|550 SC-00|550 DY-00|550 OU-00', '[\"body\"]', '{\"0\":\"delete_message\",\"1\":\"forward_message\",\"forward_to\":\"".$forwardEmail."\"}', '[]', 1, 1, 0),"; + $query .= "(9, 'ACYM_MAILBOX_DOESNT_EXIST_2', 9, 'status(-code)? *(:|=)? *5.(1.[1-6]|0.0|4.[0123467])|recipient *address *rejected|does *not *like *recipient', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; + $query .= "(10, 'ACYM_DOMAIN_NOT_EXIST', 10, 'No.{1,10}MX *(record|host)|host *does *not *receive *any *mail|bad-domain|connection.{1,10}mail.{1,20}fail|domain.{1,10}not *exist|fail.{1,10}establish *connection', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; + $query .= "(11, 'ACYM_TEMPORARY_FAILURES', 11, 'has.*been.*delayed|delayed *mail|message *delayed|message-expired|temporar(il)?y *(failure|unavailable|disable|offline|unable)|deferred|delayed *([0-9]*) *(hour|minut)|possible *mail *loop|too *many *hops|delivery *time *expired|Action: *delayed|status(-code)? *(:|=)? *4.4.6|will continue to be attempted|unable to deliver in.*Status: 4.4.7', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; + $query .= "(12, 'ACYM_FAILED_PERM', 12, 'failed *permanently|permanent.{1,20}(failure|error)|not *accepting *(any)? *mail|does *not *exist|no *valid *route|delivery *failure', '[\"subject\",\"body\"]', '[\"save_message\",\"delete_message\"]', '[\"block_user\"]', 1, 1, 0),"; + $query .= "(13, 'ACYM_ACKNOWLEDGMENT_RECEIPT_BODY', 13, 'vacances|holiday|vacation|absen|urlaub', '[\"body\"]', '[\"delete_message\"]', '[]', 1, 0, 0),"; + $query .= "(14, 'ACYM_FINAL_RULE', 14, '.', '[\"senderInfo\",\"subject\"]', '{\"0\":\"delete_message\",\"1\":\"forward_message\",\"forward_to\":\"".$forwardEmail."\"}', '[]', 1, 1, 0);"; + + acym_query($query); + + $newConfig = new stdClass(); + $newConfig->bounceVersion = $this->bounceVersion; + $config->save($newConfig); + } + + public function addUpdateSite() + { + $config = acym_config(); + + $newconfig = new stdClass(); + $newconfig->website = ACYM_LIVE; + $newconfig->max_execution_time = 0; + + $config->save($newconfig); + + acym_query('DELETE FROM #__updates WHERE element = "com_acym"'); + + $update_site_id = acym_loadResult("SELECT update_site_id FROM #__update_sites WHERE location LIKE '%component=acymailing%' AND type LIKE 'extension'"); + + $object = new stdClass(); + $object->name = 'AcyMailing'; + $object->type = 'extension'; + $object->location = ACYM_UPDATEMEURL.'updatexml&component=acymailing&cms=joomla&level='.$config->get('level').'&version='.$config->get('version'); + + $object->enabled = 1; + + if (empty($update_site_id)) { + $update_site_id = acym_insertObject("#__update_sites", $object); + } else { + $object->update_site_id = $update_site_id; + acym_updateObject("#__update_sites", $object, 'update_site_id'); + } + + $extension_id = acym_loadResult("SELECT extension_id FROM #__extensions WHERE `element` = 'com_acym' AND type LIKE 'component'"); + if (empty($update_site_id) || empty($extension_id)) { + return false; + } + + $query = 'INSERT IGNORE INTO #__update_sites_extensions (update_site_id, extension_id) values ('.intval($update_site_id).','.intval($extension_id).')'; + acym_query($query); + + return true; + } + + public function installLanguages() + { + $siteLanguages = acym_getLanguages(); + if (!empty($siteLanguages[ACYM_DEFAULT_LANGUAGE])) { + unset($siteLanguages[ACYM_DEFAULT_LANGUAGE]); + } + + $installedLanguages = array_keys($siteLanguages); + if (empty($installedLanguages)) return; + + ob_start(); + $languagesContent = acym_fileGetContent(ACYM_UPDATEURL.'loadLanguages&json=1&component=acym&codes='.implode(',', $installedLanguages)); + $warnings = ob_get_clean(); + if (!empty($warnings) && acym_isDebug()) acym_enqueueMessage($warnings, 'warning'); + + if (empty($languagesContent)) { + acym_enqueueMessage(acym_translation('ACYM_ERROR_LOAD_LANGUAGES'), 'error'); + + return; + } + + $decodedLanguages = json_decode($languagesContent, true); + + $success = []; + $error = []; + $errorLoad = []; + + foreach ($decodedLanguages as $code => $content) { + if (empty($content)) { + $errorLoad[] = $code; + continue; + } + + $path = acym_getLanguagePath(ACYM_ROOT, $code).DS.$code.'.'.ACYM_LANGUAGE_FILE.'.ini'; + if (acym_writeFile($path, $content)) { + $this->installBackLanguages($code); + $success[] = $code; + } else { + $error[] = acym_translation_sprintf('ACYM_ERROR_SAVE_FILE', $path); + } + } + + if (!empty($success)) acym_enqueueMessage(acym_translation_sprintf('ACYM_TRANSLATION_INSTALLED', implode(', ', $success)), 'success'); + if (!empty($error)) acym_enqueueMessage($error, 'error'); + if (!empty($errorLoad)) acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_LOAD_LANGUAGE', implode(', ', $errorLoad)), 'warning'); + } + + public function installBackLanguages($onlyCode = '') + { + if (ACYM_CMS != 'joomla') return; + + $menuStrings = [ + 'ACYM_USERS', + 'ACYM_CUSTOM_FIELDS', + 'ACYM_LISTS', + 'ACYM_TEMPLATES', + 'ACYM_CAMPAIGNS', + 'ACYM_QUEUE', + 'ACYM_AUTOMATION', + 'ACYM_STATISTICS', + 'ACYM_BOUNCE_HANDLING', + 'ACYM_CONFIGURATION', + 'ACYM_MENU_PROFILE', + 'ACYM_MENU_PROFILE_DESC', + 'ACYM_MENU_ARCHIVE', + 'ACYM_MENU_ARCHIVE_DESC', + ]; + + if (empty($onlyCode)) { + $siteLanguages = array_keys(acym_getLanguages()); + } else { + $siteLanguages = [$onlyCode]; + } + + foreach ($siteLanguages as $code) { + + $path = acym_getLanguagePath(ACYM_ROOT, $code).DS.$code.'.com_acym.ini'; + if (!file_exists($path)) continue; + + $content = file_get_contents($path); + if (empty($content)) continue; + + + $menuFileContent = 'ACYM="AcyMailing 6"'."\r\n"; + $menuFileContent .= 'COM_ACYM="AcyMailing 6"'."\r\n"; + $menuFileContent .= 'COM_ACYM_CONFIGURATION="AcyMailing 6"'."\r\n"; + + foreach ($menuStrings as $oneString) { + preg_match('#[^_]'.$oneString.'="(.*)"#i', $content, $matches); + if (empty($matches[1])) continue; + + $menuFileContent .= $oneString.'="'.$matches[1].'"'."\r\n"; + } + + $menuPath = ACYM_ROOT.'administrator'.DS.'language'.DS.$code.DS.$code.'.com_acym.sys.ini'; + + if (!acym_writeFile($menuPath, $menuFileContent)) { + acym_enqueueNotification(acym_translation_sprintf('ACYM_FAIL_SAVE_FILE', $menuPath), 'error', 0); + } + } + } + + public function installFields() + { + $query = "INSERT IGNORE INTO #__acym_field (`id`, `name`, `type`, `value`, `active`, `default_value`, `required`, `ordering`, `option`, `core`, `backend_profile`, `backend_listing`, `backend_filter`, `frontend_form`, `frontend_profile`, `frontend_listing`, `frontend_filter`, `access`, `namekey`) VALUES + (1, 'ACYM_NAME', 'text', NULL, 1, NULL, 0, 1, '{\"editable_user_creation\":\"1\",\"editable_user_modification\":\"1\",\"error_message\":\"\",\"error_message_invalid\":\"\",\"size\":\"\",\"rows\":\"\",\"columns\":\"\",\"format\":\"\",\"custom_text\":\"\",\"css_class\":\"\",\"authorized_content\":{\"0\":\"all\",\"regex\":\"\"}}', 1, 1, 1, 0, 1, 1, 1, 0, 'all', 'acym_name'), + (2, 'ACYM_EMAIL', 'text', NULL, 1, NULL, 1, 2, '{\"editable_user_creation\":\"1\",\"editable_user_modification\":\"1\",\"error_message\":\"\",\"error_message_invalid\":\"\",\"size\":\"\",\"rows\":\"\",\"columns\":\"\",\"format\":\"\",\"custom_text\":\"\",\"css_class\":\"\",\"authorized_content\":{\"0\":\"all\",\"regex\":\"\"}}', 1, 1, 1, 0, 1, 1, 1, 0, 'all', 'acym_name');"; + acym_query($query); + } + + public function installTemplate() + { + $names = ['default_template', 'default_template_2']; + foreach ($names as $name) { + $query = "INSERT INTO `#__acym_mail` (`name`, `creation_date`, `thumbnail`, `drag_editor`, `library`, `type`, `body`, `subject`, `template`, `from_name`, `from_email`, `reply_to_name`, `reply_to_email`, `bcc`, `settings`, `stylesheet`, `attachments`, `creator_id`) VALUES + (".acym_escapeDB(str_replace('_', ' ', $name)).", ".acym_escapeDB(acym_date('now', 'Y-m-d H:i:s', false)).", ".acym_escapeDB(ACYM_IMAGES.'img_template'.DS.$name.'.png').", 1, 1, 'standard', ".acym_escapeDB(str_replace('{acym_media}', ACYM_IMAGES, file_get_contents(ACYM_BACK.'templates'.DS.$name.DS.'content.txt'))).", 'Subject', 1, NULL, NULL, NULL, NULL, NULL, ".acym_escapeDB(file_get_contents(ACYM_BACK.'templates'.DS.$name.DS.'settings.txt')).", '', NULL, 1);"; + acym_query($query); + } + + acym_deleteFolder(ACYM_BACK.'templates'); + } + + private function _newAutomationAdmin($title) + { + $automationClass = acym_get('class.automation'); + $stepClass = acym_get('class.step'); + $conditionClass = acym_get('class.condition'); + $mailClass = acym_get('class.mail'); + $actionClass = acym_get('class.action'); + + + $adminCreate = new stdClass(); + $adminCreate->desc = 'ACYM_ADMIN_USER_CREATE_DESC'; + $adminCreate->triggers = '{"user_creation":[""],"type_trigger":"user"}'; + $adminCreate->conditions = '{"type_condition":"user"}'; + $adminCreate->emailTitle = acym_translation('ACYM_USER_CREATION'); + $adminCreate->emailSubject = '{trans:ACYM_USER_CREATION}'; + $adminCreate->emailContent = '

                {trans:ACYM_HELLO} {subtag:name|ucfirst},

                +

                {trans:ACYM_NEW_USER_ACYMAILING}:

                +

                {trans:ACYM_NAME}: {subtag:name|info:current}

                +

                {trans:ACYM_EMAIL}: {subtag:email|info:current}

                '; + + $adminModif = new stdClass(); + $adminModif->desc = 'ACYM_ADMIN_USER_MODIFICATION_DESC'; + $adminModif->triggers = '{"user_modification":[""],"type_trigger":"user"}'; + $adminModif->conditions = '{"type_condition":"user"}'; + $adminModif->emailTitle = acym_translation('ACYM_USER_MODIFICATION'); + $adminModif->emailSubject = '{trans:ACYM_USER_MODIFICATION}'; + $adminModif->emailContent = '

                {trans:ACYM_HELLO} {subtag:name|ucfirst},

                +

                {trans:ACYM_USER_MODIFY_ACYMAILING}:

                +

                {trans:ACYM_NAME}: {subtag:name|info:current}

                +

                {trans:ACYM_EMAIL}: {subtag:email|info:current}

                '; + + $info = [ + 'ACYM_ADMIN_USER_CREATE' => $adminCreate, + 'ACYM_ADMIN_USER_MODIFICATION' => $adminModif, + ]; + + $newAutomation = new stdClass(); + $newAutomation->name = $title; + $newAutomation->description = $info[$title]->desc; + $newAutomation->active = 0; + $newAutomation->admin = 1; + $newAutomation->id = $automationClass->save($newAutomation); + if (empty($newAutomation->id)) return false; + + $newStep = new stdClass(); + $newStep->name = 'ACYM_ADMIN_USER_CREATE'; + $newStep->triggers = $info[$title]->triggers; + $newStep->automation_id = $newAutomation->id; + $newStep->id = $stepClass->save($newStep); + if (empty($newStep->id)) return false; + + $newCondition = new stdClass(); + $newCondition->step_id = $newStep->id; + $newCondition->conditions = $info[$title]->conditions; + $newCondition->id = $conditionClass->save($newCondition); + if (empty($newCondition->id)) return false; + + $mailAutomation = new stdClass(); + $mailAutomation->type = 'automation'; + $mailAutomation->library = 1; + $mailAutomation->template = 0; + $mailAutomation->drag_editor = 1; + $mailAutomation->creator_id = acym_currentUserId(); + $mailAutomation->creation_date = date('Y-m-d H:i:s', time()); + $mailAutomation->name = acym_translation($info[$title]->emailTitle); + $mailAutomation->subject = acym_translation($info[$title]->emailSubject); + $mailAutomation->body = $this->getFormatedNotification($info[$title]->emailContent); + + $mailAutomation->id = $mailClass->save($mailAutomation); + if (empty($mailAutomation->id)) return false; + + $newAction = new stdClass(); + $newAction->condition_id = $newCondition->id; + $newAction->actions = '[{"acy_add_queue":{"mail_id":"'.intval($mailAutomation->id).'","time":"[time]"}}]'; + $newAction->filters = '{"0":{"1":{"acy_field":{"field":"email","operator":"=","value":"'.acym_currentUserEmail().'"}}},"type_filter":"classic"}'; + $newAction->order = 1; + $newAction->id = $actionClass->save($newAction); + if (empty($newAction->id)) return false; + } + + public function installAdminNotif() + { + $automationClass = acym_get('class.automation'); + $automationAdmin = $automationClass->getAutomationsAdmin(); + + if (empty($automationAdmin['ACYM_ADMIN_USER_CREATE'])) { + $this->_newAutomationAdmin('ACYM_ADMIN_USER_CREATE'); + } + + if (empty($automationAdmin['ACYM_ADMIN_USER_MODIFICATION'])) { + $this->_newAutomationAdmin('ACYM_ADMIN_USER_MODIFICATION'); + } + } + + public function installList() + { + $listClass = acym_get('class.list'); + $listClass->addDefaultList(); + } + + public function installNotifications() + { + $searchSettings = [ + 'offset' => 0, + 'mailsPerPage' => 9000, + 'key' => 'name', + ]; + + $mailClass = acym_get('class.mail'); + $userClass = acym_get('class.user'); + $notifications = $mailClass->getMailsByType('notification', $searchSettings); + $notifications = $notifications['mails']; + + $addNotif = []; + + if (empty($notifications['acy_report'])) { + $addNotif[] = [ + 'name' => 'acy_report', + 'subject' => 'AcyMailing Cron Report {mainreport}', + 'content' => '

                {report}

                {detailreport}

                ', + ]; + } + + if (empty($notifications['acy_confirm'])) { + $addNotif[] = [ + 'name' => 'acy_confirm', + 'subject' => '{subtag:name|ucfirst}, {trans:ACYM_PLEASE_CONFIRM_SUBSCRIPTION}', + 'content' => $this->getFormatedNotification( + '

                Hello {subtag:name|ucfirst},

                +

                {trans:ACYM_CONFIRM_MESSAGE}

                +

                {trans:ACYM_CONFIRM_MESSAGE_ACTIVATE}

                +

                {confirm}{trans:ACYM_CONFIRM_SUBSCRIPTION}{/confirm}

                ' + ), + ]; + } + + $firstEmail = $mailClass->getOneByName(acym_translation(self::FIRST_EMAIL_NAME_KEY)); + + if (empty($firstEmail)) { + $user = $userClass->getOneByCMSId(acym_currentUserId()); + if (empty($user)) { + $newUser = new stdClass(); + $newUser->email = acym_currentUserEmail(); + $newUser->confirmed = 1; + $newUser->cms_id = acym_currentUserId(); + $newUser->id = $userClass->save($newUser); + $user = $userClass->getOneById($newUser->id); + } + $addNotif[] = [ + 'name' => acym_translation(self::FIRST_EMAIL_NAME_KEY), + 'subject' => acym_translation('ACYM_YOUR_FIRST_EMAIL'), + 'content' => '
                + + + + + + +
                +
                + + + + + + +
                + + + + + + +
                + + + + + + +
                +
                +

                + We need your feedback! +

                +

                + Having trouble seeing this email? + + + Click here to view it online + + + +

                +
                +
                +
                + + + + + + +
                + + + + + + + + + +
                +
                +

                + logo_acymailing_step_email +

                +
                +
                +
                +
                +
                + + + + + + +
                + + + + + + + + + +
                +
                +

                + Dear Admin, +

                +
                +
                +
                +

                + Amazing, you are going to send your first email!  +

                +

                +
                +

                +

                + Feel free to drag & drop some content and give +

                +

                + a try to the AcyMailing editor.

                + Once it is done then click on the "Save" button +

                +
                +
                +
                + + + + + + +
                + + + + + + +
                +
                +

                + image_mailing_step_email +

                +
                +
                +
                + + + + + + +
                + + + + + + +
                +
                +

                + + + Unsubscribe + + + +

                +
                +
                +
                +
                +
                +
                +
                ', + 'template' => 1, + 'settings' => '{"p":{"font-family":"Helvetica","font-size":"16px"},"#acym__wysid__background-colorpicker":{"background-color":"#f5f5f5"}}', + 'type' => 'standard', + 'thumbnail' => 'thumbnail_first_email.png', + ]; + $mailingImage = 'image_mailing_step_email.jpg'; + $logoAcymailing = 'logo_acymailing_step_email.png'; + $thumbnailFirstStep = 'thumbnail_first_email.png'; + + acym_createFolder(ACYM_ROOT.ACYM_UPLOAD_FOLDER); + acym_createFolder(ACYM_UPLOAD_FOLDER_THUMBNAIL); + + if (!file_exists(ACYM_ROOT.ACYM_UPLOAD_FOLDER.$mailingImage)) copy(ACYM_ROOT.ACYM_MEDIA_FOLDER.DS.'images'.DS.$mailingImage, ACYM_ROOT.ACYM_UPLOAD_FOLDER.$mailingImage); + if (!file_exists(ACYM_ROOT.ACYM_UPLOAD_FOLDER.$logoAcymailing)) copy(ACYM_ROOT.ACYM_MEDIA_FOLDER.DS.'images'.DS.$logoAcymailing, ACYM_ROOT.ACYM_UPLOAD_FOLDER.$logoAcymailing); + if (!file_exists(ACYM_UPLOAD_FOLDER_THUMBNAIL.$thumbnailFirstStep)) copy(ACYM_ROOT.ACYM_MEDIA_FOLDER.DS.'images'.DS.$thumbnailFirstStep, ACYM_UPLOAD_FOLDER_THUMBNAIL.$thumbnailFirstStep); + } + + if (!empty($addNotif)) { + foreach ($addNotif as $oneNotif) { + $notif = new stdClass(); + $notif->type = empty($oneNotif['type']) ? 'notification' : $oneNotif['type']; + $notif->library = 1; + $notif->template = empty($oneNotif['template']) ? 0 : $oneNotif['template']; + $notif->settings = empty($oneNotif['settings']) ? '' : $oneNotif['settings']; + $notif->drag_editor = 1; + $notif->creator_id = acym_currentUserId(); + $notif->creation_date = date('Y-m-d H:i:s', time()); + $notif->name = $oneNotif['name']; + $notif->subject = $oneNotif['subject']; + $notif->body = $oneNotif['content']; + $notif->thumbnail = empty($oneNotif['thumbnail']) ? '' : $oneNotif['thumbnail']; + + $notif->id = $mailClass->save($notif); + if (empty($notif->id)) { + acym_enqueueMessage(acym_translation_sprintf('ACYM_ERROR_INSTALLING_X_TEMPLATE', $notif->name), 'error'); + + return false; + } + if (acym_translation(self::FIRST_EMAIL_NAME_KEY) === $notif->name) { + $notif->body = str_replace('id_view_it_online_first_test', $notif->id, $notif->body); + $mailClass->save($notif); + } + } + } + + return true; + } + + private function getFormatedNotification($content) + { + $begining = '
                '; + $ending = '
                '; + + return $begining.$content.$ending; + } + + public function installExtensions() + { + $dirs = acym_getFolders(ACYM_BACK.'extensions'); + if (empty($dirs)) return; + + $extensionsToPublish = [ + 'acymtriggers', + 'jceacym', + ]; + $existingExtensions = acym_loadResultArray('SELECT `element` FROM #__extensions WHERE `type` = "plugin" AND `folder` = "system" AND `element` IN ("'.implode('", "', $extensionsToPublish).'")'); + + if (!empty($existingExtensions)) { + $extensionsToPublish = array_diff($extensionsToPublish, $existingExtensions); + } + + $installer = JInstaller::getInstance(); + foreach ($dirs as $oneExtension) { + $installer->install(ACYM_BACK.'extensions'.DS.$oneExtension); + } + + acym_query('UPDATE #__extensions SET `enabled` = 1 WHERE `type` = "plugin" AND `folder` = "system" AND `element` IN ("'.implode('", "', $extensionsToPublish).'")'); + + acym_deleteFolder(ACYM_BACK.'extensions'); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/helpers/user.php b/deployed/acym/administrator/components/com_acym/helpers/user.php index 374df2d7..94c6f7d6 100644 --- a/deployed/acym/administrator/components/com_acym/helpers/user.php +++ b/deployed/acym/administrator/components/com_acym/helpers/user.php @@ -1,13 +1,13 @@ -This version of AcyMailing requires at least PHP 5.3.0, it is time to upgrade the PHP version of your server!

                '; - exit; -} - -function installAcym() -{ - try { - include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acym'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php'); - } catch (Exception $e) { - echo 'Initialization error, please re-install'; - - return; - } - - acym_increasePerf(); - - $installClass = new acymInstall(); - $installClass->addPref(); - $installClass->updatePref(); - $installClass->updateSQL(); - - $updateHelper = acym_get('helper.update'); - $updateHelper->fromLevel = $installClass->fromLevel; - $updateHelper->fromVersion = $installClass->fromVersion; - $updateHelper->installList(); - $updateHelper->installNotifications(); - $updateHelper->installFields(); - $updateHelper->installLanguages(); - $updateHelper->installBackLanguages(); - $updateHelper->addUpdateSite(); - $updateHelper->installBounceRules(); - $updateHelper->installAdminNotif(); - - $newConfig = new stdClass(); - $newConfig->installcomplete = 1; - $config = acym_config(); - $config->save($newConfig); -} - -function uninstallAcym() -{ - $db = JFactory::getDBO(); - $jversion = preg_replace('#[^0-9\.]#i', '', JVERSION); - $method = version_compare($jversion, '4.0.0', '>=') ? 'execute' : 'query'; - - $db->setQuery("UPDATE `#__modules` SET `published` = 0 WHERE `module` = 'mod_acym'"); - $db->$method(); - - ?> - AcyMailing successfully uninstalled.
                - Its modules have been disabled.

                - If you want to completely uninstall AcyMailing and remove its data, please uninstall all the AcyMailing modules and plugins from the Joomla Extensions Manager then run the following query on your database manager:

                - getPrefix().'acym_'; - echo 'DROP TABLE '.$prefix.implode(', '.$prefix, $tables).';'; - - ?> -

                - If you don't do this, you will be able to install AcyMailing again without losing your data.
                - Please note that you don't have to uninstall AcyMailing to install a new version, simply install it over the current version.

                - This version of AcyMailing requires at least PHP 5.3.0, it is time to upgrade the PHP version of your server!

                '; + exit; +} + +function installAcym() +{ + try { + include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acym'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php'); + } catch (Exception $e) { + echo 'Initialization error, please re-install'; + + return; + } + + acym_increasePerf(); + + $installClass = new acymInstall(); + $installClass->addPref(); + $installClass->updatePref(); + $installClass->updateSQL(); + + $updateHelper = acym_get('helper.update'); + $updateHelper->fromLevel = $installClass->fromLevel; + $updateHelper->fromVersion = $installClass->fromVersion; + $updateHelper->installList(); + $updateHelper->installNotifications(); + $updateHelper->installFields(); + $updateHelper->installLanguages(); + $updateHelper->installBackLanguages(); + $updateHelper->addUpdateSite(); + $updateHelper->installBounceRules(); + $updateHelper->installAdminNotif(); + + $newConfig = new stdClass(); + $newConfig->installcomplete = 1; + $config = acym_config(); + $config->save($newConfig); +} + +function uninstallAcym() +{ + $db = JFactory::getDBO(); + $jversion = preg_replace('#[^0-9\.]#i', '', JVERSION); + $method = version_compare($jversion, '4.0.0', '>=') ? 'execute' : 'query'; + + $db->setQuery("UPDATE `#__modules` SET `published` = 0 WHERE `module` = 'mod_acym'"); + $db->$method(); + + ?> + AcyMailing successfully uninstalled.
                + Its modules have been disabled.

                + If you want to completely uninstall AcyMailing and remove its data, please uninstall all the AcyMailing modules and plugins from the Joomla Extensions Manager then run the following query on your database manager:

                + getPrefix().'acym_'; + echo 'DROP TABLE '.$prefix.implode(', '.$prefix, $tables).';'; + + ?> +

                + If you don't do this, you will be able to install AcyMailing again without losing your data.
                + Please note that you don't have to uninstall AcyMailing to install a new version, simply install it over the current version.

                + table).' SET active = 0 WHERE id IN ('.implode(',', $elements).')'); } } - + diff --git a/deployed/acym/administrator/components/com_acym/library/controller.php b/deployed/acym/administrator/components/com_acym/library/controller.php index b9bd276d..b7bd09ed 100644 --- a/deployed/acym/administrator/components/com_acym/library/controller.php +++ b/deployed/acym/administrator/components/com_acym/library/controller.php @@ -1,13 +1,13 @@ -listing(); } } - + diff --git a/deployed/acym/administrator/components/com_acym/library/joomla.php b/deployed/acym/administrator/components/com_acym/library/joomla.php index b90205db..ede66de2 100644 --- a/deployed/acym/administrator/components/com_acym/library/joomla.php +++ b/deployed/acym/administrator/components/com_acym/library/joomla.php @@ -1,13 +1,13 @@ -id = 'id'; $acymCmsUserVars->email = 'email'; $acymCmsUserVars->registered = 'registerDate'; $acymCmsUserVars->blocked = 'block'; - + diff --git a/deployed/acym/administrator/components/com_acym/library/parameter.php b/deployed/acym/administrator/components/com_acym/library/parameter.php index 82c94eb5..c48217da 100644 --- a/deployed/acym/administrator/components/com_acym/library/parameter.php +++ b/deployed/acym/administrator/components/com_acym/library/parameter.php @@ -1,13 +1,13 @@ -acympluginHelper->managePicts($options, $result); } } - + diff --git a/deployed/acym/administrator/components/com_acym/library/punycode.php b/deployed/acym/administrator/components/com_acym/library/punycode.php index 477dc2e2..8172e2d2 100644 --- a/deployed/acym/administrator/components/com_acym/library/punycode.php +++ b/deployed/acym/administrator/components/com_acym/library/punycode.php @@ -1,13 +1,13 @@ - 'BIG5',//Iconv,mbstring - 'ISO-8859-1' => 'ISO-8859-1',//Iconv,mbstring - 'ISO-8859-2' => 'ISO-8859-2',//Iconv,mbstring - 'ISO-8859-3' => 'ISO-8859-3',//Iconv,mbstring - 'ISO-8859-4' => 'ISO-8859-4',//Iconv,mbstring - 'ISO-8859-5' => 'ISO-8859-5',//Iconv,mbstring - 'ISO-8859-6' => 'ISO-8859-6',//Iconv,mbstring - 'ISO-8859-7' => 'ISO-8859-7',//Iconv,mbstring - 'ISO-8859-8' => 'ISO-8859-8',//Iconv,mbstring - 'ISO-8859-9' => 'ISO-8859-9',//Iconv,mbstring - 'ISO-8859-10' => 'ISO-8859-10',//Iconv,mbstring - 'ISO-8859-13' => 'ISO-8859-13',//Iconv,mbstring - 'ISO-8859-14' => 'ISO-8859-14',//Iconv,mbstring - 'ISO-8859-15' => 'ISO-8859-15',//Iconv,mbstring - 'ISO-2022-JP' => 'ISO-2022-JP',//mbstring for sure... not sure about Iconv - 'US-ASCII' => 'US-ASCII', //Iconv,mbstring - 'UTF-7' => 'UTF-7',//Iconv,mbstring - 'UTF-8' => 'UTF-8',//Iconv,mbstring - 'UTF-16' => 'UTF-16',//Iconv,mbstring - 'Windows-1251' => 'Windows-1251', //Iconv,mbstring - 'Windows-1252' => 'Windows-1252' //Iconv,mbstring - ]; - - if (function_exists('iconv')) { - $charsets['ARMSCII-8'] = 'ARMSCII-8'; - $charsets['ISO-8859-16'] = 'ISO-8859-16'; - } - - $this->charsets = $charsets; - - $this->values = []; - foreach ($charsets as $code => $charset) { - $this->values[] = acym_selectOption($code, $charset); - } - } - - function display($map, $value) - { - return acym_select($this->values, $map, 'size="1" style="width:150px;" '.$this->addinfo, 'value', 'text', $value); - } - -} - + 'BIG5',//Iconv,mbstring + 'ISO-8859-1' => 'ISO-8859-1',//Iconv,mbstring + 'ISO-8859-2' => 'ISO-8859-2',//Iconv,mbstring + 'ISO-8859-3' => 'ISO-8859-3',//Iconv,mbstring + 'ISO-8859-4' => 'ISO-8859-4',//Iconv,mbstring + 'ISO-8859-5' => 'ISO-8859-5',//Iconv,mbstring + 'ISO-8859-6' => 'ISO-8859-6',//Iconv,mbstring + 'ISO-8859-7' => 'ISO-8859-7',//Iconv,mbstring + 'ISO-8859-8' => 'ISO-8859-8',//Iconv,mbstring + 'ISO-8859-9' => 'ISO-8859-9',//Iconv,mbstring + 'ISO-8859-10' => 'ISO-8859-10',//Iconv,mbstring + 'ISO-8859-13' => 'ISO-8859-13',//Iconv,mbstring + 'ISO-8859-14' => 'ISO-8859-14',//Iconv,mbstring + 'ISO-8859-15' => 'ISO-8859-15',//Iconv,mbstring + 'ISO-2022-JP' => 'ISO-2022-JP',//mbstring for sure... not sure about Iconv + 'US-ASCII' => 'US-ASCII', //Iconv,mbstring + 'UTF-7' => 'UTF-7',//Iconv,mbstring + 'UTF-8' => 'UTF-8',//Iconv,mbstring + 'UTF-16' => 'UTF-16',//Iconv,mbstring + 'Windows-1251' => 'Windows-1251', //Iconv,mbstring + 'Windows-1252' => 'Windows-1252' //Iconv,mbstring + ]; + + if (function_exists('iconv')) { + $charsets['ARMSCII-8'] = 'ARMSCII-8'; + $charsets['ISO-8859-16'] = 'ISO-8859-16'; + } + + $this->charsets = $charsets; + + $this->values = []; + foreach ($charsets as $code => $charset) { + $this->values[] = acym_selectOption($code, $charset); + } + } + + function display($map, $value) + { + return acym_select($this->values, $map, 'size="1" style="width:150px;" '.$this->addinfo, 'value', 'text', $value); + } + +} + diff --git a/deployed/acym/administrator/components/com_acym/types/delay.php b/deployed/acym/administrator/components/com_acym/types/delay.php index 9d16842c..28fa0e05 100644 --- a/deployed/acym/administrator/components/com_acym/types/delay.php +++ b/deployed/acym/administrator/components/com_acym/types/delay.php @@ -1,108 +1,108 @@ -num = $i; - - $js = ' - function updateDelay'.$this->num.'(){ - delayvar = window.document.getElementById("delayvar'.$this->num.'"); - delaytype = window.document.getElementById("delaytype'.$this->num.'").value; - delayvalue = window.document.getElementById("delayvalue'.$this->num.'"); - realValue = delayvalue.value; - if(delaytype == "minute"){ realValue = realValue*60; } - if(delaytype == "hour"){ realValue = realValue*3600; } - if(delaytype == "day"){ realValue = realValue*86400; } - if(delaytype == "week"){ realValue = realValue*604800; } - if(delaytype == "month"){ realValue = realValue*2592000; } - delayvar.value = realValue; - }'; - acym_addScript(true, $js); - } - - function display($map, $value, $type = 1) - { - if ($type == 0) { - $this->values[] = acym_selectOption('second', 'ACYM_SECONDS'); - $this->values[] = acym_selectOption('minute', 'ACYM_MINUTES'); - } elseif ($type == 1) { - $this->values[] = acym_selectOption('minute', 'ACYM_MINUTES'); - $this->values[] = acym_selectOption('hour', 'ACYM_HOURS'); - $this->values[] = acym_selectOption('day', 'ACYM_DAYS'); - $this->values[] = acym_selectOption('week', 'ACYM_WEEKS'); - } elseif ($type == 2) { - $this->values[] = acym_selectOption('minute', 'ACYM_MINUTES'); - $this->values[] = acym_selectOption('hour', 'ACYM_HOURS'); - } elseif ($type == 3) { - $this->values[] = acym_selectOption('hour', 'ACYM_HOURS'); - $this->values[] = acym_selectOption('day', 'ACYM_DAYS'); - $this->values[] = acym_selectOption('week', 'ACYM_WEEKS'); - $this->values[] = acym_selectOption('month', 'ACYM_MONTHS'); - } elseif ($type == 4) { - $this->values[] = acym_selectOption('week', 'ACYM_WEEKS'); - $this->values[] = acym_selectOption('month', 'ACYM_MONTHS'); - } - - $return = $this->get($value, $type); - $delayValue = ' '; - $delayVar = ''; - - return $delayValue.acym_select($this->values, 'delaytype'.$this->num, $return->type, 'class="intext_select" onchange="updateDelay'.$this->num.'();'.$this->onChange.'"', 'value', 'text', 'delaytype'.$this->num).$delayVar; - } - - function get($value, $type) - { - - $return = new stdClass(); - - $return->value = $value; - if ($type == 0) { - $return->type = 'second'; - } else { - $return->type = 'minute'; - } - - if ($return->value >= 60 && $return->value % 60 == 0) { - $return->value = (int)$return->value / 60; - $return->type = 'minute'; - if ($type != 0 && $return->value >= 60 && $return->value % 60 == 0) { - $return->type = 'hour'; - $return->value = $return->value / 60; - if ($type != 2 && $return->value >= 24 && $return->value % 24 == 0) { - $return->type = 'day'; - $return->value = $return->value / 24; - if ($type >= 3 && $return->value >= 30 && $return->value % 30 == 0) { - $return->type = 'month'; - $return->value = $return->value / 30; - } elseif ($return->value >= 7 && $return->value % 7 == 0) { - $return->type = 'week'; - $return->value = $return->value / 7; - } - } - } - } - - return $return; - } -} - +num = $i; + + $js = ' + function updateDelay'.$this->num.'(){ + delayvar = window.document.getElementById("delayvar'.$this->num.'"); + delaytype = window.document.getElementById("delaytype'.$this->num.'").value; + delayvalue = window.document.getElementById("delayvalue'.$this->num.'"); + realValue = delayvalue.value; + if(delaytype == "minute"){ realValue = realValue*60; } + if(delaytype == "hour"){ realValue = realValue*3600; } + if(delaytype == "day"){ realValue = realValue*86400; } + if(delaytype == "week"){ realValue = realValue*604800; } + if(delaytype == "month"){ realValue = realValue*2592000; } + delayvar.value = realValue; + }'; + acym_addScript(true, $js); + } + + function display($map, $value, $type = 1) + { + if ($type == 0) { + $this->values[] = acym_selectOption('second', 'ACYM_SECONDS'); + $this->values[] = acym_selectOption('minute', 'ACYM_MINUTES'); + } elseif ($type == 1) { + $this->values[] = acym_selectOption('minute', 'ACYM_MINUTES'); + $this->values[] = acym_selectOption('hour', 'ACYM_HOURS'); + $this->values[] = acym_selectOption('day', 'ACYM_DAYS'); + $this->values[] = acym_selectOption('week', 'ACYM_WEEKS'); + } elseif ($type == 2) { + $this->values[] = acym_selectOption('minute', 'ACYM_MINUTES'); + $this->values[] = acym_selectOption('hour', 'ACYM_HOURS'); + } elseif ($type == 3) { + $this->values[] = acym_selectOption('hour', 'ACYM_HOURS'); + $this->values[] = acym_selectOption('day', 'ACYM_DAYS'); + $this->values[] = acym_selectOption('week', 'ACYM_WEEKS'); + $this->values[] = acym_selectOption('month', 'ACYM_MONTHS'); + } elseif ($type == 4) { + $this->values[] = acym_selectOption('week', 'ACYM_WEEKS'); + $this->values[] = acym_selectOption('month', 'ACYM_MONTHS'); + } + + $return = $this->get($value, $type); + $delayValue = ' '; + $delayVar = ''; + + return $delayValue.acym_select($this->values, 'delaytype'.$this->num, $return->type, 'class="intext_select" onchange="updateDelay'.$this->num.'();'.$this->onChange.'"', 'value', 'text', 'delaytype'.$this->num).$delayVar; + } + + function get($value, $type) + { + + $return = new stdClass(); + + $return->value = $value; + if ($type == 0) { + $return->type = 'second'; + } else { + $return->type = 'minute'; + } + + if ($return->value >= 60 && $return->value % 60 == 0) { + $return->value = (int)$return->value / 60; + $return->type = 'minute'; + if ($type != 0 && $return->value >= 60 && $return->value % 60 == 0) { + $return->type = 'hour'; + $return->value = $return->value / 60; + if ($type != 2 && $return->value >= 24 && $return->value % 24 == 0) { + $return->type = 'day'; + $return->value = $return->value / 24; + if ($type >= 3 && $return->value >= 30 && $return->value % 30 == 0) { + $return->type = 'month'; + $return->value = $return->value / 30; + } elseif ($return->value >= 7 && $return->value % 7 == 0) { + $return->type = 'week'; + $return->value = $return->value / 7; + } + } + } + } + + return $return; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/types/failaction.php b/deployed/acym/administrator/components/com_acym/types/failaction.php index 511acc7d..eba914a9 100644 --- a/deployed/acym/administrator/components/com_acym/types/failaction.php +++ b/deployed/acym/administrator/components/com_acym/types/failaction.php @@ -1,13 +1,13 @@ -values, $name, $valueSelected, $this->extra.' class="'.$this->class.' '.$class.'"'); } } - + diff --git a/deployed/acym/administrator/components/com_acym/types/operatorin.php b/deployed/acym/administrator/components/com_acym/types/operatorin.php index 2b73ef86..4eb3875b 100644 --- a/deployed/acym/administrator/components/com_acym/types/operatorin.php +++ b/deployed/acym/administrator/components/com_acym/types/operatorin.php @@ -1,13 +1,13 @@ -values, $name, $valueSelected, $this->extra.' class="'.$this->class.'"'); } } - + diff --git a/deployed/acym/administrator/components/com_acym/types/uploadFile.php b/deployed/acym/administrator/components/com_acym/types/uploadFile.php index fac839f0..d3d32fce 100644 --- a/deployed/acym/administrator/components/com_acym/types/uploadFile.php +++ b/deployed/acym/administrator/components/com_acym/types/uploadFile.php @@ -1,13 +1,13 @@ -
                @@ -76,4 +76,4 @@ defined('_JEXEC') or die('Restricted access');
                - + diff --git a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/condition.php b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/condition.php index cb42551b..d024fa93 100644 --- a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/condition.php +++ b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/condition.php @@ -1,13 +1,13 @@ -
                @@ -111,4 +111,4 @@ defined('_JEXEC') or die('Restricted access');
                - + diff --git a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/filter.php b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/filter.php index e82ccb86..1371db8e 100644 --- a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/filter.php +++ b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/filter.php @@ -1,13 +1,13 @@ -
                @@ -104,4 +104,4 @@ defined('_JEXEC') or die('Restricted access');
                - + diff --git a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/info.php b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/info.php index 94d1b4f9..84a4dc53 100644 --- a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/info.php +++ b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/info.php @@ -1,13 +1,13 @@ -
                @@ -131,4 +131,4 @@ defined('_JEXEC') or die('Restricted access');
                - + diff --git a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/listing.php b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/listing.php index 9ff0529e..2d9dabd5 100644 --- a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/listing.php +++ b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/listing.php @@ -1,13 +1,13 @@ -
                @@ -139,4 +139,4 @@ defined('_JEXEC') or die('Restricted access');
                - + diff --git a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/summary.php b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/summary.php index d273a97d..7faf3012 100644 --- a/deployed/acym/administrator/components/com_acym/views/automation/tmpl/summary.php +++ b/deployed/acym/administrator/components/com_acym/views/automation/tmpl/summary.php @@ -1,13 +1,13 @@ -
                @@ -125,4 +125,4 @@ defined('_JEXEC') or die('Restricted access');
                - + diff --git a/deployed/acym/administrator/components/com_acym/views/automation/view.html.php b/deployed/acym/administrator/components/com_acym/views/automation/view.html.php index a2be8f45..36d70dba 100644 --- a/deployed/acym/administrator/components/com_acym/views/automation/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/automation/view.html.php @@ -1,13 +1,13 @@ -
                @@ -77,4 +77,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/bounces/tmpl/listing.php b/deployed/acym/administrator/components/com_acym/views/bounces/tmpl/listing.php index 64f266de..75ae906e 100644 --- a/deployed/acym/administrator/components/com_acym/views/bounces/tmpl/listing.php +++ b/deployed/acym/administrator/components/com_acym/views/bounces/tmpl/listing.php @@ -1,13 +1,13 @@ -
              @@ -124,4 +124,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/bounces/view.html.php b/deployed/acym/administrator/components/com_acym/views/bounces/view.html.php index cfa09aeb..1b3e39dc 100644 --- a/deployed/acym/administrator/components/com_acym/views/bounces/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/bounces/view.html.php @@ -1,15 +1,15 @@ -
              @@ -22,4 +22,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/edit_email.php b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/edit_email.php index 52b03787..e156d9c8 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/edit_email.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/edit_email.php @@ -1,13 +1,13 @@ -
              @@ -118,4 +118,4 @@ defined('_JEXEC') or die('Restricted access'); display(); ?>
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/listing.php b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/listing.php index d7beb6f0..b3e1e42e 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/listing.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/listing.php @@ -1,13 +1,13 @@ -
              @@ -184,4 +184,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/recipients.php b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/recipients.php index 1df61da6..0a54358c 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/recipients.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/recipients.php @@ -1,13 +1,13 @@ -
              @@ -57,4 +57,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/send_settings.php b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/send_settings.php index 0bc6de24..9b14af2b 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/send_settings.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/send_settings.php @@ -1,13 +1,13 @@ -
              @@ -105,4 +105,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/summary.php b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/summary.php index 951857f7..fd680bf6 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/summary.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/summary.php @@ -1,13 +1,13 @@ -sent) && !empty($data['campaignInformation']->active); ?> @@ -174,4 +174,4 @@ $isSent = !empty($data['campaignInformation']->sent) && !empty($data['campaignIn - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/tests.php b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/tests.php index a8e48f87..94e5b10f 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/tests.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/tests.php @@ -1,13 +1,13 @@ -
              @@ -96,4 +96,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/campaigns/view.html.php b/deployed/acym/administrator/components/com_acym/views/campaigns/view.html.php index 7a63745f..195332b7 100644 --- a/deployed/acym/administrator/components/com_acym/views/campaigns/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/campaigns/view.html.php @@ -1,13 +1,13 @@ - @@ -104,4 +104,4 @@ if (!acym_level(2)) { include(ACYM_VIEW.'dashboard'.DS.'tmpl'.DS.'upgrade.php'); echo '
              '; } ?> - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/data.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/data.php index 7232d14f..97ff8a0b 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/data.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/data.php @@ -1,13 +1,13 @@ -
              @@ -52,4 +52,4 @@ defined('_JEXEC') or die('Restricted access'); get('trackingsystemexternalwebsite'), acym_translation('ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS'), [], 'xlarge-3 medium-5 small-9', "auto", "tiny", 'external_config'); ?>
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/features.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/features.php index 2827767d..1f74ef4d 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/features.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/features.php @@ -1,11 +1,11 @@ -
              Test
              +
              Test
              diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/interface.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/interface.php index af560e8c..95227b21 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/interface.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/interface.php @@ -1,17 +1,17 @@ -
              get('small_display'), acym_translation('ACYM_COMPACT_DISPLAY'), [], 'xlarge-3 medium-5 small-9', "auto", "tiny"); ?>
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/languages.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/languages.php index ae4bddb0..a8025c42 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/languages.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/languages.php @@ -1,13 +1,13 @@ -
              @@ -39,4 +39,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/listing.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/listing.php index 4c9fa0a2..32488ca1 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/listing.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/listing.php @@ -1,13 +1,13 @@ -
              @@ -53,4 +53,4 @@ defined('_JEXEC') or die('Restricted access'); - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/mail.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/mail.php index 3aca8761..7b665084 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/mail.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/mail.php @@ -1,13 +1,13 @@ -
              @@ -304,4 +304,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/queue.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/queue.php index 2a8a86db..986e9e3e 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/queue.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/queue.php @@ -1,13 +1,13 @@ -
              @@ -92,4 +92,4 @@ if (!acym_level(1)) { include(ACYM_VIEW.'dashboard'.DS.'tmpl'.DS.'upgrade.php'); echo '
              '; } - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/security.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/security.php index de1d60e3..c859bc60 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/security.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/security.php @@ -1,13 +1,13 @@ -
              @@ -80,4 +80,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/subscription.php b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/subscription.php index 6df10156..ca4bd2c2 100644 --- a/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/subscription.php +++ b/deployed/acym/administrator/components/com_acym/views/configuration/tmpl/subscription.php @@ -1,13 +1,13 @@ -
              @@ -210,4 +210,4 @@ defined('_JEXEC') or die('Restricted access');

              @@ -22,4 +22,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/listing.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/listing.php index dec0e2bb..12fdc401 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/listing.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/listing.php @@ -1,13 +1,13 @@ -
              @@ -61,4 +61,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/migrate.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/migrate.php index cf5135da..ef7f362e 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/migrate.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/migrate.php @@ -1,13 +1,13 @@ -
              @@ -92,4 +92,4 @@ defined('_JEXEC') or die('Restricted access'); - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_email.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_email.php index 4b447173..88b86673 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_email.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_email.php @@ -1,13 +1,13 @@ -

              @@ -23,4 +23,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_fail.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_fail.php index 3737f54d..a2be3595 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_fail.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_fail.php @@ -1,13 +1,13 @@ -

              @@ -46,4 +46,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_faillocal.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_faillocal.php index aad18ec7..cc1dacfd 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_faillocal.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_faillocal.php @@ -1,13 +1,13 @@ -

              @@ -26,4 +26,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_gmail.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_gmail.php index da28a082..3c028f89 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_gmail.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_gmail.php @@ -1,13 +1,13 @@ -

              @@ -60,4 +60,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_list.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_list.php index 10b9d156..037783e4 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_list.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_list.php @@ -1,13 +1,13 @@ -

              @@ -41,4 +41,4 @@ defined('_JEXEC') or die('Restricted access');

              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_phpmail.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_phpmail.php index 9d92c3c0..e97dbd25 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_phpmail.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_phpmail.php @@ -1,13 +1,13 @@ -

              @@ -39,4 +39,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_result.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_result.php index 5c163355..3812d52f 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_result.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_result.php @@ -1,13 +1,13 @@ -

              @@ -30,4 +30,4 @@ defined('_JEXEC') or die('Restricted access');
              -
              +
              diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_subscribe.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_subscribe.php index a5d5f4ab..bc3c89d6 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_subscribe.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_subscribe.php @@ -1,13 +1,13 @@ -

              @@ -22,4 +22,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_success.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_success.php index a3ce0ab4..e4dbfa00 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_success.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_success.php @@ -1,13 +1,13 @@ -

              @@ -24,4 +24,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_support.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_support.php index c097e436..e7cffb48 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_support.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_support.php @@ -1,13 +1,13 @@ -

              @@ -25,4 +25,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/upgrade.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/upgrade.php index d5d1351e..1382a201 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/upgrade.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/upgrade.php @@ -1,13 +1,13 @@ -
              -
              +
              diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/walk_through.php b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/walk_through.php index 59488315..290bea74 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/walk_through.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/walk_through.php @@ -1,13 +1,13 @@ -
              @@ -29,4 +29,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/dashboard/view.html.php b/deployed/acym/administrator/components/com_acym/views/dashboard/view.html.php index 8b1819ec..af1387d9 100644 --- a/deployed/acym/administrator/components/com_acym/views/dashboard/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/dashboard/view.html.php @@ -1,15 +1,15 @@ - +
              diff --git a/deployed/acym/administrator/components/com_acym/views/dynamics/view.html.php b/deployed/acym/administrator/components/com_acym/views/dynamics/view.html.php index acf33b49..128e69ef 100644 --- a/deployed/acym/administrator/components/com_acym/views/dynamics/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/dynamics/view.html.php @@ -1,15 +1,15 @@ -
              @@ -208,4 +208,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/fields/tmpl/listing.php b/deployed/acym/administrator/components/com_acym/views/fields/tmpl/listing.php index d0e192ce..1ec82edc 100644 --- a/deployed/acym/administrator/components/com_acym/views/fields/tmpl/listing.php +++ b/deployed/acym/administrator/components/com_acym/views/fields/tmpl/listing.php @@ -1,141 +1,141 @@ -
              -
              -
              -

              -
              - -
              -
              - acym_translation('ACYM_DELETE'), - 'setActive' => acym_translation('ACYM_ENABLE'), - 'setInactive' => acym_translation('ACYM_DISABLE'), - ]; - echo acym_listingActions($actions); - ?> -
              - -
              -
              -
              -
              - -
              -
              - -
              -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
              - -
              - -
              -
              -
              -
              - -
              -
              - -
              -
              -
              - - -
              -
              -
              - -
              -
              type))); ?>
              -
              -
              - - required == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; - echo ''; - ?> -
              -
              - - active == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; - echo ''; - ?> -
              -
              - - backend_profile == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; - echo ''; - ?> -
              -
              - - backend_listing == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; - echo ''; - ?> -
              - -
              id); ?>
              -
              -
              - -
              -
              -
              - -
              - +
              +
              +
              +

              +
              + +
              +
              + acym_translation('ACYM_DELETE'), + 'setActive' => acym_translation('ACYM_ENABLE'), + 'setInactive' => acym_translation('ACYM_DISABLE'), + ]; + echo acym_listingActions($actions); + ?> +
              + +
              +
              +
              +
              + +
              +
              + +
              +
              +
              + +
              +
              + +
              +
              + +
              +
              + +
              +
              + +
              +
              + +
              + +
              + +
              +
              +
              +
              + +
              +
              + +
              +
              +
              + + +
              +
              +
              + +
              +
              type))); ?>
              +
              +
              + + required == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; + echo ''; + ?> +
              +
              + + active == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; + echo ''; + ?> +
              +
              + + backend_profile == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; + echo ''; + ?> +
              +
              + + backend_listing == 1 ? 'fa-check-circle-o acym__color__green" newvalue="0' : 'fa-times-circle-o acym__color__red" newvalue="1'; + echo ''; + ?> +
              + +
              id); ?>
              +
              +
              + +
              +
              +
              + +
              + diff --git a/deployed/acym/administrator/components/com_acym/views/fields/view.html.php b/deployed/acym/administrator/components/com_acym/views/fields/view.html.php index 0c8f0c7c..3f831f0c 100644 --- a/deployed/acym/administrator/components/com_acym/views/fields/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/fields/view.html.php @@ -1,15 +1,15 @@ -
              @@ -67,4 +67,4 @@ defined('_JEXEC') or die('Restricted access');
              - + diff --git a/deployed/acym/administrator/components/com_acym/views/file/view.html.php b/deployed/acym/administrator/components/com_acym/views/file/view.html.php index 698a7ad9..0c983c76 100644 --- a/deployed/acym/administrator/components/com_acym/views/file/view.html.php +++ b/deployed/acym/administrator/components/com_acym/views/file/view.html.php @@ -1,15 +1,15 @@ -
              ",t("#acym__wysid__context__share__list").append(i),t(".acym__wysid__context__share__list__remove--"+a).off("click").on("click",function(){var _=a;t(".acym__wysid__column__element__share--focus").find(".acym__wysid__column__element__share__"+_).remove(),e(),t(".acym__wysid__column__element__share--focus").click()}),t(".acym__wysid__context__button__link--"+a).off("change paste keyup").on("change paste keyup",function(){var e=a;t(this).val().length>15?t(this).val(t(this).val().substr(0,15)):t(".acym__wysid__column__element__share--focus .acym__wysid__column__element__share__"+e+" span").html(t(this).val())})}}),0==l&&t("#acym__wysid__context__share__select").append(new Option("",o[n],!1,!1)).trigger("change")}t(".acym__wysid__column__element__share__social").off("click").on("click",function(t){t.preventDefault()});var r=t(this).parent(),d=r.offset(),y=r.innerHeight(),h=r.innerWidth(),u=t("#acym__wysid__context__share"),f=u.innerHeight(),p=t("#wpadminbar").innerHeight()+5,g=t("nav.navbar").innerHeight()+5,w=t(window).width(),v=d.top-f800?d.left-t("#adminmenuback").innerWidth()+h/2-u.innerWidth()/2:d.left+h/2-u.innerWidth()/2}),t("#acym__wysid__context__share__select").select2({minimumResultsForSearch:-1,placeholder:"+",selectOnClose:!1,closeOnSelect:!0,templateResult:C,templateSelection:C}),u.unbind("click").click(function(t){t.stopPropagation()}),t(window).click(function(){u.css({display:"none"}),t(window).unbind("click")}),t("#acym__wysid__context__share__select").off("select2:select").on("select2:select",function(_){var a=_.params.data.id;s.push(a);var o='",t(".acym__wysid__column__element__share--focus").append(o);var n=i.val()<=40?i.val()>=15?i.val():15:40;t(".acym__wysid__column__element__share--focus .acym__wysid__column__element__share__social span").css("font-size",n+"px"),t(".acym__wysid__column__element__share--focus .acym__wysid__column__element__share__social img").css("width",parseInt(n)+15+"px"),e(),t(".acym__wysid__column__element__share--focus").click()}),i.off("change").on("change",function(){var e=i.val()<=40?i.val()>=15?i.val():15:40;t(".acym__wysid__column__element__share--focus .acym__wysid__column__element__share__social span").css("font-size",e+"px"),t(".acym__wysid__column__element__share--focus .acym__wysid__column__element__share__social img").css("width",parseInt(e)+15+"px")})});t(".acym__wysid__column__element__share__social").off("click").on("click",function(t){t.preventDefault()})}(),O(T(t("#acym__wysid__right__toolbar__settings__font--select").val(),"color")),E(),_=t("#acym__wysid__right__toolbar__settings__bold"),a=t("#acym__wysid__right__toolbar__settings__italic"),(i=t("#acym__wysid__right__toolbar__settings__font--select")).on("change",function(){E()}),t("#acym__wysid__right__toolbar__settings__font-family").on("change",function(){S(t("#acym__wysid__right__toolbar__settings__font--select").val(),"font-family",t(this).val())}),t("#acym__wysid__right__toolbar__settings__font-size").on("change",function(){S(t("#acym__wysid__right__toolbar__settings__font--select").val(),"font-size",t(this).val())}),_.off("click").on("click",function(){_.hasClass("acym__wysid__right__toolbar__settings__bold--selected")?_.removeClass("acym__wysid__right__toolbar__settings__bold--selected")&&S(i.val(),"font-weight","normal"):_.addClass("acym__wysid__right__toolbar__settings__bold--selected")&&S(i.val(),"font-weight","bold")}),a.off("click").on("click",function(){a.hasClass("acym__wysid__right__toolbar__settings__italic--selected")?a.removeClass("acym__wysid__right__toolbar__settings__italic--selected")&&S(i.val(),"font-style","normal"):a.addClass("acym__wysid__right__toolbar__settings__italic--selected")&&S(i.val(),"font-style","italic")}),j(),D(),function e(){t(window).off("resize").on("resize",function(){e()});var _=0;_="wordpress"==CMS_ACYM?t("#wpadminbar").innerHeight():t("nav.navbar").innerHeight()+t("#status").innerHeight();var a=t(window).width()>639?56:0;var i=t("#acym__wysid__top-toolbar").innerHeight();t("#acym__wysid").css("min-height",t(window).height()-(a+_));t("#acym__wysid__template").css({"max-height":t(window).height()-(a+_+i+64),"min-height":t(window).height()-(a+_+i+64)});t(".acym__wysid__right-toolbar__content").css("max-height",t(window).height()-(a+_+48))}(),J(),t(".acym_dynamic").off("click").on("click",function(){var e=window.getSelection(),_=document.createRange();_.selectNode(this),e.removeAllRanges(),e.addRange(_),t("#acym__wysid__modal__dynamic-text__ui__iframe").contents().find('input[name="dtextcode"]').val(""),t("#acym__wysid__modal__dynamic-text").show()}),t(".acym_remove_dynamic").off("click").on("click",function(){t(this).closest("span").remove(),v(),X()}),t("#acym__wysid__template").find("p").css("word-break","break-word"),(o=navigator.userAgent).toLowerCase().indexOf("chrome")>-1||o.toLowerCase().indexOf("firefox")>-1?(t("p").find("code").css("white-space","pre-wrap"),t("pre").css("white-space","pre-wrap"),t("code").css("white-space","pre-wrap")):o.indexOf("MSIE ")>-1||o.indexOf("Trident/")>-1?(t("pre").css("word-wrap","break-word"),t("code").css("word-wrap","break-word")):o.toLowerCase().indexOf("opera")>-1&&(t("pre").css("white-space","-o-pre-wrap"),t("code").css("white-space","-o-pre-wrap")),t(".acym__wysid__tinymce--text").on("click",function(){setTimeout(function(){t.introContent=[{element:".mce-widget .mce-i-codesample",text:ACYM_JS_TXT.ACYM_INTRO_ADD_DTEXT,position:"right"}],t.setIntrojs("mail_editor_dtext")},200)}),t(".acym__wysid__column__element__separator").off("click").on("click",function(e){e.stopPropagation(),t(".acym__context__color__picker").remove();var _=t(this).find("hr:first");t("#sliderOutput2").val(_.css("border-bottom-width").replace(/[^-\d\.]/g,"")),B(t("#acym__wysid__context__separator__color"),"border-bottom-color",_,_,"border-bottom-color");var a=t(".acym__wysid__context__separator__kind");a.removeClass("separator-selected"),a.each(function(){t(this).find("hr").attr("data-kind")==_.css("border-bottom-style")&&t(this).addClass("separator-selected")}),a.off("click").on("click",function(){a.removeClass("separator-selected"),t(this).addClass("separator-selected"),_.css("border-bottom-style",t(this).find("hr").attr("data-kind"))});var i=t("#acym__wysid__context__separator__slide"),o=t("#acym__wysid__context__separator__slide__width");i.off("moved.zf.slider").on("moved.zf.slider",function(){"none"!==i.css("display")&&_.css("border-bottom-width",t("#sliderOutput2").val()+"px")}),o.off("moved.zf.slider").on("moved.zf.slider",function(){"none"!==i.css("display")&&_.css("width",t("#sliderOutput3").val()-5+"%")});var s=t("#acym__wysid__context__separator");W(s),s.off("mousedown").on("mousedown",function(e){t(".sp-container").addClass("sp-hidden").attr("style",""),e.stopPropagation()}),t(window).on("mousedown",function(){t(".sp-container").is(":visible")||(t(this).off("mousedown"),G(s),t(window).off("click"),v(),X())})}),N()}function b(e,_){var a,i=t(e).html();_=void 0!==_&&_,(a=wp.media.frames.file_frame=wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){var i=a.state().get("selection").first().toJSON(),o=!0;if(i.url.indexOf("..")>=0&&(o=confirm(ACYM_JS_TXT.ACYM_INSERT_IMG_BAD_NAME)),o)if(_){var s=t(e).css("padding-top");t(e).hasClass("acym__wysid__template__content")?(t(e).attr("style","background-image: url('"+i.url+"'); background-size: cover; background-position: center top; background-repeat: no-repeat; padding: "+s+" 0 40px 0"),"none"!==t(e).css("background-image")&&t("#acym__wysid__background-image__template-delete").css("display","flex")):(t(e).css("background-color","").attr("bgcolor",""),t(e).attr("style","background-image: url('"+i.url+"'); background-size: cover; background-position: center; background-repeat: no-repeat; padding: "+s+" 0").attr("width",t(e).width())),t.acym_add_notification(ACYM_JS_TXT.ACYM_BECARFUL_BACKGROUND_IMG,"warning",0)}else{var n='';n+='',n+='
              ',n+=''+i.title+'',n+="
              ",n+="",n+="",t(e).replaceWith(n),t(".acym__wysid__media__inserted--focus").on("load",function(){t(this).removeClass("acym__wysid__media__inserted--focus"),v(),X()})}else _||(t(e).replaceWith(""),v(),X())}),a.on("escape",function(){_||(-1!==i.indexOf("insert_photo")&&t(e).replaceWith(""),v(),X())}),a.open()}function k(e,a){a=void 0!==a&&a,_=t(e);var i=t("#acym__wysid__modal__joomla-image__ui__iframe");i.css("height","100%").css("width","100%"),i.contents().find(".chzn-container-single").attr("style","").css("width","150px"),M(i,a),i.on("load",function(){M(i,a)}),t("#acym__wysid__modal__joomla-image").css("display","inherit")}function x(e){return e.id?t(''+e.text+""):e.text}function C(e){return e.id?t(''+e.text+""):e.text}function A(){t(".acym__wysid__row__selector").off("click").on("click",function(e){e.stopPropagation(),e.preventDefault();var _="#ffffff";t(".acym__wysid__row__selector--focus").removeClass("acym__wysid__row__selector--focus"),t(".acym__wysid__row__element--focus").removeClass("acym__wysid__row__element--focus");var a,i,o,s=t(this).closest(".acym__wysid__row__element"),n=t(this);n.addClass("acym__wysid__row__selector--focus"),n.closest(".acym__wysid__row__element").addClass("acym__wysid__row__element--focus"),B(t("#acym__wysid__context__block__background-color"),"background-color",s,s,"background-color"),B(t("#acym__wysid__context__block__border__color"),"border-color",s,s,"border-color"),a=s,t("#acym__wysid__context__block__background-color").spectrum({color:a.css("background-color"),preferredFormat:"hex",showButtons:!1,showInput:!0,showInitial:!0,showPalette:!0,palette:[["#fff"],["#000"]],maxSelectionSize:1,move:function(t){a.css("background-color",t.toHexString()).attr("bgcolor",t.toHexString()),a.css("background-image","")},change:function(t){a.css("background-color",t.toHexString()).attr("bgcolor",t.toHexString()),a.css("background-image","")}}),i=s,o=t("#acym__wysid__context__block__background-image__remove"),"none"!==i.css("background-image")?o.show():o.hide(),t("#acym__wysid__context__block__background-image").off("click").on("click",function(){"wordpress"===CMS_ACYM?b(i,!0):k(i,!0)}),o.off("click").on("click",function(){i.css({"background-image":"none"}),t(this).hide()}),"transparent"===s.css("background-color")&&t(".acym__wysid__context__block__transparent__bg").click(),t('[name="transparent_background"]').next().off("change").on("change",function(){t(this).is(":checked")?(_=s.css("background-color"),s.css("background-color","transparent").attr("bgcolor","transparent")):s.css("background-color",_).attr("bgcolor",_)});let c=t("#acym__wysid__context__block__custom_id");c.val(s.attr("id")),c.off("keyup").on("keyup",function(e){32===e.which&&e.preventDefault(),s.attr("id",t(this).val())}),t("[data-block-padding]").each(function(){t(this).val(s.css("padding-"+t(this).attr("data-block-padding")).replace(/[^-\d\.]/g,"")),t(this).off("change").on("change",function(e){t(this).val()>20&&(t(this).val(20),e.stopPropagation()),s.css("padding-"+t(this).attr("data-block-padding"),t(this).val()+"px"),"top"!==t(this).attr("data-block-padding")&&"bottom"!==t(this).attr("data-block-padding")||n.css("height",s.height()+parseInt(s.css("padding-top").replace(/[^-\d\.]/g,""))+parseInt(s.css("padding-bottom").replace(/[^-\d\.]/g,""))+"px")})}),t(".acym__wysid__context__block__border__actions").each(function(){t(this).val(s.css(t(this).attr("data-css")).replace(/[^-\d\.]/g,"")),t(this).off("change").on("change",function(e){if(t(this).val()>parseInt(t(this).attr("max"))&&(t(this).val(parseInt(t(this).attr("max"))),e.stopPropagation()),s.css(t(this).attr("data-css"),t(this).val()+"px"),"border-width"===t(this).attr("data-css")){s.css("border-style",0===t(this).val()?"none":"solid");var _=t(".acym__wysid__template__content").offset(),a=n.closest(".acym__wysid__row__element").offset(),i=s.height()+parseInt(s.css("padding-top").replace(/[^-\d\.]/g,""))+parseInt(s.css("padding-bottom").replace(/[^-\d\.]/g,""))+2*parseInt(s.css("border-width").replace(/[^-\d\.]/g,""));n.css({left:"-"+(a.left-_.left+parseInt(n.closest(".acym__wysid__row__element").css("border-width").replace(/[^-\d\.]/g,"")))+"px",height:i,top:0-parseInt(s.css("border-width").replace(/[^-\d\.]/g,""))+"px"})}})});var l=t("#acym__wysid__context__block");W(l),l.off("mousedown").on("mousedown",function(e){t(".sp-container").addClass("sp-hidden").attr("style",""),e.stopPropagation()}),t(window).off("mousedown").on("mousedown",function(e){t(e.target).hasClass("acym__wysid__row__selector")||t(".sp-container").is(":visible")||(t(".acym__wysid__row__selector--focus").removeClass("acym__wysid__row__selector--focus"),t(".acym__wysid__row__element--focus").removeClass("acym__wysid__row__element--focus"),_="#ffffff",t(this).off("mousedown"),G(l),v(),X())})})}function M(e,a){e.contents().find(".button-cancel").attr("onclick","").off("click").on("click",function(){t("#acym__wysid__modal__joomla-image").hide(),a||(_.length&&-1!==_.html().indexOf("insert_photo")&&_.replaceWith(""),v(),X(),D())}),e.contents().find(".pull-right .btn-success, .pull-right .btn-primary").attr("onclick","").off("click").on("click",function(){var i=e.contents().find("#f_url").val(),o=e.contents().find("#imageframe").contents().find(".img-preview"),s=!1,n=!0;if(o.each(function(){if(t(this).hasClass("selected")&&(t(this).find(".imgThumbInside img").attr("src").indexOf("..")>=0&&(n=confirm(ACYM_JS_TXT.ACYM_INSERT_IMG_BAD_NAME)),n)){if(a){var e=_.css("padding-top");_.hasClass("acym__wysid__template__content")?(_.attr("style","background-image: url('"+t(this).find(".imgThumbInside img").attr("src")+"'); background-size: cover; background-position: center; background-repeat: no-repeat; padding: "+e+" 0 40px 0"),"none"!==_.css("background-image")&&t("#acym__wysid__background-image__template-delete").css("display","flex")):(_.css("background-color","").attr("bgcolor",""),_.attr("style","background-image: url('"+t(this).find(".imgThumbInside img").attr("src")+"'); background-size: cover; background-position: center; background-repeat: no-repeat; padding: "+e+" 0").attr("width",_.width())),t.acym_add_notification(ACYM_JS_TXT.ACYM_BECARFUL_BACKGROUND_IMG,"warning",0)}else{var i='';i+='',i+='
              ',i+=''+t(this).attr(',i+="
              ",i+="",i+="",_.replaceWith(i)}t("#acym__wysid__modal__joomla-image").css("display","none"),v(),X(),s=!0}}),!s&&""!==i){var c='';return c+='',c+='
              ',c+=''+t(this).attr(',c+="
              ",c+="",c+="",_.replaceWith(c),t("#acym__wysid__modal__joomla-image").css("display","none"),v(),X(),void(s=!0)}0!=s||1!=n||alert("Please select a picture"),s=!1})}function T(t,e){return void 0!==i[t]&&i[t][e]&&void 0!==i[t][e]?i[t][e]:d[t][e]}function S(t,e,_){null!=i[t]||(i[t]={}),i[t][e]=_,j()}function Y(e){t.each(d[e],function(_){t(".acym__wysid__column__element "+e).css(_,T(e,_))})}function j(){Y("p"),Y("h1"),Y("h2"),Y("h3"),Y("h4"),Y("h5"),Y("h6"),t(".acym__wysid__template__content").css("background-color",T("#acym__wysid__background-colorpicker","background-color"))}function E(){var e=t("#acym__wysid__right__toolbar__settings__bold"),_=t("#acym__wysid__right__toolbar__settings__italic"),a=t("#acym__wysid__right__toolbar__settings__font--select").val(),i=t("#acym__wysid .acym__wysid__template__content"),o=t("#acym__wysid__background-image__template-delete");t("#acym__wysid__right__toolbar__settings__font-family").val(T(a,"font-family")).trigger("change"),t("#acym__wysid__right__toolbar__settings__font-size").val(T(a,"font-size")).trigger("change"),e.val("bold"==T(a,"font-weight")?e.addClass("acym__wysid__right__toolbar__settings__bold--selected"):e.removeClass("acym__wysid__right__toolbar__settings__bold--selected")),_.val("italic"==T(a,"font-style")?_.addClass("acym__wysid__right__toolbar__settings__italic--selected"):_.removeClass("acym__wysid__right__toolbar__settings__italic--selected")),O(T(a,"color")),Y(a),t("#acym__wysid__background-image__template").off("click").on("click",function(){"wordpress"==CMS_ACYM?b(i,!0):k(i,!0)}),"none"!==i.css("background-image")&&o.css("display","flex"),o.off("click").on("click",function(){i.css("background-image","none"),t(this).hide()});var s=t("#acym__wysid__padding__top__content");s.val(i.css("padding-top").replace(/[^-\d\.]/g,"")),s.off("change").on("change",function(){i.css("padding-top",t(this).val()+"px")})}function R(e){var _="";return t.parsecss(e,function(e){t("#acym__wysid__custom__style").remove();var a=e;for(var i in a){var o=a[i];for(var s in _+="#acym__wysid__template .body "+i+"{",o)_+=s+":"+o[s]+";";_+="} "}}),_}function O(e){var _=t("#acym__wysid__right__toolbar__settings__color"),a=t("#acym__wysid__right__toolbar__settings__font--select").val();_.spectrum({color:""!=e?e:"black",preferredFormat:"hex",showButtons:!1,showInput:!0,showPalette:!0,palette:[["#fff"],["#000"]],maxSelectionSize:1,move:function(t){S(a,"color",t.toHexString())},change:function(t){S(a,"color",t.toHexString())}})}function I(){tinymce.remove("div"),tinymce.init({selector:".acym__wysid__tinymce--text",inline:!0,menubar:!1,plugins:"textcolor colorpicker lists link code acydtext noneditable",image_class_list:[{title:"Responsive",value:"img-responsive"}],fontsize_formats:"10px 12px 14px 18px 20px 24px 28px 30px 34px 36px",toolbar:["undo redo formatselect fontsizeselect | code acydtext","alignleft aligncenter alignright | bold italic | forecolor backcolor | link unlink"],preview_styles:!1,block_formats:"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6",init_instance_callback:function(t){t.on("click",function(){U()}),t.off("change").on("change",function(t){j()}),t.on("blur",function(t){t.target.startContent!==t.target.bodyElement.innerHTML&&X(),H()})}}),tinyMCE.execCommand("mceAddEditor",!0,""),tinymce.init({selector:".acym__wysid__tinymce--image",inline:!0,menubar:!1,plugins:"textcolor colorpicker lists link code noneditable",toolbar:["alignleft aligncenter alignright | link unlink"],image_class_list:[{title:"Responsive",value:"img-responsive"}],preview_styles:!1,init_instance_callback:function(t){N(),t.on("click",function(){U()}),t.on("Change",function(){j()}),t.on("blur",function(){H()})},formats:{alignleft:{selector:"img",styles:{float:"left",marginTop:"-10px",marginBottom:"10px"}},alignright:{selector:"img",styles:{float:"right",marginTop:"-10px",marginBottom:"10px"}}},style_formats:[{title:"Align left",format:"alignleft"},{title:"Align right",format:"alignright"}],themes:"modern"}),tinyMCE.execCommand("mceAddEditor",!0,"")}function D(){t(".acym__wysid__row").each(function(){0==t(this).children().length?(t(".acym__wysid__row").append('
              '),p(t("#acym__wysid__row__temp_div")),H(),D()):t(this).css({"min-height":"0",display:"table-cell"})}),t(".acym__wysid__column tbody").each(function(){0==t(this).children().length?t(this).css({"min-height":"75px",display:"block"}).closest("table").css("min-height","75px").css("display","block"):t(this).css({"min-height":"0px",display:"table-row-group"}).closest("table").css("min-height","0").css("display","table")})}function J(){t(".acym__template__choose__ajax").off("DOMSubtreeModified").on("DOMSubtreeModified",function(){t(".acym__template__choose__list .acym__templates__oneTpl").off("click").on("click",function(e){e.preventDefault();var _=t(this).find("a").attr("href"),a=AJAX_URL_ACYM+"&page=acymailing_mails&ctrl=mails&task=getMailContent&from="+t(this).attr("id");t.post(a,function(t){return"error"==t?(alert(ACYM_JS_TXT.ACYM_ERROR),!1):(window.location.href=_,!1)})})})}function L(){var e=AJAX_URL_ACYM+"&page=acymailing_dynamics&ctrl=dynamics&task=trigger&trigger=displayListing";if(t("#plugin_listing_filters input, #plugin_listing_filters select").each(function(){e+="&"+t(this).attr("name")+"="+t(this).val()}),e+="&pagination_page_ajax="+t("#acym_pagination__ajax").val(),e+="&plugin="+t('input[name="plugin"]').val(),void 0!==_selectedRows){var _=[];for(var a in _selectedRows)_selectedRows.hasOwnProperty(a)&&_.push(a);e+="&selected="+_.join(",")}t.post(e,function(e){t("#plugin_listing").html(e),z()})}function z(){t(".acym__pagination__page__ajax").off("click").on("click",function(e){e.preventDefault(),t("#acym_pagination__ajax").attr("value",t(this).attr("page")),L()})}function U(){t(".acym__wysid__row__selector, .acym__wysid__element__toolbox").remove()}function N(){t(".acym__wysid__tinymce--image img").off("dblclick").on("dblclick",function(){"wordpress"===CMS_ACYM?b(t(this).closest(".acym__wysid__column__element")):k(t(this).closest(".acym__wysid__column__element"))})}function X(e=!1){t('[id^="template_version_"]').length>=10&&t('[id^="template_version_"]')[0].remove();for(var _=r+1;t("#template_version_"+_).length>0;)t("#template_version_"+_).remove(),_++;r++,t('[name^="mce_"]').remove(),t(".acym__wysid__column--drag-start").removeClass("acym__wysid__column--drag-start"),t(".acym__editor__area").append('');var a=t("#acym__wysid__template").html();if(t("#template_version_"+(r-1)).val()===a)return!1;t("#template_version_"+r).val(a);var i=t("#acym__campaign__recipients__form__campaign");if(0==i.length||i.length>0&&0!=i.val()){var o=t(t.parseHTML('
              '+a+"
              ")[0]);o.find(".acym__wysid__row__selector, .acym__wysid__element__toolbox").remove(),o=o.html();var s=t("#editor_mailid").val();if(null!=s&&""!=s&&0!=s&&0==e){var n=AJAX_URL_ACYM+"&ctrl=mails&task=autoSave";t.ajax({type:"POST",url:n,data:{autoSave:o,mailId:s},success:function(t){P(t),setTimeout(function(){P("end")},1e3)},error:function(){P("error"),setTimeout(function(){P("end")},1e3)}})}}}function P(e){null!=e&&"end"==e?(t(".acym__wysid__autosave__status__success").hide(),t(".acym__wysid__autosave__status__fail").hide()):null!=e&&"saved"==e?(t(".acym__wysid__autosave__status__success").show(),t(".acym__wysid__autosave__status__fail").hide()):(t(".acym__wysid__autosave__status__success").hide(),t(".acym__wysid__autosave__status__fail").show())}function H(){setTimeout(function(){t(".acym__wysid__row__selector, .acym__wysid__element__toolbox").remove(),t(".acym__wysid__row__element").css("z-index","100").each(function(){var e=t(this).find("> tbody");""!==e.css("background-color")&&void 0!==e.css("background-color")&&"inherit"!==e.css("background-color")&&"rgba(0, 0, 0, 0)"!==e.css("background-color")&&(t(this).css("background-color",e.css("background-color")),e.css("background-color","inherit").attr("bgcolor","")),t(this).prepend('
              ')});var e=t(".acym__wysid__template__content"),_=e.css("width").replace(/[^-\d\.]/g,""),a=e.offset();t(".acym__wysid__row__selector").each(function(){var e=t(this).closest(".acym__wysid__row__element"),i=e.offset(),o=""===e.css("border-width")?0:parseInt(e.css("border-width").replace(/[^-\d\.]/g,"")),s=""===e.css("padding-bottom")?0:parseInt(e.css("padding-bottom").replace(/[^-\d\.]/g,"")),n=e.height()+parseInt(e.css("padding-top").replace(/[^-\d\.]/g,""))+s+2*o,c="-"+(Math.round(i.left)-Math.round(a.left)+o)+"px";t(this).css({width:_+"px",height:n,left:c,top:0-o+"px"}),t(this).attr("style",t(this).attr("style")+"width: "+_+"px; height: "+n+"left: "+c+"top: "+(0-o)+"px");t(this).append('
              ')}),t(".acym__wysid__column__element").each(function(){t(this).append('
              ')}),t(".acym__wysid__row__toolbox__copy").unbind("click").click(function(){t(this).closest(".acym__wysid__row__element").clone().insertAfter(t(this).closest(".acym__wysid__row__element")),v(),X()}),t(".acym__wysid__row__toolbox__delete__row").off("click").on("click",function(){t(this).closest(".acym__wysid__row__element").remove(),v(),X()}),t(".acym__wysid__element__toolbox__copy").off("click").on("click",function(){var e=t(this).closest(".acym__wysid__column__element");e.clone().insertAfter(e),v(),X()}),t(".acym__wysid__element__toolbox__delete").off("click").on("click",function(){var e=t(this).closest(".acym__wysid__column__element");e.closest("th").removeClass("margin_padding_none").find("margin_padding_none").removeClass("margin_padding_none"),e.remove(),v(),X()}),t(".acym__wysid__row__toolbox__height").off("mousedown").on("mousedown",function(){c=!0,l=t(this).closest("table").css({"border-collapse":"initial","border-spacing":""}),t(document).on("mousemove",function(t){if(c){var e=l.offset().top,_=t.pageY-(e-10);l.find("th:first").height(_).attr("height",_),l.find(".acym__wysid__row__selector").css("height",l.css("height"))}}),t(document).off("mouseup").on("mouseup",function(){c=!1,H()})}),f(),w(),A()},150)}function W(e){t(".acym__wysid__context__modal").hide(),t("#acym__wysid__right__toolbar__block__tab").click(),e.show(),t(".acym__wysid__right__toolbar__current-block__empty").hide(),t("#acym__wysid__right__toolbar__current-block").off("mousedown").on("mousedown",function(t){t.stopPropagation()}),u()}function G(e){e.hide(),t(".acym__wysid__right__toolbar__current-block__empty").show()}function B(t,e,_,a,i){t.spectrum({color:a.css(e),preferredFormat:"hex",showButtons:!1,showInput:!0,move:function(t){_.css(i,t.toHexString())},change:function(t){_.css(i,t.toHexString())},containerClassName:"acym__context__color__picker"})}!(t("#acym__wysid").length>0)||function(){t("#acym__wysid__right__toolbar__settings__font-family").select2({theme:"foundation",width:"100%"}),t("#acym__wysid__right__toolbar__settings__font-size").select2({theme:"foundation",width:"100%",minimumResultsForSearch:1/0}),t("#acym__wysid__right__toolbar__settings__font--select").select2({theme:"foundation",width:"100%",minimumResultsForSearch:1/0}),i=""==a?{}:JSON.parse(a);var e,c,l=t("#editor_autoSave").val(),d='
              '+l+"
              ";null!=l&&""!=l&&(t.acym_confirm(ACYM_JS_TXT.ACYM_AUTOSAVE_USE)?(t(".acym__wysid__hidden__save__content").val(d),t(".acym__wysid #acym__wysid__template").replaceWith(l),t("#acym__wysid__preview__iframe__acym__wysid__email__preview").contents().find("#acym__wysid__template").replaceWith(d)):t(".acym__wysid__hidden__save__content").val('
              '+t("#acym__wysid__template").html()+"
              "),t("#editor_autoSave").val("")),t("#editor_thumbnail").val(""),t("#acym__wysid__edit").append('"),t.ui.plugin.add("draggable","connectToSortable104",{start:function(e,_,a){var i=t(this).data("ui-draggable"),o=(i.options,t.extend({},_,{item:i.element}));i.sortables=[],t(a.options.connectToSortable104).each(function(){var _=t(this).sortable("instance");_&&!_.options.disabled&&(i.sortables.push({instance:_,shouldRevert:_.options.revert}),_.refreshPositions(),_._trigger("activate",e,o))})},stop:function(e,_,a){var i=t(this).data("ui-draggable"),o=t.extend({},_,{item:i.element});t.each(i.sortables,function(){this.instance.isOver?(this.instance.isOver=0,i.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===i.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,o))})},drag:function(e,_,a){var i=t(this).data("ui-draggable"),o=this;t.each(i.sortables,function(){var a=!1,s=this;this.instance.positionAbs=i.positionAbs,this.instance.helperProportions=i.helperProportions,this.instance.offset.click=i.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,t.each(i.sortables,function(){return this.instance.positionAbs=i.positionAbs,this.instance.helperProportions=i.helperProportions,this.instance.offset.click=i.offset.click,this!==s&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(s.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(o).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return _.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=i.offset.click.top,this.instance.offset.click.left=i.offset.click.left,this.instance.offset.parent.left-=i.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=i.offset.parent.top-this.instance.offset.parent.top,i._trigger("toSortable",e),i.dropped=this.instance.element,i.currentItem=i.element,this.instance.fromOutside=i),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),i._trigger("fromSortable",e),i.dropped=!1)})}}),t(".acym__wysid__column__element--new").draggable({cursor:"move",helper:"clone",cursorAt:{top:12,left:40},connectToSortable104:".acym__wysid__column tbody",revert:function(t){if(!t)return H(),!0},revertDuration:300,start:function(e,_){t(_.helper).css({width:t(this).width()+"px",opacity:1}),t(".acym__wysid__column").addClass("acym__wysid__column--drag-start"),t(".acym__wysid__column__element").unbind("hover"),t(".acym__wysid__row__element").unbind("hover")},stop:function(){t(".acym__wysid__column").removeClass("acym__wysid__column--drag-start")}}),g(),t(".acym__wysid__row__element--new").draggable({cursor:"move",helper:"clone",cursorAt:{top:12,left:40},connectToSortable104:".acym__wysid__row",revert:function(t){if(!t)return H(),!0},revertDuration:300,start:function(e,_){t(_.helper).css({width:t(this).width()+"px",opacity:1}),t(".acym__wysid__column__element").unbind("hover"),t(".acym__wysid__row__element").unbind("hover")}}),H(),t("#acym__wysid__edit__button").off("click").on("click",function(){"none"!==t("#acym__wysid .acym__wysid__template__content").css("background-image")&&t("#acym__wysid__background-image__template-delete").hide(),o=!1,t(".acym__wysid__row__element__toolbox__colorpicker").spectrum("destroy"),t(".sp-container").remove(),t("#acym_header").css("display","none"),t(".acym__content").css("display","none"),t("#acym__wysid").css("display","inherit"),t("#acym__wysid__edit").css("display","none"),t("#acym__wysid__template").replaceWith(t(".acym__wysid__hidden__save__content").val()),a=""!=t(".acym__wysid__hidden__save__settings").val()?t(".acym__wysid__hidden__save__settings").val():"",i=""==a?{}:JSON.parse(a),""!=t(".acym__wysid__hidden__save__stylesheet").val()&&(n=t(".acym__wysid__hidden__save__stylesheet").val(),t("#acym__wysid__right__toolbar__settings__stylesheet__textarea").val(n)),H(),v(),X(!0)}),t("#acym__wysid__cancel__button").off("click").on("click",function(){o=!0,t("#acym_header").css("display",""),t(".acym__content").css("display",""),t("#acym__wysid").css("display","none"),t("#acym__wysid__edit").css("display",""),t(".acym__wysid__hidden__save__stylesheet").val(n)}),t("#acym__wysid__save__button").off("click").on("click",function(){var e=t("#acym__wysid__template");e.css({overflow:"unset","overflow-y":"unset"});var _=document.getElementById("acym__wysid__template");domtoimage.toPng(_).then(function(e){t("#editor_thumbnail").attr("value",e),y()}).catch(function(t){y(),console.error("Error generating template thumbnail: "+t)})}),t(".acym__wysid__modal--close").click(function(){t(".acym__wysid__modal").hide(),_.length&&"TR"!=_.prop("tagName")&&_.replaceWith(""),D(),t("#dcontentcode").val("")}),t("#acym__wysid__fullscreen__modal__close").off("click").on("click",function(){v(),t("#acym__wysid__fullscreen__modal").css("display","none")}),"joomla"==CMS_ACYM&&t(".acym__wysid__modal__joomla-image--close").click(function(){t("#acym__wysid__modal__joomla-image").hide(),_.length&&"TR"!=_.prop("tagName")&&!_.hasClass("acym__wysid__template__content")&&_.replaceWith(""),D()}),u(),v(),J(),(e=t("#acym__wysid__modal__dynamic-text__ui__iframe")).on("load",function(){t(this).contents().find("#wpadminbar").remove(),e.contents().find("#insertButton").off("click").on("click",function(){var _=e.contents().find("#dtextcode").val();if(_){if(o){var a=t("#acym_subject_field");a.val(a.val()+_)}else{var i=t('input[name="editor_autoSave"]').val(),s=AJAX_URL_ACYM+"&page=acymailing_dynamics&ctrl=dynamics&task=replaceDummy&mailId="+i+"&code="+encodeURIComponent(_);t.post(s,function(t){t&&0!=t.indexOf("'+t+' ',window.getSelection().getRangeAt(0).extractContents(),tinymce.activeEditor.execCommand("mceInsertContent",!1,_),v(),X()})}t("#acym__wysid__modal__dynamic-text").hide()}}),e.contents().find(".acym__dynamics__choose__type__users").off("click").on("click",function(){e.contents().find(".selected-type-dynamics").removeClass("selected-type-dynamics"),t(this).addClass("selected-type-dynamics")})}),t("#acym__wysid__right__toolbar__settings__stylesheet__apply").off("click").on("click",function(){var e=t("#acym__wysid__right__toolbar__settings__stylesheet__textarea").val();t(".acym__wysid__hidden__save__stylesheet").val(e),t("#acym__wysid__edit").append('"),t("#acym__wysid__right__toolbar__settings__stylesheet__modal").foundation("close")}),t("#acym__wysid__right__toolbar__settings__stylesheet__open").on("click",function(){s=t("#acym__wysid__right__toolbar__settings__stylesheet__textarea").val()}),t("#acym__wysid__right__toolbar__settings__stylesheet__cancel").on("click",function(){t("#acym__wysid__right__toolbar__settings__stylesheet__textarea").val(s),t("#acym__wysid__right__toolbar__settings__stylesheet__modal").foundation("close")}),t(document).keydown(function(e){if(!(void 0!==tinyMCE.focusedEditor&&null!==tinyMCE.focusedEditor||t("#acym__wysid__context__button").is(":visible")||t("#acym__wysid__context__follow").is(":visible")||t("#acym__wysid__context__separator").is(":visible")||t("#acym__wysid__context__share").is(":visible")||90!==e.which||!e.ctrlKey&&!e.metaKey||r<=0))if(!e.shiftKey&&t("#template_version_"+(r-1)).length>0){if(0===t("#template_version_"+(r-1)).val().length)return;r--,t("#acym__wysid__template").html(t("#template_version_"+r).val()),0===r&&X(),v()}else if(e.shiftKey&&t("#template_version_"+(r+1)).length>0){if(0===t("#template_version_"+(r+1)).val().length)return;r++,t("#acym__wysid__template").html(t("#template_version_"+r).val()),v()}}),c=t("#acym__wysid__session--lifetime").val(),setTimeout(function(){alert(ACYM_JS_TXT.ACYM_SESSION_IS_GOING_TO_END)},1e3*(c-60)),h=JSON.parse(t("#acym__mail__edit__editor__social__icons").val()),void 0!==h&&(t.each(Object.keys(h),function(t,e){m[e].src=h[e]}),t(".acym__wysid__social__icons__import__text").off("click").on("click",function(){var e=t(this),_=e.closest(".acym__wysid__right__toolbar__design__social__icons__one").find("input");_.click(),_.off("change").on("change",function(){var _=t(this).val().split("\\").pop();e.closest(".acym__wysid__right__toolbar__design__social__icons__one").find(".acym__wysid__social__icons__import__delete").remove(),void 0===_||""===_?(e.html(ACYM_JS_TXT.ACYM_SELECT_NEW_ICON),e.closest(".acym__wysid__right__toolbar__design__social__icons__one").find("button").attr("disabled","disabled")):(e.html(_).after(''),e.closest(".acym__wysid__right__toolbar__design__social__icons__one").find("button").removeAttr("disabled")),t(".acym__wysid__social__icons__import__delete").off("click").on("click",function(){t(this).closest(".acym__wysid__right__toolbar__design__social__icons__one").find("button").attr("disabled","disabled"),t(this).closest(".acym__wysid__right__toolbar__design__social__icons__one").find("input").val("").trigger("change"),t(this).remove()})})}),t(".acym__wysid__social__icons__import").off("click").on("click",function(){t(this).closest("div").find(".acym__wysid__social__icons__import__delete").html("").attr("class","fa fa-circle-o-notch fa-spin acym__wysid__social__icons__import__delete").css("color","#303e46");var e=t(this).closest(".acym__wysid__right__toolbar__design__social__icons__one").find("input"),_=e.prop("files")[0],a=new FormData;a.append("file",_);var i=e.attr("name").replace("icon_",""),o=AJAX_URL_ACYM+"&ctrl=mails&task=setNewIconShare&social="+i;t.ajax({url:o,dataType:"text",cache:!1,contentType:!1,processData:!1,data:a,type:"post",success:function(_){var a=t("img").filter('[src^="'+_+'"]');t.each(a,function(e,a){var i=new Date;t(this).removeAttr("src").attr("src",_+"?d="+i.getTime())}),m[i].src=_,e.val("").trigger("change"),t.acym_add_notification(ACYM_JS_TXT.ACYM_ICON_IMPORTED,"success",7e3)}})})),t("#acym_wrapper").keydown(function(t){if(13==t.keyCode&&"TEXTAREA"!=t.target.nodeName)return t.preventDefault(),!1}),t("#acym__walkthrough__email").length>0&&(t("#acym__wysid").parent().insertAfter("#acym__walkthrough__email"),t("#acym__wysid__modal__dynamic-text").insertAfter("#acym__walkthrough__email"));var h}()});var _selectedRows=[];function setDContent(t){jQuery("#dcontentcode").val(t)}jQuery(document).ready(function(t){var e,_;e=[],_=!1,t(document).on("invalid.zf.abide",function(_,a){t("#formSubmit")[0].disabled=!1;var i=function(t){var e=t.attr("type"),_=t.attr("pattern"),a=t.attr("required"),i=new Array;return null!=a&&i.push(ACYM_JS_TXT.requiredMsg+"."),"email"==e?i.push(ACYM_JS_TXT.email):"text"==e&&(null!=_&&null!=ACYM_JS_TXT[_]?i.push(ACYM_JS_TXT[_]):i.push(ACYM_JS_TXT.defaultMsg)),i.join(" ")}(a);a.after('
              '+i+"
              ");var o=t(".acym__input-error");setTimeout(function(){o.remove()},5e3),e=[]}).on("valid.zf.abide",function(_,a){if("email"==a.attr("type")&&""!=a.val())e[0]=null==e[0]?0:e[0],e[0]=t.acym_emailValid(a.val())&&""!=a.val()?0:e[0]+1;else if("acym__campaign__sendsettings__send-type-scheduled__date"==a.attr("id")){var i=moment(a.prop("value"),"DD MMM YYYY HH:mm");e[1]=null==e[1]?0:e[1],e[1]=i0&&"list"===t('input[name="export_users-to-export"]:checked').val()&&"[]"===t("#acym__users__export #acym__modal__lists-selected").val()?(e[3],t.acym_add_notification(ACYM_JS_TXT.ACYM_EXPORT_SELECT_LIST,"error",5e3)):t("#acym__users__export").length>0&&"list"===t('input[name="export_users-to-export"]:checked').val()&&"[]"!==t("#acym__users__export #acym__modal__lists-selected").val()&&(e[3]=0),e.length>0&&t.each(e,function(t,e){e>0&&(_=!0)}),_?(t("#formSubmit")[0].disabled=!1,a.preventDefault(),_=!1):(t("#formSubmit")[0].disabled=!0,_=!1)})}),jQuery(document).ready(function(t){var e;(e=t("#checkVersionButton")).on("click",function(){var e=t("#checkVersionArea");e.html('');var _=AJAX_URL_ACYM+"&ctrl=update&task=checkForNewVersion";t.get(_,function(_){_=t.acym_parseJson(_),e.html(_.content),t("#acym__check__version__last__check").html(_.lastcheck)})}),1===e.data("check")&&e.click()}),jQuery(document).ready(function(t){var e;function _(t){0==t.val()?t.addClass("fieldAssignmentError"):t.removeClass("fieldAssignmentError")}(e=t("#acym__users__import__from_file__import__input")).val(null),e.off("change").on("change",function(){var _=t("#acym_form");this.files.length>0&&("text/csv"===this.files[0].type||"application/vnd.ms-excel"===this.files[0].type)&&"csv"===this.files[0].name.substr(this.files[0].name.length-3)&&(t(".acym__users__import__from_file__file-name").html(this.files[0].name),t(".acym__users__import__from_file__file").show(),t(".acym__users__import__from_file__choose").hide(),t(".acym__users__import__from_file__button-valid").removeAttr("disabled"),t(".acym__users__import__from_file__file__close").off("click").on("click",function(){t(".acym__users__import__from_file__file-name").html(""),t(".acym__users__import__from_file__button-valid").prop("disabled",!0),t(".acym__users__import__from_file__file").hide(),t(".acym__users__import__from_file__choose").show(),e.val(null)}),t(".acym__users__import__from_file__button-valid").off("click").on("click",function(){_.find('[name="import_from"]').val("file"),_.submit()}))}),t(".acym__users__import__generic__import__button").off("click").on("click",function(){var e=t("#modal__pagination__create__list").val();""==e||t("#acym__import__new-list").attr("value",e),"no-list"!=t(this).attr("id")||t("#acym__modal__lists-selected").attr("value","")&&t("#acym__import__new-list").attr("value","");var a=!0,i="",o="",s=!1,n="",c=[],l=t("#formSubmit"),r=t("#acym__users__import__from_file__ignore__checkbox").is(":checked"),d=t(".fieldAssignment").length;isNaN(d)&&(d=1);for(var m=0;m0?t("#select2-listing_actions-container").parent().parent().parent().show():t("#select2-listing_actions-container").parent().parent().parent().hide(),t('[name="elements_checked[]"]:not(:checked)').length>0?t("#checkbox_all").prop("checked",!1):t("#checkbox_all").prop("checked",!0),t("#acym__users").length){var _=t("#acym__users__listing__number_to_export"),a=t("#acym__users__listing__number_to_add_to_list"),i=t("#acym__users__listing__button--add-to-list");0==e?(_.html(_.attr("data-default")),i.addClass("disabled"),a.html(e)):(_.html(e),i.removeClass("disabled"),a.html(e))}}),e.trigger("change"),t("#listing_actions").off("change").on("change",function(){var e=this.value;switch(e){case"delete":var _=ACYM_JS_TXT.ACYM_ARE_YOU_SURE_DELETE;break;case"setActive":var _=ACYM_JS_TXT.ACYM_ARE_YOU_SURE_ACTIVE;break;case"setInactive":var _=ACYM_JS_TXT.ACYM_ARE_YOU_SURE_INACTIVE;break;default:var _=ACYM_JS_TXT.ACYM_ARE_YOU_SURE}if("duplicate"==e||t.acym_confirm(_)){var a=t(this).closest("#acym_form");a.find('[name="task"]').val(t(this).val()),a.submit()}else t(this).val("0")}),t("#checkbox_all").off("change").on("change",function(){var e=t('[name="elements_checked[]"]');t(this).is(":checked")?e.prop("checked",!0):e.prop("checked",!1),e.trigger("change")}),t("#acym__listing__ordering").off("change").on("change",function(){var e=t(this).closest("#acym_form");e.find('[name="task"]').val("listing"),e.submit()}),t(".acym__listing__ordering__sort-order").off("click").on("click",function(){var e=t("#acym__listing__ordering__sort-order--input"),_=t(this).closest("#acym_form");"asc"==e.val()?e.val("desc"):e.val("asc"),_.find('[name="task"]').val("listing"),_.submit()})}),jQuery(document).ready(function(t){function e(){t("#acym_pagination__ajax").attr("value",1),_()}function _(){var _=AJAX_URL_ACYM+"&page=acymailing_mails&ctrl=mails&task=getTemplateAjax",i=t('[name="return"]');i=i.length>0&&-1!==i.val().indexOf("automation")||t("#acym__automation__actions__json").length>0?"true":"false",_+="&search="+t("#acym_search_template_choose__ajax").val(),_+="&tag="+t("#acym_tag_template_choose__ajax").val(),_+="&type="+t("#acym__type-template").val(),_+="&pagination_page_ajax="+t("#acym_pagination__ajax").val(),_+="&editor="+t("#acym__mail__edit__editor").val(),_+="&automation="+i,_+="&inmail="+(t("#editor_autoSave").length>0?"1":"0"),t.post(_,function(_){var i;t(".acym__template__choose__ajax").html(_),i=null,t('input[name="mailchoose_search__ajax"]').off("keydown").on("keydown",function(_){var a=t(this),o=a.val();if((o||8==_.which)&&""!=o&&o.length>=2&&(clearTimeout(i),i=setTimeout(function(){t("#acym_search_template_choose__ajax").attr("value",o),e()},1500)),13==_.which)return _.preventDefault(),clearTimeout(i),t("#acym_search_template_choose__ajax").attr("value",o),e(),!1;8==_.which&&""==a.val()&&(clearTimeout(i),t("#acym_search_template_choose__ajax").attr("value",""),e())}),t("#acym__template__choose__modal .acym__search__button").off("click").on("click",function(_){_.preventDefault(),clearTimeout(i),t("#acym_search_template_choose__ajax").attr("value",t('input[name="mailchoose_search__ajax"]').attr("value")),e()}),t("#mailchoose_tag__ajax").on("change",function(_){t("#acym_tag_template_choose__ajax").attr("value",t(this).attr("value")),e()}),t("#acym__template__choose__modal .acym__type__choosen").off("click").on("click",function(_){t("#acym__type-template").val(t(this).attr("data-type")),t(".acym__type__choosen").removeClass("is-active"),t(this).addClass("is-active").blur(),e()}),a(),"acyEditor"!==t("#acym__mail__edit__editor").val()&&(t(".reveal .acym__templates__oneTpl").on("click",function(){window.location.replace(t(this).find("a").attr("href"))}),t(".acym__templates__choose__ribbon").on("click",function(){window.location.replace(t(this).closest(".acym__templates__pic").find("a").attr("href"))})),t("#acym__automation__actions").length>0&&t(".acym__templates__oneTpl").off("click").on("click",function(){if(!t.acym_confirm(ACYM_JS_TXT.ACYM_ARE_SURE_DUPLICATE_TEMPLATE))return!1;var e=AJAX_URL_ACYM+"&page=acymailing_mails&ctrl=mails&task=duplicateMailAutomation&id="+t(this).attr("id"),_=t("#acym__template__choose__modal"),a=t('[data-modal-name="'+_.attr("data-button")+'"]').closest(".acym__automation__inserted__action");e+="&previousId="+a.find('[name$="[mail_id]"]').val(),t.get(e,function(e){var _=t.acym_parseJson(e,{error:t.acym_sprintf(ACYM_JS_TXT.ACYM_NOT_FOUND,ACYM_JS_TXT.ACYM_EMAIL)});if(void 0!==_.error)return alert(_.error),!1;a.find(".acym__automation__action__mail__name").html(_.name+''),a.find('[name$="[mail_id]"]').val(_.id),a.find(".acy_button_submit").html(ACYM_JS_TXT.ACYM_EDIT_MAIL).click()})})})}function a(){t(".acym__template__choose__ajax .acym__pagination__page__ajax").off("click").on("click",function(e){e.preventDefault(),t("#acym_pagination__ajax").attr("value",t(this).attr("page")),_()})}function i(){t(".acym__pagination__page__ajax").off("click").on("click",function(){t("#acym_pagination__ajax").val(t(this).attr("page")),s(),r()})}function o(){var e=t(".modal__pagination__show-selected"),_=t(".modal__pagination__show-all");e.hasClass("selected")?(_.hide(),e.show()):(_.show(),e.hide()),t(".modal__pagination__show-button").off("click").on("click",function(){e.hasClass("selected")?(_.show(),e.hide().removeClass("selected"),t("#modal__pagination__show-information").attr("value","true"),t("#acym_pagination__ajax").attr("value",1)):(_.hide(),e.show().addClass("selected"),t("#modal__pagination__show-information").attr("value","false"),t("#acym_pagination__ajax").attr("value",1)),s()})}function s(){var e=AJAX_URL_ACYM+"&page=acymailing_lists&ctrl=lists&action=acymailing_router&noheader=1&task=setAjaxListing&listsPerPage=10";e+="&pagination_page_ajax="+t("#acym_pagination__ajax").val(),e+="&selectedLists="+t("#acym__modal__lists-selected").val(),e+="&alreadyLists="+t("#acym__user__lists_already_add").val(),e+="&show_selected="+t("#modal__pagination__show-information").val(),e+="&search_lists="+t("#modal__pagination__search__lists").val(),e+=t("#modal__pagination__need__display__sub").length>0?"&needDisplaySub=1&nonActive=1":"&needDisplaySub=0&nonActive=0";var _=t(".modal__pagination__listing__lists__in-form");_.length&&jQuery.post(e,function(e){t("#modal__pagination__search__spinner").hide(),_.html(e),i(),t(".modal__pagination__listing__lists__list--checkbox").off("change").on("change",function(){var e=t(this).next().children("label .modal__pagination__listing__lists__list-name "),_=t("#acym__modal__lists-selected"),a=_.val(),i=[];a=""==a?[]:JSON.parse(a),t(this).is(":checked")?e.addClass("acym__color__blue"):(e.removeClass("acym__color__blue"),a.splice(a.indexOf(t(this).val()),1)),t(".modal__pagination__listing__lists__list--checkbox:checked").each(function(){i.push(t(this).val())}),t.each(i,function(e){-1!=t.inArray(i[e],a)||a.push(i[e])}),_.val(JSON.stringify(a)),t("#acym__campaigns__recipients__event_on_change_count_recipients").trigger("change"),t("#acym__popup__subscription__change").trigger("change")}),o(),n()})}function n(){var e=null,_=t('input[name="modal_search_lists"]'),a=t(".modal__pagination__show"),i=t("#modal__pagination__search__lists");_.off("keydown").on("keydown",function(t){13==t.which&&(t.preventDefault(),c(e))}),_.off("keyup").on("keyup",function(_){var o=t(this),n=o.val();(n||8==_.which)&&""!=n&&n.length>=2?(t("#modal__pagination__search__spinner").show(),a.hide(),clearTimeout(e),e=setTimeout(function(){i.attr("value",n),t("#acym_pagination__ajax").attr("value",1),s()},1e3)):clearTimeout(e),""==o.val()&&(clearTimeout(e),a.show(),i.attr("value",""),t("#acym_pagination__ajax").attr("value",1),s())}),t(".modal__pagination__search .acym__search__button").off("click").on("click",function(t){t.preventDefault(),c(e)}),t(".modal__pagination__search .acym__search-clear").off("click").on("click",function(t){t.preventDefault(),clearTimeout(e),i.attr("value",""),_.attr("value",""),a.show(),s()})}function c(e){clearTimeout(e),t(".modal__pagination__show").hide(),t("#acym_pagination__ajax").attr("value",1),t("#modal__pagination__search__lists").attr("value",t('input[name="modal_search_lists"]').attr("value")),s()}function l(){var e=t(".acym__listing__subscribe-to").children(".acym__listing__row");e=e.length;var _=t("#acym__user__edit #tab0-label"),a=t("#acym__user__edit #tab1-label"),i=t("#acym__listing__subscribe-to__count");setTimeout(function(){e<=0?""!=t('input[name="id"]').val()?_.hide()&&i.html("0")&&a.click():_.show()&&a.hide()&&i.html(""+e)&&_.click():_.show()&&i.html(""+e)&&_.click()},5)}function r(){var e=AJAX_URL_ACYM+"&page=acymailing_users&ctrl=users&action=acymailing_router&noheader=1&task=setAjaxListing&usersPerPage=10";e+="&pagination_page_ajax="+t("#acym_pagination__ajax").val(),e+="&selectedUsers="+t("#acym__modal__users-selected").val(),e+="&hiddenUsers="+t("#acym__modal__users-hidden").val(),e+="&showSelected="+t("#modal__pagination__users__show-information").val(),e+="&searchUsers="+t("#modal__pagination__users__search__input").val();var _=t(".modal__pagination__users__listing__in-form");_.length&&jQuery.post(e,function(e){t("#modal__pagination__users__search__spinner").hide(),_.html(e),i(),t(".modal__pagination__users__listing__user--checkbox").off("change").on("change",function(){var e=t(this).next().children("label .modal__pagination__users__listing__user-name "),_=t("#acym__modal__users-selected"),a=_.val(),i=[];a=""==a?[]:JSON.parse(a),t(this).is(":checked")?e.addClass("acym__color__blue"):(e.removeClass("acym__color__blue"),a.splice(a.indexOf(t(this).val()),1)),t(".modal__pagination__users__listing__user--checkbox:checked").each(function(){i.push(t(this).val())}),t.each(i,function(e){-1!=t.inArray(i[e],a)||a.push(i[e])}),_.val(JSON.stringify(a))}),d(),m()})}function d(){var e=t(".modal__pagination__users__show-selected"),_=t(".modal__pagination__users__show-all");e.hasClass("selected")?(_.hide(),e.show()):(_.show(),e.hide()),t(".modal__pagination__users__show-button").off("click").on("click",function(){e.hasClass("selected")?(_.show(),e.hide().removeClass("selected"),t("#modal__pagination__users__show-information").attr("value","true"),t("#acym_pagination__ajax").attr("value",1)):(_.hide(),e.show().addClass("selected"),t("#modal__pagination__users__show-information").attr("value","false"),t("#acym_pagination__ajax").attr("value",1)),r()})}function m(){var e=null,_=t('input[name="modal_search_users"]'),a=t(".modal__pagination__show"),i=t("#modal__pagination__users__search__input");_.off("keydown").on("keydown",function(t){13==t.which&&(t.preventDefault(),y(e))}),_.off("keyup").on("keyup",function(_){var o=t(this).val();(o||8==_.which)&&""!=o&&o.length>=2?(t("#modal__pagination__users__search__spinner").show(),a.hide(),clearTimeout(e),e=setTimeout(function(){i.attr("value",o),t("#acym_pagination__ajax").attr("value",1),r()},1e3)):clearTimeout(e),""==o&&(clearTimeout(e),a.show(),i.attr("value",""),t("#acym_pagination__ajax").attr("value",1),r())}),t(".modal__pagination__users__search .acym__search__button").off("click").on("click",function(t){t.preventDefault(),y(e)}),t(".modal__pagination__users__search .acym__search-clear").off("click").on("click",function(t){t.preventDefault(),clearTimeout(e),i.attr("value",""),_.attr("value",""),a.show(),r()})}function y(e){clearTimeout(e),t(".modal__pagination__show").hide(),t("#acym_pagination__ajax").attr("value",1),t("#modal__pagination__users__search__input").attr("value",t('input[name="modal_search_users"]').attr("value")),r()}t.Modal=function(){t("[data-iframe]").on("click",function(){var e=t("#"+t(this).attr("data-open")),_=t(this).attr("data-reload"),a=t(this).attr("data-ajax"),i=t(this).attr("data-iframe-class"),o="true"==a?AJAX_URL_ACYM+t(this).attr("data-iframe"):t(this).attr("data-iframe");e.prepend(''),void 0!==i&&e.find("iframe").addClass(i),e.find("iframe").on("load",function(){t(this).contents().find("#wpadminbar").remove()}),e.find(".close-button").on("click",function(){t(this).siblings("iframe").remove(),_&&location.reload()}),t(".reveal-overlay").on("click",function(){e.find("iframe").remove(),_&&location.reload()})}),o(),t(".modal__pagination__button-open").off("click").on("click",function(){s()}),n(),t("#modal__pagination__confirm").off("click").on("click",function(e){var _=""!=t("#acym__user__lists_already_add").val()?JSON.parse(t("#acym__user__lists_already_add").val()):{},a=""!=t("#acym__modal__lists-selected").val()?JSON.parse(t("#acym__modal__lists-selected").val()):{};if(t.isEmptyObject(a))return alert(t(this).attr("text-empty")),!1;_=_.concat(a),t("#acym__user__lists_already_add").attr("value",JSON.stringify(_));var i=AJAX_URL_ACYM+"&page=acymailing_lists&ctrl=lists&task=ajaxGetLists&ids="+a.join(",");jQuery.post(i,function(e){e=JSON.parse(e),t(".acym__users__display__subscriptions--list .acym__listing__subscribe-to").html(e.html),t("#acym__user__edit__add-subscription__modal").foundation("close"),t(".acym__user__action--remove").off("click").on("click",function(){var e=t("#acym__modal__lists-selected"),_=JSON.parse(e.val());_.splice(_.indexOf(t(this).attr("id")),1),e.attr("value",JSON.stringify(_)),t("#acym__user__lists_already_add").val(JSON.stringify(_)),t(this).parent().remove(),l()}),l(),t.acym_add_notification(e.notif,"success",1e4)})}),l(),s(),t(".modal__pagination__users__button-open").off("click").on("click",function(){t("#acym__modal__users-selected").val(""),r()}),r(),d(),m(),t("#modal__pagination__users__confirm").off("click").on("click",function(){$task=t("#acym__modal__users__form-task").val(),t('input[name="task"]').val($task),t("#acym_form").submit()}),t("#acym__modal__lists_import__clear").off("click").on("click",function(){t("#modal__pagination__create__list").val("")})},t.Modal(),t.setResetMail=function(){t(".acym__automation__action__reset__mail").off("click").on("click",function(){var e=t(this).closest(".acym__automation__inserted__action").find('[name$="[mail_id]"]'),a=t(this).parent(),i=AJAX_URL_ACYM+"&page=acymailing_mails&ctrl=mails&task=deleteMailAutomation&id="+e.val();t.get(i,function(t){e.val("").prev().html(ACYM_JS_TXT.ACYM_CREATE_MAIL),a.html(""),_()})})},t.setTemplateModal=function(_){e(),a(),t(".acym__search-clear").off("click").on("click",function(){t('input[name="mailchoose_search__ajax"]').val(""),t("#acym_search_template_choose__ajax").val(""),e()}),t(".acym__templates__filter__tags__ajax").select2({theme:"foundation",width:"100%"}),_&&t('[data-open="acym__template__choose__modal"]').on("click",function(){t("#acym__template__choose__modal").attr("data-button",t(this).attr("data-modal-name"))})}}),jQuery(document).ready(function(t){!function(){t(".acym_tab").off("click").on("click",function(e){if("true"==t(this).attr("data-empty"))return!1;if(t(this).attr("data-dynamics")){var _=AJAX_URL_ACYM+"&ctrl=dynamics&task=trigger&trigger=textPopup&plugin="+t(this).attr("data-dynamics");t.post(_,function(e){t(".tabs-panel.is-active").html(e),t("i.acym_radio_unchecked").on("click",function(){var e=t("#"+t(this).attr("data-radio"));e.click()}),t('input[type="radio"]').on("change",function(){var e=t('input[name="'+t(this).attr("name")+'"]:checked').val();t('input[name="'+t(this).attr("name")+'"]').each(function(){t(this).val()==e?(t('i[data-radio="'+t(this).attr("id")+'"].acym_radio_unchecked').hide(),t('i[data-radio="'+t(this).attr("id")+'"].acym_radio_checked').show()):(t('i[data-radio="'+t(this).attr("id")+'"].acym_radio_unchecked').show(),t('i[data-radio="'+t(this).attr("id")+'"].acym_radio_checked').hide())})}).change()})}var a=t(this).closest(".tabs").attr("id");localStorage.setItem("acy"+a,t(this).attr("data-tab-identifier"))});var e=t(".tabs").attr("id"),_=localStorage.getItem("acy"+e),a=t("#"+e).find('a[data-tab-identifier="'+_+'"]');a.length?a.click():t("#"+e+" .acym_tab:first").click()}()}); \ No newline at end of file diff --git a/deployed/acym/media/com_acym/js/front/frontarchive.min.js b/deployed/acym/media/com_acym/js/front/frontarchive.min.js index 1cfd52c8..4c7e74be 100644 --- a/deployed/acym/media/com_acym/js/front/frontarchive.min.js +++ b/deployed/acym/media/com_acym/js/front/frontarchive.min.js @@ -1,9 +1,9 @@ -/** - * @package AcyMailing for Joomla - * @version 6.2.0 - * @author acyba.com - * @copyright (C) 2009-2019 ACYBA S.A.R.L. All rights reserved. - * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html - */ - +/** + * @package AcyMailing for Joomla + * @version 6.2.0 + * @author acyba.com + * @copyright (C) 2009-2019 ACYBA S.A.R.L. All rights reserved. + * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html + */ + function acym_changePageFront(e){var t=document.getElementById("acym_form");document.getElementById("acym__front__archive__next-page").value=e,t.submit()}document.addEventListener("DOMContentLoaded",function(){let e=document.getElementsByClassName("acym__front__archive__newsletter_name");for(let t=0;t0){for(e="",t=0,a=0;a0&&(t=0),s[a].checked&&t++,e=s[a].getAttribute("name")}if(0==t)return alert(r.message),!1}var d=document.querySelectorAll('[type="checkbox"][data-required]');if(d.length>0){for(e="",t=0,a=0;a0&&(t=0),d[a].checked&&t++,e=d[a].getAttribute("name")}if(0==t)return alert(r.message),!1}var i=document.querySelectorAll("[data-required]");if(i.length>0)for(a=0;a0)for(a=0;ai?(e+.05)/(i+.05):(i+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,i=(e[0]+t)%360;return e[0]=i<0?360+i:i,this.setValues("hsl",e),this},mix:function(t,e){var i=t,n=void 0===e?.5:e,a=2*n-1,o=this.alpha()-i.alpha(),r=((a*o==-1?a:(a+o)/(1+a*o))+1)/2,s=1-r;return this.rgb(r*this.red()+s*i.red(),r*this.green()+s*i.green(),r*this.blue()+s*i.blue()).alpha(this.alpha()*n+i.alpha()*(1-n))},toJSON:function(){return this.rgb()},clone:function(){var t,e,i=new o,n=this.values,a=i.values;for(var r in n)n.hasOwnProperty(r)&&(t=n[r],"[object Array]"===(e={}.toString.call(t))?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return i}},o.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(t){for(var e=this.values,i={},n=0;n.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)+.1805*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)),100*(.2126*e+.7152*i+.0722*n),100*(.0193*e+.1192*i+.9505*n)]}function d(t){var e=u(t),i=e[0],n=e[1],a=e[2];return n/=100,a/=108.883,i=(i/=95.047)>.008856?Math.pow(i,1/3):7.787*i+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(i-n),200*(n-(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116))]}function c(t){var e,i,n,a,o,r=t[0]/360,s=t[1]/100,l=t[2]/100;if(0==s)return[o=255*l,o,o];e=2*l-(i=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(n=r+1/3*-(u-1))<0&&n++,n>1&&n--,o=6*n<1?e+6*(i-e)*n:2*n<1?i:3*n<2?e+(i-e)*(2/3-n)*6:e,a[u]=255*o;return a}function h(t){var e=t[0]/60,i=t[1]/100,n=t[2]/100,a=Math.floor(e)%6,o=e-Math.floor(e),r=255*n*(1-i),s=255*n*(1-i*o),l=255*n*(1-i*(1-o));n*=255;switch(a){case 0:return[n,l,r];case 1:return[s,n,r];case 2:return[r,n,l];case 3:return[r,s,n];case 4:return[l,r,n];case 5:return[n,r,s]}}function f(t){var e,i,n,a,o=t[0]/360,s=t[1]/100,l=t[2]/100,u=s+l;switch(u>1&&(s/=u,l/=u),n=6*o-(e=Math.floor(6*o)),0!=(1&e)&&(n=1-n),a=s+n*((i=1-l)-s),e){default:case 6:case 0:r=i,g=a,b=s;break;case 1:r=a,g=i,b=s;break;case 2:r=s,g=i,b=a;break;case 3:r=s,g=a,b=i;break;case 4:r=a,g=s,b=i;break;case 5:r=i,g=s,b=a}return[255*r,255*g,255*b]}function p(t){var e=t[0]/100,i=t[1]/100,n=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a))]}function m(t){var e,i,n,a=t[0]/100,o=t[1]/100,r=t[2]/100;return i=-.9689*a+1.8758*o+.0415*r,n=.0557*a+-.204*o+1.057*r,e=(e=3.2406*a+-1.5372*o+-.4986*r)>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,[255*(e=Math.min(Math.max(0,e),1)),255*(i=Math.min(Math.max(0,i),1)),255*(n=Math.min(Math.max(0,n),1))]}function v(t){var e=t[0],i=t[1],n=t[2];return i/=100,n/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(e-i),200*(i-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]}function x(t){var e,i,n,a,o=t[0],r=t[1],s=t[2];return o<=8?a=(i=100*o/903.3)/100*7.787+16/116:(i=100*Math.pow((o+16)/116,3),a=Math.pow(i/100,1/3)),[e=e/95.047<=.008856?e=95.047*(r/500+a-16/116)/7.787:95.047*Math.pow(r/500+a,3),i,n=n/108.883<=.008859?n=108.883*(a-s/200-16/116)/7.787:108.883*Math.pow(a-s/200,3)]}function y(t){var e,i=t[0],n=t[1],a=t[2];return(e=360*Math.atan2(a,n)/2/Math.PI)<0&&(e+=360),[i,Math.sqrt(n*n+a*a),e]}function k(t){return m(x(t))}function w(t){var e,i=t[0],n=t[1];return e=t[2]/360*2*Math.PI,[i,n*Math.cos(e),n*Math.sin(e)]}function M(t){return S[t]}e.exports={rgb2hsl:n,rgb2hsv:a,rgb2hwb:o,rgb2cmyk:s,rgb2keyword:l,rgb2xyz:u,rgb2lab:d,rgb2lch:function(t){return y(d(t))},hsl2rgb:c,hsl2hsv:function(t){var e=t[0],i=t[1]/100,n=t[2]/100;if(0===n)return[0,0,0];return[e,100*(2*(i*=(n*=2)<=1?n:2-n)/(n+i)),100*((n+i)/2)]},hsl2hwb:function(t){return o(c(t))},hsl2cmyk:function(t){return s(c(t))},hsl2keyword:function(t){return l(c(t))},hsv2rgb:h,hsv2hsl:function(t){var e,i,n=t[0],a=t[1]/100,o=t[2]/100;return e=a*o,[n,100*(e=(e/=(i=(2-a)*o)<=1?i:2-i)||0),100*(i/=2)]},hsv2hwb:function(t){return o(h(t))},hsv2cmyk:function(t){return s(h(t))},hsv2keyword:function(t){return l(h(t))},hwb2rgb:f,hwb2hsl:function(t){return n(f(t))},hwb2hsv:function(t){return a(f(t))},hwb2cmyk:function(t){return s(f(t))},hwb2keyword:function(t){return l(f(t))},cmyk2rgb:p,cmyk2hsl:function(t){return n(p(t))},cmyk2hsv:function(t){return a(p(t))},cmyk2hwb:function(t){return o(p(t))},cmyk2keyword:function(t){return l(p(t))},keyword2rgb:M,keyword2hsl:function(t){return n(M(t))},keyword2hsv:function(t){return a(M(t))},keyword2hwb:function(t){return o(M(t))},keyword2cmyk:function(t){return s(M(t))},keyword2lab:function(t){return d(M(t))},keyword2xyz:function(t){return u(M(t))},xyz2rgb:m,xyz2lab:v,xyz2lch:function(t){return y(v(t))},lab2xyz:x,lab2rgb:k,lab2lch:y,lch2lab:w,lch2xyz:function(t){return x(w(t))},lch2rgb:function(t){return k(w(t))}};var S={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},C={};for(var _ in S)C[JSON.stringify(S[_])]=_},{}],5:[function(t,e,i){var n=t(4),a=function(){return new u};for(var o in n){a[o+"Raw"]=function(t){return function(e){return"number"==typeof e&&(e=Array.prototype.slice.call(arguments)),n[t](e)}}(o);var r=/(\w+)2(\w+)/.exec(o),s=r[1],l=r[2];(a[s]=a[s]||{})[l]=a[o]=function(t){return function(e){"number"==typeof e&&(e=Array.prototype.slice.call(arguments));var i=n[t](e);if("string"==typeof i||void 0===i)return i;for(var a=0;a0&&(t[0].yLabel?i=t[0].yLabel:e.labels.length>0&&t[0].index0?Math.min(r,n-i):r,i=n;return r}(i,u):-1,pixels:u,start:s,end:l,stackCount:n,scale:i}},calculateBarValuePixels:function(t,e){var i,n,a,o,r,s,l=this.chart,u=this.getMeta(),d=this.getValueScale(),c=l.data.datasets,h=d.getRightValue(c[t].data[e]),f=d.options.stacked,g=u.stack,p=0;if(f||void 0===f&&void 0!==g)for(i=0;i=0&&a>0)&&(p+=a));return o=d.getPixelForValue(p),{size:s=((r=d.getPixelForValue(p+h))-o)/2,base:o,head:r,center:r+s/2}},calculateBarIndexPixels:function(t,e,i){var n=i.scale.options,a="flex"===n.barThickness?function(t,e,i){var n,a=e.pixels,o=a[t],r=t>0?a[t-1]:null,s=t');var i=t.data,n=i.datasets,a=i.labels;if(n.length)for(var o=0;o'),a[o]&&e.push(a[o]),e.push("");return e.push("
            "),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(i,n){var a=t.getDatasetMeta(0),r=e.datasets[0],s=a.data[n],l=s&&s.custom||{},u=o.valueAtIndexOrDefault,d=t.options.elements.arc;return{text:i,fillStyle:l.backgroundColor?l.backgroundColor:u(r.backgroundColor,n,d.backgroundColor),strokeStyle:l.borderColor?l.borderColor:u(r.borderColor,n,d.borderColor),lineWidth:l.borderWidth?l.borderWidth:u(r.borderWidth,n,d.borderWidth),hidden:isNaN(r.data[n])||a.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var i,n,a,o=e.index,r=this.chart;for(i=0,n=(r.data.datasets||[]).length;i=Math.PI?-1:g<-Math.PI?1:0))+f,m={x:Math.cos(g),y:Math.sin(g)},v={x:Math.cos(p),y:Math.sin(p)},b=g<=0&&p>=0||g<=2*Math.PI&&2*Math.PI<=p,x=g<=.5*Math.PI&&.5*Math.PI<=p||g<=2.5*Math.PI&&2.5*Math.PI<=p,y=g<=-Math.PI&&-Math.PI<=p||g<=Math.PI&&Math.PI<=p,k=g<=.5*-Math.PI&&.5*-Math.PI<=p||g<=1.5*Math.PI&&1.5*Math.PI<=p,w=h/100,M={x:y?-1:Math.min(m.x*(m.x<0?1:w),v.x*(v.x<0?1:w)),y:k?-1:Math.min(m.y*(m.y<0?1:w),v.y*(v.y<0?1:w))},S={x:b?1:Math.max(m.x*(m.x>0?1:w),v.x*(v.x>0?1:w)),y:x?1:Math.max(m.y*(m.y>0?1:w),v.y*(v.y>0?1:w))},C={width:.5*(S.x-M.x),height:.5*(S.y-M.y)};u=Math.min(s/C.width,l/C.height),d={x:-.5*(S.x+M.x),y:-.5*(S.y+M.y)}}i.borderWidth=e.getMaxBorderWidth(c.data),i.outerRadius=Math.max((u-i.borderWidth)/2,0),i.innerRadius=Math.max(h?i.outerRadius/100*h:0,0),i.radiusLength=(i.outerRadius-i.innerRadius)/i.getVisibleDatasetCount(),i.offsetX=d.x*i.outerRadius,i.offsetY=d.y*i.outerRadius,c.total=e.calculateTotal(),e.outerRadius=i.outerRadius-i.radiusLength*e.getRingIndex(e.index),e.innerRadius=Math.max(e.outerRadius-i.radiusLength,0),o.each(c.data,function(i,n){e.updateElement(i,n,t)})},updateElement:function(t,e,i){var n=this,a=n.chart,r=a.chartArea,s=a.options,l=s.animation,u=(r.left+r.right)/2,d=(r.top+r.bottom)/2,c=s.rotation,h=s.rotation,f=n.getDataset(),g=i&&l.animateRotate?0:t.hidden?0:n.calculateCircumference(f.data[e])*(s.circumference/(2*Math.PI)),p=i&&l.animateScale?0:n.innerRadius,m=i&&l.animateScale?0:n.outerRadius,v=o.valueAtIndexOrDefault;o.extend(t,{_datasetIndex:n.index,_index:e,_model:{x:u+a.offsetX,y:d+a.offsetY,startAngle:c,endAngle:h,circumference:g,outerRadius:m,innerRadius:p,label:v(f.label,e,a.data.labels[e])}});var b=t._model;this.removeHoverStyle(t),i&&l.animateRotate||(b.startAngle=0===e?s.rotation:n.getMeta().data[e-1]._model.endAngle,b.endAngle=b.startAngle+b.circumference),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},calculateTotal:function(){var t,e=this.getDataset(),i=this.getMeta(),n=0;return o.each(i.data,function(i,a){t=e.data[a],isNaN(t)||i.hidden||(n+=Math.abs(t))}),n},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){for(var e,i,n=0,a=this.index,o=t.length,r=0;r(n=e>n?e:n)?i:n;return n}})}},{25:25,40:40,45:45}],18:[function(t,e,i){"use strict";var n=t(25),a=t(40),o=t(45);n._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),e.exports=function(t){function e(t,e){return o.valueOrDefault(t.showLine,e.showLines)}t.controllers.line=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,update:function(t){var i,n,a,r=this,s=r.getMeta(),l=s.dataset,u=s.data||[],d=r.chart.options,c=d.elements.line,h=r.getScaleForId(s.yAxisID),f=r.getDataset(),g=e(f,d);for(g&&(a=l.custom||{},void 0!==f.tension&&void 0===f.lineTension&&(f.lineTension=f.tension),l._scale=h,l._datasetIndex=r.index,l._children=u,l._model={spanGaps:f.spanGaps?f.spanGaps:d.spanGaps,tension:a.tension?a.tension:o.valueOrDefault(f.lineTension,c.tension),backgroundColor:a.backgroundColor?a.backgroundColor:f.backgroundColor||c.backgroundColor,borderWidth:a.borderWidth?a.borderWidth:f.borderWidth||c.borderWidth,borderColor:a.borderColor?a.borderColor:f.borderColor||c.borderColor,borderCapStyle:a.borderCapStyle?a.borderCapStyle:f.borderCapStyle||c.borderCapStyle,borderDash:a.borderDash?a.borderDash:f.borderDash||c.borderDash,borderDashOffset:a.borderDashOffset?a.borderDashOffset:f.borderDashOffset||c.borderDashOffset,borderJoinStyle:a.borderJoinStyle?a.borderJoinStyle:f.borderJoinStyle||c.borderJoinStyle,fill:a.fill?a.fill:void 0!==f.fill?f.fill:c.fill,steppedLine:a.steppedLine?a.steppedLine:o.valueOrDefault(f.steppedLine,c.stepped),cubicInterpolationMode:a.cubicInterpolationMode?a.cubicInterpolationMode:o.valueOrDefault(f.cubicInterpolationMode,c.cubicInterpolationMode)},l.pivot()),i=0,n=u.length;i');var i=t.data,n=i.datasets,a=i.labels;if(n.length)for(var o=0;o'),a[o]&&e.push(a[o]),e.push("");return e.push("
          "),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(i,n){var a=t.getDatasetMeta(0),r=e.datasets[0],s=a.data[n].custom||{},l=o.valueAtIndexOrDefault,u=t.options.elements.arc;return{text:i,fillStyle:s.backgroundColor?s.backgroundColor:l(r.backgroundColor,n,u.backgroundColor),strokeStyle:s.borderColor?s.borderColor:l(r.borderColor,n,u.borderColor),lineWidth:s.borderWidth?s.borderWidth:l(r.borderWidth,n,u.borderWidth),hidden:isNaN(r.data[n])||a.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var i,n,a,o=e.index,r=this.chart;for(i=0,n=(r.data.datasets||[]).length;i0&&!isNaN(t)?2*Math.PI/e:0}})}},{25:25,40:40,45:45}],20:[function(t,e,i){"use strict";var n=t(25),a=t(40),o=t(45);n._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),e.exports=function(t){t.controllers.radar=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,linkScales:o.noop,update:function(t){var e=this,i=e.getMeta(),n=i.dataset,a=i.data,r=n.custom||{},s=e.getDataset(),l=e.chart.options.elements.line,u=e.chart.scale;void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),o.extend(i.dataset,{_datasetIndex:e.index,_scale:u,_children:a,_loop:!0,_model:{tension:r.tension?r.tension:o.valueOrDefault(s.lineTension,l.tension),backgroundColor:r.backgroundColor?r.backgroundColor:s.backgroundColor||l.backgroundColor,borderWidth:r.borderWidth?r.borderWidth:s.borderWidth||l.borderWidth,borderColor:r.borderColor?r.borderColor:s.borderColor||l.borderColor,fill:r.fill?r.fill:void 0!==s.fill?s.fill:l.fill,borderCapStyle:r.borderCapStyle?r.borderCapStyle:s.borderCapStyle||l.borderCapStyle,borderDash:r.borderDash?r.borderDash:s.borderDash||l.borderDash,borderDashOffset:r.borderDashOffset?r.borderDashOffset:s.borderDashOffset||l.borderDashOffset,borderJoinStyle:r.borderJoinStyle?r.borderJoinStyle:s.borderJoinStyle||l.borderJoinStyle}}),i.dataset.pivot(),o.each(a,function(i,n){e.updateElement(i,n,t)},e),e.updateBezierControlPoints()},updateElement:function(t,e,i){var n=this,a=t.custom||{},r=n.getDataset(),s=n.chart.scale,l=n.chart.options.elements.point,u=s.getPointPositionForValue(e,r.data[e]);void 0!==r.radius&&void 0===r.pointRadius&&(r.pointRadius=r.radius),void 0!==r.hitRadius&&void 0===r.pointHitRadius&&(r.pointHitRadius=r.hitRadius),o.extend(t,{_datasetIndex:n.index,_index:e,_scale:s,_model:{x:i?s.xCenter:u.x,y:i?s.yCenter:u.y,tension:a.tension?a.tension:o.valueOrDefault(r.lineTension,n.chart.options.elements.line.tension),radius:a.radius?a.radius:o.valueAtIndexOrDefault(r.pointRadius,e,l.radius),backgroundColor:a.backgroundColor?a.backgroundColor:o.valueAtIndexOrDefault(r.pointBackgroundColor,e,l.backgroundColor),borderColor:a.borderColor?a.borderColor:o.valueAtIndexOrDefault(r.pointBorderColor,e,l.borderColor),borderWidth:a.borderWidth?a.borderWidth:o.valueAtIndexOrDefault(r.pointBorderWidth,e,l.borderWidth),pointStyle:a.pointStyle?a.pointStyle:o.valueAtIndexOrDefault(r.pointStyle,e,l.pointStyle),hitRadius:a.hitRadius?a.hitRadius:o.valueAtIndexOrDefault(r.pointHitRadius,e,l.hitRadius)}}),t._model.skip=a.skip?a.skip:isNaN(t._model.x)||isNaN(t._model.y)},updateBezierControlPoints:function(){var t=this.chart.chartArea,e=this.getMeta();o.each(e.data,function(i,n){var a=i._model,r=o.splineCurve(o.previousItem(e.data,n,!0)._model,a,o.nextItem(e.data,n,!0)._model,a.tension);a.controlPointPreviousX=Math.max(Math.min(r.previous.x,t.right),t.left),a.controlPointPreviousY=Math.max(Math.min(r.previous.y,t.bottom),t.top),a.controlPointNextX=Math.max(Math.min(r.next.x,t.right),t.left),a.controlPointNextY=Math.max(Math.min(r.next.y,t.bottom),t.top),i.pivot()})},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],i=t.custom||{},n=t._index,a=t._model;a.radius=i.hoverRadius?i.hoverRadius:o.valueAtIndexOrDefault(e.pointHoverRadius,n,this.chart.options.elements.point.hoverRadius),a.backgroundColor=i.hoverBackgroundColor?i.hoverBackgroundColor:o.valueAtIndexOrDefault(e.pointHoverBackgroundColor,n,o.getHoverColor(a.backgroundColor)),a.borderColor=i.hoverBorderColor?i.hoverBorderColor:o.valueAtIndexOrDefault(e.pointHoverBorderColor,n,o.getHoverColor(a.borderColor)),a.borderWidth=i.hoverBorderWidth?i.hoverBorderWidth:o.valueAtIndexOrDefault(e.pointHoverBorderWidth,n,a.borderWidth)},removeHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],i=t.custom||{},n=t._index,a=t._model,r=this.chart.options.elements.point;a.radius=i.radius?i.radius:o.valueAtIndexOrDefault(e.pointRadius,n,r.radius),a.backgroundColor=i.backgroundColor?i.backgroundColor:o.valueAtIndexOrDefault(e.pointBackgroundColor,n,r.backgroundColor),a.borderColor=i.borderColor?i.borderColor:o.valueAtIndexOrDefault(e.pointBorderColor,n,r.borderColor),a.borderWidth=i.borderWidth?i.borderWidth:o.valueAtIndexOrDefault(e.pointBorderWidth,n,r.borderWidth)}})}},{25:25,40:40,45:45}],21:[function(t,e,i){"use strict";t(25)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}}),e.exports=function(t){t.controllers.scatter=t.controllers.line}},{25:25}],22:[function(t,e,i){"use strict";var n=t(25),a=t(26),o=t(45);n._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:o.noop,onComplete:o.noop}}),e.exports=function(t){t.Animation=a.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),t.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(t,e,i,n){var a,o,r=this.animations;for(e.chart=t,n||(t.animating=!0),a=0,o=r.length;a1&&(i=Math.floor(t.dropFrames),t.dropFrames=t.dropFrames%1),t.advance(1+i);var n=Date.now();t.dropFrames+=(n-e)/t.frameDuration,t.animations.length>0&&t.requestAnimationFrame()},advance:function(t){for(var e,i,n=this.animations,a=0;a=e.numSteps?(o.callback(e.onAnimationComplete,[e],i),i.animating=!1,n.splice(a,1)):++a}},Object.defineProperty(t.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(t.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}})}},{25:25,26:26,45:45}],23:[function(t,e,i){"use strict";var n=t(25),a=t(45),o=t(28),r=t(30),s=t(48),l=t(31);e.exports=function(t){function e(t){return"top"===t||"bottom"===t}t.types={},t.instances={},t.controllers={},a.extend(t.prototype,{construct:function(e,i){var o=this;i=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=a.configMerge(n.global,n[t.type],t.options||{}),t}(i);var r=s.acquireContext(e,i),l=r&&r.canvas,u=l&&l.height,d=l&&l.width;o.id=a.uid(),o.ctx=r,o.canvas=l,o.config=i,o.width=d,o.height=u,o.aspectRatio=u?d/u:null,o.options=i.options,o._bufferedRender=!1,o.chart=o,o.controller=o,t.instances[o.id]=o,Object.defineProperty(o,"data",{get:function(){return o.config.data},set:function(t){o.config.data=t}}),r&&l?(o.initialize(),o.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return l.notify(t,"beforeInit"),a.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.initToolTip(),l.notify(t,"afterInit"),t},clear:function(){return a.canvas.clear(this),this},stop:function(){return t.animationService.cancelAnimation(this),this},resize:function(t){var e=this,i=e.options,n=e.canvas,o=i.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(a.getMaximumWidth(n))),s=Math.max(0,Math.floor(o?r/o:a.getMaximumHeight(n)));if((e.width!==r||e.height!==s)&&(n.width=e.width=r,n.height=e.height=s,n.style.width=r+"px",n.style.height=s+"px",a.retinaScale(e,i.devicePixelRatio),!t)){var u={width:r,height:s};l.notify(e,"resize",[u]),e.options.onResize&&e.options.onResize(e,u),e.stop(),e.update(e.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},i=t.scale;a.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),a.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),i&&(i.id=i.id||"scale")},buildOrUpdateScales:function(){var i=this,n=i.options,o=i.scales||{},r=[],s=Object.keys(o).reduce(function(t,e){return t[e]=!1,t},{});n.scales&&(r=r.concat((n.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(n.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),n.scale&&r.push({options:n.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),a.each(r,function(n){var r=n.options,l=r.id,u=a.valueOrDefault(r.type,n.dtype);e(r.position)!==e(n.dposition)&&(r.position=n.dposition),s[l]=!0;var d=null;if(l in o&&o[l].type===u)(d=o[l]).options=r,d.ctx=i.ctx,d.chart=i;else{var c=t.scaleService.getScaleConstructor(u);if(!c)return;d=new c({id:l,type:u,options:r,ctx:i.ctx,chart:i}),o[d.id]=d}d.mergeTicksOptions(),n.isDefault&&(i.scale=d)}),a.each(s,function(t,e){t||delete o[e]}),i.scales=o,t.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,i=[],n=[];return a.each(e.data.datasets,function(a,o){var r=e.getDatasetMeta(o),s=a.type||e.config.type;if(r.type&&r.type!==s&&(e.destroyDatasetMeta(o),r=e.getDatasetMeta(o)),r.type=s,i.push(r.type),r.controller)r.controller.updateIndex(o),r.controller.linkScales();else{var l=t.controllers[r.type];if(void 0===l)throw new Error('"'+r.type+'" is not a chart type.');r.controller=new l(e,o),n.push(r.controller)}},e),n},resetElements:function(){var t=this;a.each(t.data.datasets,function(e,i){t.getDatasetMeta(i).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(e){var i,n,o=this;if(e&&"object"==typeof e||(e={duration:e,lazy:arguments[1]}),n=(i=o).options,a.each(i.scales,function(t){r.removeBox(i,t)}),n=a.configMerge(t.defaults.global,t.defaults[i.config.type],n),i.options=i.config.options=n,i.ensureScalesHaveIDs(),i.buildOrUpdateScales(),i.tooltip._options=n.tooltips,i.tooltip.initialize(),l._invalidate(o),!1!==l.notify(o,"beforeUpdate")){o.tooltip._data=o.data;var s=o.buildOrUpdateControllers();a.each(o.data.datasets,function(t,e){o.getDatasetMeta(e).controller.buildOrUpdateElements()},o),o.updateLayout(),o.options.animation&&o.options.animation.duration&&a.each(s,function(t){t.reset()}),o.updateDatasets(),o.tooltip.initialize(),o.lastActive=[],l.notify(o,"afterUpdate"),o._bufferedRender?o._bufferedRequest={duration:e.duration,easing:e.easing,lazy:e.lazy}:o.render(e)}},updateLayout:function(){!1!==l.notify(this,"beforeLayout")&&(r.update(this,this.width,this.height),l.notify(this,"afterScaleUpdate"),l.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==l.notify(this,"beforeDatasetsUpdate")){for(var t=0,e=this.data.datasets.length;t=0;--i)e.isDatasetVisible(i)&&e.drawDataset(i,t);l.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var i=this.getDatasetMeta(t),n={meta:i,index:t,easingValue:e};!1!==l.notify(this,"beforeDatasetDraw",[n])&&(i.controller.draw(e),l.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,i={tooltip:e,easingValue:t};!1!==l.notify(this,"beforeTooltipDraw",[i])&&(e.draw(),l.notify(this,"afterTooltipDraw",[i]))},getElementAtEvent:function(t){return o.modes.single(this,t)},getElementsAtEvent:function(t){return o.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return o.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,i){var n=o.modes[e];return"function"==typeof n?n(this,t,i):[]},getDatasetAtEvent:function(t){return o.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var i=e._meta[this.id];return i||(i=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var t=0,e=0,i=this.data.datasets.length;e0||(e.forEach(function(e){delete t[e]}),delete t._chartjs)}}t.DatasetController=function(t,e){this.initialize(t,e)},n.extend(t.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){this.chart=t,this.index=e,this.linkScales(),this.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),i=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=i.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=i.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},reset:function(){this.update(!0)},destroy:function(){this._data&&i(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,i=this.getMeta(),n=this.getDataset().data||[],a=i.data;for(t=0,e=n.length;ti&&this.insertElements(i,n-i)},insertElements:function(t,e){for(var i=0;i=i[e].length&&i[e].push({}),!i[e][r].type||l.type&&l.type!==i[e][r].type?o.merge(i[e][r],[t.scaleService.getScaleDefaults(s),l]):o.merge(i[e][r],l)}else o._merger(e,i,n,a)}})},o.where=function(t,e){if(o.isArray(t)&&Array.prototype.filter)return t.filter(e);var i=[];return o.each(t,function(t){e(t)&&i.push(t)}),i},o.findIndex=Array.prototype.findIndex?function(t,e,i){return t.findIndex(e,i)}:function(t,e,i){i=void 0===i?t:i;for(var n=0,a=t.length;n=0;n--){var a=t[n];if(e(a))return a}},o.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.almostEquals=function(t,e,i){return Math.abs(t-e)t},o.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},o.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},o.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0===(t=+t)||isNaN(t)?t:t>0?1:-1},o.log10=Math.log10?function(t){return Math.log10(t)}:function(t){var e=Math.log(t)*Math.LOG10E,i=Math.round(e);return t===Math.pow(10,i)?i:e},o.toRadians=function(t){return t*(Math.PI/180)},o.toDegrees=function(t){return t*(180/Math.PI)},o.getAngleFromPoint=function(t,e){var i=e.x-t.x,n=e.y-t.y,a=Math.sqrt(i*i+n*n),o=Math.atan2(n,i);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:a}},o.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},o.aliasPixel=function(t){return t%2==0?0:.5},o.splineCurve=function(t,e,i,n){var a=t.skip?e:t,o=e,r=i.skip?e:i,s=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),l=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),u=s/(s+l),d=l/(s+l),c=n*(u=isNaN(u)?0:u),h=n*(d=isNaN(d)?0:d);return{previous:{x:o.x-c*(r.x-a.x),y:o.y-c*(r.y-a.y)},next:{x:o.x+h*(r.x-a.x),y:o.y+h*(r.y-a.y)}}},o.EPSILON=Number.EPSILON||1e-14,o.splineCurveMonotone=function(t){var e,i,n,a,r,s,l,u,d,c=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),h=c.length;for(e=0;e0?c[e-1]:null,(a=e0?c[e-1]:null,a=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},o.previousItem=function(t,e,i){return i?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},o.niceNum=function(t,e){var i=Math.floor(o.log10(t)),n=t/Math.pow(10,i);return(e?n<1.5?1:n<3?2:n<7?5:10:n<=1?1:n<=2?2:n<=5?5:10)*Math.pow(10,i)},o.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},o.getRelativePosition=function(t,e){var i,n,a=t.originalEvent||t,r=t.currentTarget||t.srcElement,s=r.getBoundingClientRect(),l=a.touches;l&&l.length>0?(i=l[0].clientX,n=l[0].clientY):(i=a.clientX,n=a.clientY);var u=parseFloat(o.getStyle(r,"padding-left")),d=parseFloat(o.getStyle(r,"padding-top")),c=parseFloat(o.getStyle(r,"padding-right")),h=parseFloat(o.getStyle(r,"padding-bottom")),f=s.right-s.left-u-c,g=s.bottom-s.top-d-h;return{x:i=Math.round((i-s.left-u)/f*r.width/e.currentDevicePixelRatio),y:n=Math.round((n-s.top-d)/g*r.height/e.currentDevicePixelRatio)}},o.getConstraintWidth=function(t){return r(t,"max-width","clientWidth")},o.getConstraintHeight=function(t){return r(t,"max-height","clientHeight")},o.getMaximumWidth=function(t){var e=t.parentNode;if(!e)return t.clientWidth;var i=parseInt(o.getStyle(e,"padding-left"),10),n=parseInt(o.getStyle(e,"padding-right"),10),a=e.clientWidth-i-n,r=o.getConstraintWidth(t);return isNaN(r)?a:Math.min(a,r)},o.getMaximumHeight=function(t){var e=t.parentNode;if(!e)return t.clientHeight;var i=parseInt(o.getStyle(e,"padding-top"),10),n=parseInt(o.getStyle(e,"padding-bottom"),10),a=e.clientHeight-i-n,r=o.getConstraintHeight(t);return isNaN(r)?a:Math.min(a,r)},o.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},o.retinaScale=function(t,e){var i=t.currentDevicePixelRatio=e||window.devicePixelRatio||1;if(1!==i){var n=t.canvas,a=t.height,o=t.width;n.height=a*i,n.width=o*i,t.ctx.scale(i,i),n.style.height||n.style.width||(n.style.height=a+"px",n.style.width=o+"px")}},o.fontString=function(t,e,i){return e+" "+t+"px "+i},o.longestText=function(t,e,i,n){var a=(n=n||{}).data=n.data||{},r=n.garbageCollect=n.garbageCollect||[];n.font!==e&&(a=n.data={},r=n.garbageCollect=[],n.font=e),t.font=e;var s=0;o.each(i,function(e){null!=e&&!0!==o.isArray(e)?s=o.measureText(t,a,r,s,e):o.isArray(e)&&o.each(e,function(e){null==e||o.isArray(e)||(s=o.measureText(t,a,r,s,e))})});var l=r.length/2;if(l>i.length){for(var u=0;un&&(n=o),n},o.numberOfLabelLines=function(t){var e=1;return o.each(t,function(t){o.isArray(t)&&t.length>e&&(e=t.length)}),e},o.color=n?function(t){return t instanceof CanvasGradient&&(t=a.global.defaultColor),n(t)}:function(t){return console.error("Color.js not found!"),t},o.getHoverColor=function(t){return t instanceof CanvasPattern?t:o.color(t).saturate(.5).darken(.1).rgbString()}}},{25:25,3:3,45:45}],28:[function(t,e,i){"use strict";var n=t(45);function a(t,e){return t.native?{x:t.x,y:t.y}:n.getRelativePosition(t,e)}function o(t,e){var i,n,a,o,r;for(n=0,o=t.data.datasets.length;n0&&(u=t.getDatasetMeta(u[0]._datasetIndex).data),u},"x-axis":function(t,e){return u(t,e,{intersect:!1})},point:function(t,e){return r(t,a(e,t))},nearest:function(t,e,i){var n=a(e,t);i.axis=i.axis||"xy";var o=l(i.axis),r=s(t,n,i.intersect,o);return r.length>1&&r.sort(function(t,e){var i=t.getArea()-e.getArea();return 0===i&&(i=t._datasetIndex-e._datasetIndex),i}),r.slice(0,1)},x:function(t,e,i){var n=a(e,t),r=[],s=!1;return o(t,function(t){t.inXRange(n.x)&&r.push(t),t.inRange(n.x,n.y)&&(s=!0)}),i.intersect&&!s&&(r=[]),r},y:function(t,e,i){var n=a(e,t),r=[],s=!1;return o(t,function(t){t.inYRange(n.y)&&r.push(t),t.inRange(n.x,n.y)&&(s=!0)}),i.intersect&&!s&&(r=[]),r}}}},{45:45}],29:[function(t,e,i){"use strict";t(25)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),e.exports=function(){var t=function(t,e){return this.construct(t,e),this};return t.Chart=t,t}},{25:25}],30:[function(t,e,i){"use strict";var n=t(45);function a(t,e){return n.where(t,function(t){return t.position===e})}function o(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,i){var n=e?i:t,a=e?t:i;return n.weight===a.weight?n._tmpIndex_-a._tmpIndex_:n.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}e.exports={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure:function(t,e,i){for(var n,a=["fullWidth","position","weight"],o=a.length,r=0;rh&&lt.maxHeight){l--;break}l++,c=u*d}t.labelRotation=l},afterCalculateTickRotation:function(){o.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){o.callback(this.options.beforeFit,[this])},fit:function(){var t=this,n=t.minSize={width:0,height:0},a=s(t._ticks),l=t.options,u=l.ticks,d=l.scaleLabel,c=l.gridLines,h=l.display,f=t.isHorizontal(),g=i(u),p=l.gridLines.tickMarkLength;if(n.width=f?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:h&&c.drawTicks?p:0,n.height=f?h&&c.drawTicks?p:0:t.maxHeight,d.display&&h){var m=r(d)+o.options.toPadding(d.padding).height;f?n.height+=m:n.width+=m}if(u.display&&h){var v=o.longestText(t.ctx,g.font,a,t.longestTextCache),b=o.numberOfLabelLines(a),x=.5*g.size,y=t.options.ticks.padding;if(f){t.longestLabelWidth=v;var k=o.toRadians(t.labelRotation),w=Math.cos(k),M=Math.sin(k)*v+g.size*b+x*(b-1)+x;n.height=Math.min(t.maxHeight,n.height+M+y),t.ctx.font=g.font;var S=e(t.ctx,a[0],g.font),C=e(t.ctx,a[a.length-1],g.font);0!==t.labelRotation?(t.paddingLeft="bottom"===l.position?w*S+3:w*x+3,t.paddingRight="bottom"===l.position?w*x+3:w*C+3):(t.paddingLeft=S/2+3,t.paddingRight=C/2+3)}else u.mirror?v=0:v+=y+x,n.width=Math.min(t.maxWidth,n.width+v),t.paddingTop=g.size/2,t.paddingBottom=g.size/2}t.handleMargins(),t.width=n.width,t.height=n.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){o.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(o.isNullOrUndef(t))return NaN;if("number"==typeof t&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:o.noop,getPixelForValue:o.noop,getValueForPixel:o.noop,getPixelForTick:function(t){var e=this,i=e.options.offset;if(e.isHorizontal()){var n=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(i?0:1),1),a=n*t+e.paddingLeft;i&&(a+=n/2);var o=e.left+Math.round(a);return o+=e.isFullWidth()?e.margins.left:0}var r=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(r/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var i=(e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft,n=e.left+Math.round(i);return n+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,i,n,a,r=this,s=r.isHorizontal(),l=r.options.ticks.minor,u=t.length,d=o.toRadians(r.labelRotation),c=Math.cos(d),h=r.longestLabelWidth*c,f=[];for(l.maxTicksLimit&&(a=l.maxTicksLimit),s&&(e=!1,(h+l.autoSkipPadding)*u>r.width-(r.paddingLeft+r.paddingRight)&&(e=1+Math.floor((h+l.autoSkipPadding)*u/(r.width-(r.paddingLeft+r.paddingRight)))),a&&u>a&&(e=Math.max(e,Math.floor(u/a)))),i=0;i1&&i%e>0||i%e==0&&i+e>=u)&&i!==u-1&&delete n.label,f.push(n);return f},draw:function(t){var e=this,a=e.options;if(a.display){var s=e.ctx,u=n.global,d=a.ticks.minor,c=a.ticks.major||d,h=a.gridLines,f=a.scaleLabel,g=0!==e.labelRotation,p=e.isHorizontal(),m=d.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),v=o.valueOrDefault(d.fontColor,u.defaultFontColor),b=i(d),x=o.valueOrDefault(c.fontColor,u.defaultFontColor),y=i(c),k=h.drawTicks?h.tickMarkLength:0,w=o.valueOrDefault(f.fontColor,u.defaultFontColor),M=i(f),S=o.options.toPadding(f.padding),C=o.toRadians(e.labelRotation),_=[],D=e.options.gridLines.lineWidth,I="right"===a.position?e.right:e.right-D-k,P="right"===a.position?e.right+k:e.right,A="bottom"===a.position?e.top+D:e.bottom-k-D,T="bottom"===a.position?e.top+D+k:e.bottom+D;if(o.each(m,function(i,n){if(!o.isNullOrUndef(i.label)){var r,s,c,f,v,b,x,y,w,M,S,F,O,R,L=i.label;n===e.zeroLineIndex&&a.offset===h.offsetGridLines?(r=h.zeroLineWidth,s=h.zeroLineColor,c=h.zeroLineBorderDash,f=h.zeroLineBorderDashOffset):(r=o.valueAtIndexOrDefault(h.lineWidth,n),s=o.valueAtIndexOrDefault(h.color,n),c=o.valueOrDefault(h.borderDash,u.borderDash),f=o.valueOrDefault(h.borderDashOffset,u.borderDashOffset));var z="middle",B="middle",W=d.padding;if(p){var N=k+W;"bottom"===a.position?(B=g?"middle":"top",z=g?"right":"center",R=e.top+N):(B=g?"middle":"bottom",z=g?"left":"center",R=e.bottom-N);var V=l(e,n,h.offsetGridLines&&m.length>1);V1);j3?i[2]-i[1]:i[1]-i[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var o=n.log10(Math.abs(a)),r="";if(0!==t){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),r=t.toFixed(s)}else r="0";return r},logarithmic:function(t,e,i){var a=t/Math.pow(10,Math.floor(n.log10(t)));return 0===t?"0":1===a||2===a||5===a||0===e||e===i.length-1?t.toExponential():""}}}},{45:45}],35:[function(t,e,i){"use strict";var n=t(25),a=t(26),o=t(45);n._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:o.noop,title:function(t,e){var i="",n=e.labels,a=n?n.length:0;if(t.length>0){var o=t[0];o.xLabel?i=o.xLabel:a>0&&o.indexn.width&&(a=n.width-e.width),a<0&&(a=0)),"top"===d?o+=c:o-="bottom"===d?e.height+c:e.height/2,"center"===d?"left"===u?a+=c:"right"===u&&(a-=c):"left"===u?a-=h:"right"===u&&(a+=h),{x:a,y:o}}(g,x,v=function(t,e){var i,n,a,o,r,s=t._model,l=t._chart,u=t._chart.chartArea,d="center",c="center";s.yl.height-e.height&&(c="bottom");var h=(u.left+u.right)/2,f=(u.top+u.bottom)/2;"center"===c?(i=function(t){return t<=h},n=function(t){return t>h}):(i=function(t){return t<=e.width/2},n=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},o=function(t){return t-e.width-s.caretSize-s.caretPadding<0},r=function(t){return t<=f?"top":"bottom"},i(s.x)?(d="left",a(s.x)&&(d="center",c=r(s.y))):n(s.x)&&(d="right",o(s.x)&&(d="center",c=r(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:d,yAlign:g.yAlign?g.yAlign:c}}(this,x),c._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,c._model=g,e&&h.custom&&h.custom.call(c,g),c},drawCaret:function(t,e){var i=this._chart.ctx,n=this._view,a=this.getCaretPosition(t,e,n);i.lineTo(a.x1,a.y1),i.lineTo(a.x2,a.y2),i.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,i){var n,a,o,r,s,l,u=i.caretSize,d=i.cornerRadius,c=i.xAlign,h=i.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===h)s=g+m/2,"left"===c?(a=(n=f)-u,o=n,r=s+u,l=s-u):(a=(n=f+p)+u,o=n,r=s-u,l=s+u);else if("left"===c?(n=(a=f+d+u)-u,o=a+u):"right"===c?(n=(a=f+p-d-u)-u,o=a+u):(n=(a=i.caretX)-u,o=a+u),"top"===h)s=(r=g)-u,l=r;else{s=(r=g+m)+u,l=r;var v=o;o=n,n=v}return{x1:n,x2:a,x3:o,y1:r,y2:s,y3:l}},drawTitle:function(t,i,n,a){var r=i.title;if(r.length){n.textAlign=i._titleAlign,n.textBaseline="top";var s,l,u=i.titleFontSize,d=i.titleSpacing;for(n.fillStyle=e(i.titleFontColor,a),n.font=o.fontString(u,i._titleFontStyle,i._titleFontFamily),s=0,l=r.length;s0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var i={width:e.width,height:e.height},n={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,o=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&o&&(this.drawBackground(n,e,t,i,a),n.x+=e.xPadding,n.y+=e.yPadding,this.drawTitle(n,e,t,a),this.drawBody(n,e,t,a),this.drawFooter(n,e,t,a))}},handleEvent:function(t){var e,i=this,n=i._options;return i._lastActive=i._lastActive||[],"mouseout"===t.type?i._active=[]:i._active=i._chart.getElementsAtEventForMode(t,n.mode,n),(e=!o.arrayEquals(i._active,i._lastActive))&&(i._lastActive=i._active,(n.enabled||n.custom)&&(i._eventPosition={x:t.x,y:t.y},i.update(!0),i.pivot())),e}}),t.Tooltip.positioners={average:function(t){if(!t.length)return!1;var e,i,n=0,a=0,o=0;for(e=0,i=t.length;el;)a-=2*Math.PI;for(;a=s&&a<=l,d=r>=i.innerRadius&&r<=i.outerRadius;return u&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,i=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,i=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},draw:function(){var t=this._chart.ctx,e=this._view,i=e.startAngle,n=e.endAngle;t.beginPath(),t.arc(e.x,e.y,e.outerRadius,i,n),t.arc(e.x,e.y,e.innerRadius,n,i,!0),t.closePath(),t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.fillStyle=e.backgroundColor,t.fill(),t.lineJoin="bevel",e.borderWidth&&t.stroke()}})},{25:25,26:26,45:45}],37:[function(t,e,i){"use strict";var n=t(25),a=t(26),o=t(45),r=n.global;n._set("global",{elements:{line:{tension:.4,backgroundColor:r.defaultColor,borderWidth:3,borderColor:r.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),e.exports=a.extend({draw:function(){var t,e,i,n,a=this._view,s=this._chart.ctx,l=a.spanGaps,u=this._children.slice(),d=r.elements.line,c=-1;for(this._loop&&u.length&&u.push(u[0]),s.save(),s.lineCap=a.borderCapStyle||d.borderCapStyle,s.setLineDash&&s.setLineDash(a.borderDash||d.borderDash),s.lineDashOffset=a.borderDashOffset||d.borderDashOffset,s.lineJoin=a.borderJoinStyle||d.borderJoinStyle,s.lineWidth=a.borderWidth||d.borderWidth,s.strokeStyle=a.borderColor||r.defaultColor,s.beginPath(),c=-1,t=0;tt?1:-1,o=1,r=l.borderSkipped||"left"):(t=l.x-l.width/2,e=l.x+l.width/2,i=l.y,a=1,o=(n=l.base)>i?1:-1,r=l.borderSkipped||"bottom"),u){var d=Math.min(Math.abs(t-e),Math.abs(i-n)),c=(u=u>d?d:u)/2,h=t+("left"!==r?c*a:0),f=e+("right"!==r?-c*a:0),g=i+("top"!==r?c*o:0),p=n+("bottom"!==r?-c*o:0);h!==f&&(i=g,n=p),g!==p&&(t=h,e=f)}s.beginPath(),s.fillStyle=l.backgroundColor,s.strokeStyle=l.borderColor,s.lineWidth=u;var m=[[t,n],[t,i],[e,i],[e,n]],v=["bottom","left","top","right"].indexOf(r,0);function b(t){return m[(v+t)%4]}-1===v&&(v=0);var x=b(0);s.moveTo(x[0],x[1]);for(var y=1;y<4;y++)x=b(y),s.lineTo(x[0],x[1]);s.fill(),u&&s.stroke()},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){var i=!1;if(this._view){var n=r(this);i=t>=n.left&&t<=n.right&&e>=n.top&&e<=n.bottom}return i},inLabelRange:function(t,e){if(!this._view)return!1;var i=r(this);return o(this)?t>=i.left&&t<=i.right:e>=i.top&&e<=i.bottom},inXRange:function(t){var e=r(this);return t>=e.left&&t<=e.right},inYRange:function(t){var e=r(this);return t>=e.top&&t<=e.bottom},getCenterPoint:function(){var t,e,i=this._view;return o(this)?(t=i.x,e=(i.y+i.base)/2):(t=(i.x+i.base)/2,e=i.y),{x:t,y:e}},getArea:function(){var t=this._view;return t.width*Math.abs(t.y-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}})},{25:25,26:26}],40:[function(t,e,i){"use strict";e.exports={},e.exports.Arc=t(36),e.exports.Line=t(37),e.exports.Point=t(38),e.exports.Rectangle=t(39)},{36:36,37:37,38:38,39:39}],41:[function(t,e,i){"use strict";var n=t(42);i=e.exports={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,i,n,a,o){if(o){var r=Math.min(o,n/2),s=Math.min(o,a/2);t.moveTo(e+r,i),t.lineTo(e+n-r,i),t.quadraticCurveTo(e+n,i,e+n,i+s),t.lineTo(e+n,i+a-s),t.quadraticCurveTo(e+n,i+a,e+n-r,i+a),t.lineTo(e+r,i+a),t.quadraticCurveTo(e,i+a,e,i+a-s),t.lineTo(e,i+s),t.quadraticCurveTo(e,i,e+r,i)}else t.rect(e,i,n,a)},drawPoint:function(t,e,i,n,a){var o,r,s,l,u,d;if(!e||"object"!=typeof e||"[object HTMLImageElement]"!==(o=e.toString())&&"[object HTMLCanvasElement]"!==o){if(!(isNaN(i)||i<=0)){switch(e){default:t.beginPath(),t.arc(n,a,i,0,2*Math.PI),t.closePath(),t.fill();break;case"triangle":t.beginPath(),u=(r=3*i/Math.sqrt(3))*Math.sqrt(3)/2,t.moveTo(n-r/2,a+u/3),t.lineTo(n+r/2,a+u/3),t.lineTo(n,a-2*u/3),t.closePath(),t.fill();break;case"rect":d=1/Math.SQRT2*i,t.beginPath(),t.fillRect(n-d,a-d,2*d,2*d),t.strokeRect(n-d,a-d,2*d,2*d);break;case"rectRounded":var c=i/Math.SQRT2,h=n-c,f=a-c,g=Math.SQRT2*i;t.beginPath(),this.roundedRect(t,h,f,g,g,i/2),t.closePath(),t.fill();break;case"rectRot":d=1/Math.SQRT2*i,t.beginPath(),t.moveTo(n-d,a),t.lineTo(n,a+d),t.lineTo(n+d,a),t.lineTo(n,a-d),t.closePath(),t.fill();break;case"cross":t.beginPath(),t.moveTo(n,a+i),t.lineTo(n,a-i),t.moveTo(n-i,a),t.lineTo(n+i,a),t.closePath();break;case"crossRot":t.beginPath(),s=Math.cos(Math.PI/4)*i,l=Math.sin(Math.PI/4)*i,t.moveTo(n-s,a-l),t.lineTo(n+s,a+l),t.moveTo(n-s,a+l),t.lineTo(n+s,a-l),t.closePath();break;case"star":t.beginPath(),t.moveTo(n,a+i),t.lineTo(n,a-i),t.moveTo(n-i,a),t.lineTo(n+i,a),s=Math.cos(Math.PI/4)*i,l=Math.sin(Math.PI/4)*i,t.moveTo(n-s,a-l),t.lineTo(n+s,a+l),t.moveTo(n-s,a+l),t.lineTo(n+s,a-l),t.closePath();break;case"line":t.beginPath(),t.moveTo(n-i,a),t.lineTo(n+i,a),t.closePath();break;case"dash":t.beginPath(),t.moveTo(n,a),t.lineTo(n+i,a),t.closePath()}t.stroke()}}else t.drawImage(e,n-e.width/2,a-e.height/2,e.width,e.height)},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,i,n){if(i.steppedLine)return"after"===i.steppedLine&&!n||"after"!==i.steppedLine&&n?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y),void t.lineTo(i.x,i.y);i.tension?t.bezierCurveTo(n?e.controlPointPreviousX:e.controlPointNextX,n?e.controlPointPreviousY:e.controlPointNextY,n?i.controlPointNextX:i.controlPointPreviousX,n?i.controlPointNextY:i.controlPointPreviousY,i.x,i.y):t.lineTo(i.x,i.y)}};n.clear=i.clear,n.drawRoundedRectangle=function(t){t.beginPath(),i.roundedRect.apply(i,arguments),t.closePath()}},{42:42}],42:[function(t,e,i){"use strict";var n,a={noop:function(){},uid:(n=0,function(){return n++}),isNullOrUndef:function(t){return null==t},isArray:Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,i){return a.valueOrDefault(a.isArray(t)?t[e]:t,i)},callback:function(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)},each:function(t,e,i,n){var o,r,s;if(a.isArray(t))if(r=t.length,n)for(o=r-1;o>=0;o--)e.call(i,t[o],o);else for(o=0;o=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:1===t?1:(i||(i=.3),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i))},easeOutElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:1===t?1:(i||(i=.3),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/i)+1)},easeInOutElastic:function(t){var e=1.70158,i=0,n=1;return 0===t?0:2==(t/=.5)?1:(i||(i=.45),n<1?(n=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/n),t<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-a.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*a.easeInBounce(2*t):.5*a.easeOutBounce(2*t-1)+.5}};e.exports={effects:a},n.easingEffects=a},{42:42}],44:[function(t,e,i){"use strict";var n=t(42);e.exports={toLineHeight:function(t,e){var i=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,i,a,o;return n.isObject(t)?(e=+t.top||0,i=+t.right||0,a=+t.bottom||0,o=+t.left||0):e=i=a=o=+t||0,{top:e,right:i,bottom:a,left:o,height:e+a,width:o+i}},resolve:function(t,e,i){var a,o,r;for(a=0,o=t.length;a
        • ';var a=e.childNodes[0],r=e.childNodes[1];e._reset=function(){a.scrollLeft=1e6,a.scrollTop=1e6,r.scrollLeft=1e6,r.scrollTop=1e6};var s=function(){e._reset(),t()};return h(a,"scroll",s.bind(a,"expand")),h(r,"scroll",s.bind(r,"shrink")),e}((u=function(){if(p.resizer)return e(g("resize",i))},c=!1,f=[],function(){f=Array.prototype.slice.call(arguments),d=d||this,c||(c=!0,n.requestAnimFrame.call(window,function(){c=!1,u.apply(d,f)}))}));!function(t,e){var i=t[a]||(t[a]={}),o=i.renderProxy=function(t){t.animationName===s&&e()};n.each(l,function(e){h(t,e,o)}),i.reflow=!!t.offsetParent,t.classList.add(r)}(t,function(){if(p.resizer){var e=t.parentNode;e&&e!==m.parentNode&&e.insertBefore(m,e.firstChild),m._reset()}})}function m(t){var e=t[a]||{},i=e.resizer;delete e.resizer,function(t){var e=t[a]||{},i=e.renderProxy;i&&(n.each(l,function(e){f(t,e,i)}),delete e.renderProxy),t.classList.remove(r)}(t),i&&i.parentNode&&i.parentNode.removeChild(i)}e.exports={_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,initialize:function(){var t,e,i,n="from{opacity:0.99}to{opacity:1}";e="@-webkit-keyframes "+s+"{"+n+"}@keyframes "+s+"{"+n+"}."+r+"{-webkit-animation:"+s+" 0.001s;animation:"+s+" 0.001s;}",i=(t=this)._style||document.createElement("style"),t._style||(t._style=i,e="/* Chart.js */\n"+e,i.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(i)),i.appendChild(document.createTextNode(e))},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){var i=t.style,n=t.getAttribute("height"),o=t.getAttribute("width");if(t[a]={initial:{height:n,width:o,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",null===o||""===o){var r=d(t,"width");void 0!==r&&(t.width=r)}if(null===n||""===n)if(""===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var s=d(t,"height");void 0!==r&&(t.height=s)}}(t,e),i):null},releaseContext:function(t){var e=t.canvas;if(e[a]){var i=e[a].initial;["height","width"].forEach(function(t){var a=i[t];n.isNullOrUndef(a)?e.removeAttribute(t):e.setAttribute(t,a)}),n.each(i.style||{},function(t,i){e.style[i]=t}),e.width=e.width,delete e[a]}},addEventListener:function(t,e,i){var o=t.canvas;if("resize"!==e){var r=i[a]||(i[a]={});h(o,e,(r.proxies||(r.proxies={}))[t.id+"_"+e]=function(e){i(function(t,e){var i=u[t.type]||t.type,a=n.getRelativePosition(t,e);return g(i,e,a.x,a.y,t)}(e,t))})}else p(o,i,t)},removeEventListener:function(t,e,i){var n=t.canvas;if("resize"!==e){var o=((i[a]||{}).proxies||{})[t.id+"_"+e];o&&f(n,e,o)}else m(n)}},n.addEvent=h,n.removeEvent=f},{45:45}],48:[function(t,e,i){"use strict";var n=t(45),a=t(46),o=t(47),r=o._enabled?o:a;e.exports=n.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},r)},{45:45,46:46,47:47}],49:[function(t,e,i){"use strict";e.exports={},e.exports.filler=t(50),e.exports.legend=t(51),e.exports.title=t(52)},{50:50,51:51,52:52}],50:[function(t,e,i){"use strict";var n=t(25),a=t(40),o=t(45);n._set("global",{plugins:{filler:{propagate:!0}}});var r={dataset:function(t){var e=t.fill,i=t.chart,n=i.getDatasetMeta(e),a=n&&i.isDatasetVisible(e)&&n.dataset._children||[],o=a.length||0;return o?function(t,e){return e=i)&&n;switch(o){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return o;default:return!1}}function l(t){var e,i=t.el._model||{},n=t.el._scale||{},a=t.fill,o=null;if(isFinite(a))return null;if("start"===a?o=void 0===i.scaleBottom?n.bottom:i.scaleBottom:"end"===a?o=void 0===i.scaleTop?n.top:i.scaleTop:void 0!==i.scaleZero?o=i.scaleZero:n.getBasePosition?o=n.getBasePosition():n.getBasePixel&&(o=n.getBasePixel()),null!=o){if(void 0!==o.x&&void 0!==o.y)return o;if("number"==typeof o&&isFinite(o))return{x:(e=n.isHorizontal())?o:null,y:e?null:o}}return null}function u(t,e,i){var n,a=t[e].fill,o=[e];if(!i)return a;for(;!1!==a&&-1===o.indexOf(a);){if(!isFinite(a))return a;if(!(n=t[a]))return!1;if(n.visible)return a;o.push(a),a=n.fill}return!1}function d(t){var e=t.fill,i="dataset";return!1===e?null:(isFinite(e)||(i="boundary"),r[i](t))}function c(t){return t&&!t.skip}function h(t,e,i,n,a){var r;if(n&&a){for(t.moveTo(e[0].x,e[0].y),r=1;r0;--r)o.canvas.lineTo(t,i[r],i[r-1],!0)}}e.exports={id:"filler",afterDatasetsUpdate:function(t,e){var i,n,o,r,c=(t.data.datasets||[]).length,h=e.propagate,f=[];for(n=0;n');for(var i=0;i'),t.data.datasets[i].label&&e.push(t.data.datasets[i].label),e.push("");return e.push("
        "),e.join("")}});var u=a.extend({initialize:function(t){o.extend(this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:s,update:function(t,e,i){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=i,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:s,beforeSetDimensions:s,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:s,beforeBuildLabels:s,buildLabels:function(){var t=this,e=t.options.labels||{},i=o.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(i=i.filter(function(i){return e.filter(i,t.chart.data)})),t.options.reverse&&i.reverse(),t.legendItems=i},afterBuildLabels:s,beforeFit:s,fit:function(){var t=this,e=t.options,i=e.labels,a=e.display,r=t.ctx,s=n.global,u=o.valueOrDefault,d=u(i.fontSize,s.defaultFontSize),c=u(i.fontStyle,s.defaultFontStyle),h=u(i.fontFamily,s.defaultFontFamily),f=o.fontString(d,c,h),g=t.legendHitBoxes=[],p=t.minSize,m=t.isHorizontal();if(m?(p.width=t.maxWidth,p.height=a?10:0):(p.width=a?10:0,p.height=t.maxHeight),a)if(r.font=f,m){var v=t.lineWidths=[0],b=t.legendItems.length?d+i.padding:0;r.textAlign="left",r.textBaseline="top",o.each(t.legendItems,function(e,n){var a=l(i,d)+d/2+r.measureText(e.text).width;v[v.length-1]+a+i.padding>=t.width&&(b+=d+i.padding,v[v.length]=t.left),g[n]={left:0,top:0,width:a,height:d},v[v.length-1]+=a+i.padding}),p.height+=b}else{var x=i.padding,y=t.columnWidths=[],k=i.padding,w=0,M=0,S=d+x;o.each(t.legendItems,function(t,e){var n=l(i,d)+d/2+r.measureText(t.text).width;M+S>p.height&&(k+=w+i.padding,y.push(w),w=0,M=0),w=Math.max(w,n),M+=S,g[e]={left:0,top:0,width:n,height:d}}),k+=w,y.push(w),p.width+=k}t.width=p.width,t.height=p.height},afterFit:s,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,i=e.labels,a=n.global,r=a.elements.line,s=t.width,u=t.lineWidths;if(e.display){var d,c=t.ctx,h=o.valueOrDefault,f=h(i.fontColor,a.defaultFontColor),g=h(i.fontSize,a.defaultFontSize),p=h(i.fontStyle,a.defaultFontStyle),m=h(i.fontFamily,a.defaultFontFamily),v=o.fontString(g,p,m);c.textAlign="left",c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=v;var b=l(i,g),x=t.legendHitBoxes,y=t.isHorizontal();d=y?{x:t.left+(s-u[0])/2,y:t.top+i.padding,line:0}:{x:t.left+i.padding,y:t.top+i.padding,line:0};var k=g+i.padding;o.each(t.legendItems,function(n,l){var f=c.measureText(n.text).width,p=b+g/2+f,m=d.x,v=d.y;y?m+p>=s&&(v=d.y+=k,d.line++,m=d.x=t.left+(s-u[d.line])/2):v+k>t.bottom&&(m=d.x=m+t.columnWidths[d.line]+i.padding,v=d.y=t.top+i.padding,d.line++),function(t,i,n){if(!(isNaN(b)||b<=0)){c.save(),c.fillStyle=h(n.fillStyle,a.defaultColor),c.lineCap=h(n.lineCap,r.borderCapStyle),c.lineDashOffset=h(n.lineDashOffset,r.borderDashOffset),c.lineJoin=h(n.lineJoin,r.borderJoinStyle),c.lineWidth=h(n.lineWidth,r.borderWidth),c.strokeStyle=h(n.strokeStyle,a.defaultColor);var s=0===h(n.lineWidth,r.borderWidth);if(c.setLineDash&&c.setLineDash(h(n.lineDash,r.borderDash)),e.labels&&e.labels.usePointStyle){var l=g*Math.SQRT2/2,u=l/Math.SQRT2,d=t+u,f=i+u;o.canvas.drawPoint(c,n.pointStyle,l,d,f)}else s||c.strokeRect(t,i,b,g),c.fillRect(t,i,b,g);c.restore()}}(m,v,n),x[l].left=m,x[l].top=v,function(t,e,i,n){var a=g/2,o=b+a+t,r=e+a;c.fillText(i.text,o,r),i.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(o,r),c.lineTo(o+n,r),c.stroke())}(m,v,n,f),y?d.x+=p+i.padding:d.y+=k})}},handleEvent:function(t){var e=this,i=e.options,n="mouseup"===t.type?"click":t.type,a=!1;if("mousemove"===n){if(!i.onHover)return}else{if("click"!==n)return;if(!i.onClick)return}var o=t.x,r=t.y;if(o>=e.left&&o<=e.right&&r>=e.top&&r<=e.bottom)for(var s=e.legendHitBoxes,l=0;l=u.left&&o<=u.left+u.width&&r>=u.top&&r<=u.top+u.height){if("click"===n){i.onClick.call(e,t.native,e.legendItems[l]),a=!0;break}if("mousemove"===n){i.onHover.call(e,t.native,e.legendItems[l]),a=!0;break}}}return a}});function d(t,e){var i=new u({ctx:t.ctx,options:e,chart:t});r.configure(t,i,e),r.addBox(t,i),t.legend=i}e.exports={id:"legend",_element:u,beforeInit:function(t){var e=t.options.legend;e&&d(t,e)},beforeUpdate:function(t){var e=t.options.legend,i=t.legend;e?(o.mergeIf(e,n.global.legend),i?(r.configure(t,i,e),i.options=e):d(t,e)):i&&(r.removeBox(t,i),delete t.legend)},afterEvent:function(t,e){var i=t.legend;i&&i.handleEvent(e)}}},{25:25,26:26,30:30,45:45}],52:[function(t,e,i){"use strict";var n=t(25),a=t(26),o=t(45),r=t(30),s=o.noop;n._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}});var l=a.extend({initialize:function(t){o.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:s,update:function(t,e,i){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=i,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:s,beforeSetDimensions:s,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:s,beforeBuildLabels:s,buildLabels:s,afterBuildLabels:s,beforeFit:s,fit:function(){var t=this,e=o.valueOrDefault,i=t.options,a=i.display,r=e(i.fontSize,n.global.defaultFontSize),s=t.minSize,l=o.isArray(i.text)?i.text.length:1,u=o.options.toLineHeight(i.lineHeight,r),d=a?l*u+2*i.padding:0;t.isHorizontal()?(s.width=t.maxWidth,s.height=d):(s.width=d,s.height=t.maxHeight),t.width=s.width,t.height=s.height},afterFit:s,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,i=o.valueOrDefault,a=t.options,r=n.global;if(a.display){var s,l,u,d=i(a.fontSize,r.defaultFontSize),c=i(a.fontStyle,r.defaultFontStyle),h=i(a.fontFamily,r.defaultFontFamily),f=o.fontString(d,c,h),g=o.options.toLineHeight(a.lineHeight,d),p=g/2+a.padding,m=0,v=t.top,b=t.left,x=t.bottom,y=t.right;e.fillStyle=i(a.fontColor,r.defaultFontColor),e.font=f,t.isHorizontal()?(l=b+(y-b)/2,u=v+p,s=y-b):(l="left"===a.position?b+p:y-p,u=v+(x-v)/2,s=x-v,m=Math.PI*("left"===a.position?-.5:.5)),e.save(),e.translate(l,u),e.rotate(m),e.textAlign="center",e.textBaseline="middle";var k=a.text;if(o.isArray(k))for(var w=0,M=0;Mt.max&&(t.max=n))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var t,e=this.options.ticks;if(this.isHorizontal())t=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(this.width/50));else{var i=a.valueOrDefault(e.fontSize,n.global.defaultFontSize);t=Math.min(e.maxTicksLimit?e.maxTicksLimit:11,Math.ceil(this.height/(2*i)))}return t},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e=this,i=e.start,n=+e.getRightValue(t),a=e.end-i;return e.isHorizontal()?e.left+e.width/a*(n-i):e.bottom-e.height/a*(n-i)},getValueForPixel:function(t){var e=this,i=e.isHorizontal(),n=i?e.width:e.height,a=(i?t-e.left:e.bottom-t)/n;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});t.scaleService.registerScaleType("linear",i,e)}},{25:25,34:34,45:45}],55:[function(t,e,i){"use strict";var n=t(45);e.exports=function(t){var e=n.noop;t.LinearScaleBase=t.Scale.extend({getRightValue:function(e){return"string"==typeof e?+e:t.Scale.prototype.getRightValue.call(this,e)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var i=n.sign(t.min),a=n.sign(t.max);i<0&&a<0?t.max=0:i>0&&a>0&&(t.min=0)}var o=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),o!==r&&t.min>=t.max&&(o?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:e,handleDirectionalChanges:e,buildTicks:function(){var t=this,e=t.options.ticks,i=t.getTickLimit(),a={maxTicks:i=Math.max(2,i),min:e.min,max:e.max,stepSize:n.valueOrDefault(e.fixedStepSize,e.stepSize)},o=t.ticks=function(t,e){var i,a=[];if(t.stepSize&&t.stepSize>0)i=t.stepSize;else{var o=n.niceNum(e.max-e.min,!1);i=n.niceNum(o/(t.maxTicks-1),!0)}var r=Math.floor(e.min/i)*i,s=Math.ceil(e.max/i)*i;t.min&&t.max&&t.stepSize&&n.almostWhole((t.max-t.min)/t.stepSize,i/1e3)&&(r=t.min,s=t.max);var l=(s-r)/i;l=n.almostEquals(l,Math.round(l),i/1e3)?Math.round(l):Math.ceil(l);var u=1;i<1&&(u=Math.pow(10,i.toString().length-2),r=Math.round(r*u)/u,s=Math.round(s*u)/u),a.push(void 0!==t.min?t.min:r);for(var d=1;d0){var i=n.min(e),a=n.max(e);t.min=null===t.min?i:Math.min(t.min,i),t.max=null===t.max?a:Math.max(t.max,a)}})}else n.each(a,function(e,a){var o=i.getDatasetMeta(a);i.isDatasetVisible(a)&&r(o)&&n.each(e.data,function(e,i){var n=+t.getRightValue(e);isNaN(n)||o.data[i].hidden||n<0||(null===t.min?t.min=n:nt.max&&(t.max=n),0!==n&&(null===t.minNotZero||n0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(n.log10(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,i=!t.isHorizontal(),a={min:e.min,max:e.max},o=t.ticks=function(t,e){var i,a,o=[],r=n.valueOrDefault,s=r(t.min,Math.pow(10,Math.floor(n.log10(e.min)))),l=Math.floor(n.log10(e.max)),u=Math.ceil(e.max/Math.pow(10,l));0===s?(i=Math.floor(n.log10(e.minNotZero)),a=Math.floor(e.minNotZero/Math.pow(10,i)),o.push(s),s=a*Math.pow(10,i)):(i=Math.floor(n.log10(s)),a=Math.floor(s/Math.pow(10,i)));var d=i<0?Math.pow(10,Math.abs(i)):1;do{o.push(s),10==++a&&(a=1,d=++i>=0?1:d),s=Math.round(a*Math.pow(10,i)*d)/d}while(ia?{start:e-i-5,end:e}:{start:e,end:e+i+5}}function u(t){return 0===t||180===t?"center":t<180?"left":"right"}function d(t,e,i,n){if(a.isArray(e))for(var o=i.y,r=1.5*n,s=0;s270||t<90)&&(i.y-=e.h)}function h(t){return a.isNumber(t)?t:0}var f=t.LinearScaleBase.extend({setDimensions:function(){var t=this,i=t.options,n=i.ticks;t.width=t.maxWidth,t.height=t.maxHeight,t.xCenter=Math.round(t.width/2),t.yCenter=Math.round(t.height/2);var o=a.min([t.height,t.width]),r=a.valueOrDefault(n.fontSize,e.defaultFontSize);t.drawingArea=i.display?o/2-(r/2+n.backdropPaddingY):o/2},determineDataLimits:function(){var t=this,e=t.chart,i=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;a.each(e.data.datasets,function(o,r){if(e.isDatasetVisible(r)){var s=e.getDatasetMeta(r);a.each(o.data,function(e,a){var o=+t.getRightValue(e);isNaN(o)||s.data[a].hidden||(i=Math.min(o,i),n=Math.max(o,n))})}}),t.min=i===Number.POSITIVE_INFINITY?0:i,t.max=n===Number.NEGATIVE_INFINITY?0:n,t.handleTickRangeOptions()},getTickLimit:function(){var t=this.options.ticks,i=a.valueOrDefault(t.fontSize,e.defaultFontSize);return Math.min(t.maxTicksLimit?t.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*i)))},convertTicksToLabels:function(){var e=this;t.LinearScaleBase.prototype.convertTicksToLabels.call(e),e.pointLabels=e.chart.data.labels.map(e.options.pointLabels.callback,e)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t,e;this.options.pointLabels.display?function(t){var e,i,n,o=s(t),u=Math.min(t.height/2,t.width/2),d={r:t.width,l:0,t:t.height,b:0},c={};t.ctx.font=o.font,t._pointLabelSizes=[];var h,f,g,p=r(t);for(e=0;ed.r&&(d.r=b.end,c.r=m),x.startd.b&&(d.b=x.end,c.b=m)}t.setReductions(u,d,c)}(this):(t=this,e=Math.min(t.height/2,t.width/2),t.drawingArea=Math.round(e),t.setCenterPoint(0,0,0,0))},setReductions:function(t,e,i){var n=e.l/Math.sin(i.l),a=Math.max(e.r-this.width,0)/Math.sin(i.r),o=-e.t/Math.cos(i.t),r=-Math.max(e.b-this.height,0)/Math.cos(i.b);n=h(n),a=h(a),o=h(o),r=h(r),this.drawingArea=Math.min(Math.round(t-(n+a)/2),Math.round(t-(o+r)/2)),this.setCenterPoint(n,a,o,r)},setCenterPoint:function(t,e,i,n){var a=this,o=a.width-e-a.drawingArea,r=t+a.drawingArea,s=i+a.drawingArea,l=a.height-n-a.drawingArea;a.xCenter=Math.round((r+o)/2+a.left),a.yCenter=Math.round((s+l)/2+a.top)},getIndexAngle:function(t){return t*(2*Math.PI/r(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var i=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*i:(t-e.min)*i},getPointPosition:function(t,e){var i=this.getIndexAngle(t)-Math.PI/2;return{x:Math.round(Math.cos(i)*e)+this.xCenter,y:Math.round(Math.sin(i)*e)+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,i=t.options,n=i.gridLines,o=i.ticks,l=a.valueOrDefault;if(i.display){var h=t.ctx,f=this.getIndexAngle(0),g=l(o.fontSize,e.defaultFontSize),p=l(o.fontStyle,e.defaultFontStyle),m=l(o.fontFamily,e.defaultFontFamily),v=a.fontString(g,p,m);a.each(t.ticks,function(i,s){if(s>0||o.reverse){var u=t.getDistanceFromCenterForValue(t.ticksAsNumbers[s]);if(n.display&&0!==s&&function(t,e,i,n){var o=t.ctx;if(o.strokeStyle=a.valueAtIndexOrDefault(e.color,n-1),o.lineWidth=a.valueAtIndexOrDefault(e.lineWidth,n-1),t.options.gridLines.circular)o.beginPath(),o.arc(t.xCenter,t.yCenter,i,0,2*Math.PI),o.closePath(),o.stroke();else{var s=r(t);if(0===s)return;o.beginPath();var l=t.getPointPosition(0,i);o.moveTo(l.x,l.y);for(var u=1;u=0;g--){if(o.display){var p=t.getPointPosition(g,h);i.beginPath(),i.moveTo(t.xCenter,t.yCenter),i.lineTo(p.x,p.y),i.stroke(),i.closePath()}if(l.display){var m=t.getPointPosition(g,h+5),v=a.valueAtIndexOrDefault(l.fontColor,g,e.defaultFontColor);i.font=f.font,i.fillStyle=v;var b=t.getIndexAngle(g),x=a.toDegrees(b);i.textAlign=u(x),c(x,t._pointLabelSizes[g],m),d(i,t.pointLabels[g]||"",m,f.size)}}}(t)}}});t.scaleService.registerScaleType("radialLinear",f,i)}},{25:25,34:34,45:45}],58:[function(t,e,i){"use strict";var n=t(1);n="function"==typeof n?n:window.moment;var a=t(25),o=t(45),r=Number.MIN_SAFE_INTEGER||-9007199254740991,s=Number.MAX_SAFE_INTEGER||9007199254740991,l={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},u=Object.keys(l);function d(t,e){return t-e}function c(t){var e,i,n,a={},o=[];for(e=0,i=t.length;e=0&&r<=s;){if(a=t[(n=r+s>>1)-1]||null,o=t[n],!a)return{lo:null,hi:o};if(o[e]i))return{lo:a,hi:o};s=n-1}}return{lo:o,hi:null}}(t,e,i),o=a.lo?a.hi?a.lo:t[t.length-2]:t[0],r=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=r[e]-o[e],l=s?(i-o[e])/s:0,u=(r[n]-o[n])*l;return o[n]+u}function f(t,e){var i=e.parser,a=e.parser||e.format;return"function"==typeof i?i(t):"string"==typeof t&&"string"==typeof a?n(t,a):(t instanceof n||(t=n(t)),t.isValid()?t:"function"==typeof a?a(t):t)}function g(t,e){if(o.isNullOrUndef(t))return null;var i=e.options.time,n=f(e.getRightValue(t),i);return n.isValid()?(i.round&&n.startOf(i.round),n.valueOf()):null}function p(t){for(var e=u.indexOf(t)+1,i=u.length;e=o&&i<=r&&v.push(i);return a.min=o,a.max=r,a._unit=d.unit||function(t,e,i,a){var o,r,s=n.duration(n(a).diff(n(i)));for(o=u.length-1;o>=u.indexOf(e);o--)if(r=u[o],l[r].common&&s.as(r)>=t.length)return r;return u[e?u.indexOf(e):0]}(v,d.minUnit,a.min,a.max),a._majorUnit=p(a._unit),a._table=function(t,e,i,n){if("linear"===n||!t.length)return[{time:e,pos:0},{time:i,pos:1}];var a,o,r,s,l,u=[],d=[e];for(a=0,o=t.length;ae&&s1?e[1]:n,r=e[0],s=(h(t,"time",o,"pos")-h(t,"time",r,"pos"))/2),a.time.max||(o=e[e.length-1],r=e.length>1?e[e.length-2]:i,l=(h(t,"time",o,"pos")-h(t,"time",r,"pos"))/2)),{left:s,right:l}}(a._table,v,o,r,s),a._labelFormat=function(t,e){var i,n,a,o=t.length;for(i=0;i=0&&t0?s:1}});t.scaleService.registerScaleType("time",e,{position:"bottom",distribution:"linear",bounds:"data",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}})}},{1:1,25:25,45:45}]},{},[7])(7)}); \ No newline at end of file diff --git a/deployed/acym/media/com_acym/js/libraries/intro.min.js b/deployed/acym/media/com_acym/js/libraries/intro.min.js index 5289f296..86f56cf2 100644 --- a/deployed/acym/media/com_acym/js/libraries/intro.min.js +++ b/deployed/acym/media/com_acym/js/libraries/intro.min.js @@ -3,5 +3,5 @@ * https://github.com/usablica/intro.js * * Copyright (C) 2017 Afshin Mehrabani (@afshinmeh) - */ + */ !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t(),module.exports.introJs=function(){return console.warn('Deprecated: please use require("intro.js") directly, instead of the introJs method of the function'),t().apply(this,arguments)};else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).introJs=t()}}(function(){function t(t){this._targetElement=t,this._introItems=[],this._options={nextLabel:"Next →",prevLabel:"← Back",skipLabel:"Skip",doneLabel:"Done",hidePrev:!1,hideNext:!1,tooltipPosition:"bottom",tooltipClass:"",highlightClass:"",exitOnEsc:!0,exitOnOverlayClick:!0,showStepNumbers:!0,keyboardNavigation:!0,showButtons:!0,showBullets:!0,showProgress:!1,scrollToElement:!0,scrollTo:"element",scrollPadding:30,overlayOpacity:.8,positionPrecedence:["bottom","top","right","left"],disableInteraction:!1,helperElementPadding:10,hintPosition:"top-middle",hintButtonLabel:"Got it",hintAnimation:!0,buttonClass:"introjs-button"}}function e(t,e){var l=t.querySelectorAll("*[data-intro]"),a=[];if(this._options.steps)g(this._options.steps,function(t){var e=o(t);if(e.step=a.length+1,"string"==typeof e.element&&(e.element=document.querySelector(e.element)),void 0===e.element||null===e.element){var i=document.querySelector(".introjsFloatingElement");null===i&&((i=document.createElement("div")).className="introjsFloatingElement",document.body.appendChild(i)),e.element=i,e.position="floating"}e.scrollTo=e.scrollTo||this._options.scrollTo,void 0===e.disableInteraction&&(e.disableInteraction=this._options.disableInteraction),null!==e.element&&a.push(e)}.bind(this));else{var c;if(l.length<1)return!1;g(l,function(t){if((!e||t.getAttribute("data-intro-group")===e)&&"none"!==t.style.display){var i=parseInt(t.getAttribute("data-step"),10);c=void 0!==t.getAttribute("data-disable-interaction")?!!t.getAttribute("data-disable-interaction"):this._options.disableInteraction,i>0&&(a[i-1]={element:t,intro:t.getAttribute("data-intro"),step:parseInt(t.getAttribute("data-step"),10),tooltipClass:t.getAttribute("data-tooltipclass"),highlightClass:t.getAttribute("data-highlightclass"),position:t.getAttribute("data-position")||this._options.tooltipPosition,scrollTo:t.getAttribute("data-scrollto")||this._options.scrollTo,disableInteraction:c})}}.bind(this));var h=0;g(l,function(t){if((!e||t.getAttribute("data-intro-group")===e)&&null===t.getAttribute("data-step")){for(;void 0!==a[h];)h++;c=void 0!==t.getAttribute("data-disable-interaction")?!!t.getAttribute("data-disable-interaction"):this._options.disableInteraction,a[h]={element:t,intro:t.getAttribute("data-intro"),step:h+1,tooltipClass:t.getAttribute("data-tooltipclass"),highlightClass:t.getAttribute("data-highlightclass"),position:t.getAttribute("data-position")||this._options.tooltipPosition,scrollTo:t.getAttribute("data-scrollto")||this._options.scrollTo,disableInteraction:c}}}.bind(this))}for(var u=[],d=0;do.height&&u(n,"bottom");r.top-s<0&&u(n,"top");r.right+l>o.width&&u(n,"right");r.left-l<0&&u(n,"left");var c=(h=i||"",d=h.indexOf("-"),-1!==d?h.substr(d):"");var h,d;i&&(i=i.split("-")[0]);n.length&&(a="auto"!==i&&n.indexOf(i)>-1?i:n[0]);-1!==["top","bottom"].indexOf(a)&&(a+=function(t,e,i,n){var o=e/2,s=Math.min(i.width,window.screen.width),l=["-left-aligned","-middle-aligned","-right-aligned"],r="";s-ta.height?(i.className="introjs-arrow left-bottom",e.style.top="-"+(l.height-r.height-20)+"px"):i.className="introjs-arrow left";break;case"left":o||!0!==this._options.showStepNumbers||(e.style.top="15px"),r.top+l.height>a.height?(e.style.top="-"+(l.height-r.height-20)+"px",i.className="introjs-arrow right-bottom"):i.className="introjs-arrow right",e.style.right=r.width+20+"px";break;case"floating":i.style.display="none",e.style.left="50%",e.style.top="50%",e.style.marginLeft="-"+l.width/2+"px",e.style.marginTop="-"+l.height/2+"px",null!=n&&(n.style.left="-"+(l.width/2+18)+"px",n.style.top="-"+(l.height/2+18)+"px");break;case"bottom-right-aligned":i.className="introjs-arrow top-right",h(r,f=0,l,e),e.style.top=r.height+20+"px";break;case"bottom-middle-aligned":i.className="introjs-arrow top-middle",m=r.width/2-l.width/2,o&&(m+=5),h(r,m,l,e)&&(e.style.right=null,c(r,m,l,a,e)),e.style.top=r.height+20+"px";break;default:i.className="introjs-arrow top",c(r,0,l,a,e),e.style.top=r.height+20+"px"}}function c(t,e,i,n,o){return t.left+e+i.width>n.width?(o.style.left=n.width-i.width-t.left+"px",!1):(o.style.left=e+"px",!0)}function h(t,e,i,n){return t.left+t.width-e-i.width<0?(n.style.left=-t.left+"px",!1):(n.style.right=e+"px",!0)}function u(t,e){t.indexOf(e)>-1&&t.splice(t.indexOf(e),1)}function d(t){if(t){if(!this._introItems[this._currentStep])return;var e=this._introItems[this._currentStep],i=B(e.element),n=this._options.helperElementPadding;k(e.element)?w(t,"introjs-fixedTooltip"):C(t,"introjs-fixedTooltip"),"floating"===e.position&&(n=0),t.style.cssText="width: "+(i.width+n)+"px; height:"+(i.height+n)+"px; top:"+(i.top-n/2)+"px;left: "+(i.left-n/2)+"px;"}}function p(t){t.setAttribute("role","button"),t.tabIndex=0}function f(t){void 0!==this._introChangeCallback&&this._introChangeCallback.call(this,t.element);var e,i,n,o,c=this,h=document.querySelector(".introjs-helperLayer"),u=document.querySelector(".introjs-tooltipReferenceLayer"),f="introjs-helperLayer";if("string"==typeof t.highlightClass&&(f+=" "+t.highlightClass),"string"==typeof this._options.highlightClass&&(f+=" "+this._options.highlightClass),null!==h){var y=u.querySelector(".introjs-helperNumberLayer"),v=u.querySelector(".introjs-tooltiptext"),_=u.querySelector(".introjs-arrow"),k=u.querySelector(".introjs-tooltip");if(n=u.querySelector(".introjs-skipbutton"),i=u.querySelector(".introjs-prevbutton"),e=u.querySelector(".introjs-nextbutton"),h.className=f,k.style.opacity=0,k.style.display="none",null!==y){var x=this._introItems[t.step-2>=0?t.step-2:0];(null!==x&&"forward"===this._direction&&"floating"===x.position||"backward"===this._direction&&"floating"===t.position)&&(y.style.opacity=0)}(o=H(t.element))!==document.body&&O(o,t.element),d.call(c,h),d.call(c,u),g(document.querySelectorAll(".introjs-fixParent"),function(t){C(t,/introjs-fixParent/g)}),b(),c._lastShowElementTimer&&window.clearTimeout(c._lastShowElementTimer),c._lastShowElementTimer=window.setTimeout(function(){null!==y&&(y.innerHTML=t.step),v.innerHTML=t.intro,k.style.display="block",a.call(c,t.element,k,_,y),c._options.showBullets&&(u.querySelector(".introjs-bullets li > a.active").className="",u.querySelector('.introjs-bullets li > a[data-stepnumber="'+t.step+'"]').className="active"),u.querySelector(".introjs-progress .introjs-progressbar").style.cssText="width:"+M.call(c)+"%;",u.querySelector(".introjs-progress .introjs-progressbar").setAttribute("aria-valuenow",M.call(c)),k.style.opacity=1,y&&(y.style.opacity=1),null!=n&&/introjs-donebutton/gi.test(n.className)?n.focus():null!=e&&e.focus(),m.call(c,t.scrollTo,t,v)},350)}else{var S=document.createElement("div"),E=document.createElement("div"),N=document.createElement("div"),A=document.createElement("div"),L=document.createElement("div"),T=document.createElement("div"),I=document.createElement("div"),P=document.createElement("div");S.className=f,E.className="introjs-tooltipReferenceLayer",(o=H(t.element))!==document.body&&O(o,t.element),d.call(c,S),d.call(c,E),this._targetElement.appendChild(S),this._targetElement.appendChild(E),N.className="introjs-arrow",L.className="introjs-tooltiptext",L.innerHTML=t.intro,T.className="introjs-bullets",!1===this._options.showBullets&&(T.style.display="none");var q=document.createElement("ul");q.setAttribute("role","tablist");var B=function(){c.goToStep(this.getAttribute("data-stepnumber"))};g(this._introItems,function(e,i){var n=document.createElement("li"),o=document.createElement("a");n.setAttribute("role","presentation"),o.setAttribute("role","tab"),o.onclick=B,i===t.step-1&&(o.className="active"),p(o),o.innerHTML=" ",o.setAttribute("data-stepnumber",e.step),n.appendChild(o),q.appendChild(n)}),T.appendChild(q),I.className="introjs-progress",!1===this._options.showProgress&&(I.style.display="none");var R=document.createElement("div");R.className="introjs-progressbar",R.setAttribute("role","progress"),R.setAttribute("aria-valuemin",0),R.setAttribute("aria-valuemax",100),R.setAttribute("aria-valuenow",M.call(this)),R.style.cssText="width:"+M.call(this)+"%;",I.appendChild(R),P.className="introjs-tooltipbuttons",!1===this._options.showButtons&&(P.style.display="none"),A.className="introjs-tooltip",A.appendChild(L),A.appendChild(T),A.appendChild(I);var V=document.createElement("span");!0===this._options.showStepNumbers&&(V.className="introjs-helperNumberLayer",V.innerHTML=t.step,E.appendChild(V)),A.appendChild(N),E.appendChild(A),(e=document.createElement("a")).onclick=function(){c._introItems.length-1!==c._currentStep&&s.call(c)},p(e),e.innerHTML=this._options.nextLabel,(i=document.createElement("a")).onclick=function(){0!==c._currentStep&&l.call(c)},p(i),i.innerHTML=this._options.prevLabel,(n=document.createElement("a")).className=this._options.buttonClass+" introjs-skipbutton ",p(n),n.innerHTML=this._options.skipLabel,n.onclick=function(){c._introItems.length-1===c._currentStep&&"function"==typeof c._introCompleteCallback&&c._introCompleteCallback.call(c),c._introItems.length-1!==c._currentStep&&"function"==typeof c._introExitCallback&&c._introExitCallback.call(c),"function"==typeof c._introSkipCallback&&c._introSkipCallback.call(c),r.call(c,c._targetElement)},P.appendChild(n),this._introItems.length>1&&(P.appendChild(i),P.appendChild(e)),A.appendChild(P),a.call(c,t.element,A,N,V),m.call(this,t.scrollTo,t,A)}var z=c._targetElement.querySelector(".introjs-disableInteraction");z&&z.parentNode.removeChild(z),t.disableInteraction&&function(){var t=document.querySelector(".introjs-disableInteraction");null===t&&((t=document.createElement("div")).className="introjs-disableInteraction",this._targetElement.appendChild(t)),d.call(this,t)}.call(c),0===this._currentStep&&this._introItems.length>1?(null!=n&&(n.className=this._options.buttonClass+" introjs-skipbutton"),null!=e&&(e.className=this._options.buttonClass+" introjs-nextbutton"),!0===this._options.hidePrev?(null!=i&&(i.className=this._options.buttonClass+" introjs-prevbutton introjs-hidden"),null!=e&&w(e,"introjs-fullbutton")):null!=i&&(i.className=this._options.buttonClass+" introjs-prevbutton introjs-disabled"),null!=n&&(n.innerHTML=this._options.skipLabel)):this._introItems.length-1===this._currentStep||1===this._introItems.length?(null!=n&&(n.innerHTML=this._options.doneLabel,w(n,"introjs-donebutton")),null!=i&&(i.className=this._options.buttonClass+" introjs-prevbutton"),!0===this._options.hideNext?(null!=e&&(e.className=this._options.buttonClass+" introjs-nextbutton introjs-hidden"),null!=i&&w(i,"introjs-fullbutton")):null!=e&&(e.className=this._options.buttonClass+" introjs-nextbutton introjs-disabled")):(null!=n&&(n.className=this._options.buttonClass+" introjs-skipbutton"),null!=i&&(i.className=this._options.buttonClass+" introjs-prevbutton"),null!=e&&(e.className=this._options.buttonClass+" introjs-nextbutton"),null!=n&&(n.innerHTML=this._options.skipLabel)),i.setAttribute("role","button"),e.setAttribute("role","button"),n.setAttribute("role","button"),null!=e&&e.focus(),function(t){var e;if(t.element instanceof SVGElement)for(e=t.element.parentNode;null!==t.element.parentNode&&e.tagName&&"body"!==e.tagName.toLowerCase();)"svg"===e.tagName.toLowerCase()&&w(e,"introjs-showElement introjs-relativePosition"),e=e.parentNode;w(t.element,"introjs-showElement");var i=j(t.element,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&w(t.element,"introjs-relativePosition");e=t.element.parentNode;for(;null!==e&&e.tagName&&"body"!==e.tagName.toLowerCase();){var n=j(e,"z-index"),o=parseFloat(j(e,"opacity")),s=j(e,"transform")||j(e,"-webkit-transform")||j(e,"-moz-transform")||j(e,"-ms-transform")||j(e,"-o-transform");(/[0-9]+/.test(n)||o<1||"none"!==s&&void 0!==s)&&w(e,"introjs-fixParent"),e=e.parentNode}}(t),void 0!==this._introAfterChangeCallback&&this._introAfterChangeCallback.call(this,t.element)}function m(t,e,i){var n;if("off"!==t&&(this._options.scrollToElement&&(n="tooltip"===t?i.getBoundingClientRect():e.element.getBoundingClientRect(),!function(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom+80<=window.innerHeight&&e.right<=window.innerWidth}(e.element)))){var o=x().height;n.bottom-(n.bottom-n.top)<0||e.element.clientHeight>o?window.scrollBy(0,n.top-(o/2-n.height/2)-this._options.scrollPadding):window.scrollBy(0,n.top-(o/2-n.height/2)+this._options.scrollPadding)}}function b(){g(document.querySelectorAll(".introjs-showElement"),function(t){C(t,/introjs-[a-zA-Z]+/g)})}function g(t,e,i){if(t)for(var n=0,o=t.length;nbody {position: relative; z-index: 1;}').appendTo("head");return media[e]=[1==$("body").css("z-index"),t.remove()][0]},$.parsecss.isValidSelector=function(e){var t=$("").appendTo("head")[0];return[t.styleSheet?!/UNKNOWN/i.test(t.styleSheet.cssText):!!t.sheet.cssRules.length,$(t).remove()][0]},$.parsecss.parseArguments=function(str){if(!str)return[];for(var ret=[],mungedArguments=munge(str,!0).split(/\s+/),i=0;i0?t.apply(this,arguments):this.each(function(){var e=$.data(this,r),s=$(this);e?($.removeData(this,r),e.call(s),s.queue(function(){s.data(r,e).dequeue()})):t.call(s)})},$.fn[r]=function(){var t=$.makeArray(arguments),s=t[0];if($.fn[s]){t.shift();var n=$.fn[s]}else $.effects&&$.effects[s]?("object"!=typeof t[1]&&t.splice(1,0,{}),n=_show[e]):n=_show[e];return this.data(r,function(){n.apply(this,t)})}});var RESGMLcomment=//g,REnotATag=/(>)[^<]*/g,REtag=/<(\w+)([^>]*)>/g;function styleAttributes(e,t){var r,s="",n={};munge(e=e.replace(RESGMLcomment,"").replace(REnotATag,"$1")).replace(REtag,function(e,t,i){if(t=t.toLowerCase(),n[t]?++n[t]:n[t]=1,r=/\bstyle\s*=\s*(%s`\d+`s%)/i.exec(i)){var a=/\bid\s*=\s*(\S+)/i.exec(i);a=a?"#"+restore(a[1]).replace(/^['"]|['"]$/g,""):t+":eq("+(n[t]-1)+")",s+=[a,"{",restore(r[1]).replace(/^['"]|['"]$/g,""),"}"].join("")}}),$.parsecss(s,t)}}(jQuery); \ No newline at end of file diff --git a/deployed/acym/media/com_acym/js/libraries/rome.min.js b/deployed/acym/media/com_acym/js/libraries/rome.min.js index 112a2d36..55dd083e 100644 --- a/deployed/acym/media/com_acym/js/libraries/rome.min.js +++ b/deployed/acym/media/com_acym/js/libraries/rome.min.js @@ -3,5 +3,5 @@ * @version v2.1.22 * @link https://github.com/bevacqua/rome * @license MIT - */ + */ !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).rome=t()}}(function(){return function t(e,n,o){function r(i,s){if(!n[i]){if(!e[i]){var l="function"==typeof require&&require;if(!s&&l)return l(i,!0);if(a)return a(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[i]={exports:{}};e[i][0].call(u.exports,function(t){var n=e[i][1][t];return r(n||t)},u,u.exports,t,e,n,o)}return n[i].exports}for(var a="function"==typeof require&&require,i=0;i1?function(t,e){for(var n,o=a.createControlRange(),r=0,i=e.length;r=this.rangeCount)throw new Error("getRangeAt(): index out of bounds");return this._ranges[t].cloneRange()},i.removeRange=function(t){if("Control"===this._selection.type){for(var e=this._selection.createRange(),n=u(t),o=a.createControlRange(),r=!1,i=0,s=e.length;iparseInt(e.height)&&(r.overflowY="scroll")):r.overflow="hidden",{mirror:n,computed:e}),s=function(e,n){var o=u.createElement("span"),r=e.mirror,a=e.computed;return y(r,p(t).substring(0,n)),"INPUT"===t.tagName&&(r.textContent=r.textContent.replace(/\s/g," ")),y(o,p(t).substring(n)||"."),r.appendChild(o),{x:o.offsetLeft+parseInt(a.borderLeftWidth),y:o.offsetTop+parseInt(a.borderTopWidth)}}(i,a.start);return u.body.removeChild(i.mirror),s}:function(){var t=s();if(t.rangeCount){var e=t.getRangeAt(0),n="P"===e.startContainer.nodeName&&0===e.startOffset;if(n)return{x:e.startContainer.offsetLeft,y:e.startContainer.offsetTop,absolute:!0};if(e.getClientRects){var o=e.getClientRects();if(o.length>0)return{x:o[0].left,y:o[0].top,absolute:!0}}}return{x:0,y:0}})()}function p(t){return n?t.value:t.innerHTML}function y(t,e){n?t.textContent=e:t.innerHTML=e}function h(e){var n=e?"remove":"add";r[n](t,"keydown",a),r[n](t,"keyup",a),r[n](t,"input",a),r[n](t,"paste",a),r[n](t,"change",a)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./throttle":12,crossvent:18,seleccion:8,sell:10}],12:[function(t,e,n){"use strict";e.exports=function(t,e){var n,o=-1/0;return function(){n||function r(){clearTimeout(n),n=null;var a=o+e,i=Date.now();i>a?(o=i,t()):n=setTimeout(r,a-i)}()}}},{}],13:[function(t,e,n){"use strict";var o=t("ticky");e.exports=function(t,e,n){t&&o(function(){t.apply(n||null,e||[])})}},{ticky:16}],14:[function(t,e,n){"use strict";var o=t("atoa"),r=t("./debounce");e.exports=function(t,e){var n=e||{},a={};return void 0===t&&(t={}),t.on=function(e,n){return a[e]?a[e].push(n):a[e]=[n],t},t.once=function(e,n){return n._once=!0,t.on(e,n),t},t.off=function(e,n){var o=arguments.length;if(1===o)delete a[e];else if(0===o)a={};else{var r=a[e];if(!r)return t;r.splice(r.indexOf(n),1)}return t},t.emit=function(){var e=o(arguments);return t.emitterSnapshot(e.shift()).apply(this,e)},t.emitterSnapshot=function(e){var i=(a[e]||[]).slice(0);return function(){var a=o(arguments),s=this||t;if("error"===e&&!1!==n.throws&&!i.length)throw 1===a.length?a[0]:a;return i.forEach(function(o){n.async?r(o,a,s):o.apply(s,a),o._once&&t.off(e,o)}),t}},t}},{"./debounce":13,atoa:15}],15:[function(t,e,n){e.exports=function(t,e){return Array.prototype.slice.call(t,e)}},{}],16:[function(t,e,n){var o;o="function"==typeof setImmediate?function(t){setImmediate(t)}:function(t){setTimeout(t,0)},e.exports=o},{}],17:[function(t,e,n){(function(t){var n=t.CustomEvent;e.exports=function(){try{var t=new n("cat",{detail:{foo:"bar"}});return"cat"===t.type&&"bar"===t.detail.foo}catch(t){}return!1}()?n:"function"==typeof document.createEvent?function(t,e){var n=document.createEvent("CustomEvent");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],18:[function(t,e,n){(function(n){"use strict";var o=t("custom-event"),r=t("./eventmap"),a=document,i=function(t,e,n,o){return t.addEventListener(e,n,o)},s=function(t,e,n,o){return t.removeEventListener(e,n,o)},l=[];function c(t,e,n){var o=function(t,e,n){var o,r;for(o=0;o=v||r<0)&&(r+=v*-o),r}function P(t){("boolean"==typeof t?t:"none"===O.style.display)?O&&(O.style.display="block"):Y()}function Y(){O&&(O.style.display="none")}function q(){"none"!==y.style.display&&(y.style.display="none",F.emit("hide"))}function W(){return V(),ot(),P(!e.date),y.style.display="inline-block",F.emit("show"),F}function z(){return Y(),setTimeout(q,0),F}function U(){return Y(),f.contains(y,e.styles.positioned)&&setTimeout(q,0),F}function X(t){var e=t.target;if(e===F.associated)return!0;for(;e;){if(e===y)return!0;e=e.parentNode}}function $(t){X(t)||U()}function G(t){X(t)||U()}function J(){Q("subtract")}function K(){Q("add")}function Q(t){var o,r="add"===t?-1:1,a=e.monthsInCalendar+r*yt(x);p[t](a,"months"),o=ut(p.clone()),n=o||n,o&&(p=o.clone()),Z(),F.emit("add"===t?"next":"back",n.month())}function Z(t){!function(){if(e.date&&k){var t=p.year(),n=p.month();if(p.date()!==w||n!==b||t!==g){var o=S.some(function(t){return!!g&&tt(t.date,p)});w=p.date(),b=p.month(),g=p.year(),o?function(){var t=p.date()-1;function n(t){var e,n=[];for(e=0;et.date()&&o.subtract(1,"days"),!1!==e.timeValidator.call(F,o.toDate()))return o}function ft(t,n,o){for(var r=!1;!1===r&&(t[o](1,"days"),t.month()===n.month());)r=e.dateValidator.call(F,t.toDate());return!1!==r}function mt(t){var o=t.target;if(!f.contains(o,e.styles.dayDisabled)&&f.contains(o,e.styles.dayBodyElem)){var r=parseInt(s(o),10),a=f.contains(o,e.styles.dayPrevMonth),i=f.contains(o,e.styles.dayNextMonth),l=yt(o)-yt(x);n.add(l,"months"),(a||i)&&n.add(a?-1:1,"months"),pt(o),n.date(r),ht(n,ut(n)||n),p=n.clone(),!0===e.autoClose&&U(),Z()}}function pt(t){x&&f.remove(x,e.styles.selectedDay),t&&f.add(t,e.styles.selectedDay),x=t}function yt(t){for(var e;t&&t.getAttribute;){if("string"==typeof(e=t.getAttribute(R)))return parseInt(e,10);t=t.parentNode}return 0}function ht(t,e){return t.hour(e.hour()).minute(e.minute()).second(e.second()),t}function vt(t){var o=t.target;if(f.contains(o,e.styles.timeOption)){var r=d.moment(s(o),e.timeFormat);ht(n,r),p=n.clone(),nt(),et(),!e.date&&!0===e.autoClose||"time"===e.autoClose?U():Y()}}function gt(){return n.toDate()}function bt(t){return n.format(t||e.inputFormat)}function wt(){return n.clone()}}},{"./classes":22,"./clone":23,"./defaults":25,"./dom":26,"./momentum":31,"./noop":32,"./parse":33,"./text":45,"contra/emitter":14,crossvent:18}],22:[function(t,e,n){"use strict";var o=/^\s+|\s+$/g,r=/\s+/;function a(t){return t.className.replace(o,"").split(r)}function i(t,e){t.className=e.join(" ")}function s(t,e){var n=a(t),o=n.indexOf(e);return-1!==o&&(n.splice(o,1),i(t,n)),n}e.exports={add:function(t,e){var n=s(t,e);n.push(e),i(t,n)},remove:s,contains:function(t,e){return-1!==a(t).indexOf(e)}}},{}],23:[function(t,e,n){"use strict";var o=t("./momentum");e.exports=function t(e){var n,r={};for(var a in e)(n=e[a])?o.isMoment(n)?r[a]=n.clone():n._isStylesConfiguration?r[a]=t(n):r[a]=n:r[a]=n;return r}},{"./momentum":31}],24:[function(t,e,n){"use strict";var o=t("./index"),r=t("./input"),a=t("./inline"),i=t("./isInput");e.exports=function(t,e){var n,s=o.find(t);return s||(n=i(t)?r(t,e):a(t,e),o.assign(t,n),n)}},{"./index":27,"./inline":28,"./input":29,"./isInput":30}],25:[function(t,e,n){"use strict";var o=t("./parse"),r=t("./isInput"),a=t("./momentum");e.exports=function(t,e){var n,i,s=t||{};if(s.autoHideOnClick===i&&(s.autoHideOnClick=!0),s.autoHideOnBlur===i&&(s.autoHideOnBlur=!0),s.autoClose===i&&(s.autoClose=!0),s.appendTo===i&&(s.appendTo=document.body),"parent"===s.appendTo){if(!r(e.associated))throw new Error("Inline calendars must be appended to a parent node explicitly.");s.appendTo=e.associated.parentNode}if(s.invalidate===i&&(s.invalidate=!0),s.required===i&&(s.required=!1),s.date===i&&(s.date=!0),s.time===i&&(s.time=!0),!1===s.date&&!1===s.time)throw new Error("At least one of `date` or `time` must be `true`.");if(s.inputFormat===i&&(s.date&&s.time?s.inputFormat="YYYY-MM-DD HH:mm":s.date?s.inputFormat="YYYY-MM-DD":s.inputFormat="HH:mm"),s.initialValue===i?s.initialValue=null:s.initialValue=o(s.initialValue,s.inputFormat),s.min===i?s.min=null:s.min=o(s.min,s.inputFormat),s.max===i?s.max=null:s.max=o(s.max,s.inputFormat),s.timeInterval===i&&(s.timeInterval=1800),s.min&&s.max)if(s.max.isBefore(s.min)&&(n=s.max,s.max=s.min,s.min=n),!0===s.date){if(s.max.clone().subtract(1,"days").isBefore(s.min))throw new Error("`max` must be at least one day after `min`")}else if(1e3*s.timeInterval-s.min%(1e3*s.timeInterval)>s.max-s.min)throw new Error("`min` to `max` range must allow for at least one time option that matches `timeInterval`");if(s.dateValidator===i&&(s.dateValidator=Function.prototype),s.timeValidator===i&&(s.timeValidator=Function.prototype),s.timeFormat===i&&(s.timeFormat="HH:mm"),s.weekStart===i&&(s.weekStart=a.moment().weekday(0).day()),s.weekdayFormat===i&&(s.weekdayFormat="min"),"long"===s.weekdayFormat)s.weekdayFormat=a.moment.weekdays();else if("short"===s.weekdayFormat)s.weekdayFormat=a.moment.weekdaysShort();else if("min"===s.weekdayFormat)s.weekdayFormat=a.moment.weekdaysMin();else if(!Array.isArray(s.weekdayFormat)||s.weekdayFormat.length<7)throw new Error("`weekdays` must be `min`, `short`, or `long`");s.monthsInCalendar===i&&(s.monthsInCalendar=1),s.monthFormat===i&&(s.monthFormat="MMMM YYYY"),s.dayFormat===i&&(s.dayFormat="DD"),s.styles===i&&(s.styles={}),s.styles._isStylesConfiguration=!0;var l=s.styles;return l.back===i&&(l.back="rd-back"),l.container===i&&(l.container="rd-container"),l.positioned===i&&(l.positioned="rd-container-attachment"),l.date===i&&(l.date="rd-date"),l.dayBody===i&&(l.dayBody="rd-days-body"),l.dayBodyElem===i&&(l.dayBodyElem="rd-day-body"),l.dayPrevMonth===i&&(l.dayPrevMonth="rd-day-prev-month"),l.dayNextMonth===i&&(l.dayNextMonth="rd-day-next-month"),l.dayDisabled===i&&(l.dayDisabled="rd-day-disabled"),l.dayConcealed===i&&(l.dayConcealed="rd-day-concealed"),l.dayHead===i&&(l.dayHead="rd-days-head"),l.dayHeadElem===i&&(l.dayHeadElem="rd-day-head"),l.dayRow===i&&(l.dayRow="rd-days-row"),l.dayTable===i&&(l.dayTable="rd-days"),l.month===i&&(l.month="rd-month"),l.monthLabel===i&&(l.monthLabel="rd-month-label"),l.next===i&&(l.next="rd-next"),l.selectedDay===i&&(l.selectedDay="rd-day-selected"),l.selectedTime===i&&(l.selectedTime="rd-time-selected"),l.time===i&&(l.time="rd-time"),l.timeList===i&&(l.timeList="rd-time-list"),l.timeOption===i&&(l.timeOption="rd-time-option"),s}},{"./isInput":30,"./momentum":31,"./parse":33}],26:[function(t,e,n){"use strict";e.exports=function(t){var e=t||{};e.type||(e.type="div");var n=document.createElement(e.type);return e.className&&(n.className=e.className),e.text&&(n.innerText=n.textContent=e.text),e.attributes&&Object.keys(e.attributes).forEach(function(t){n.setAttribute(t,e.attributes[t])}),e.parent&&e.parent.appendChild(n),n}},{}],27:[function(t,e,n){"use strict";var o,r="data-rome-id",a=[];e.exports={find:function t(e){if("number"!=typeof e&&e&&e.getAttribute)return t(e.getAttribute(r));var n=a[e];return n!==o?n:null},assign:function(t,e){t.setAttribute(r,e.id=a.push(e)-1)}}},{}],28:[function(t,e,n){"use strict";var o=t("./calendar");e.exports=function(t,e){var n=e||{};n.appendTo=t,n.associated=t;var r=o(n);return r.show(),r}},{"./calendar":21}],29:[function(t,e,n){"use strict";var o=t("crossvent"),r=t("bullseye"),a=t("./throttle"),i=(t("./clone"),t("./defaults")),s=t("./calendar"),l=t("./momentum"),c=t("./classes");e.exports=function(t,e){var n=e||{};n.associated=t;var u,d,f,m=s(n),p=a(function(){var e=t.value.trim();if(!C()){var o=l.moment(e,n.inputFormat,n.strictParse);m.setValue(o)}},30);return y(n),m;function y(e){n=i(e||n,m),c.add(m.container,n.styles.positioned),o.add(m.container,"mousedown",b),o.add(m.container,"click",g),m.getDate=T(m.getDate),m.getDateString=T(m.getDateString),m.getMoment=T(m.getMoment),n.initialValue&&(t.value=n.initialValue.format(n.inputFormat)),f=r(m.container,t),m.on("data",E),m.on("show",f.refresh),v(),p()}function h(){v(!0),f.destroy(),f=null}function v(e){var r=e?"remove":"add";o[r](t,"click",x),o[r](t,"touchend",x),o[r](t,"focusin",x),o[r](t,"change",p),o[r](t,"keypress",p),o[r](t,"keydown",p),o[r](t,"input",p),n.invalidate&&o[r](t,"blur",w),e?(m.once("ready",y),m.off("destroyed",h)):(m.off("ready",y),m.once("destroyed",h))}function g(){d=!0,t.focus(),d=!1}function b(){u=!0,setTimeout(function(){u=!1},0)}function w(){u||C()||m.emitValues()}function x(){d||m.show()}function E(e){t.value=e}function C(){return!1===n.required&&""===t.value.trim()}function T(t){return function(){return C()?null:t.apply(this,arguments)}}}},{"./calendar":21,"./classes":22,"./clone":23,"./defaults":25,"./momentum":31,"./throttle":46,bullseye:1,crossvent:18}],30:[function(t,e,n){"use strict";e.exports=function(t){return t&&t.nodeName&&"input"===t.nodeName.toLowerCase()}},{}],31:[function(t,e,n){"use strict";var o={moment:null,isMoment:function(t){return t&&Object.prototype.hasOwnProperty.call(t,"_isAMomentObject")}};e.exports=o},{}],32:[function(t,e,n){"use strict";e.exports=function(){}},{}],33:[function(t,e,n){"use strict";var o=t("./momentum");e.exports=function(t,e){var n=function(t,e){return"string"==typeof t?o.moment(t,e):"[object Date]"===Object.prototype.toString.call(t)?o.moment(t):o.isMoment(t)?t.clone():void 0}(t,"string"==typeof e?e:null);return n&&n.isValid()?n:null}},{"./momentum":31}],34:[function(t,e,n){"use strict";Array.prototype.filter||(Array.prototype.filter=function(t,e){var n=[];return this.forEach(function(o,r,a){t.call(e,o,r,a)&&n.push(o)},e),n})},{}],35:[function(t,e,n){"use strict";Array.prototype.forEach||(Array.prototype.forEach=function(t,e){if(null==this||"function"!=typeof t)throw new TypeError;for(var n=this,o=n.length,r=0;r>>0;if("function"!=typeof t)throw new TypeError(t+" is not a function");for(arguments.length>1&&(n=e),o=new Array(i),r=0;r>>0;if("function"!=typeof t)throw new TypeError(t+" is not a function");for(arguments.length>1&&(n=e),o=0;oa?(o=i,t.apply(this,arguments)):n=setTimeout(r,a-i)}()}}},{}],47:[function(t,e,n){"use strict";var o=t("./momentum");e.exports=function(t){this.moment=o.moment=t}},{"./momentum":31}],48:[function(t,e,n){"use strict";var o=t("./index"),r=t("./parse"),a=t("./association");function i(t){return function(e){var n=r(e);return function(i){var s=o.find(e),l=r(i),c=n||s&&s.getMoment();return!c||(s&&a.add(this,s),t(l,c))}}}function s(t,e){return function(n,i){var s,l=arguments.length;return Array.isArray(n)?s=n:1===l?s=[n]:2===l&&(s=[[n,i]]),function(n){return s.map(function(t){var e,n,i=o.find(t);i?e=n=i.getMoment():Array.isArray(t)?(e=t[0],n=t[1]):e=n=t;i&&a.add(i,this);return{start:r(e).startOf("day").toDate(),end:r(n).endOf("day").toDate()}}.bind(this))[t](e.bind(this,n))}}}var l=i(function(t,e){return t>=e}),c=i(function(t,e){return t>e}),u=i(function(t,e){return t<=e}),d=i(function(t,e){return tt||e.end=t});e.exports={afterEq:l,after:c,beforeEq:u,before:d,except:f,only:m}},{"./association":20,"./index":27,"./parse":33}]},{},[44])(44)}); \ No newline at end of file diff --git a/deployed/acym/media/com_acym/js/libraries/select2.min.js b/deployed/acym/media/com_acym/js/libraries/select2.min.js index 0de541ca..4fb1bda6 100644 --- a/deployed/acym/media/com_acym/js/libraries/select2.min.js +++ b/deployed/acym/media/com_acym/js/libraries/select2.min.js @@ -4,5 +4,5 @@ * * Released under the MIT license * https://github.com/select2/select2/blob/master/LICENSE.md - */ + */ !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,n){return void 0===n&&(n="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(n),n}:e(jQuery)}(function(e){var t=function(){if(e&&e.fn&&e.fn.select2&&e.fn.select2.amd)var t=e.fn.select2.amd;var n,i,o,r;return t&&t.requirejs||(t?i=t:t={},function(e){var t,r,s,a,l={},c={},u={},d={},p=Object.prototype.hasOwnProperty,h=[].slice,f=/\.js$/;function g(e,t){return p.call(e,t)}function m(e,t){var n,i,o,r,s,a,l,c,d,p,h,g=t&&t.split("/"),m=u.map,v=m&&m["*"]||{};if(e){for(s=(e=e.split("/")).length-1,u.nodeIdCompat&&f.test(e[s])&&(e[s]=e[s].replace(f,"")),"."===e[0].charAt(0)&&g&&(e=g.slice(0,g.length-1).concat(e)),d=0;d0&&(e.splice(d-1,2),d-=2)}e=e.join("/")}if((g||v)&&m){for(d=(n=e.split("/")).length;d>0;d-=1){if(i=n.slice(0,d).join("/"),g)for(p=g.length;p>0;p-=1)if((o=m[g.slice(0,p).join("/")])&&(o=o[i])){r=o,a=d;break}if(r)break;!l&&v&&v[i]&&(l=v[i],c=d)}!r&&l&&(r=l,a=c),r&&(n.splice(0,a,r),e=n.join("/"))}return e}function v(t,n){return function(){var i=h.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),r.apply(e,i.concat([t,n]))}}function y(e){return function(t){l[e]=t}}function w(n){if(g(c,n)){var i=c[n];delete c[n],d[n]=!0,t.apply(e,i)}if(!g(l,n)&&!g(d,n))throw new Error("No "+n);return l[n]}function _(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function $(e){return e?_(e):[]}s=function(e,t){var n,i,o=_(e),r=o[0],s=t[1];return e=o[1],r&&(n=w(r=m(r,s))),r?e=n&&n.normalize?n.normalize(e,(i=s,function(e){return m(e,i)})):m(e,s):(r=(o=_(e=m(e,s)))[0],e=o[1],r&&(n=w(r))),{f:r?r+"!"+e:e,n:e,pr:r,p:n}},a={require:function(e){return v(e)},exports:function(e){var t=l[e];return void 0!==t?t:l[e]={}},module:function(e){return{id:e,uri:"",exports:l[e],config:function(e){return function(){return u&&u.config&&u.config[e]||{}}}(e)}}},t=function(t,n,i,o){var r,u,p,h,f,m,_,b=[],x=typeof i;if(m=$(o=o||t),"undefined"===x||"function"===x){for(n=!n.length&&i.length?["require","exports","module"]:n,f=0;f0&&(n.call(arguments,e.prototype.constructor),o=t.prototype.constructor),o.apply(this,arguments)}t.displayName=e.displayName,r.prototype=new function(){this.constructor=r};for(var s=0;s":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},t.appendMany=function(t,n){if("1.7"===e.fn.jquery.substr(0,3)){var i=e();e.map(n,function(e){i=i.add(e)}),n=i}t.append(n)},t}),t.define("select2/results",["jquery","./utils"],function(e,t){function n(e,t,i){this.$element=e,this.data=i,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('
          ');return this.options.get("multiple")&&t.attr("aria-multiselectable","true"),this.$results=t,t},n.prototype.clear=function(){this.$results.empty()},n.prototype.displayMessage=function(t){var n=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var i=e('
        • '),o=this.options.get("translations").get(t.message);i.append(n(o(t.args))),i[0].className+=" select2-results__message",this.$results.append(i)},n.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},n.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n0?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},n.prototype.setClasses=function(){var t=this;this.data.current(function(n){var i=e.map(n,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var t=e(this),n=e.data(this,"data"),o=""+n.id;null!=n.element&&n.element.selected||null==n.element&&e.inArray(o,i)>-1?t.attr("aria-selected","true"):t.attr("aria-selected","false")})})},n.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},n.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},n.prototype.option=function(t){var n=document.createElement("li");n.className="select2-results__option";var i={role:"treeitem","aria-selected":"false"};for(var o in t.disabled&&(delete i["aria-selected"],i["aria-disabled"]="true"),null==t.id&&delete i["aria-selected"],null!=t._resultId&&(n.id=t._resultId),t.title&&(n.title=t.title),t.children&&(i.role="group",i["aria-label"]=t.text,delete i["aria-selected"]),i){var r=i[o];n.setAttribute(o,r)}if(t.children){var s=e(n),a=document.createElement("strong");a.className="select2-results__group";e(a);this.template(t,a);for(var l=[],c=0;c
        ",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(t,n);return e.data(n,"data",t),n},n.prototype.bind=function(t,n){var i=this,o=t.id+"-results";this.$results.attr("id",o),t.on("results:all",function(e){i.clear(),i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("results:append",function(e){i.append(e.data),t.isOpen()&&i.setClasses()}),t.on("query",function(e){i.hideMessages(),i.showLoading(e)}),t.on("select",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("open",function(){i.$results.attr("aria-expanded","true"),i.$results.attr("aria-hidden","false"),i.setClasses(),i.ensureHighlightVisible()}),t.on("close",function(){i.$results.attr("aria-expanded","false"),i.$results.attr("aria-hidden","true"),i.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=i.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=i.getHighlightedResults();if(0!==e.length){var t=e.data("data");"true"==e.attr("aria-selected")?i.trigger("close",{}):i.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e);if(0!==n){var o=n-1;0===e.length&&(o=0);var r=t.eq(o);r.trigger("mouseenter");var s=i.$results.offset().top,a=r.offset().top,l=i.$results.scrollTop()+(a-s);0===o?i.$results.scrollTop(0):a-s<0&&i.$results.scrollTop(l)}}),t.on("results:next",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var o=t.eq(n);o.trigger("mouseenter");var r=i.$results.offset().top+i.$results.outerHeight(!1),s=o.offset().top+o.outerHeight(!1),a=i.$results.scrollTop()+s-r;0===n?i.$results.scrollTop(0):s>r&&i.$results.scrollTop(a)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){i.displayMessage(e)}),e.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=i.$results.scrollTop(),n=i.$results.get(0).scrollHeight-t+e.deltaY,o=e.deltaY>0&&t-e.deltaY<=0,r=e.deltaY<0&&n<=i.$results.height();o?(i.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):r&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(t){var n=e(this),o=n.data("data");"true"!==n.attr("aria-selected")?i.trigger("select",{originalEvent:t,data:o}):i.options.get("multiple")?i.trigger("unselect",{originalEvent:t,data:o}):i.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(t){var n=e(this).data("data");i.getHighlightedResults().removeClass("select2-results__option--highlighted"),i.trigger("results:focus",{data:n,element:e(this)})})},n.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},n.prototype.destroy=function(){this.$results.remove()},n.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,i=e.offset().top,o=this.$results.scrollTop()+(i-n),r=i-n;o-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(r>this.$results.outerHeight()||r<0)&&this.$results.scrollTop(o)}},n.prototype.template=function(t,n){var i=this.options.get("templateResult"),o=this.options.get("escapeMarkup"),r=i(t,n);null==r?n.style.display="none":"string"==typeof r?n.innerHTML=o(r):e(n).append(r)},n}),t.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),t.define("select2/selection/base",["jquery","../utils","../keys"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=e('');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),t.attr("title",this.$element.attr("title")),t.attr("tabindex",this._tabindex),this.$selection=t,t},i.prototype.bind=function(e,t){var i=this,o=(e.id,e.id+"-results");this.container=e,this.$selection.on("focus",function(e){i.trigger("focus",e)}),this.$selection.on("blur",function(e){i._handleBlur(e)}),this.$selection.on("keydown",function(e){i.trigger("keypress",e),e.which===n.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){i.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){i.update(e.data)}),e.on("open",function(){i.$selection.attr("aria-expanded","true"),i.$selection.attr("aria-owns",o),i._attachCloseHandler(e)}),e.on("close",function(){i.$selection.attr("aria-expanded","false"),i.$selection.removeAttr("aria-activedescendant"),i.$selection.removeAttr("aria-owns"),i.$selection.focus(),i._detachCloseHandler(e)}),e.on("enable",function(){i.$selection.attr("tabindex",i._tabindex)}),e.on("disable",function(){i.$selection.attr("tabindex","-1")})},i.prototype._handleBlur=function(t){var n=this;window.setTimeout(function(){document.activeElement==n.$selection[0]||e.contains(n.$selection[0],document.activeElement)||n.trigger("blur",t)},1)},i.prototype._attachCloseHandler=function(t){e(document.body).on("mousedown.select2."+t.id,function(t){var n=e(t.target).closest(".select2");e(".select2.select2-container--open").each(function(){var t=e(this);this!=n[0]&&t.data("element").select2("close")})})},i.prototype._detachCloseHandler=function(t){e(document.body).off("mousedown.select2."+t.id)},i.prototype.position=function(e,t){t.find(".selection").append(e)},i.prototype.destroy=function(){this._detachCloseHandler(this.container)},i.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},i}),t.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function o(){o.__super__.constructor.apply(this,arguments)}return n.Extend(o,t),o.prototype.render=function(){var e=o.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html(''),e},o.prototype.bind=function(e,t){var n=this;o.__super__.bind.apply(this,arguments);var i=e.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),e.on("focus",function(t){e.isOpen()||n.$selection.focus()}),e.on("selection:update",function(e){n.update(e.data)})},o.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},o.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},o.prototype.selectionContainer=function(){return e("")},o.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i),n.prop("title",t.title||t.text)}else this.clear()},o}),t.define("select2/selection/multiple",["jquery","./base","../utils"],function(e,t,n){function i(e,t){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('
          '),e},i.prototype.bind=function(t,n){var o=this;i.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){o.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(t){if(!o.options.get("disabled")){var n=e(this).parent().data("data");o.trigger("unselect",{originalEvent:t,data:n})}})},i.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e('
        • ×
        • ')},i.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],i=0;i1||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},t}),t.define("select2/selection/allowClear",["jquery","../keys"],function(e,t){function n(){}return n.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},n.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();for(var i=n.data("data"),o=0;o0||0===n.length)){var i=e('×');i.data("data",n),this.$selection.find(".select2-selection__rendered").prepend(i)}},n}),t.define("select2/selection/search",["jquery","../utils","../keys"],function(e,t,n){function i(e,t,n){e.call(this,t,n)}return i.prototype.render=function(t){var n=e('');this.$searchContainer=n,this.$search=n.find("input");var i=t.call(this);return this._transferTabIndex(),i},i.prototype.bind=function(e,t,i){var o=this;e.call(this,t,i),t.on("open",function(){o.$search.trigger("focus")}),t.on("close",function(){o.$search.val(""),o.$search.removeAttr("aria-activedescendant"),o.$search.trigger("focus")}),t.on("enable",function(){o.$search.prop("disabled",!1),o._transferTabIndex()}),t.on("disable",function(){o.$search.prop("disabled",!0)}),t.on("focus",function(e){o.$search.trigger("focus")}),t.on("results:focus",function(e){o.$search.attr("aria-activedescendant",e.id)}),this.$selection.on("focusin",".select2-search--inline",function(e){o.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){o._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),o.trigger("keypress",e),o._keyUpPrevented=e.isDefaultPrevented(),e.which===n.BACKSPACE&&""===o.$search.val()){var t=o.$searchContainer.prev(".select2-selection__choice");if(t.length>0){var i=t.data("data");o.searchRemoveChoice(i),e.preventDefault()}}});var r=document.documentMode,s=r&&r<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?o.$selection.off("input.search input.searchcheck"):o.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)o.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=n.SHIFT&&t!=n.CTRL&&t!=n.ALT&&t!=n.TAB&&o.handleSearch(e)}})},i.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},i.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},i.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.focus()},i.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},i.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},i.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").innerWidth():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},i}),t.define("select2/selection/eventRelay",["jquery"],function(e){function t(){}return t.prototype.bind=function(t,n,i){var o=this,r=["open","opening","close","closing","select","selecting","unselect","unselecting"],s=["opening","closing","selecting","unselecting"];t.call(this,n,i),n.on("*",function(t,n){if(-1!==e.inArray(t,r)){n=n||{};var i=e.Event("select2:"+t,{params:n});o.$element.trigger(i),-1!==e.inArray(t,s)&&(n.prevented=i.isDefaultPrevented())}})},t}),t.define("select2/translation",["jquery","require"],function(e,t){function n(e){this.dict=e||{}}return n.prototype.all=function(){return this.dict},n.prototype.get=function(e){return this.dict[e]},n.prototype.extend=function(t){this.dict=e.extend({},t.all(),this.dict)},n._cache={},n.loadPath=function(e){if(!(e in n._cache)){var i=t(e);n._cache[e]=i}return new n(n._cache[e])},n}),t.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),t.define("select2/data/base",["../utils"],function(e){function t(e,n){t.__super__.constructor.call(this)}return e.Extend(t,e.Observable),t.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},t.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},t.prototype.bind=function(e,t){},t.prototype.destroy=function(){},t.prototype.generateResultId=function(t,n){var i=t.id+"-result-";return i+=e.generateChars(4),null!=n.id?i+="-"+n.id.toString():i+="-"+e.generateChars(4),i},t}),t.define("select2/data/select",["./base","../utils","jquery"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,e),i.prototype.current=function(e){var t=[],i=this;this.$element.find(":selected").each(function(){var e=n(this),o=i.item(e);t.push(o)}),e(t)},i.prototype.select=function(e){var t=this;if(e.selected=!0,n(e.element).is("option"))return e.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(i){var o=[];(e=[e]).push.apply(e,i);for(var r=0;r=0){var u=o.filter(a(c)),d=this.item(u),p=n.extend(!0,{},c,d),h=this.option(p);u.replaceWith(h)}else{var f=this.option(c);if(c.children){var g=this.convertToOptions(c.children);t.appendMany(f,g)}s.push(f)}}return s},i}),t.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,n){function i(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),i.__super__.constructor.call(this,e,t)}return t.Extend(i,e),i.prototype._applyDefaults=function(e){var t={data:function(e){return n.extend({},e,{q:e.term})},transport:function(e,t,i){var o=n.ajax(e);return o.then(t),o.fail(i),o}};return n.extend({},t,e,!0)},i.prototype.processResults=function(e){return e},i.prototype.query=function(e,t){var i=this;null!=this._request&&(n.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var o=n.extend({type:"GET"},this.ajaxOptions);function r(){var r=o.transport(o,function(o){var r=i.processResults(o,e);i.options.get("debug")&&window.console&&console.error&&(r&&r.results&&n.isArray(r.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),t(r)},function(){r.status&&"0"===r.status||i.trigger("results:message",{message:"errorLoading"})});i._request=r}"function"==typeof o.url&&(o.url=o.url.call(this.$element,e)),"function"==typeof o.data&&(o.data=o.data.call(this.$element,e)),this.ajaxOptions.delay&&null!=e.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(r,this.ajaxOptions.delay)):r()},i}),t.define("select2/data/tags",["jquery"],function(e){function t(t,n,i){var o=i.get("tags"),r=i.get("createTag");void 0!==r&&(this.createTag=r);var s=i.get("insertTag");if(void 0!==s&&(this.insertTag=s),t.call(this,n,i),e.isArray(o))for(var a=0;a0&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),t.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){var i=this;this.current(function(o){var r=null!=o?o.length:0;i.maximumSelectionLength>0&&r>=i.maximumSelectionLength?i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):e.call(i,t,n)})},e}),t.define("select2/dropdown",["jquery","./utils"],function(e,t){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('');return t.attr("dir",this.options.get("dir")),this.$dropdown=t,t},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),t.define("select2/dropdown/search",["jquery","../utils"],function(e,t){function n(){}return n.prototype.render=function(t){var n=t.call(this),i=e('');return this.$searchContainer=i,this.$search=i.find("input"),n.prepend(i),n},n.prototype.bind=function(t,n,i){var o=this;t.call(this,n,i),this.$search.on("keydown",function(e){o.trigger("keypress",e),o._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(t){e(this).off("keyup")}),this.$search.on("keyup input",function(e){o.handleSearch(e)}),n.on("open",function(){o.$search.attr("tabindex",0),o.$search.focus(),window.setTimeout(function(){o.$search.focus()},0)}),n.on("close",function(){o.$search.attr("tabindex",-1),o.$search.val("")}),n.on("focus",function(){n.isOpen()||o.$search.focus()}),n.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(o.showSearch(e)?o.$searchContainer.removeClass("select2-search--hide"):o.$searchContainer.addClass("select2-search--hide"))})},n.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},n.prototype.showSearch=function(e,t){return!0},n}),t.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;i>=0;i--){var o=t[i];this.placeholder.id===o.id&&n.splice(i,1)}return n},e}),t.define("select2/dropdown/infiniteScroll",["jquery"],function(e){function t(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return t.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},t.prototype.bind=function(t,n,i){var o=this;t.call(this,n,i),n.on("query",function(e){o.lastParams=e,o.loading=!0}),n.on("query:append",function(e){o.lastParams=e,o.loading=!0}),this.$results.on("scroll",function(){var t=e.contains(document.documentElement,o.$loadingMore[0]);!o.loading&&t&&(o.$results.offset().top+o.$results.outerHeight(!1)+50>=o.$loadingMore.offset().top+o.$loadingMore.outerHeight(!1)&&o.loadMore())})},t.prototype.loadMore=function(){this.loading=!0;var t=e.extend({},{page:1},this.lastParams);t.page++,this.trigger("query:append",t)},t.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},t.prototype.createLoadingMore=function(){var t=e('
        • '),n=this.options.get("translations").get("loadingMore");return t.html(n(this.lastParams)),t},t}),t.define("select2/dropdown/attachBody",["jquery","../utils"],function(e,t){function n(t,n,i){this.$dropdownParent=i.get("dropdownParent")||e(document.body),t.call(this,n,i)}return n.prototype.bind=function(e,t,n){var i=this,o=!1;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),o||(o=!0,t.on("results:all",function(){i._positionDropdown(),i._resizeDropdown()}),t.on("results:append",function(){i._positionDropdown(),i._resizeDropdown()}))}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},n.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},n.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},n.prototype.render=function(t){var n=e(""),i=t.call(this);return n.append(i),this.$dropdownContainer=n,n},n.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},n.prototype._attachPositioningHandler=function(n,i){var o=this,r="scroll.select2."+i.id,s="resize.select2."+i.id,a="orientationchange.select2."+i.id,l=this.$container.parents().filter(t.hasScroll);l.each(function(){e(this).data("select2-scroll-position",{x:e(this).scrollLeft(),y:e(this).scrollTop()})}),l.on(r,function(t){var n=e(this).data("select2-scroll-position");e(this).scrollTop(n.y)}),e(window).on(r+" "+s+" "+a,function(e){o._positionDropdown(),o._resizeDropdown()})},n.prototype._detachPositioningHandler=function(n,i){var o="scroll.select2."+i.id,r="resize.select2."+i.id,s="orientationchange.select2."+i.id;this.$container.parents().filter(t.hasScroll).off(o),e(window).off(o+" "+r+" "+s)},n.prototype._positionDropdown=function(){var t=e(window),n=this.$dropdown.hasClass("select2-dropdown--above"),i=this.$dropdown.hasClass("select2-dropdown--below"),o=null,r=this.$container.offset();r.bottom=r.top+this.$container.outerHeight(!1);var s={height:this.$container.outerHeight(!1)};s.top=r.top,s.bottom=r.top+s.height;var a=this.$dropdown.outerHeight(!1),l=t.scrollTop(),c=t.scrollTop()+t.height(),u=lr.bottom+a,p={left:r.left,top:s.bottom},h=this.$dropdownParent;"static"===h.css("position")&&(h=h.offsetParent());var f=h.offset();p.top-=f.top,p.left-=f.left,n||i||(o="below"),d||!u||n?!u&&d&&n&&(o="below"):o="above",("above"==o||n&&"below"!==o)&&(p.top=s.top-f.top-a),null!=o&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+o),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+o)),this.$dropdownContainer.css(p)},n.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},n.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},n}),t.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,i=0;i0&&(d.dataAdapter=c.Decorate(d.dataAdapter,v)),d.maximumInputLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,y)),d.maximumSelectionLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,w)),d.tags&&(d.dataAdapter=c.Decorate(d.dataAdapter,g)),null==d.tokenSeparators&&null==d.tokenizer||(d.dataAdapter=c.Decorate(d.dataAdapter,m)),null!=d.query){var E=t(d.amdBase+"compat/query");d.dataAdapter=c.Decorate(d.dataAdapter,E)}if(null!=d.initSelection){var D=t(d.amdBase+"compat/initSelection");d.dataAdapter=c.Decorate(d.dataAdapter,D)}}if(null==d.resultsAdapter&&(d.resultsAdapter=n,null!=d.ajax&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,x)),null!=d.placeholder&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,b)),d.selectOnClose&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,S))),null==d.dropdownAdapter){if(d.multiple)d.dropdownAdapter=_;else{var T=c.Decorate(_,$);d.dropdownAdapter=T}if(0!==d.minimumResultsForSearch&&(d.dropdownAdapter=c.Decorate(d.dropdownAdapter,C)),d.closeOnSelect&&(d.dropdownAdapter=c.Decorate(d.dropdownAdapter,O)),null!=d.dropdownCssClass||null!=d.dropdownCss||null!=d.adaptDropdownCssClass){var q=t(d.amdBase+"compat/dropdownCss");d.dropdownAdapter=c.Decorate(d.dropdownAdapter,q)}d.dropdownAdapter=c.Decorate(d.dropdownAdapter,A)}if(null==d.selectionAdapter){if(d.multiple?d.selectionAdapter=o:d.selectionAdapter=i,null!=d.placeholder&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,r)),d.allowClear&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,s)),d.multiple&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,a)),null!=d.containerCssClass||null!=d.containerCss||null!=d.adaptContainerCssClass){var j=t(d.amdBase+"compat/containerCss");d.selectionAdapter=c.Decorate(d.selectionAdapter,j)}d.selectionAdapter=c.Decorate(d.selectionAdapter,l)}if("string"==typeof d.language)if(d.language.indexOf("-")>0){var L=d.language.split("-")[0];d.language=[d.language,L]}else d.language=[d.language];if(e.isArray(d.language)){var k=new u;d.language.push("en");for(var P=d.language,I=0;I0){for(var r=e.extend(!0,{},o),s=o.children.length-1;s>=0;s--)null==n(i,o.children[s])&&r.children.splice(s,1);return r.children.length>0?r:n(i,r)}var a=t(o.text).toUpperCase(),l=t(i.term).toUpperCase();return a.indexOf(l)>-1?o:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},D.prototype.set=function(t,n){var i={};i[e.camelCase(t)]=n;var o=c._convertData(i);e.extend(this.defaults,o)},new D}),t.define("select2/options",["require","jquery","./defaults","./utils"],function(e,t,n,i){function o(t,o){if(this.options=t,null!=o&&this.fromElement(o),this.options=n.apply(this.options),o&&o.is("input")){var r=e(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=i.Decorate(this.options.dataAdapter,r)}}return o.prototype.fromElement=function(e){var n=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),e.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),e.data("data",e.data("select2Tags")),e.data("tags",!0)),e.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",e.data("ajaxUrl")),e.data("ajax--url",e.data("ajaxUrl")));var o={};o=t.fn.jquery&&"1."==t.fn.jquery.substr(0,2)&&e[0].dataset?t.extend(!0,{},e[0].dataset,e.data()):e.data();var r=t.extend(!0,{},o);for(var s in r=i._convertData(r))t.inArray(s,n)>-1||(t.isPlainObject(this.options[s])?t.extend(this.options[s],r[s]):this.options[s]=r[s]);return this},o.prototype.get=function(e){return this.options[e]},o.prototype.set=function(e,t){this.options[e]=t},o}),t.define("select2/core",["jquery","./options","./utils","./keys"],function(e,t,n,i){var o=function(e,n){null!=e.data("select2")&&e.data("select2").destroy(),this.$element=e,this.id=this._generateId(e),n=n||{},this.options=new t(n,e),o.__super__.constructor.call(this);var i=e.attr("tabindex")||0;e.data("old-tabindex",i),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var s=this.render();this._placeContainer(s);var a=this.options.get("selectionAdapter");this.selection=new a(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,s);var l=this.options.get("dropdownAdapter");this.dropdown=new l(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,s);var c=this.options.get("resultsAdapter");this.results=new c(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var u=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){u.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),e.data("select2",this)};return n.Extend(o,n.Observable),o.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+n.generateChars(2):n.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},o.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},o.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var o=e.outerWidth(!1);return o<=0?"auto":o+"px"}if("style"==t){var r=e.attr("style");if("string"!=typeof r)return null;for(var s=r.split(";"),a=0,l=s.length;a=1)return c[1]}return null}return t},o.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},o.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=n.bind(this._syncAttributes,this),this._syncS=n.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=i?(this._observer=new i(function(n){e.each(n,t._syncA),e.each(n,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},o.prototype._registerDataEvents=function(){var e=this;this.dataAdapter.on("*",function(t,n){e.trigger(t,n)})},o.prototype._registerSelectionEvents=function(){var t=this,n=["toggle","focus"];this.selection.on("toggle",function(){t.toggleDropdown()}),this.selection.on("focus",function(e){t.focus(e)}),this.selection.on("*",function(i,o){-1===e.inArray(i,n)&&t.trigger(i,o)})},o.prototype._registerDropdownEvents=function(){var e=this;this.dropdown.on("*",function(t,n){e.trigger(t,n)})},o.prototype._registerResultsEvents=function(){var e=this;this.results.on("*",function(t,n){e.trigger(t,n)})},o.prototype._registerEvents=function(){var e=this;this.on("open",function(){e.$container.addClass("select2-container--open")}),this.on("close",function(){e.$container.removeClass("select2-container--open")}),this.on("enable",function(){e.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){e.$container.addClass("select2-container--disabled")}),this.on("blur",function(){e.$container.removeClass("select2-container--focus")}),this.on("query",function(t){e.isOpen()||e.trigger("open",{}),this.dataAdapter.query(t,function(n){e.trigger("results:all",{data:n,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(n){e.trigger("results:append",{data:n,query:t})})}),this.on("keypress",function(t){var n=t.which;e.isOpen()?n===i.ESC||n===i.TAB||n===i.UP&&t.altKey?(e.close(),t.preventDefault()):n===i.ENTER?(e.trigger("results:select",{}),t.preventDefault()):n===i.SPACE&&t.ctrlKey?(e.trigger("results:toggle",{}),t.preventDefault()):n===i.UP?(e.trigger("results:previous",{}),t.preventDefault()):n===i.DOWN&&(e.trigger("results:next",{}),t.preventDefault()):(n===i.ENTER||n===i.SPACE||n===i.DOWN&&t.altKey)&&(e.open(),t.preventDefault())})},o.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},o.prototype._syncSubtree=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&t.addedNodes.length>0)for(var o=0;o0&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})}},o.prototype.trigger=function(e,t){var n=o.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===t&&(t={}),e in i){var r=i[e],s={prevented:!1,name:e,args:t};if(n.call(this,r,s),s.prevented)return void(t.prevented=!0)}n.call(this,e,t)},o.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},o.prototype.open=function(){this.isOpen()||this.trigger("query",{})},o.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},o.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},o.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},o.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},o.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},o.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var e=[];return this.dataAdapter.current(function(t){e=t}),e},o.prototype.val=function(t){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==t||0===t.length)return this.$element.val();var n=t[0];e.isArray(n)&&(n=e.map(n,function(e){return e.toString()})),this.$element.val(n).trigger("change")},o.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},o.prototype.render=function(){var t=e('');return t.attr("dir",this.options.get("dir")),this.$container=t,this.$container.addClass("select2-container--"+this.options.get("theme")),t.data("element",this.$element),t},o}),t.define("select2/compat/utils",["jquery"],function(e){return{syncCssClasses:function(t,n,i){var o,r,s=[];(o=e.trim(t.attr("class")))&&e((o=""+o).split(/\s+/)).each(function(){0===this.indexOf("select2-")&&s.push(this)}),(o=e.trim(n.attr("class")))&&e((o=""+o).split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(r=i(this))&&s.push(r)}),t.attr("class",s.join(" "))}}}),t.define("select2/compat/containerCss",["jquery","./utils"],function(e,t){function n(e){return null}function i(){}return i.prototype.render=function(i){var o=i.call(this),r=this.options.get("containerCssClass")||"";e.isFunction(r)&&(r=r(this.$element));var s=this.options.get("adaptContainerCssClass");if(s=s||n,-1!==r.indexOf(":all:")){r=r.replace(":all:","");var a=s;s=function(e){var t=a(e);return null!=t?t+" "+e:e}}var l=this.options.get("containerCss")||{};return e.isFunction(l)&&(l=l(this.$element)),t.syncCssClasses(o,this.$element,s),o.css(l),o.addClass(r),o},i}),t.define("select2/compat/dropdownCss",["jquery","./utils"],function(e,t){function n(e){return null}function i(){}return i.prototype.render=function(i){var o=i.call(this),r=this.options.get("dropdownCssClass")||"";e.isFunction(r)&&(r=r(this.$element));var s=this.options.get("adaptDropdownCssClass");if(s=s||n,-1!==r.indexOf(":all:")){r=r.replace(":all:","");var a=s;s=function(e){var t=a(e);return null!=t?t+" "+e:e}}var l=this.options.get("dropdownCss")||{};return e.isFunction(l)&&(l=l(this.$element)),t.syncCssClasses(o,this.$element,s),o.css(l),o.addClass(r),o},i}),t.define("select2/compat/initSelection",["jquery"],function(e){function t(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return t.prototype.current=function(t,n){var i=this;this._isInitialized?t.call(this,n):this.initSelection.call(null,this.$element,function(t){i._isInitialized=!0,e.isArray(t)||(t=[t]),n(t)})},t}),t.define("select2/compat/inputData",["jquery"],function(e){function t(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `","
          ","
          ","
          ","","","
          ","
        ","
        "].join("")}();function l(e,r,a,n){for(var s=[],o=0;o')}else{s.push(t("
        ").append(t('').attr("title",n.noColorSelectedText)).html())}}return"
        "+s.join("")+"
        "}function c(c,f){var g,b,v,m,y=function(e,a){var n=t.extend({},r,e);return n.callbacks={move:h(n.move,a),change:h(n.change,a),show:h(n.show,a),hide:h(n.hide,a),beforeShow:h(n.beforeShow,a)},n}(f,c),w=y.flat,_=y.showSelectionPalette,x=y.localStorageKey,k=y.theme,S=y.callbacks,C=(g=Kt,b=10,function(){var t=this,e=arguments;v&&clearTimeout(m),!v&&m||(m=setTimeout(function(){m=null,g.apply(t,e)},b))}),P=!1,A=!1,M=0,R=0,H=0,F=0,T=0,O=0,q=0,N=0,j=0,E=0,D=1,I=[],z=[],B={},L=y.selectionPalette.slice(0),K=y.maxSelectionSize,V="sp-dragging",$=null,W=c.ownerDocument,X=(W.body,t(c)),Y=!1,G=t(o,W).addClass(k),Q=G.find(".sp-picker-container"),J=G.find(".sp-color"),U=G.find(".sp-dragger"),Z=G.find(".sp-hue"),tt=G.find(".sp-slider"),et=G.find(".sp-alpha-inner"),rt=G.find(".sp-alpha"),at=G.find(".sp-alpha-handle"),nt=G.find(".sp-input"),it=G.find(".sp-palette"),st=G.find(".sp-initial"),ot=G.find(".sp-cancel"),lt=G.find(".sp-clear"),ct=G.find(".sp-choose"),ft=G.find(".sp-palette-toggle"),ut=X.is("input"),ht=ut&&"color"===X.attr("type")&&p(),dt=ut&&!w,pt=dt?t(s).addClass(k).addClass(y.className).addClass(y.replacerClassName):t([]),gt=dt?pt:X,bt=pt.find(".sp-preview-inner"),vt=y.color||ut&&X.val(),mt=!1,yt=y.preferredFormat,wt=!y.showButtons||y.clickoutFiresChange,_t=!vt,xt=y.allowEmpty&&!ht;function kt(){if(y.showPaletteOnly&&(y.showPalette=!0),ft.text(y.showPaletteOnly?y.togglePaletteMoreText:y.togglePaletteLessText),y.palette){I=y.palette.slice(0),z=t.isArray(I[0])?I:[I],B={};for(var e=0;e1&&(delete window.localStorage[x],t.each(e,function(t,e){Ct(e)}))}catch(t){}try{L=window.localStorage[x].split(";")}catch(t){}}}function Ct(e){if(_){var r=tinycolor(e).toRgbString();if(!B[r]&&-1===t.inArray(r,L))for(L.push(r);L.length>K;)L.shift();if(x&&window.localStorage)try{window.localStorage[x]=L.join(";")}catch(t){}}}function Pt(){var e=Dt(),r=t.map(z,function(t,r){return l(t,e,"sp-palette-row sp-palette-row-"+r,y)});St(),L&&r.push(l(function(){var t=[];if(y.showPalette)for(var e=0;el&&l>a?Math.abs(f.left+a-l):0),f.top-=Math.min(f.top,f.top+n>c&&c>n?Math.abs(n+i-0):0),f))),Bt(),y.showPalette&&Pt(),X.trigger("reflow.spectrum"))}function Vt(){Nt(),Y=!0,X.attr("disabled",!0),gt.addClass("sp-disabled")}!function(){if(n&&G.find("*:not(input)").attr("unselectable","on"),kt(),dt&&X.after(pt).hide(),xt||lt.hide(),w)X.after(G).hide();else{var e="parent"===y.appendTo?X.parent():t(y.appendTo);1!==e.length&&(e=t("body")),e.append(G)}function r(e){return e.data&&e.data.ignore?(Et(t(e.target).closest(".sp-thumb-el").data("color")),It()):(Et(t(e.target).closest(".sp-thumb-el").data("color")),It(),Lt(!0),y.hideAfterPaletteSelect&&Nt()),!1}St(),gt.bind("click.spectrum touchstart.spectrum",function(e){Y||Ft(),e.stopPropagation(),t(e.target).is("input")||e.preventDefault()}),(X.is(":disabled")||!0===y.disabled)&&Vt(),G.click(u),nt.change(Ht),nt.bind("paste",function(){setTimeout(Ht,1)}),nt.keydown(function(t){13==t.keyCode&&Ht()}),ot.text(y.cancelText),ot.bind("click.spectrum",function(t){t.stopPropagation(),t.preventDefault(),jt(),Nt()}),lt.attr("title",y.clearText),lt.bind("click.spectrum",function(t){t.stopPropagation(),t.preventDefault(),_t=!0,It(),w&&Lt(!0)}),ct.text(y.chooseText),ct.bind("click.spectrum",function(t){t.stopPropagation(),t.preventDefault(),n&&nt.is(":focus")&&nt.trigger("change"),nt.hasClass("sp-validation-error")||(Lt(!0),Nt())}),ft.text(y.showPaletteOnly?y.togglePaletteMoreText:y.togglePaletteLessText),ft.bind("click.spectrum",function(t){t.stopPropagation(),t.preventDefault(),y.showPaletteOnly=!y.showPaletteOnly,y.showPaletteOnly||w||G.css("left","-="+(Q.outerWidth(!0)+5)),kt()}),d(rt,function(t,e,r){D=t/T,_t=!1,r.shiftKey&&(D=Math.round(10*D)/10),It()},Mt,Rt),d(Z,function(t,e){N=parseFloat(e/F),_t=!1,y.showAlpha||(D=1),It()},Mt,Rt),d(J,function(t,e,r){if(r.shiftKey){if(!$){var a=j*M,n=R-E*R,i=Math.abs(t-a)>Math.abs(e-n);$=i?"x":"y"}}else $=null;var s=!$||"y"===$;(!$||"x"===$)&&(j=parseFloat(t/M)),s&&(E=parseFloat((R-e)/R)),_t=!1,y.showAlpha||(D=1),It()},Mt,Rt),vt?(Et(vt),zt(),yt=y.preferredFormat||tinycolor(vt).format,Ct(vt)):zt(),w&&Tt();var a=n?"mousedown.spectrum":"click.spectrum touchstart.spectrum";it.delegate(".sp-thumb-el",a,r),st.delegate(".sp-thumb-el:nth-child(1)",a,{ignore:!0},r)}();var $t={show:Tt,hide:Nt,toggle:Ft,reflow:Kt,option:function(r,a){return r===e?t.extend({},y):a===e?y[r]:(y[r]=a,"preferredFormat"===r&&(yt=y.preferredFormat),void kt())},enable:function(){Y=!1,X.attr("disabled",!1),gt.removeClass("sp-disabled")},disable:Vt,offset:function(t){y.offset=t,Kt()},set:function(t){Et(t),Lt()},get:Dt,destroy:function(){X.show(),gt.unbind("click.spectrum touchstart.spectrum"),G.remove(),pt.remove(),a[$t.id]=null},container:G};return $t.id=a.push($t)-1,$t}function f(){}function u(t){t.stopPropagation()}function h(t,e){var r=Array.prototype.slice,a=r.call(arguments,2);return function(){return t.apply(e,a.concat(r.call(arguments)))}}function d(e,r,a,i){r=r||function(){},a=a||function(){},i=i||function(){};var s=document,o=!1,l={},c=0,f=0,u="ontouchstart"in window,h={};function d(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.returnValue=!1}function p(t){if(o){if(n&&s.documentMode<9&&!t.button)return g();var a=t.originalEvent&&t.originalEvent.touches&&t.originalEvent.touches[0],i=a&&a.pageX||t.pageX,h=a&&a.pageY||t.pageY,p=Math.max(0,Math.min(i-l.left,f)),b=Math.max(0,Math.min(h-l.top,c));u&&d(t),r.apply(e,[p,b,t])}}function g(){o&&(t(s).unbind(h),t(s.body).removeClass("sp-dragging"),setTimeout(function(){i.apply(e,arguments)},0)),o=!1}h.selectstart=d,h.dragstart=d,h["touchmove mousemove"]=p,h["touchend mouseup"]=g,t(e).bind("touchstart mousedown",function(r){(r.which?3==r.which:2==r.button)||o||!1!==a.apply(e,arguments)&&(o=!0,c=t(e).height(),f=t(e).width(),l=t(e).offset(),t(s).bind(h),t(s.body).addClass("sp-dragging"),p(r),d(r))})}function p(){return t.fn.spectrum.inputTypeColorSupport()}t.fn.spectrum=function(e,r){if("string"==typeof e){var n=this,i=Array.prototype.slice.call(arguments,1);return this.each(function(){var r=a[t(this).data("spectrum.id")];if(r){var s=r[e];if(!s)throw new Error("Spectrum: no such method: '"+e+"'");"get"==e?n=r.get():"container"==e?n=r.container:"option"==e?n=r.option.apply(r,i):"destroy"==e?(r.destroy(),t(this).removeData("spectrum.id")):s.apply(r,i)}}),n}return this.spectrum("destroy").each(function(){var r=c(this,t.extend({},e,t(this).data()));t(this).data("spectrum.id",r.id)})},t.fn.spectrum.load=!0,t.fn.spectrum.loadOpts={},t.fn.spectrum.draggable=d,t.fn.spectrum.defaults=r,t.fn.spectrum.inputTypeColorSupport=function e(){if(void 0===e._cachedResult){var r=t("")[0];e._cachedResult="color"===r.type&&""!==r.value}return e._cachedResult},t.spectrum={},t.spectrum.localization={},t.spectrum.palettes={},t.fn.spectrum.processNativeColorInputs=function(){var e=t("input[type=color]");e.length&&!p()&&e.spectrum({preferredFormat:"hex6"})},function(){var t=/^[\s,#]+/,e=/\s+$/,r=0,a=Math,n=a.round,i=a.min,s=a.max,o=a.random,l=function(o,c){if(c=c||{},(o=o||"")instanceof l)return o;if(!(this instanceof l))return new l(o,c);var f=function(r){var n={r:0,g:0,b:0},o=1,l=!1,c=!1;"string"==typeof r&&(r=function(r){r=r.replace(t,"").replace(e,"").toLowerCase();var a,n=!1;if(P[r])r=P[r],n=!0;else if("transparent"==r)return{r:0,g:0,b:0,a:0,format:"name"};if(a=E.rgb.exec(r))return{r:a[1],g:a[2],b:a[3]};if(a=E.rgba.exec(r))return{r:a[1],g:a[2],b:a[3],a:a[4]};if(a=E.hsl.exec(r))return{h:a[1],s:a[2],l:a[3]};if(a=E.hsla.exec(r))return{h:a[1],s:a[2],l:a[3],a:a[4]};if(a=E.hsv.exec(r))return{h:a[1],s:a[2],v:a[3]};if(a=E.hsva.exec(r))return{h:a[1],s:a[2],v:a[3],a:a[4]};if(a=E.hex8.exec(r))return{a:(i=a[1],F(i)/255),r:F(a[2]),g:F(a[3]),b:F(a[4]),format:n?"name":"hex8"};var i;if(a=E.hex6.exec(r))return{r:F(a[1]),g:F(a[2]),b:F(a[3]),format:n?"name":"hex"};if(a=E.hex3.exec(r))return{r:F(a[1]+""+a[1]),g:F(a[2]+""+a[2]),b:F(a[3]+""+a[3]),format:n?"name":"hex"};return!1}(r));"object"==typeof r&&(r.hasOwnProperty("r")&&r.hasOwnProperty("g")&&r.hasOwnProperty("b")?(f=r.r,u=r.g,h=r.b,n={r:255*R(f,255),g:255*R(u,255),b:255*R(h,255)},l=!0,c="%"===String(r.r).substr(-1)?"prgb":"rgb"):r.hasOwnProperty("h")&&r.hasOwnProperty("s")&&r.hasOwnProperty("v")?(r.s=O(r.s),r.v=O(r.v),n=function(t,e,r){t=6*R(t,360),e=R(e,100),r=R(r,100);var n=a.floor(t),i=t-n,s=r*(1-e),o=r*(1-i*e),l=r*(1-(1-i)*e),c=n%6;return{r:255*[r,o,s,s,l,r][c],g:255*[l,r,r,o,s,s][c],b:255*[s,s,l,r,r,o][c]}}(r.h,r.s,r.v),l=!0,c="hsv"):r.hasOwnProperty("h")&&r.hasOwnProperty("s")&&r.hasOwnProperty("l")&&(r.s=O(r.s),r.l=O(r.l),n=function(t,e,r){var a,n,i;function s(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=R(t,360),e=R(e,100),r=R(r,100),0===e)a=n=i=r;else{var o=r<.5?r*(1+e):r+e-r*e,l=2*r-o;a=s(l,o,t+1/3),n=s(l,o,t),i=s(l,o,t-1/3)}return{r:255*a,g:255*n,b:255*i}}(r.h,r.s,r.l),l=!0,c="hsl"),r.hasOwnProperty("a")&&(o=r.a));var f,u,h;return o=M(o),{ok:l,format:r.format||c,r:i(255,s(n.r,0)),g:i(255,s(n.g,0)),b:i(255,s(n.b,0)),a:o}}(o);this._originalInput=o,this._r=f.r,this._g=f.g,this._b=f.b,this._a=f.a,this._roundA=n(100*this._a)/100,this._format=c.format||f.format,this._gradientType=c.gradientType,this._r<1&&(this._r=n(this._r)),this._g<1&&(this._g=n(this._g)),this._b<1&&(this._b=n(this._b)),this._ok=f.ok,this._tc_id=r++};function c(t,e,r){t=R(t,255),e=R(e,255),r=R(r,255);var a,n,o=s(t,e,r),l=i(t,e,r),c=(o+l)/2;if(o==l)a=n=0;else{var f=o-l;switch(n=c>.5?f/(2-o-l):f/(o+l),o){case t:a=(e-r)/f+(e>1)+720)%360;--e;)a.h=(a.h+n)%360,i.push(l(a));return i}function C(t,e){e=e||6;for(var r=l(t).toHsv(),a=r.h,n=r.s,i=r.v,s=[],o=1/e;e--;)s.push(l({h:a,s:n,v:i})),i=(i+o)%1;return s}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},setAlpha:function(t){return this._a=M(t),this._roundA=n(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=n(360*t.h),r=n(100*t.s),a=n(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+a+"%)":"hsva("+e+", "+r+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=n(360*t.h),r=n(100*t.s),a=n(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+a+"%)":"hsla("+e+", "+r+"%, "+a+"%, "+this._roundA+")"},toHex:function(t){return u(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(){return h(this._r,this._g,this._b,this._a)},toHex8String:function(){return"#"+this.toHex8()},toRgb:function(){return{r:n(this._r),g:n(this._g),b:n(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+n(this._r)+", "+n(this._g)+", "+n(this._b)+")":"rgba("+n(this._r)+", "+n(this._g)+", "+n(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:n(100*R(this._r,255))+"%",g:n(100*R(this._g,255))+"%",b:n(100*R(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+n(100*R(this._r,255))+"%, "+n(100*R(this._g,255))+"%, "+n(100*R(this._b,255))+"%)":"rgba("+n(100*R(this._r,255))+"%, "+n(100*R(this._g,255))+"%, "+n(100*R(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(A[u(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+h(this._r,this._g,this._b,this._a),r=e,a=this._gradientType?"GradientType = 1, ":"";t&&(r=l(t).toHex8String());return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,a=this._a<1&&this._a>=0;return e||!a||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(v,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(p,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(y,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(S,arguments)},complement:function(){return this._applyCombination(w,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(_,arguments)},tetrad:function(){return this._applyCombination(x,arguments)}},l.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var a in t)t.hasOwnProperty(a)&&(r[a]="a"===a?t[a]:O(t[a]));t=r}return l(t,e)},l.equals=function(t,e){return!(!t||!e)&&l(t).toRgbString()==l(e).toRgbString()},l.random=function(){return l.fromRatio({r:o(),g:o(),b:o()})},l.mix=function(t,e,r){r=0===r?0:r||50;var a,n=l(t).toRgb(),i=l(e).toRgb(),s=r/100,o=2*s-1,c=i.a-n.a,f=1-(a=((a=o*c==-1?o:(o+c)/(1+o*c))+1)/2),u={r:i.r*a+n.r*f,g:i.g*a+n.g*f,b:i.b*a+n.b*f,a:i.a*s+n.a*(1-s)};return l(u)},l.readability=function(t,e){var r=l(t),a=l(e),n=r.toRgb(),i=a.toRgb(),s=r.getBrightness(),o=a.getBrightness(),c=Math.max(n.r,i.r)-Math.min(n.r,i.r)+Math.max(n.g,i.g)-Math.min(n.g,i.g)+Math.max(n.b,i.b)-Math.min(n.b,i.b);return{brightness:Math.abs(s-o),color:c}},l.isReadable=function(t,e){var r=l.readability(t,e);return r.brightness>125&&r.color>500},l.mostReadable=function(t,e){for(var r=null,a=0,n=!1,i=0;i125&&s.color>500,c=s.brightness/125*3+s.color/500;(o&&!n||o&&n&&c>a||!o&&!n&&c>a)&&(n=o,a=c,r=l(e[i]))}return r};var P=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},A=l.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(P);function M(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function R(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=i(e,s(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),a.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function H(t){return i(1,s(0,t))}function F(t){return parseInt(t,16)}function T(t){return 1==t.length?"0"+t:""+t}function O(t){return t<=1&&(t=100*t+"%"),t}var q,N,j,E=(N="[\\s|\\(]+("+(q="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+q+")[,|\\s]+("+q+")\\s*\\)?",j="[\\s|\\(]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")\\s*\\)?",{rgb:new RegExp("rgb"+N),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+N),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+N),hsva:new RegExp("hsva"+j),hex3:/^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex8:/^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});window.tinycolor=l}(),t(function(){t.fn.spectrum.load&&t.fn.spectrum.processNativeColorInputs()})}); \ No newline at end of file diff --git a/deployed/acym/media/com_acym/js/libraries/what-input.min.js b/deployed/acym/media/com_acym/js/libraries/what-input.min.js index 253e676f..8f01755d 100644 --- a/deployed/acym/media/com_acym/js/libraries/what-input.min.js +++ b/deployed/acym/media/com_acym/js/libraries/what-input.min.js @@ -3,5 +3,5 @@ * @version v4.2.0 * @link https://github.com/ten1seven/what-input * @license MIT - */ + */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("whatInput",[],t):"object"==typeof exports?exports.whatInput=t():e.whatInput=t()}(this,function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t){"use strict";e.exports=function(){var e="initial",t=null,n=document.documentElement,o=["input","select","textarea"],i=[],r=[16,17,18,91,93],u=[9],d={keydown:"keyboard",mousedown:"mouse",mousemove:"mouse",MSPointerDown:"pointer",MSPointerMove:"pointer",pointerdown:"pointer",pointermove:"pointer",touchstart:"touch"},s=[],a=!1,c=!1,p={x:null,y:null},f={2:"touch",3:"touch",4:"mouse"},v=!1;try{var m=Object.defineProperty({},"passive",{get:function(){v=!0}});window.addEventListener("test",null,m)}catch(e){}var w=function(){window.PointerEvent?(n.addEventListener("pointerdown",l),n.addEventListener("pointermove",y)):window.MSPointerEvent?(n.addEventListener("MSPointerDown",l),n.addEventListener("MSPointerMove",y)):(n.addEventListener("mousedown",l),n.addEventListener("mousemove",y),"ontouchstart"in window&&(n.addEventListener("touchstart",x),n.addEventListener("touchend",x))),n.addEventListener(b(),y,!!v&&{passive:!0}),n.addEventListener("keydown",l)},l=function(n){if(!a){var i=n.which,s=d[n.type];if("pointer"===s&&(s=L(n)),e!==s||t!==s){var c=document.activeElement,p=!1;(c&&c.nodeName&&-1===o.indexOf(c.nodeName.toLowerCase())||-1!==u.indexOf(i))&&(p=!0),("touch"===s||"mouse"===s||"keyboard"===s&&i&&p&&-1===r.indexOf(i))&&(e=t=s,h())}}},h=function(){n.setAttribute("data-whatinput",e),n.setAttribute("data-whatintent",e),-1===s.indexOf(e)&&(s.push(e),n.className+=" whatinput-types-"+e),E("input")},y=function(e){if(p.x!==e.screenX||p.y!==e.screenY?(c=!1,p.x=e.screenX,p.y=e.screenY):c=!0,!a&&!c){var o=d[e.type];"pointer"===o&&(o=L(e)),t!==o&&(t=o,n.setAttribute("data-whatintent",t),E("intent"))}},x=function(e){"touchstart"===e.type?(a=!1,l(e)):a=!0},E=function(e){for(var n=0,o=i.length;n0){for(t="",r=0,s=0;s0&&(r=0),u[s].checked&&r++,t=u[s].getAttribute("name")}if(0===r)return alert(n.message),!1}var o=document.querySelectorAll("#"+formName+' [type="checkbox"][data-required]');if(o.length>0){for(t="",r=0,s=0;s0&&(r=0),o[s].checked&&r++,t=o[s].getAttribute("name")}if(0===r)return alert(n.message),!1}var c=document.querySelectorAll("#"+formName+" [data-required]");if(c.length>0)for(s=0;s0)for(s=0;sget('userinfo', '1') == '1' && !empty($currentUserEmail)) { - $userClass = acym_get('class.user'); - $identifiedUser = $userClass->getOneByEmail($currentUserEmail); -} - -$visibleLists = $params->get('displists', []); -$hiddenLists = $params->get('hiddenlists', []); -$fields = $params->get('fields', []); -$allfields = is_array($fields) ? $fields : explode(',', $fields); -if (!in_array('2', $allfields)) { - $allfields[] = 2; -} -acym_arrayToInteger($visibleLists); -acym_arrayToInteger($hiddenLists); -acym_arrayToInteger($allfields); - -$listClass = acym_get('class.list'); -$fieldClass = acym_get('class.field'); - -$allLists = $listClass->getAll(); -$visibleLists = array_intersect($visibleLists, array_keys($allLists)); -$hiddenLists = array_intersect($hiddenLists, array_keys($allLists)); -$allfields = $fieldClass->getFieldsByID($allfields); -$fields = []; -foreach ($allfields as $field) { - $fields[$field->id] = $field; -} - -if (empty($visibleLists) && empty($hiddenLists)) { - $hiddenLists = array_keys($allLists); -} - -if (!empty($visibleLists) && !empty($hiddenLists)) { - $visibleLists = array_diff($visibleLists, $hiddenLists); -} - -if (empty($identifiedUser->id)) { - $checkedLists = $params->get('listschecked', []); - if (!is_array($checkedLists)) { - if (strtolower($checkedLists) == 'all') { - $checkedLists = $visibleLists; - } elseif (strpos($checkedLists, ',') || is_numeric($checkedLists)) { - $checkedLists = explode(',', $checkedLists); - } else { - $checkedLists = []; - } - } -} else { - $checkedLists = []; - $userLists = $userClass->getUserSubscriptionById($identifiedUser->id); - - $countSub = 0; - $countUnsub = 0; - $formLists = array_merge($visibleLists, $hiddenLists); - foreach ($formLists as $idOneList) { - if (empty($userLists[$idOneList]) || $userLists[$idOneList]->status == 0) { - $countSub++; - } else { - $countUnsub++; - $checkedLists[] = $idOneList; - } - } -} -acym_arrayToInteger($checkedLists); - - -$config = acym_config(); - -$subscribeText = $params->get('subtext', 'ACYM_SUBSCRIBE'); -if (!empty($identifiedUser->id)) $subscribeText = $params->get('subtextlogged', 'ACYM_SUBSCRIBE'); -$unsubscribeText = $params->get('unsubtext', 'ACYM_UNSUBSCRIBE'); - -$listPosition = $params->get('listposition', 'before'); -$displayOutside = $params->get('textmode') == '0'; - -$redirectURL = $params->get('redirect', ''); -$unsubRedirectURL = $params->get('unsubredirect', ''); -$ajax = empty($redirectURL) && empty($unsubRedirectURL) ? '1' : '0'; - -$formClass = $params->get('formclass', ''); -$alignment = $params->get('alignment', 'none'); -$style = $alignment == 'none' ? '' : 'style="text-align: '.$alignment.'"'; - -$termsURL = acym_getArticleURL( - $params->get('termscontent', 0), - $params->get('articlepopup', 1), - 'ACYM_TERMS_CONDITIONS', - acym_translation('ACYM_TERMS_CONDITIONS') -); -$privacyURL = acym_getArticleURL( - $params->get('privacypolicy', 0), - $params->get('articlepopup', 1), - 'ACYM_PRIVACY_POLICY', - acym_translation('ACYM_PRIVACY_POLICY') -); - -if (empty($termsURL) && empty($privacyURL)) { - $termslink = ''; -} elseif (empty($privacyURL)) { - $termslink = acym_translation_sprintf('ACYM_I_AGREE_TERMS', $termsURL); -} elseif (empty($termsURL)) { - $termslink = acym_translation_sprintf('ACYM_I_AGREE_PRIVACY', $privacyURL); -} else { - $termslink = acym_translation_sprintf('ACYM_I_AGREE_BOTH', $termsURL, $privacyURL); -} - - -$formName = acym_getModuleFormName(); -$formAction = htmlspecialchars_decode(acym_completeLink('frontusers', true, true)); - -$js = "window.addEventListener('DOMContentLoaded', (event) => {"; -$js .= "\n"."acymModule['excludeValues".$formName."'] = [];"; -$fieldsToDisplay = []; -foreach ($fields as $field) { - $fieldsToDisplay[$field->id] = $field->name; - $js .= "\n"."acymModule['excludeValues".$formName."']['".$field->id."'] = '".acym_translation($field->name, true)."';"; -} -$js .= " });"; -echo ""; -?> -
        -
        > -
        -
        - get('introtext', ''); - if (!empty($introText)) { - echo '
        '.$introText.'
        '; - } - - if ($params->get('mode', 'tableless') == 'tableless') { - $view = 'tableless.php'; - } else { - $displayInline = $params->get('mode', 'tableless') != 'vertical'; - $view = 'default.php'; - } - - $app = JFactory::getApplication('site'); - $template = $app->getTemplate(); - if (file_exists(str_replace(DS, '/', ACYM_ROOT).'templates/'.$template.'/html/mod_acym/'.$view)) { - include(ACYM_ROOT.'templates'.DS.$template.DS.'html'.DS.'mod_acym'.DS.$view); - } else { - include(__DIR__.DS.'tmpl'.DS.$view); - } - - ?> -
        - - - - - - {emailcloak=off}'; - } - - if (!empty($redirectURL)) echo ''; - if (!empty($unsubRedirectURL)) echo ''; - - ?> - - - - - - - - get('posttext', ''); - if (!empty($postText)) { - echo '
        '.$postText.'
        '; - } - ?> -
        -
        -
        -get('userinfo', '1') == '1' && !empty($currentUserEmail)) { + $userClass = acym_get('class.user'); + $identifiedUser = $userClass->getOneByEmail($currentUserEmail); +} + +$visibleLists = $params->get('displists', []); +$hiddenLists = $params->get('hiddenlists', []); +$fields = $params->get('fields', []); +$allfields = is_array($fields) ? $fields : explode(',', $fields); +if (!in_array('2', $allfields)) { + $allfields[] = 2; +} +acym_arrayToInteger($visibleLists); +acym_arrayToInteger($hiddenLists); +acym_arrayToInteger($allfields); + +$listClass = acym_get('class.list'); +$fieldClass = acym_get('class.field'); + +$allLists = $listClass->getAll(); +$visibleLists = array_intersect($visibleLists, array_keys($allLists)); +$hiddenLists = array_intersect($hiddenLists, array_keys($allLists)); +$allfields = $fieldClass->getFieldsByID($allfields); +$fields = []; +foreach ($allfields as $field) { + $fields[$field->id] = $field; +} + +if (empty($visibleLists) && empty($hiddenLists)) { + $hiddenLists = array_keys($allLists); +} + +if (!empty($visibleLists) && !empty($hiddenLists)) { + $visibleLists = array_diff($visibleLists, $hiddenLists); +} + +if (empty($identifiedUser->id)) { + $checkedLists = $params->get('listschecked', []); + if (!is_array($checkedLists)) { + if (strtolower($checkedLists) == 'all') { + $checkedLists = $visibleLists; + } elseif (strpos($checkedLists, ',') || is_numeric($checkedLists)) { + $checkedLists = explode(',', $checkedLists); + } else { + $checkedLists = []; + } + } +} else { + $checkedLists = []; + $userLists = $userClass->getUserSubscriptionById($identifiedUser->id); + + $countSub = 0; + $countUnsub = 0; + $formLists = array_merge($visibleLists, $hiddenLists); + foreach ($formLists as $idOneList) { + if (empty($userLists[$idOneList]) || $userLists[$idOneList]->status == 0) { + $countSub++; + } else { + $countUnsub++; + $checkedLists[] = $idOneList; + } + } +} +acym_arrayToInteger($checkedLists); + + +$config = acym_config(); + +$subscribeText = $params->get('subtext', 'ACYM_SUBSCRIBE'); +if (!empty($identifiedUser->id)) $subscribeText = $params->get('subtextlogged', 'ACYM_SUBSCRIBE'); +$unsubscribeText = $params->get('unsubtext', 'ACYM_UNSUBSCRIBE'); + +$listPosition = $params->get('listposition', 'before'); +$displayOutside = $params->get('textmode') == '0'; + +$redirectURL = $params->get('redirect', ''); +$unsubRedirectURL = $params->get('unsubredirect', ''); +$ajax = empty($redirectURL) && empty($unsubRedirectURL) ? '1' : '0'; + +$formClass = $params->get('formclass', ''); +$alignment = $params->get('alignment', 'none'); +$style = $alignment == 'none' ? '' : 'style="text-align: '.$alignment.'"'; + +$termsURL = acym_getArticleURL( + $params->get('termscontent', 0), + $params->get('articlepopup', 1), + 'ACYM_TERMS_CONDITIONS', + acym_translation('ACYM_TERMS_CONDITIONS') +); +$privacyURL = acym_getArticleURL( + $params->get('privacypolicy', 0), + $params->get('articlepopup', 1), + 'ACYM_PRIVACY_POLICY', + acym_translation('ACYM_PRIVACY_POLICY') +); + +if (empty($termsURL) && empty($privacyURL)) { + $termslink = ''; +} elseif (empty($privacyURL)) { + $termslink = acym_translation_sprintf('ACYM_I_AGREE_TERMS', $termsURL); +} elseif (empty($termsURL)) { + $termslink = acym_translation_sprintf('ACYM_I_AGREE_PRIVACY', $privacyURL); +} else { + $termslink = acym_translation_sprintf('ACYM_I_AGREE_BOTH', $termsURL, $privacyURL); +} + + +$formName = acym_getModuleFormName(); +$formAction = htmlspecialchars_decode(acym_completeLink('frontusers', true, true)); + +$js = "window.addEventListener('DOMContentLoaded', (event) => {"; +$js .= "\n"."acymModule['excludeValues".$formName."'] = [];"; +$fieldsToDisplay = []; +foreach ($fields as $field) { + $fieldsToDisplay[$field->id] = $field->name; + $js .= "\n"."acymModule['excludeValues".$formName."']['".$field->id."'] = '".acym_translation($field->name, true)."';"; +} +$js .= " });"; +echo ""; +?> +
        +
        > +
        +
        + get('introtext', ''); + if (!empty($introText)) { + echo '
        '.$introText.'
        '; + } + + if ($params->get('mode', 'tableless') == 'tableless') { + $view = 'tableless.php'; + } else { + $displayInline = $params->get('mode', 'tableless') != 'vertical'; + $view = 'default.php'; + } + + $app = JFactory::getApplication('site'); + $template = $app->getTemplate(); + if (file_exists(str_replace(DS, '/', ACYM_ROOT).'templates/'.$template.'/html/mod_acym/'.$view)) { + include(ACYM_ROOT.'templates'.DS.$template.DS.'html'.DS.'mod_acym'.DS.$view); + } else { + include(__DIR__.DS.'tmpl'.DS.$view); + } + + ?> +
        + + + + + + {emailcloak=off}'; + } + + if (!empty($redirectURL)) echo ''; + if (!empty($unsubRedirectURL)) echo ''; + + ?> + + + + + + + + get('posttext', ''); + if (!empty($postText)) { + echo '
        '.$postText.'
        '; + } + ?> +
        +
        +
        + - + diff --git a/deployed/acym/modules/mod_acym/tmpl/default.php b/deployed/acym/modules/mod_acym/tmpl/default.php index fd530fe3..d3144a31 100644 --- a/deployed/acym/modules/mod_acym/tmpl/default.php +++ b/deployed/acym/modules/mod_acym/tmpl/default.php @@ -1,99 +1,99 @@ -'; - foreach ($visibleLists as $myListId) { - $check = ''; - if (in_array($myListId, $checkedLists)) { - $check = 'checked="checked"'; - } - - $listsContent .= ' - - - - - - '; - } - $listsContent .= ''; -} -if ($listPosition == 'before') echo $listsContent; -?> - - - - option->fieldDB) ? '' : json_decode($field->option->fieldDB); - $field->value = empty($field->value) ? '' : json_decode($field->value); - $field->option = json_decode($field->option); - $valuesArray = []; - if (!empty($field->value)) { - foreach ($field->value as $value) { - $valueTmp = new stdClass(); - $valueTmp->text = $value->title; - $valueTmp->value = $value->value; - if ($value->disabled == 'y') $valueTmp->disable = true; - $valuesArray[$value->value] = $valueTmp; - } - } - if (!empty($fieldDB) && !empty($fieldDB->value)) { - $fromDB = $fieldClass->getValueFromDB($fieldDB); - foreach ($fromDB as $value) { - $valuesArray[$value->value] = $value->title; - } - } - $size = empty($field->option->size) ? '' : 'width:'.$field->option->size.'px'; - echo ''; - if (!$displayInline) echo ''; - } - - if ($listPosition != 'before') { - echo ''; - if (!$displayInline) echo ''; - } - - if (empty($identifiedUser->id) && $config->get('captcha', '') == 1) { - echo ''; - if (!$displayInline) echo ''; - } - - if (!empty($termslink)) { - echo ''; - if (!$displayInline) echo ''; - } - ?> - - - -
        '; - echo $fieldClass->displayField($field, $field->default_value, $size, $valuesArray, $displayOutside, true, $identifiedUser); - echo '
        '.$listsContent.'
        '; - $captcha = acym_get('helper.captcha'); - echo $captcha->display($formName); - echo '
        '; - echo ' '.$termslink; - echo '
        class="acysubbuttons"> - - - get('unsub', '0') == '1' && !empty($countUnsub)) { ?> - - - -
        - +'; + foreach ($visibleLists as $myListId) { + $check = ''; + if (in_array($myListId, $checkedLists)) { + $check = 'checked="checked"'; + } + + $listsContent .= ' + + + + + + '; + } + $listsContent .= ''; +} +if ($listPosition == 'before') echo $listsContent; +?> + + + + option->fieldDB) ? '' : json_decode($field->option->fieldDB); + $field->value = empty($field->value) ? '' : json_decode($field->value); + $field->option = json_decode($field->option); + $valuesArray = []; + if (!empty($field->value)) { + foreach ($field->value as $value) { + $valueTmp = new stdClass(); + $valueTmp->text = $value->title; + $valueTmp->value = $value->value; + if ($value->disabled == 'y') $valueTmp->disable = true; + $valuesArray[$value->value] = $valueTmp; + } + } + if (!empty($fieldDB) && !empty($fieldDB->value)) { + $fromDB = $fieldClass->getValueFromDB($fieldDB); + foreach ($fromDB as $value) { + $valuesArray[$value->value] = $value->title; + } + } + $size = empty($field->option->size) ? '' : 'width:'.$field->option->size.'px'; + echo ''; + if (!$displayInline) echo ''; + } + + if ($listPosition != 'before') { + echo ''; + if (!$displayInline) echo ''; + } + + if (empty($identifiedUser->id) && $config->get('captcha', '') == 1) { + echo ''; + if (!$displayInline) echo ''; + } + + if (!empty($termslink)) { + echo ''; + if (!$displayInline) echo ''; + } + ?> + + + +
        '; + echo $fieldClass->displayField($field, $field->default_value, $size, $valuesArray, $displayOutside, true, $identifiedUser); + echo '
        '.$listsContent.'
        '; + $captcha = acym_get('helper.captcha'); + echo $captcha->display($formName); + echo '
        '; + echo ' '.$termslink; + echo '
        class="acysubbuttons"> + + + get('unsub', '0') == '1' && !empty($countUnsub)) { ?> + + + +
        + diff --git a/deployed/acym/modules/mod_acym/tmpl/tableless.php b/deployed/acym/modules/mod_acym/tmpl/tableless.php index 86222314..3a428f73 100644 --- a/deployed/acym/modules/mod_acym/tmpl/tableless.php +++ b/deployed/acym/modules/mod_acym/tmpl/tableless.php @@ -1,107 +1,107 @@ -'; - foreach ($visibleLists as $myListId) { - $check = ''; - if (in_array($myListId, $checkedLists)) { - $check = 'checked="checked"'; - } - - $listsContent .= ' -
        - - -
        '; - } - $listsContent .= '
        '; -} -if ($listPosition == 'before') echo $listsContent; -?> - - - -
        - option->fieldDB) ? '' : json_decode($field->option->fieldDB); - $field->value = empty($field->value) ? '' : json_decode($field->value); - $field->option = json_decode($field->option); - $valuesArray = []; - if (!empty($field->value)) { - foreach ($field->value as $value) { - $valueTmp = new stdClass(); - $valueTmp->text = $value->title; - $valueTmp->value = $value->value; - if ($value->disabled == 'y') $valueTmp->disable = true; - $valuesArray[$value->value] = $valueTmp; - } - } - if (!empty($fieldDB) && !empty($fieldDB->value)) { - $fromDB = $fieldClass->getValueFromDB($fieldDB); - foreach ($fromDB as $value) { - $valuesArray[$value->value] = $value->title; - } - } - $size = empty($field->option->size) ? '' : 'width:'.$field->option->size.'px'; - echo '
        '; - echo $fieldClass->displayField($field, $field->default_value, $size, $valuesArray, $displayOutside, true, $identifiedUser); - echo '
        '; - } - - if ($listPosition != 'before') echo $listsContent; - - if (empty($identifiedUser->id) && $config->get('captcha', '') == 1) { - echo '
        '; - $captcha = acym_get('helper.captcha'); - echo $captcha->display($formName); - echo '
        '; - } - - if (!empty($termslink)) { - echo '
        '; - echo ''; - echo '
        '; - } - ?> -
        - -

        -

        - -
        - - -get('unsub', '0') == '1' && !empty($countUnsub)) { ?> - - - -

        - +'; + foreach ($visibleLists as $myListId) { + $check = ''; + if (in_array($myListId, $checkedLists)) { + $check = 'checked="checked"'; + } + + $listsContent .= ' +
        + + +
        '; + } + $listsContent .= '
        '; +} +if ($listPosition == 'before') echo $listsContent; +?> + + + +
        + option->fieldDB) ? '' : json_decode($field->option->fieldDB); + $field->value = empty($field->value) ? '' : json_decode($field->value); + $field->option = json_decode($field->option); + $valuesArray = []; + if (!empty($field->value)) { + foreach ($field->value as $value) { + $valueTmp = new stdClass(); + $valueTmp->text = $value->title; + $valueTmp->value = $value->value; + if ($value->disabled == 'y') $valueTmp->disable = true; + $valuesArray[$value->value] = $valueTmp; + } + } + if (!empty($fieldDB) && !empty($fieldDB->value)) { + $fromDB = $fieldClass->getValueFromDB($fieldDB); + foreach ($fromDB as $value) { + $valuesArray[$value->value] = $value->title; + } + } + $size = empty($field->option->size) ? '' : 'width:'.$field->option->size.'px'; + echo '
        '; + echo $fieldClass->displayField($field, $field->default_value, $size, $valuesArray, $displayOutside, true, $identifiedUser); + echo '
        '; + } + + if ($listPosition != 'before') echo $listsContent; + + if (empty($identifiedUser->id) && $config->get('captcha', '') == 1) { + echo '
        '; + $captcha = acym_get('helper.captcha'); + echo $captcha->display($formName); + echo '
        '; + } + + if (!empty($termslink)) { + echo '
        '; + echo ''; + echo '
        '; + } + ?> +
        + +

        +

        + +
        + + +get('unsub', '0') == '1' && !empty($countUnsub)) { ?> + + + +

        + diff --git a/deployed/acym/plugins/system/acymtriggers/acymtriggers.php b/deployed/acym/plugins/system/acymtriggers/acymtriggers.php index e985ad76..1d60c5cb 100644 --- a/deployed/acym/plugins/system/acymtriggers/acymtriggers.php +++ b/deployed/acym/plugins/system/acymtriggers/acymtriggers.php @@ -1,13 +1,13 @@ -acymtriggers.php - + diff --git a/deployed/acym/plugins/system/jceacym/jceacym.php b/deployed/acym/plugins/system/jceacym/jceacym.php index efd0208e..a6ac5cfc 100644 --- a/deployed/acym/plugins/system/jceacym/jceacym.php +++ b/deployed/acym/plugins/system/jceacym/jceacym.php @@ -1,13 +1,13 @@ -jceacym.php - + diff --git a/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.backend.id1.log b/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.backend.id1.log index 7b9b8d7a..ccc19df8 100644 --- a/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.backend.id1.log +++ b/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.backend.id1.log @@ -1,1209 +1,1209 @@ -DEBUG |180718 11:08:16|*** Batching successive steps (nesting level 1) -DEBUG |180718 11:08:16|====== Starting Step number 1 ====== -DEBUG |180718 11:08:16|Kettenrad :: Switching domains -DEBUG |180718 11:08:16|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN -DEBUG |180718 11:08:16|Switching to domain init, class Init -DEBUG |180718 11:08:16|Akeeba\Engine\Core\Domain\Init :: New instance -DEBUG |180718 11:08:16|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:16|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:16|Kettenrad :: Break flag status: YES -DEBUG |180718 11:08:16|----- Finished operation 1 ------ -DEBUG |180718 11:08:16|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Init -DEBUG |180718 11:08:16|====== Finished Step number 1 ====== -DEBUG |180718 11:08:16|Kettenrad :: Setting the break flag between domains -DEBUG |180718 11:08:16|*** Engine steps batching: Break flag detected. -DEBUG |180718 11:08:16|*** Batching of engine steps finished. I will now return control to the caller. -DEBUG |180718 11:08:16|====== Starting Step number 2 ====== -DEBUG |180718 11:08:16|Kettenrad :: Ticking the domain object -INFO |180718 11:08:16|-------------------------------------------------------------------------------- -INFO |180718 11:08:16|Akeeba Backup 6.1.1 (2018-06-05) -INFO |180718 11:08:16|Got backup? -INFO |180718 11:08:16|-------------------------------------------------------------------------------- -INFO |180718 11:08:16|--- System Information --- -INFO |180718 11:08:16|PHP Version :5.5.9-1ubuntu4.25 -INFO |180718 11:08:16|PHP OS :Linux -INFO |180718 11:08:16|PHP SAPI :cgi-fcgi -INFO |180718 11:08:16|OS Version :Linux -INFO |180718 11:08:16|DB Version :5.5.60-0ubuntu0.14.04.1 -INFO |180718 11:08:16|Web Server :Apache/2.4.7 (Ubuntu) -INFO |180718 11:08:16|Joomla! version :3.5.1 -INFO |180718 11:08:16|User agent :Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 -INFO |180718 11:08:16|Safe mode : -INFO |180718 11:08:16|Display errors : -INFO |180718 11:08:16|Error reporting :E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE -INFO |180718 11:08:16|Error display :off -INFO |180718 11:08:16|Disabled functions : -INFO |180718 11:08:16|open_basedir restr.: -INFO |180718 11:08:16|Max. exec. time :0 -INFO |180718 11:08:16|Memory limit :512M -INFO |180718 11:08:16|Current mem. usage :5912864 -INFO |180718 11:08:16|GZIP Compression : available (good) -INFO |180718 11:08:16|JPATH_BASE :/administrator -INFO |180718 11:08:16|JPATH_SITE : -INFO |180718 11:08:16|JPATH_ROOT : -INFO |180718 11:08:16|JPATH_CACHE :/administrator/cache -INFO |180718 11:08:16|Computed root : -INFO |180718 11:08:16|Min/Max/Bias :2000/14/75 -INFO |180718 11:08:16|Output directory :/administrator/components/com_akeeba/backup -INFO |180718 11:08:16|Part size (bytes) :0 -INFO |180718 11:08:16|-------------------------------------------------------------------------------- -WARNING |180718 11:08:16|You are using PHP 5.5.9-1ubuntu4.25 which is officially End of Life. We recommend using PHP 7.0 or later for best results. Your version of PHP, 5.5.9-1ubuntu4.25, will stop being supported by this backup software in the future. -INFO |180718 11:08:16|Loaded profile #1 -DEBUG |180718 11:08:16|Archive template name: site-[HOST]-[DATE]-[TIME_TZ] -DEBUG |180718 11:08:16|Expanded template name: site-www.archlinexp.com-20180718-090816utc -DEBUG |180718 11:08:16|Backup type is now set to 'full' -DEBUG |180718 11:08:16|Expanded archive file name: /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa -DEBUG |180718 11:08:16|Initializing archiver engine -DEBUG |180718 11:08:16|Akeeba\Engine\Archiver\Jpa :: new instance - archive /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa -DEBUG |180718 11:08:16|Akeeba\Engine\Archiver\BaseArchiver :: Killing old archive -DEBUG |180718 11:08:16|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:16|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:16|----- Finished operation 1 ------ -DEBUG |180718 11:08:16|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:16|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:16|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:16|----- Finished operation 2 ------ -DEBUG |180718 11:08:16|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Init -DEBUG |180718 11:08:16|Kettenrad :: Domain 'init' has finished. -DEBUG |180718 11:08:16|====== Finished Step number 2 ====== -DEBUG |180718 11:08:16|Kettenrad :: Setting the break flag between domains -DEBUG |180718 11:08:16|*** Engine steps batching: Break flag detected. -DEBUG |180718 11:08:16|*** Batching of engine steps finished. I will now return control to the caller. -DEBUG |180718 11:08:16|Sleeping for 1908.0557823181 msec, using usleep() -DEBUG |180718 11:08:18|Saving Kettenrad instance backend -DEBUG |180718 11:08:18|Kettenrad :: Attempting to load from database (backend) [backend.id1] -DEBUG |180718 11:08:18| -- Loaded stored Akeeba Factory (backend) [backend.id1] -DEBUG |180718 11:08:18|====== Starting Step number 3 ====== -DEBUG |180718 11:08:18|Kettenrad :: Switching domains -DEBUG |180718 11:08:18|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN -DEBUG |180718 11:08:18|Switching to domain installer, class Installer -DEBUG |180718 11:08:18|Akeeba\Engine\Core\Domain\Installer :: New instance -DEBUG |180718 11:08:18|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:18|Truncating backup archive file /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa to 19 bytes -DEBUG |180718 11:08:18|-- Adding installation/README.html to archive (virtual data) -DEBUG |180718 11:08:18|-- Adding installation/extrainfo.ini to archive (virtual data) -DEBUG |180718 11:08:18|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:18|Kettenrad :: Break flag status: YES -DEBUG |180718 11:08:18|----- Finished operation 1 ------ -DEBUG |180718 11:08:18|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Installer -DEBUG |180718 11:08:18|====== Finished Step number 3 ====== -DEBUG |180718 11:08:18|Kettenrad :: Setting the break flag between domains -DEBUG |180718 11:08:18|*** Engine steps batching: Break flag detected. -DEBUG |180718 11:08:18|*** Batching of engine steps finished. I will now return control to the caller. -DEBUG |180718 11:08:18|Sleeping for 1998.4760284424 msec, using usleep() -DEBUG |180718 11:08:20|Saving Kettenrad instance backend -DEBUG |180718 11:08:20|Kettenrad :: Attempting to load from database (backend) [backend.id1] -DEBUG |180718 11:08:20| -- Loaded stored Akeeba Factory (backend) [backend.id1] -DEBUG |180718 11:08:20|====== Starting Step number 4 ====== -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20|Initializing with JPA package /administrator/components/com_akeeba/Master/Installers/angie.jpa -DEBUG |180718 11:08:20| Adding installation/index.php; Next offset:1327 -DEBUG |180718 11:08:20|Truncating backup archive file /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa to 635 bytes -DEBUG |180718 11:08:20|-- Adding installation/index.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 1 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/version.php; Next offset:1618 -DEBUG |180718 11:08:20|-- Adding installation/version.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 2 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/defines.php; Next offset:2095 -DEBUG |180718 11:08:20|-- Adding installation/defines.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 3 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/css/bootstrap-responsive.min.css; Next offset:6151 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/css/bootstrap-responsive.min.css to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 4 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/css/footer.css; Next offset:6856 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/css/footer.css to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 5 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/css/bootstrap.min.css; Next offset:23970 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/css/bootstrap.min.css to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 6 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/index.php; Next offset:24949 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/index.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 7 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/js/jquery.js; Next offset:57767 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/js/jquery.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 8 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/js/bootstrap.min.js; Next offset:65285 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/js/bootstrap.min.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 9 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/js/jquery.simulate.js; Next offset:68051 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/js/jquery.simulate.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 10 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/php/messages.php; Next offset:68550 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/messages.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 11 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/php/head.php; Next offset:69257 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/head.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 12 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/php/buttonsfooter.php; Next offset:70007 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/buttonsfooter.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 13 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/php/buttons.php; Next offset:70595 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/buttons.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 14 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/img/loading_small.gif; Next offset:74511 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/loading_small.gif to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 15 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/img/loading_big.gif; Next offset:82068 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/loading_big.gif to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 16 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/img/glyphicons-halflings-white.png; Next offset:90665 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/glyphicons-halflings-white.png to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 17 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/img/glyphicons-halflings.png; Next offset:103349 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/glyphicons-halflings.png to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 18 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/template/angie/error.php; Next offset:104209 -DEBUG |180718 11:08:20|-- Adding installation/template/angie/error.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 19 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/tmp/index.html; Next offset:104293 -DEBUG |180718 11:08:20|-- Adding installation/tmp/index.html to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 20 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/tmp/web.config; Next offset:104455 -DEBUG |180718 11:08:20|-- Adding installation/tmp/web.config to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 21 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/tmp/.htaccess; Next offset:104606 -DEBUG |180718 11:08:20|-- Adding installation/tmp/.htaccess to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 22 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/view/view.php; Next offset:109411 -DEBUG |180718 11:08:20|-- Adding installation/framework/view/view.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 23 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/document/raw.php; Next offset:109761 -DEBUG |180718 11:08:20|-- Adding installation/framework/document/raw.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 24 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/document/document.php; Next offset:111764 -DEBUG |180718 11:08:20|-- Adding installation/framework/document/document.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 25 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/document/json.php; Next offset:112125 -DEBUG |180718 11:08:20|-- Adding installation/framework/document/json.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 26 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/document/html.php; Next offset:112544 -DEBUG |180718 11:08:20|-- Adding installation/framework/document/html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 27 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/download/download.php; Next offset:116268 -DEBUG |180718 11:08:20|-- Adding installation/framework/download/download.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 28 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/cacert.pem; Next offset:282673 -DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/cacert.pem to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 29 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/curl.php; Next offset:284759 -DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/curl.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 30 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/fopen.php; Next offset:286379 -DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/fopen.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 31 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/abstract.php; Next offset:287661 -DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/abstract.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 32 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/download/interface.php; Next offset:288772 -DEBUG |180718 11:08:20|-- Adding installation/framework/download/interface.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 33 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/dispatcher/dispatcher.php; Next offset:290973 -DEBUG |180718 11:08:20|-- Adding installation/framework/dispatcher/dispatcher.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 34 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/model/model.php; Next offset:294610 -DEBUG |180718 11:08:20|-- Adding installation/framework/model/model.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 35 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/filter/input.php; Next offset:300562 -DEBUG |180718 11:08:20|-- Adding installation/framework/filter/input.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 36 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/session/session.php; Next offset:304369 -DEBUG |180718 11:08:20|-- Adding installation/framework/session/session.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 37 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/ftp/ftp.php; Next offset:309825 -DEBUG |180718 11:08:20|-- Adding installation/framework/ftp/ftp.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 38 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/timer/timer.php; Next offset:311661 -DEBUG |180718 11:08:20|-- Adding installation/framework/timer/timer.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 39 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Autoloader/Autoloader.php; Next offset:313514 -DEBUG |180718 11:08:20|-- Adding installation/framework/Autoloader/Autoloader.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 40 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/object/object.php; Next offset:314670 -DEBUG |180718 11:08:20|-- Adding installation/framework/object/object.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 41 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/README.md; Next offset:314968 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/README.md to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 42 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/phpunit.xml.dist; Next offset:315371 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/phpunit.xml.dist to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 43 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Parser.php; Next offset:320832 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Parser.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 44 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Unescaper.php; Next offset:322125 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Unescaper.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 45 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Inline.php; Next offset:326386 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Inline.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 46 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/CHANGELOG.md; Next offset:326606 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/CHANGELOG.md to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 47 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/LICENSE; Next offset:327310 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/LICENSE to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 48 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/ExceptionInterface.php; Next offset:327674 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/ExceptionInterface.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 49 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/ParseException.php; Next offset:328760 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/ParseException.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 50 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/RuntimeException.php; Next offset:329167 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/RuntimeException.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 51 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/DumpException.php; Next offset:329539 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/DumpException.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 52 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Dumper.php; Next offset:330521 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Dumper.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 53 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/composer.json; Next offset:330929 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/composer.json to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 54 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Yaml.php; Next offset:332197 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Yaml.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 55 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Escaper.php; Next offset:333397 -DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Escaper.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 56 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/log/log.php; Next offset:334073 -DEBUG |180718 11:08:20|-- Adding installation/framework/log/log.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 57 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/input/input.php; Next offset:336219 -DEBUG |180718 11:08:20|-- Adding installation/framework/input/input.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 58 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/pimple/pimple.php; Next offset:338752 -DEBUG |180718 11:08:20|-- Adding installation/framework/pimple/pimple.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 59 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/pimple/ServiceProviderInterface.php; Next offset:339272 -DEBUG |180718 11:08:20|-- Adding installation/framework/pimple/ServiceProviderInterface.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 60 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/exception/download.php; Next offset:339607 -DEBUG |180718 11:08:20|-- Adding installation/framework/exception/download.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 61 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/exception/dispatch.php; Next offset:339940 -DEBUG |180718 11:08:20|-- Adding installation/framework/exception/dispatch.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 62 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/exception/app.php; Next offset:340265 -DEBUG |180718 11:08:20|-- Adding installation/framework/exception/app.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 63 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/exception/interface.php; Next offset:340577 -DEBUG |180718 11:08:20|-- Adding installation/framework/exception/interface.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 64 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/path.php; Next offset:341989 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/path.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 65 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/serialised.php; Next offset:344812 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/serialised.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 66 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/ip.php; Next offset:346211 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/ip.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 67 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/randval.php; Next offset:347857 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/randval.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 68 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/phptokenizer.php; Next offset:350439 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/phptokenizer.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 69 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/servertechnology.php; Next offset:351139 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/servertechnology.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 70 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/PasswordHash.php; Next offset:353621 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/PasswordHash.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 71 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/buffer.php; Next offset:355158 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/buffer.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 72 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/utils/password.php; Next offset:357913 -DEBUG |180718 11:08:20|-- Adding installation/framework/utils/password.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 73 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/uri/uri.php; Next offset:362489 -DEBUG |180718 11:08:20|-- Adding installation/framework/uri/uri.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 74 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/autoloader.php; Next offset:363430 -DEBUG |180718 11:08:20|-- Adding installation/framework/autoloader.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 75 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/controller/controller.php; Next offset:369861 -DEBUG |180718 11:08:20|-- Adding installation/framework/controller/controller.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 76 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/text/text.php; Next offset:371758 -DEBUG |180718 11:08:20|-- Adding installation/framework/text/text.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 77 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/application/application.php; Next offset:375247 -DEBUG |180718 11:08:20|-- Adding installation/framework/application/application.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 78 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/container/container.php; Next offset:375969 -DEBUG |180718 11:08:20|-- Adding installation/framework/container/container.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 79 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/postgresql.php; Next offset:384532 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/postgresql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 80 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/sqlazure.php; Next offset:385129 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/sqlazure.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 81 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/sqlite.php; Next offset:388146 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/sqlite.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 82 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/pdo.php; Next offset:394013 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/pdo.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 83 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/pdomysql.php; Next offset:398121 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/pdomysql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 84 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/mysql.php; Next offset:401595 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/mysql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 85 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/sqlsrv.php; Next offset:408057 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/sqlsrv.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 86 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver/mysqli.php; Next offset:413711 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/mysqli.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 87 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query.php; Next offset:420494 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 88 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore.php; Next offset:426344 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 89 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/postgresql.php; Next offset:429586 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/postgresql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 90 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/sqlazure.php; Next offset:430274 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/sqlazure.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 91 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/sqlite.php; Next offset:432391 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/sqlite.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 92 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/preparable.php; Next offset:433363 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/preparable.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 93 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/pdo.php; Next offset:433675 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/pdo.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 94 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/pdomysql.php; Next offset:434169 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/pdomysql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 95 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/mysql.php; Next offset:434657 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/mysql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 96 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/sqlsrv.php; Next offset:436318 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/sqlsrv.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 97 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/mysqli.php; Next offset:437490 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/mysqli.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 98 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/query/limitable.php; Next offset:438443 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/limitable.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 99 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/factory.php; Next offset:440013 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/factory.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 100 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore/postgresql.php; Next offset:442915 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/postgresql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 101 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore/sqlazure.php; Next offset:443251 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/sqlazure.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 102 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore/pdomysql.php; Next offset:443589 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/pdomysql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 103 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore/mysql.php; Next offset:443920 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/mysql.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 104 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore/sqlsrv.php; Next offset:446624 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/sqlsrv.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 105 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/restore/mysqli.php; Next offset:452030 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/mysqli.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 106 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/framework/database/driver.php; Next offset:461205 -DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 107 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/database.php; Next offset:462745 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/database.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 108 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/session.php; Next offset:463861 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/session.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 109 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/steps.php; Next offset:466152 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/steps.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 110 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/base/main.php; Next offset:467741 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/main.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 111 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/base/setup.php; Next offset:468906 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/setup.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 112 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/base/finalise.php; Next offset:470161 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/finalise.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 113 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/base/offsitedirs.php; Next offset:471383 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/offsitedirs.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 114 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/base/configuration.php; Next offset:472646 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/configuration.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 115 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/finalise.php; Next offset:472937 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/finalise.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 116 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/offsitedirs.php; Next offset:473232 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/offsitedirs.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 117 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/models/ftpbrowser.php; Next offset:474756 -DEBUG |180718 11:08:20|-- Adding installation/angie/models/ftpbrowser.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 118 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/js/database.js; Next offset:476408 -DEBUG |180718 11:08:20|-- Adding installation/angie/js/database.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 119 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/js/ajax.js; Next offset:477682 -DEBUG |180718 11:08:20|-- Adding installation/angie/js/ajax.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 120 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/js/ftpbrowser.js; Next offset:478046 -DEBUG |180718 11:08:20|-- Adding installation/angie/js/ftpbrowser.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 121 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/js/finalise.js; Next offset:478733 -DEBUG |180718 11:08:20|-- Adding installation/angie/js/finalise.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 122 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/js/offsitedirs.js; Next offset:479654 -DEBUG |180718 11:08:20|-- Adding installation/angie/js/offsitedirs.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 123 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/js/json.js; Next offset:481157 -DEBUG |180718 11:08:20|-- Adding installation/angie/js/json.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 124 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/application.php; Next offset:481677 -DEBUG |180718 11:08:20|-- Adding installation/angie/application.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 125 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/language/en-GB.ini; Next offset:494324 -DEBUG |180718 11:08:20|-- Adding installation/angie/language/en-GB.ini to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 126 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/language/index.html; Next offset:494419 -DEBUG |180718 11:08:20|-- Adding installation/angie/language/index.html to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 127 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/dbrestore.php; Next offset:495271 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/dbrestore.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 128 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/session.php; Next offset:495784 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/session.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 129 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/base/main.php; Next offset:496266 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/base/main.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 130 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/base/setup.php; Next offset:496902 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/base/setup.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 131 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/base/finalise.php; Next offset:497532 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/base/finalise.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 132 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/finalise.php; Next offset:497832 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/finalise.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 133 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/offsitedirs.php; Next offset:498578 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/offsitedirs.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 134 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/controllers/password.php; Next offset:499130 -DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/password.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 135 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/autoloader.php; Next offset:500088 -DEBUG |180718 11:08:20|-- Adding installation/angie/autoloader.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 136 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/dispatcher.php; Next offset:501218 -DEBUG |180718 11:08:20|-- Adding installation/angie/dispatcher.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 137 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/helpers/setup.php; Next offset:501856 -DEBUG |180718 11:08:20|-- Adding installation/angie/helpers/setup.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 138 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/helpers/ini.php; Next offset:503499 -DEBUG |180718 11:08:20|-- Adding installation/angie/helpers/ini.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 139 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/helpers/select.php; Next offset:507597 -DEBUG |180718 11:08:20|-- Adding installation/angie/helpers/select.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 140 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/assets/runscripts.php; Next offset:508730 -DEBUG |180718 11:08:20|-- Adding installation/angie/assets/runscripts.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 141 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/finalise/tmpl/success.php; Next offset:509088 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/finalise/tmpl/success.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 142 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/finalise/tmpl/config.php; Next offset:509534 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/finalise/tmpl/config.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 143 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/finalise/tmpl/default.php; Next offset:510704 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/finalise/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 144 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/session/view.html.php; Next offset:511089 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/session/view.html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 145 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/session/tmpl/default.php; Next offset:512562 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/session/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 146 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/session/tmpl/blocked.php; Next offset:513354 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/session/tmpl/blocked.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 147 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/ftpbrowser/view.html.php; Next offset:513916 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/ftpbrowser/view.html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 148 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/ftpbrowser/tmpl/default.php; Next offset:514877 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/ftpbrowser/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 149 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/offsitedirs/view.html.php; Next offset:515396 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/offsitedirs/view.html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 150 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/offsitedirs/tmpl/default.php; Next offset:516643 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/offsitedirs/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 151 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/steps/tmpl/steps.php; Next offset:517567 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/steps/tmpl/steps.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 152 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/steps/tmpl/buttons.php; Next offset:518542 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/steps/tmpl/buttons.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 153 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/password/tmpl/default.php; Next offset:519292 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/password/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 154 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/runscripts/view.raw.php; Next offset:520130 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/runscripts/view.raw.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 155 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/main/view.raw.php; Next offset:521109 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/main/view.raw.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 156 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/main/tmpl/default.php; Next offset:521880 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/main/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 157 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/database/view.html.php; Next offset:522460 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/database/view.html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 158 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/angie/views/database/tmpl/default.php; Next offset:524975 -DEBUG |180718 11:08:20|-- Adding installation/angie/views/database/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 159 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Skipping installation/sql/ -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 160 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Done with package angie.jpa -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 161 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20|Initializing with JPA package /administrator/components/com_akeeba/Master/Installers/angie-joomla.jpa -DEBUG |180718 11:08:20| Adding installation/platform/models/joomlaconfiguration.php; Next offset:2866 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/joomlaconfiguration.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 162 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/serverconfig/htaccess.txt; Next offset:4298 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/serverconfig/htaccess.txt to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 163 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/serverconfig/web.config.txt; Next offset:4924 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/serverconfig/web.config.txt to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 164 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j15.php; Next offset:5922 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j15.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 165 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j25.php; Next offset:6680 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j25.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 166 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j40.php; Next offset:8056 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j40.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 167 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j30.php; Next offset:8803 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j30.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 168 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/joomlasetup.php; Next offset:15001 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/joomlasetup.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 169 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/models/joomlamain.php; Next offset:16537 -DEBUG |180718 11:08:20|-- Adding installation/platform/models/joomlamain.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 170 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/js/setup.js; Next offset:17477 -DEBUG |180718 11:08:20|-- Adding installation/platform/js/setup.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 171 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/js/main.js; Next offset:18019 -DEBUG |180718 11:08:20|-- Adding installation/platform/js/main.js to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 172 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/defines.php; Next offset:18335 -DEBUG |180718 11:08:20|-- Adding installation/platform/defines.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 173 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/controllers/joomlasetup.php; Next offset:18643 -DEBUG |180718 11:08:20|-- Adding installation/platform/controllers/joomlasetup.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 174 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/controllers/joomlamain.php; Next offset:19299 -DEBUG |180718 11:08:20|-- Adding installation/platform/controllers/joomlamain.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 175 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/views/finalise/view.html.php; Next offset:20055 -DEBUG |180718 11:08:20|-- Adding installation/platform/views/finalise/view.html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 176 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/views/main/tmpl/init.php; Next offset:21463 -DEBUG |180718 11:08:20|-- Adding installation/platform/views/main/tmpl/init.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 177 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/views/setup/view.html.php; Next offset:22552 -DEBUG |180718 11:08:20|-- Adding installation/platform/views/setup/view.html.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 178 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Adding installation/platform/views/setup/tmpl/default.php; Next offset:25774 -DEBUG |180718 11:08:20|-- Adding installation/platform/views/setup/tmpl/default.php to archive (virtual data) -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 179 ------ -DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:20| Done with package angie-joomla.jpa -DEBUG |180718 11:08:20| Done with installer seeding. -DEBUG |180718 11:08:20|Initializing with JPA package has finished -DEBUG |180718 11:08:20|Akeeba\Engine\Core\Domain\Installer:: archive is initialized -DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no -DEBUG |180718 11:08:20|----- Finished operation 180 ------ -DEBUG |180718 11:08:20|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Installer -DEBUG |180718 11:08:20|Kettenrad :: Domain 'installer' has finished. -DEBUG |180718 11:08:20|====== Finished Step number 4 ====== -DEBUG |180718 11:08:20|Kettenrad :: Setting the break flag between domains -DEBUG |180718 11:08:20|*** Engine steps batching: Break flag detected. -DEBUG |180718 11:08:20|*** Batching of engine steps finished. I will now return control to the caller. -DEBUG |180718 11:08:20|Sleeping for 1926.9299507141 msec, using usleep() -DEBUG |180718 11:08:22|Saving Kettenrad instance backend -DEBUG |180718 11:08:22|Kettenrad :: Attempting to load from database (backend) [backend.id1] -DEBUG |180718 11:08:22| -- Loaded stored Akeeba Factory (backend) [backend.id1] -DEBUG |180718 11:08:22|====== Starting Step number 5 ====== -DEBUG |180718 11:08:22|Kettenrad :: Switching domains -DEBUG |180718 11:08:22|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN -DEBUG |180718 11:08:22|Switching to domain PackDB, class Db -DEBUG |180718 11:08:22|Akeeba\Engine\Core\Domain\Db :: New instance -DEBUG |180718 11:08:22|Kettenrad :: Ticking the domain object -DEBUG |180718 11:08:22|Akeeba\Engine\Core\Domain\Db :: Preparing instance -DEBUG |180718 11:08:22|Kettenrad :: Domain object returned; propagating -DEBUG |180718 11:08:22|Kettenrad :: Break flag status: YES -DEBUG |180718 11:08:22|----- Finished operation 1 ------ -DEBUG |180718 11:08:22|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Db -DEBUG |180718 11:08:22|====== Finished Step number 5 ====== -DEBUG |180718 11:08:22|Kettenrad :: Setting the break flag between domains -DEBUG |180718 11:08:22|*** Engine steps batching: Break flag detected. -DEBUG |180718 11:08:22|*** Batching of engine steps finished. I will now return control to the caller. -DEBUG |180718 11:08:22|Sleeping for 1998.6479282379 msec, using usleep() -DEBUG |180718 11:08:24|Saving Kettenrad instance backend -DEBUG |180718 11:09:38|Kettenrad :: Attempting to load from database (backend.id1) [backend.id1] -DEBUG |180718 11:09:38| -- Loaded stored Akeeba Factory (backend.id1) [backend.id1] +DEBUG |180718 11:08:16|*** Batching successive steps (nesting level 1) +DEBUG |180718 11:08:16|====== Starting Step number 1 ====== +DEBUG |180718 11:08:16|Kettenrad :: Switching domains +DEBUG |180718 11:08:16|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN +DEBUG |180718 11:08:16|Switching to domain init, class Init +DEBUG |180718 11:08:16|Akeeba\Engine\Core\Domain\Init :: New instance +DEBUG |180718 11:08:16|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:16|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:16|Kettenrad :: Break flag status: YES +DEBUG |180718 11:08:16|----- Finished operation 1 ------ +DEBUG |180718 11:08:16|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Init +DEBUG |180718 11:08:16|====== Finished Step number 1 ====== +DEBUG |180718 11:08:16|Kettenrad :: Setting the break flag between domains +DEBUG |180718 11:08:16|*** Engine steps batching: Break flag detected. +DEBUG |180718 11:08:16|*** Batching of engine steps finished. I will now return control to the caller. +DEBUG |180718 11:08:16|====== Starting Step number 2 ====== +DEBUG |180718 11:08:16|Kettenrad :: Ticking the domain object +INFO |180718 11:08:16|-------------------------------------------------------------------------------- +INFO |180718 11:08:16|Akeeba Backup 6.1.1 (2018-06-05) +INFO |180718 11:08:16|Got backup? +INFO |180718 11:08:16|-------------------------------------------------------------------------------- +INFO |180718 11:08:16|--- System Information --- +INFO |180718 11:08:16|PHP Version :5.5.9-1ubuntu4.25 +INFO |180718 11:08:16|PHP OS :Linux +INFO |180718 11:08:16|PHP SAPI :cgi-fcgi +INFO |180718 11:08:16|OS Version :Linux +INFO |180718 11:08:16|DB Version :5.5.60-0ubuntu0.14.04.1 +INFO |180718 11:08:16|Web Server :Apache/2.4.7 (Ubuntu) +INFO |180718 11:08:16|Joomla! version :3.5.1 +INFO |180718 11:08:16|User agent :Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36 +INFO |180718 11:08:16|Safe mode : +INFO |180718 11:08:16|Display errors : +INFO |180718 11:08:16|Error reporting :E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE +INFO |180718 11:08:16|Error display :off +INFO |180718 11:08:16|Disabled functions : +INFO |180718 11:08:16|open_basedir restr.: +INFO |180718 11:08:16|Max. exec. time :0 +INFO |180718 11:08:16|Memory limit :512M +INFO |180718 11:08:16|Current mem. usage :5912864 +INFO |180718 11:08:16|GZIP Compression : available (good) +INFO |180718 11:08:16|JPATH_BASE :/administrator +INFO |180718 11:08:16|JPATH_SITE : +INFO |180718 11:08:16|JPATH_ROOT : +INFO |180718 11:08:16|JPATH_CACHE :/administrator/cache +INFO |180718 11:08:16|Computed root : +INFO |180718 11:08:16|Min/Max/Bias :2000/14/75 +INFO |180718 11:08:16|Output directory :/administrator/components/com_akeeba/backup +INFO |180718 11:08:16|Part size (bytes) :0 +INFO |180718 11:08:16|-------------------------------------------------------------------------------- +WARNING |180718 11:08:16|You are using PHP 5.5.9-1ubuntu4.25 which is officially End of Life. We recommend using PHP 7.0 or later for best results. Your version of PHP, 5.5.9-1ubuntu4.25, will stop being supported by this backup software in the future. +INFO |180718 11:08:16|Loaded profile #1 +DEBUG |180718 11:08:16|Archive template name: site-[HOST]-[DATE]-[TIME_TZ] +DEBUG |180718 11:08:16|Expanded template name: site-www.archlinexp.com-20180718-090816utc +DEBUG |180718 11:08:16|Backup type is now set to 'full' +DEBUG |180718 11:08:16|Expanded archive file name: /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa +DEBUG |180718 11:08:16|Initializing archiver engine +DEBUG |180718 11:08:16|Akeeba\Engine\Archiver\Jpa :: new instance - archive /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa +DEBUG |180718 11:08:16|Akeeba\Engine\Archiver\BaseArchiver :: Killing old archive +DEBUG |180718 11:08:16|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:16|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:16|----- Finished operation 1 ------ +DEBUG |180718 11:08:16|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:16|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:16|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:16|----- Finished operation 2 ------ +DEBUG |180718 11:08:16|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Init +DEBUG |180718 11:08:16|Kettenrad :: Domain 'init' has finished. +DEBUG |180718 11:08:16|====== Finished Step number 2 ====== +DEBUG |180718 11:08:16|Kettenrad :: Setting the break flag between domains +DEBUG |180718 11:08:16|*** Engine steps batching: Break flag detected. +DEBUG |180718 11:08:16|*** Batching of engine steps finished. I will now return control to the caller. +DEBUG |180718 11:08:16|Sleeping for 1908.0557823181 msec, using usleep() +DEBUG |180718 11:08:18|Saving Kettenrad instance backend +DEBUG |180718 11:08:18|Kettenrad :: Attempting to load from database (backend) [backend.id1] +DEBUG |180718 11:08:18| -- Loaded stored Akeeba Factory (backend) [backend.id1] +DEBUG |180718 11:08:18|====== Starting Step number 3 ====== +DEBUG |180718 11:08:18|Kettenrad :: Switching domains +DEBUG |180718 11:08:18|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN +DEBUG |180718 11:08:18|Switching to domain installer, class Installer +DEBUG |180718 11:08:18|Akeeba\Engine\Core\Domain\Installer :: New instance +DEBUG |180718 11:08:18|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:18|Truncating backup archive file /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa to 19 bytes +DEBUG |180718 11:08:18|-- Adding installation/README.html to archive (virtual data) +DEBUG |180718 11:08:18|-- Adding installation/extrainfo.ini to archive (virtual data) +DEBUG |180718 11:08:18|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:18|Kettenrad :: Break flag status: YES +DEBUG |180718 11:08:18|----- Finished operation 1 ------ +DEBUG |180718 11:08:18|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Installer +DEBUG |180718 11:08:18|====== Finished Step number 3 ====== +DEBUG |180718 11:08:18|Kettenrad :: Setting the break flag between domains +DEBUG |180718 11:08:18|*** Engine steps batching: Break flag detected. +DEBUG |180718 11:08:18|*** Batching of engine steps finished. I will now return control to the caller. +DEBUG |180718 11:08:18|Sleeping for 1998.4760284424 msec, using usleep() +DEBUG |180718 11:08:20|Saving Kettenrad instance backend +DEBUG |180718 11:08:20|Kettenrad :: Attempting to load from database (backend) [backend.id1] +DEBUG |180718 11:08:20| -- Loaded stored Akeeba Factory (backend) [backend.id1] +DEBUG |180718 11:08:20|====== Starting Step number 4 ====== +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20|Initializing with JPA package /administrator/components/com_akeeba/Master/Installers/angie.jpa +DEBUG |180718 11:08:20| Adding installation/index.php; Next offset:1327 +DEBUG |180718 11:08:20|Truncating backup archive file /administrator/components/com_akeeba/backup/site-www.archlinexp.com-20180718-090816utc.jpa to 635 bytes +DEBUG |180718 11:08:20|-- Adding installation/index.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 1 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/version.php; Next offset:1618 +DEBUG |180718 11:08:20|-- Adding installation/version.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 2 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/defines.php; Next offset:2095 +DEBUG |180718 11:08:20|-- Adding installation/defines.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 3 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/css/bootstrap-responsive.min.css; Next offset:6151 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/css/bootstrap-responsive.min.css to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 4 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/css/footer.css; Next offset:6856 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/css/footer.css to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 5 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/css/bootstrap.min.css; Next offset:23970 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/css/bootstrap.min.css to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 6 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/index.php; Next offset:24949 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/index.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 7 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/js/jquery.js; Next offset:57767 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/js/jquery.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 8 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/js/bootstrap.min.js; Next offset:65285 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/js/bootstrap.min.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 9 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/js/jquery.simulate.js; Next offset:68051 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/js/jquery.simulate.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 10 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/php/messages.php; Next offset:68550 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/messages.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 11 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/php/head.php; Next offset:69257 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/head.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 12 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/php/buttonsfooter.php; Next offset:70007 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/buttonsfooter.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 13 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/php/buttons.php; Next offset:70595 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/php/buttons.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 14 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/img/loading_small.gif; Next offset:74511 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/loading_small.gif to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 15 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/img/loading_big.gif; Next offset:82068 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/loading_big.gif to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 16 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/img/glyphicons-halflings-white.png; Next offset:90665 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/glyphicons-halflings-white.png to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 17 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/img/glyphicons-halflings.png; Next offset:103349 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/img/glyphicons-halflings.png to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 18 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/template/angie/error.php; Next offset:104209 +DEBUG |180718 11:08:20|-- Adding installation/template/angie/error.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 19 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/tmp/index.html; Next offset:104293 +DEBUG |180718 11:08:20|-- Adding installation/tmp/index.html to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 20 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/tmp/web.config; Next offset:104455 +DEBUG |180718 11:08:20|-- Adding installation/tmp/web.config to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 21 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/tmp/.htaccess; Next offset:104606 +DEBUG |180718 11:08:20|-- Adding installation/tmp/.htaccess to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 22 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/view/view.php; Next offset:109411 +DEBUG |180718 11:08:20|-- Adding installation/framework/view/view.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 23 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/document/raw.php; Next offset:109761 +DEBUG |180718 11:08:20|-- Adding installation/framework/document/raw.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 24 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/document/document.php; Next offset:111764 +DEBUG |180718 11:08:20|-- Adding installation/framework/document/document.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 25 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/document/json.php; Next offset:112125 +DEBUG |180718 11:08:20|-- Adding installation/framework/document/json.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 26 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/document/html.php; Next offset:112544 +DEBUG |180718 11:08:20|-- Adding installation/framework/document/html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 27 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/download/download.php; Next offset:116268 +DEBUG |180718 11:08:20|-- Adding installation/framework/download/download.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 28 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/cacert.pem; Next offset:282673 +DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/cacert.pem to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 29 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/curl.php; Next offset:284759 +DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/curl.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 30 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/fopen.php; Next offset:286379 +DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/fopen.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 31 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/download/adapter/abstract.php; Next offset:287661 +DEBUG |180718 11:08:20|-- Adding installation/framework/download/adapter/abstract.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 32 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/download/interface.php; Next offset:288772 +DEBUG |180718 11:08:20|-- Adding installation/framework/download/interface.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 33 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/dispatcher/dispatcher.php; Next offset:290973 +DEBUG |180718 11:08:20|-- Adding installation/framework/dispatcher/dispatcher.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 34 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/model/model.php; Next offset:294610 +DEBUG |180718 11:08:20|-- Adding installation/framework/model/model.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 35 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/filter/input.php; Next offset:300562 +DEBUG |180718 11:08:20|-- Adding installation/framework/filter/input.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 36 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/session/session.php; Next offset:304369 +DEBUG |180718 11:08:20|-- Adding installation/framework/session/session.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 37 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/ftp/ftp.php; Next offset:309825 +DEBUG |180718 11:08:20|-- Adding installation/framework/ftp/ftp.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 38 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/timer/timer.php; Next offset:311661 +DEBUG |180718 11:08:20|-- Adding installation/framework/timer/timer.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 39 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Autoloader/Autoloader.php; Next offset:313514 +DEBUG |180718 11:08:20|-- Adding installation/framework/Autoloader/Autoloader.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 40 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/object/object.php; Next offset:314670 +DEBUG |180718 11:08:20|-- Adding installation/framework/object/object.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 41 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/README.md; Next offset:314968 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/README.md to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 42 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/phpunit.xml.dist; Next offset:315371 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/phpunit.xml.dist to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 43 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Parser.php; Next offset:320832 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Parser.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 44 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Unescaper.php; Next offset:322125 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Unescaper.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 45 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Inline.php; Next offset:326386 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Inline.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 46 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/CHANGELOG.md; Next offset:326606 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/CHANGELOG.md to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 47 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/LICENSE; Next offset:327310 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/LICENSE to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 48 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/ExceptionInterface.php; Next offset:327674 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/ExceptionInterface.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 49 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/ParseException.php; Next offset:328760 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/ParseException.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 50 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/RuntimeException.php; Next offset:329167 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/RuntimeException.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 51 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Exception/DumpException.php; Next offset:329539 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Exception/DumpException.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 52 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Dumper.php; Next offset:330521 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Dumper.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 53 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/composer.json; Next offset:330929 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/composer.json to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 54 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Yaml.php; Next offset:332197 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Yaml.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 55 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/Symfony/Component/Yaml/Escaper.php; Next offset:333397 +DEBUG |180718 11:08:20|-- Adding installation/framework/Symfony/Component/Yaml/Escaper.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 56 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/log/log.php; Next offset:334073 +DEBUG |180718 11:08:20|-- Adding installation/framework/log/log.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 57 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/input/input.php; Next offset:336219 +DEBUG |180718 11:08:20|-- Adding installation/framework/input/input.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 58 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/pimple/pimple.php; Next offset:338752 +DEBUG |180718 11:08:20|-- Adding installation/framework/pimple/pimple.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 59 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/pimple/ServiceProviderInterface.php; Next offset:339272 +DEBUG |180718 11:08:20|-- Adding installation/framework/pimple/ServiceProviderInterface.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 60 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/exception/download.php; Next offset:339607 +DEBUG |180718 11:08:20|-- Adding installation/framework/exception/download.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 61 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/exception/dispatch.php; Next offset:339940 +DEBUG |180718 11:08:20|-- Adding installation/framework/exception/dispatch.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 62 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/exception/app.php; Next offset:340265 +DEBUG |180718 11:08:20|-- Adding installation/framework/exception/app.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 63 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/exception/interface.php; Next offset:340577 +DEBUG |180718 11:08:20|-- Adding installation/framework/exception/interface.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 64 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/path.php; Next offset:341989 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/path.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 65 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/serialised.php; Next offset:344812 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/serialised.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 66 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/ip.php; Next offset:346211 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/ip.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 67 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/randval.php; Next offset:347857 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/randval.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 68 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/phptokenizer.php; Next offset:350439 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/phptokenizer.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 69 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/servertechnology.php; Next offset:351139 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/servertechnology.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 70 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/PasswordHash.php; Next offset:353621 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/PasswordHash.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 71 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/buffer.php; Next offset:355158 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/buffer.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 72 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/utils/password.php; Next offset:357913 +DEBUG |180718 11:08:20|-- Adding installation/framework/utils/password.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 73 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/uri/uri.php; Next offset:362489 +DEBUG |180718 11:08:20|-- Adding installation/framework/uri/uri.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 74 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/autoloader.php; Next offset:363430 +DEBUG |180718 11:08:20|-- Adding installation/framework/autoloader.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 75 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/controller/controller.php; Next offset:369861 +DEBUG |180718 11:08:20|-- Adding installation/framework/controller/controller.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 76 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/text/text.php; Next offset:371758 +DEBUG |180718 11:08:20|-- Adding installation/framework/text/text.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 77 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/application/application.php; Next offset:375247 +DEBUG |180718 11:08:20|-- Adding installation/framework/application/application.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 78 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/container/container.php; Next offset:375969 +DEBUG |180718 11:08:20|-- Adding installation/framework/container/container.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 79 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/postgresql.php; Next offset:384532 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/postgresql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 80 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/sqlazure.php; Next offset:385129 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/sqlazure.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 81 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/sqlite.php; Next offset:388146 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/sqlite.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 82 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/pdo.php; Next offset:394013 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/pdo.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 83 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/pdomysql.php; Next offset:398121 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/pdomysql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 84 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/mysql.php; Next offset:401595 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/mysql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 85 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/sqlsrv.php; Next offset:408057 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/sqlsrv.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 86 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver/mysqli.php; Next offset:413711 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver/mysqli.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 87 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query.php; Next offset:420494 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 88 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore.php; Next offset:426344 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 89 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/postgresql.php; Next offset:429586 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/postgresql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 90 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/sqlazure.php; Next offset:430274 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/sqlazure.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 91 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/sqlite.php; Next offset:432391 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/sqlite.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 92 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/preparable.php; Next offset:433363 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/preparable.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 93 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/pdo.php; Next offset:433675 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/pdo.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 94 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/pdomysql.php; Next offset:434169 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/pdomysql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 95 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/mysql.php; Next offset:434657 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/mysql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 96 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/sqlsrv.php; Next offset:436318 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/sqlsrv.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 97 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/mysqli.php; Next offset:437490 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/mysqli.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 98 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/query/limitable.php; Next offset:438443 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/query/limitable.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 99 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/factory.php; Next offset:440013 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/factory.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 100 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore/postgresql.php; Next offset:442915 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/postgresql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 101 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore/sqlazure.php; Next offset:443251 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/sqlazure.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 102 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore/pdomysql.php; Next offset:443589 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/pdomysql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 103 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore/mysql.php; Next offset:443920 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/mysql.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 104 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore/sqlsrv.php; Next offset:446624 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/sqlsrv.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 105 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/restore/mysqli.php; Next offset:452030 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/restore/mysqli.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 106 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/framework/database/driver.php; Next offset:461205 +DEBUG |180718 11:08:20|-- Adding installation/framework/database/driver.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 107 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/database.php; Next offset:462745 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/database.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 108 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/session.php; Next offset:463861 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/session.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 109 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/steps.php; Next offset:466152 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/steps.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 110 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/base/main.php; Next offset:467741 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/main.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 111 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/base/setup.php; Next offset:468906 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/setup.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 112 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/base/finalise.php; Next offset:470161 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/finalise.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 113 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/base/offsitedirs.php; Next offset:471383 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/offsitedirs.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 114 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/base/configuration.php; Next offset:472646 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/base/configuration.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 115 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/finalise.php; Next offset:472937 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/finalise.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 116 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/offsitedirs.php; Next offset:473232 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/offsitedirs.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 117 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/models/ftpbrowser.php; Next offset:474756 +DEBUG |180718 11:08:20|-- Adding installation/angie/models/ftpbrowser.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 118 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/js/database.js; Next offset:476408 +DEBUG |180718 11:08:20|-- Adding installation/angie/js/database.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 119 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/js/ajax.js; Next offset:477682 +DEBUG |180718 11:08:20|-- Adding installation/angie/js/ajax.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 120 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/js/ftpbrowser.js; Next offset:478046 +DEBUG |180718 11:08:20|-- Adding installation/angie/js/ftpbrowser.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 121 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/js/finalise.js; Next offset:478733 +DEBUG |180718 11:08:20|-- Adding installation/angie/js/finalise.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 122 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/js/offsitedirs.js; Next offset:479654 +DEBUG |180718 11:08:20|-- Adding installation/angie/js/offsitedirs.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 123 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/js/json.js; Next offset:481157 +DEBUG |180718 11:08:20|-- Adding installation/angie/js/json.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 124 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/application.php; Next offset:481677 +DEBUG |180718 11:08:20|-- Adding installation/angie/application.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 125 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/language/en-GB.ini; Next offset:494324 +DEBUG |180718 11:08:20|-- Adding installation/angie/language/en-GB.ini to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 126 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/language/index.html; Next offset:494419 +DEBUG |180718 11:08:20|-- Adding installation/angie/language/index.html to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 127 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/dbrestore.php; Next offset:495271 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/dbrestore.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 128 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/session.php; Next offset:495784 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/session.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 129 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/base/main.php; Next offset:496266 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/base/main.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 130 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/base/setup.php; Next offset:496902 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/base/setup.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 131 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/base/finalise.php; Next offset:497532 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/base/finalise.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 132 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/finalise.php; Next offset:497832 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/finalise.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 133 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/offsitedirs.php; Next offset:498578 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/offsitedirs.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 134 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/controllers/password.php; Next offset:499130 +DEBUG |180718 11:08:20|-- Adding installation/angie/controllers/password.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 135 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/autoloader.php; Next offset:500088 +DEBUG |180718 11:08:20|-- Adding installation/angie/autoloader.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 136 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/dispatcher.php; Next offset:501218 +DEBUG |180718 11:08:20|-- Adding installation/angie/dispatcher.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 137 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/helpers/setup.php; Next offset:501856 +DEBUG |180718 11:08:20|-- Adding installation/angie/helpers/setup.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 138 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/helpers/ini.php; Next offset:503499 +DEBUG |180718 11:08:20|-- Adding installation/angie/helpers/ini.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 139 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/helpers/select.php; Next offset:507597 +DEBUG |180718 11:08:20|-- Adding installation/angie/helpers/select.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 140 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/assets/runscripts.php; Next offset:508730 +DEBUG |180718 11:08:20|-- Adding installation/angie/assets/runscripts.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 141 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/finalise/tmpl/success.php; Next offset:509088 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/finalise/tmpl/success.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 142 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/finalise/tmpl/config.php; Next offset:509534 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/finalise/tmpl/config.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 143 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/finalise/tmpl/default.php; Next offset:510704 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/finalise/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 144 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/session/view.html.php; Next offset:511089 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/session/view.html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 145 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/session/tmpl/default.php; Next offset:512562 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/session/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 146 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/session/tmpl/blocked.php; Next offset:513354 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/session/tmpl/blocked.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 147 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/ftpbrowser/view.html.php; Next offset:513916 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/ftpbrowser/view.html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 148 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/ftpbrowser/tmpl/default.php; Next offset:514877 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/ftpbrowser/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 149 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/offsitedirs/view.html.php; Next offset:515396 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/offsitedirs/view.html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 150 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/offsitedirs/tmpl/default.php; Next offset:516643 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/offsitedirs/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 151 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/steps/tmpl/steps.php; Next offset:517567 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/steps/tmpl/steps.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 152 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/steps/tmpl/buttons.php; Next offset:518542 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/steps/tmpl/buttons.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 153 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/password/tmpl/default.php; Next offset:519292 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/password/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 154 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/runscripts/view.raw.php; Next offset:520130 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/runscripts/view.raw.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 155 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/main/view.raw.php; Next offset:521109 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/main/view.raw.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 156 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/main/tmpl/default.php; Next offset:521880 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/main/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 157 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/database/view.html.php; Next offset:522460 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/database/view.html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 158 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/angie/views/database/tmpl/default.php; Next offset:524975 +DEBUG |180718 11:08:20|-- Adding installation/angie/views/database/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 159 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Skipping installation/sql/ +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 160 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Done with package angie.jpa +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 161 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20|Initializing with JPA package /administrator/components/com_akeeba/Master/Installers/angie-joomla.jpa +DEBUG |180718 11:08:20| Adding installation/platform/models/joomlaconfiguration.php; Next offset:2866 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/joomlaconfiguration.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 162 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/serverconfig/htaccess.txt; Next offset:4298 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/serverconfig/htaccess.txt to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 163 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/serverconfig/web.config.txt; Next offset:4924 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/serverconfig/web.config.txt to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 164 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j15.php; Next offset:5922 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j15.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 165 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j25.php; Next offset:6680 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j25.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 166 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j40.php; Next offset:8056 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j40.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 167 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/jconfig/j30.php; Next offset:8803 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/jconfig/j30.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 168 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/joomlasetup.php; Next offset:15001 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/joomlasetup.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 169 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/models/joomlamain.php; Next offset:16537 +DEBUG |180718 11:08:20|-- Adding installation/platform/models/joomlamain.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 170 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/js/setup.js; Next offset:17477 +DEBUG |180718 11:08:20|-- Adding installation/platform/js/setup.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 171 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/js/main.js; Next offset:18019 +DEBUG |180718 11:08:20|-- Adding installation/platform/js/main.js to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 172 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/defines.php; Next offset:18335 +DEBUG |180718 11:08:20|-- Adding installation/platform/defines.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 173 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/controllers/joomlasetup.php; Next offset:18643 +DEBUG |180718 11:08:20|-- Adding installation/platform/controllers/joomlasetup.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 174 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/controllers/joomlamain.php; Next offset:19299 +DEBUG |180718 11:08:20|-- Adding installation/platform/controllers/joomlamain.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 175 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/views/finalise/view.html.php; Next offset:20055 +DEBUG |180718 11:08:20|-- Adding installation/platform/views/finalise/view.html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 176 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/views/main/tmpl/init.php; Next offset:21463 +DEBUG |180718 11:08:20|-- Adding installation/platform/views/main/tmpl/init.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 177 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/views/setup/view.html.php; Next offset:22552 +DEBUG |180718 11:08:20|-- Adding installation/platform/views/setup/view.html.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 178 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Adding installation/platform/views/setup/tmpl/default.php; Next offset:25774 +DEBUG |180718 11:08:20|-- Adding installation/platform/views/setup/tmpl/default.php to archive (virtual data) +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 179 ------ +DEBUG |180718 11:08:20|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:20| Done with package angie-joomla.jpa +DEBUG |180718 11:08:20| Done with installer seeding. +DEBUG |180718 11:08:20|Initializing with JPA package has finished +DEBUG |180718 11:08:20|Akeeba\Engine\Core\Domain\Installer:: archive is initialized +DEBUG |180718 11:08:20|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:20|Kettenrad :: Break flag status: no +DEBUG |180718 11:08:20|----- Finished operation 180 ------ +DEBUG |180718 11:08:20|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Installer +DEBUG |180718 11:08:20|Kettenrad :: Domain 'installer' has finished. +DEBUG |180718 11:08:20|====== Finished Step number 4 ====== +DEBUG |180718 11:08:20|Kettenrad :: Setting the break flag between domains +DEBUG |180718 11:08:20|*** Engine steps batching: Break flag detected. +DEBUG |180718 11:08:20|*** Batching of engine steps finished. I will now return control to the caller. +DEBUG |180718 11:08:20|Sleeping for 1926.9299507141 msec, using usleep() +DEBUG |180718 11:08:22|Saving Kettenrad instance backend +DEBUG |180718 11:08:22|Kettenrad :: Attempting to load from database (backend) [backend.id1] +DEBUG |180718 11:08:22| -- Loaded stored Akeeba Factory (backend) [backend.id1] +DEBUG |180718 11:08:22|====== Starting Step number 5 ====== +DEBUG |180718 11:08:22|Kettenrad :: Switching domains +DEBUG |180718 11:08:22|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN +DEBUG |180718 11:08:22|Switching to domain PackDB, class Db +DEBUG |180718 11:08:22|Akeeba\Engine\Core\Domain\Db :: New instance +DEBUG |180718 11:08:22|Kettenrad :: Ticking the domain object +DEBUG |180718 11:08:22|Akeeba\Engine\Core\Domain\Db :: Preparing instance +DEBUG |180718 11:08:22|Kettenrad :: Domain object returned; propagating +DEBUG |180718 11:08:22|Kettenrad :: Break flag status: YES +DEBUG |180718 11:08:22|----- Finished operation 1 ------ +DEBUG |180718 11:08:22|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Db +DEBUG |180718 11:08:22|====== Finished Step number 5 ====== +DEBUG |180718 11:08:22|Kettenrad :: Setting the break flag between domains +DEBUG |180718 11:08:22|*** Engine steps batching: Break flag detected. +DEBUG |180718 11:08:22|*** Batching of engine steps finished. I will now return control to the caller. +DEBUG |180718 11:08:22|Sleeping for 1998.6479282379 msec, using usleep() +DEBUG |180718 11:08:24|Saving Kettenrad instance backend +DEBUG |180718 11:09:38|Kettenrad :: Attempting to load from database (backend.id1) [backend.id1] +DEBUG |180718 11:09:38| -- Loaded stored Akeeba Factory (backend.id1) [backend.id1] diff --git a/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.log b/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.log index 2aa6b483..9e499886 100644 --- a/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.log +++ b/deployed/akeeba/administrator/components/com_akeeba/backup/akeeba.log @@ -1,368 +1,368 @@ -DEBUG |180718 11:09:57|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:09:57|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:10:08|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:10:08|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:10:19|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:10:19|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:10:30|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:10:30|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:10:40|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:10:40|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:10:51|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:10:51|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:11:02|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:11:02|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:11:12|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:11:12|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:11:23|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:11:23|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:11:34|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:11:34|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:11:44|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:11:44|mysql_close(): 36 is not a valid MySQL-Link resource -DEBUG |180718 11:11:55|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:11:55|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:12:06|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:12:06|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:12:16|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:12:16|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:12:27|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:12:27|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:12:38|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:12:38|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:12:49|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:12:49|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:12:59|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:12:59|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:13:10|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:13:10|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:13:21|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:13:21|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:13:31|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:13:31|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:13:42|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:13:42|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:13:53|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:13:53|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:14:03|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:14:03|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:14:14|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:14:14|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:14:25|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:14:25|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:14:35|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:14:35|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:14:46|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:14:46|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:14:57|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:14:57|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:15:07|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:15:07|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:15:18|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:15:18|mysql_close(): 36 is not a valid MySQL-Link resource -DEBUG |180718 11:15:29|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:15:29|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:15:40|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:15:40|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:15:50|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:15:50|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:16:01|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:16:01|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:16:12|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:16:12|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:16:23|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:16:23|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:16:33|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:16:33|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:16:44|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:16:44|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:16:55|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:16:55|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:17:05|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:17:05|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:17:16|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:17:16|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:17:27|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:17:27|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:17:37|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:17:37|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:17:48|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:17:48|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:17:59|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:17:59|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:18:09|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:18:09|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:18:20|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:18:20|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:18:31|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:18:31|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:18:42|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:18:42|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:18:53|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:18:53|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:19:03|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:19:03|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:19:14|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:19:14|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:19:25|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:19:25|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:19:29|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:19:29|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180718 11:19:29|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: -DEBUG |180718 11:19:29|mysql_close(): 31 is not a valid MySQL-Link resource -DEBUG |180720 09:49:05|Fetching filter data from database -DEBUG |180720 09:49:05|Loading filters -DEBUG |180720 09:49:05|-- Loading filter Regextables -DEBUG |180720 09:49:05|-- Loading filter Regexdirectories -DEBUG |180720 09:49:05|-- Loading filter Files -DEBUG |180720 09:49:05|-- Loading filter Regexskipfiles -DEBUG |180720 09:49:05|-- Loading filter Tables -DEBUG |180720 09:49:05|-- Loading filter Skipfiles -DEBUG |180720 09:49:05|-- Loading filter Incremental -DEBUG |180720 09:49:05|-- Loading filter Tabledata -DEBUG |180720 09:49:05|-- Loading filter Multidb -DEBUG |180720 09:49:05|-- Loading filter Regexskipdirs -DEBUG |180720 09:49:05|-- Loading filter Regexfiles -DEBUG |180720 09:49:05|-- Loading filter Regextabledata -DEBUG |180720 09:49:05|-- Loading filter Extradirs -DEBUG |180720 09:49:05|-- Loading filter Skipdirs -DEBUG |180720 09:49:05|-- Loading filter Directories -DEBUG |180720 09:49:05|-- Loading filter Excludetabledata -DEBUG |180720 09:49:05|-- Loading filter Excludefiles -DEBUG |180720 09:49:05|-- Loading filter Systemcachefiles -DEBUG |180720 09:49:05|-- Loading filter Cvsfolders -DEBUG |180720 09:49:05|-- Loading filter Siteroot -DEBUG |180720 09:49:05|-- Loading filter Libraries -DEBUG |180720 09:49:05|-- Loading filter Joomlaskipdirs -DEBUG |180720 09:49:05|-- Loading filter Excludefolders -DEBUG |180720 09:49:05|-- Loading filter Joomlaskipfiles -DEBUG |180720 09:49:05|-- Loading filter Sitedb -DEBUG |180720 09:49:05|Loading optional filters -DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackErrorlogs -DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackHoststats -DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackFinder -DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackMyjoomla -DEBUG |190129 09:04:20|Fetching filter data from database -DEBUG |190129 09:04:20|Loading filters -DEBUG |190129 09:04:20|-- Loading filter Regextables -DEBUG |190129 09:04:20|-- Loading filter Regexdirectories -DEBUG |190129 09:04:20|-- Loading filter Files -DEBUG |190129 09:04:20|-- Loading filter Regexskipfiles -DEBUG |190129 09:04:20|-- Loading filter Tables -DEBUG |190129 09:04:20|-- Loading filter Skipfiles -DEBUG |190129 09:04:20|-- Loading filter Incremental -DEBUG |190129 09:04:20|-- Loading filter Tabledata -DEBUG |190129 09:04:20|-- Loading filter Multidb -DEBUG |190129 09:04:20|-- Loading filter Regexskipdirs -DEBUG |190129 09:04:20|-- Loading filter Regexfiles -DEBUG |190129 09:04:20|-- Loading filter Regextabledata -DEBUG |190129 09:04:20|-- Loading filter Extradirs -DEBUG |190129 09:04:20|-- Loading filter Skipdirs -DEBUG |190129 09:04:20|-- Loading filter Directories -DEBUG |190129 09:04:20|-- Loading filter Excludetabledata -DEBUG |190129 09:04:20|-- Loading filter Excludefiles -DEBUG |190129 09:04:20|-- Loading filter Systemcachefiles -DEBUG |190129 09:04:20|-- Loading filter Cvsfolders -DEBUG |190129 09:04:20|-- Loading filter Siteroot -DEBUG |190129 09:04:20|-- Loading filter Libraries -DEBUG |190129 09:04:20|-- Loading filter Joomlaskipdirs -DEBUG |190129 09:04:20|-- Loading filter Excludefolders -DEBUG |190129 09:04:20|-- Loading filter Joomlaskipfiles -DEBUG |190129 09:04:20|-- Loading filter Sitedb -DEBUG |190129 09:04:20|Loading optional filters -DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackErrorlogs -DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackHoststats -DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackFinder -DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackMyjoomla -DEBUG |191022 15:03:07|Fetching filter data from database -DEBUG |191022 15:03:07|Loading filters -DEBUG |191022 15:03:07|-- Loading filter Regextables -DEBUG |191022 15:03:07|-- Loading filter Regexdirectories -DEBUG |191022 15:03:07|-- Loading filter Files -DEBUG |191022 15:03:07|-- Loading filter Regexskipfiles -DEBUG |191022 15:03:07|-- Loading filter Tables -DEBUG |191022 15:03:07|-- Loading filter Skipfiles -DEBUG |191022 15:03:07|-- Loading filter Incremental -DEBUG |191022 15:03:07|-- Loading filter Tabledata -DEBUG |191022 15:03:07|-- Loading filter Multidb -DEBUG |191022 15:03:07|-- Loading filter Regexskipdirs -DEBUG |191022 15:03:07|-- Loading filter Regexfiles -DEBUG |191022 15:03:07|-- Loading filter Regextabledata -DEBUG |191022 15:03:07|-- Loading filter Extradirs -DEBUG |191022 15:03:07|-- Loading filter Skipdirs -DEBUG |191022 15:03:07|-- Loading filter Directories -DEBUG |191022 15:03:07|-- Loading filter Excludetabledata -DEBUG |191022 15:03:07|-- Loading filter Excludefiles -DEBUG |191022 15:03:07|-- Loading filter Systemcachefiles -DEBUG |191022 15:03:07|-- Loading filter Cvsfolders -DEBUG |191022 15:03:07|-- Loading filter Siteroot -DEBUG |191022 15:03:07|-- Loading filter Libraries -DEBUG |191022 15:03:07|-- Loading filter Joomlaskipdirs -DEBUG |191022 15:03:07|-- Loading filter Excludefolders -DEBUG |191022 15:03:07|-- Loading filter Joomlaskipfiles -DEBUG |191022 15:03:07|-- Loading filter Sitedb -DEBUG |191022 15:03:07|Loading optional filters -DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackErrorlogs -DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackHoststats -DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackFinder -DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackMyjoomla -DEBUG |191029 08:02:26|Fetching filter data from database -DEBUG |191029 08:02:26|Loading filters -DEBUG |191029 08:02:26|-- Loading filter Regextables -DEBUG |191029 08:02:26|-- Loading filter Regexdirectories -DEBUG |191029 08:02:26|-- Loading filter Files -DEBUG |191029 08:02:26|-- Loading filter Regexskipfiles -DEBUG |191029 08:02:26|-- Loading filter Tables -DEBUG |191029 08:02:26|-- Loading filter Skipfiles -DEBUG |191029 08:02:26|-- Loading filter Incremental -DEBUG |191029 08:02:26|-- Loading filter Tabledata -DEBUG |191029 08:02:26|-- Loading filter Multidb -DEBUG |191029 08:02:26|-- Loading filter Regexskipdirs -DEBUG |191029 08:02:26|-- Loading filter Regexfiles -DEBUG |191029 08:02:26|-- Loading filter Regextabledata -DEBUG |191029 08:02:26|-- Loading filter Extradirs -DEBUG |191029 08:02:26|-- Loading filter Skipdirs -DEBUG |191029 08:02:26|-- Loading filter Directories -DEBUG |191029 08:02:26|-- Loading filter Excludetabledata -DEBUG |191029 08:02:26|-- Loading filter Excludefiles -DEBUG |191029 08:02:26|-- Loading filter Systemcachefiles -DEBUG |191029 08:02:26|-- Loading filter Cvsfolders -DEBUG |191029 08:02:26|-- Loading filter Siteroot -DEBUG |191029 08:02:26|-- Loading filter Libraries -DEBUG |191029 08:02:26|-- Loading filter Joomlaskipdirs -DEBUG |191029 08:02:26|-- Loading filter Excludefolders -DEBUG |191029 08:02:26|-- Loading filter Joomlaskipfiles -DEBUG |191029 08:02:26|-- Loading filter Sitedb -DEBUG |191029 08:02:26|Loading optional filters -DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackErrorlogs -DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackHoststats -DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackFinder -DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackMyjoomla -DEBUG |191104 10:09:59|Fetching filter data from database -DEBUG |191104 10:09:59|Loading filters -DEBUG |191104 10:09:59|-- Loading filter Regextables -DEBUG |191104 10:09:59|-- Loading filter Regexdirectories -DEBUG |191104 10:09:59|-- Loading filter Files -DEBUG |191104 10:09:59|-- Loading filter Regexskipfiles -DEBUG |191104 10:09:59|-- Loading filter Tables -DEBUG |191104 10:09:59|-- Loading filter Skipfiles -DEBUG |191104 10:09:59|-- Loading filter Incremental -DEBUG |191104 10:09:59|-- Loading filter Tabledata -DEBUG |191104 10:09:59|-- Loading filter Multidb -DEBUG |191104 10:09:59|-- Loading filter Regexskipdirs -DEBUG |191104 10:09:59|-- Loading filter Regexfiles -DEBUG |191104 10:09:59|-- Loading filter Regextabledata -DEBUG |191104 10:09:59|-- Loading filter Extradirs -DEBUG |191104 10:09:59|-- Loading filter Skipdirs -DEBUG |191104 10:09:59|-- Loading filter Directories -DEBUG |191104 10:09:59|-- Loading filter Excludetabledata -DEBUG |191104 10:09:59|-- Loading filter Excludefiles -DEBUG |191104 10:09:59|-- Loading filter Systemcachefiles -DEBUG |191104 10:09:59|-- Loading filter Cvsfolders -DEBUG |191104 10:09:59|-- Loading filter Siteroot -DEBUG |191104 10:09:59|-- Loading filter Libraries -DEBUG |191104 10:09:59|-- Loading filter Joomlaskipdirs -DEBUG |191104 10:09:59|-- Loading filter Excludefolders -DEBUG |191104 10:09:59|-- Loading filter Joomlaskipfiles -DEBUG |191104 10:09:59|-- Loading filter Sitedb -DEBUG |191104 10:09:59|Loading optional filters -DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackErrorlogs -DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackHoststats -DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackFinder -DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackMyjoomla -DEBUG |200630 13:06:17|Fetching filter data from database -DEBUG |200630 13:06:17|Loading filters -DEBUG |200630 13:06:17|-- Loading filter Regextabledata -DEBUG |200630 13:06:17|-- Loading filter Skipdirs -DEBUG |200630 13:06:17|-- Loading filter Regexdirectories -DEBUG |200630 13:06:17|-- Loading filter Files -DEBUG |200630 13:06:17|-- Loading filter Regextables -DEBUG |200630 13:06:17|-- Loading filter Skipfiles -DEBUG |200630 13:06:17|-- Loading filter Regexfiles -DEBUG |200630 13:06:17|-- Loading filter Multidb -DEBUG |200630 13:06:17|-- Loading filter Tables -DEBUG |200630 13:06:17|-- Loading filter Regexskipdirs -DEBUG |200630 13:06:17|-- Loading filter Tabledata -DEBUG |200630 13:06:17|-- Loading filter Regexskipfiles -DEBUG |200630 13:06:17|-- Loading filter Extradirs -DEBUG |200630 13:06:17|-- Loading filter Incremental -DEBUG |200630 13:06:17|-- Loading filter Directories -DEBUG |200630 13:06:17|-- Loading filter Joomlaskipdirs -DEBUG |200630 13:06:17|-- Loading filter Cvsfolders -DEBUG |200630 13:06:17|-- Loading filter Siteroot -DEBUG |200630 13:06:17|-- Loading filter Systemcachefiles -DEBUG |200630 13:06:17|-- Loading filter Excludetabledata -DEBUG |200630 13:06:17|-- Loading filter Excludefiles -DEBUG |200630 13:06:17|-- Loading filter Libraries -DEBUG |200630 13:06:17|-- Loading filter Joomlaskipfiles -DEBUG |200630 13:06:17|-- Loading filter Excludefolders -DEBUG |200630 13:06:17|-- Loading filter Sitedb -DEBUG |200630 13:06:17|Loading optional filters -DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackHoststats -DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackErrorlogs -DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackMyjoomla -DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackFinder -DEBUG |221107 11:26:48|Fetching filter data from database -DEBUG |221107 11:26:48|Loading filters -DEBUG |221107 11:26:48|-- Loading filter Regextabledata -DEBUG |221107 11:26:48|-- Loading filter Skipdirs -DEBUG |221107 11:26:48|-- Loading filter Regexdirectories -DEBUG |221107 11:26:48|-- Loading filter Files -DEBUG |221107 11:26:48|-- Loading filter Regextables -DEBUG |221107 11:26:48|-- Loading filter Skipfiles -DEBUG |221107 11:26:48|-- Loading filter Regexfiles -DEBUG |221107 11:26:48|-- Loading filter Multidb -DEBUG |221107 11:26:48|-- Loading filter Tables -DEBUG |221107 11:26:48|-- Loading filter Regexskipdirs -DEBUG |221107 11:26:48|-- Loading filter Tabledata -DEBUG |221107 11:26:48|-- Loading filter Regexskipfiles -DEBUG |221107 11:26:48|-- Loading filter Extradirs -DEBUG |221107 11:26:48|-- Loading filter Incremental -DEBUG |221107 11:26:48|-- Loading filter Directories -DEBUG |221107 11:26:48|-- Loading filter Joomlaskipdirs -DEBUG |221107 11:26:48|-- Loading filter Cvsfolders -DEBUG |221107 11:26:48|-- Loading filter Siteroot -DEBUG |221107 11:26:48|-- Loading filter Systemcachefiles -DEBUG |221107 11:26:48|-- Loading filter Excludetabledata -DEBUG |221107 11:26:48|-- Loading filter Excludefiles -DEBUG |221107 11:26:48|-- Loading filter Libraries -DEBUG |221107 11:26:48|-- Loading filter Joomlaskipfiles -DEBUG |221107 11:26:48|-- Loading filter Excludefolders -DEBUG |221107 11:26:48|-- Loading filter Sitedb -DEBUG |221107 11:26:48|Loading optional filters -DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackHoststats -DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackErrorlogs -DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackMyjoomla -DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackFinder -DEBUG |250911 12:54:47|Fetching filter data from database -DEBUG |250911 12:54:47|Loading filters -DEBUG |250911 12:54:47|-- Loading filter Regextabledata -DEBUG |250911 12:54:47|-- Loading filter Skipdirs -DEBUG |250911 12:54:47|-- Loading filter Regexdirectories -DEBUG |250911 12:54:47|-- Loading filter Files -DEBUG |250911 12:54:47|-- Loading filter Regextables -DEBUG |250911 12:54:47|-- Loading filter Skipfiles -DEBUG |250911 12:54:47|-- Loading filter Regexfiles -DEBUG |250911 12:54:47|-- Loading filter Multidb -DEBUG |250911 12:54:47|-- Loading filter Tables -DEBUG |250911 12:54:47|-- Loading filter Regexskipdirs -DEBUG |250911 12:54:47|-- Loading filter Tabledata -DEBUG |250911 12:54:47|-- Loading filter Regexskipfiles -DEBUG |250911 12:54:47|-- Loading filter Extradirs -DEBUG |250911 12:54:47|-- Loading filter Incremental -DEBUG |250911 12:54:47|-- Loading filter Directories -DEBUG |250911 12:54:47|-- Loading filter Joomlaskipdirs -DEBUG |250911 12:54:47|-- Loading filter Cvsfolders -DEBUG |250911 12:54:47|-- Loading filter Siteroot -DEBUG |250911 12:54:47|-- Loading filter Systemcachefiles -DEBUG |250911 12:54:47|-- Loading filter Excludetabledata -DEBUG |250911 12:54:47|-- Loading filter Excludefiles -DEBUG |250911 12:54:47|-- Loading filter Libraries -DEBUG |250911 12:54:47|-- Loading filter Joomlaskipfiles -DEBUG |250911 12:54:47|-- Loading filter Excludefolders -DEBUG |250911 12:54:47|-- Loading filter Sitedb -DEBUG |250911 12:54:47|Loading optional filters -DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackHoststats -DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackErrorlogs -DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackMyjoomla -DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackFinder +DEBUG |180718 11:09:57|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:09:57|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:10:08|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:10:08|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:10:19|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:10:19|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:10:30|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:10:30|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:10:40|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:10:40|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:10:51|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:10:51|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:11:02|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:11:02|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:11:12|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:11:12|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:11:23|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:11:23|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:11:34|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:11:34|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:11:44|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:11:44|mysql_close(): 36 is not a valid MySQL-Link resource +DEBUG |180718 11:11:55|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:11:55|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:12:06|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:12:06|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:12:16|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:12:16|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:12:27|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:12:27|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:12:38|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:12:38|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:12:49|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:12:49|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:12:59|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:12:59|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:13:10|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:13:10|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:13:21|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:13:21|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:13:31|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:13:31|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:13:42|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:13:42|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:13:53|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:13:53|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:14:03|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:14:03|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:14:14|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:14:14|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:14:25|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:14:25|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:14:35|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:14:35|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:14:46|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:14:46|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:14:57|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:14:57|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:15:07|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:15:07|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:15:18|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:15:18|mysql_close(): 36 is not a valid MySQL-Link resource +DEBUG |180718 11:15:29|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:15:29|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:15:40|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:15:40|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:15:50|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:15:50|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:16:01|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:16:01|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:16:12|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:16:12|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:16:23|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:16:23|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:16:33|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:16:33|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:16:44|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:16:44|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:16:55|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:16:55|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:17:05|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:17:05|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:17:16|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:17:16|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:17:27|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:17:27|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:17:37|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:17:37|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:17:48|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:17:48|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:17:59|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:17:59|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:18:09|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:18:09|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:18:20|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:18:20|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:18:31|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:18:31|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:18:42|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:18:42|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:18:53|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:18:53|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:19:03|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:19:03|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:19:14|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:19:14|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:19:25|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:19:25|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:19:29|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:19:29|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180718 11:19:29|PHP WARNING (not an error; you can ignore) on line 198 in file /administrator/components/com_akeeba/BackupEngine/Driver/Mysql.php: +DEBUG |180718 11:19:29|mysql_close(): 31 is not a valid MySQL-Link resource +DEBUG |180720 09:49:05|Fetching filter data from database +DEBUG |180720 09:49:05|Loading filters +DEBUG |180720 09:49:05|-- Loading filter Regextables +DEBUG |180720 09:49:05|-- Loading filter Regexdirectories +DEBUG |180720 09:49:05|-- Loading filter Files +DEBUG |180720 09:49:05|-- Loading filter Regexskipfiles +DEBUG |180720 09:49:05|-- Loading filter Tables +DEBUG |180720 09:49:05|-- Loading filter Skipfiles +DEBUG |180720 09:49:05|-- Loading filter Incremental +DEBUG |180720 09:49:05|-- Loading filter Tabledata +DEBUG |180720 09:49:05|-- Loading filter Multidb +DEBUG |180720 09:49:05|-- Loading filter Regexskipdirs +DEBUG |180720 09:49:05|-- Loading filter Regexfiles +DEBUG |180720 09:49:05|-- Loading filter Regextabledata +DEBUG |180720 09:49:05|-- Loading filter Extradirs +DEBUG |180720 09:49:05|-- Loading filter Skipdirs +DEBUG |180720 09:49:05|-- Loading filter Directories +DEBUG |180720 09:49:05|-- Loading filter Excludetabledata +DEBUG |180720 09:49:05|-- Loading filter Excludefiles +DEBUG |180720 09:49:05|-- Loading filter Systemcachefiles +DEBUG |180720 09:49:05|-- Loading filter Cvsfolders +DEBUG |180720 09:49:05|-- Loading filter Siteroot +DEBUG |180720 09:49:05|-- Loading filter Libraries +DEBUG |180720 09:49:05|-- Loading filter Joomlaskipdirs +DEBUG |180720 09:49:05|-- Loading filter Excludefolders +DEBUG |180720 09:49:05|-- Loading filter Joomlaskipfiles +DEBUG |180720 09:49:05|-- Loading filter Sitedb +DEBUG |180720 09:49:05|Loading optional filters +DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackErrorlogs +DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackHoststats +DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackFinder +DEBUG |180720 09:49:05|-- Loading optional filter Stack\StackMyjoomla +DEBUG |190129 09:04:20|Fetching filter data from database +DEBUG |190129 09:04:20|Loading filters +DEBUG |190129 09:04:20|-- Loading filter Regextables +DEBUG |190129 09:04:20|-- Loading filter Regexdirectories +DEBUG |190129 09:04:20|-- Loading filter Files +DEBUG |190129 09:04:20|-- Loading filter Regexskipfiles +DEBUG |190129 09:04:20|-- Loading filter Tables +DEBUG |190129 09:04:20|-- Loading filter Skipfiles +DEBUG |190129 09:04:20|-- Loading filter Incremental +DEBUG |190129 09:04:20|-- Loading filter Tabledata +DEBUG |190129 09:04:20|-- Loading filter Multidb +DEBUG |190129 09:04:20|-- Loading filter Regexskipdirs +DEBUG |190129 09:04:20|-- Loading filter Regexfiles +DEBUG |190129 09:04:20|-- Loading filter Regextabledata +DEBUG |190129 09:04:20|-- Loading filter Extradirs +DEBUG |190129 09:04:20|-- Loading filter Skipdirs +DEBUG |190129 09:04:20|-- Loading filter Directories +DEBUG |190129 09:04:20|-- Loading filter Excludetabledata +DEBUG |190129 09:04:20|-- Loading filter Excludefiles +DEBUG |190129 09:04:20|-- Loading filter Systemcachefiles +DEBUG |190129 09:04:20|-- Loading filter Cvsfolders +DEBUG |190129 09:04:20|-- Loading filter Siteroot +DEBUG |190129 09:04:20|-- Loading filter Libraries +DEBUG |190129 09:04:20|-- Loading filter Joomlaskipdirs +DEBUG |190129 09:04:20|-- Loading filter Excludefolders +DEBUG |190129 09:04:20|-- Loading filter Joomlaskipfiles +DEBUG |190129 09:04:20|-- Loading filter Sitedb +DEBUG |190129 09:04:20|Loading optional filters +DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackErrorlogs +DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackHoststats +DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackFinder +DEBUG |190129 09:04:20|-- Loading optional filter Stack\StackMyjoomla +DEBUG |191022 15:03:07|Fetching filter data from database +DEBUG |191022 15:03:07|Loading filters +DEBUG |191022 15:03:07|-- Loading filter Regextables +DEBUG |191022 15:03:07|-- Loading filter Regexdirectories +DEBUG |191022 15:03:07|-- Loading filter Files +DEBUG |191022 15:03:07|-- Loading filter Regexskipfiles +DEBUG |191022 15:03:07|-- Loading filter Tables +DEBUG |191022 15:03:07|-- Loading filter Skipfiles +DEBUG |191022 15:03:07|-- Loading filter Incremental +DEBUG |191022 15:03:07|-- Loading filter Tabledata +DEBUG |191022 15:03:07|-- Loading filter Multidb +DEBUG |191022 15:03:07|-- Loading filter Regexskipdirs +DEBUG |191022 15:03:07|-- Loading filter Regexfiles +DEBUG |191022 15:03:07|-- Loading filter Regextabledata +DEBUG |191022 15:03:07|-- Loading filter Extradirs +DEBUG |191022 15:03:07|-- Loading filter Skipdirs +DEBUG |191022 15:03:07|-- Loading filter Directories +DEBUG |191022 15:03:07|-- Loading filter Excludetabledata +DEBUG |191022 15:03:07|-- Loading filter Excludefiles +DEBUG |191022 15:03:07|-- Loading filter Systemcachefiles +DEBUG |191022 15:03:07|-- Loading filter Cvsfolders +DEBUG |191022 15:03:07|-- Loading filter Siteroot +DEBUG |191022 15:03:07|-- Loading filter Libraries +DEBUG |191022 15:03:07|-- Loading filter Joomlaskipdirs +DEBUG |191022 15:03:07|-- Loading filter Excludefolders +DEBUG |191022 15:03:07|-- Loading filter Joomlaskipfiles +DEBUG |191022 15:03:07|-- Loading filter Sitedb +DEBUG |191022 15:03:07|Loading optional filters +DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackErrorlogs +DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackHoststats +DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackFinder +DEBUG |191022 15:03:07|-- Loading optional filter Stack\StackMyjoomla +DEBUG |191029 08:02:26|Fetching filter data from database +DEBUG |191029 08:02:26|Loading filters +DEBUG |191029 08:02:26|-- Loading filter Regextables +DEBUG |191029 08:02:26|-- Loading filter Regexdirectories +DEBUG |191029 08:02:26|-- Loading filter Files +DEBUG |191029 08:02:26|-- Loading filter Regexskipfiles +DEBUG |191029 08:02:26|-- Loading filter Tables +DEBUG |191029 08:02:26|-- Loading filter Skipfiles +DEBUG |191029 08:02:26|-- Loading filter Incremental +DEBUG |191029 08:02:26|-- Loading filter Tabledata +DEBUG |191029 08:02:26|-- Loading filter Multidb +DEBUG |191029 08:02:26|-- Loading filter Regexskipdirs +DEBUG |191029 08:02:26|-- Loading filter Regexfiles +DEBUG |191029 08:02:26|-- Loading filter Regextabledata +DEBUG |191029 08:02:26|-- Loading filter Extradirs +DEBUG |191029 08:02:26|-- Loading filter Skipdirs +DEBUG |191029 08:02:26|-- Loading filter Directories +DEBUG |191029 08:02:26|-- Loading filter Excludetabledata +DEBUG |191029 08:02:26|-- Loading filter Excludefiles +DEBUG |191029 08:02:26|-- Loading filter Systemcachefiles +DEBUG |191029 08:02:26|-- Loading filter Cvsfolders +DEBUG |191029 08:02:26|-- Loading filter Siteroot +DEBUG |191029 08:02:26|-- Loading filter Libraries +DEBUG |191029 08:02:26|-- Loading filter Joomlaskipdirs +DEBUG |191029 08:02:26|-- Loading filter Excludefolders +DEBUG |191029 08:02:26|-- Loading filter Joomlaskipfiles +DEBUG |191029 08:02:26|-- Loading filter Sitedb +DEBUG |191029 08:02:26|Loading optional filters +DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackErrorlogs +DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackHoststats +DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackFinder +DEBUG |191029 08:02:26|-- Loading optional filter Stack\StackMyjoomla +DEBUG |191104 10:09:59|Fetching filter data from database +DEBUG |191104 10:09:59|Loading filters +DEBUG |191104 10:09:59|-- Loading filter Regextables +DEBUG |191104 10:09:59|-- Loading filter Regexdirectories +DEBUG |191104 10:09:59|-- Loading filter Files +DEBUG |191104 10:09:59|-- Loading filter Regexskipfiles +DEBUG |191104 10:09:59|-- Loading filter Tables +DEBUG |191104 10:09:59|-- Loading filter Skipfiles +DEBUG |191104 10:09:59|-- Loading filter Incremental +DEBUG |191104 10:09:59|-- Loading filter Tabledata +DEBUG |191104 10:09:59|-- Loading filter Multidb +DEBUG |191104 10:09:59|-- Loading filter Regexskipdirs +DEBUG |191104 10:09:59|-- Loading filter Regexfiles +DEBUG |191104 10:09:59|-- Loading filter Regextabledata +DEBUG |191104 10:09:59|-- Loading filter Extradirs +DEBUG |191104 10:09:59|-- Loading filter Skipdirs +DEBUG |191104 10:09:59|-- Loading filter Directories +DEBUG |191104 10:09:59|-- Loading filter Excludetabledata +DEBUG |191104 10:09:59|-- Loading filter Excludefiles +DEBUG |191104 10:09:59|-- Loading filter Systemcachefiles +DEBUG |191104 10:09:59|-- Loading filter Cvsfolders +DEBUG |191104 10:09:59|-- Loading filter Siteroot +DEBUG |191104 10:09:59|-- Loading filter Libraries +DEBUG |191104 10:09:59|-- Loading filter Joomlaskipdirs +DEBUG |191104 10:09:59|-- Loading filter Excludefolders +DEBUG |191104 10:09:59|-- Loading filter Joomlaskipfiles +DEBUG |191104 10:09:59|-- Loading filter Sitedb +DEBUG |191104 10:09:59|Loading optional filters +DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackErrorlogs +DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackHoststats +DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackFinder +DEBUG |191104 10:09:59|-- Loading optional filter Stack\StackMyjoomla +DEBUG |200630 13:06:17|Fetching filter data from database +DEBUG |200630 13:06:17|Loading filters +DEBUG |200630 13:06:17|-- Loading filter Regextabledata +DEBUG |200630 13:06:17|-- Loading filter Skipdirs +DEBUG |200630 13:06:17|-- Loading filter Regexdirectories +DEBUG |200630 13:06:17|-- Loading filter Files +DEBUG |200630 13:06:17|-- Loading filter Regextables +DEBUG |200630 13:06:17|-- Loading filter Skipfiles +DEBUG |200630 13:06:17|-- Loading filter Regexfiles +DEBUG |200630 13:06:17|-- Loading filter Multidb +DEBUG |200630 13:06:17|-- Loading filter Tables +DEBUG |200630 13:06:17|-- Loading filter Regexskipdirs +DEBUG |200630 13:06:17|-- Loading filter Tabledata +DEBUG |200630 13:06:17|-- Loading filter Regexskipfiles +DEBUG |200630 13:06:17|-- Loading filter Extradirs +DEBUG |200630 13:06:17|-- Loading filter Incremental +DEBUG |200630 13:06:17|-- Loading filter Directories +DEBUG |200630 13:06:17|-- Loading filter Joomlaskipdirs +DEBUG |200630 13:06:17|-- Loading filter Cvsfolders +DEBUG |200630 13:06:17|-- Loading filter Siteroot +DEBUG |200630 13:06:17|-- Loading filter Systemcachefiles +DEBUG |200630 13:06:17|-- Loading filter Excludetabledata +DEBUG |200630 13:06:17|-- Loading filter Excludefiles +DEBUG |200630 13:06:17|-- Loading filter Libraries +DEBUG |200630 13:06:17|-- Loading filter Joomlaskipfiles +DEBUG |200630 13:06:17|-- Loading filter Excludefolders +DEBUG |200630 13:06:17|-- Loading filter Sitedb +DEBUG |200630 13:06:17|Loading optional filters +DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackHoststats +DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackErrorlogs +DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackMyjoomla +DEBUG |200630 13:06:17|-- Loading optional filter Stack\StackFinder +DEBUG |221107 11:26:48|Fetching filter data from database +DEBUG |221107 11:26:48|Loading filters +DEBUG |221107 11:26:48|-- Loading filter Regextabledata +DEBUG |221107 11:26:48|-- Loading filter Skipdirs +DEBUG |221107 11:26:48|-- Loading filter Regexdirectories +DEBUG |221107 11:26:48|-- Loading filter Files +DEBUG |221107 11:26:48|-- Loading filter Regextables +DEBUG |221107 11:26:48|-- Loading filter Skipfiles +DEBUG |221107 11:26:48|-- Loading filter Regexfiles +DEBUG |221107 11:26:48|-- Loading filter Multidb +DEBUG |221107 11:26:48|-- Loading filter Tables +DEBUG |221107 11:26:48|-- Loading filter Regexskipdirs +DEBUG |221107 11:26:48|-- Loading filter Tabledata +DEBUG |221107 11:26:48|-- Loading filter Regexskipfiles +DEBUG |221107 11:26:48|-- Loading filter Extradirs +DEBUG |221107 11:26:48|-- Loading filter Incremental +DEBUG |221107 11:26:48|-- Loading filter Directories +DEBUG |221107 11:26:48|-- Loading filter Joomlaskipdirs +DEBUG |221107 11:26:48|-- Loading filter Cvsfolders +DEBUG |221107 11:26:48|-- Loading filter Siteroot +DEBUG |221107 11:26:48|-- Loading filter Systemcachefiles +DEBUG |221107 11:26:48|-- Loading filter Excludetabledata +DEBUG |221107 11:26:48|-- Loading filter Excludefiles +DEBUG |221107 11:26:48|-- Loading filter Libraries +DEBUG |221107 11:26:48|-- Loading filter Joomlaskipfiles +DEBUG |221107 11:26:48|-- Loading filter Excludefolders +DEBUG |221107 11:26:48|-- Loading filter Sitedb +DEBUG |221107 11:26:48|Loading optional filters +DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackHoststats +DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackErrorlogs +DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackMyjoomla +DEBUG |221107 11:26:48|-- Loading optional filter Stack\StackFinder +DEBUG |250911 12:54:47|Fetching filter data from database +DEBUG |250911 12:54:47|Loading filters +DEBUG |250911 12:54:47|-- Loading filter Regextabledata +DEBUG |250911 12:54:47|-- Loading filter Skipdirs +DEBUG |250911 12:54:47|-- Loading filter Regexdirectories +DEBUG |250911 12:54:47|-- Loading filter Files +DEBUG |250911 12:54:47|-- Loading filter Regextables +DEBUG |250911 12:54:47|-- Loading filter Skipfiles +DEBUG |250911 12:54:47|-- Loading filter Regexfiles +DEBUG |250911 12:54:47|-- Loading filter Multidb +DEBUG |250911 12:54:47|-- Loading filter Tables +DEBUG |250911 12:54:47|-- Loading filter Regexskipdirs +DEBUG |250911 12:54:47|-- Loading filter Tabledata +DEBUG |250911 12:54:47|-- Loading filter Regexskipfiles +DEBUG |250911 12:54:47|-- Loading filter Extradirs +DEBUG |250911 12:54:47|-- Loading filter Incremental +DEBUG |250911 12:54:47|-- Loading filter Directories +DEBUG |250911 12:54:47|-- Loading filter Joomlaskipdirs +DEBUG |250911 12:54:47|-- Loading filter Cvsfolders +DEBUG |250911 12:54:47|-- Loading filter Siteroot +DEBUG |250911 12:54:47|-- Loading filter Systemcachefiles +DEBUG |250911 12:54:47|-- Loading filter Excludetabledata +DEBUG |250911 12:54:47|-- Loading filter Excludefiles +DEBUG |250911 12:54:47|-- Loading filter Libraries +DEBUG |250911 12:54:47|-- Loading filter Joomlaskipfiles +DEBUG |250911 12:54:47|-- Loading filter Excludefolders +DEBUG |250911 12:54:47|-- Loading filter Sitedb +DEBUG |250911 12:54:47|Loading optional filters +DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackHoststats +DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackErrorlogs +DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackMyjoomla +DEBUG |250911 12:54:47|-- Loading optional filter Stack\StackFinder diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Analytics.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Analytics.php index 1648c9ab..fb68eb1f 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Analytics.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Analytics.php @@ -1,89 +1,89 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -use NRFramework\Cache; - -defined('_JEXEC') or die('Restricted access'); - -/** - * Analytics Helper Class - */ -class Analytics -{ - /** - * Returns average submission in current month - * - * @return float - */ - public static function getLeadsAverageThisMonth() - { - return number_format(self::getTotal('this_month') / date('d'), 1); - } - - /** - * Returns current month projection - * - * @return integer - */ - public static function getMonthProjection() - { - return number_format(self::getTotal('this_month') / date('d') * date('t'), 1); - } - - public static function getRows($type = null, $options = []) - { - return number_format(self::getTotal($type, $options)); - } - - public static function getTotal($type = null, $options = []) - { - $hash = md5($type . serialize($options)); - - if (Cache::has($hash)) - { - return Cache::get($hash); - } - - $model = \JModelLegacy::getInstance('Conversions', 'ConvertFormsModel', ['ignore_request' => true]); - - $model->setState('filter.state', [1, 2]); - $model->setState('filter.join_campaigns', 'skip'); - $model->setState('filter.join_forms', 'skip'); - - if ($type) - { - $model->setState('filter.period', $type); - } - - if ($type == 'range') - { - $model->setState('filter.created_from', $options['created_from']); - $model->setState('filter.created_to', $options['created_to']); - } - - $query = $model->getListQuery(); - - $query->clear('select'); - $query->select('count(a.id)'); - - $db = \JFactory::getDbo(); - $db->setQuery($query); - - $count = $db->loadResult(); - - return Cache::set($hash, $count); - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +use NRFramework\Cache; + +defined('_JEXEC') or die('Restricted access'); + +/** + * Analytics Helper Class + */ +class Analytics +{ + /** + * Returns average submission in current month + * + * @return float + */ + public static function getLeadsAverageThisMonth() + { + return number_format(self::getTotal('this_month') / date('d'), 1); + } + + /** + * Returns current month projection + * + * @return integer + */ + public static function getMonthProjection() + { + return number_format(self::getTotal('this_month') / date('d') * date('t'), 1); + } + + public static function getRows($type = null, $options = []) + { + return number_format(self::getTotal($type, $options)); + } + + public static function getTotal($type = null, $options = []) + { + $hash = md5($type . serialize($options)); + + if (Cache::has($hash)) + { + return Cache::get($hash); + } + + $model = \JModelLegacy::getInstance('Conversions', 'ConvertFormsModel', ['ignore_request' => true]); + + $model->setState('filter.state', [1, 2]); + $model->setState('filter.join_campaigns', 'skip'); + $model->setState('filter.join_forms', 'skip'); + + if ($type) + { + $model->setState('filter.period', $type); + } + + if ($type == 'range') + { + $model->setState('filter.created_from', $options['created_from']); + $model->setState('filter.created_to', $options['created_to']); + } + + $query = $model->getListQuery(); + + $query->clear('select'); + $query->select('count(a.id)'); + + $db = \JFactory::getDbo(); + $db->setQuery($query); + + $count = $db->loadResult(); + + return Cache::set($hash, $count); + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field.php index 47e93f30..aea8cac3 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field.php @@ -1,429 +1,429 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -use Joomla\Registry\Registry; -use ConvertForms\Helper; - -defined('_JEXEC') or die('Restricted access'); - -/** - * Convert Forms Field Main Class - */ -class Field -{ - /** - * Field Object - * - * @var object - */ - protected $field; - - /** - * The prefix name used for input names - * - * @var string - */ - private $namePrefix = 'cf'; - - /** - * Filter user value before saving into the database. By default converts the input to a string; strips all HTML tags / attributes. - * - * @var string - */ - protected $filterInput = 'HTML'; - - /** - * Exclude common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields; - - /** - * Data passed to layout rendering - * - * @var object - */ - private $layoutData; - - /** - * Indicates whether it accepts multiple values - * - * @var bool - */ - protected $multiple = false; - - /** - * Indicates the default required behavior on the form - * - * @var bool - */ - protected $required = true; - - /** - * The data submitted by the user in the form - * - * @var array - */ - protected $data; - - /** - * Class constructor - * - * @param mixed $field_options Object or Array Field options - * - * @return void - */ - public function __construct($field_options = null, $form_data = null) - { - $this->data = $form_data; - - if ($field_options) - { - $field_options['required'] = isset($field_options['required']) ? $field_options['required'] : $this->required; - - // We should better call $this->setField() here - $this->field = new Registry($field_options); - } - - $this->app = \JFactory::getApplication(); - } - - /** - * Set field object - * - * Rename to prepareField - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - $field = is_array($field) ? (object) $field : $field; - - if (!isset($field->name) || empty($field->name)) - { - $field->name = $this->getName() . '_' . $field->key; - } - - $field->input_id = 'form' . $field->namespace . '_' . $field->name; - $field->input_name = $this->namePrefix . '[' . $field->name . ']'; - - $field->htmlattributes = []; - - $this->field = $field; - - return $this; - } - - /** - * Event fired during form saving in the backend to help us validate user options. - * - * @param object $model The Form Model - * @param array $form_data The form data to be saved - * @param array $field_options The field data - * - * @return bool - */ - public function onBeforeFormSave($model, $form_data, &$field_options) - { - if (isset($field_options['name']) && $field_options['name'] == '') - { - $field_options['name'] = $field_options['type'] . '_' . $field_options['key']; - } - - return true; - } - - /** - * Discovers the actual field name from the called class - * - * @return string - */ - protected function getName() - { - $class_parts = explode('\\', get_called_class()); - return strtolower(end($class_parts)); - } - - /** - * Renders the field's input element - * - * @return string HTML output - */ - protected function getInput() - { - $layoutsPath = JPATH_ADMINISTRATOR . '/components/com_convertforms/layouts/fields/'; - - // Override layout path if it's available - $layoutName = isset($this->inheritInputLayout) ? $this->inheritInputLayout : $this->getName(); - - // Check if an admininistrator layout is available - if ($this->app->isClient('administrator') && \JFile::exists($layoutsPath . $layoutName . '_admin.php')) - { - $layoutName .= '_admin'; - } - - return Helper::layoutRender('fields.' . $layoutName, $this->getInputData()); - } - - /** - * Prepares the field's input layout data - * - * @return array - */ - protected function getInputData() - { - return array( - 'class' => $this, - 'field' => $this->field, - 'form' => $this->field->form - ); - } - - /** - * Renders the Field's control group that will contain both input and label parts. - * - * @return string HTML Output - */ - public function getControlGroup() - { - \JPluginHelper::importPlugin('convertformstools'); - $this->app->triggerEvent('onConvertFormsFieldBeforeRender', [&$this->field]); - - $this->field->input = $this->getInput(); - - $layoutData = [ - 'field' => $this->field, - 'form' => $this->field->form - ]; - - return Helper::layoutRender('controlgroup', $layoutData); - } - - /** - * Renders the Field's Options Form used in the backend - * - * @param string $formControl From control prefix - * @param array $loadData Form data to bind - * - * @return string The final HTML output - */ - public function getOptionsForm($formControl = 'jform', $loadData = null) - { - // Setup the common form first - $form = new \JForm('cf', array('control' => $formControl)); - - $form->addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms/fields'); - $form->addFieldPath(JPATH_PLUGINS . '/system/nrframework/fields'); - $form->loadFile(JPATH_COMPONENT_ADMINISTRATOR . '/ConvertForms/xml/field.xml'); - - // Exclude Fields - if (is_array($this->excludeFields)) - { - $reservedFields = array( - 'key', - 'type' - ); - - foreach ($form->getFieldSets() as $key => $fieldSetName) - { - $fields = $form->getFieldset($fieldSetName->name); - - foreach ($fields as $key => $field) - { - // We can't exclude reserved fields - if (in_array($field->fieldname, $reservedFields)) - { - continue; - } - - if (!in_array($field->fieldname, $this->excludeFields) && - !in_array('*', $this->excludeFields)) - { - continue; - } - - $form->removeField($field->fieldname); - } - } - } - - // Load field based options - $form->loadFile(JPATH_COMPONENT_ADMINISTRATOR . '/ConvertForms/xml/field/' . $this->getName() . '.xml'); - - \JPluginHelper::importPlugin('convertformstools'); - $this->app->triggerEvent('onConvertFormsBackendRenderOptionsForm', [&$form, $this->getName()]); - - // Bind Data - $form->bind($loadData); - - // Give individual field classes to manipulate the form before the render - if (method_exists($this, 'onBeforeRenderOptionsForm')) - { - $this->onBeforeRenderOptionsForm($form); - } - - // Render Layout - $data = array( - 'form' => $form, - 'header' => $this->getOptionsFormHeader(), - 'fieldTypeName' => $this->getName(), - 'loadData' => $loadData - ); - - $html = Helper::layoutRender('optionsform', $data); - - // Give individual field classes to manipulate the form after the render - if (method_exists($this, 'onAfterRenderOptionsForm')) - { - $this->onAfterRenderOptionsForm($html); - } - - return $html; - } - - /** - * Display a text before the form options - * - * @return string The text to display - */ - protected function getOptionsFormHeader() - { - return; - } - - /** - * Validate form submitted value - * - * @param mixed $value The field's value to validate (Passed by reference) - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - $isEmpty = $this->isEmpty($value); - $isRequired = $this->field->get('required'); - - if ($isEmpty && $isRequired) - { - $this->throwError(\JText::_('COM_CONVERTFORMS_FIELD_REQUIRED'), $field_options); - } - - // Let's do some filtering. - $value = $this->filterInput($value); - } - - /** - * Checks if submitted value is empty - * - * @param mixed $value - * - * @return bool - */ - protected function isEmpty($value) - { - if (is_array($value) && count($value) == 0) - { - return true; - } - - // Note: Do not use empty() as evaluates '0' as true which is a valid value for the Number field. - if ($value == '' || is_null($value)) - { - return true; - } - - return false; - } - - /** - * Filter user input - * - * @param mixed $input User input value - * - * @return mixed The filtered user input - */ - public function filterInput($input) - { - $filter = $this->field->get('filter', $this->filterInput); - - // Safehtml is a special filter angd we need to initialize JFilterInput class differently - if ($filter == 'safehtml') - { - return \JFilterInput::getInstance(null, null, 1, 1)->clean($input, 'html'); - } - - return \JFilterInput::getInstance()->clean($input, $filter); - } - - /** - * Get the field's label which is also parsed for Smart Tags - */ - public function getLabel() - { - if ($label = $this->field->get('label')) - { - return \NRFramework\SmartTags::getInstance()->replace($label); - } - - // In case the Label option is empty, use the name of the field. - return $this->field->get('name'); - } - - /** - * Throw an error exception - * - * @param [type] $message [description] - * - * @return [type] [description] - */ - public function throwError($message) - { - if (!$label = $this->getLabel()) - { - $label = $this->field->get('name', ucfirst($this->field->get('type'))); - } - - throw new \Exception($label . ': ' . \JText::_($message)); - } - - /** - * Prepare value to be displayed to the user as plain text - * - * @param mixed $value - * - * @return string - */ - public function prepareValue($value) - { - if (is_bool($value)) - { - return $value ? '1' : '0'; - } - - if (is_array($value)) - { - return implode(', ', $value); - } - - // Strings and numbers - return Helper::escape($value); - } - - public function prepareValueHTML($value) - { - return $this->prepareValue($value); - } -} + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +use Joomla\Registry\Registry; +use ConvertForms\Helper; + +defined('_JEXEC') or die('Restricted access'); + +/** + * Convert Forms Field Main Class + */ +class Field +{ + /** + * Field Object + * + * @var object + */ + protected $field; + + /** + * The prefix name used for input names + * + * @var string + */ + private $namePrefix = 'cf'; + + /** + * Filter user value before saving into the database. By default converts the input to a string; strips all HTML tags / attributes. + * + * @var string + */ + protected $filterInput = 'HTML'; + + /** + * Exclude common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields; + + /** + * Data passed to layout rendering + * + * @var object + */ + private $layoutData; + + /** + * Indicates whether it accepts multiple values + * + * @var bool + */ + protected $multiple = false; + + /** + * Indicates the default required behavior on the form + * + * @var bool + */ + protected $required = true; + + /** + * The data submitted by the user in the form + * + * @var array + */ + protected $data; + + /** + * Class constructor + * + * @param mixed $field_options Object or Array Field options + * + * @return void + */ + public function __construct($field_options = null, $form_data = null) + { + $this->data = $form_data; + + if ($field_options) + { + $field_options['required'] = isset($field_options['required']) ? $field_options['required'] : $this->required; + + // We should better call $this->setField() here + $this->field = new Registry($field_options); + } + + $this->app = \JFactory::getApplication(); + } + + /** + * Set field object + * + * Rename to prepareField + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + $field = is_array($field) ? (object) $field : $field; + + if (!isset($field->name) || empty($field->name)) + { + $field->name = $this->getName() . '_' . $field->key; + } + + $field->input_id = 'form' . $field->namespace . '_' . $field->name; + $field->input_name = $this->namePrefix . '[' . $field->name . ']'; + + $field->htmlattributes = []; + + $this->field = $field; + + return $this; + } + + /** + * Event fired during form saving in the backend to help us validate user options. + * + * @param object $model The Form Model + * @param array $form_data The form data to be saved + * @param array $field_options The field data + * + * @return bool + */ + public function onBeforeFormSave($model, $form_data, &$field_options) + { + if (isset($field_options['name']) && $field_options['name'] == '') + { + $field_options['name'] = $field_options['type'] . '_' . $field_options['key']; + } + + return true; + } + + /** + * Discovers the actual field name from the called class + * + * @return string + */ + protected function getName() + { + $class_parts = explode('\\', get_called_class()); + return strtolower(end($class_parts)); + } + + /** + * Renders the field's input element + * + * @return string HTML output + */ + protected function getInput() + { + $layoutsPath = JPATH_ADMINISTRATOR . '/components/com_convertforms/layouts/fields/'; + + // Override layout path if it's available + $layoutName = isset($this->inheritInputLayout) ? $this->inheritInputLayout : $this->getName(); + + // Check if an admininistrator layout is available + if ($this->app->isClient('administrator') && \JFile::exists($layoutsPath . $layoutName . '_admin.php')) + { + $layoutName .= '_admin'; + } + + return Helper::layoutRender('fields.' . $layoutName, $this->getInputData()); + } + + /** + * Prepares the field's input layout data + * + * @return array + */ + protected function getInputData() + { + return array( + 'class' => $this, + 'field' => $this->field, + 'form' => $this->field->form + ); + } + + /** + * Renders the Field's control group that will contain both input and label parts. + * + * @return string HTML Output + */ + public function getControlGroup() + { + \JPluginHelper::importPlugin('convertformstools'); + $this->app->triggerEvent('onConvertFormsFieldBeforeRender', [&$this->field]); + + $this->field->input = $this->getInput(); + + $layoutData = [ + 'field' => $this->field, + 'form' => $this->field->form + ]; + + return Helper::layoutRender('controlgroup', $layoutData); + } + + /** + * Renders the Field's Options Form used in the backend + * + * @param string $formControl From control prefix + * @param array $loadData Form data to bind + * + * @return string The final HTML output + */ + public function getOptionsForm($formControl = 'jform', $loadData = null) + { + // Setup the common form first + $form = new \JForm('cf', array('control' => $formControl)); + + $form->addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms/fields'); + $form->addFieldPath(JPATH_PLUGINS . '/system/nrframework/fields'); + $form->loadFile(JPATH_COMPONENT_ADMINISTRATOR . '/ConvertForms/xml/field.xml'); + + // Exclude Fields + if (is_array($this->excludeFields)) + { + $reservedFields = array( + 'key', + 'type' + ); + + foreach ($form->getFieldSets() as $key => $fieldSetName) + { + $fields = $form->getFieldset($fieldSetName->name); + + foreach ($fields as $key => $field) + { + // We can't exclude reserved fields + if (in_array($field->fieldname, $reservedFields)) + { + continue; + } + + if (!in_array($field->fieldname, $this->excludeFields) && + !in_array('*', $this->excludeFields)) + { + continue; + } + + $form->removeField($field->fieldname); + } + } + } + + // Load field based options + $form->loadFile(JPATH_COMPONENT_ADMINISTRATOR . '/ConvertForms/xml/field/' . $this->getName() . '.xml'); + + \JPluginHelper::importPlugin('convertformstools'); + $this->app->triggerEvent('onConvertFormsBackendRenderOptionsForm', [&$form, $this->getName()]); + + // Bind Data + $form->bind($loadData); + + // Give individual field classes to manipulate the form before the render + if (method_exists($this, 'onBeforeRenderOptionsForm')) + { + $this->onBeforeRenderOptionsForm($form); + } + + // Render Layout + $data = array( + 'form' => $form, + 'header' => $this->getOptionsFormHeader(), + 'fieldTypeName' => $this->getName(), + 'loadData' => $loadData + ); + + $html = Helper::layoutRender('optionsform', $data); + + // Give individual field classes to manipulate the form after the render + if (method_exists($this, 'onAfterRenderOptionsForm')) + { + $this->onAfterRenderOptionsForm($html); + } + + return $html; + } + + /** + * Display a text before the form options + * + * @return string The text to display + */ + protected function getOptionsFormHeader() + { + return; + } + + /** + * Validate form submitted value + * + * @param mixed $value The field's value to validate (Passed by reference) + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + $isEmpty = $this->isEmpty($value); + $isRequired = $this->field->get('required'); + + if ($isEmpty && $isRequired) + { + $this->throwError(\JText::_('COM_CONVERTFORMS_FIELD_REQUIRED'), $field_options); + } + + // Let's do some filtering. + $value = $this->filterInput($value); + } + + /** + * Checks if submitted value is empty + * + * @param mixed $value + * + * @return bool + */ + protected function isEmpty($value) + { + if (is_array($value) && count($value) == 0) + { + return true; + } + + // Note: Do not use empty() as evaluates '0' as true which is a valid value for the Number field. + if ($value == '' || is_null($value)) + { + return true; + } + + return false; + } + + /** + * Filter user input + * + * @param mixed $input User input value + * + * @return mixed The filtered user input + */ + public function filterInput($input) + { + $filter = $this->field->get('filter', $this->filterInput); + + // Safehtml is a special filter angd we need to initialize JFilterInput class differently + if ($filter == 'safehtml') + { + return \JFilterInput::getInstance(null, null, 1, 1)->clean($input, 'html'); + } + + return \JFilterInput::getInstance()->clean($input, $filter); + } + + /** + * Get the field's label which is also parsed for Smart Tags + */ + public function getLabel() + { + if ($label = $this->field->get('label')) + { + return \NRFramework\SmartTags::getInstance()->replace($label); + } + + // In case the Label option is empty, use the name of the field. + return $this->field->get('name'); + } + + /** + * Throw an error exception + * + * @param [type] $message [description] + * + * @return [type] [description] + */ + public function throwError($message) + { + if (!$label = $this->getLabel()) + { + $label = $this->field->get('name', ucfirst($this->field->get('type'))); + } + + throw new \Exception($label . ': ' . \JText::_($message)); + } + + /** + * Prepare value to be displayed to the user as plain text + * + * @param mixed $value + * + * @return string + */ + public function prepareValue($value) + { + if (is_bool($value)) + { + return $value ? '1' : '0'; + } + + if (is_array($value)) + { + return implode(', ', $value); + } + + // Strings and numbers + return Helper::escape($value); + } + + public function prepareValueHTML($value) + { + return $this->prepareValue($value); + } +} ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Checkbox.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Checkbox.php index 96170d28..614f313d 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Checkbox.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Checkbox.php @@ -1,38 +1,38 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Checkbox extends \ConvertForms\FieldChoice -{ - /** - * Indicates whether it accepts multiple values - * - * @var bool - */ - protected $multiple = true; - - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = array( - 'placeholder', - 'browserautocomplete', - 'size', - ); -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Checkbox extends \ConvertForms\FieldChoice +{ + /** + * Indicates whether it accepts multiple values + * + * @var bool + */ + protected $multiple = true; + + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = array( + 'placeholder', + 'browserautocomplete', + 'size', + ); +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Divider.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Divider.php index d4286dfa..c76f787b 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Divider.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Divider.php @@ -1,46 +1,46 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Divider extends \ConvertForms\Field -{ - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = [ - 'name', - 'placeholder', - 'browserautocomplete', - 'size', - 'required', - 'label', - 'description', - 'cssclass', - 'hidelabel', - 'inputcssclass', - 'value' - ]; - - /** - * Indicates the default required behavior on the form - * - * @var bool - */ - protected $required = false; -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Divider extends \ConvertForms\Field +{ + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = [ + 'name', + 'placeholder', + 'browserautocomplete', + 'size', + 'required', + 'label', + 'description', + 'cssclass', + 'hidelabel', + 'inputcssclass', + 'value' + ]; + + /** + * Indicates the default required behavior on the form + * + * @var bool + */ + protected $required = false; +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Dropdown.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Dropdown.php index 768216e3..6d7d6cfe 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Dropdown.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Dropdown.php @@ -1,22 +1,22 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Dropdown extends \ConvertForms\FieldChoice -{ - -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Dropdown extends \ConvertForms\FieldChoice +{ + +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Editor.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Editor.php index c7bbe78f..a3a2778a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Editor.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Editor.php @@ -1,80 +1,80 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2021 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Editor extends Textarea -{ - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = [ - 'placeholder', - 'browserautocomplete', - 'size', - ]; - - /** - * Event fired before the field options form is rendered in the backend - * - * @param object $form - * - * @return void - */ - protected function onAfterRenderOptionsForm(&$html) - { - // Remove the 'None' editor from dropdown options - $html = str_replace('', '', $html); - } - - /** - * Renders the field's input element - * - * @return string HTML output - */ - protected function getInput() - { - $selected_editor = empty($this->field->editor) ? \JFactory::getConfig()->get('editor') : $this->field->editor; - - if (!$selected_editor) - { - return \JText::sprintf('COM_CONVERTFORMS_EDITOR_NOT_FOUND', $selected_editor); - } - - // Instantiate the editor - $editor = \Joomla\CMS\Editor\Editor::getInstance($selected_editor); - - $id = $this->field->input_id; - $name = $this->field->input_name; - $contents = htmlspecialchars($this->field->value, ENT_COMPAT, 'UTF-8'); - $width = '100%'; - $height = (int) $this->field->height; - $row = 1; - $col = 10; - $buttons = false; - $author = null; - $asset = null; - $params = [ - 'readonly' => $this->field->readonly, - ]; - - $this->field->richeditor = $editor->display($name, $contents, $width, $height, $col, $row, $buttons, $id, $author, $asset, $params); - - return parent::getInput(); - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2021 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Editor extends Textarea +{ + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = [ + 'placeholder', + 'browserautocomplete', + 'size', + ]; + + /** + * Event fired before the field options form is rendered in the backend + * + * @param object $form + * + * @return void + */ + protected function onAfterRenderOptionsForm(&$html) + { + // Remove the 'None' editor from dropdown options + $html = str_replace('', '', $html); + } + + /** + * Renders the field's input element + * + * @return string HTML output + */ + protected function getInput() + { + $selected_editor = empty($this->field->editor) ? \JFactory::getConfig()->get('editor') : $this->field->editor; + + if (!$selected_editor) + { + return \JText::sprintf('COM_CONVERTFORMS_EDITOR_NOT_FOUND', $selected_editor); + } + + // Instantiate the editor + $editor = \Joomla\CMS\Editor\Editor::getInstance($selected_editor); + + $id = $this->field->input_id; + $name = $this->field->input_name; + $contents = htmlspecialchars($this->field->value, ENT_COMPAT, 'UTF-8'); + $width = '100%'; + $height = (int) $this->field->height; + $row = 1; + $col = 10; + $buttons = false; + $author = null; + $asset = null; + $params = [ + 'readonly' => $this->field->readonly, + ]; + + $this->field->richeditor = $editor->display($name, $contents, $width, $height, $col, $row, $buttons, $id, $author, $asset, $params); + + return parent::getInput(); + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Email.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Email.php index 563b3a8a..ba04e7fe 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Email.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Email.php @@ -1,63 +1,63 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Validate; - -class Email extends \ConvertForms\Field -{ - protected $inheritInputLayout = 'text'; - - /** - * Validate field value - * - * @param mixed $value The field's value to validate - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - parent::validate($value); - - if ($this->isEmpty($value)) - { - return true; - } - - if (!Validate::email($value) || $this->field->get('dnscheck') && !Validate::emaildns($value)) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_EMAIL_INVALID'), $this->field); - } - } - - /** - * Prepare value to be displayed to the user as HTML/text - * - * @param mixed $value - * - * @return string - */ - public function prepareValueHTML($value) - { - if (!$value) - { - return; - } - - return '' . $value . ''; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Validate; + +class Email extends \ConvertForms\Field +{ + protected $inheritInputLayout = 'text'; + + /** + * Validate field value + * + * @param mixed $value The field's value to validate + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + parent::validate($value); + + if ($this->isEmpty($value)) + { + return true; + } + + if (!Validate::email($value) || $this->field->get('dnscheck') && !Validate::emaildns($value)) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_EMAIL_INVALID'), $this->field); + } + } + + /** + * Prepare value to be displayed to the user as HTML/text + * + * @param mixed $value + * + * @return string + */ + public function prepareValueHTML($value) + { + if (!$value) + { + return; + } + + return '' . $value . ''; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Emptyspace.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Emptyspace.php index 2efd5623..9f1a7e49 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Emptyspace.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Emptyspace.php @@ -1,46 +1,46 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2018 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class EmptySpace extends \ConvertForms\Field -{ - /** - * Indicates the default required behavior on the form - * - * @var bool - */ - protected $required = false; - - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = [ - 'name', - 'placeholder', - 'browserautocomplete', - 'size', - 'required', - 'label', - 'description', - 'cssclass', - 'hidelabel', - 'inputcssclass', - 'value' - ]; -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2018 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class EmptySpace extends \ConvertForms\Field +{ + /** + * Indicates the default required behavior on the form + * + * @var bool + */ + protected $required = false; + + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = [ + 'name', + 'placeholder', + 'browserautocomplete', + 'size', + 'required', + 'label', + 'description', + 'cssclass', + 'hidelabel', + 'inputcssclass', + 'value' + ]; +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Fileupload.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Fileupload.php index 90d45c5d..c7e1e8f6 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Fileupload.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Fileupload.php @@ -1,337 +1,337 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -jimport('joomla.filesystem.file'); -jimport('joomla.filesystem.folder'); -jimport('joomla.filesystem.path'); - -use ConvertForms\Helper; -use ConvertForms\Validate; -use Joomla\CMS\Filesystem\File as JFile; -use NRFramework\File; -use Joomla\Registry\Registry; - -class FileUpload extends \ConvertForms\Field -{ - /** - * The default upload folder - * - * @var string - */ - protected $default_upload_folder = '/media/com_convertforms/uploads/{randomid}_{file.basename}'; - - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = [ - 'size', - 'value', - 'browserautocomplete', - 'placeholder', - 'inputcssclass' - ]; - - /** - * Set field object - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - parent::setField($field); - - $field = $this->field; - - if (!isset($field->limit_files)) - { - $field->limit_files = 1; - } - - if (!isset($field->upload_types) || empty($field->upload_types)) - { - $field->upload_types = 'image/*'; - } - - // Accept multiple values - if ((int) $field->limit_files != 1) - { - $field->input_name .= '[]'; - } - - return $this; - } - - /** - * Validate field value - * - * @param mixed $value The field's value to validate - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - $is_required = $this->field->get('required'); - $max_files_allowed = $this->field->get('limit_files', 1); - $allowed_types = $this->field->get('upload_types'); - $upload_folder = $this->field->get('upload_folder_type', 'auto') == 'auto' ? $this->default_upload_folder : $this->field->get('upload_folder', $this->default_upload_folder); - - // Remove null and empty values - $value = is_array($value) ? $value : (array) $value; - $value = array_filter($value); - - // We expect a not empty array - if ($is_required && empty($value)) - { - $this->throwError(\JText::_('COM_CONVERTFORMS_FIELD_REQUIRED')); - } - - // Do we have the correct number of files? - if ($max_files_allowed > 0 && count($value) > $max_files_allowed) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_UPLOAD_MAX_FILES_LIMIT', $max_files_allowed)); - } - - // Validate file paths - foreach ($value as $key => &$source_file) - { - $source_file = base64_decode($source_file); - $source_file_info = File::pathinfo($source_file); - $source_basename = $source_file_info['basename']; - - if (!JFile::exists($source_file)) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_UPLOAD_FILE_IS_MISSING', $source_basename)); - } - - // Although the file is already checked during upload, make another sanity check here. - File::checkMimeOrDie($allowed_types, ['tmp_name' => $source_file]); - - // Remove the random ID added to file's name during upload process - $source_file_info['filename'] = preg_replace('#cf_(.*?)_(.*?)#', '', $source_file_info['filename']); - $source_file_info['basename'] = preg_replace('#cf_(.*?)_(.*?)#', '', $source_basename); - $source_file_info['index'] = $key + 1; - - // Replace Smart Tags in the upload folder value - $SmartTags = new \NRFramework\SmartTags(); - $SmartTags->add($source_file_info, 'file.'); - $destination_file = JPATH_ROOT . DIRECTORY_SEPARATOR . $SmartTags->replace($upload_folder); - - // Validate destination file - $destination_file_info = File::pathinfo($destination_file); - if (!isset($destination_file_info['extension'])) - { - $destination_file = implode(DIRECTORY_SEPARATOR, [$destination_file_info['dirname'], $destination_file_info['basename'], $source_basename]); - } - - // Move uploaded file to the destination folder after the form passes all validation checks. - // Thus, if an error is triggered by another field, the file will remain in the temp folder and the user will be able to re-submit the form. - $this->app->registerEvent('onConvertFormsSubmissionBeforeSave', function(&$data) use ($key, $source_file, $destination_file) - { - try - { - // Move uploaded file from the temp folder to the destination folder. - $destination_file = File::move($source_file, $destination_file); - - // Give a chance to manipulate the file with a hook. - // We can move the file to another folder, rename it, resize it or even uploaded it to a cloud storage service. - $this->app->triggerEvent('onConvertFormsFileUpload', [&$destination_file, $data]); - - // Always save the relative path to the database. - $destination_file = Helper::pathTorelative($destination_file); - - // Set back the new value to $data object - $data['params'][$this->field->get('name')][$key] = $destination_file; - - } catch (\Throwable $th) - { - $this->throwError($th->getMessage()); - } - }); - } - } - - /** - * Event fired before the field options form is rendered in the backend - * - * @param object $form - * - * @return void - */ - protected function onBeforeRenderOptionsForm($form) - { - // Set the maximum upload size limit to the respective options form field - $max_upload_size_str = \JHtml::_('number.bytes', \JUtility::getMaxUploadSize()); - $max_upload_size_int = (int) $max_upload_size_str; - - $form->setFieldAttribute('max_file_size', 'max', $max_upload_size_int); - - $desc_lang_str = $form->getFieldAttribute('max_file_size', 'description'); - $desc = \JText::sprintf($desc_lang_str, $max_upload_size_str); - $form->setFieldAttribute('max_file_size', 'description', $desc); - } - - /** - * Ajax method triggered by System Plugin during file upload. - * - * @param string $form_id - * @param string $field_key - * - * @return array - */ - public function onAjax($form_id, $field_key) - { - // Make sure we have a valid form and a field key - if (!$form_id || !$field_key) - { - $this->uploadDie('COM_CONVERTFORMS_UPLOAD_ERROR'); - } - - // Get field settings - if (!$upload_field_settings = \ConvertForms\Form::getFieldSettingsByKey($form_id, $field_key)) - { - $this->uploadDie('COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FIELD'); - } - - $allow_unsafe = $upload_field_settings->get('allow_unsafe', false); - - // Make sure we have a valid file passed - if (!$file = $this->app->input->files->get('file', null, ($allow_unsafe ? 'raw' : null))) - { - $this->uploadDie('COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FILE'); - } - - // In case we allow multiple uploads the file parameter is a 2 levels array. - $first_property = array_pop($file); - if (is_array($first_property)) - { - $file = $first_property; - } - - // Upload temporarily to the default upload folder - $allowed_types = $upload_field_settings->get('upload_types'); - - try { - $uploaded_filename = File::upload($file, null, $allowed_types, $allow_unsafe, 'cf_'); - - return [ - // Since the path of the uploaded file will be included in the form's POST data, obfuscate the path for security reasons. - // This will also prevent Akeeba Admin Tools DFIShield from mistakenly blocking File Uploads. - 'file' => base64_encode($uploaded_filename), - ]; - } catch (\Throwable $th) - { - $this->uploadDie($th->getMessage()); - } - } - - /** - * DropzoneJS detects errors based on the response error code. - * - * @param string $error_message - * - * @return void - */ - private function uploadDie($error_message) - { - http_response_code('500'); - die(\JText::_($error_message)); - } - - /** - * Prepare value to be displayed to the user as plain text - * - * @param mixed $value - * - * @return string - */ - public function prepareValue($value) - { - if (!$value) - { - return; - } - - $value = (array) $value; - - foreach ($value as &$link) - { - $link = Helper::absURL($link); - } - - return implode(', ', $value); - } - - /** - * Prepare value to be displayed to the user as HTML/text - * - * @param mixed $value - * - * @return string - */ - public function prepareValueHTML($value) - { - if (!$value) - { - return; - } - - $links = (array) $value; - $value = ''; - - foreach ($links as $link) - { - $link = Helper::absURL($link); - $value .= ''; - } - - return ''; - } - - /** - * Display a text before the form options - * - * @return string The text to display - */ - protected function getOptionsFormHeader() - { - $html = ''; - - $temp_folder = File::getTempFolder(); - - if (!@is_writable($temp_folder)) - { - $html .= ' -
        - ' . \JText::sprintf('COM_CONVERTFORMS_FILEUPLOAD_TEMP_FOLDER_NOT_WRITABLE', $temp_folder) . ' -
        - '; - } - - // Check if the Fileinfo PHP extension is installed required to detect the mime type. - if (!extension_loaded('fileinfo') || !function_exists('mime_content_type')) - { - $html .= ' -
        - ' . \JText::sprintf('COM_CONVERTFORMS_FILEUPLOAD_MIME_CONTENT_TYPE_MISSING') . ' -
        - '; - } - - return $html; - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +jimport('joomla.filesystem.file'); +jimport('joomla.filesystem.folder'); +jimport('joomla.filesystem.path'); + +use ConvertForms\Helper; +use ConvertForms\Validate; +use Joomla\CMS\Filesystem\File as JFile; +use NRFramework\File; +use Joomla\Registry\Registry; + +class FileUpload extends \ConvertForms\Field +{ + /** + * The default upload folder + * + * @var string + */ + protected $default_upload_folder = '/media/com_convertforms/uploads/{randomid}_{file.basename}'; + + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = [ + 'size', + 'value', + 'browserautocomplete', + 'placeholder', + 'inputcssclass' + ]; + + /** + * Set field object + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + parent::setField($field); + + $field = $this->field; + + if (!isset($field->limit_files)) + { + $field->limit_files = 1; + } + + if (!isset($field->upload_types) || empty($field->upload_types)) + { + $field->upload_types = 'image/*'; + } + + // Accept multiple values + if ((int) $field->limit_files != 1) + { + $field->input_name .= '[]'; + } + + return $this; + } + + /** + * Validate field value + * + * @param mixed $value The field's value to validate + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + $is_required = $this->field->get('required'); + $max_files_allowed = $this->field->get('limit_files', 1); + $allowed_types = $this->field->get('upload_types'); + $upload_folder = $this->field->get('upload_folder_type', 'auto') == 'auto' ? $this->default_upload_folder : $this->field->get('upload_folder', $this->default_upload_folder); + + // Remove null and empty values + $value = is_array($value) ? $value : (array) $value; + $value = array_filter($value); + + // We expect a not empty array + if ($is_required && empty($value)) + { + $this->throwError(\JText::_('COM_CONVERTFORMS_FIELD_REQUIRED')); + } + + // Do we have the correct number of files? + if ($max_files_allowed > 0 && count($value) > $max_files_allowed) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_UPLOAD_MAX_FILES_LIMIT', $max_files_allowed)); + } + + // Validate file paths + foreach ($value as $key => &$source_file) + { + $source_file = base64_decode($source_file); + $source_file_info = File::pathinfo($source_file); + $source_basename = $source_file_info['basename']; + + if (!JFile::exists($source_file)) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_UPLOAD_FILE_IS_MISSING', $source_basename)); + } + + // Although the file is already checked during upload, make another sanity check here. + File::checkMimeOrDie($allowed_types, ['tmp_name' => $source_file]); + + // Remove the random ID added to file's name during upload process + $source_file_info['filename'] = preg_replace('#cf_(.*?)_(.*?)#', '', $source_file_info['filename']); + $source_file_info['basename'] = preg_replace('#cf_(.*?)_(.*?)#', '', $source_basename); + $source_file_info['index'] = $key + 1; + + // Replace Smart Tags in the upload folder value + $SmartTags = new \NRFramework\SmartTags(); + $SmartTags->add($source_file_info, 'file.'); + $destination_file = JPATH_ROOT . DIRECTORY_SEPARATOR . $SmartTags->replace($upload_folder); + + // Validate destination file + $destination_file_info = File::pathinfo($destination_file); + if (!isset($destination_file_info['extension'])) + { + $destination_file = implode(DIRECTORY_SEPARATOR, [$destination_file_info['dirname'], $destination_file_info['basename'], $source_basename]); + } + + // Move uploaded file to the destination folder after the form passes all validation checks. + // Thus, if an error is triggered by another field, the file will remain in the temp folder and the user will be able to re-submit the form. + $this->app->registerEvent('onConvertFormsSubmissionBeforeSave', function(&$data) use ($key, $source_file, $destination_file) + { + try + { + // Move uploaded file from the temp folder to the destination folder. + $destination_file = File::move($source_file, $destination_file); + + // Give a chance to manipulate the file with a hook. + // We can move the file to another folder, rename it, resize it or even uploaded it to a cloud storage service. + $this->app->triggerEvent('onConvertFormsFileUpload', [&$destination_file, $data]); + + // Always save the relative path to the database. + $destination_file = Helper::pathTorelative($destination_file); + + // Set back the new value to $data object + $data['params'][$this->field->get('name')][$key] = $destination_file; + + } catch (\Throwable $th) + { + $this->throwError($th->getMessage()); + } + }); + } + } + + /** + * Event fired before the field options form is rendered in the backend + * + * @param object $form + * + * @return void + */ + protected function onBeforeRenderOptionsForm($form) + { + // Set the maximum upload size limit to the respective options form field + $max_upload_size_str = \JHtml::_('number.bytes', \JUtility::getMaxUploadSize()); + $max_upload_size_int = (int) $max_upload_size_str; + + $form->setFieldAttribute('max_file_size', 'max', $max_upload_size_int); + + $desc_lang_str = $form->getFieldAttribute('max_file_size', 'description'); + $desc = \JText::sprintf($desc_lang_str, $max_upload_size_str); + $form->setFieldAttribute('max_file_size', 'description', $desc); + } + + /** + * Ajax method triggered by System Plugin during file upload. + * + * @param string $form_id + * @param string $field_key + * + * @return array + */ + public function onAjax($form_id, $field_key) + { + // Make sure we have a valid form and a field key + if (!$form_id || !$field_key) + { + $this->uploadDie('COM_CONVERTFORMS_UPLOAD_ERROR'); + } + + // Get field settings + if (!$upload_field_settings = \ConvertForms\Form::getFieldSettingsByKey($form_id, $field_key)) + { + $this->uploadDie('COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FIELD'); + } + + $allow_unsafe = $upload_field_settings->get('allow_unsafe', false); + + // Make sure we have a valid file passed + if (!$file = $this->app->input->files->get('file', null, ($allow_unsafe ? 'raw' : null))) + { + $this->uploadDie('COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FILE'); + } + + // In case we allow multiple uploads the file parameter is a 2 levels array. + $first_property = array_pop($file); + if (is_array($first_property)) + { + $file = $first_property; + } + + // Upload temporarily to the default upload folder + $allowed_types = $upload_field_settings->get('upload_types'); + + try { + $uploaded_filename = File::upload($file, null, $allowed_types, $allow_unsafe, 'cf_'); + + return [ + // Since the path of the uploaded file will be included in the form's POST data, obfuscate the path for security reasons. + // This will also prevent Akeeba Admin Tools DFIShield from mistakenly blocking File Uploads. + 'file' => base64_encode($uploaded_filename), + ]; + } catch (\Throwable $th) + { + $this->uploadDie($th->getMessage()); + } + } + + /** + * DropzoneJS detects errors based on the response error code. + * + * @param string $error_message + * + * @return void + */ + private function uploadDie($error_message) + { + http_response_code('500'); + die(\JText::_($error_message)); + } + + /** + * Prepare value to be displayed to the user as plain text + * + * @param mixed $value + * + * @return string + */ + public function prepareValue($value) + { + if (!$value) + { + return; + } + + $value = (array) $value; + + foreach ($value as &$link) + { + $link = Helper::absURL($link); + } + + return implode(', ', $value); + } + + /** + * Prepare value to be displayed to the user as HTML/text + * + * @param mixed $value + * + * @return string + */ + public function prepareValueHTML($value) + { + if (!$value) + { + return; + } + + $links = (array) $value; + $value = ''; + + foreach ($links as $link) + { + $link = Helper::absURL($link); + $value .= ''; + } + + return ''; + } + + /** + * Display a text before the form options + * + * @return string The text to display + */ + protected function getOptionsFormHeader() + { + $html = ''; + + $temp_folder = File::getTempFolder(); + + if (!@is_writable($temp_folder)) + { + $html .= ' +
        + ' . \JText::sprintf('COM_CONVERTFORMS_FILEUPLOAD_TEMP_FOLDER_NOT_WRITABLE', $temp_folder) . ' +
        + '; + } + + // Check if the Fileinfo PHP extension is installed required to detect the mime type. + if (!extension_loaded('fileinfo') || !function_exists('mime_content_type')) + { + $html .= ' +
        + ' . \JText::sprintf('COM_CONVERTFORMS_FILEUPLOAD_MIME_CONTENT_TYPE_MISSING') . ' +
        + '; + } + + return $html; + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hcaptcha.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hcaptcha.php index 1665d403..b180ed71 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hcaptcha.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hcaptcha.php @@ -1,130 +1,130 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -use \ConvertForms\Helper; - -class Hcaptcha extends \ConvertForms\Field -{ - /** - * Exclude all common fields - * - * @var mixed - */ - protected $excludeFields = array( - 'name', - 'required', - 'size', - 'value', - 'placeholder', - 'browserautocomplete', - 'inputcssclass' - ); - - /** - * Set field object - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - parent::setField($field); - - $this->field->required = true; - - // When captcha is in invisible mode, don't show the control group - if ($this->field->hcaptcha_type == 'invisible') - { - $this->field->cssclass .= 'hide'; - } - - return $this; - } - - /** - * Get the hCaptcha Site Key used in Javascript code - * - * @return string - */ - public function getSiteKey() - { - return Helper::getComponentParams()->get('hcaptcha_sitekey'); - } - - /** - * Get the hCaptcha Secret Key used in communication between the website and the hCaptcha server - * - * @return string - */ - public function getSecretKey() - { - return Helper::getComponentParams()->get('hcaptcha_secretkey'); - } - - /** - * Validate field value - * - * @param mixed $value The field's value to validate - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - if (!$this->field->get('required')) - { - return true; - } - - // In case this is a submission via URL, skip the check. - if (\JFactory::getApplication()->input->get('task') == 'optin') - { - return true; - } - - $hcaptcha = new \NRFramework\Integrations\HCaptcha( - ['secret' => $this->getSecretKey()] - ); - - $response = isset($this->data['h-captcha-response']) ? $this->data['h-captcha-response'] : null; - - $hcaptcha->validate($response); - - if (!$hcaptcha->success()) - { - throw new \Exception($hcaptcha->getLastError()); - } - } - - /** - * Display a text before the form options - * - * @return string The text to display - */ - protected function getOptionsFormHeader() - { - if ($this->getSiteKey() && $this->getSecretKey()) - { - return; - } - - $url = \JURI::base() . 'index.php?option=com_config&view=component&component=com_convertforms#hcaptcha'; - - return - \JText::_('COM_CONVERTFORMS_FIELD_RECAPTCHA_KEYS_NOTE') . - ' ' - . \JText::_("COM_CONVERTFORMS_FIELD_HCAPTCHA_CONFIGURE") . - '.'; - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +use \ConvertForms\Helper; + +class Hcaptcha extends \ConvertForms\Field +{ + /** + * Exclude all common fields + * + * @var mixed + */ + protected $excludeFields = array( + 'name', + 'required', + 'size', + 'value', + 'placeholder', + 'browserautocomplete', + 'inputcssclass' + ); + + /** + * Set field object + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + parent::setField($field); + + $this->field->required = true; + + // When captcha is in invisible mode, don't show the control group + if ($this->field->hcaptcha_type == 'invisible') + { + $this->field->cssclass .= 'hide'; + } + + return $this; + } + + /** + * Get the hCaptcha Site Key used in Javascript code + * + * @return string + */ + public function getSiteKey() + { + return Helper::getComponentParams()->get('hcaptcha_sitekey'); + } + + /** + * Get the hCaptcha Secret Key used in communication between the website and the hCaptcha server + * + * @return string + */ + public function getSecretKey() + { + return Helper::getComponentParams()->get('hcaptcha_secretkey'); + } + + /** + * Validate field value + * + * @param mixed $value The field's value to validate + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + if (!$this->field->get('required')) + { + return true; + } + + // In case this is a submission via URL, skip the check. + if (\JFactory::getApplication()->input->get('task') == 'optin') + { + return true; + } + + $hcaptcha = new \NRFramework\Integrations\HCaptcha( + ['secret' => $this->getSecretKey()] + ); + + $response = isset($this->data['h-captcha-response']) ? $this->data['h-captcha-response'] : null; + + $hcaptcha->validate($response); + + if (!$hcaptcha->success()) + { + throw new \Exception($hcaptcha->getLastError()); + } + } + + /** + * Display a text before the form options + * + * @return string The text to display + */ + protected function getOptionsFormHeader() + { + if ($this->getSiteKey() && $this->getSecretKey()) + { + return; + } + + $url = \JURI::base() . 'index.php?option=com_config&view=component&component=com_convertforms#hcaptcha'; + + return + \JText::_('COM_CONVERTFORMS_FIELD_RECAPTCHA_KEYS_NOTE') . + ' ' + . \JText::_("COM_CONVERTFORMS_FIELD_HCAPTCHA_CONFIGURE") . + '.'; + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Heading.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Heading.php index dd0b7757..92a37570 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Heading.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Heading.php @@ -1,43 +1,43 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2018 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Heading extends \ConvertForms\Field -{ - /** - * Indicates the default required behavior on the form - * - * @var bool - */ - protected $required = false; - - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = array( - 'name', - 'placeholder', - 'browserautocomplete', - 'size', - 'required', - 'hidelabel', - 'inputcssclass', - 'value' - ); -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2018 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Heading extends \ConvertForms\Field +{ + /** + * Indicates the default required behavior on the form + * + * @var bool + */ + protected $required = false; + + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = array( + 'name', + 'placeholder', + 'browserautocomplete', + 'size', + 'required', + 'hidelabel', + 'inputcssclass', + 'value' + ); +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hidden.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hidden.php index cc771291..d4831210 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hidden.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Hidden.php @@ -1,58 +1,58 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Hidden extends \ConvertForms\Field -{ - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = [ - 'label', - 'placeholder', - 'description', - 'cssclass', - 'hidelabel', - 'browserautocomplete', - 'size', - 'inputcssclass' - ]; - - /** - * Indicates the default required behavior on the form - * - * @var bool - */ - protected $required = false; - - /** - * Set field object - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - parent::setField($field); - - // Always hide the container of a hidden field - $this->field->cssclass = 'cf-hide'; - - return $this; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Hidden extends \ConvertForms\Field +{ + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = [ + 'label', + 'placeholder', + 'description', + 'cssclass', + 'hidelabel', + 'browserautocomplete', + 'size', + 'inputcssclass' + ]; + + /** + * Indicates the default required behavior on the form + * + * @var bool + */ + protected $required = false; + + /** + * Set field object + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + parent::setField($field); + + // Always hide the container of a hidden field + $this->field->cssclass = 'cf-hide'; + + return $this; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Number.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Number.php index ac03f567..bffff06a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Number.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Number.php @@ -1,27 +1,27 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Number extends \ConvertForms\Field -{ - /** - * Filter user value before saving into the database - * - * @var string - */ - protected $filterInput = 'FLOAT'; -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Number extends \ConvertForms\Field +{ + /** + * Filter user value before saving into the database + * + * @var string + */ + protected $filterInput = 'FLOAT'; +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Password.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Password.php index bd944915..249387a2 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Password.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Password.php @@ -1,39 +1,39 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Validate; - -class Password extends \ConvertForms\Field -{ - protected $inheritInputLayout = 'text'; - - /** - * Prepare value to be displayed to the user as HTML/text - * - * @param mixed $value - * - * @return string - */ - public function prepareValueHTML($value) - { - if ($value) - { - return str_repeat('*', strlen($value)); - } - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Validate; + +class Password extends \ConvertForms\Field +{ + protected $inheritInputLayout = 'text'; + + /** + * Prepare value to be displayed to the user as HTML/text + * + * @param mixed $value + * + * @return string + */ + public function prepareValueHTML($value) + { + if ($value) + { + return str_repeat('*', strlen($value)); + } + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Radio.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Radio.php index 253bb277..9ff7dab8 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Radio.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Radio.php @@ -1,50 +1,50 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Radio extends \ConvertForms\FieldChoice -{ - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = array( - 'placeholder', - 'browserautocomplete', - 'size', - ); - - /** - * Radio buttons expect single text value. So we need to transform the submitted array data to string. - * - * @param mixed $input User input value - * - * @return mixed The filtered user input - */ - public function filterInput($input) - { - $value = parent::filterInput($input); - - if (is_array($value) && isset($value[0])) - { - return $value[0]; - } - - return $value; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Radio extends \ConvertForms\FieldChoice +{ + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = array( + 'placeholder', + 'browserautocomplete', + 'size', + ); + + /** + * Radio buttons expect single text value. So we need to transform the submitted array data to string. + * + * @param mixed $input User input value + * + * @return mixed The filtered user input + */ + public function filterInput($input) + { + $value = parent::filterInput($input); + + if (is_array($value) && isset($value[0])) + { + return $value[0]; + } + + return $value; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptcha.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptcha.php index ea7dafcf..38e2a0b5 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptcha.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptcha.php @@ -1,128 +1,128 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -use \ConvertForms\Helper; - -class Recaptcha extends \ConvertForms\Field -{ - /** - * Exclude all common fields - * - * @var mixed - */ - protected $excludeFields = array( - 'name', - 'required', - 'size', - 'value', - 'placeholder', - 'browserautocomplete', - 'inputcssclass' - ); - - /** - * Set field object - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - parent::setField($field); - - $this->field->required = true; - - return $this; - } - - /** - * Get the reCAPTCHA Site Key used in Javascript code - * - * @return string - */ - public function getSiteKey() - { - return Helper::getComponentParams()->get('recaptcha_sitekey'); - } - - /** - * Get the reCAPTCHA Secret Key used in communication between the website and the reCAPTCHA server - * - * @return string - */ - public function getSecretKey() - { - return Helper::getComponentParams()->get('recaptcha_secretkey'); - } - - /** - * Validate field value - * - * @param mixed $value The field's value to validate - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - if (!$this->field->get('required')) - { - return true; - } - - // In case this is a submission via URL, skip the check. - if (\JFactory::getApplication()->input->get('task') == 'optin') - { - return true; - } - - jimport('recaptcha', JPATH_PLUGINS . '/system/nrframework/helpers/wrappers'); - - $recaptcha = new \NR_ReCaptcha( - ['secret' => $this->getSecretKey()] - ); - - $response = isset($this->data['g-recaptcha-response']) ? $this->data['g-recaptcha-response'] : null; - - $recaptcha->validate($response); - - if (!$recaptcha->success()) - { - throw new \Exception($recaptcha->getLastError()); - } - } - - /** - * Display a text before the form options - * - * @return string The text to display - */ - protected function getOptionsFormHeader() - { - if ($this->getSiteKey() && $this->getSecretKey()) - { - return; - } - - $url = \JURI::base() . 'index.php?option=com_config&view=component&component=com_convertforms#recaptcha'; - - return - \JText::_('COM_CONVERTFORMS_FIELD_RECAPTCHA_KEYS_NOTE') . - ' ' - . \JText::_("COM_CONVERTFORMS_FIELD_RECAPTCHA_CONFIGURE") . - '.'; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +use \ConvertForms\Helper; + +class Recaptcha extends \ConvertForms\Field +{ + /** + * Exclude all common fields + * + * @var mixed + */ + protected $excludeFields = array( + 'name', + 'required', + 'size', + 'value', + 'placeholder', + 'browserautocomplete', + 'inputcssclass' + ); + + /** + * Set field object + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + parent::setField($field); + + $this->field->required = true; + + return $this; + } + + /** + * Get the reCAPTCHA Site Key used in Javascript code + * + * @return string + */ + public function getSiteKey() + { + return Helper::getComponentParams()->get('recaptcha_sitekey'); + } + + /** + * Get the reCAPTCHA Secret Key used in communication between the website and the reCAPTCHA server + * + * @return string + */ + public function getSecretKey() + { + return Helper::getComponentParams()->get('recaptcha_secretkey'); + } + + /** + * Validate field value + * + * @param mixed $value The field's value to validate + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + if (!$this->field->get('required')) + { + return true; + } + + // In case this is a submission via URL, skip the check. + if (\JFactory::getApplication()->input->get('task') == 'optin') + { + return true; + } + + jimport('recaptcha', JPATH_PLUGINS . '/system/nrframework/helpers/wrappers'); + + $recaptcha = new \NR_ReCaptcha( + ['secret' => $this->getSecretKey()] + ); + + $response = isset($this->data['g-recaptcha-response']) ? $this->data['g-recaptcha-response'] : null; + + $recaptcha->validate($response); + + if (!$recaptcha->success()) + { + throw new \Exception($recaptcha->getLastError()); + } + } + + /** + * Display a text before the form options + * + * @return string The text to display + */ + protected function getOptionsFormHeader() + { + if ($this->getSiteKey() && $this->getSecretKey()) + { + return; + } + + $url = \JURI::base() . 'index.php?option=com_config&view=component&component=com_convertforms#recaptcha'; + + return + \JText::_('COM_CONVERTFORMS_FIELD_RECAPTCHA_KEYS_NOTE') . + ' ' + . \JText::_("COM_CONVERTFORMS_FIELD_RECAPTCHA_CONFIGURE") . + '.'; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptchav2invisible.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptchav2invisible.php index c2fc06ba..539290d0 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptchav2invisible.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Recaptchav2invisible.php @@ -1,60 +1,60 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -use \ConvertForms\Helper; - -class RecaptchaV2Invisible extends \ConvertForms\Field\Recaptcha -{ - /** - * Set field object - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - parent::setField($field); - - // When the widget is shown at the bottom right or left position, we need to remove the .control-group's div default padding. - if ($this->field->badge != 'inline') - { - $this->field->cssclass .= 'cf-no-padding'; - } - - return $this; - } - - /** - * Get the reCAPTCHA Site Key used in Javascript code - * - * @return string - */ - public function getSiteKey() - { - return Helper::getComponentParams()->get('recaptcha_sitekey_invs'); - } - - /** - * Get the reCAPTCHA Secret Key used in communication between the website and the reCAPTCHA server - * - * @return string - */ - public function getSecretKey() - { - return Helper::getComponentParams()->get('recaptcha_secretkey_invs'); - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +use \ConvertForms\Helper; + +class RecaptchaV2Invisible extends \ConvertForms\Field\Recaptcha +{ + /** + * Set field object + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + parent::setField($field); + + // When the widget is shown at the bottom right or left position, we need to remove the .control-group's div default padding. + if ($this->field->badge != 'inline') + { + $this->field->cssclass .= 'cf-no-padding'; + } + + return $this; + } + + /** + * Get the reCAPTCHA Site Key used in Javascript code + * + * @return string + */ + public function getSiteKey() + { + return Helper::getComponentParams()->get('recaptcha_sitekey_invs'); + } + + /** + * Get the reCAPTCHA Secret Key used in communication between the website and the reCAPTCHA server + * + * @return string + */ + public function getSecretKey() + { + return Helper::getComponentParams()->get('recaptcha_secretkey_invs'); + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Submit.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Submit.php index 77ad8e64..ab321e7a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Submit.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Submit.php @@ -1,43 +1,43 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Submit extends \ConvertForms\Field -{ - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = array( - 'name', - 'description', - 'label', - 'placeholder', - 'required', - 'hidelabel', - 'browserautocomplete', - 'value', - ); - - /** - * Indicates the default required behavior on the form - * - * @var bool - */ - protected $required = false; -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Submit extends \ConvertForms\Field +{ + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = array( + 'name', + 'description', + 'label', + 'placeholder', + 'required', + 'hidelabel', + 'browserautocomplete', + 'value', + ); + + /** + * Indicates the default required behavior on the form + * + * @var bool + */ + protected $required = false; +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Tel.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Tel.php index 861ae04f..0f742255 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Tel.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Tel.php @@ -1,39 +1,39 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Tel extends \ConvertForms\Field -{ - protected $inheritInputLayout = 'text'; - - /** - * Prepare value to be displayed to the user as HTML/text - * - * @param mixed $value - * - * @return string - */ - public function prepareValueHTML($value) - { - if (!$value) - { - return; - } - - return '' . $value . ''; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Tel extends \ConvertForms\Field +{ + protected $inheritInputLayout = 'text'; + + /** + * Prepare value to be displayed to the user as HTML/text + * + * @param mixed $value + * + * @return string + */ + public function prepareValueHTML($value) + { + if (!$value) + { + return; + } + + return '' . $value . ''; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Text.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Text.php index 32db84e1..07f27e32 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Text.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Text.php @@ -1,84 +1,84 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -use Joomla\String\StringHelper; - -defined('_JEXEC') or die('Restricted access'); - -class Text extends \ConvertForms\Field -{ - - /** - * Validate form submitted value - * - * @param mixed $value The field's value to validate (Passed by reference) - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - $isEmpty = $this->isEmpty($value); - $isRequired = $this->field->get('required'); - - // If the field is empty and its not required, skip validation - if ($isEmpty && !$isRequired) - { - return; - } - - if ($isEmpty && $isRequired) - { - $this->throwError(\JText::_('COM_CONVERTFORMS_FIELD_REQUIRED'), $field_options); - } - - // Validate Min / Max characters - $min_chars = $this->field->get('minchars', 0); - $max_chars = $this->field->get('maxchars', 0); - $value_length = StringHelper::strlen($value); - - if ($min_chars > 0 && $value_length < $min_chars) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MIN_CHARS', $min_chars, $value_length), $field_options); - } - - if ($max_chars > 0 && $value_length > $max_chars) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MAX_CHARS', $max_chars, $value_length), $field_options); - } - - // Validate Min / Max words - $min_words = $this->field->get('minwords', 0); - $max_words = $this->field->get('maxwords', 0); - - // Find words count - $words_temp = preg_replace('/\s+/', ' ', trim($value)); - $words_temp = array_filter(explode(' ', $words_temp)); - $words_count = count($words_temp); - - if ($min_words > 0 && $words_count < $min_words) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MIN_WORDS', $min_words, $words_count), $field_options); - } - - if ($max_words > 0 && $words_count > $max_words) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MAX_WORDS', $max_words, $words_count), $field_options); - } - - // Let's do some filtering. - $value = $this->filterInput($value); - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +use Joomla\String\StringHelper; + +defined('_JEXEC') or die('Restricted access'); + +class Text extends \ConvertForms\Field +{ + + /** + * Validate form submitted value + * + * @param mixed $value The field's value to validate (Passed by reference) + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + $isEmpty = $this->isEmpty($value); + $isRequired = $this->field->get('required'); + + // If the field is empty and its not required, skip validation + if ($isEmpty && !$isRequired) + { + return; + } + + if ($isEmpty && $isRequired) + { + $this->throwError(\JText::_('COM_CONVERTFORMS_FIELD_REQUIRED'), $field_options); + } + + // Validate Min / Max characters + $min_chars = $this->field->get('minchars', 0); + $max_chars = $this->field->get('maxchars', 0); + $value_length = StringHelper::strlen($value); + + if ($min_chars > 0 && $value_length < $min_chars) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MIN_CHARS', $min_chars, $value_length), $field_options); + } + + if ($max_chars > 0 && $value_length > $max_chars) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MAX_CHARS', $max_chars, $value_length), $field_options); + } + + // Validate Min / Max words + $min_words = $this->field->get('minwords', 0); + $max_words = $this->field->get('maxwords', 0); + + // Find words count + $words_temp = preg_replace('/\s+/', ' ', trim($value)); + $words_temp = array_filter(explode(' ', $words_temp)); + $words_count = count($words_temp); + + if ($min_words > 0 && $words_count < $min_words) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MIN_WORDS', $min_words, $words_count), $field_options); + } + + if ($max_words > 0 && $words_count > $max_words) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_VALIDATION_MAX_WORDS', $max_words, $words_count), $field_options); + } + + // Let's do some filtering. + $value = $this->filterInput($value); + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Textarea.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Textarea.php index 18c0d32c..a9127643 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Textarea.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Textarea.php @@ -1,21 +1,21 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -class Textarea extends \ConvertForms\Field\Text -{ -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +class Textarea extends \ConvertForms\Field\Text +{ +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Url.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Url.php index e1a67b37..98f64d30 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Url.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Field/Url.php @@ -1,63 +1,63 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms\Field; - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Validate; - -class Url extends \ConvertForms\Field -{ - protected $inheritInputLayout = 'text'; - - /** - * Validate field value - * - * @param mixed $value The field's value to validate - * - * @return mixed True on success, throws an exception on error - */ - public function validate(&$value) - { - parent::validate($value); - - if ($this->isEmpty($value)) - { - return true; - } - - if (!Validate::url($value)) - { - $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_URL_INVALID')); - } - } - - /** - * Prepare value to be displayed to the user as HTML/text - * - * @param mixed $value - * - * @return string - */ - public function prepareValueHTML($value) - { - if (!$value) - { - return; - } - - return '' . $value . ''; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms\Field; + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Validate; + +class Url extends \ConvertForms\Field +{ + protected $inheritInputLayout = 'text'; + + /** + * Validate field value + * + * @param mixed $value The field's value to validate + * + * @return mixed True on success, throws an exception on error + */ + public function validate(&$value) + { + parent::validate($value); + + if ($this->isEmpty($value)) + { + return true; + } + + if (!Validate::url($value)) + { + $this->throwError(\JText::sprintf('COM_CONVERTFORMS_FIELD_URL_INVALID')); + } + } + + /** + * Prepare value to be displayed to the user as HTML/text + * + * @param mixed $value + * + * @return string + */ + public function prepareValueHTML($value) + { + if (!$value) + { + return; + } + + return '' . $value . ''; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldChoice.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldChoice.php index cdd8e8ad..66cc7ced 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldChoice.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldChoice.php @@ -1,201 +1,201 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2021 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -defined('_JEXEC') or die('Restricted access'); - -/** - * Field Choice Class used by dropdown, checkbox and radio fields - */ -class FieldChoice extends \ConvertForms\Field -{ - /** - * Remove common fields from the form rendering - * - * @var mixed - */ - protected $excludeFields = [ - 'browserautocomplete', - ]; - - /** - * Set field object - * - * @param mixed $field Object or Array Field options - */ - public function setField($field) - { - parent::setField($field); - - // Get input options - $this->field->choices = $this->getChoices(); - - // Use the selected choice as the field value if we don't have a default value set. - if ($this->field->value == '') - { - foreach ($this->field->choices as $choice) - { - if ($choice['selected']) - { - $this->field->value = $choice['value']; - break; - } - } - } - - if ($this->multiple && !is_array($this->field->value)) - { - $this->field->value = explode(',', $this->field->value); - } - - return $this; - } - - /** - * Set the field choices - * - * Return Array sample - * - * $choices = array( - * 'label' => 'Color', - * 'value' => 'color, - * 'calc-value' => '150r, - * 'selected' => true, - * 'disabled' => false - * ) - * - * @return array The field choices array - */ - protected function getChoices() - { - $field = $this->field; - - if (!isset($field->choices) || !isset($field->choices['choices'])) - { - return; - } - - $choices = array(); - $hasPlaceholder = (isset($field->placeholder) && !empty($field->placeholder)); - - // Create a new array of valid only choices - foreach ($field->choices['choices'] as $key => $choiceValue) - { - if (!isset($choiceValue['label']) || $choiceValue['label'] == '') - { - continue; - } - - $label = trim($choiceValue['label']); - $value = $choiceValue['value'] == '' ? strip_tags($label) : $choiceValue['value']; - - $choices[] = array( - 'label' => $label, - 'value' => $value, - 'calc-value' => (isset($choiceValue['calc-value']) && $choiceValue['calc-value'] != '' ? $choiceValue['calc-value'] : $value), - 'selected' => (isset($choiceValue['default']) && $choiceValue['default'] && !$hasPlaceholder) ? true : false - ); - } - - // If we have a placeholder available, add it to dropdown choices. - if ($hasPlaceholder) - { - array_unshift($choices, array( - 'label' => trim($field->placeholder), - 'value' => '', - 'selected' => true - )); - } - - return $choices; - } - - /** - * In choice-based fields, it makes more sense to display the choice's label instead of the choice's value when the field is used for presentation purposes like in the - * - * 1. Thank you Message - * 2. {all_fields} Smart Tag - * 3. Form editing page in the back-end - * 4. PDF Form Submission addon. - * - * While we keep using the choice's value in functions like - * 1. Calculations - * 2. Conditional fields - * 3. JSON API. - * 4. {field.FIELDNAME} - * - * @param string $value The raw value as stored in the database / submitted by the user - * - * @return string - */ - public function prepareValueHTML($value) - { - if (is_array($value)) - { - foreach ($value as &$value_) - { - $value_ = $this->findChoiceLabelByValue($value_); - } - } else - { - $value = $this->findChoiceLabelByValue($value); - } - - return parent::prepareValueHTML($value); - } - - /** - * Attempt to assosiate a choice value with a choice label. As a fallback the raw value will be returned. - * - * The attempt may fail for one of the reasons below: - * - * 1. A choice value is renamed. - * 2. A choice is removed. - * 3. Multiple choices has the same value (which obviously is a mistake by the user). - * - * The most reliable way to always know the choice's label, is to implement this task https://smilemotive.teamwork.com/#/tasks/30244858 - * and start storing in the database a choice's unique ID instead of the choice's value. - * - * @param mixed $value - * - * @return string - */ - private function findChoiceLabelByValue($value) - { - // In multiple choice fields, the value can't be empty. - if ($value == '') - { - return; - } - - $choices = $this->field->get('choices.choices'); - - if (!$choices = $this->field->get('choices.choices')) - { - return; - } - - foreach ($choices as $choice) - { - // We might lowercase both values? - if ($choice->value == $value) - { - return $choice->label; - } - } - - // If we can't assosiacte the given value with a label, return the raw value as a fallback. - return $value; - } -} + + * @link http://www.tassos.gr + * @copyright Copyright © 2021 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +defined('_JEXEC') or die('Restricted access'); + +/** + * Field Choice Class used by dropdown, checkbox and radio fields + */ +class FieldChoice extends \ConvertForms\Field +{ + /** + * Remove common fields from the form rendering + * + * @var mixed + */ + protected $excludeFields = [ + 'browserautocomplete', + ]; + + /** + * Set field object + * + * @param mixed $field Object or Array Field options + */ + public function setField($field) + { + parent::setField($field); + + // Get input options + $this->field->choices = $this->getChoices(); + + // Use the selected choice as the field value if we don't have a default value set. + if ($this->field->value == '') + { + foreach ($this->field->choices as $choice) + { + if ($choice['selected']) + { + $this->field->value = $choice['value']; + break; + } + } + } + + if ($this->multiple && !is_array($this->field->value)) + { + $this->field->value = explode(',', $this->field->value); + } + + return $this; + } + + /** + * Set the field choices + * + * Return Array sample + * + * $choices = array( + * 'label' => 'Color', + * 'value' => 'color, + * 'calc-value' => '150r, + * 'selected' => true, + * 'disabled' => false + * ) + * + * @return array The field choices array + */ + protected function getChoices() + { + $field = $this->field; + + if (!isset($field->choices) || !isset($field->choices['choices'])) + { + return; + } + + $choices = array(); + $hasPlaceholder = (isset($field->placeholder) && !empty($field->placeholder)); + + // Create a new array of valid only choices + foreach ($field->choices['choices'] as $key => $choiceValue) + { + if (!isset($choiceValue['label']) || $choiceValue['label'] == '') + { + continue; + } + + $label = trim($choiceValue['label']); + $value = $choiceValue['value'] == '' ? strip_tags($label) : $choiceValue['value']; + + $choices[] = array( + 'label' => $label, + 'value' => $value, + 'calc-value' => (isset($choiceValue['calc-value']) && $choiceValue['calc-value'] != '' ? $choiceValue['calc-value'] : $value), + 'selected' => (isset($choiceValue['default']) && $choiceValue['default'] && !$hasPlaceholder) ? true : false + ); + } + + // If we have a placeholder available, add it to dropdown choices. + if ($hasPlaceholder) + { + array_unshift($choices, array( + 'label' => trim($field->placeholder), + 'value' => '', + 'selected' => true + )); + } + + return $choices; + } + + /** + * In choice-based fields, it makes more sense to display the choice's label instead of the choice's value when the field is used for presentation purposes like in the + * + * 1. Thank you Message + * 2. {all_fields} Smart Tag + * 3. Form editing page in the back-end + * 4. PDF Form Submission addon. + * + * While we keep using the choice's value in functions like + * 1. Calculations + * 2. Conditional fields + * 3. JSON API. + * 4. {field.FIELDNAME} + * + * @param string $value The raw value as stored in the database / submitted by the user + * + * @return string + */ + public function prepareValueHTML($value) + { + if (is_array($value)) + { + foreach ($value as &$value_) + { + $value_ = $this->findChoiceLabelByValue($value_); + } + } else + { + $value = $this->findChoiceLabelByValue($value); + } + + return parent::prepareValueHTML($value); + } + + /** + * Attempt to assosiate a choice value with a choice label. As a fallback the raw value will be returned. + * + * The attempt may fail for one of the reasons below: + * + * 1. A choice value is renamed. + * 2. A choice is removed. + * 3. Multiple choices has the same value (which obviously is a mistake by the user). + * + * The most reliable way to always know the choice's label, is to implement this task https://smilemotive.teamwork.com/#/tasks/30244858 + * and start storing in the database a choice's unique ID instead of the choice's value. + * + * @param mixed $value + * + * @return string + */ + private function findChoiceLabelByValue($value) + { + // In multiple choice fields, the value can't be empty. + if ($value == '') + { + return; + } + + $choices = $this->field->get('choices.choices'); + + if (!$choices = $this->field->get('choices.choices')) + { + return; + } + + foreach ($choices as $choice) + { + // We might lowercase both values? + if ($choice->value == $value) + { + return $choice->label; + } + } + + // If we can't assosiacte the given value with a label, return the raw value as a fallback. + return $value; + } +} ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldsHelper.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldsHelper.php index ea9b1a17..3220b818 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldsHelper.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/FieldsHelper.php @@ -1,205 +1,205 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -defined('_JEXEC') or die('Restricted access'); - -use Joomla\Registry\Registry; - -/** - * ConvertForms Fields Helper Class - */ -class FieldsHelper -{ - /** - * List of available field groups and types - * - * Consider using a field class property in order to declare the field group instead. - * - * @var array - */ - public static $fields = [ - 'common' => [ - 'text', - 'textarea', - 'dropdown', - 'radio', - 'checkbox', - 'number', - 'email', - 'submit' - ], - 'userinfo' => [ - 'tel', - 'url', - 'datetime', - 'country', - 'currency', - ], - 'layout' => [ - 'html', - 'heading', - 'emptyspace', - 'divider', - ], - 'advanced' => [ - 'hidden', - 'password', - 'fileupload', - 'recaptcha', - 'recaptchav2invisible', - 'hcaptcha', - 'editor', - 'termsofservice', - 'confirm' - ] - ]; - - /** - * Returns a list of all available field groups and types - * - * @return array - */ - public static function getFieldTypes() - { - $arr = []; - - foreach (self::$fields as $group => $fields) - { - if (!count($fields)) - { - continue; - } - - $arr[$group] = array( - 'name' => $group, - 'title' => \JText::_('COM_CONVERTFORMS_FIELDGROUP_' . strtoupper($group)) - ); - - foreach ($fields as $key => $field) - { - $arr[$group]['fields'][] = array( - 'name' => $field, - 'title' => \JText::_('COM_CONVERTFORMS_FIELD_' . strtoupper($field)), - 'desc' => \JText::_('COM_CONVERTFORMS_FIELD_' . strtoupper($field) . '_DESC'), - 'class' => self::getFieldClass($field) - ); - } - } - - return $arr; - } - - /** - * Render field control group used in the front-end - * - * @param object $fields The fields to render - * - * @return string The HTML output - */ - public static function render($fields) - { - $html = array(); - - foreach ($fields as $key => $field) - { - if (!isset($field['type'])) - { - continue; - } - - // Skip unknown field types - if (!$class = self::getFieldClass($field['type'])) - { - continue; - } - - $html[] = $class->setField($field)->getControlGroup(); - } - - return implode(' ', $html); - } - - /** - * Constructs and returns the field type class - * - * @param String $name The field type name - * - * @return Mixed Object on success, Null on failure - */ - public static function getFieldClass($name, $field_data = null, $form_data = null) - { - $class = __NAMESPACE__ . '\\Field\\' . ucfirst($name); - - if (!class_exists($class)) - { - return false; - } - - return new $class($field_data, $form_data); - } - - public static function prepare($form, $classPrefix = 'cf') - { - $params = $form['params']; - - if (!is_array($form['fields']) || count($form['fields']) == 0) - { - return; - } - - $fields_ = []; - - foreach ($form['fields'] as $key => $field) - { - $field['namespace'] = $form['id']; - - // Labels Styles - $field['labelStyles'] = array( - "color:" . $params->get("labelscolor"), - "font-size:" . (int) $params->get("labelsfontsize") . "px" - ); - - // Field Classes - $fieldClasses = [ - $classPrefix . "-input", - $classPrefix . "-input-shadow-" . ($params->get("inputshadow", "false") ? "1" : "0"), - isset($field['size']) ? $field['size'] : null, - isset($field['inputcssclass']) ? $field['inputcssclass'] : null - ]; - - // Field Styles - $fieldStyles = array( - "text-align:" . $params->get("inputalign", "left"), - "color:" . $params->get("inputcolor", "#888"), - "background-color:" . $params->get("inputbg"), - "border-color:" . $params->get("inputbordercolor", "#ccc"), - "border-radius:" . (int) $params->get("inputborderradius", "0") . "px", - "font-size:" . (int) $params->get("inputfontsize", "13") . "px", - "padding:" . (int) $params->get("inputvpadding", "11") . "px " . (int) $params->get("inputhpadding", "12") . "px" - ); - - $field['class'] = implode(' ', $fieldClasses); - $field['style'] = implode(';', $fieldStyles); - $field['form'] = $form; - - $fields_[] = $field; - } - - $html = self::render($fields_); - - return $html; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +defined('_JEXEC') or die('Restricted access'); + +use Joomla\Registry\Registry; + +/** + * ConvertForms Fields Helper Class + */ +class FieldsHelper +{ + /** + * List of available field groups and types + * + * Consider using a field class property in order to declare the field group instead. + * + * @var array + */ + public static $fields = [ + 'common' => [ + 'text', + 'textarea', + 'dropdown', + 'radio', + 'checkbox', + 'number', + 'email', + 'submit' + ], + 'userinfo' => [ + 'tel', + 'url', + 'datetime', + 'country', + 'currency', + ], + 'layout' => [ + 'html', + 'heading', + 'emptyspace', + 'divider', + ], + 'advanced' => [ + 'hidden', + 'password', + 'fileupload', + 'recaptcha', + 'recaptchav2invisible', + 'hcaptcha', + 'editor', + 'termsofservice', + 'confirm' + ] + ]; + + /** + * Returns a list of all available field groups and types + * + * @return array + */ + public static function getFieldTypes() + { + $arr = []; + + foreach (self::$fields as $group => $fields) + { + if (!count($fields)) + { + continue; + } + + $arr[$group] = array( + 'name' => $group, + 'title' => \JText::_('COM_CONVERTFORMS_FIELDGROUP_' . strtoupper($group)) + ); + + foreach ($fields as $key => $field) + { + $arr[$group]['fields'][] = array( + 'name' => $field, + 'title' => \JText::_('COM_CONVERTFORMS_FIELD_' . strtoupper($field)), + 'desc' => \JText::_('COM_CONVERTFORMS_FIELD_' . strtoupper($field) . '_DESC'), + 'class' => self::getFieldClass($field) + ); + } + } + + return $arr; + } + + /** + * Render field control group used in the front-end + * + * @param object $fields The fields to render + * + * @return string The HTML output + */ + public static function render($fields) + { + $html = array(); + + foreach ($fields as $key => $field) + { + if (!isset($field['type'])) + { + continue; + } + + // Skip unknown field types + if (!$class = self::getFieldClass($field['type'])) + { + continue; + } + + $html[] = $class->setField($field)->getControlGroup(); + } + + return implode(' ', $html); + } + + /** + * Constructs and returns the field type class + * + * @param String $name The field type name + * + * @return Mixed Object on success, Null on failure + */ + public static function getFieldClass($name, $field_data = null, $form_data = null) + { + $class = __NAMESPACE__ . '\\Field\\' . ucfirst($name); + + if (!class_exists($class)) + { + return false; + } + + return new $class($field_data, $form_data); + } + + public static function prepare($form, $classPrefix = 'cf') + { + $params = $form['params']; + + if (!is_array($form['fields']) || count($form['fields']) == 0) + { + return; + } + + $fields_ = []; + + foreach ($form['fields'] as $key => $field) + { + $field['namespace'] = $form['id']; + + // Labels Styles + $field['labelStyles'] = array( + "color:" . $params->get("labelscolor"), + "font-size:" . (int) $params->get("labelsfontsize") . "px" + ); + + // Field Classes + $fieldClasses = [ + $classPrefix . "-input", + $classPrefix . "-input-shadow-" . ($params->get("inputshadow", "false") ? "1" : "0"), + isset($field['size']) ? $field['size'] : null, + isset($field['inputcssclass']) ? $field['inputcssclass'] : null + ]; + + // Field Styles + $fieldStyles = array( + "text-align:" . $params->get("inputalign", "left"), + "color:" . $params->get("inputcolor", "#888"), + "background-color:" . $params->get("inputbg"), + "border-color:" . $params->get("inputbordercolor", "#ccc"), + "border-radius:" . (int) $params->get("inputborderradius", "0") . "px", + "font-size:" . (int) $params->get("inputfontsize", "13") . "px", + "padding:" . (int) $params->get("inputvpadding", "11") . "px " . (int) $params->get("inputhpadding", "12") . "px" + ); + + $field['class'] = implode(' ', $fieldClasses); + $field['style'] = implode(';', $fieldStyles); + $field['form'] = $form; + + $fields_[] = $field; + } + + $html = self::render($fields_); + + return $html; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Helper.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Helper.php index be3e3fb0..353f90bc 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Helper.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Helper.php @@ -1,727 +1,727 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -defined('_JEXEC') or die('Restricted access'); - -use NRFramework\Cache; -use ConvertForms\Form; -use Joomla\Registry\Registry; - -jimport('joomla.log.log'); - -class Helper -{ - /** - * Check if current logged in user is authorised to view a resource. - * - * @param string $action - * - * @return void - */ - public static function authorise($action, $throw_exception = false) - { - $authorised = \JFactory::getUser()->authorise($action, 'com_convertforms'); - - if (!$authorised && $throw_exception) - { - throw new \JAccessExceptionNotallowed(\JText::_('JERROR_ALERTNOAUTHOR'), 403); - } - - return $authorised; - } - - /** - * Trigger Error Event - * - * @param string $error The error message - * @param string $category The error category - * @param integer $form_id The form ID assosiated with the error - * @param mixed $data Extra data related to the error occured - * - * @return void - */ - public static function triggerError($error, $category, $form_id, $data = null) - { - \JPluginHelper::importPlugin('convertforms'); - \JFactory::getApplication()->triggerEvent('onConvertFormsError', [$error, $category, $form_id, $data]); - } - - /** - * Convert all applicable characters to HTML entities - * - * @param string $input The input string. - * - * @return string - */ - public static function escape($input) - { - if (!is_string($input)) - { - return $input; - } - - // Convert all HTML tags to HTML entities. - $input = htmlspecialchars($input, ENT_NOQUOTES, 'UTF-8'); - - // We do not need any Smart Tag replacements take place here, so we need to escape curly brackets too. - $input = str_replace(['{', '}'], ['{', '}'], $input); - - // Respect newline characters, by converting them to
        tags. - $input = nl2br($input); - - return $input; - } - - public static function getComponentParams() - { - $hash = 'cfComponentParams'; - - if (Cache::has($hash)) - { - return Cache::get($hash); - } - - return Cache::set($hash, \JComponentHelper::getParams('com_convertforms')); - } - - public static function getFormLeadsCount($form) - { - $hash = 'formLeadsCount' . $form; - - if (Cache::has($hash)) - { - return Cache::get($hash); - } - - if (!$form || $form == 0) - { - return 0; - } - - $db = \JFactory::getDBO(); - $query = $db->getQuery(true); - - $query - ->select('count(*)') - ->from('#__convertforms_conversions') - ->where('form_id = ' . $form); - - $db->setQuery($query); - - return Cache::set($hash, $db->loadResult()); - } - - /** - * Renders form template selection modal to the document - * - * @return void - */ - public static function renderSelectTemplateModal() - { - echo \JHtml::_('bootstrap.renderModal', 'cfSelectTemplate', array( - 'url' => 'index.php?option=com_convertforms&view=templates&tmpl=component', - 'title' => \JText::_('COM_CONVERTFORMS_TEMPLATES_SELECT'), - 'closeButton' => true, - 'height' => '100%', - 'width' => '100%', - 'modalWidth' => '70', - 'bodyHeight' => '70', - 'footer' => ' - - ' . \JText::_('COM_CONVERTFORMS_TEMPLATES_BLANK') . ' - - ' - )); - } - - /** - * Writes the Not Found Items message - * - * @param string $view - * - * @return string - */ - public static function noItemsFound($view = 'submissions') - { - $html[] = ''; - $html[] = \JText::sprintf('COM_CONVERTFORMS_NO_RESULTS_FOUND', strtolower(\JText::_('COM_CONVERTFORMS_' . $view))); - - return implode(' ', $html); - } - - /** - * Get Visitor ID - * - * @return string - */ - public static function getVisitorID() - { - return \NRFramework\VisitorToken::getInstance()->get(); - } - - /** - * Returns campaigns list visitor is subscribed to - * If the user is logged in, we try to get the campaigns by user's ID - * Otherwise, the visitor cookie ID will be used instead - * - * @return array List of campaign IDs - */ - public static function getVisitorCampaigns() - { - $db = \JFactory::getDBO(); - $query = $db->getQuery(true); - $user = \JFactory::getUser(); - - $query - ->select('campaign_id') - ->from('#__convertforms_conversions') - ->where('state = 1') - ->group('campaign_id'); - - // Get submissions by user id if visitor is logged in - if ($user->id) - { - $query->where('user_id = ' . (int) $user->id); - } else - { - // Get submissions by Visitor Cookie - if (!$visitorID = self::getVisitorID()) - { - return false; - } - - $query->where('visitor_id = ' . $db->q($visitorID)); - } - - $db->setQuery($query); - return $db->loadColumn(); - } - - /** - * Returns an array with all available campaigns - * - * @return array - */ - public static function getCampaigns() - { - \JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_convertforms/models'); - - $model = \JModelLegacy::getInstance('Campaigns', 'ConvertFormsModel', array('ignore_request' => true)); - $model->setState('filter.state', 1); - - return $model->getItems(); - } - - /** - * Logs messages to log file - * - * @param string $msg The message - * @param object $type The log type - * - * @return void - */ - public static function log($msg, $type = 'debug') - { - $debugIsEnabled = self::getComponentParams()->get('debug', false); - - if ($type == 'debug' && !$debugIsEnabled) - { - return; - } - - $type = ($type == 'debug') ? \JLog::DEBUG : \JLog::ERROR; - - try { - \JLog::add($msg, $type, 'com_convertforms'); - } catch (\Throwable $th){ - } - } - - /** - * Loads pre-made form template - * - * @param string $name The template name - * - * @return object - */ - public static function loadFormTemplate($name) - { - $form = JPATH_ROOT . '/media/com_convertforms/templates/' . $name . '.cnvf'; - - if (!\JFile::exists($form)) - { - return; - } - - $content = file_get_contents($form); - - if (empty($content)) - { - return; - } - - $item = json_decode($content, true); - $item = $item[0]; - - $data = (object) array_merge((array) $item, (array) json_decode($item['params'])); - $data->id = 0; - $data->campaign = null; - $data->fields = (array) $data->fields; - - return $data; - } - - /** - * Configure the Linkbar. - * - * @param string $vName The name of the active view. - * - * @return void - */ - public static function addSubmenu($vName) - { - \JHtmlSidebar::addEntry( - \JText::_('NR_DASHBOARD'), - 'index.php?option=com_convertforms', - 'convertforms' - ); - \JHtmlSidebar::addEntry( - \JText::_('COM_CONVERTFORMS_FORMS'), - 'index.php?option=com_convertforms&view=forms', - 'forms' - ); - \JHtmlSidebar::addEntry( - \JText::_('COM_CONVERTFORMS_CAMPAIGNS'), - 'index.php?option=com_convertforms&view=campaigns', - 'campaigns' - ); - \JHtmlSidebar::addEntry( - \JText::_('COM_CONVERTFORMS_SUBMISSIONS'), - 'index.php?option=com_convertforms&view=conversions', - 'conversions' - ); - \JHtmlSidebar::addEntry( - \JText::_('COM_CONVERTFORMS_ADDONS'), - 'index.php?option=com_convertforms&view=addons', - 'addons' - ); - } - - /** - * Returns permissions - * - * @return object - */ - public static function getActions() - { - $user = \JFactory::getUser(); - $result = new \JObject; - $assetName = 'com_convertforms'; - - $actions = array( - 'core.admin', 'core.manage', 'core.create', 'core.edit', 'core.edit.state', 'core.delete' - ); - - foreach ($actions as $action) - { - $result->set($action, $user->authorise($action, $assetName)); - } - - return $result; - } - - /** - * Prepares a form object for rendering - * - * @param Object $form The form object - * - * @return array The prepared form array - */ - public static function prepareForm($item) - { - $item['id'] = isset($item['id']) ? $item['id'] : 0; - $classPrefix = 'cf'; - - // Replace variables - $item = \ConvertForms\SmartTags::replace($item, null, $item['id']); - - $params = new Registry($item['params']); - $item['params'] = $params; - - /* Box Classes */ - $boxClasses = array( - "convertforms", - $classPrefix, - $classPrefix . "-" . $params->get("imgposition"), - $classPrefix . "-" . $params->get("formposition"), - $params->get("hideform", true) ? $classPrefix . "-success-hideform" : null, - $params->get("hidetext", false) ? $classPrefix . "-success-hidetext" : null, - !$params->get("hidelabels", false) ? $classPrefix . "-hasLabels" : null, - $params->get("centerform", false) ? $classPrefix . "-isCentered" : null, - $params->get("classsuffix", null), - $classPrefix . '-labelpos-' . $params->get('labelposition', 'top'), - ); - - /* Box Styles */ - $font = trim($params->get('font')); - - $boxStyle = array( - "max-width:" . ($params->get("autowidth", "auto") == "auto" ? "auto" : (int) $params->get("width", "500") . "px"), - "background-color:" . $params->get("bgcolor", "transparent"), - "border-style:" . $params->get("borderstyle", "solid"), - "border-width:" . (int) $params->get("borderwidth", "2") . "px", - "border-color:" . $params->get("bordercolor", "#000"), - "border-radius:" . (int) $params->get("borderradius", "0") . "px", - "padding:" . (int) $params->get("padding", "20") . "px", - (!empty($font)) ? "font-family:" . $font : null - ); - - // Background Image - if ($params->get("bgimage", false)) - { - $imgurl = intval($params->get("bgimage")) == 1 ? \JURI::root() . $params->get("bgfile") : $params->get("bgurl"); - $bgImage = array( - "background-image: url(". $imgurl .")", - "background-repeat:" . strtolower($params->get("bgrepeat")), - "background-size:" . strtolower($params->get("bgsize")), - "background-position:" . strtolower($params->get("bgposition")) - ); - - $boxStyle = array_merge($bgImage, $boxStyle); - } - - // Form HTML Attributes - $item['boxattributes'] = implode(" ", - array( - 'id="' . $classPrefix . '_' . $item['id'] . '"', - 'class="' . implode(" ", $boxClasses) . '"', - 'style="' . implode(";", $boxStyle) . '"' - ) - ); - - // Main Image Checks - $imageOption = $params->get("image"); - if ($imageOption == '1') - { - if (\JFile::exists(JPATH_SITE . "/" . $params->get("imagefile"))) - { - $item['image'] = \JURI::root() . $params->get("imagefile"); - } - } - if ($imageOption == '2') - { - $item['image'] = $params->get("imageurl"); - } - - // Image Container - $item['imagecontainerclasses'] = implode(" ", array( - (in_array($params->get("imgposition"), array("img-right", "img-left")) ? $classPrefix . "-col-medium-" . $params->get("imagesize", 6) : null), - )); - - // Image - $item['imagestyles'] = array( - "width:" . ($params->get("imageautowidth", "auto") == "auto" ? "auto" : (int) $params->get("imagewidth", "500") . "px"), - "left:". (int) $params->get("imagehposition", "0") . "px ", - "top:". (int) $params->get("imagevposition", "0") . "px" - ); - $item['imageclasses'] = array( - ($params->get("hideimageonmobile", false) ? "cf-hide-mobile" : "") - ); - - // Form Container - $item['formclasses'] = array( - (in_array($params->get("formposition"), array("form-left", "form-right")) ? $classPrefix . "-col-large-" . $params->get("formsize", 6) : null), - ); - $item['formstyles'] = array( - "background-color:" . $params->get("formbgcolor", "none") - ); - - // Content - $item['contentclasses'] = implode(" ", array( - (in_array($params->get("formposition"), array("form-left", "form-right")) ? $classPrefix . "-col-large-" . (16 - $params->get("formsize", 6)) : null), - )); - - // Text Container - $item['textcontainerclasses'] = implode(" ", array( - (in_array($params->get("imgposition"), array("img-right", "img-left")) ? $classPrefix . "-col-medium-" . (16 - $params->get("imagesize", 6)) : null), - )); - - $textContent = trim($params->get("text", null)); - $footerContent = trim($params->get("footer", null)); - - $item['textIsEmpty'] = empty($textContent); - $item['footerIsEmpty'] = empty($footerContent); - $item['hascontent'] = !$item['textIsEmpty'] || (bool) isset($item['image']) ? 1 : 0; - - // Prepare Fields - $item['fields_prepare'] = \ConvertForms\FieldsHelper::prepare($item); - - // Load custom fonts into the document - \NRFramework\Fonts::loadFont($font); - - return $item; - } - - /** - * Renders form by ID - * - * @param integer $id The form ID - * - * @return string The form HTML - */ - public static function renderFormById($id) - { - if (!$data = Form::load($id)) - { - return; - } - - self::loadassets(true); - - return self::renderForm($data); - } - - /** - * Renders Form - * - * @param integer $formid The form id - * - * @return string The form HTML - */ - public static function renderForm($data) - { - \JPluginHelper::importPlugin('convertforms'); - \JPluginHelper::importPlugin('convertformstools'); - - // load translation strings - self::loadTranslations(); - - // Let user manipulate the form's settings by running their own PHP script - $payload_1 = ['form' => &$data]; - Form::runPHPScript($data['id'], 'formprepare', $payload_1); - - // Prepare form and fields - $data = self::prepareForm($data); - $html = self::layoutRender('form', $data); - - // Let user manipulate the form's HTML by running their own PHP script - $payload_2 = [ - 'formLayout' => &$html, - 'form' => $data - ]; - Form::runPHPScript($data['id'], 'formdisplay', $payload_2); - - \JFactory::getApplication()->triggerEvent('onConvertFormsAfterDisplay', [$data, $html]); - - // Prevent user frustration by fixing broken images in the backend. - // This is required since v2.8.0 where we no longer forces absolute URLs in the text editors. - if (\JFactory::getApplication()->isClient('administrator')) - { - $html = \NRFramework\URLHelper::relativePathsToAbsoluteURLs($html, null, false); - } - - return $html; - } - - /** - * Enqueues translations for the front-end - * - * @return void - */ - private static function loadTranslations() - { - \JText::script('COM_CONVERTFORMS_INVALID_RESPONSE'); - \JText::script('COM_CONVERTFORMS_INVALID_TASK'); - } - - /** - * Render HTML overridable layout - * - * @param string $layout The layout name - * @param object $data The data passed to layout - * - * @return string The rendered HTML layout - */ - public static function layoutRender($layout, $data) - { - return \JLayoutHelper::render($layout, $data, null, ['debug' => false, 'client' => 1, 'component' => 'com_convertforms']); - } - - /** - * Loads components media files - * - * @param boolean $front - * - * @return void - */ - public static function loadassets($frontend = false) - { - static $run; - - if ($run) - { - return; - } - - $run = true; - - // Front-end media files - if ($frontend) - { - // Load core.js needed by keepalive script. - \JHtml::_('behavior.core'); - \JHtml::_('behavior.keepalive'); - - \JHtml::script('com_convertforms/site.js', ['relative' => true, 'version' => 'auto']); - - $params = self::getComponentParams(); - - if ($params->get("loadCSS", true)) - { - \JHtml::stylesheet('com_convertforms/convertforms.css', ['relative' => true, 'version' => 'auto']); - } - - $doc = \JFactory::getDocument(); - $options = $doc->getScriptOptions('com_convertforms'); - $options = is_array($options) ? $options : []; - - $options = [ - // Remove trailing slash from the base URL to prevent unwanted redirections during AJAX submission - 'baseURL' => \Joomla\String\StringHelper::rtrim(\JRoute::_('index.php?option=com_convertforms'), '/'), - 'debug' => (bool) $params->get('debug', false) - ]; - - $doc->addScriptOptions('com_convertforms', $options); - - return; - } - - \JHtml::_('jquery.framework'); - \JHtml::stylesheet('com_convertforms/convertforms.sys.css', ['relative' => true, 'version' => 'auto']); - } - - /** - * Get Campaign Item by ID - * - * @param integer $id The campaign ID - * - * @return object - */ - public static function getCampaign($id) - { - $model = \JModelLegacy::getInstance('Campaign', 'ConvertFormsModel', array('ignore_request' => true)); - return $model->getItem($id); - } - - /** - * Write the given error message to log file. - * - * @param string $error_message The error message - * - * @return void - */ - public static function logError($error_message) - { - try { - \JLog::add($error_message, \JLog::ERROR, 'convertforms_errors'); - } catch (\Throwable $th) { - } - } - - /** - * Format given date based on the DATE_FORMAT_LC5 global format - * - * @param string $date - * - * @return string - */ - public static function formatDate($date) - { - if (!$date || $date == '0000-00-00 00:00:00') - { - return $date; - } - - return \JHtml::_('date', $date, \JText::_('DATE_FORMAT_LC5')); - } - - public static function getColumns($form_id) - { - if (!$form_id) - { - return []; - } - - $fields = Form::load($form_id, true, true); - - if (!is_array($fields) || !is_array($fields['fields'])) - { - return []; - } - - // Form Fields - $form_fields = array_map(function($value) - { - return 'param_' . $value; - }, array_keys($fields['fields'])); - - $default_columns = [ - 'id', - 'created', - 'user_id', - 'user_username', - 'visitor_id', - 'form_name', - 'param_leadnotes' - ]; - - // Set ID and Date Submitted as the first 2 columns - $columns = array_merge(array_slice($default_columns, 0, 2), $form_fields, array_slice($default_columns, 2, count($default_columns))); - - return $columns; - } - - /** - * Return absolute full URL of a path - * - * @param string $path - * - * @return string - */ - public static function pathTorelative($path) - { - return str_replace([JPATH_SITE, JPATH_ROOT], '', $path); - } - - /** - * Return absolute full URL of a path - * - * @param string $path - * - * @return string - */ - public static function absURL($path) - { - $path = str_replace([JPATH_SITE, JPATH_ROOT, \JURI::root()], '', $path); - $path = \JPath::clean($path); - - // Convert Windows Path to Unix - $path = str_replace('\\','/',$path); - - $path = ltrim($path, '/'); - $path = \JURI::root() . $path; - - return $path; - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +defined('_JEXEC') or die('Restricted access'); + +use NRFramework\Cache; +use ConvertForms\Form; +use Joomla\Registry\Registry; + +jimport('joomla.log.log'); + +class Helper +{ + /** + * Check if current logged in user is authorised to view a resource. + * + * @param string $action + * + * @return void + */ + public static function authorise($action, $throw_exception = false) + { + $authorised = \JFactory::getUser()->authorise($action, 'com_convertforms'); + + if (!$authorised && $throw_exception) + { + throw new \JAccessExceptionNotallowed(\JText::_('JERROR_ALERTNOAUTHOR'), 403); + } + + return $authorised; + } + + /** + * Trigger Error Event + * + * @param string $error The error message + * @param string $category The error category + * @param integer $form_id The form ID assosiated with the error + * @param mixed $data Extra data related to the error occured + * + * @return void + */ + public static function triggerError($error, $category, $form_id, $data = null) + { + \JPluginHelper::importPlugin('convertforms'); + \JFactory::getApplication()->triggerEvent('onConvertFormsError', [$error, $category, $form_id, $data]); + } + + /** + * Convert all applicable characters to HTML entities + * + * @param string $input The input string. + * + * @return string + */ + public static function escape($input) + { + if (!is_string($input)) + { + return $input; + } + + // Convert all HTML tags to HTML entities. + $input = htmlspecialchars($input, ENT_NOQUOTES, 'UTF-8'); + + // We do not need any Smart Tag replacements take place here, so we need to escape curly brackets too. + $input = str_replace(['{', '}'], ['{', '}'], $input); + + // Respect newline characters, by converting them to
        tags. + $input = nl2br($input); + + return $input; + } + + public static function getComponentParams() + { + $hash = 'cfComponentParams'; + + if (Cache::has($hash)) + { + return Cache::get($hash); + } + + return Cache::set($hash, \JComponentHelper::getParams('com_convertforms')); + } + + public static function getFormLeadsCount($form) + { + $hash = 'formLeadsCount' . $form; + + if (Cache::has($hash)) + { + return Cache::get($hash); + } + + if (!$form || $form == 0) + { + return 0; + } + + $db = \JFactory::getDBO(); + $query = $db->getQuery(true); + + $query + ->select('count(*)') + ->from('#__convertforms_conversions') + ->where('form_id = ' . $form); + + $db->setQuery($query); + + return Cache::set($hash, $db->loadResult()); + } + + /** + * Renders form template selection modal to the document + * + * @return void + */ + public static function renderSelectTemplateModal() + { + echo \JHtml::_('bootstrap.renderModal', 'cfSelectTemplate', array( + 'url' => 'index.php?option=com_convertforms&view=templates&tmpl=component', + 'title' => \JText::_('COM_CONVERTFORMS_TEMPLATES_SELECT'), + 'closeButton' => true, + 'height' => '100%', + 'width' => '100%', + 'modalWidth' => '70', + 'bodyHeight' => '70', + 'footer' => ' + + ' . \JText::_('COM_CONVERTFORMS_TEMPLATES_BLANK') . ' + + ' + )); + } + + /** + * Writes the Not Found Items message + * + * @param string $view + * + * @return string + */ + public static function noItemsFound($view = 'submissions') + { + $html[] = ''; + $html[] = \JText::sprintf('COM_CONVERTFORMS_NO_RESULTS_FOUND', strtolower(\JText::_('COM_CONVERTFORMS_' . $view))); + + return implode(' ', $html); + } + + /** + * Get Visitor ID + * + * @return string + */ + public static function getVisitorID() + { + return \NRFramework\VisitorToken::getInstance()->get(); + } + + /** + * Returns campaigns list visitor is subscribed to + * If the user is logged in, we try to get the campaigns by user's ID + * Otherwise, the visitor cookie ID will be used instead + * + * @return array List of campaign IDs + */ + public static function getVisitorCampaigns() + { + $db = \JFactory::getDBO(); + $query = $db->getQuery(true); + $user = \JFactory::getUser(); + + $query + ->select('campaign_id') + ->from('#__convertforms_conversions') + ->where('state = 1') + ->group('campaign_id'); + + // Get submissions by user id if visitor is logged in + if ($user->id) + { + $query->where('user_id = ' . (int) $user->id); + } else + { + // Get submissions by Visitor Cookie + if (!$visitorID = self::getVisitorID()) + { + return false; + } + + $query->where('visitor_id = ' . $db->q($visitorID)); + } + + $db->setQuery($query); + return $db->loadColumn(); + } + + /** + * Returns an array with all available campaigns + * + * @return array + */ + public static function getCampaigns() + { + \JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_convertforms/models'); + + $model = \JModelLegacy::getInstance('Campaigns', 'ConvertFormsModel', array('ignore_request' => true)); + $model->setState('filter.state', 1); + + return $model->getItems(); + } + + /** + * Logs messages to log file + * + * @param string $msg The message + * @param object $type The log type + * + * @return void + */ + public static function log($msg, $type = 'debug') + { + $debugIsEnabled = self::getComponentParams()->get('debug', false); + + if ($type == 'debug' && !$debugIsEnabled) + { + return; + } + + $type = ($type == 'debug') ? \JLog::DEBUG : \JLog::ERROR; + + try { + \JLog::add($msg, $type, 'com_convertforms'); + } catch (\Throwable $th){ + } + } + + /** + * Loads pre-made form template + * + * @param string $name The template name + * + * @return object + */ + public static function loadFormTemplate($name) + { + $form = JPATH_ROOT . '/media/com_convertforms/templates/' . $name . '.cnvf'; + + if (!\JFile::exists($form)) + { + return; + } + + $content = file_get_contents($form); + + if (empty($content)) + { + return; + } + + $item = json_decode($content, true); + $item = $item[0]; + + $data = (object) array_merge((array) $item, (array) json_decode($item['params'])); + $data->id = 0; + $data->campaign = null; + $data->fields = (array) $data->fields; + + return $data; + } + + /** + * Configure the Linkbar. + * + * @param string $vName The name of the active view. + * + * @return void + */ + public static function addSubmenu($vName) + { + \JHtmlSidebar::addEntry( + \JText::_('NR_DASHBOARD'), + 'index.php?option=com_convertforms', + 'convertforms' + ); + \JHtmlSidebar::addEntry( + \JText::_('COM_CONVERTFORMS_FORMS'), + 'index.php?option=com_convertforms&view=forms', + 'forms' + ); + \JHtmlSidebar::addEntry( + \JText::_('COM_CONVERTFORMS_CAMPAIGNS'), + 'index.php?option=com_convertforms&view=campaigns', + 'campaigns' + ); + \JHtmlSidebar::addEntry( + \JText::_('COM_CONVERTFORMS_SUBMISSIONS'), + 'index.php?option=com_convertforms&view=conversions', + 'conversions' + ); + \JHtmlSidebar::addEntry( + \JText::_('COM_CONVERTFORMS_ADDONS'), + 'index.php?option=com_convertforms&view=addons', + 'addons' + ); + } + + /** + * Returns permissions + * + * @return object + */ + public static function getActions() + { + $user = \JFactory::getUser(); + $result = new \JObject; + $assetName = 'com_convertforms'; + + $actions = array( + 'core.admin', 'core.manage', 'core.create', 'core.edit', 'core.edit.state', 'core.delete' + ); + + foreach ($actions as $action) + { + $result->set($action, $user->authorise($action, $assetName)); + } + + return $result; + } + + /** + * Prepares a form object for rendering + * + * @param Object $form The form object + * + * @return array The prepared form array + */ + public static function prepareForm($item) + { + $item['id'] = isset($item['id']) ? $item['id'] : 0; + $classPrefix = 'cf'; + + // Replace variables + $item = \ConvertForms\SmartTags::replace($item, null, $item['id']); + + $params = new Registry($item['params']); + $item['params'] = $params; + + /* Box Classes */ + $boxClasses = array( + "convertforms", + $classPrefix, + $classPrefix . "-" . $params->get("imgposition"), + $classPrefix . "-" . $params->get("formposition"), + $params->get("hideform", true) ? $classPrefix . "-success-hideform" : null, + $params->get("hidetext", false) ? $classPrefix . "-success-hidetext" : null, + !$params->get("hidelabels", false) ? $classPrefix . "-hasLabels" : null, + $params->get("centerform", false) ? $classPrefix . "-isCentered" : null, + $params->get("classsuffix", null), + $classPrefix . '-labelpos-' . $params->get('labelposition', 'top'), + ); + + /* Box Styles */ + $font = trim($params->get('font')); + + $boxStyle = array( + "max-width:" . ($params->get("autowidth", "auto") == "auto" ? "auto" : (int) $params->get("width", "500") . "px"), + "background-color:" . $params->get("bgcolor", "transparent"), + "border-style:" . $params->get("borderstyle", "solid"), + "border-width:" . (int) $params->get("borderwidth", "2") . "px", + "border-color:" . $params->get("bordercolor", "#000"), + "border-radius:" . (int) $params->get("borderradius", "0") . "px", + "padding:" . (int) $params->get("padding", "20") . "px", + (!empty($font)) ? "font-family:" . $font : null + ); + + // Background Image + if ($params->get("bgimage", false)) + { + $imgurl = intval($params->get("bgimage")) == 1 ? \JURI::root() . $params->get("bgfile") : $params->get("bgurl"); + $bgImage = array( + "background-image: url(". $imgurl .")", + "background-repeat:" . strtolower($params->get("bgrepeat")), + "background-size:" . strtolower($params->get("bgsize")), + "background-position:" . strtolower($params->get("bgposition")) + ); + + $boxStyle = array_merge($bgImage, $boxStyle); + } + + // Form HTML Attributes + $item['boxattributes'] = implode(" ", + array( + 'id="' . $classPrefix . '_' . $item['id'] . '"', + 'class="' . implode(" ", $boxClasses) . '"', + 'style="' . implode(";", $boxStyle) . '"' + ) + ); + + // Main Image Checks + $imageOption = $params->get("image"); + if ($imageOption == '1') + { + if (\JFile::exists(JPATH_SITE . "/" . $params->get("imagefile"))) + { + $item['image'] = \JURI::root() . $params->get("imagefile"); + } + } + if ($imageOption == '2') + { + $item['image'] = $params->get("imageurl"); + } + + // Image Container + $item['imagecontainerclasses'] = implode(" ", array( + (in_array($params->get("imgposition"), array("img-right", "img-left")) ? $classPrefix . "-col-medium-" . $params->get("imagesize", 6) : null), + )); + + // Image + $item['imagestyles'] = array( + "width:" . ($params->get("imageautowidth", "auto") == "auto" ? "auto" : (int) $params->get("imagewidth", "500") . "px"), + "left:". (int) $params->get("imagehposition", "0") . "px ", + "top:". (int) $params->get("imagevposition", "0") . "px" + ); + $item['imageclasses'] = array( + ($params->get("hideimageonmobile", false) ? "cf-hide-mobile" : "") + ); + + // Form Container + $item['formclasses'] = array( + (in_array($params->get("formposition"), array("form-left", "form-right")) ? $classPrefix . "-col-large-" . $params->get("formsize", 6) : null), + ); + $item['formstyles'] = array( + "background-color:" . $params->get("formbgcolor", "none") + ); + + // Content + $item['contentclasses'] = implode(" ", array( + (in_array($params->get("formposition"), array("form-left", "form-right")) ? $classPrefix . "-col-large-" . (16 - $params->get("formsize", 6)) : null), + )); + + // Text Container + $item['textcontainerclasses'] = implode(" ", array( + (in_array($params->get("imgposition"), array("img-right", "img-left")) ? $classPrefix . "-col-medium-" . (16 - $params->get("imagesize", 6)) : null), + )); + + $textContent = trim($params->get("text", null)); + $footerContent = trim($params->get("footer", null)); + + $item['textIsEmpty'] = empty($textContent); + $item['footerIsEmpty'] = empty($footerContent); + $item['hascontent'] = !$item['textIsEmpty'] || (bool) isset($item['image']) ? 1 : 0; + + // Prepare Fields + $item['fields_prepare'] = \ConvertForms\FieldsHelper::prepare($item); + + // Load custom fonts into the document + \NRFramework\Fonts::loadFont($font); + + return $item; + } + + /** + * Renders form by ID + * + * @param integer $id The form ID + * + * @return string The form HTML + */ + public static function renderFormById($id) + { + if (!$data = Form::load($id)) + { + return; + } + + self::loadassets(true); + + return self::renderForm($data); + } + + /** + * Renders Form + * + * @param integer $formid The form id + * + * @return string The form HTML + */ + public static function renderForm($data) + { + \JPluginHelper::importPlugin('convertforms'); + \JPluginHelper::importPlugin('convertformstools'); + + // load translation strings + self::loadTranslations(); + + // Let user manipulate the form's settings by running their own PHP script + $payload_1 = ['form' => &$data]; + Form::runPHPScript($data['id'], 'formprepare', $payload_1); + + // Prepare form and fields + $data = self::prepareForm($data); + $html = self::layoutRender('form', $data); + + // Let user manipulate the form's HTML by running their own PHP script + $payload_2 = [ + 'formLayout' => &$html, + 'form' => $data + ]; + Form::runPHPScript($data['id'], 'formdisplay', $payload_2); + + \JFactory::getApplication()->triggerEvent('onConvertFormsAfterDisplay', [$data, $html]); + + // Prevent user frustration by fixing broken images in the backend. + // This is required since v2.8.0 where we no longer forces absolute URLs in the text editors. + if (\JFactory::getApplication()->isClient('administrator')) + { + $html = \NRFramework\URLHelper::relativePathsToAbsoluteURLs($html, null, false); + } + + return $html; + } + + /** + * Enqueues translations for the front-end + * + * @return void + */ + private static function loadTranslations() + { + \JText::script('COM_CONVERTFORMS_INVALID_RESPONSE'); + \JText::script('COM_CONVERTFORMS_INVALID_TASK'); + } + + /** + * Render HTML overridable layout + * + * @param string $layout The layout name + * @param object $data The data passed to layout + * + * @return string The rendered HTML layout + */ + public static function layoutRender($layout, $data) + { + return \JLayoutHelper::render($layout, $data, null, ['debug' => false, 'client' => 1, 'component' => 'com_convertforms']); + } + + /** + * Loads components media files + * + * @param boolean $front + * + * @return void + */ + public static function loadassets($frontend = false) + { + static $run; + + if ($run) + { + return; + } + + $run = true; + + // Front-end media files + if ($frontend) + { + // Load core.js needed by keepalive script. + \JHtml::_('behavior.core'); + \JHtml::_('behavior.keepalive'); + + \JHtml::script('com_convertforms/site.js', ['relative' => true, 'version' => 'auto']); + + $params = self::getComponentParams(); + + if ($params->get("loadCSS", true)) + { + \JHtml::stylesheet('com_convertforms/convertforms.css', ['relative' => true, 'version' => 'auto']); + } + + $doc = \JFactory::getDocument(); + $options = $doc->getScriptOptions('com_convertforms'); + $options = is_array($options) ? $options : []; + + $options = [ + // Remove trailing slash from the base URL to prevent unwanted redirections during AJAX submission + 'baseURL' => \Joomla\String\StringHelper::rtrim(\JRoute::_('index.php?option=com_convertforms'), '/'), + 'debug' => (bool) $params->get('debug', false) + ]; + + $doc->addScriptOptions('com_convertforms', $options); + + return; + } + + \JHtml::_('jquery.framework'); + \JHtml::stylesheet('com_convertforms/convertforms.sys.css', ['relative' => true, 'version' => 'auto']); + } + + /** + * Get Campaign Item by ID + * + * @param integer $id The campaign ID + * + * @return object + */ + public static function getCampaign($id) + { + $model = \JModelLegacy::getInstance('Campaign', 'ConvertFormsModel', array('ignore_request' => true)); + return $model->getItem($id); + } + + /** + * Write the given error message to log file. + * + * @param string $error_message The error message + * + * @return void + */ + public static function logError($error_message) + { + try { + \JLog::add($error_message, \JLog::ERROR, 'convertforms_errors'); + } catch (\Throwable $th) { + } + } + + /** + * Format given date based on the DATE_FORMAT_LC5 global format + * + * @param string $date + * + * @return string + */ + public static function formatDate($date) + { + if (!$date || $date == '0000-00-00 00:00:00') + { + return $date; + } + + return \JHtml::_('date', $date, \JText::_('DATE_FORMAT_LC5')); + } + + public static function getColumns($form_id) + { + if (!$form_id) + { + return []; + } + + $fields = Form::load($form_id, true, true); + + if (!is_array($fields) || !is_array($fields['fields'])) + { + return []; + } + + // Form Fields + $form_fields = array_map(function($value) + { + return 'param_' . $value; + }, array_keys($fields['fields'])); + + $default_columns = [ + 'id', + 'created', + 'user_id', + 'user_username', + 'visitor_id', + 'form_name', + 'param_leadnotes' + ]; + + // Set ID and Date Submitted as the first 2 columns + $columns = array_merge(array_slice($default_columns, 0, 2), $form_fields, array_slice($default_columns, 2, count($default_columns))); + + return $columns; + } + + /** + * Return absolute full URL of a path + * + * @param string $path + * + * @return string + */ + public static function pathTorelative($path) + { + return str_replace([JPATH_SITE, JPATH_ROOT], '', $path); + } + + /** + * Return absolute full URL of a path + * + * @param string $path + * + * @return string + */ + public static function absURL($path) + { + $path = str_replace([JPATH_SITE, JPATH_ROOT, \JURI::root()], '', $path); + $path = \JPath::clean($path); + + // Convert Windows Path to Unix + $path = str_replace('\\','/',$path); + + $path = ltrim($path, '/'); + $path = \JURI::root() . $path; + + return $path; + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/JsonApi.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/JsonApi.php index a3859231..68f0ce68 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/JsonApi.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/JsonApi.php @@ -1,302 +1,302 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Helper; - -/** - * ConvertForms API Class - */ -class JsonApi -{ - /** - * Joomla Application Object - * - * @var object - */ - private $app; - - /** - * API Key - * - * @var string - */ - private $apikey; - - /** - * Class Constructor - * - * @param string $key User API Key - */ - public function __construct($apikey) - { - if (!isset($apikey) || empty($apikey)) - { - $this->throwError('API Key is missing'); - } - - $this->apikey = $apikey; - - if (!$this->authenticate()) - { - $this->throwError('Invalid API Key: '. $this->apikey); - } - - $this->app = \JFactory::getApplication(); - } - - /** - * Throws an exception and logs the error message to the log file - * - * @param string $error The error message - * - * @return void - */ - private function throwError($error) - { - $error = 'ConvertForms API: ' . $error; - - Helper::log($error, 'error'); - throw new \Exception($error); - } - - /** - * Authenticate API Call - * - * @return bool - */ - public function authenticate() - { - return $this->getSiteKey() === $this->apikey; - } - - /** - * Returns Domain Key - * - * @return string - */ - public static function generateDomainKey() - { - $parse = parse_url(\JURI::root()); - $domain = isset($parse['host']) ? $parse['host'] : '-'; - $hash = md5('CF' . $domain); - - return $hash; - } - - /** - * Returns Domain Key - * - * @return string - */ - public static function getSiteKey() - { - return Helper::getComponentParams()->get('api_key', null); - } - - /** - * Route API endpoint to the proper method - * - * @param string $endpoint The API Endpoint Name - * - * @return string Response Array - */ - public function route($endpoint) - { - $endPointMethod = 'endPoint' . $endpoint; - - if (!method_exists($this, $endPointMethod)) - { - $this->throwError('Endpoint not found:' . $endpoint); - } - - return $this->$endPointMethod(); - } - - /** - * Loads and populates model - * - * @param JModel &$model - * - * @return JModel - */ - private function getModel($modelName) - { - if (!$modelName) - { - return; - } - - $model = \JModelLegacy::getInstance($modelName, 'ConvertFormsModel', array('ignore_request' => true)); - - $model->setState('list.limit', $this->app->input->get('limit', 1000)); - $model->setState('list.start', $this->app->input->get('start', 0)); - $model->setState('list.ordering', $this->app->input->get('order', 'a.id')); - $model->setState('list.direction', $this->app->input->get('dir', 'desc')); - - $state = $this->app->input->get('state', null); - - if (!is_null($state)) - { - $model->setState('filter.state', $state); - } - - return $model; - } - - /** - * Backwards compatibility support for old Leads endpoint - * - * @deprecated 2.2.0 - * - * @return array Database array - */ - private function endPointLeads() - { - return $this->endPointSubmissions(); - } - - /** - * Submissions Endpoint - * - * @since 2.2.0 - * - * @return array Database array - */ - private function endPointSubmissions() - { - // Load Model - $model = $this->getModel('Conversions'); - - // Apply form filter - $formID = $this->app->input->get('form', null); - if (!is_null($formID)) - { - $model->setState('filter.form_id', $formID); - } - - // Apply campaign filter - $campaignID = $this->app->input->get('campaign', null); - if (!is_null($campaignID)) - { - $model->setState('filter.campaign_id', $campaignID); - } - - // Get Data - $leads = $model->getItems(); - $data = array(); - - $tz = new \DateTimeZone($this->app->getCfg('offset', 'UTC')); - - foreach ($leads as $key => $lead) - { - // Convert created date to ISO8601 format to make Zapier happy. - $date_ = new \JDate($lead->created, $tz); - $lead->created = $date_->toISO8601(true); - - $data_ = array( - 'id' => $lead->id, - 'state' => $lead->state, - 'created' => $lead->created, - 'form_id' => $lead->form_id, - 'campaign_id' => $lead->campaign_id, - 'user_id' => $lead->user_id, - 'visitor_id' => $lead->visitor_id - ); - - // Include custom fields as well - if (isset($lead->prepared_fields)) - { - foreach ($lead->prepared_fields as $key => $field) - { - // This is a temporary workaround for File Upload field, to display files as absolute URLs in array - // We can't use $field->value directly as it transforms the array to string. - if ($field->options->get('type') == 'fileupload') - { - $field->value_raw = array_filter(array_map('trim', explode(',', $field->value))); - } - - $data_['field_' . $key] = $field->value_raw; - } - } - - $data[] = $data_; - } - - return $data; - } - - /** - * Forms Endpoint - * - * @return array Database array - */ - private function endPointForms() - { - return $this->endPointDefault('Forms'); - } - - /** - * Campaigns Endpoint - * - * @return array Database array - */ - private function endPointCampaigns() - { - return $this->endPointDefault('Campaigns'); - } - - /** - * Common Default Endpoint - * - * @param string $model ConvertForms model name - * - * @return array - */ - private function endPointDefault($model) - { - // Load Model - $model = $this->getModel($model); - - if (!$model) - { - return; - } - - // Get Data - $items = $model->getItems(); - - if (!$items) - { - return; - } - - $data = array(); - - foreach ($items as $key => $item) - { - $data[] = array( - 'id' => $item->id, - 'name' => $item->name, - 'created' => $item->created, - 'state' => $item->state - ); - } - - return $data; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Helper; + +/** + * ConvertForms API Class + */ +class JsonApi +{ + /** + * Joomla Application Object + * + * @var object + */ + private $app; + + /** + * API Key + * + * @var string + */ + private $apikey; + + /** + * Class Constructor + * + * @param string $key User API Key + */ + public function __construct($apikey) + { + if (!isset($apikey) || empty($apikey)) + { + $this->throwError('API Key is missing'); + } + + $this->apikey = $apikey; + + if (!$this->authenticate()) + { + $this->throwError('Invalid API Key: '. $this->apikey); + } + + $this->app = \JFactory::getApplication(); + } + + /** + * Throws an exception and logs the error message to the log file + * + * @param string $error The error message + * + * @return void + */ + private function throwError($error) + { + $error = 'ConvertForms API: ' . $error; + + Helper::log($error, 'error'); + throw new \Exception($error); + } + + /** + * Authenticate API Call + * + * @return bool + */ + public function authenticate() + { + return $this->getSiteKey() === $this->apikey; + } + + /** + * Returns Domain Key + * + * @return string + */ + public static function generateDomainKey() + { + $parse = parse_url(\JURI::root()); + $domain = isset($parse['host']) ? $parse['host'] : '-'; + $hash = md5('CF' . $domain); + + return $hash; + } + + /** + * Returns Domain Key + * + * @return string + */ + public static function getSiteKey() + { + return Helper::getComponentParams()->get('api_key', null); + } + + /** + * Route API endpoint to the proper method + * + * @param string $endpoint The API Endpoint Name + * + * @return string Response Array + */ + public function route($endpoint) + { + $endPointMethod = 'endPoint' . $endpoint; + + if (!method_exists($this, $endPointMethod)) + { + $this->throwError('Endpoint not found:' . $endpoint); + } + + return $this->$endPointMethod(); + } + + /** + * Loads and populates model + * + * @param JModel &$model + * + * @return JModel + */ + private function getModel($modelName) + { + if (!$modelName) + { + return; + } + + $model = \JModelLegacy::getInstance($modelName, 'ConvertFormsModel', array('ignore_request' => true)); + + $model->setState('list.limit', $this->app->input->get('limit', 1000)); + $model->setState('list.start', $this->app->input->get('start', 0)); + $model->setState('list.ordering', $this->app->input->get('order', 'a.id')); + $model->setState('list.direction', $this->app->input->get('dir', 'desc')); + + $state = $this->app->input->get('state', null); + + if (!is_null($state)) + { + $model->setState('filter.state', $state); + } + + return $model; + } + + /** + * Backwards compatibility support for old Leads endpoint + * + * @deprecated 2.2.0 + * + * @return array Database array + */ + private function endPointLeads() + { + return $this->endPointSubmissions(); + } + + /** + * Submissions Endpoint + * + * @since 2.2.0 + * + * @return array Database array + */ + private function endPointSubmissions() + { + // Load Model + $model = $this->getModel('Conversions'); + + // Apply form filter + $formID = $this->app->input->get('form', null); + if (!is_null($formID)) + { + $model->setState('filter.form_id', $formID); + } + + // Apply campaign filter + $campaignID = $this->app->input->get('campaign', null); + if (!is_null($campaignID)) + { + $model->setState('filter.campaign_id', $campaignID); + } + + // Get Data + $leads = $model->getItems(); + $data = array(); + + $tz = new \DateTimeZone($this->app->getCfg('offset', 'UTC')); + + foreach ($leads as $key => $lead) + { + // Convert created date to ISO8601 format to make Zapier happy. + $date_ = new \JDate($lead->created, $tz); + $lead->created = $date_->toISO8601(true); + + $data_ = array( + 'id' => $lead->id, + 'state' => $lead->state, + 'created' => $lead->created, + 'form_id' => $lead->form_id, + 'campaign_id' => $lead->campaign_id, + 'user_id' => $lead->user_id, + 'visitor_id' => $lead->visitor_id + ); + + // Include custom fields as well + if (isset($lead->prepared_fields)) + { + foreach ($lead->prepared_fields as $key => $field) + { + // This is a temporary workaround for File Upload field, to display files as absolute URLs in array + // We can't use $field->value directly as it transforms the array to string. + if ($field->options->get('type') == 'fileupload') + { + $field->value_raw = array_filter(array_map('trim', explode(',', $field->value))); + } + + $data_['field_' . $key] = $field->value_raw; + } + } + + $data[] = $data_; + } + + return $data; + } + + /** + * Forms Endpoint + * + * @return array Database array + */ + private function endPointForms() + { + return $this->endPointDefault('Forms'); + } + + /** + * Campaigns Endpoint + * + * @return array Database array + */ + private function endPointCampaigns() + { + return $this->endPointDefault('Campaigns'); + } + + /** + * Common Default Endpoint + * + * @param string $model ConvertForms model name + * + * @return array + */ + private function endPointDefault($model) + { + // Load Model + $model = $this->getModel($model); + + if (!$model) + { + return; + } + + // Get Data + $items = $model->getItems(); + + if (!$items) + { + return; + } + + $data = array(); + + foreach ($items as $key => $item) + { + $data[] = array( + 'id' => $item->id, + 'name' => $item->name, + 'created' => $item->created, + 'state' => $item->state + ); + } + + return $data; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Migrator.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Migrator.php index e91cd78c..22a0232c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Migrator.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Migrator.php @@ -1,186 +1,186 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -use Joomla\Registry\Registry; - -defined('_JEXEC') or die('Restricted access'); - -/** - * Convert Forms Migrator - */ -class Migrator -{ - /** - * The database class - * - * @var object - */ - private $db; - - /** - * Indicates the current installed version of the extension - * - * @var string - */ - private $installedVersion; - - /** - * Class constructor - * - * @param string $installedVersion The current extension version - */ - public function __construct($installedVersion) - { - $this->installedVersion = $installedVersion; - $this->db = \JFactory::getDbo(); - } - - /** - * Start migration process - * - * @return void - */ - public function start() - { - $this->set_sib_campaigns_default_v2_version(); - - if (!$items = $this->getItems()) - { - return; - } - - foreach ($items as $item) - { - $item->params = new Registry($item->params); - - if (version_compare($this->installedVersion, '2.7.3', '<=')) - { - $this->fixUploadFolder($item); - } - - // Update box using id as the primary key. - $item->params = json_encode($item->params); - $this->db->updateObject('#__convertforms', $item, 'id'); - } - } - - private function fixUploadFolder(&$item) - { - if (!$fields = $item->params->get('fields')) - { - return; - } - - foreach ($fields as &$field) - { - if ($field->type != 'fileupload') - { - continue; - } - - if (isset($field->upload_folder_type)) - { - continue; - } - - $field->upload_folder_type = 'custom'; - } - } - - /** - * Finds all SendInBlue campaigns and sets the version to v2 if not set. - * - * @since 2.8.4 - * - * @return void - */ - private function set_sib_campaigns_default_v2_version() - { - if (version_compare($this->installedVersion, '2.8.4', '>=')) - { - return; - } - - if (!$campaigns = $this->getCampaigns('sendinblue')) - { - return; - } - - foreach ($campaigns as $item) - { - $item->params = new Registry($item->params); - - // version exists, move on - if ($version = $item->params->get('version')) - { - continue; - } - - // if no version is found, set it to v2 - $item->params->set('version', '2'); - - // Also set update existing to default value, true - $item->params->set('updateexisting', '1'); - - // Update box using id as the primary key. - $item->params = json_encode($item->params); - $this->db->updateObject('#__convertforms_campaigns', $item, 'id'); - } - } - - /** - * Get Forms List - * - * @return object - */ - public function getItems() - { - $db = $this->db; - $query = $db->getQuery(true); - - $query - ->select('*') - ->from('#__convertforms'); - - $db->setQuery($query); - - return $db->loadObjectList(); - } - - /** - * Get Campaigns List - * - * @param string $service - * - * @return object - */ - public function getCampaigns($service = null) - { - $db = $this->db; - $query = $db->getQuery(true); - - $query - ->select('*') - ->from('#__convertforms_campaigns'); - - if ($service) - { - $query->where($this->db->quoteName('service') . ' = ' . $this->db->quote($service)); - } - - $db->setQuery($query); - - return $db->loadObjectList(); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +use Joomla\Registry\Registry; + +defined('_JEXEC') or die('Restricted access'); + +/** + * Convert Forms Migrator + */ +class Migrator +{ + /** + * The database class + * + * @var object + */ + private $db; + + /** + * Indicates the current installed version of the extension + * + * @var string + */ + private $installedVersion; + + /** + * Class constructor + * + * @param string $installedVersion The current extension version + */ + public function __construct($installedVersion) + { + $this->installedVersion = $installedVersion; + $this->db = \JFactory::getDbo(); + } + + /** + * Start migration process + * + * @return void + */ + public function start() + { + $this->set_sib_campaigns_default_v2_version(); + + if (!$items = $this->getItems()) + { + return; + } + + foreach ($items as $item) + { + $item->params = new Registry($item->params); + + if (version_compare($this->installedVersion, '2.7.3', '<=')) + { + $this->fixUploadFolder($item); + } + + // Update box using id as the primary key. + $item->params = json_encode($item->params); + $this->db->updateObject('#__convertforms', $item, 'id'); + } + } + + private function fixUploadFolder(&$item) + { + if (!$fields = $item->params->get('fields')) + { + return; + } + + foreach ($fields as &$field) + { + if ($field->type != 'fileupload') + { + continue; + } + + if (isset($field->upload_folder_type)) + { + continue; + } + + $field->upload_folder_type = 'custom'; + } + } + + /** + * Finds all SendInBlue campaigns and sets the version to v2 if not set. + * + * @since 2.8.4 + * + * @return void + */ + private function set_sib_campaigns_default_v2_version() + { + if (version_compare($this->installedVersion, '2.8.4', '>=')) + { + return; + } + + if (!$campaigns = $this->getCampaigns('sendinblue')) + { + return; + } + + foreach ($campaigns as $item) + { + $item->params = new Registry($item->params); + + // version exists, move on + if ($version = $item->params->get('version')) + { + continue; + } + + // if no version is found, set it to v2 + $item->params->set('version', '2'); + + // Also set update existing to default value, true + $item->params->set('updateexisting', '1'); + + // Update box using id as the primary key. + $item->params = json_encode($item->params); + $this->db->updateObject('#__convertforms_campaigns', $item, 'id'); + } + } + + /** + * Get Forms List + * + * @return object + */ + public function getItems() + { + $db = $this->db; + $query = $db->getQuery(true); + + $query + ->select('*') + ->from('#__convertforms'); + + $db->setQuery($query); + + return $db->loadObjectList(); + } + + /** + * Get Campaigns List + * + * @param string $service + * + * @return object + */ + public function getCampaigns($service = null) + { + $db = $this->db; + $query = $db->getQuery(true); + + $query + ->select('*') + ->from('#__convertforms_campaigns'); + + if ($service) + { + $query->where($this->db->quoteName('service') . ' = ' . $this->db->quote($service)); + } + + $db->setQuery($query); + + return $db->loadObjectList(); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Plugin.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Plugin.php index 2d9391e5..c32a0e2a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Plugin.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/Plugin.php @@ -1,388 +1,388 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2021 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Helper; - -jimport('joomla.filesystem.file'); -jimport('joomla.filesystem.folder'); - -/** - * Services main class used by ConvertForms plugins - */ -class Plugin extends \JPlugin -{ - /** - * Application Object - * - * @var object - */ - protected $app; - - /** - * Wrappers Directory - * - * @var string - */ - private $wrappersDir = '/system/nrframework/helpers/wrappers/'; - - /** - * Lead row to manipulate - * - * @var object - */ - protected $lead; - - /** - * Auto loads the plugin language file - * - * @var boolean - */ - protected $autoloadLanguage = true; - - /** - * The campaign data. - * - * @var array - */ - protected $campaignData; - - /** - * Method to retrieve available lists/campaigns from API - * - * @param string $campaignData The Campaign's Data - * - * @return mixed Array on success, Throws an exception on fail - */ - public function getLists($campaignData) - { - $integration = $this->getCampaignIntegration($campaignData); - - $api = new $integration($campaignData); - - if (!method_exists($api, 'getLists')) - { - throw new \Exception('Method getLists() is missing from the ' . $this->getName() . ' wrapper'); - } - - $lists = $api->getLists(); - - if (!$api->success()) - { - throw new \Exception($api->getLastError()); - } - - return $lists; - } - - /** - * Returns the campaign integration. - * - * @param array $campaignData - * - * @return string - */ - protected function getCampaignIntegration($campaignData) - { - $class = str_replace('plgConvertForms', '', get_class($this)); - - return '\NRFramework\Integrations\\' . $class; - } - - /** - * Event ServiceName - Returns the service information - * - * @return array - */ - public function onConvertFormsServiceName() - { - $service = array( - 'name' => \JText::_('PLG_CONVERTFORMS_' . strtoupper($this->getName()) . '_ALIAS'), - 'alias' => $this->getName() - ); - - return $service; - } - - /** - * Appends form.xml to Campaign editing form - * - * @param JForm $form The form to be altered. - * @param mixed $data The associated data for the form. - * @param string $string The associated service name. - * - * @return boolean - */ - public function onConvertFormsCampaignPrepareForm($form, $data, $service) - { - if ($service != $this->getName()) - { - return true; - } - - // Try to load service form - try - { - $form->loadFile($this->getForm(), false); - $form->addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms/fields'); - } - catch (Exception $e) - { - $this->app->enqueueMessage($e->getMessage(), 'error'); - } - - return true; - } - - /** - * Event that gets triggered whenever we want to retrieve service's account list - * - * @param array $campaignData All the Campaign Data - * - * @return array An array with all available lists - */ - public function onConvertFormsServiceLists($campaignData) - { - // Proceed only if we have a valid service - if ($campaignData['service'] != $this->getName()) - { - return; - } - - // Load service wrapper - $this->loadWrapper(); - - // Try to get service's account lists - try - { - return $this->getLists($campaignData); - } - // Catch any exception - catch (Exception $e) - { - Helper::log($e->getMessage(), 'error'); - return $e->getMessage(); - } - } - - /** - * Syncs conversion data with the assosiated third-party service. - * A conversion is assosiated with a Form who has a Campaign who has a Service - * Sync is skipped if the service is empty. - * - * Content is passed by reference, but after the save, so no changes will be saved. - * Method is called right after the content is saved. - * - * @param string $conversion The Conversion data - * @param bool $model The Conversions Model - * @param bool $isNew If the Conversion has just been created - * - * @return void - */ - public function onConvertFormsConversionAfterSave($conversion, $model, $isNew) - { - // Proceed only if we have a valid service - if ($conversion->campaign->service != $this->getName()) - { - return; - } - - // Validate Lead - $this->lead = clone $conversion; - $this->validateLead(); - - // Load service wrapper - $this->loadWrapper(); - - // Load Lead row for update - $table = $model->getTable(); - $table->load($conversion->id); - - $params = json_decode($table->params); - - if (!is_object($params)) - { - $params = new stdClass(); - } - - $params->sync_service = $conversion->campaign->service; - - // Try to sync the Lead with the assosiated 3rd party service - try - { - $this->subscribe($conversion); - - // Success. Update the Lead record. - unset($params->sync_error); - - $table->params = json_encode($params); - $table->store(); - - // Log debug message - Helper::log('Lead #' . $conversion->id . ' successfully synched with ' . $params->sync_service); - } - - // Catch any exception and save it to the Lead row. - // Then re-throw the same exception in order to be used by the AJAX handler. - catch (\Exception $e) - { - $params->sync_error = $e->getMessage(); - $table->params = json_encode($params); - $table->state = 0; - $table->store(); - - // Log error message - Helper::log('Error syncing lead #' . $conversion->id . ' with ' . $params->sync_service . " - " . $e->getMessage(), 'error'); - // Re-throw the exception - throw new \Exception($e->getMessage()); - } - } - - /** - * Validate lead and make sure there is at least 1 email field - * - * @return void - */ - protected function validateLead() - { - if (!isset($this->lead->params) || !is_array($this->lead->params)) - { - throw new \Exception(\JText::_('COM_CONVERTFORMS_INVALID_LEAD')); - } - - // First, try to find a field with a name set to 'email'. - foreach($this->lead->params as $key => $value) - { - if (strtolower($key) != 'email') - { - continue; - } - - // Email field found! - $this->lead->email = $value; - - // Remove the parameter in order to avoid sending the email value twice - unset($this->lead->params[$key]); - } - - // If no email field found, make a second attempt to find an email field by type - if (!isset($this->lead->email) || empty($this->lead->email)) - { - if (isset($this->lead->form->fields) && is_array($this->lead->form->fields)) - { - foreach ($this->lead->form->fields as $key => $field) - { - if ($field['type'] != 'email') - { - continue; - } - - if (!isset($this->lead->params[$field['name']])) - { - continue; - } - - // Email field found! - $this->lead->email = $this->lead->params[$field['name']]; - unset($this->lead->params[$field['name']]); - } - } - } - - // Make sure now we have found an email field - if (!isset($this->lead->email) || empty($this->lead->email)) - { - throw new \Exception(\JText::_('COM_CONVERTFORMS_FORM_IS_MISSING_THE_EMAIL_FIELD')); - } - } - - /** - * Loads Service Wrapper - * - * @return boolean - */ - protected function loadWrapper() - { - $wrapper = $this->getWrapperFile(); - - if (!\JFile::exists($wrapper)) - { - throw new \Exception('Wrapper ' . $wrapper . ' not found'); - } - - return include_once($wrapper); - } - - /** - * Returns Service Wrapper File - * - * @return string - */ - protected function getWrapperFile() - { - return JPATH_PLUGINS . $this->wrappersDir . $this->getName() . '.php'; - } - - /** - * Returns form.xml file path - * - * @return string - */ - private function getForm() - { - $xml = JPATH_PLUGINS . '/convertforms/' . $this->getName() . '/form.xml'; - - if (!\JFile::exists($xml)) - { - throw new \Exception('XML file is missing: ' . $xml); - } - - return $xml; - } - - /** - * Insensitive search for array key - * - * @param string $name The array key to search for - * @param array $array The array - * - * @return mixed False if not found, string if found - */ - public function findKey($name, $array) - { - $result = false; - - foreach ($array as $key => $value) - { - if (strtolower($key) == $name) - { - $result = $value; - break; - } - } - - return $result; - } - - /** - * Get plugin name alias - * - * @return string - */ - public function getName() - { - return isset($this->name) ? $this->name : $this->_name; - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2021 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Helper; + +jimport('joomla.filesystem.file'); +jimport('joomla.filesystem.folder'); + +/** + * Services main class used by ConvertForms plugins + */ +class Plugin extends \JPlugin +{ + /** + * Application Object + * + * @var object + */ + protected $app; + + /** + * Wrappers Directory + * + * @var string + */ + private $wrappersDir = '/system/nrframework/helpers/wrappers/'; + + /** + * Lead row to manipulate + * + * @var object + */ + protected $lead; + + /** + * Auto loads the plugin language file + * + * @var boolean + */ + protected $autoloadLanguage = true; + + /** + * The campaign data. + * + * @var array + */ + protected $campaignData; + + /** + * Method to retrieve available lists/campaigns from API + * + * @param string $campaignData The Campaign's Data + * + * @return mixed Array on success, Throws an exception on fail + */ + public function getLists($campaignData) + { + $integration = $this->getCampaignIntegration($campaignData); + + $api = new $integration($campaignData); + + if (!method_exists($api, 'getLists')) + { + throw new \Exception('Method getLists() is missing from the ' . $this->getName() . ' wrapper'); + } + + $lists = $api->getLists(); + + if (!$api->success()) + { + throw new \Exception($api->getLastError()); + } + + return $lists; + } + + /** + * Returns the campaign integration. + * + * @param array $campaignData + * + * @return string + */ + protected function getCampaignIntegration($campaignData) + { + $class = str_replace('plgConvertForms', '', get_class($this)); + + return '\NRFramework\Integrations\\' . $class; + } + + /** + * Event ServiceName - Returns the service information + * + * @return array + */ + public function onConvertFormsServiceName() + { + $service = array( + 'name' => \JText::_('PLG_CONVERTFORMS_' . strtoupper($this->getName()) . '_ALIAS'), + 'alias' => $this->getName() + ); + + return $service; + } + + /** + * Appends form.xml to Campaign editing form + * + * @param JForm $form The form to be altered. + * @param mixed $data The associated data for the form. + * @param string $string The associated service name. + * + * @return boolean + */ + public function onConvertFormsCampaignPrepareForm($form, $data, $service) + { + if ($service != $this->getName()) + { + return true; + } + + // Try to load service form + try + { + $form->loadFile($this->getForm(), false); + $form->addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms/fields'); + } + catch (Exception $e) + { + $this->app->enqueueMessage($e->getMessage(), 'error'); + } + + return true; + } + + /** + * Event that gets triggered whenever we want to retrieve service's account list + * + * @param array $campaignData All the Campaign Data + * + * @return array An array with all available lists + */ + public function onConvertFormsServiceLists($campaignData) + { + // Proceed only if we have a valid service + if ($campaignData['service'] != $this->getName()) + { + return; + } + + // Load service wrapper + $this->loadWrapper(); + + // Try to get service's account lists + try + { + return $this->getLists($campaignData); + } + // Catch any exception + catch (Exception $e) + { + Helper::log($e->getMessage(), 'error'); + return $e->getMessage(); + } + } + + /** + * Syncs conversion data with the assosiated third-party service. + * A conversion is assosiated with a Form who has a Campaign who has a Service + * Sync is skipped if the service is empty. + * + * Content is passed by reference, but after the save, so no changes will be saved. + * Method is called right after the content is saved. + * + * @param string $conversion The Conversion data + * @param bool $model The Conversions Model + * @param bool $isNew If the Conversion has just been created + * + * @return void + */ + public function onConvertFormsConversionAfterSave($conversion, $model, $isNew) + { + // Proceed only if we have a valid service + if ($conversion->campaign->service != $this->getName()) + { + return; + } + + // Validate Lead + $this->lead = clone $conversion; + $this->validateLead(); + + // Load service wrapper + $this->loadWrapper(); + + // Load Lead row for update + $table = $model->getTable(); + $table->load($conversion->id); + + $params = json_decode($table->params); + + if (!is_object($params)) + { + $params = new stdClass(); + } + + $params->sync_service = $conversion->campaign->service; + + // Try to sync the Lead with the assosiated 3rd party service + try + { + $this->subscribe($conversion); + + // Success. Update the Lead record. + unset($params->sync_error); + + $table->params = json_encode($params); + $table->store(); + + // Log debug message + Helper::log('Lead #' . $conversion->id . ' successfully synched with ' . $params->sync_service); + } + + // Catch any exception and save it to the Lead row. + // Then re-throw the same exception in order to be used by the AJAX handler. + catch (\Exception $e) + { + $params->sync_error = $e->getMessage(); + $table->params = json_encode($params); + $table->state = 0; + $table->store(); + + // Log error message + Helper::log('Error syncing lead #' . $conversion->id . ' with ' . $params->sync_service . " - " . $e->getMessage(), 'error'); + // Re-throw the exception + throw new \Exception($e->getMessage()); + } + } + + /** + * Validate lead and make sure there is at least 1 email field + * + * @return void + */ + protected function validateLead() + { + if (!isset($this->lead->params) || !is_array($this->lead->params)) + { + throw new \Exception(\JText::_('COM_CONVERTFORMS_INVALID_LEAD')); + } + + // First, try to find a field with a name set to 'email'. + foreach($this->lead->params as $key => $value) + { + if (strtolower($key) != 'email') + { + continue; + } + + // Email field found! + $this->lead->email = $value; + + // Remove the parameter in order to avoid sending the email value twice + unset($this->lead->params[$key]); + } + + // If no email field found, make a second attempt to find an email field by type + if (!isset($this->lead->email) || empty($this->lead->email)) + { + if (isset($this->lead->form->fields) && is_array($this->lead->form->fields)) + { + foreach ($this->lead->form->fields as $key => $field) + { + if ($field['type'] != 'email') + { + continue; + } + + if (!isset($this->lead->params[$field['name']])) + { + continue; + } + + // Email field found! + $this->lead->email = $this->lead->params[$field['name']]; + unset($this->lead->params[$field['name']]); + } + } + } + + // Make sure now we have found an email field + if (!isset($this->lead->email) || empty($this->lead->email)) + { + throw new \Exception(\JText::_('COM_CONVERTFORMS_FORM_IS_MISSING_THE_EMAIL_FIELD')); + } + } + + /** + * Loads Service Wrapper + * + * @return boolean + */ + protected function loadWrapper() + { + $wrapper = $this->getWrapperFile(); + + if (!\JFile::exists($wrapper)) + { + throw new \Exception('Wrapper ' . $wrapper . ' not found'); + } + + return include_once($wrapper); + } + + /** + * Returns Service Wrapper File + * + * @return string + */ + protected function getWrapperFile() + { + return JPATH_PLUGINS . $this->wrappersDir . $this->getName() . '.php'; + } + + /** + * Returns form.xml file path + * + * @return string + */ + private function getForm() + { + $xml = JPATH_PLUGINS . '/convertforms/' . $this->getName() . '/form.xml'; + + if (!\JFile::exists($xml)) + { + throw new \Exception('XML file is missing: ' . $xml); + } + + return $xml; + } + + /** + * Insensitive search for array key + * + * @param string $name The array key to search for + * @param array $array The array + * + * @return mixed False if not found, string if found + */ + public function findKey($name, $array) + { + $result = false; + + foreach ($array as $key => $value) + { + if (strtolower($key) == $name) + { + $result = $value; + break; + } + } + + return $result; + } + + /** + * Get plugin name alias + * + * @return string + */ + public function getName() + { + return isset($this->name) ? $this->name : $this->_name; + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/SmartTags.php b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/SmartTags.php index 0f52cc5f..d79c2937 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/SmartTags.php +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/SmartTags.php @@ -1,102 +1,102 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -namespace ConvertForms; - -use ConvertForms\Helper; -use ConvertForms\Form; - -defined('_JEXEC') or die(); - -class SmartTags -{ - public static function replace($string, $submission = null, $form_id = null) - { - // Setup Submission Tags - $localTagsGroups = []; - - if (is_object($submission)) - { - $form_id = is_null($form_id) ? $submission->form_id : $form_id; - $localTagsGroups = array_merge($localTagsGroups, Submission::getSmartTags($submission)); - } - - $localTagsGroups['submissions']['count'] = $form_id ? Helper::getFormLeadsCount($form_id) : '0'; - - // Add Submission Tags to collection - $smartTags = new \NRFramework\SmartTags(); - foreach ($localTagsGroups as $key => $localTagsGroup) - { - $prefix = empty($key) ? null : $key . '.'; - $smartTags->add($localTagsGroup, $prefix); - } - - $result = $smartTags->replace($string); - - // Temporary fix for duplicate site URL. - // Since v2.8.0 that we don't force absoluste URLs in the editors, we may don't need to fix duplicate site URL on the fly any longer. - // We need to keep it though for a while to prevent backwards compatibility issues. - $result = self::fixDuplicateSiteURL($result); - - return $result; - } - - /** - * In TinyMCE we are forcing absolute URLs (relative_urls=false). This means that the editors prefixes all 'src' and 'href' properties - * with the site's base URL. If we try to use a File Upload Field Smart Tag in a link like in the example below: - * - * Download File - * - * The editor will transform the link into - * - * Download File - * - * Even though since v2.7.4 we store the relative path instead of the absolute URL in the database, this issue is not resolved as the relative path - * is transformed into an absolute URL by the prepareValue() method before the value arrives in this method. - * - * @param string $string - * - * @return string - */ - private static function fixDuplicateSiteURL($subject) - { - if (is_string($subject) && strpos($subject, 'http') !== false) - { - $domain = \JFactory::getApplication()->input->server->get('HTTP_HOST', '', 'STRING'); - /** - * $domain returns www.site.com - * The regex below will not be able to find the duplicate URL given the $subject: - * https://site.com/https://www.site.com/path/to/file - * Once we drop the "www." part from $domain, we will be able to successfully find and replace the duplicate URL. - */ - $domain = str_replace('www.', '', $domain); - return preg_replace('#http(s)?:\/\/(.*?)' . $domain . '(.*?)\/http#', 'http', $subject); - } - - if (is_array($subject)) - { - foreach ($subject as $key => &$item) - { - if (!is_string($item)) - { - continue; - } - - $item = self::fixDuplicateSiteURL($item); - } - } - - return $subject; - } -} - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +namespace ConvertForms; + +use ConvertForms\Helper; +use ConvertForms\Form; + +defined('_JEXEC') or die(); + +class SmartTags +{ + public static function replace($string, $submission = null, $form_id = null) + { + // Setup Submission Tags + $localTagsGroups = []; + + if (is_object($submission)) + { + $form_id = is_null($form_id) ? $submission->form_id : $form_id; + $localTagsGroups = array_merge($localTagsGroups, Submission::getSmartTags($submission)); + } + + $localTagsGroups['submissions']['count'] = $form_id ? Helper::getFormLeadsCount($form_id) : '0'; + + // Add Submission Tags to collection + $smartTags = new \NRFramework\SmartTags(); + foreach ($localTagsGroups as $key => $localTagsGroup) + { + $prefix = empty($key) ? null : $key . '.'; + $smartTags->add($localTagsGroup, $prefix); + } + + $result = $smartTags->replace($string); + + // Temporary fix for duplicate site URL. + // Since v2.8.0 that we don't force absoluste URLs in the editors, we may don't need to fix duplicate site URL on the fly any longer. + // We need to keep it though for a while to prevent backwards compatibility issues. + $result = self::fixDuplicateSiteURL($result); + + return $result; + } + + /** + * In TinyMCE we are forcing absolute URLs (relative_urls=false). This means that the editors prefixes all 'src' and 'href' properties + * with the site's base URL. If we try to use a File Upload Field Smart Tag in a link like in the example below: + * + * Download File + * + * The editor will transform the link into + * + * Download File + * + * Even though since v2.7.4 we store the relative path instead of the absolute URL in the database, this issue is not resolved as the relative path + * is transformed into an absolute URL by the prepareValue() method before the value arrives in this method. + * + * @param string $string + * + * @return string + */ + private static function fixDuplicateSiteURL($subject) + { + if (is_string($subject) && strpos($subject, 'http') !== false) + { + $domain = \JFactory::getApplication()->input->server->get('HTTP_HOST', '', 'STRING'); + /** + * $domain returns www.site.com + * The regex below will not be able to find the duplicate URL given the $subject: + * https://site.com/https://www.site.com/path/to/file + * Once we drop the "www." part from $domain, we will be able to successfully find and replace the duplicate URL. + */ + $domain = str_replace('www.', '', $domain); + return preg_replace('#http(s)?:\/\/(.*?)' . $domain . '(.*?)\/http#', 'http', $subject); + } + + if (is_array($subject)) + { + foreach ($subject as $key => &$item) + { + if (!is_string($item)) + { + continue; + } + + $item = self::fixDuplicateSiteURL($item); + } + } + + return $subject; + } +} + ?> \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/addons.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/addons.xml index 12f9cc4e..498d210c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/addons.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/addons.xml @@ -1,108 +1,108 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field.xml index ba2c1b4d..dea52899 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field.xml @@ -1,63 +1,63 @@ - -
        -
        - - - - - - -
        -
        - - - - - - - - - - - - -
        + + +
        + + + + + + +
        +
        + + + + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/checkbox.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/checkbox.xml index 803bec83..d70ef72d 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/checkbox.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/checkbox.xml @@ -1,20 +1,20 @@ - -
        -
        - -
        -
        - - - - - - -
        + + +
        + +
        +
        + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/divider.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/divider.xml index adbb2484..204a075e 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/divider.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/divider.xml @@ -1,39 +1,39 @@ - -
        -
        - - - - - - - - - -
        + + +
        + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/dropdown.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/dropdown.xml index 6e626fec..4845cba7 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/dropdown.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/dropdown.xml @@ -1,9 +1,9 @@ - -
        -
        - -
        + + +
        + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/editor.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/editor.xml index a53e1beb..440f54d7 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/editor.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/editor.xml @@ -1,58 +1,58 @@ - -
        -
        - - - - -
        -
        - - - - - -
        -
        - - - - -
        + + +
        + + + + +
        +
        + + + + + +
        +
        + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/email.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/email.xml index 6a0868df..df162a65 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/email.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/email.xml @@ -1,15 +1,15 @@ - -
        -
        - -
        -
        - -
        + + +
        + +
        +
        + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/emptyspace.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/emptyspace.xml index 21de89bd..c5f02fae 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/emptyspace.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/emptyspace.xml @@ -1,12 +1,12 @@ - -
        -
        - -
        + + +
        + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/fileupload.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/fileupload.xml index da6d6c07..507217af 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/fileupload.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/fileupload.xml @@ -1,48 +1,48 @@ - -
        -
        - - - - - - - - - - - - - - -
        + + +
        + + + + + + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/hcaptcha.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/hcaptcha.xml index fe593315..2b06190a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/hcaptcha.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/hcaptcha.xml @@ -1,28 +1,28 @@ - -
        -
        - - - - - - - - - - - - -
        + + +
        + + + + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/heading.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/heading.xml index ef8a93a5..2f52b46b 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/heading.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/heading.xml @@ -1,67 +1,67 @@ - -
        -
        - - - - - - - - - - - - - - - - - - - - - - -
        + + +
        + + + + + + + + + + + + + + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/number.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/number.xml index c99bddda..fe3ef8cf 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/number.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/number.xml @@ -1,25 +1,25 @@ - -
        -
        - - - -
        -
        - -
        + + +
        + + + +
        +
        + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/radio.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/radio.xml index 803bec83..d70ef72d 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/radio.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/radio.xml @@ -1,20 +1,20 @@ - -
        -
        - -
        -
        - - - - - - -
        + + +
        + +
        +
        + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptcha.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptcha.xml index 58130637..5ef4b4c4 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptcha.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptcha.xml @@ -1,19 +1,19 @@ - -
        -
        - - - - - - - - -
        + + +
        + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptchav2invisible.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptchav2invisible.xml index 456f5440..f43e550c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptchav2invisible.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/recaptchav2invisible.xml @@ -1,13 +1,13 @@ - -
        -
        - - - - - -
        + + +
        + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/submit.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/submit.xml index 60ad7bdf..bf472d08 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/submit.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/submit.xml @@ -1,78 +1,78 @@ - -
        -
        - - - - - - - - - - - - - - - - - - - -
        + + +
        + + + + + + + + + + + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/textarea.xml b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/textarea.xml index 8bc058cd..8952b82d 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/textarea.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/ConvertForms/xml/field/textarea.xml @@ -1,56 +1,56 @@ - -
        -
        - -
        -
        - - - - - -
        -
        - - - - - - - - - -
        + + +
        + +
        +
        + + + + + +
        +
        + + + + + + + + + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/config.xml b/deployed/convertforms/administrator/components/com_convertforms/config.xml index 3bf5ec8d..b3acc198 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/config.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/config.xml @@ -1,103 +1,103 @@ - - -
        - - - - - - - - - - - - - - - - - -
        -
        - - - - - - - - - -
        -
        - - - - - - - - - -
        -
        - - - - - - -
        -
        - - -
        -
        - -
        + + +
        + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + + +
        +
        + + + + + + + + + +
        +
        + + + + + + +
        +
        + + +
        +
        + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/controller.php b/deployed/convertforms/administrator/components/com_convertforms/controller.php index 8bee724c..a2164ad4 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/controller.php +++ b/deployed/convertforms/administrator/components/com_convertforms/controller.php @@ -1,21 +1,21 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -/** - * Convert Forms master display controller. - */ -class ConvertFormsController extends JControllerLegacy -{ - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +/** + * Convert Forms master display controller. + */ +class ConvertFormsController extends JControllerLegacy +{ + } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/controllers/addons.php b/deployed/convertforms/administrator/components/com_convertforms/controllers/addons.php index 26e04ab8..dfb1b6d8 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/controllers/addons.php +++ b/deployed/convertforms/administrator/components/com_convertforms/controllers/addons.php @@ -1,40 +1,40 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla controlleradmin library -jimport('joomla.application.component.controlleradmin'); - -/** - * Addons list controller class. - */ -class ConvertFormsControllerAddons extends JControllerAdmin -{ - protected $text_prefix = 'COM_CONVERTFORMS_ADDONS'; - - /** - * Method to get a model object, loading it if required. - * - * @param string $name The model name. Optional. - * @param string $prefix The class prefix. Optional. - * @param array $config Configuration array for model. Optional. - * - * @return JModelLegacy The model. - * - * @since 1.6 - */ - public function getModel($name = 'Addon', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) - { - return parent::getModel($name, $prefix, $config); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla controlleradmin library +jimport('joomla.application.component.controlleradmin'); + +/** + * Addons list controller class. + */ +class ConvertFormsControllerAddons extends JControllerAdmin +{ + protected $text_prefix = 'COM_CONVERTFORMS_ADDONS'; + + /** + * Method to get a model object, loading it if required. + * + * @param string $name The model name. Optional. + * @param string $prefix The class prefix. Optional. + * @param array $config Configuration array for model. Optional. + * + * @return JModelLegacy The model. + * + * @since 1.6 + */ + public function getModel($name = 'Addon', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) + { + return parent::getModel($name, $prefix, $config); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/controllers/campaigns.php b/deployed/convertforms/administrator/components/com_convertforms/controllers/campaigns.php index 2128d0a8..3e0a4fc8 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/controllers/campaigns.php +++ b/deployed/convertforms/administrator/components/com_convertforms/controllers/campaigns.php @@ -1,75 +1,75 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla controlleradmin library -jimport('joomla.application.component.controlleradmin'); - -/** - * Campaigns list controller class. - */ -class ConvertFormsControllerCampaigns extends JControllerAdmin -{ - protected $text_prefix = 'COM_CONVERTFORMS_CAMPAIGN'; - - /** - * Method to get a model object, loading it if required. - * - * @param string $name The model name. Optional. - * @param string $prefix The class prefix. Optional. - * @param array $config Configuration array for model. Optional. - * - * @return JModelLegacy The model. - * - * @since 1.6 - */ - public function getModel($name = 'Campaign', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) - { - return parent::getModel($name, $prefix, $config); - } - - /** - * Copy items specified by array cid and set Redirection to the list of items - * - * @return void - */ - function duplicate() - { - $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); - - // Get the model. - $model = $this->getModel('Campaign'); - - foreach ($ids as $id) - { - $model->copy($id); - } - - JFactory::getApplication(JText::sprintf('COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_COPIED', count($ids))); - JFactory::getApplication()->redirect('index.php?option=com_convertforms&view=campaigns'); - } - - /** - * Export campaign submissions specified by campaign ids - * - * @return void - */ - function export() - { - $ids = JFactory::getApplication()->input->get('cid', null, 'INT'); - - // Get the Conversions model - $model = $this->getModel('Conversions'); - $model->export(null, $ids); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla controlleradmin library +jimport('joomla.application.component.controlleradmin'); + +/** + * Campaigns list controller class. + */ +class ConvertFormsControllerCampaigns extends JControllerAdmin +{ + protected $text_prefix = 'COM_CONVERTFORMS_CAMPAIGN'; + + /** + * Method to get a model object, loading it if required. + * + * @param string $name The model name. Optional. + * @param string $prefix The class prefix. Optional. + * @param array $config Configuration array for model. Optional. + * + * @return JModelLegacy The model. + * + * @since 1.6 + */ + public function getModel($name = 'Campaign', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) + { + return parent::getModel($name, $prefix, $config); + } + + /** + * Copy items specified by array cid and set Redirection to the list of items + * + * @return void + */ + function duplicate() + { + $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); + + // Get the model. + $model = $this->getModel('Campaign'); + + foreach ($ids as $id) + { + $model->copy($id); + } + + JFactory::getApplication(JText::sprintf('COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_COPIED', count($ids))); + JFactory::getApplication()->redirect('index.php?option=com_convertforms&view=campaigns'); + } + + /** + * Export campaign submissions specified by campaign ids + * + * @return void + */ + function export() + { + $ids = JFactory::getApplication()->input->get('cid', null, 'INT'); + + // Get the Conversions model + $model = $this->getModel('Conversions'); + $model->export(null, $ids); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/controllers/conversions.php b/deployed/convertforms/administrator/components/com_convertforms/controllers/conversions.php index ab49d02d..437201a1 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/controllers/conversions.php +++ b/deployed/convertforms/administrator/components/com_convertforms/controllers/conversions.php @@ -1,53 +1,53 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla controlleradmin library -jimport('joomla.application.component.controlleradmin'); - -/** - * Conversions list controller class. - */ -class ConvertFormsControllerConversions extends JControllerAdmin -{ - protected $text_prefix = 'COM_CONVERTFORMS_SUBMISSION'; - - /** - * Method to get a model object, loading it if required. - * - * @param string $name The model name. Optional. - * @param string $prefix The class prefix. Optional. - * @param array $config Configuration array for model. Optional. - * - * @return JModelLegacy The model. - * - * @since 1.6 - */ - public function getModel($name = 'Conversion', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) - { - return parent::getModel($name, $prefix, $config); - } - - /** - * Export Method - * Export the selected items specified by id - */ - public function export() - { - $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); - - // Get the model. - $model = $this->getModel('Conversions'); - $model->export($ids); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla controlleradmin library +jimport('joomla.application.component.controlleradmin'); + +/** + * Conversions list controller class. + */ +class ConvertFormsControllerConversions extends JControllerAdmin +{ + protected $text_prefix = 'COM_CONVERTFORMS_SUBMISSION'; + + /** + * Method to get a model object, loading it if required. + * + * @param string $name The model name. Optional. + * @param string $prefix The class prefix. Optional. + * @param array $config Configuration array for model. Optional. + * + * @return JModelLegacy The model. + * + * @since 1.6 + */ + public function getModel($name = 'Conversion', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) + { + return parent::getModel($name, $prefix, $config); + } + + /** + * Export Method + * Export the selected items specified by id + */ + public function export() + { + $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); + + // Get the model. + $model = $this->getModel('Conversions'); + $model->export($ids); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/controllers/export.php b/deployed/convertforms/administrator/components/com_convertforms/controllers/export.php index 4b01d662..e7cab124 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/controllers/export.php +++ b/deployed/convertforms/administrator/components/com_convertforms/controllers/export.php @@ -1,85 +1,85 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla controlleradmin library -jimport('joomla.application.component.controlleradmin'); - -/** - * Export controller class. - */ -class ConvertFormsControllerExport extends JControllerAdmin -{ - /** - * Used by the export form to submit the data - * - * @return void - */ - public function export() - { - JSession::checkToken('request') or die(JText::_('JINVALID_TOKEN')); - - $app = JFactory::getApplication(); - $input = $app->input; - - $tz = new \DateTimeZone($app->getCfg('offset', 'GMT')); - $date = \JFactory::getDate()->setTimezone($tz)->format('YmdHis', true); - $filename = 'convertforms_submissions_' . $date . '.' . $input->get('export_type'); - - $options = $input->getArray(); - $options['filter_id'] = $input->get('filter_id', null, 'RAW'); // Allow commas - $options['filename'] = $input->get('filename', $filename); - - $app->redirect('index.php?option=com_convertforms&view=export&layout=progress&' . http_build_query(array_filter($options))); - } - - /** - * Force download of the exported file - * - * @return void - */ - public function download() - { - if (!$filename = JFactory::getApplication()->input->get('filename', '', 'RAW')) - { - throw new Exception('Invalid filename'); - } - - $filename = NRFramework\File::getTempFolder() . $filename; - - if (!JFile::exists($filename)) - { - throw new Exception('Invalid filename'); - } - - error_reporting(0); - - // Send the appropriate headers to force the download in the browser - header('Content-Description: File Transfer'); - header('Content-Type: application/octet-stream'); - header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); - header('Expires: 0'); - header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); - header("Cache-Control: public", false); - header('Pragma: public'); - header('Content-Length: ' . @filesize($filename)); - - // Read exported file to buffer - readfile($filename); - - // Don't leave any clues on the server. Delete the file. - JFile::delete($filename); - - jexit(); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla controlleradmin library +jimport('joomla.application.component.controlleradmin'); + +/** + * Export controller class. + */ +class ConvertFormsControllerExport extends JControllerAdmin +{ + /** + * Used by the export form to submit the data + * + * @return void + */ + public function export() + { + JSession::checkToken('request') or die(JText::_('JINVALID_TOKEN')); + + $app = JFactory::getApplication(); + $input = $app->input; + + $tz = new \DateTimeZone($app->getCfg('offset', 'GMT')); + $date = \JFactory::getDate()->setTimezone($tz)->format('YmdHis', true); + $filename = 'convertforms_submissions_' . $date . '.' . $input->get('export_type'); + + $options = $input->getArray(); + $options['filter_id'] = $input->get('filter_id', null, 'RAW'); // Allow commas + $options['filename'] = $input->get('filename', $filename); + + $app->redirect('index.php?option=com_convertforms&view=export&layout=progress&' . http_build_query(array_filter($options))); + } + + /** + * Force download of the exported file + * + * @return void + */ + public function download() + { + if (!$filename = JFactory::getApplication()->input->get('filename', '', 'RAW')) + { + throw new Exception('Invalid filename'); + } + + $filename = NRFramework\File::getTempFolder() . $filename; + + if (!JFile::exists($filename)) + { + throw new Exception('Invalid filename'); + } + + error_reporting(0); + + // Send the appropriate headers to force the download in the browser + header('Content-Description: File Transfer'); + header('Content-Type: application/octet-stream'); + header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); + header('Expires: 0'); + header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Cache-Control: public", false); + header('Pragma: public'); + header('Content-Length: ' . @filesize($filename)); + + // Read exported file to buffer + readfile($filename); + + // Don't leave any clues on the server. Delete the file. + JFile::delete($filename); + + jexit(); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/controllers/forms.php b/deployed/convertforms/administrator/components/com_convertforms/controllers/forms.php index dd0ab482..aa8e8149 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/controllers/forms.php +++ b/deployed/convertforms/administrator/components/com_convertforms/controllers/forms.php @@ -1,95 +1,95 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla controlleradmin library -jimport('joomla.application.component.controlleradmin'); - -class ConvertformsControllerForms extends JControllerAdmin -{ - protected $text_prefix = 'COM_CONVERTFORMS_FORM'; - - /** - * Proxy for getModel. - * @since 2.5 - */ - public function getModel($name = 'form', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) - { - return parent::getModel($name, $prefix, $config); - } - - /** - * Import Method - * Set layout to import - */ - public function import() - { - $app = JFactory::getApplication(); - - $file = $app->input->files->get("file"); - - if (!empty($file)) - { - if (isset($file['name'])) - { - // Get the model. - $model = $this->getModel('Forms'); - $model_item = $this->getModel('Form'); - $model->import($model_item); - } - else - { - $app->enqueueMessage(JText::_('NR_PLEASE_CHOOSE_A_VALID_FILE'), 'error'); - $app->redirect('index.php?option=com_convertforms&view=forms&layout=import'); - } - } - else - { - $app->redirect('index.php?option=com_convertforms&view=forms&layout=import'); - } - } - - /** - * Export Method - * Export the selected items specified by id - */ - public function export() - { - $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); - - // Get the model. - $model = $this->getModel('Forms'); - $model->export($ids); - } - - /** - * Copy Method - * Copy all items specified by array cid - * and set Redirection to the list of items - */ - public function duplicate() - { - $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); - - // Get the model. - $model = $this->getModel('Form'); - - foreach ($ids as $id) - { - $model->copy($id); - } - - JFactory::getApplication(JText::sprintf('COM_CONVERTFORMS_FORM_N_ITEMS_COPIED', count($ids))); - JFactory::getApplication()->redirect('index.php?option=com_convertforms&view=forms'); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla controlleradmin library +jimport('joomla.application.component.controlleradmin'); + +class ConvertformsControllerForms extends JControllerAdmin +{ + protected $text_prefix = 'COM_CONVERTFORMS_FORM'; + + /** + * Proxy for getModel. + * @since 2.5 + */ + public function getModel($name = 'form', $prefix = 'ConvertFormsModel', $config = array('ignore_request' => true)) + { + return parent::getModel($name, $prefix, $config); + } + + /** + * Import Method + * Set layout to import + */ + public function import() + { + $app = JFactory::getApplication(); + + $file = $app->input->files->get("file"); + + if (!empty($file)) + { + if (isset($file['name'])) + { + // Get the model. + $model = $this->getModel('Forms'); + $model_item = $this->getModel('Form'); + $model->import($model_item); + } + else + { + $app->enqueueMessage(JText::_('NR_PLEASE_CHOOSE_A_VALID_FILE'), 'error'); + $app->redirect('index.php?option=com_convertforms&view=forms&layout=import'); + } + } + else + { + $app->redirect('index.php?option=com_convertforms&view=forms&layout=import'); + } + } + + /** + * Export Method + * Export the selected items specified by id + */ + public function export() + { + $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); + + // Get the model. + $model = $this->getModel('Forms'); + $model->export($ids); + } + + /** + * Copy Method + * Copy all items specified by array cid + * and set Redirection to the list of items + */ + public function duplicate() + { + $ids = JFactory::getApplication()->input->get('cid', array(), 'array'); + + // Get the model. + $model = $this->getModel('Form'); + + foreach ($ids as $id) + { + $model->copy($id); + } + + JFactory::getApplication(JText::sprintf('COM_CONVERTFORMS_FORM_N_ITEMS_COPIED', count($ids))); + JFactory::getApplication()->redirect('index.php?option=com_convertforms&view=forms'); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/convertforms.php b/deployed/convertforms/administrator/components/com_convertforms/convertforms.php index 5c073f0e..15e60368 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/convertforms.php +++ b/deployed/convertforms/administrator/components/com_convertforms/convertforms.php @@ -1,71 +1,71 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// Load Framework -if (!@include_once(JPATH_PLUGINS . '/system/nrframework/autoload.php')) -{ - throw new RuntimeException('Novarain Framework is not installed', 500); -} - -$app = JFactory::getApplication(); - -// Access check. -if (!JFactory::getUser()->authorise('core.manage', 'com_convertforms')) -{ - $app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); - return; -} - -use NRFramework\Functions; -use NRFramework\Extension; - -// Load framework's and component's language files -Functions::loadLanguage(); -Functions::loadLanguage('com_convertforms'); -Functions::loadLanguage('plg_system_convertforms'); - -// Initialize Convert Forms Library -require_once JPATH_ADMINISTRATOR . '/components/com_convertforms/autoload.php'; - -// Check required extensions -if (!Extension::pluginIsEnabled('nrframework')) -{ - $app->enqueueMessage(JText::sprintf('NR_EXTENSION_REQUIRED', JText::_('COM_CONVERTFORMS'), JText::_('PLG_SYSTEM_NRFRAMEWORK')), 'error'); -} - -if (!Extension::pluginIsEnabled('convertforms')) -{ - $app->enqueueMessage(JText::sprintf('NR_EXTENSION_REQUIRED', JText::_('COM_CONVERTFORMS'), JText::_('PLG_SYSTEM_CONVERTFORMS')), 'error'); -} - -if (!Extension::componentIsEnabled('ajax')) -{ - $app->enqueueMessage(JText::sprintf('NR_EXTENSION_REQUIRED', JText::_('COM_CONVERTFORMS'), 'Ajax Interface'), 'error'); -} - -// Load component's CSS/JS files -ConvertForms\Helper::loadassets(); - -if (defined('nrJ4')) -{ - JHtml::stylesheet('plg_system_nrframework/joomla4.css', ['relative' => true, 'version' => 'auto']); -} else -{ - JHtml::stylesheet('com_convertforms/joomla3.css', ['relative' => true, 'version' => 'auto']); -} - -// Perform the Request task -$controller = JControllerLegacy::getInstance('ConvertForms'); -$controller->execute($app->input->get('task')); + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// Load Framework +if (!@include_once(JPATH_PLUGINS . '/system/nrframework/autoload.php')) +{ + throw new RuntimeException('Novarain Framework is not installed', 500); +} + +$app = JFactory::getApplication(); + +// Access check. +if (!JFactory::getUser()->authorise('core.manage', 'com_convertforms')) +{ + $app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); + return; +} + +use NRFramework\Functions; +use NRFramework\Extension; + +// Load framework's and component's language files +Functions::loadLanguage(); +Functions::loadLanguage('com_convertforms'); +Functions::loadLanguage('plg_system_convertforms'); + +// Initialize Convert Forms Library +require_once JPATH_ADMINISTRATOR . '/components/com_convertforms/autoload.php'; + +// Check required extensions +if (!Extension::pluginIsEnabled('nrframework')) +{ + $app->enqueueMessage(JText::sprintf('NR_EXTENSION_REQUIRED', JText::_('COM_CONVERTFORMS'), JText::_('PLG_SYSTEM_NRFRAMEWORK')), 'error'); +} + +if (!Extension::pluginIsEnabled('convertforms')) +{ + $app->enqueueMessage(JText::sprintf('NR_EXTENSION_REQUIRED', JText::_('COM_CONVERTFORMS'), JText::_('PLG_SYSTEM_CONVERTFORMS')), 'error'); +} + +if (!Extension::componentIsEnabled('ajax')) +{ + $app->enqueueMessage(JText::sprintf('NR_EXTENSION_REQUIRED', JText::_('COM_CONVERTFORMS'), 'Ajax Interface'), 'error'); +} + +// Load component's CSS/JS files +ConvertForms\Helper::loadassets(); + +if (defined('nrJ4')) +{ + JHtml::stylesheet('plg_system_nrframework/joomla4.css', ['relative' => true, 'version' => 'auto']); +} else +{ + JHtml::stylesheet('com_convertforms/joomla3.css', ['relative' => true, 'version' => 'auto']); +} + +// Perform the Request task +$controller = JControllerLegacy::getInstance('ConvertForms'); +$controller->execute($app->input->get('task')); $controller->redirect(); \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/convertforms.xml b/deployed/convertforms/administrator/components/com_convertforms/convertforms.xml index 1f1acd37..185fa5fc 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/convertforms.xml +++ b/deployed/convertforms/administrator/components/com_convertforms/convertforms.xml @@ -1,75 +1,75 @@ - - - COM_CONVERTFORMS - COM_CONVERTFORMS_DESC - 3.0.0 - September 2016 - Tassos Marinos - info@tassos.gr - http://www.tassos.gr - Copyright © 2020 Tassos Marinos All Rights Reserved - http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL - script.install.php - sql/convertforms.sql - sql/uninstall.convertforms.sql - sql/updates/mysql - - - https://static.tassos.gr/update/convertformsfree?type=.xml - - - - controller.php - convertforms.php - controllers - models - views - - - COM_CONVERTFORMS - - - NR_DASHBOARD - - - COM_CONVERTFORMS_FORMS - - - COM_CONVERTFORMS_CAMPAIGNS - - - COM_CONVERTFORMS_SUBMISSIONS - - - COM_CONVERTFORMS_ADDONS - - - - ConvertForms - controllers - language - layouts - models - sql - tables - views - access.xml - config.xml - controller.php - convertforms.php - script.install.helper.php - version.php - autoload.php - - - - css - js - img - templates - font - - - - free + + + COM_CONVERTFORMS + COM_CONVERTFORMS_DESC + 3.0.0 + September 2016 + Tassos Marinos + info@tassos.gr + http://www.tassos.gr + Copyright © 2020 Tassos Marinos All Rights Reserved + http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL + script.install.php + sql/convertforms.sql + sql/uninstall.convertforms.sql + sql/updates/mysql + + + https://static.tassos.gr/update/convertformsfree?type=.xml + + + + controller.php + convertforms.php + controllers + models + views + + + COM_CONVERTFORMS + + + NR_DASHBOARD + + + COM_CONVERTFORMS_FORMS + + + COM_CONVERTFORMS_CAMPAIGNS + + + COM_CONVERTFORMS_SUBMISSIONS + + + COM_CONVERTFORMS_ADDONS + + + + ConvertForms + controllers + language + layouts + models + sql + tables + views + access.xml + config.xml + controller.php + convertforms.php + script.install.helper.php + version.php + autoload.php + + + + css + js + img + templates + font + + + + free \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/language/bg-BG/bg-BG.com_convertforms.ini b/deployed/convertforms/administrator/components/com_convertforms/language/bg-BG/bg-BG.com_convertforms.ini index eb7b3ee7..f874ee51 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/language/bg-BG/bg-BG.com_convertforms.ini +++ b/deployed/convertforms/administrator/components/com_convertforms/language/bg-BG/bg-BG.com_convertforms.ini @@ -1,605 +1,605 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -CONVERTFORMS="Convert Forms" -COM_CONVERTFORMS="Convert Forms" -COM_CONVERTFORMS_DESIGN="Дизайн" -COM_CONVERTFORMS_BEHAVIOR="Поведение" -COM_CONVERTFORMS_LIST="Списък" -COM_CONVERTFORMS_NO_RESULTS_FOUND="Няма резултати за %s" -COM_CONVERTFORMS_CREATE_NEW="Създайте нова?" -COM_CONVERTFORMS_EMAIL_ASCENDING="Имейл възходящо" -COM_CONVERTFORMS_EMAIL_DESCENDING="Имейл низходящо" -COM_CONVERTFORMS_ACTIONS="Действия" -COM_CONVERTFORMS_VIEW_LEADS="Преглед на подадените заявки" -NRI_PLG_CONVERTFORMS="Convert Forms плъгин" -COM_CONVERTFORMS_CONFIGURATION="Конфигурация Convert Forms" -COM_CONVERTFORMS_LOADCSS="Зареди css-стилове" -COM_CONVERTFORMS_LOADCSS_DESC="Изберете, за да заредите стиловете към разширенията. Или деактивирйате това, ако поставите свои стилове в свой css-файл, или например в поле за персонализиран код 'Custom Code', или в css стиловете на темплейта." -COM_CONVERTFORMS_DEBUG="Отстраняване на грешки" -COM_CONVERTFORMS_DEBUG_DESC="Активирайте тази опция, за да започнете отстраняване нагрешки и неочаквано поведение. Съобщенията за грешки ще се появяват в конзолата на вашия браузър (натиснете F12) и към папката Logs." -COM_CONVERTFORMS_FORMS="Формуляри" -COM_CONVERTFORMS_FORM="Формуляр" -COM_CONVERTFORMS_NEW_FORM="Нов формуляр" -COM_CONVERTFORMS_EDIT_FORM="Редактирай формуляр" -COM_CONVERTFORMS_FORM_N_ITEMS_COPIED="%s формуляри са копирани" -COM_CONVERTFORMS_FORM_N_ITEMS_PUBLISHED="%s формуляри са публикувани" -COM_CONVERTFORMS_FORM_N_ITEMS_UNPUBLISHED="%s формуляри са непубликувани" -COM_CONVERTFORMS_FORM_N_ITEMS_TRASHED="%s формуляри са в кошчето" -COM_CONVERTFORMS_FORM_N_ITEMS_DELETED="%s формуляри са изтрити" -COM_CONVERTFORMS_FORM_ASCENDING="Формуляр възходящо" -COM_CONVERTFORMS_FORM_DESCENDING="Формуляр низходящо" -COM_CONVERTFORMS_FORM_SELECT="- Избери формуляр - " -COM_CONVERTFORMS_FORM_CREATE_MODULE="Публикуване, създаване на модул" -COM_CONVERTFORMS_FORM_LEADS="Досега този формуляр има общо %s подадени заявки" -COM_CONVERTFORMS_FORM_CLIPBOARD_SHORTCODE="Публикувай чрез шорткод %s" -COM_CONVERTFORMS_CAMPAIGN="Кампания" -COM_CONVERTFORMS_CAMPAIGNS="Кампании" -COM_CONVERTFORMS_NEW_CAMPAIGN="Нова кампания" -COM_CONVERTFORMS_EDIT_CAMPAIGN="Редактирай кампания" -COM_CONVERTFORMS_CAMPAIGNS_NAME_DESC="Въведете име на кампания. Това име ще бъде видимо само от вас." -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_COPIED="%s Кампании са копирани" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_UNPUBLISHED="%s Кампании са непубликувани" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_PUBLISHED="%s Кампании са публикувани" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_TRASHED="%s Кампании са в кошчето" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_DELETED="%s Кампании са изтрити" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_UNPUBLISHED="%s заявки са непубликувани" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_PUBLISHED="%s заявки са публикувани" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_TRASHED="%s заявки са в кошчето" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_DELETED="%s заявки са изтрити" -; COM_CONVERTFORMS_SUBMISSION_N_ITEMS_ARCHIVED="%s submissions archived" -COM_CONVERTFORMS_CAMPAIGN_ASCENDING="Кампании възходящо" -COM_CONVERTFORMS_CAMPAIGN_DESCENDING="Кампании низходящо" -COM_CONVERTFORMS_CAMPAIGN_SELECT="- Избери Кампания -" -COM_CONVERTFORMS_CAMPAIGN_CONFIRM_DESC="Запишете кампанията, за да може да настроите интеграция" -COM_CONVERTFORMS_CAMPAIGN_CHANGED="Кампанията е променена" -COM_CONVERTFORMS_CAMPAIGN_SYNC="Синхронизиране подаването на заявки" -COM_CONVERTFORMS_CAMPAIGN_SYNC_DESC="Изберете дали заявките да се синхронизират със софтуер на трети страни или да се събират само в базата данни. Забележка: Ако трябва да се интегрирате със софтуер на трети страни като MailChimp, Aweber, GetResponse, Active Campaign и т.н., моля, инсталирайте съответния аддон в секцията Addons." -COM_CONVERTFORMS_N_ITEMS_TRASHED="%s Кампании са изтрити" -COM_CONVERTFORMS_CHOOSE_SERVICE="Изберете услуга" -COM_CONVERTFORMS_PENDING_LEADS="Заявки в изчакване" -COM_CONVERTFORMS_SUBMISSIONS="Заявки" -COM_CONVERTFORMS_SUBMISSION="Заявка" -; COM_CONVERTFORMS_LATEST_SUBMISSIONS="Latest Submissions" -COM_CONVERTFORMS_SUBMISSION_CONFIRMED="Потвърдени" -COM_CONVERTFORMS_SUBMISSION_UNCONFIRMED="Непотвърдени" -COM_CONVERTFORMS_EDIT_CONVERSION="Редактирай заявка" -COM_CONVERTFORMS_SUBMISSION_INVALID="Заявката не е открита" -COM_CONVERTFORMS_NOT_AUTHORIZED="Не сте упълномощени за достъп до тази страница." -COM_CONVERTFORMS_LEADS_ASC="Заявки възходящо" -COM_CONVERTFORMS_LEADS_DESC="Заявки низходящо" -COM_CONVERTFORMS_LEADS_EXPORT="Експорт на заявките" -COM_CONVERTFORMS_ADDONS="Addons" -COM_CONVERTFORMS_INSTALL_ADDONS="Виж инсталираните Addons" -COM_CONVERTFORMS_ADDONS_MISSING_KEY="За да можете да инсталирате допълненията на Convert Forms Addons, ще трябва да въведете своя Ключ за изтегляне в настройките на Novarain Framework Plugin" -COM_CONVERTFORMS_ADDONS_DESC="Addons добавките разширяват функционалността на Convert Forms. С тези добавки можете да се свързвате с софтуери на трети страни, да интегрирате нови функции и да направите Convert Forms още по-мощен." -COM_CONVERTFORMS_LAST_YEAR="Миналата година" -COM_CONVERTFORMS_THIS_YEAR="Тази година" -COM_CONVERTFORMS_LAST_MONTH="Миналия месец" -COM_CONVERTFORMS_THIS_MONTH="Този месец" -COM_CONVERTFORMS_LAST_WEEK="Миналата седмица" -COM_CONVERTFORMS_THIS_WEEK="Тази седмица" -COM_CONVERTFORMS_LAST_7_DAYS="Предишните 7 дена" -COM_CONVERTFORMS_YESTERDAY="Вчера" -COM_CONVERTFORMS_TODAY="Днес" -COM_CONVERTFORMS_AVG_DAY="Средно за ден (този месец)" -COM_CONVERTFORMS_PROJECTION="Прогноза за този месец" -COM_CONVERTFORMS_TOTAL="Общо" -COM_CONVERTFORMS_CHOOSE_FILE="Изберете .cnvf файл" -COM_CONVERTFORMS_FORMS_NAME_DESC="Уникалното и описателно име ще ви помогне в бъдеще с появята си в таблото за управление, в анализи и т.н." -COM_CONVERTFORMS_BACKGROUND_IMAGE="Фоново изображение" -COM_CONVERTFORMS_IMAGE_DESC="Изберете фоново изображение" -COM_CONVERTFORMS_CUSTOM_URL="Персонализиран URL адрес" -COM_CONVERTFORMS_BACKGROUND_URL="URL адрес на фоново изображение" -COM_CONVERTFORMS_BACKGROUND_URL_DESC="Въведете персонализиран URL адрес за изображение" -COM_CONVERTFORMS_BACKGROUND_FILE="Фоново изображение" -COM_CONVERTFORMS_BACKGROUND_FILE_DESC="Изберете изображение за качване." -COM_CONVERTFORMS_BACKGROUND_IMAGE_DESC="Можете да предоставите изображение, което да се появи като фон зад формата. Изберете Качване, за да качите ново изображение или Персонализиран URL, за да изтеглите изображение от URL адрес. За да работи тази настройка, избраният цвят на фона трябва да е прозрачен." -COM_CONVERTFORMS_FORM_BUILDER="Строител на форми" -COM_CONVERTFORMS_FIELD_TYPE="Тип Поле" -COM_CONVERTFORMS_FIELD_TYPE_DESC="Атрибутът Тип на Поле определя типа на входящия елемент за показване." -COM_CONVERTFORMS_FIELD_LABEL="Етикет поле" -COM_CONVERTFORMS_FIELD_LABEL_DESC="Етикетът на полето определя етикет за входящ елемент." -; COM_CONVERTFORMS_FIELD_NAME="Field Name" -COM_CONVERTFORMS_FIELD_NAME_DESC="Указва името на входния елемент, който се използва за свързване с данните от формуляра след подаването му. Използвайте тази опция и за съпоставяне на полета от формата с интегрираните приложения." -COM_CONVERTFORMS_PLACEHOLDER_NAME="Текст подсказка" -COM_CONVERTFORMS_PLACEHOLDER_NAME_DESC="Текстът, който искате да бъде показан в полето, преди потребителят да въведе каквито и да е данни." -COM_CONVERTFORMS_REQUIRED_NAME="Задължително поле" -; COM_CONVERTFORMS_REQUIRED_NAME_DESC="If enabled, this will ensure that this field is completed before allowing the form to be submitted." -COM_CONVERTFORMS_FIELDS="Полета" -COM_CONVERTFORMS_FIELDS_FREE_NOTICE="Използвате безплатната версия, която поддържа само 1 имейл поле. Надстройте до Pro версия, за да можете да управлявате неограничен брой полета." -COM_CONVERTFORMS_GENERAL="Общи" -COM_CONVERTFORMS_FORM_TEXT_ALIGN="Подравняване на текст в Поле" -COM_CONVERTFORMS_FORM_TEXT_ALIGN_DESC="Подравняване на текст във формата" -COM_CONVERTFORMS_INPUT_COLOR="Поле цвят на текст" -COM_CONVERTFORMS_INPUT_BGCOLOR="Поле фонов цвят" -COM_CONVERTFORMS_INPUT_BORDER_COLOR="Поле цвят контур" -COM_CONVERTFORMS_SHADOW="Сянка" -COM_CONVERTFORMS_INPUT_SHADOW_DESC="Добавя вътрешна сянка към полето за въвеждане" -COM_CONVERTFORMS_INPUT_FONT_SIZE="Поле размер на шрифта" -COM_CONVERTFORMS_INPUT_FONT_SIZE_DESC="Поле размер на шрифта" -COM_CONVERTFORMS_VPADDING_SIZE="Вертикален отстъп" -COM_CONVERTFORMS_HPADDING_SIZE="Хоризонтален отстъп" -COM_CONVERTFORMS_BOX_WIDTH_TYPE="Макс. ширина поле" -COM_CONVERTFORMS_BOX_WIDTH_TYPE_DESC="Въведете максимална ширина по избор или направете това поле да покрие цялата площ на екрана. Обърнете внимание, че това е максималната ширина, което означава, че формулярът винаги ще се побира на по-малки площи." -COM_CONVERTFORMS_FORM_WIDTH="Персонализирана макс. ширина" -COM_CONVERTFORMS_FORM_WIDTH_DESC="Въведете максимална ширина по ваш избор." -COM_CONVERTFORMS_REMOVE_DEFAULT_PADDING="Премахване на подразбиращото се допълване на клетки" -COM_CONVERTFORMS_REMOVE_DEFAULT_PADDING_DESC="Премахване на подразбиращото се допълване на клетки между полето на съдържанието и краищата на полето на формата" -COM_CONVERTFORMS_FORM_BORDER_STYLE="Стил рамка" -COM_CONVERTFORMS_FORM_BORDER_STYLE_DESC="Приложи рамка около формата" -COM_CONVERTFORMS_FORM_BORDER_COLOR="Цвят на рамка" -COM_CONVERTFORMS_FORM_BORDER_COLOR_DESC="Цвят рамка на формата" -COM_CONVERTFORMS_FORM_BORDER_WIDTH="Ширина рамка" -COM_CONVERTFORMS_FORM_BORDER_WIDTH_DESC="Ширина рамка на формата" -COM_CONVERTFORMS_BOX_RADIUS="Радиус на полето" -COM_CONVERTFORMS_BORDER_RADIUS="Радиус на рамка" -COM_CONVERTFORMS_BORDER_RADIUS_DESC="Въведете стойност за радиус на рамка" -COM_CONVERTFORMS_COLLECT_LEADS_USING="Събиране на подадени заявки с помощта на Кампания" -COM_CONVERTFORMS_COLLECT_LEADS_USING_DESC="Изпратените данни, събрани от този формуляр, ще бъдат асоциирани с избраната кампания. Можете да управлявате кампаниите си в секцията Кампании." -COM_CONVERTFORMS_SUCCESSFUL_SUBMISSION="Успешно подаване" -COM_CONVERTFORMS_SUCCESSFUL_SUBMISSION_DESC="Изберете действието, което искате да се извърши, след успешно подаване" -COM_CONVERTFORMS_DISPLAY_MSG="Показване на съобщение" -COM_CONVERTFORMS_REDIRECT_USER="Пренасочване на потребителя" -COM_CONVERTFORMS_SUCCESS_TEXT="Съобщение след успешно подаване" -COM_CONVERTFORMS_SUCCESS_TEXT_DESC="Въведете съобщението, което искате да покажете на потребителя, след като бъде успешно добавен към списъка." -COM_CONVERTFORMS_SUCCESS_URL="URL пренасочване" -COM_CONVERTFORMS_SUCCESS_URL_DESC="Въведете URL адреса, на който искате да пренасочите потребителя, след като бъде успешно добавен към списъка." -COM_CONVERTFORMS_PASS_DATA="Предайте данните от формата към URL адреса за пренасочване" -COM_CONVERTFORMS_PASS_DATA_DESC="Предава данните от формата като query arguments към URL на пренасочване." -COM_CONVERTFORMS_SUBMIT_STYLE="Стил на бутона за изпращане" -COM_CONVERTFORMS_SUBMIT_STYLE_DESC="Оформете бутона с приятни ефекти." -COM_CONVERTFORMS_BTN_SHADOW_DESC="Добавя външна сянка към бутона" -COM_CONVERTFORMS_SUBMIT_HOVER_COLOR="Цвят на текста при задържане над него" -COM_CONVERTFORMS_SUBMIT_HOVER_COLOR_DESC="Цвят на текста при задържане над него" -COM_CONVERTFORMS_CUSTOM_CSS="Потребителски CSS" -COM_CONVERTFORMS_CUSTOM_CSS_DESC="Стилизирайте формата със собствен персонализиран CSS.

        За да ви помогне с оформянето, добавеният код в тази област се изпълнява и в бекенда." -COM_CONVERTFORMS_CLASS_SUFFIX="CSS клас суфикс" -COM_CONVERTFORMS_CLASS_SUFFIX_DESC="CSS клас суфикс" -COM_CONVERTFORMS_TEXTAREA_HEIGHT="Височина текстово поле" -COM_CONVERTFORMS_TEXTAREA_HEIGHT_DESC="Височината на текстовото поле указва видимата област в редове текс." -COM_CONVERTFORMS_CHOICES="Избор" -COM_CONVERTFORMS_CHOICES_DESC="Добавете допълнителни опции към това поле." -COM_CONVERTFORMS_FIELD_VALUE="Стойност по подразбиране" -COM_CONVERTFORMS_FIELD_VALUE_DESC="Въведете текста за полето по подразбиране." -COM_CONVERTFORMS_HIDE_LABELS="Скриване на етикет" -COM_CONVERTFORMS_HIDE_LABELS_DESC="Изберете тази опция, за да скриете етикета на полето на формата" -COM_CONVERTFORMS_IMAGE_SOURCE="Източник изображение" -COM_CONVERTFORMS_IMAGE_SOURCE_DESC="Можете да поставите изображение, което ще се появи сред съдържанието на формата. Изберете Качване, за да качите ново изображение или Потребителски URL адрес, за да въведете потребителски URL адрес." -COM_CONVERTFORMS_IMAGE_URL="URL на изображение" -COM_CONVERTFORMS_HIDE_IMAGE_ON_MOBILE="Скриване на изображението на малки екрани" -COM_CONVERTFORMS_HIDE_IMAGE_ON_MOBILE_DESC="На по-малки екрани като мобилни, по-малките модалности изглеждат по-добре. За да намалите размера на модала, можете да скриете изображението с тази настройка." -COM_CONVERTFORMS_HORIZONTAL_POSITION="Хоризонтална позиция" -COM_CONVERTFORMS_HORIZONTAL_POSITION_DESC="Хоризонтална позиция" -COM_CONVERTFORMS_VERTICAL_POSITION="Вертикално положение" -COM_CONVERTFORMS_VERTICAL_POSITION_DESC="Вертикална позиция" -COM_CONVERTFORMS_IMAGE_WIDTH_TYPE="Ширина на изображението" -COM_CONVERTFORMS_IMAGE_WIDTH_TYPE_DESC="Задайте ширина на изображението" -COM_CONVERTFORMS_BUTTON_ALIGN="Подравняване на бутони" -COM_CONVERTFORMS_FORM_POSITION="Позиция на формата" -COM_CONVERTFORMS_FORM_POSITION_DESC="Задайте позиция на формуляра спрямо контейнера с текст" -COM_CONVERTFORMS_FORM_SIZE="Размер на контейнера за форми" -COM_CONVERTFORMS_COLUMNS_DESC="Колко колони ще бъдат използвани. 6 колони заемат 50% от ширината." -COM_CONVERTFORMS_MESSAGE="Текстово съобщение" -COM_CONVERTFORMS_MESSAGE_DESC="Въведете текстовото съобщение на формуляра" -COM_CONVERTFORMS_IMAGE_POSITION="Позиция на изображението" -COM_CONVERTFORMS_IMAGE_POSITION_DESC="Позиция на изображението спрямо текста" -COM_CONVERTFORMS_FOOTER="Форма на долния колонтитул" -COM_CONVERTFORMS_BUTTON_TEXT="Техт бутон" -COM_CONVERTFORMS_BUTTON_TEXT_DESC="Текст за етикета на бутона" -COM_CONVERTFORMS_BTN_FONT_SIZE="Размер на текста в бутона" -COM_CONVERTFORMS_IMAGE_SIZE="Размер контейнер за изображения" -COM_CONVERTFORMS_BODY_FONT="Шрифтово семейство" -COM_CONVERTFORMS_BODY_FONT_DESC="Изберете шрифтово семейство за текстовете във формата. Имайте предвид, че зареждането на нестандартни шрифтове като Google Fonts може да повлияе на скоростта на уебсайта. Изберете По подразбиране, за да използвате шрифта по подразбиране на вашия уебсайт." -COM_CONVERTFORMS_EMAIL="Имейл" -COM_CONVERTFORMS_DATE="Дата" -COM_CONVERTFORMS_CREATED="Дата на създаване" -COM_CONVERTFORMS_SUBMISSION="Заявка" -COM_CONVERTFORMS_PREVIEW_SUCCESS="Показва съобщение за успех" -COM_CONVERTFORMS_PREVIEW_SIZE_DESKTOP="Тази версия ще се показва на екрани с размер 990px и по-високи" -COM_CONVERTFORMS_PREVIEW_SIZE_TABLET="Тази версия ще се показва на екрани с размер 768px - 990px" -COM_CONVERTFORMS_PREVIEW_SIZE_MOBILE="Тази версия ще се показва на екрани с размер 768px и по-малки" -COM_CONVERTFORMS_DEVICE_DESKTOP="Декстоп" -COM_CONVERTFORMS_DEVICE_TABLET="Таблет" -COM_CONVERTFORMS_DEVICE_MOBILE="Мобилен" -COM_CONVERTFORMS_RESET_FORM="Нулиране на формуляра" -COM_CONVERTFORMS_RESET_FORM_DESC="Нулиране на формуляра след успешно изпращане" -COM_CONVERTFORMS_HIDE_FORM="Скрий формуляр" -COM_CONVERTFORMS_HIDE_FORM_DESC="Скриване на формуляр след успешно изпращане" -COM_CONVERTFORMS_TEMPLATES="Шаблони" -COM_CONVERTFORMS_TEMPLATES_SELECT="Изберете шаблон" -COM_CONVERTFORMS_TEMPLATES_BLANK="Започни начисто" -COM_CONVERTFORMS_TEMPLATES_BLANK_DESC="Започни начисто и създай нов формуляр" -COM_CONVERTFORMS_TEMPLATE_GROUP_INLINE="В редица" -COM_CONVERTFORMS_TEMPLATE_GROUP_SIDEBAR="Странична лента" -COM_CONVERTFORMS_TEMPLATE_GROUP_BAR="Ленти" -COM_CONVERTFORMS_LABELS_COLOR="Цвят на текста на етикета" -COM_CONVERTFORMS_LABELS_FONT_SIZE="Размер на шрифта в етикета" -COM_CONVERTFORMS_IMAGE_ABOVE="На текста" -COM_CONVERTFORMS_IMAGE_BELOW="Под текста" -COM_CONVERTFORMS_IMAGE_RIGHT="В дясно от текста" -COM_CONVERTFORMS_IMAGE_LEFT="В ляво от текста" -COM_CONVERTFORMS_FLAT="Плосък" -COM_CONVERTFORMS_OUTLINE="Контур" -COM_CONVERTFORMS_GRADIENT="Градиент" -COM_CONVERTFORMS_EMAILS_DESC="Изпращане на известия по имейл, когато потребителите изпратят формуляр." -COM_CONVERTFORMS_EMAILS="Известия по имейл" -COM_CONVERTFORMS_EMAILS_REPLY_TO="Отговор към имейл" -COM_CONVERTFORMS_EMAILS_REPLY_TO_NAME="Отговор към Име" -COM_CONVERTFORMS_EMAILS_FROM_EMAIL="От имейл" -COM_CONVERTFORMS_EMAILS_FROM="Име формуляр" -COM_CONVERTFORMS_EMAILS_RECIPIENT="Изпрати към имейл" -COM_CONVERTFORMS_EMAILS_RECIPIENT_DESC="Въведете имейл адресите, на които желаете да получавате известия при изпращане на формуляра. За известия към множество имейли, моля отделете ги със запетая." -COM_CONVERTFORMS_EMAILS_SUBJECT="Тема на имейла" -COM_CONVERTFORMS_EMAILS_BODY="Съобщение" -COM_CONVERTFORMS_EMAILS_FREE_NOTE="Искате няколко известия?
        Надстройте до PRO, за да ги отключите." -COM_CONVERTFORMS_EMAILS_ATTACHMENT="Прикачени" -COM_CONVERTFORMS_EMAILS_ATTACHMENT_DESC="Местоположение на файл, който да прикачите към корена на уеб пространството ви. Използвайте запетая, за да определите няколко файла." -COM_CONVERTFORMS_ADDONS_MISSING_ADDON="Липсва ли ви добавка addon?" -COM_CONVERTFORMS_ADDONS_MISSING_ADDON_DESC="В случай че ви липсва добавка за интеграция за любимото ви приложение, моля, уведомете ни и ще се радваме да го включим в колекцията Convert Forms addons." -COM_CONVERTFORMS_API_ENABLE="Разреши JSON API" -COM_CONVERTFORMS_API_DESC="JSON API ви позволява да изтеглите Convert Forms съдържание, използвайки HTTP заявки." -COM_CONVERTFORMS_API_KEY="Таен ключ" -COM_CONVERTFORMS_API_KEY_DESC="Този секретен ключ се използва за удостоверяване на критични задачи като CRON Jobs и JSON API. Ако оставите полето празно, всички задачи, изискващи удостоверяване на потребителя, ще бъдат бъдат деактивирани." -COM_CONVERTFORMS_IMAGE_ALT="Alt-таг за изображение" -COM_CONVERTFORMS_IMAGE_ALT_DESC="Алтернативен текст към изображение" -COM_CONVERTFORMS_CUSTOM_CODE="Потребителски код" -COM_CONVERTFORMS_CUSTOM_CODE_DESC="Поставете потребителски код в края на формуляра. Приемат се HTML, CSS и Javascript.

        За Javascript не забравяйте да рамкирате кода с <script>.

        Добавеният код в тази област не се изпълнява в бекенда." -COM_CONVERTFORMS_ISSUES="проблеми" -COM_CONVERTFORMS_ISSUES_DETECTED="%s открити проблеми при изпращане" -COM_CONVERTFORMS_CREATED="Дата на създаване" -COM_CONVERTFORMS_MODIFIED="Дата на промяна" -COM_CONVERTFORMS_IP="IP адрес на подателя" -COM_CONVERTFORMS_USER_ID="ID на подателя" -COM_CONVERTFORMS_USER_USERNAME="Потребителско име на подателя" -COM_CONVERTFORMS_VISITOR_ID="ID на посетителя" -COM_CONVERTFORMS_FORM_NAME="Име формуляр" -COM_CONVERTFORMS_CAMPAIGN_NAME="Име Кампания" -COM_CONVERTFORMS_ID="ID" -COM_CONVERTFORMS_CHOOSE_COLUMNS="Колони" -COM_CONVERTFORMS_CHOOSE_COLUMNS_OPTIONS="За да активирате конкретни полета, първо изберете формуляр в лентата с филтри." -COM_CONVERTFORMS_UNTITLED_BOX="Формуляр без заглавие" -COM_CONVERTFORMS_SELECT_LAYOUT="Изберете макет" -COM_CONVERTFORMS_SHOW_LAYOUTS="Покажи макети" -COM_CONVERTFORMS_HIDE_LAYOUTS="Скриване на макети" -COM_CONVERTFORMS_FIELDS_COPY="Дублирай поле" -COM_CONVERTFORMS_FIELDS_DELETE="Изтрий поле" -COM_CONVERTFORMS_FIELDGROUP_COMMON="Основни полета" -COM_CONVERTFORMS_FIELDGROUP_FANCY="Подобрени полета" -COM_CONVERTFORMS_FIELDGROUP_ADVANCED="Полета за напреднали" -COM_CONVERTFORMS_FIELD_HTML="HTML" -COM_CONVERTFORMS_FIELD_HTML_DESC="Добавете свободен текст или HTML код. Без ограничение!" -COM_CONVERTFORMS_FIELD_TEXT="Текстово поле" -COM_CONVERTFORMS_FIELD_TEXT_DESC="Текстово поле с един ред" -COM_CONVERTFORMS_FIELD_TEXTAREA="Област текст" -COM_CONVERTFORMS_FIELD_TEXTAREA_DESC="Подобно на текстовото поле, но може да побере въвеждането на многоредов текст." -COM_CONVERTFORMS_FIELD_NUMBER="Номер" -COM_CONVERTFORMS_FIELD_NUMBER_DESC="Текстово поле, което приема само числа" -COM_CONVERTFORMS_FIELD_NUMBER_STEP="Стъпка" -COM_CONVERTFORMS_FIELD_NUMBER_STEP_DESC="Стъпка, с която стойността ще се промени при натискане на стрелка." -COM_CONVERTFORMS_FIELD_NUMBER_MIN="Минимална стойност" -COM_CONVERTFORMS_FIELD_NUMBER_MIN_DESC="Минималната стойност, която полето ще позволи" -COM_CONVERTFORMS_FIELD_NUMBER_MAX="Максимална стойност" -COM_CONVERTFORMS_FIELD_NUMBER_MAX_DESC="Максималната стойност, която полето ще позволи" -COM_CONVERTFORMS_FIELD_RECAPTCHA="reCAPTCHA" -COM_CONVERTFORMS_FIELD_RECAPTCHA_DESC="Спрете подаването на спам чрез Google reCAPTCHA" -COM_CONVERTFORMS_FIELD_RECAPTCHA_KEYS_NOTE="Моля, задайте вашия сайт и Secret key в страницата за конфигуриране." -COM_CONVERTFORMS_FIELD_RECAPTCHA_CONFIGURE="Конфигурирайте reCAPTCHA сега" -COM_CONVERTFORMS_FIELD_RECAPTCHA_THEME_DESC="Цветова тема на джаджа" -COM_CONVERTFORMS_FIELD_RECAPTCHA_SIZE_DESC="Размер на джаджа" -COM_CONVERTFORMS_FIELD_DROPDOWN="Падащ списък" -COM_CONVERTFORMS_FIELD_DROPDOWN_DESC="Списък, който позволява един избор от падащо меню" -COM_CONVERTFORMS_FIELD_RADIO="Радио бутони" -COM_CONVERTFORMS_FIELD_RADIO_DESC="Списък, който позволява един избор от радио бутоните" -COM_CONVERTFORMS_FIELD_URL="уебсайт / URL" -COM_CONVERTFORMS_FIELD_URL_DESC="Приемане правилно оформен URL адрес, който започва с http: // или с https: //" -COM_CONVERTFORMS_FIELD_URL_INVALID="Невалиден URL" -COM_CONVERTFORMS_FIELD_COUNTRY="Държава" -COM_CONVERTFORMS_FIELD_COUNTRY_DESC="Списък на известните държави" -COM_CONVERTFORMS_FIELD_COUNTRY_VALUE="Стойност държава" -COM_CONVERTFORMS_FIELD_COUNTRY_VALUE_DESC="Изберете дали искате да запазите името на държавата (България) или кода на държавата (BG) в базата данни." -COM_CONVERTFORMS_FIELD_COUNTRY_DETECT="Откриване на страната на посетителя" -COM_CONVERTFORMS_FIELD_COUNTRY_DETECT_DESC="Ако е активирано, формулярът ще се опита да открие и попълни страната на посетителя. Изисква да бъде инсталирана приставката TGeoIP." -COM_CONVERTFORMS_FIELD_COUNTRY_NAME="Име на държава" -COM_CONVERTFORMS_FIELD_COUNTRY_CODE="Код на държава" -COM_CONVERTFORMS_FIELD_COUNTRY_EXCLUDE="Изключи държави" -COM_CONVERTFORMS_FIELD_COUNTRY_EXCLUDE_DESC="Въведете разделени със запетая кодове на държави, за да ги изключите от падащото меню. Пример: US,UK,CN" -COM_CONVERTFORMS_FIELD_CURRENCY="Валута" -COM_CONVERTFORMS_FIELD_CURRENCY_DESC="Списък на известните валути" -COM_CONVERTFORMS_FIELD_SUBMIT="Бутон Изпрати" -COM_CONVERTFORMS_FIELD_SUBMIT_DESC="Бутонът, който ще изпрати формуляра" -COM_CONVERTFORMS_FIELD_HIDDEN="Скрито поле" -COM_CONVERTFORMS_FIELD_HIDDEN_DESC="Поле, което не се вижда от потребителя в сайта." -COM_CONVERTFORMS_FIELD_EMAIL="Имейл адрес" -COM_CONVERTFORMS_FIELD_EMAIL_DESC="Текстово поле, което приема само валиден имейл адрес" -COM_CONVERTFORMS_FIELD_TERMSOFSERVICE="Условия за ползване" -COM_CONVERTFORMS_FIELD_TERMSOFSERVICE_DESC="Изисква от потребителя да се съгласи с вашите Условия за ползване, преди да им бъде разрешено да изпратят формуляра" -COM_CONVERTFORMS_FIELD_TERMSOFSERVICE_TEXT_LABEL="Условия за ползване – текст" -COM_CONVERTFORMS_FIELD_TERMSOFSERVICE_TEXT_LABEL_DESC="Текстът, който се появява веднага след отметката" -COM_CONVERTFORMS_FIELD_CHECKBOX="Отметки чекбокс" -COM_CONVERTFORMS_FIELD_CHECKBOX_DESC="Списък, който позволява множество отметки в чекбокс квадратчетата" -COM_CONVERTFORMS_FIELD_REQUIRED="Задължително" -COM_CONVERTFORMS_FIELD_EMAIL_INVALID="Невалиден имейл адрес" -COM_CONVERTFORMS_FIELD_SIZE="Размер на полето" -COM_CONVERTFORMS_FIELD_SIZE_DESC="Изберете размер по подразбиране на поле" -COM_CONVERTFORMS_FIELD_TEL="Телефон" -COM_CONVERTFORMS_FIELD_TEL_DESC="Позволява потребителят да въведе телефонен номер." -COM_CONVERTFORMS_FIELD_DATETIME="Дата / Час" -COM_CONVERTFORMS_FIELD_DATETIME_DESC="Избор на дата/час, който позволява избор на една дата, няколко дати или диапазон по дати." -COM_CONVERTFORMS_FIELD_DATETIME_FORMAT="Формат на дата" -COM_CONVERTFORMS_FIELD_DATETIME_FORMAT_DESC="Формат на показваната дата. Примери:

        d/m/Y H: i
        Y-m-d
        m/d/YYY" -COM_CONVERTFORMS_FIELD_DATETIME_TIMEPICKER="Покажи Избор на час" -COM_CONVERTFORMS_FIELD_DATETIME_TIMEPICKER_DESC="Активира Избор на час. Ако е активирано, уверете се, че сте включили символите за време (H: i) в полето Формат ва дата." -COM_CONVERTFORMS_FIELD_DATETIME_MIN_DATE="Мин. Дата" -COM_CONVERTFORMS_FIELD_DATETIME_MIN_DATE_DESC="Минимална / най-ранната дата, разрешена за избор. Поддържа относителни формати като: днес, утре, +5 дена, +2 седмици / today, tomorrow, +5 day, +2 week" -COM_CONVERTFORMS_FIELD_DATETIME_MAX_DATE="Макс. Дата" -COM_CONVERTFORMS_FIELD_DATETIME_MAX_DATE_DESC="Максимална / последна дата, разрешена за избор. Поддържа относителни формати като: днес, утре, +5 дена, +2 седмици / today, tomorrow, +5 day, +2 week" -COM_CONVERTFORMS_FIELD_DATETIME_MODE="Режим на избор на дата" -COM_CONVERTFORMS_FIELD_DATETIME_MODE_DESC="Позволете на потребителя да избере една дата, няколко дати, или диапазон от дати." -COM_CONVERTFORMS_FIELD_DATETIME_TIME24="24 ч. формат" -COM_CONVERTFORMS_FIELD_DATETIME_TIME24_DESC="Показва избор на време в 24 часов режим без избор на AM/PM." -COM_CONVERTFORMS_FIELD_DATETIME_MINUTE_STEP="Стъпка минути" -COM_CONVERTFORMS_FIELD_DATETIME_MINUTE_STEP_DESC="Регулира стъпката за минути при Избор на час" -COM_CONVERTFORMS_FIELD_DATETIME_INLINE="Покажи на реда" -COM_CONVERTFORMS_FIELD_DATETIME_INLINE_DESC="Показва календара вътре във формуляра вместо като изскачащ прозорец." -COM_CONVERTFORMS_FIELD_DATETIME_THEME="Тема" -COM_CONVERTFORMS_FIELD_DATETIME_THEME_DESC="Избор тема на календар" -COM_CONVERTFORMS_FIELD_DATETIME_INVALID="Невалиден формат за дата - %s" -COM_CONVERTFORMS_FIELD_DATETIME_DISABLEMOBILE="Деактивирайте системния Избор на дата за мобилни устройства" -COM_CONVERTFORMS_FIELD_DATETIME_DISABLEMOBILE_DESC="Ако е поставено отметка, потребителите на мобилни устройства ще видят Избор на дата от Convert Form, вместо системния за устройството за избор на дата на интерфейс." -COM_CONVERTFORMS_CSS_CLASSES="CSS клас" -COM_CONVERTFORMS_CSS_CLASSES_DESC="Добавете CSS класове към контейнера за въвеждане. Това може да се използва предимно за целите на оформлението." -COM_CONVERTFORMS_INPUT_CSS_CLASSES="CSS клас, въвеждане " -COM_CONVERTFORMS_INPUT_CSS_CLASSES_DESC="Добавете CSS класове към въвеждащия елемент. Използвайте тази опция, за да стилизирате въвждането." -COM_CONVERTFORMS_DISABLE_BROWSER_AUTOCOMPLETE="Деактивиране на автоматичното довършване на браузъра" -COM_CONVERTFORMS_DISABLE_BROWSER_AUTOCOMPLETE_DESC="По подразбиране браузърите запомнят информация, която потребителят предоставя чрез полета за въвеждане. Активирайте тази опция, за да деактивирате автоматичното попълване в полетата." -; COM_CONVERTFORMS_FIELD_DESCRIPTION="Help Text" -; COM_CONVERTFORMS_FIELD_DESCRIPTION_DESC="Help text to show alongside this field." -COM_CONVERTFORMS_FIELD_EMAIL_DNSCHECK="DNS проверка" -COM_CONVERTFORMS_FIELD_EMAIL_DNSCHECK_DESC="Потвърдете въведения имейл адрес с DNS проверка." -COM_CONVERTFORMS_FIELDGROUP_USERINFO="Полета информация за потребителя" -COM_CONVERTFORMS_FIELD_CONFIRM="Потвърждение" -COM_CONVERTFORMS_FIELD_CONFIRM_DESC="Поле за потвърждение съвпадение по данни на две полета" -COM_CONVERTFORMS_FIELD_CONFIRM_FIELD="Потвърждение ключ на поле" -COM_CONVERTFORMS_FIELD_CONFIRM_FIELD_DESC="Въведете ключа на полето, който ще се използва за проверка, че стойността му съвпада" -COM_CONVERTFORMS_FIELD_CONFIRM_INVALID="Полето не е конфигурирано правилно" -COM_CONVERTFORMS_FIELD_CONFIRM_NOT_MATCH="Стойностите на полето не съвпадат" -COM_CONVERTFORMS_HIDE_TEXT="Скрий текст" -COM_CONVERTFORMS_HIDE_TEXT_DESC="Скриване на текста след успешно изпращане" -COM_CONVERTFORMS_FORM_IS_MISSING_THE_EMAIL_FIELD="Във формуляра липсва имейл поле" -COM_CONVERTFORMS_INVALID_LEAD="Не може да се валидира Изпратеният обект" -COM_CONVERTFORMS_EXCEL_SECURITY="Excel – разширена безопасност" -COM_CONVERTFORMS_EXCEL_SECURITY_DESC="Ако е активирана, стойностите в CSV експортирания файл, започващ с =, +, - или @, ще бъдат префиксирани с табулация, за да се избегне каквото и да е CSV инжектиране при отваряне на експортирания файл в Excel.

        Деактивирайте тази опция само ако сте 100% сигурни, че данните са надеждни или ако имате проблеми с импортирането на CSV файла в приложение на 3-та страна." -COM_CONVERTFORMS_CHOICE_LAYOUT="Избор на макет" -COM_CONVERTFORMS_CHOICE_LAYOUT_DESC="Изберете макет за показване избора на полета" -COM_CONVERTFORMS_CHOICE_1_COLUMN="Една колона" -COM_CONVERTFORMS_CHOICE_2_COLUMN="Две колони" -COM_CONVERTFORMS_CHOICE_3_COLUMN="Три колони" -COM_CONVERTFORMS_CHOICE_SIDE_BY_SIDE="Един до друг" -COM_CONVERTFORMS_REQUIRED_INDICATION="Индикация на задължително поле" -COM_CONVERTFORMS_REQUIRED_INDICATION_DESC="Посочва задължителните полета със звездичка до всеки етикет на поле. Изисква се етикетът на полето да не е скрит." -COM_CONVERTFORMS_INPUT_MASK="Маска Въвеждане" -COM_CONVERTFORMS_INPUT_MASK_DESC="Помогнете на потребителя с въвеждането чрез предварително определен формат.

        Синтаксис:
        9: Числа (0-9)
        a: Букви (a-я или A-Я)
        A: Главни букви (A-Я)
        *: Буквено-цифрови (0-9, a-я или A-Я)
        &: Главни буквено-цифрови (0-9 или A-Я)

        Примери:
        Телефон: +1 (999) -9999
        Дата: 99/99 / 9999
        Пощенски код: 99999? -9999" -COM_CONVERTFORMS_LEAD_USER_SUBMITTED_DATA="Подадени от потребителя данни" -COM_CONVERTFORMS_NO_SUBMITTED_DATA="Не са открити изпратени данни" -COM_CONVERTFORMS_LEAD_INFO="Информация Подаване" -COM_CONVERTFORMS_NOTES="Бележки" -COM_CONVERTFORMS_DATE_RANGE="Диапазон от дати" -COM_CONVERTFORMS_START_DATE="Начална дата" -COM_CONVERTFORMS_END_DATE="Крайна дата" -COM_CONVERTFORMS_PERIOD="Диапазон" -COM_CONVERTFORMS_PERIOD_SELECT="- Избери диапазон дати - " -COM_CONVERTFORMS_HONEYPOT="Активиране на анти-спам Honeypot" -COM_CONVERTFORMS_HONEYPOT_DESC="Разрешете, за да добавите скрито Honeypot поле, която ше е видимо само за ботове. По този начин, когато полето се попълни, формулярът може автоматично да разбере, че потребителят е бил спамбот.

        В много сайтове Honeypot е достатъчен, за да се избегнат спам записи. Ако все още получавате спам или искате да предприемете допълнителна предпазна мярка срещу него, reCAPTCHA е чудесна допълнителна опция." -COM_CONVERTFORMS_FIELD_FILEUPLOAD="Качване на файл" -COM_CONVERTFORMS_FIELD_FILEUPLOAD_DESC="Дава възможност на потребителя да качва файлове" -; COM_CONVERTFORMS_FILEUPLOAD_TEMP_FOLDER_NOT_WRITABLE="Your site's temp folder is set to %s but it's not writable. Please specify a writable temp folder." -; COM_CONVERTFORMS_FILEUPLOAD_FOLDER_TYPE="Upload Destination" -; COM_CONVERTFORMS_FILEUPLOAD_FOLDER_TYPE_DESC="Specify a destination folder for uploaded files.

        Auto: The files will be uploaded to /media/com_convertforms/uploads folder. Additionally a random prefix will be added in the beginning of each file name to increase security.

        Custom: Specify a custom destination folder and naming convention." -; COM_CONVERTFORMS_FILEUPLOAD_FOLDER="Custom Upload Destination" -; COM_CONVERTFORMS_FILEUPLOAD_FOLDER_DESC="Enter the path relative to the root of your webspace where the uploaded files will be stored. To rename uploaded files use the following Smart Tags.

        {file.basename}: cat.jpg
        {file.extension}: jpg
        {file.filename}: cat
        {file.index}
        : index number

        It can also accept global Smart Tags like {year}, {month}, {user.id} or {randomid} to create an even more dynamic upload destination." -COM_CONVERTFORMS_FILEUPLOAD_LIMIT_FILES="Ограничаване бр. файлове" -COM_CONVERTFORMS_FILEUPLOAD_LIMIT_FILES_DESC="Колко файла могат да бъдат качени? Ако е въведено 0 – без ограничение." -COM_CONVERTFORMS_FILEUPLOAD_MAX_FILE_SIZE="Ограничение размера на файл" -COM_CONVERTFORMS_FILEUPLOAD_MAX_FILE_SIZE_DESC="Задайте максималния допустим размер за всеки качен файл в мегабайти. Въведете 0 за без ограничение.

        Максималният размер на качването на вашия сървър е: %s." -COM_CONVERTFORMS_FILEUPLOAD_UPLOAD_TYPES="Разрешени типове файлове" -; COM_CONVERTFORMS_FILEUPLOAD_UPLOAD_TYPES_DESC="Enter comma separated list of allowed file types like:
        .jpg, .gif, .png, .pdf

        You may enter media types like: application/pdf, images/*, video/* or you can mix both: application/*, .png, .jpg

        Note: This is not fool-proof and can be tricked, please remember that there is always a danger in allowing users to upload files.

        The PHP extension fileinfo is required to be installed to guess." -COM_CONVERTFORMS_FIELD_FILTER="Филтър" -COM_CONVERTFORMS_FIELD_FILTER_DESC="Филтрирайте въвеждането от потребителя въз основа на следните филтри.
        Текст: Преобразува въвеждането в обикновен текстов низ; премахва всички тагове / атрибути.
        Безопасен HTML: Приемайте само безопасни HTML елементи. Букви-Цифри
        : Разрешава a-я и 0-9
        Думи: Разрешава само букви a-я и подчертаване
        Integer: Използва само първата цифра Float: Разрешава само символи a-я и подчертава" -COM_CONVERTFORMS_UPLOAD_ERROR="Невалиден формуляр или ключ на поле" -COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FIELD="Невалидно поле за качване" -COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FILE="Невалиден или неподдържан файл" -COM_CONVERTFORMS_UPLOAD_MAX_FILES_LIMIT="Можете да качвате до %d файла" -COM_CONVERTFORMS_UPLOAD_DRAG_AND_DROP_FILES="Завлачете и пуснете файлове тук или" -COM_CONVERTFORMS_UPLOAD_BROWSE="Преглед" -; COM_CONVERTFORMS_UPLOAD_FILE_IS_MISSING="Temporary file %s is missing. Please re-upload." -COM_CONVERTFORMS_UPLOAD_FOLDER_INVALID="Папката за качване %s не съществува или папката не е с разрешени права за запис в нея" -COM_CONVERTFORMS_UPLOAD_FILETOOBIG="Файлът е твърде голям ({{filesize}} MB). Максимален размер на файловете: {{maxFilesize}} MB." -COM_CONVERTFORMS_UPLOAD_INVALID_FILE="Не можете да качвате файлове от този тип." -COM_CONVERTFORMS_UPLOAD_FALLBACK_MESSAGE="Браузърът ви не поддържа качване на файлове с Drag'n'drop." -COM_CONVERTFORMS_UPLOAD_RESPONSE_ERROR = "Сървърът отговори с {{statusCode}} код." -COM_CONVERTFORMS_UPLOAD_CANCEL_UPLOAD="Прекратяване на качването" -COM_CONVERTFORMS_UPLOAD_CANCEL_UPLOAD_CONFIRMATION="Наистина ли искате да прекратите това качване?" -COM_CONVERTFORMS_UPLOAD_REMOVE_FILE="Премахване на файл" -COM_CONVERTFORMS_UPLOAD_MAX_FILES_EXCEEDED="Не можете да качвате повече файлове." -COM_CONVERTFORMS_UPLOAD_AUTO_DELETE="Автоматично изтриване на файлове" -COM_CONVERTFORMS_UPLOAD_AUTO_DELETE_DESC="Ако получавате много качвания, сървърното пространство може бързо да се запълни, което изисква редовно обслужване за освобождаване на място.

        Тази опция ви помага автоматично да се изтриват файлове от папката за качване след зададен период.

        Например въведете 3, за да изтриете автоматично файлове на възраст над 3 дни или 0, ако искате да запазите файловете завинаги.

        Забележка: Приставката Convert Forms Uploaded Files Cleaner plugin трябва да е активирана и да е конфигуриран съответния Cron Job URL адрес на вашия сървър," -COM_CONVERTFORMS_READONLY="Само за четене" -COM_CONVERTFORMS_READONLY_DESC="Предотвратяване въвеждане в това поле" -COM_CONVERTFORMS_PHPSCRIPT="PHP скриптове" -COM_CONVERTFORMS_PHPSCRIPT_FORM_DISPLAY="Формулар Показване" -COM_CONVERTFORMS_PHPSCRIPT_FORM_DISPLAY_DESC="PHP скриптът, добавен в тази област, се изпълнява веднага преди показването на формата.

        Основният акцент в тази област е променливата $formLayout (String), която съдържа HTML кода на формата.

        За достъп до настройките на формата използвайте $form (Array ) променлива.

        Не е необходимо да включвате <?php and ?> маркерите." -COM_CONVERTFORMS_PHPSCRIPT_FORM_PROCESS="Формуляр процес" -COM_CONVERTFORMS_PHPSCRIPT_FORM_PROCESS_DESC="PHP кодът, добавен в тази област, се изпълнява непосредствено преди данните от формуляра да бъдат запазени в базата данни, независимо дали изпращането е валидно или не.

        Тази област е по-полезна, когато трябва да обработите изчисления, да извършите разширено валидиране или да промените стойността на полето. Всички модификации на променлива $post (Array), извършени тук, ще бъдат отразени в записа за изпращане.

        За достъп до настройките на формуляра, използвайте променливата $form (Array).

        Не е необходимо да включвате маркерите <?php and ?>." -COM_CONVERTFORMS_PHPSCRIPT_AFTER_FORM_SUBMISSION="След подаване на формуляр" -COM_CONVERTFORMS_PHPSCRIPT_AFTER_FORM_SUBMISSION_DESC="PHP кодът, добавен в тази област, се изпълнява, след като формулярът е успешно изпратен и данните са записани в базата данни.

        Това е по-полезно, когато се опитвате да изпълните някои допълнителни задачи като безмълвно публикуване на данни на друг URL адрес. Можете да получите достъп до окончателното изпращане чрез променливата $submission (Object).

        За достъп до настройките на формуляра използвайте променливата $form (Array).

        Не е необходимо да включвате маркерите <?php and ?> tags." -; COM_CONVERTFORMS_PHPSCRIPT_NOTE="PHP Scripts are not executed on the backend to prevent issues with the live form previewer. Always test on the front-end." -COM_CONVERTFORMS_FIELD_PASSWORD="Парола" -COM_CONVERTFORMS_FIELD_PASSWORD_DESC="Предоставя на потребителя безопасно да въведе парола" -COM_CONVERTFORMS_FIELD_CONFIRM_TYPE="Поле за потвъждаване" -COM_CONVERTFORMS_FIELD_CONFIRM_TYPE_DESC="Изберете типа на Поле за потвърждаване между Текст и Парола." -COM_CONVERTFORMS_PHPSCRIPT_FORM_PREPARE="Предзареждане и подготвяне формуляр" -COM_CONVERTFORMS_PHPSCRIPT_FORM_PREPARE_DESC="PHP скриптът, добавен в тази област, се изпълнява точно преди да се подготвят данните на формата и да се изпратят до функцията за показване на формуляра.

        Основният акцент в тази област е променливата $form (Array), която съдържа настройките на формуляра.

        Не е необходимо да включвате маркерите <?php and ?>." -COM_CONVERTFORMS_ERROR_USER_ALREADY_EXIST="%s вече е регистриран." -COM_CONVERTFORMS_ERROR_INVALID_EMAIL_ADDRESS="%s изглежда фалшив или невалиден... Моля, въведете истински имейл адрес." -COM_CONVERTFORMS_RECAPTCHA_NOT_LOADED="Грешка: Google reCAPTCHA скриптът не се зарежда. Уверете се, че браузърът ви не го блокира или се свържете с администратора на сайта." -COM_CONVERTFORMS_ACCESS_FORMS="Достъп управление формуляри" -COM_CONVERTFORMS_ACCESS_FORMS_DESC="Позволява на потребителите в тази група да управляват формуляри." -COM_CONVERTFORMS_ACCESS_SUBMISSIONS="Достъп до изпращания" -COM_CONVERTFORMS_ACCESS_SUBMISSIONS_DESC="Позволява на потребителите в тази група да управляват Изпратените заявки от формуляр." -COM_CONVERTFORMS_ACCESS_CAMPAIGNS="Достъп до Кампании" -COM_CONVERTFORMS_ACCESS_CAMPAIGNS_DESC="Позволява на потребителите в тази група да управляват Кампании. Активирайте това, ако имате с проблеми с изпращането на спам." -COM_CONVERTFORMS_CSRF_CHECK="Използвайте Joomla! CSRF Token" -COM_CONVERTFORMS_CSRF_CHECK_DESC="Добавете допълнителен защитен слой към формулярите си, като верифициране всички AJAX заявки с CSRF Tokens.

        Ако активирате това и използвате кеш механизъм, който кешира целия изход на страницата, като Joomla! Page Cache plugin или кеширащ прокси сървър като CloudFlare или Sucuri, може да срещнете проблеми с изпращането на формуляра." -COM_CONVERTFORMS_THANK_YOU_MESSAGE="Формулярът е успешно изпратен" -COM_CONVERTFORMS_SECRET_SET="Моля, конфигурирайте секретен ключ, за да може да ползвате optin крайната точка." -COM_CONVERTFORMS_SECRET_NO="Не е предоставен секретен ключ в URL адреса " -COM_CONVERTFORMS_SECRET_WRONG="Грешен секретен ключ е предоставен в URL " -COM_CONVERTFORMS_SECURITY="Сигурност" -COM_CONVERTFORMS_FIELD_RECAPTCHAV2INVISIBLE="reCAPTCHA Invisible" -COM_CONVERTFORMS_FIELD_RECAPTCHAV2INVISIBLE_DESC="Спрете подаването на спам, като използвате Invisible Google reCAPTCHA" -COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE="Значка" -COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_DESC="Позиция на значката reCAPTCHA. 'inline' ви позволява да го позиционирате с CSS." -COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_BOTTOMRIGHT="Долу в дясно" -COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_BOTTOMLEFT="Долу в ляво" -COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_INLINE="Inline" -COM_CONVERTFORMS_SUBMISSIONS_VIEW_DEFAULT_TITLE="Заявки" -COM_CONVERTFORMS_SUBMISSIONS_LIST="Списък заявки" -COM_CONVERTFORMS_FRONT_SUBMISSIONS_CONFIRMED_ONLY="Показва само потвърденените" -COM_CONVERTFORMS_FRONT_SUBMISSIONS_CONFIRMED_ONLY_DESC="Активирайте това, за да се показват само потвърдени заявки." -COM_CONVERTFORMS_HIDE_EMPTY_VALUES="Скриване на празните стойности" -COM_CONVERTFORMS_HIDE_EMPTY_VALUES_DESC="Активирайте тази опция, за да скриете полета с празни стойности." -COM_CONVERTFORMS_SELECT_FORM="Изберете формуляр" -COM_CONVERTFORMS_SELECT_FORM_DESC="Изберете формуляра, от който да се показват заявките" -; COM_CONVERTFORMS_SELECT_FORM_DESC2="Select the form to display" -COM_CONVERTFORMS_LIST_LIMIT="Лимит страници" -COM_CONVERTFORMS_LIST_LIMIT_DESC="Брой заявки за показване на страница. Въведете 0 за без ограничение." -COM_CONVERTFORMS_FRONT_SUBMISSIONS_VIEW_OWN_ONLY="Виж само своите" -COM_CONVERTFORMS_FRONT_SUBMISSIONS_VIEW_OWN_ONLY_DESC="Въпреки че можете да покажете списък с заявки от различни потребители, на посетителя ще бъде разрешен достъп до страницата с подробности само за собствените заявки, ако тази опция е активирана.

        Посетителят е длъжен да влезе в акаунта си." -COM_CONVERTFORMS_FRONT_SUBMISSIONS_PAGINATION="Покажи пагинация" -COM_CONVERTFORMS_FRONT_SUBMISSIONS_PAGINATION_DESC="Ако общият брой на заявките надвишава ограничението за показване на екран, под списъка за подаване ще бъдат показани връзки за пагинация страници." -COM_CONVERTFORMS_ORDER="Сортиране на заявки" -COM_CONVERTFORMS_ORDER_DESC="Ред на показване на заявките." -COM_CONVERTFORMS_ORDER_RECENT="Най-новите първи" -COM_CONVERTFORMS_ORDER_OLDEST="Най-старите първи" -COM_CONVERTFORMS_ORDER_RANDOM="Произволен ред" -COM_CONVERTFORMS_FILTER_USER="Показване на заявки от" -COM_CONVERTFORMS_FILTER_USER_DESC="Изберете да филтрирате заявките от потребителя, който ги е подал.

        Влезли в системата потребители Показва заявки, подадени само от текущия влезнал в системата потребител. Всеки потребител ще вижда своите заявки.

        Всички потребители Показва всички заявки.

        Специфични потребители Позволява подателите да филтрират заявките." -COM_CONVERTFORMS_FILTER_USER_LOGGED_IN="Влезнали потребители" -COM_CONVERTFORMS_FILTER_USER_ALL="Всички потребители" -COM_CONVERTFORMS_FILTER_USER_SELECT="Специфични потребители" -COM_CONVERTFORMS_SET_USERS="ID идентификатори потребители " -COM_CONVERTFORMS_SET_USERS_DESC="Въведете ID идентификатор на Joomla User, за да филтрирате подадените заявки. Използвайте запетая, за да разделите няколко ID номера." -COM_CONVERTFORMS_LOAD_CSS="Зареди стилове" -COM_CONVERTFORMS_LOAD_CSS_DESC="Деактивирайте тази опция, ако не искате CSS стиловете на Convert Forms да не бъдат заредени." -COM_CONVERTFORMS_SUBMISSIONS_LAYOUT="Макет" -COM_CONVERTFORMS_SUBMISSIONS_LAYOUT_DESC="Изберете шаблон, който ще се използва за показване на заявките в сайта. Можете също да създадете свои шаблони." -COM_CONVERTFORMS_SUBMISSIONS_LAYOUT_TYPE="Тип оформление" -COM_CONVERTFORMS_SUBMISSIONS_LAYOUT_TYPE_DESC="Тип оформление" -COM_CONVERTFORMS_SUBMISSIONS_TEMPLATE="Шаблон" -COM_CONVERTFORMS_SUBMISSIONS_SELECT_TEMPLATE="Изберете шаблон" -COM_CONVERTFORMS_SUBMISSIONS_SELECT_TEMPLATE_DESC="Изберете шаблон за показване на заявките. Той ще се използва както за списък, така и за подробен изглед.

        Можете да добавяте собствени макети преопределения във вашия шаблон." -COM_CONVERTFORMS_SUBMISSIONS_CONTAINER_LAYOUT="Контейнер шаблон" -COM_CONVERTFORMS_SUBMISSIONS_CONTAINER_LAYOUT_DESC="Главен HTML шаблон на списъка със заявки. Не премахвайте {submissions} маркер от него, тъй като той заменя с изходните данни." -COM_CONVERTFORMS_SUBMISSIONS_ROW_LAYOUT="Оформление на редовете" -COM_CONVERTFORMS_SUBMISSIONS_ROW_LAYOUT_DESC="HTML оформление на всяка заявка, както е показано в оформлението на контейнера." -COM_CONVERTFORMS_SUBMISSIONS_DETAILS_LAYOUT="Оформление на Детайли" -COM_CONVERTFORMS_SUBMISSIONS_DETAILS_LAYOUT_DESC="HTML оформлението на страницата с подробности за заявката." -; COM_CONVERTFORMS_FIELD_EMPTYSPACE="Empty Space" -; COM_CONVERTFORMS_FIELD_EMPTYSPACE_DESC="Add an empty space in your form" -; COM_CONVERTFORMS_FIELD_EMPTY_SPACE_GAP="Empty Space" -; COM_CONVERTFORMS_FIELD_EMPTY_SPACE_GAP_DESC="Set a vertical gap between fields in pixels." -; COM_CONVERTFORMS_FIELD_HEADING="Heading" -; COM_CONVERTFORMS_FIELD_HEADING_DESC="Add a Heading title to group your fields" -; COM_CONVERTFORMS_FIELD_HEADING_HEADINGTYPE="Title HTML Element" -; COM_CONVERTFORMS_FIELD_HEADING_HEADINGTYPE_DESC="Select the heading type." -; COM_CONVERTFORMS_FIELD_HEADING_USELINK="Use Link" -; COM_CONVERTFORMS_FIELD_HEADING_USELINK_DESC="Whether to make the heading point to a URL." -; COM_CONVERTFORMS_FIELD_HEADING_LINK="Link" -; COM_CONVERTFORMS_FIELD_HEADING_LINK_DESC="Enter the link to redirect the user to." -; COM_CONVERTFORMS_FIELD_HEADING_NEWTAB="Open in new tab" -; COM_CONVERTFORMS_FIELD_HEADING_NEWTAB_DESC="Enable to open the link in a new tab." -; COM_CONVERTFORMS_FIELD_HEADING_FONT_SIZE_DESC="Set the font font size for the heading." -; COM_CONVERTFORMS_FIELD_HEADING_FONT_FAMILY_DESC="Select the font family for the heading." -; COM_CONVERTFORMS_FIELD_HEADING_LINE_HEIGHT="Line Height" -; COM_CONVERTFORMS_FIELD_HEADING_LINE_HEIGHT_DESC="Set the line height for the heading." -; COM_CONVERTFORMS_FIELD_HEADING_LETTER_SPACING="Letter Spacing" -; COM_CONVERTFORMS_FIELD_HEADING_LETTER_SPACING_DESC="Set the letter spacing for the heading." -; COM_CONVERTFORMS_FIELD_HEADING_CONTENT_ALIGNMENT="Content Alignment" -; COM_CONVERTFORMS_FIELD_HEADING_CONTENT_ALIGNMENT_DESC="Select the alignment of the heading." -COM_CONVERTFORMS_FIELD_OPTIONS_SHOW_VALUES="Показва стойности" -COM_CONVERTFORMS_FIELD_OPTIONS_SHOW_VALUES_DESC="Уверете се, че сте задали уникална стойност за всеки избор или няма да имате начин да знаете коя опция е избрана от потребителя" -COM_CONVERTFORMS_FIELD_OPTIONS_CALC_VALUES="Използване калкулация на стойности" -COM_CONVERTFORMS_FIELD_OPTIONS_CALC_VALUES_DESC="Стойностите за изчисление обикновено се използват за изчисления. Представя числова стойност на избор." -COM_CONVERTFORMS_FIELD_DIVIDER="Разделител" -COM_CONVERTFORMS_FIELD_DIVIDER_DESC="Разделя вашия формуляр на секции" -COM_CONVERTFORMS_FIELD_BORDER_STYLE="Стил конкур" -COM_CONVERTFORMS_FIELD_BORDER_STYLE_DESC="Изберете стила на линията на разделителя." -COM_CONVERTFORMS_FIELD_BORDER_STYLE_SOLID="Плътен" -COM_CONVERTFORMS_FIELD_BORDER_STYLE_DASHED="Пунктир" -COM_CONVERTFORMS_FIELD_BORDER_STYLE_DOTTED="На точки" -COM_CONVERTFORMS_FIELD_BORDER_WIDTH="Ширина на разделител" -COM_CONVERTFORMS_FIELD_BORDER_WIDTH_DESC="Изберете ширината на разделителя." -COM_CONVERTFORMS_FIELD_BORDER_COLOR="Цвят линия" -COM_CONVERTFORMS_FIELD_BORDER_COLOR_DESC="Задайте цвета на линията на разделителя." -COM_CONVERTFORMS_FIELD_MARGIN_TOP="Горно поле" -COM_CONVERTFORMS_FIELD_MARGIN_TOP_DESC="Задайте поле отстояние от горе на разделителя." -COM_CONVERTFORMS_FIELD_MARGIN_BOTTOM="Долно поле" -COM_CONVERTFORMS_FIELD_MARGIN_BOTTOM_DESC="Задайте поле отстояние от долу на разделителя." -COM_CONVERTFORMS_FIELD_DATETIME_FIRSTDAYOFWEEK="Първи ден от седмицата" -COM_CONVERTFORMS_FIELD_DATETIME_FIRSTDAYOFWEEK_DESC="Променете първия ден от седмицата, представен в календара за избор на дата." -COM_CONVERTFORMS_ENTER_LABEL="Въведете етикет" -COM_CONVERTFORMS_ADD_FIELD="Добав поле" -COM_CONVERTFORMS_ALL_FIELDS="Всички полета" -; COM_CONVERTFORMS_ALL_FILLED_ONLY_FIELDS="All Filled-only Fields" -; COM_CONVERTFORMS_FIELDGROUP_LAYOUT="Layout Fields" -; COM_CONVERTFORMS_UPLOAD_ALLOW_UNSAFE="Allow Unsafe Files" -; COM_CONVERTFORMS_UPLOAD_ALLOW_UNSAFE_DESC="Allow the upload of unsafe files.

        A file is considered unsafe when:
        - A null byte is found in the file name.
        - File extension is forbidden: .php, py etc.
        - There's a php tag in file content.
        - There's a short tag in file content.
        - There's a forbidden extension anywhere in the content.

        This option protects you also from unsafe files included in compressed files such as zip, rar, tar e.t.c." -; COM_CONVERTFORMS_LABEL_POSITION="Label Position" -; COM_CONVERTFORMS_LABEL_POSITION_DESC="Set the position of the field label" -; COM_CONVERTFORMS_INVALID_RESPONSE="Invalid Response" -; COM_CONVERTFORMS_INVALID_TASK="Invalid Task" -; COM_CONVERTFORMS_ERROR_WAIT_FILE_UPLOADS="Please wait file uploading to complete." -; COM_CONVERTFORMS_ERROR_INPUTMASK_INCOMPLETE="Mask is incomplete" -; COM_CONVERTFORMS_SUBMISSION_ID="Submission ID" -; COM_CONVERTFORMS_SUBMISSION_DATE="Submission Date" -; COM_CONVERTFORMS_SUBMISSION_CAMPAIGN_ID="Submission Campaign ID" -; COM_CONVERTFORMS_SUBMISSION_FORM_ID="Submission Form ID" -; COM_CONVERTFORMS_SUBMISSION_VISITOR_ID="Submission Visitor ID" -; COM_CONVERTFORMS_SUBMISSION_USER_ID="Submission User ID" -; COM_CONVERTFORMS_SUBMISSIONS_COUNT="Submissions Count" -; COM_CONVERTFORMS_MIN_CHARS="Minimum Characters" -; COM_CONVERTFORMS_MIN_CHARS_DESC="Minimum length for this field in characters. Enter 0 for no limit." -; COM_CONVERTFORMS_MAX_CHARS="Maximum Characters" -; COM_CONVERTFORMS_MAX_CHARS_DESC="Maximum length for this field in characters. Enter 0 for no limit." -; COM_CONVERTFORMS_MIN_WORDS="Minimum Words" -; COM_CONVERTFORMS_MIN_WORDS_DESC="Minimum length for this field in words. Enter 0 for no limit." -; COM_CONVERTFORMS_MAX_WORDS="Maximum Words" -; COM_CONVERTFORMS_MAX_WORDS_DESC="Maximum length for this field in words. Enter 0 for no limit." -; COM_CONVERTFORMS_FIELD_VALIDATION_MIN_CHARS="Please lengthen this text to %s characters or more. You're currently using %s characters." -; COM_CONVERTFORMS_FIELD_VALIDATION_MAX_CHARS="Please shorten this text to %s characters or less. You're currently using %s characters." -; COM_CONVERTFORMS_FIELD_VALIDATION_MIN_WORDS="Please lengthen this text to %s words or more. You're currently using %s words." -; COM_CONVERTFORMS_FIELD_VALIDATION_MAX_WORDS="Please shorten this text to %s words or less. You're currently using %s words." -; COM_CONVERTFORMS_FIELD_EDITOR="Rich Text Editor" -; COM_CONVERTFORMS_FIELD_EDITOR_DESC="Provide a rich text editor for the user to format their responses in this field." -; COM_CONVERTFORMS_EDITOR_HEIGHT="Editor Height" -; COM_CONVERTFORMS_EDITOR_HEIGHT_DESC="Set the height in pixels" -; COM_CONVERTFORMS_EDITOR_SELECT="Joomla Editor" -; COM_CONVERTFORMS_EDITOR_SELECT_DESC="Select the Joomla editor to be used for this field.

        If you don't see any editors in the list, make sure you've installed and activated at least 1 Joomla Editor plugin through the Joomla Plugins Manager." -; COM_CONVERTFORMS_EDITOR_NOT_FOUND="Joomla Editor not found: %s" -; COM_CONVERTFORMS_EXPORT_COMPLETED="%s submissions exported" -; COM_CONVERTFORMS_DOWNLOAD_WILL_START="Your download will start automatically." -; COM_CONVERTFORMS_EXPORT_WORKING="Exporting" -; COM_CONVERTFORMS_EXPORT_PROCESSING="Processed %s of %s submissions" -; COM_CONVERTFORMS_EXPORT_ERROR_CANT_FIND_FILE="Can't find exported file" -; COM_CONVERTFORMS_FIELD_HCAPTCHA_CONFIGURE="Configure hCaptcha now" -; COM_CONVERTFORMS_FIELD_HCAPTCHA="hCaptcha" -; COM_CONVERTFORMS_FIELD_HCAPTCHA_DESC="Stop spam form submissions using hCaptcha" -; COM_CONVERTFORMS_FIELD_HCAPTCHA_TYPE_DESC="Select whether to use the checkbox or invisible version of hCaptcha." -; COM_CONVERTFORMS_FILEUPLOAD_MIME_CONTENT_TYPE_MISSING="The PHP extension fileinfo is required to guess the mime type of uploaded files but it's not installed or not loaded. Please contact your host to install it." -; COM_CONVERTFORMS_SUBMISSION_DEFAULT_STATE="Submission Default State" -; COM_CONVERTFORMS_SUBMISSION_DEFAULT_STATE_DESC="Set the default state of each new submission." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +CONVERTFORMS="Convert Forms" +COM_CONVERTFORMS="Convert Forms" +COM_CONVERTFORMS_DESIGN="Дизайн" +COM_CONVERTFORMS_BEHAVIOR="Поведение" +COM_CONVERTFORMS_LIST="Списък" +COM_CONVERTFORMS_NO_RESULTS_FOUND="Няма резултати за %s" +COM_CONVERTFORMS_CREATE_NEW="Създайте нова?" +COM_CONVERTFORMS_EMAIL_ASCENDING="Имейл възходящо" +COM_CONVERTFORMS_EMAIL_DESCENDING="Имейл низходящо" +COM_CONVERTFORMS_ACTIONS="Действия" +COM_CONVERTFORMS_VIEW_LEADS="Преглед на подадените заявки" +NRI_PLG_CONVERTFORMS="Convert Forms плъгин" +COM_CONVERTFORMS_CONFIGURATION="Конфигурация Convert Forms" +COM_CONVERTFORMS_LOADCSS="Зареди css-стилове" +COM_CONVERTFORMS_LOADCSS_DESC="Изберете, за да заредите стиловете към разширенията. Или деактивирйате това, ако поставите свои стилове в свой css-файл, или например в поле за персонализиран код 'Custom Code', или в css стиловете на темплейта." +COM_CONVERTFORMS_DEBUG="Отстраняване на грешки" +COM_CONVERTFORMS_DEBUG_DESC="Активирайте тази опция, за да започнете отстраняване нагрешки и неочаквано поведение. Съобщенията за грешки ще се появяват в конзолата на вашия браузър (натиснете F12) и към папката Logs." +COM_CONVERTFORMS_FORMS="Формуляри" +COM_CONVERTFORMS_FORM="Формуляр" +COM_CONVERTFORMS_NEW_FORM="Нов формуляр" +COM_CONVERTFORMS_EDIT_FORM="Редактирай формуляр" +COM_CONVERTFORMS_FORM_N_ITEMS_COPIED="%s формуляри са копирани" +COM_CONVERTFORMS_FORM_N_ITEMS_PUBLISHED="%s формуляри са публикувани" +COM_CONVERTFORMS_FORM_N_ITEMS_UNPUBLISHED="%s формуляри са непубликувани" +COM_CONVERTFORMS_FORM_N_ITEMS_TRASHED="%s формуляри са в кошчето" +COM_CONVERTFORMS_FORM_N_ITEMS_DELETED="%s формуляри са изтрити" +COM_CONVERTFORMS_FORM_ASCENDING="Формуляр възходящо" +COM_CONVERTFORMS_FORM_DESCENDING="Формуляр низходящо" +COM_CONVERTFORMS_FORM_SELECT="- Избери формуляр - " +COM_CONVERTFORMS_FORM_CREATE_MODULE="Публикуване, създаване на модул" +COM_CONVERTFORMS_FORM_LEADS="Досега този формуляр има общо %s подадени заявки" +COM_CONVERTFORMS_FORM_CLIPBOARD_SHORTCODE="Публикувай чрез шорткод %s" +COM_CONVERTFORMS_CAMPAIGN="Кампания" +COM_CONVERTFORMS_CAMPAIGNS="Кампании" +COM_CONVERTFORMS_NEW_CAMPAIGN="Нова кампания" +COM_CONVERTFORMS_EDIT_CAMPAIGN="Редактирай кампания" +COM_CONVERTFORMS_CAMPAIGNS_NAME_DESC="Въведете име на кампания. Това име ще бъде видимо само от вас." +COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_COPIED="%s Кампании са копирани" +COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_UNPUBLISHED="%s Кампании са непубликувани" +COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_PUBLISHED="%s Кампании са публикувани" +COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_TRASHED="%s Кампании са в кошчето" +COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_DELETED="%s Кампании са изтрити" +COM_CONVERTFORMS_SUBMISSION_N_ITEMS_UNPUBLISHED="%s заявки са непубликувани" +COM_CONVERTFORMS_SUBMISSION_N_ITEMS_PUBLISHED="%s заявки са публикувани" +COM_CONVERTFORMS_SUBMISSION_N_ITEMS_TRASHED="%s заявки са в кошчето" +COM_CONVERTFORMS_SUBMISSION_N_ITEMS_DELETED="%s заявки са изтрити" +; COM_CONVERTFORMS_SUBMISSION_N_ITEMS_ARCHIVED="%s submissions archived" +COM_CONVERTFORMS_CAMPAIGN_ASCENDING="Кампании възходящо" +COM_CONVERTFORMS_CAMPAIGN_DESCENDING="Кампании низходящо" +COM_CONVERTFORMS_CAMPAIGN_SELECT="- Избери Кампания -" +COM_CONVERTFORMS_CAMPAIGN_CONFIRM_DESC="Запишете кампанията, за да може да настроите интеграция" +COM_CONVERTFORMS_CAMPAIGN_CHANGED="Кампанията е променена" +COM_CONVERTFORMS_CAMPAIGN_SYNC="Синхронизиране подаването на заявки" +COM_CONVERTFORMS_CAMPAIGN_SYNC_DESC="Изберете дали заявките да се синхронизират със софтуер на трети страни или да се събират само в базата данни. Забележка: Ако трябва да се интегрирате със софтуер на трети страни като MailChimp, Aweber, GetResponse, Active Campaign и т.н., моля, инсталирайте съответния аддон в секцията Addons." +COM_CONVERTFORMS_N_ITEMS_TRASHED="%s Кампании са изтрити" +COM_CONVERTFORMS_CHOOSE_SERVICE="Изберете услуга" +COM_CONVERTFORMS_PENDING_LEADS="Заявки в изчакване" +COM_CONVERTFORMS_SUBMISSIONS="Заявки" +COM_CONVERTFORMS_SUBMISSION="Заявка" +; COM_CONVERTFORMS_LATEST_SUBMISSIONS="Latest Submissions" +COM_CONVERTFORMS_SUBMISSION_CONFIRMED="Потвърдени" +COM_CONVERTFORMS_SUBMISSION_UNCONFIRMED="Непотвърдени" +COM_CONVERTFORMS_EDIT_CONVERSION="Редактирай заявка" +COM_CONVERTFORMS_SUBMISSION_INVALID="Заявката не е открита" +COM_CONVERTFORMS_NOT_AUTHORIZED="Не сте упълномощени за достъп до тази страница." +COM_CONVERTFORMS_LEADS_ASC="Заявки възходящо" +COM_CONVERTFORMS_LEADS_DESC="Заявки низходящо" +COM_CONVERTFORMS_LEADS_EXPORT="Експорт на заявките" +COM_CONVERTFORMS_ADDONS="Addons" +COM_CONVERTFORMS_INSTALL_ADDONS="Виж инсталираните Addons" +COM_CONVERTFORMS_ADDONS_MISSING_KEY="За да можете да инсталирате допълненията на Convert Forms Addons, ще трябва да въведете своя Ключ за изтегляне в настройките на Novarain Framework Plugin" +COM_CONVERTFORMS_ADDONS_DESC="Addons добавките разширяват функционалността на Convert Forms. С тези добавки можете да се свързвате с софтуери на трети страни, да интегрирате нови функции и да направите Convert Forms още по-мощен." +COM_CONVERTFORMS_LAST_YEAR="Миналата година" +COM_CONVERTFORMS_THIS_YEAR="Тази година" +COM_CONVERTFORMS_LAST_MONTH="Миналия месец" +COM_CONVERTFORMS_THIS_MONTH="Този месец" +COM_CONVERTFORMS_LAST_WEEK="Миналата седмица" +COM_CONVERTFORMS_THIS_WEEK="Тази седмица" +COM_CONVERTFORMS_LAST_7_DAYS="Предишните 7 дена" +COM_CONVERTFORMS_YESTERDAY="Вчера" +COM_CONVERTFORMS_TODAY="Днес" +COM_CONVERTFORMS_AVG_DAY="Средно за ден (този месец)" +COM_CONVERTFORMS_PROJECTION="Прогноза за този месец" +COM_CONVERTFORMS_TOTAL="Общо" +COM_CONVERTFORMS_CHOOSE_FILE="Изберете .cnvf файл" +COM_CONVERTFORMS_FORMS_NAME_DESC="Уникалното и описателно име ще ви помогне в бъдеще с появята си в таблото за управление, в анализи и т.н." +COM_CONVERTFORMS_BACKGROUND_IMAGE="Фоново изображение" +COM_CONVERTFORMS_IMAGE_DESC="Изберете фоново изображение" +COM_CONVERTFORMS_CUSTOM_URL="Персонализиран URL адрес" +COM_CONVERTFORMS_BACKGROUND_URL="URL адрес на фоново изображение" +COM_CONVERTFORMS_BACKGROUND_URL_DESC="Въведете персонализиран URL адрес за изображение" +COM_CONVERTFORMS_BACKGROUND_FILE="Фоново изображение" +COM_CONVERTFORMS_BACKGROUND_FILE_DESC="Изберете изображение за качване." +COM_CONVERTFORMS_BACKGROUND_IMAGE_DESC="Можете да предоставите изображение, което да се появи като фон зад формата. Изберете Качване, за да качите ново изображение или Персонализиран URL, за да изтеглите изображение от URL адрес. За да работи тази настройка, избраният цвят на фона трябва да е прозрачен." +COM_CONVERTFORMS_FORM_BUILDER="Строител на форми" +COM_CONVERTFORMS_FIELD_TYPE="Тип Поле" +COM_CONVERTFORMS_FIELD_TYPE_DESC="Атрибутът Тип на Поле определя типа на входящия елемент за показване." +COM_CONVERTFORMS_FIELD_LABEL="Етикет поле" +COM_CONVERTFORMS_FIELD_LABEL_DESC="Етикетът на полето определя етикет за входящ елемент." +; COM_CONVERTFORMS_FIELD_NAME="Field Name" +COM_CONVERTFORMS_FIELD_NAME_DESC="Указва името на входния елемент, който се използва за свързване с данните от формуляра след подаването му. Използвайте тази опция и за съпоставяне на полета от формата с интегрираните приложения." +COM_CONVERTFORMS_PLACEHOLDER_NAME="Текст подсказка" +COM_CONVERTFORMS_PLACEHOLDER_NAME_DESC="Текстът, който искате да бъде показан в полето, преди потребителят да въведе каквито и да е данни." +COM_CONVERTFORMS_REQUIRED_NAME="Задължително поле" +; COM_CONVERTFORMS_REQUIRED_NAME_DESC="If enabled, this will ensure that this field is completed before allowing the form to be submitted." +COM_CONVERTFORMS_FIELDS="Полета" +COM_CONVERTFORMS_FIELDS_FREE_NOTICE="Използвате безплатната версия, която поддържа само 1 имейл поле. Надстройте до Pro версия, за да можете да управлявате неограничен брой полета." +COM_CONVERTFORMS_GENERAL="Общи" +COM_CONVERTFORMS_FORM_TEXT_ALIGN="Подравняване на текст в Поле" +COM_CONVERTFORMS_FORM_TEXT_ALIGN_DESC="Подравняване на текст във формата" +COM_CONVERTFORMS_INPUT_COLOR="Поле цвят на текст" +COM_CONVERTFORMS_INPUT_BGCOLOR="Поле фонов цвят" +COM_CONVERTFORMS_INPUT_BORDER_COLOR="Поле цвят контур" +COM_CONVERTFORMS_SHADOW="Сянка" +COM_CONVERTFORMS_INPUT_SHADOW_DESC="Добавя вътрешна сянка към полето за въвеждане" +COM_CONVERTFORMS_INPUT_FONT_SIZE="Поле размер на шрифта" +COM_CONVERTFORMS_INPUT_FONT_SIZE_DESC="Поле размер на шрифта" +COM_CONVERTFORMS_VPADDING_SIZE="Вертикален отстъп" +COM_CONVERTFORMS_HPADDING_SIZE="Хоризонтален отстъп" +COM_CONVERTFORMS_BOX_WIDTH_TYPE="Макс. ширина поле" +COM_CONVERTFORMS_BOX_WIDTH_TYPE_DESC="Въведете максимална ширина по избор или направете това поле да покрие цялата площ на екрана. Обърнете внимание, че това е максималната ширина, което означава, че формулярът винаги ще се побира на по-малки площи." +COM_CONVERTFORMS_FORM_WIDTH="Персонализирана макс. ширина" +COM_CONVERTFORMS_FORM_WIDTH_DESC="Въведете максимална ширина по ваш избор." +COM_CONVERTFORMS_REMOVE_DEFAULT_PADDING="Премахване на подразбиращото се допълване на клетки" +COM_CONVERTFORMS_REMOVE_DEFAULT_PADDING_DESC="Премахване на подразбиращото се допълване на клетки между полето на съдържанието и краищата на полето на формата" +COM_CONVERTFORMS_FORM_BORDER_STYLE="Стил рамка" +COM_CONVERTFORMS_FORM_BORDER_STYLE_DESC="Приложи рамка около формата" +COM_CONVERTFORMS_FORM_BORDER_COLOR="Цвят на рамка" +COM_CONVERTFORMS_FORM_BORDER_COLOR_DESC="Цвят рамка на формата" +COM_CONVERTFORMS_FORM_BORDER_WIDTH="Ширина рамка" +COM_CONVERTFORMS_FORM_BORDER_WIDTH_DESC="Ширина рамка на формата" +COM_CONVERTFORMS_BOX_RADIUS="Радиус на полето" +COM_CONVERTFORMS_BORDER_RADIUS="Радиус на рамка" +COM_CONVERTFORMS_BORDER_RADIUS_DESC="Въведете стойност за радиус на рамка" +COM_CONVERTFORMS_COLLECT_LEADS_USING="Събиране на подадени заявки с помощта на Кампания" +COM_CONVERTFORMS_COLLECT_LEADS_USING_DESC="Изпратените данни, събрани от този формуляр, ще бъдат асоциирани с избраната кампания. Можете да управлявате кампаниите си в секцията Кампании." +COM_CONVERTFORMS_SUCCESSFUL_SUBMISSION="Успешно подаване" +COM_CONVERTFORMS_SUCCESSFUL_SUBMISSION_DESC="Изберете действието, което искате да се извърши, след успешно подаване" +COM_CONVERTFORMS_DISPLAY_MSG="Показване на съобщение" +COM_CONVERTFORMS_REDIRECT_USER="Пренасочване на потребителя" +COM_CONVERTFORMS_SUCCESS_TEXT="Съобщение след успешно подаване" +COM_CONVERTFORMS_SUCCESS_TEXT_DESC="Въведете съобщението, което искате да покажете на потребителя, след като бъде успешно добавен към списъка." +COM_CONVERTFORMS_SUCCESS_URL="URL пренасочване" +COM_CONVERTFORMS_SUCCESS_URL_DESC="Въведете URL адреса, на който искате да пренасочите потребителя, след като бъде успешно добавен към списъка." +COM_CONVERTFORMS_PASS_DATA="Предайте данните от формата към URL адреса за пренасочване" +COM_CONVERTFORMS_PASS_DATA_DESC="Предава данните от формата като query arguments към URL на пренасочване." +COM_CONVERTFORMS_SUBMIT_STYLE="Стил на бутона за изпращане" +COM_CONVERTFORMS_SUBMIT_STYLE_DESC="Оформете бутона с приятни ефекти." +COM_CONVERTFORMS_BTN_SHADOW_DESC="Добавя външна сянка към бутона" +COM_CONVERTFORMS_SUBMIT_HOVER_COLOR="Цвят на текста при задържане над него" +COM_CONVERTFORMS_SUBMIT_HOVER_COLOR_DESC="Цвят на текста при задържане над него" +COM_CONVERTFORMS_CUSTOM_CSS="Потребителски CSS" +COM_CONVERTFORMS_CUSTOM_CSS_DESC="Стилизирайте формата със собствен персонализиран CSS.

        За да ви помогне с оформянето, добавеният код в тази област се изпълнява и в бекенда." +COM_CONVERTFORMS_CLASS_SUFFIX="CSS клас суфикс" +COM_CONVERTFORMS_CLASS_SUFFIX_DESC="CSS клас суфикс" +COM_CONVERTFORMS_TEXTAREA_HEIGHT="Височина текстово поле" +COM_CONVERTFORMS_TEXTAREA_HEIGHT_DESC="Височината на текстовото поле указва видимата област в редове текс." +COM_CONVERTFORMS_CHOICES="Избор" +COM_CONVERTFORMS_CHOICES_DESC="Добавете допълнителни опции към това поле." +COM_CONVERTFORMS_FIELD_VALUE="Стойност по подразбиране" +COM_CONVERTFORMS_FIELD_VALUE_DESC="Въведете текста за полето по подразбиране." +COM_CONVERTFORMS_HIDE_LABELS="Скриване на етикет" +COM_CONVERTFORMS_HIDE_LABELS_DESC="Изберете тази опция, за да скриете етикета на полето на формата" +COM_CONVERTFORMS_IMAGE_SOURCE="Източник изображение" +COM_CONVERTFORMS_IMAGE_SOURCE_DESC="Можете да поставите изображение, което ще се появи сред съдържанието на формата. Изберете Качване, за да качите ново изображение или Потребителски URL адрес, за да въведете потребителски URL адрес." +COM_CONVERTFORMS_IMAGE_URL="URL на изображение" +COM_CONVERTFORMS_HIDE_IMAGE_ON_MOBILE="Скриване на изображението на малки екрани" +COM_CONVERTFORMS_HIDE_IMAGE_ON_MOBILE_DESC="На по-малки екрани като мобилни, по-малките модалности изглеждат по-добре. За да намалите размера на модала, можете да скриете изображението с тази настройка." +COM_CONVERTFORMS_HORIZONTAL_POSITION="Хоризонтална позиция" +COM_CONVERTFORMS_HORIZONTAL_POSITION_DESC="Хоризонтална позиция" +COM_CONVERTFORMS_VERTICAL_POSITION="Вертикално положение" +COM_CONVERTFORMS_VERTICAL_POSITION_DESC="Вертикална позиция" +COM_CONVERTFORMS_IMAGE_WIDTH_TYPE="Ширина на изображението" +COM_CONVERTFORMS_IMAGE_WIDTH_TYPE_DESC="Задайте ширина на изображението" +COM_CONVERTFORMS_BUTTON_ALIGN="Подравняване на бутони" +COM_CONVERTFORMS_FORM_POSITION="Позиция на формата" +COM_CONVERTFORMS_FORM_POSITION_DESC="Задайте позиция на формуляра спрямо контейнера с текст" +COM_CONVERTFORMS_FORM_SIZE="Размер на контейнера за форми" +COM_CONVERTFORMS_COLUMNS_DESC="Колко колони ще бъдат използвани. 6 колони заемат 50% от ширината." +COM_CONVERTFORMS_MESSAGE="Текстово съобщение" +COM_CONVERTFORMS_MESSAGE_DESC="Въведете текстовото съобщение на формуляра" +COM_CONVERTFORMS_IMAGE_POSITION="Позиция на изображението" +COM_CONVERTFORMS_IMAGE_POSITION_DESC="Позиция на изображението спрямо текста" +COM_CONVERTFORMS_FOOTER="Форма на долния колонтитул" +COM_CONVERTFORMS_BUTTON_TEXT="Техт бутон" +COM_CONVERTFORMS_BUTTON_TEXT_DESC="Текст за етикета на бутона" +COM_CONVERTFORMS_BTN_FONT_SIZE="Размер на текста в бутона" +COM_CONVERTFORMS_IMAGE_SIZE="Размер контейнер за изображения" +COM_CONVERTFORMS_BODY_FONT="Шрифтово семейство" +COM_CONVERTFORMS_BODY_FONT_DESC="Изберете шрифтово семейство за текстовете във формата. Имайте предвид, че зареждането на нестандартни шрифтове като Google Fonts може да повлияе на скоростта на уебсайта. Изберете По подразбиране, за да използвате шрифта по подразбиране на вашия уебсайт." +COM_CONVERTFORMS_EMAIL="Имейл" +COM_CONVERTFORMS_DATE="Дата" +COM_CONVERTFORMS_CREATED="Дата на създаване" +COM_CONVERTFORMS_SUBMISSION="Заявка" +COM_CONVERTFORMS_PREVIEW_SUCCESS="Показва съобщение за успех" +COM_CONVERTFORMS_PREVIEW_SIZE_DESKTOP="Тази версия ще се показва на екрани с размер 990px и по-високи" +COM_CONVERTFORMS_PREVIEW_SIZE_TABLET="Тази версия ще се показва на екрани с размер 768px - 990px" +COM_CONVERTFORMS_PREVIEW_SIZE_MOBILE="Тази версия ще се показва на екрани с размер 768px и по-малки" +COM_CONVERTFORMS_DEVICE_DESKTOP="Декстоп" +COM_CONVERTFORMS_DEVICE_TABLET="Таблет" +COM_CONVERTFORMS_DEVICE_MOBILE="Мобилен" +COM_CONVERTFORMS_RESET_FORM="Нулиране на формуляра" +COM_CONVERTFORMS_RESET_FORM_DESC="Нулиране на формуляра след успешно изпращане" +COM_CONVERTFORMS_HIDE_FORM="Скрий формуляр" +COM_CONVERTFORMS_HIDE_FORM_DESC="Скриване на формуляр след успешно изпращане" +COM_CONVERTFORMS_TEMPLATES="Шаблони" +COM_CONVERTFORMS_TEMPLATES_SELECT="Изберете шаблон" +COM_CONVERTFORMS_TEMPLATES_BLANK="Започни начисто" +COM_CONVERTFORMS_TEMPLATES_BLANK_DESC="Започни начисто и създай нов формуляр" +COM_CONVERTFORMS_TEMPLATE_GROUP_INLINE="В редица" +COM_CONVERTFORMS_TEMPLATE_GROUP_SIDEBAR="Странична лента" +COM_CONVERTFORMS_TEMPLATE_GROUP_BAR="Ленти" +COM_CONVERTFORMS_LABELS_COLOR="Цвят на текста на етикета" +COM_CONVERTFORMS_LABELS_FONT_SIZE="Размер на шрифта в етикета" +COM_CONVERTFORMS_IMAGE_ABOVE="На текста" +COM_CONVERTFORMS_IMAGE_BELOW="Под текста" +COM_CONVERTFORMS_IMAGE_RIGHT="В дясно от текста" +COM_CONVERTFORMS_IMAGE_LEFT="В ляво от текста" +COM_CONVERTFORMS_FLAT="Плосък" +COM_CONVERTFORMS_OUTLINE="Контур" +COM_CONVERTFORMS_GRADIENT="Градиент" +COM_CONVERTFORMS_EMAILS_DESC="Изпращане на известия по имейл, когато потребителите изпратят формуляр." +COM_CONVERTFORMS_EMAILS="Известия по имейл" +COM_CONVERTFORMS_EMAILS_REPLY_TO="Отговор към имейл" +COM_CONVERTFORMS_EMAILS_REPLY_TO_NAME="Отговор към Име" +COM_CONVERTFORMS_EMAILS_FROM_EMAIL="От имейл" +COM_CONVERTFORMS_EMAILS_FROM="Име формуляр" +COM_CONVERTFORMS_EMAILS_RECIPIENT="Изпрати към имейл" +COM_CONVERTFORMS_EMAILS_RECIPIENT_DESC="Въведете имейл адресите, на които желаете да получавате известия при изпращане на формуляра. За известия към множество имейли, моля отделете ги със запетая." +COM_CONVERTFORMS_EMAILS_SUBJECT="Тема на имейла" +COM_CONVERTFORMS_EMAILS_BODY="Съобщение" +COM_CONVERTFORMS_EMAILS_FREE_NOTE="Искате няколко известия?
        Надстройте до PRO, за да ги отключите." +COM_CONVERTFORMS_EMAILS_ATTACHMENT="Прикачени" +COM_CONVERTFORMS_EMAILS_ATTACHMENT_DESC="Местоположение на файл, който да прикачите към корена на уеб пространството ви. Използвайте запетая, за да определите няколко файла." +COM_CONVERTFORMS_ADDONS_MISSING_ADDON="Липсва ли ви добавка addon?" +COM_CONVERTFORMS_ADDONS_MISSING_ADDON_DESC="В случай че ви липсва добавка за интеграция за любимото ви приложение, моля, уведомете ни и ще се радваме да го включим в колекцията Convert Forms addons." +COM_CONVERTFORMS_API_ENABLE="Разреши JSON API" +COM_CONVERTFORMS_API_DESC="JSON API ви позволява да изтеглите Convert Forms съдържание, използвайки HTTP заявки." +COM_CONVERTFORMS_API_KEY="Таен ключ" +COM_CONVERTFORMS_API_KEY_DESC="Този секретен ключ се използва за удостоверяване на критични задачи като CRON Jobs и JSON API. Ако оставите полето празно, всички задачи, изискващи удостоверяване на потребителя, ще бъдат бъдат деактивирани." +COM_CONVERTFORMS_IMAGE_ALT="Alt-таг за изображение" +COM_CONVERTFORMS_IMAGE_ALT_DESC="Алтернативен текст към изображение" +COM_CONVERTFORMS_CUSTOM_CODE="Потребителски код" +COM_CONVERTFORMS_CUSTOM_CODE_DESC="Поставете потребителски код в края на формуляра. Приемат се HTML, CSS и Javascript.

        За Javascript не забравяйте да рамкирате кода с <script>.

        Добавеният код в тази област не се изпълнява в бекенда." +COM_CONVERTFORMS_ISSUES="проблеми" +COM_CONVERTFORMS_ISSUES_DETECTED="%s открити проблеми при изпращане" +COM_CONVERTFORMS_CREATED="Дата на създаване" +COM_CONVERTFORMS_MODIFIED="Дата на промяна" +COM_CONVERTFORMS_IP="IP адрес на подателя" +COM_CONVERTFORMS_USER_ID="ID на подателя" +COM_CONVERTFORMS_USER_USERNAME="Потребителско име на подателя" +COM_CONVERTFORMS_VISITOR_ID="ID на посетителя" +COM_CONVERTFORMS_FORM_NAME="Име формуляр" +COM_CONVERTFORMS_CAMPAIGN_NAME="Име Кампания" +COM_CONVERTFORMS_ID="ID" +COM_CONVERTFORMS_CHOOSE_COLUMNS="Колони" +COM_CONVERTFORMS_CHOOSE_COLUMNS_OPTIONS="За да активирате конкретни полета, първо изберете формуляр в лентата с филтри." +COM_CONVERTFORMS_UNTITLED_BOX="Формуляр без заглавие" +COM_CONVERTFORMS_SELECT_LAYOUT="Изберете макет" +COM_CONVERTFORMS_SHOW_LAYOUTS="Покажи макети" +COM_CONVERTFORMS_HIDE_LAYOUTS="Скриване на макети" +COM_CONVERTFORMS_FIELDS_COPY="Дублирай поле" +COM_CONVERTFORMS_FIELDS_DELETE="Изтрий поле" +COM_CONVERTFORMS_FIELDGROUP_COMMON="Основни полета" +COM_CONVERTFORMS_FIELDGROUP_FANCY="Подобрени полета" +COM_CONVERTFORMS_FIELDGROUP_ADVANCED="Полета за напреднали" +COM_CONVERTFORMS_FIELD_HTML="HTML" +COM_CONVERTFORMS_FIELD_HTML_DESC="Добавете свободен текст или HTML код. Без ограничение!" +COM_CONVERTFORMS_FIELD_TEXT="Текстово поле" +COM_CONVERTFORMS_FIELD_TEXT_DESC="Текстово поле с един ред" +COM_CONVERTFORMS_FIELD_TEXTAREA="Област текст" +COM_CONVERTFORMS_FIELD_TEXTAREA_DESC="Подобно на текстовото поле, но може да побере въвеждането на многоредов текст." +COM_CONVERTFORMS_FIELD_NUMBER="Номер" +COM_CONVERTFORMS_FIELD_NUMBER_DESC="Текстово поле, което приема само числа" +COM_CONVERTFORMS_FIELD_NUMBER_STEP="Стъпка" +COM_CONVERTFORMS_FIELD_NUMBER_STEP_DESC="Стъпка, с която стойността ще се промени при натискане на стрелка." +COM_CONVERTFORMS_FIELD_NUMBER_MIN="Минимална стойност" +COM_CONVERTFORMS_FIELD_NUMBER_MIN_DESC="Минималната стойност, която полето ще позволи" +COM_CONVERTFORMS_FIELD_NUMBER_MAX="Максимална стойност" +COM_CONVERTFORMS_FIELD_NUMBER_MAX_DESC="Максималната стойност, която полето ще позволи" +COM_CONVERTFORMS_FIELD_RECAPTCHA="reCAPTCHA" +COM_CONVERTFORMS_FIELD_RECAPTCHA_DESC="Спрете подаването на спам чрез Google reCAPTCHA" +COM_CONVERTFORMS_FIELD_RECAPTCHA_KEYS_NOTE="Моля, задайте вашия сайт и Secret key в страницата за конфигуриране." +COM_CONVERTFORMS_FIELD_RECAPTCHA_CONFIGURE="Конфигурирайте reCAPTCHA сега" +COM_CONVERTFORMS_FIELD_RECAPTCHA_THEME_DESC="Цветова тема на джаджа" +COM_CONVERTFORMS_FIELD_RECAPTCHA_SIZE_DESC="Размер на джаджа" +COM_CONVERTFORMS_FIELD_DROPDOWN="Падащ списък" +COM_CONVERTFORMS_FIELD_DROPDOWN_DESC="Списък, който позволява един избор от падащо меню" +COM_CONVERTFORMS_FIELD_RADIO="Радио бутони" +COM_CONVERTFORMS_FIELD_RADIO_DESC="Списък, който позволява един избор от радио бутоните" +COM_CONVERTFORMS_FIELD_URL="уебсайт / URL" +COM_CONVERTFORMS_FIELD_URL_DESC="Приемане правилно оформен URL адрес, който започва с http: // или с https: //" +COM_CONVERTFORMS_FIELD_URL_INVALID="Невалиден URL" +COM_CONVERTFORMS_FIELD_COUNTRY="Държава" +COM_CONVERTFORMS_FIELD_COUNTRY_DESC="Списък на известните държави" +COM_CONVERTFORMS_FIELD_COUNTRY_VALUE="Стойност държава" +COM_CONVERTFORMS_FIELD_COUNTRY_VALUE_DESC="Изберете дали искате да запазите името на държавата (България) или кода на държавата (BG) в базата данни." +COM_CONVERTFORMS_FIELD_COUNTRY_DETECT="Откриване на страната на посетителя" +COM_CONVERTFORMS_FIELD_COUNTRY_DETECT_DESC="Ако е активирано, формулярът ще се опита да открие и попълни страната на посетителя. Изисква да бъде инсталирана приставката TGeoIP." +COM_CONVERTFORMS_FIELD_COUNTRY_NAME="Име на държава" +COM_CONVERTFORMS_FIELD_COUNTRY_CODE="Код на държава" +COM_CONVERTFORMS_FIELD_COUNTRY_EXCLUDE="Изключи държави" +COM_CONVERTFORMS_FIELD_COUNTRY_EXCLUDE_DESC="Въведете разделени със запетая кодове на държави, за да ги изключите от падащото меню. Пример: US,UK,CN" +COM_CONVERTFORMS_FIELD_CURRENCY="Валута" +COM_CONVERTFORMS_FIELD_CURRENCY_DESC="Списък на известните валути" +COM_CONVERTFORMS_FIELD_SUBMIT="Бутон Изпрати" +COM_CONVERTFORMS_FIELD_SUBMIT_DESC="Бутонът, който ще изпрати формуляра" +COM_CONVERTFORMS_FIELD_HIDDEN="Скрито поле" +COM_CONVERTFORMS_FIELD_HIDDEN_DESC="Поле, което не се вижда от потребителя в сайта." +COM_CONVERTFORMS_FIELD_EMAIL="Имейл адрес" +COM_CONVERTFORMS_FIELD_EMAIL_DESC="Текстово поле, което приема само валиден имейл адрес" +COM_CONVERTFORMS_FIELD_TERMSOFSERVICE="Условия за ползване" +COM_CONVERTFORMS_FIELD_TERMSOFSERVICE_DESC="Изисква от потребителя да се съгласи с вашите Условия за ползване, преди да им бъде разрешено да изпратят формуляра" +COM_CONVERTFORMS_FIELD_TERMSOFSERVICE_TEXT_LABEL="Условия за ползване – текст" +COM_CONVERTFORMS_FIELD_TERMSOFSERVICE_TEXT_LABEL_DESC="Текстът, който се появява веднага след отметката" +COM_CONVERTFORMS_FIELD_CHECKBOX="Отметки чекбокс" +COM_CONVERTFORMS_FIELD_CHECKBOX_DESC="Списък, който позволява множество отметки в чекбокс квадратчетата" +COM_CONVERTFORMS_FIELD_REQUIRED="Задължително" +COM_CONVERTFORMS_FIELD_EMAIL_INVALID="Невалиден имейл адрес" +COM_CONVERTFORMS_FIELD_SIZE="Размер на полето" +COM_CONVERTFORMS_FIELD_SIZE_DESC="Изберете размер по подразбиране на поле" +COM_CONVERTFORMS_FIELD_TEL="Телефон" +COM_CONVERTFORMS_FIELD_TEL_DESC="Позволява потребителят да въведе телефонен номер." +COM_CONVERTFORMS_FIELD_DATETIME="Дата / Час" +COM_CONVERTFORMS_FIELD_DATETIME_DESC="Избор на дата/час, който позволява избор на една дата, няколко дати или диапазон по дати." +COM_CONVERTFORMS_FIELD_DATETIME_FORMAT="Формат на дата" +COM_CONVERTFORMS_FIELD_DATETIME_FORMAT_DESC="Формат на показваната дата. Примери:

        d/m/Y H: i
        Y-m-d
        m/d/YYY" +COM_CONVERTFORMS_FIELD_DATETIME_TIMEPICKER="Покажи Избор на час" +COM_CONVERTFORMS_FIELD_DATETIME_TIMEPICKER_DESC="Активира Избор на час. Ако е активирано, уверете се, че сте включили символите за време (H: i) в полето Формат ва дата." +COM_CONVERTFORMS_FIELD_DATETIME_MIN_DATE="Мин. Дата" +COM_CONVERTFORMS_FIELD_DATETIME_MIN_DATE_DESC="Минимална / най-ранната дата, разрешена за избор. Поддържа относителни формати като: днес, утре, +5 дена, +2 седмици / today, tomorrow, +5 day, +2 week" +COM_CONVERTFORMS_FIELD_DATETIME_MAX_DATE="Макс. Дата" +COM_CONVERTFORMS_FIELD_DATETIME_MAX_DATE_DESC="Максимална / последна дата, разрешена за избор. Поддържа относителни формати като: днес, утре, +5 дена, +2 седмици / today, tomorrow, +5 day, +2 week" +COM_CONVERTFORMS_FIELD_DATETIME_MODE="Режим на избор на дата" +COM_CONVERTFORMS_FIELD_DATETIME_MODE_DESC="Позволете на потребителя да избере една дата, няколко дати, или диапазон от дати." +COM_CONVERTFORMS_FIELD_DATETIME_TIME24="24 ч. формат" +COM_CONVERTFORMS_FIELD_DATETIME_TIME24_DESC="Показва избор на време в 24 часов режим без избор на AM/PM." +COM_CONVERTFORMS_FIELD_DATETIME_MINUTE_STEP="Стъпка минути" +COM_CONVERTFORMS_FIELD_DATETIME_MINUTE_STEP_DESC="Регулира стъпката за минути при Избор на час" +COM_CONVERTFORMS_FIELD_DATETIME_INLINE="Покажи на реда" +COM_CONVERTFORMS_FIELD_DATETIME_INLINE_DESC="Показва календара вътре във формуляра вместо като изскачащ прозорец." +COM_CONVERTFORMS_FIELD_DATETIME_THEME="Тема" +COM_CONVERTFORMS_FIELD_DATETIME_THEME_DESC="Избор тема на календар" +COM_CONVERTFORMS_FIELD_DATETIME_INVALID="Невалиден формат за дата - %s" +COM_CONVERTFORMS_FIELD_DATETIME_DISABLEMOBILE="Деактивирайте системния Избор на дата за мобилни устройства" +COM_CONVERTFORMS_FIELD_DATETIME_DISABLEMOBILE_DESC="Ако е поставено отметка, потребителите на мобилни устройства ще видят Избор на дата от Convert Form, вместо системния за устройството за избор на дата на интерфейс." +COM_CONVERTFORMS_CSS_CLASSES="CSS клас" +COM_CONVERTFORMS_CSS_CLASSES_DESC="Добавете CSS класове към контейнера за въвеждане. Това може да се използва предимно за целите на оформлението." +COM_CONVERTFORMS_INPUT_CSS_CLASSES="CSS клас, въвеждане " +COM_CONVERTFORMS_INPUT_CSS_CLASSES_DESC="Добавете CSS класове към въвеждащия елемент. Използвайте тази опция, за да стилизирате въвждането." +COM_CONVERTFORMS_DISABLE_BROWSER_AUTOCOMPLETE="Деактивиране на автоматичното довършване на браузъра" +COM_CONVERTFORMS_DISABLE_BROWSER_AUTOCOMPLETE_DESC="По подразбиране браузърите запомнят информация, която потребителят предоставя чрез полета за въвеждане. Активирайте тази опция, за да деактивирате автоматичното попълване в полетата." +; COM_CONVERTFORMS_FIELD_DESCRIPTION="Help Text" +; COM_CONVERTFORMS_FIELD_DESCRIPTION_DESC="Help text to show alongside this field." +COM_CONVERTFORMS_FIELD_EMAIL_DNSCHECK="DNS проверка" +COM_CONVERTFORMS_FIELD_EMAIL_DNSCHECK_DESC="Потвърдете въведения имейл адрес с DNS проверка." +COM_CONVERTFORMS_FIELDGROUP_USERINFO="Полета информация за потребителя" +COM_CONVERTFORMS_FIELD_CONFIRM="Потвърждение" +COM_CONVERTFORMS_FIELD_CONFIRM_DESC="Поле за потвърждение съвпадение по данни на две полета" +COM_CONVERTFORMS_FIELD_CONFIRM_FIELD="Потвърждение ключ на поле" +COM_CONVERTFORMS_FIELD_CONFIRM_FIELD_DESC="Въведете ключа на полето, който ще се използва за проверка, че стойността му съвпада" +COM_CONVERTFORMS_FIELD_CONFIRM_INVALID="Полето не е конфигурирано правилно" +COM_CONVERTFORMS_FIELD_CONFIRM_NOT_MATCH="Стойностите на полето не съвпадат" +COM_CONVERTFORMS_HIDE_TEXT="Скрий текст" +COM_CONVERTFORMS_HIDE_TEXT_DESC="Скриване на текста след успешно изпращане" +COM_CONVERTFORMS_FORM_IS_MISSING_THE_EMAIL_FIELD="Във формуляра липсва имейл поле" +COM_CONVERTFORMS_INVALID_LEAD="Не може да се валидира Изпратеният обект" +COM_CONVERTFORMS_EXCEL_SECURITY="Excel – разширена безопасност" +COM_CONVERTFORMS_EXCEL_SECURITY_DESC="Ако е активирана, стойностите в CSV експортирания файл, започващ с =, +, - или @, ще бъдат префиксирани с табулация, за да се избегне каквото и да е CSV инжектиране при отваряне на експортирания файл в Excel.

        Деактивирайте тази опция само ако сте 100% сигурни, че данните са надеждни или ако имате проблеми с импортирането на CSV файла в приложение на 3-та страна." +COM_CONVERTFORMS_CHOICE_LAYOUT="Избор на макет" +COM_CONVERTFORMS_CHOICE_LAYOUT_DESC="Изберете макет за показване избора на полета" +COM_CONVERTFORMS_CHOICE_1_COLUMN="Една колона" +COM_CONVERTFORMS_CHOICE_2_COLUMN="Две колони" +COM_CONVERTFORMS_CHOICE_3_COLUMN="Три колони" +COM_CONVERTFORMS_CHOICE_SIDE_BY_SIDE="Един до друг" +COM_CONVERTFORMS_REQUIRED_INDICATION="Индикация на задължително поле" +COM_CONVERTFORMS_REQUIRED_INDICATION_DESC="Посочва задължителните полета със звездичка до всеки етикет на поле. Изисква се етикетът на полето да не е скрит." +COM_CONVERTFORMS_INPUT_MASK="Маска Въвеждане" +COM_CONVERTFORMS_INPUT_MASK_DESC="Помогнете на потребителя с въвеждането чрез предварително определен формат.

        Синтаксис:
        9: Числа (0-9)
        a: Букви (a-я или A-Я)
        A: Главни букви (A-Я)
        *: Буквено-цифрови (0-9, a-я или A-Я)
        &: Главни буквено-цифрови (0-9 или A-Я)

        Примери:
        Телефон: +1 (999) -9999
        Дата: 99/99 / 9999
        Пощенски код: 99999? -9999" +COM_CONVERTFORMS_LEAD_USER_SUBMITTED_DATA="Подадени от потребителя данни" +COM_CONVERTFORMS_NO_SUBMITTED_DATA="Не са открити изпратени данни" +COM_CONVERTFORMS_LEAD_INFO="Информация Подаване" +COM_CONVERTFORMS_NOTES="Бележки" +COM_CONVERTFORMS_DATE_RANGE="Диапазон от дати" +COM_CONVERTFORMS_START_DATE="Начална дата" +COM_CONVERTFORMS_END_DATE="Крайна дата" +COM_CONVERTFORMS_PERIOD="Диапазон" +COM_CONVERTFORMS_PERIOD_SELECT="- Избери диапазон дати - " +COM_CONVERTFORMS_HONEYPOT="Активиране на анти-спам Honeypot" +COM_CONVERTFORMS_HONEYPOT_DESC="Разрешете, за да добавите скрито Honeypot поле, която ше е видимо само за ботове. По този начин, когато полето се попълни, формулярът може автоматично да разбере, че потребителят е бил спамбот.

        В много сайтове Honeypot е достатъчен, за да се избегнат спам записи. Ако все още получавате спам или искате да предприемете допълнителна предпазна мярка срещу него, reCAPTCHA е чудесна допълнителна опция." +COM_CONVERTFORMS_FIELD_FILEUPLOAD="Качване на файл" +COM_CONVERTFORMS_FIELD_FILEUPLOAD_DESC="Дава възможност на потребителя да качва файлове" +; COM_CONVERTFORMS_FILEUPLOAD_TEMP_FOLDER_NOT_WRITABLE="Your site's temp folder is set to %s but it's not writable. Please specify a writable temp folder." +; COM_CONVERTFORMS_FILEUPLOAD_FOLDER_TYPE="Upload Destination" +; COM_CONVERTFORMS_FILEUPLOAD_FOLDER_TYPE_DESC="Specify a destination folder for uploaded files.

        Auto: The files will be uploaded to /media/com_convertforms/uploads folder. Additionally a random prefix will be added in the beginning of each file name to increase security.

        Custom: Specify a custom destination folder and naming convention." +; COM_CONVERTFORMS_FILEUPLOAD_FOLDER="Custom Upload Destination" +; COM_CONVERTFORMS_FILEUPLOAD_FOLDER_DESC="Enter the path relative to the root of your webspace where the uploaded files will be stored. To rename uploaded files use the following Smart Tags.

        {file.basename}: cat.jpg
        {file.extension}: jpg
        {file.filename}: cat
        {file.index}
        : index number

        It can also accept global Smart Tags like {year}, {month}, {user.id} or {randomid} to create an even more dynamic upload destination." +COM_CONVERTFORMS_FILEUPLOAD_LIMIT_FILES="Ограничаване бр. файлове" +COM_CONVERTFORMS_FILEUPLOAD_LIMIT_FILES_DESC="Колко файла могат да бъдат качени? Ако е въведено 0 – без ограничение." +COM_CONVERTFORMS_FILEUPLOAD_MAX_FILE_SIZE="Ограничение размера на файл" +COM_CONVERTFORMS_FILEUPLOAD_MAX_FILE_SIZE_DESC="Задайте максималния допустим размер за всеки качен файл в мегабайти. Въведете 0 за без ограничение.

        Максималният размер на качването на вашия сървър е: %s." +COM_CONVERTFORMS_FILEUPLOAD_UPLOAD_TYPES="Разрешени типове файлове" +; COM_CONVERTFORMS_FILEUPLOAD_UPLOAD_TYPES_DESC="Enter comma separated list of allowed file types like: .jpg, .gif, .png, .pdf

        You may enter media types like: application/pdf, images/*, video/* or you can mix both: application/*, .png, .jpg

        Note: This is not fool-proof and can be tricked, please remember that there is always a danger in allowing users to upload files.

        The PHP extension fileinfo is required to be installed to guess." +COM_CONVERTFORMS_FIELD_FILTER="Филтър" +COM_CONVERTFORMS_FIELD_FILTER_DESC="Филтрирайте въвеждането от потребителя въз основа на следните филтри.
        Текст: Преобразува въвеждането в обикновен текстов низ; премахва всички тагове / атрибути.
        Безопасен HTML: Приемайте само безопасни HTML елементи. Букви-Цифри: Разрешава a-я и 0-9
        Думи: Разрешава само букви a-я и подчертаване
        Integer: Използва само първата цифра Float: Разрешава само символи a-я и подчертава" +COM_CONVERTFORMS_UPLOAD_ERROR="Невалиден формуляр или ключ на поле" +COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FIELD="Невалидно поле за качване" +COM_CONVERTFORMS_UPLOAD_ERROR_INVALID_FILE="Невалиден или неподдържан файл" +COM_CONVERTFORMS_UPLOAD_MAX_FILES_LIMIT="Можете да качвате до %d файла" +COM_CONVERTFORMS_UPLOAD_DRAG_AND_DROP_FILES="Завлачете и пуснете файлове тук или" +COM_CONVERTFORMS_UPLOAD_BROWSE="Преглед" +; COM_CONVERTFORMS_UPLOAD_FILE_IS_MISSING="Temporary file %s is missing. Please re-upload." +COM_CONVERTFORMS_UPLOAD_FOLDER_INVALID="Папката за качване %s не съществува или папката не е с разрешени права за запис в нея" +COM_CONVERTFORMS_UPLOAD_FILETOOBIG="Файлът е твърде голям ({{filesize}} MB). Максимален размер на файловете: {{maxFilesize}} MB." +COM_CONVERTFORMS_UPLOAD_INVALID_FILE="Не можете да качвате файлове от този тип." +COM_CONVERTFORMS_UPLOAD_FALLBACK_MESSAGE="Браузърът ви не поддържа качване на файлове с Drag'n'drop." +COM_CONVERTFORMS_UPLOAD_RESPONSE_ERROR = "Сървърът отговори с {{statusCode}} код." +COM_CONVERTFORMS_UPLOAD_CANCEL_UPLOAD="Прекратяване на качването" +COM_CONVERTFORMS_UPLOAD_CANCEL_UPLOAD_CONFIRMATION="Наистина ли искате да прекратите това качване?" +COM_CONVERTFORMS_UPLOAD_REMOVE_FILE="Премахване на файл" +COM_CONVERTFORMS_UPLOAD_MAX_FILES_EXCEEDED="Не можете да качвате повече файлове." +COM_CONVERTFORMS_UPLOAD_AUTO_DELETE="Автоматично изтриване на файлове" +COM_CONVERTFORMS_UPLOAD_AUTO_DELETE_DESC="Ако получавате много качвания, сървърното пространство може бързо да се запълни, което изисква редовно обслужване за освобождаване на място.

        Тази опция ви помага автоматично да се изтриват файлове от папката за качване след зададен период.

        Например въведете 3, за да изтриете автоматично файлове на възраст над 3 дни или 0, ако искате да запазите файловете завинаги.

        Забележка: Приставката Convert Forms Uploaded Files Cleaner plugin трябва да е активирана и да е конфигуриран съответния Cron Job URL адрес на вашия сървър," +COM_CONVERTFORMS_READONLY="Само за четене" +COM_CONVERTFORMS_READONLY_DESC="Предотвратяване въвеждане в това поле" +COM_CONVERTFORMS_PHPSCRIPT="PHP скриптове" +COM_CONVERTFORMS_PHPSCRIPT_FORM_DISPLAY="Формулар Показване" +COM_CONVERTFORMS_PHPSCRIPT_FORM_DISPLAY_DESC="PHP скриптът, добавен в тази област, се изпълнява веднага преди показването на формата.

        Основният акцент в тази област е променливата $formLayout (String), която съдържа HTML кода на формата.

        За достъп до настройките на формата използвайте $form (Array ) променлива.

        Не е необходимо да включвате <?php and ?> маркерите." +COM_CONVERTFORMS_PHPSCRIPT_FORM_PROCESS="Формуляр процес" +COM_CONVERTFORMS_PHPSCRIPT_FORM_PROCESS_DESC="PHP кодът, добавен в тази област, се изпълнява непосредствено преди данните от формуляра да бъдат запазени в базата данни, независимо дали изпращането е валидно или не.

        Тази област е по-полезна, когато трябва да обработите изчисления, да извършите разширено валидиране или да промените стойността на полето. Всички модификации на променлива $post (Array), извършени тук, ще бъдат отразени в записа за изпращане.

        За достъп до настройките на формуляра, използвайте променливата $form (Array).

        Не е необходимо да включвате маркерите <?php and ?>." +COM_CONVERTFORMS_PHPSCRIPT_AFTER_FORM_SUBMISSION="След подаване на формуляр" +COM_CONVERTFORMS_PHPSCRIPT_AFTER_FORM_SUBMISSION_DESC="PHP кодът, добавен в тази област, се изпълнява, след като формулярът е успешно изпратен и данните са записани в базата данни.

        Това е по-полезно, когато се опитвате да изпълните някои допълнителни задачи като безмълвно публикуване на данни на друг URL адрес. Можете да получите достъп до окончателното изпращане чрез променливата $submission (Object).

        За достъп до настройките на формуляра използвайте променливата $form (Array).

        Не е необходимо да включвате маркерите <?php and ?> tags." +; COM_CONVERTFORMS_PHPSCRIPT_NOTE="PHP Scripts are not executed on the backend to prevent issues with the live form previewer. Always test on the front-end." +COM_CONVERTFORMS_FIELD_PASSWORD="Парола" +COM_CONVERTFORMS_FIELD_PASSWORD_DESC="Предоставя на потребителя безопасно да въведе парола" +COM_CONVERTFORMS_FIELD_CONFIRM_TYPE="Поле за потвъждаване" +COM_CONVERTFORMS_FIELD_CONFIRM_TYPE_DESC="Изберете типа на Поле за потвърждаване между Текст и Парола." +COM_CONVERTFORMS_PHPSCRIPT_FORM_PREPARE="Предзареждане и подготвяне формуляр" +COM_CONVERTFORMS_PHPSCRIPT_FORM_PREPARE_DESC="PHP скриптът, добавен в тази област, се изпълнява точно преди да се подготвят данните на формата и да се изпратят до функцията за показване на формуляра.

        Основният акцент в тази област е променливата $form (Array), която съдържа настройките на формуляра.

        Не е необходимо да включвате маркерите <?php and ?>." +COM_CONVERTFORMS_ERROR_USER_ALREADY_EXIST="%s вече е регистриран." +COM_CONVERTFORMS_ERROR_INVALID_EMAIL_ADDRESS="%s изглежда фалшив или невалиден... Моля, въведете истински имейл адрес." +COM_CONVERTFORMS_RECAPTCHA_NOT_LOADED="Грешка: Google reCAPTCHA скриптът не се зарежда. Уверете се, че браузърът ви не го блокира или се свържете с администратора на сайта." +COM_CONVERTFORMS_ACCESS_FORMS="Достъп управление формуляри" +COM_CONVERTFORMS_ACCESS_FORMS_DESC="Позволява на потребителите в тази група да управляват формуляри." +COM_CONVERTFORMS_ACCESS_SUBMISSIONS="Достъп до изпращания" +COM_CONVERTFORMS_ACCESS_SUBMISSIONS_DESC="Позволява на потребителите в тази група да управляват Изпратените заявки от формуляр." +COM_CONVERTFORMS_ACCESS_CAMPAIGNS="Достъп до Кампании" +COM_CONVERTFORMS_ACCESS_CAMPAIGNS_DESC="Позволява на потребителите в тази група да управляват Кампании. Активирайте това, ако имате с проблеми с изпращането на спам." +COM_CONVERTFORMS_CSRF_CHECK="Използвайте Joomla! CSRF Token" +COM_CONVERTFORMS_CSRF_CHECK_DESC="Добавете допълнителен защитен слой към формулярите си, като верифициране всички AJAX заявки с CSRF Tokens.

        Ако активирате това и използвате кеш механизъм, който кешира целия изход на страницата, като Joomla! Page Cache plugin или кеширащ прокси сървър като CloudFlare или Sucuri, може да срещнете проблеми с изпращането на формуляра." +COM_CONVERTFORMS_THANK_YOU_MESSAGE="Формулярът е успешно изпратен" +COM_CONVERTFORMS_SECRET_SET="Моля, конфигурирайте секретен ключ, за да може да ползвате optin крайната точка." +COM_CONVERTFORMS_SECRET_NO="Не е предоставен секретен ключ в URL адреса " +COM_CONVERTFORMS_SECRET_WRONG="Грешен секретен ключ е предоставен в URL " +COM_CONVERTFORMS_SECURITY="Сигурност" +COM_CONVERTFORMS_FIELD_RECAPTCHAV2INVISIBLE="reCAPTCHA Invisible" +COM_CONVERTFORMS_FIELD_RECAPTCHAV2INVISIBLE_DESC="Спрете подаването на спам, като използвате Invisible Google reCAPTCHA" +COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE="Значка" +COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_DESC="Позиция на значката reCAPTCHA. 'inline' ви позволява да го позиционирате с CSS." +COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_BOTTOMRIGHT="Долу в дясно" +COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_BOTTOMLEFT="Долу в ляво" +COM_CONVERTFORMS_FIELD_RECAPTCHA_INVIS_BADGE_INLINE="Inline" +COM_CONVERTFORMS_SUBMISSIONS_VIEW_DEFAULT_TITLE="Заявки" +COM_CONVERTFORMS_SUBMISSIONS_LIST="Списък заявки" +COM_CONVERTFORMS_FRONT_SUBMISSIONS_CONFIRMED_ONLY="Показва само потвърденените" +COM_CONVERTFORMS_FRONT_SUBMISSIONS_CONFIRMED_ONLY_DESC="Активирайте това, за да се показват само потвърдени заявки." +COM_CONVERTFORMS_HIDE_EMPTY_VALUES="Скриване на празните стойности" +COM_CONVERTFORMS_HIDE_EMPTY_VALUES_DESC="Активирайте тази опция, за да скриете полета с празни стойности." +COM_CONVERTFORMS_SELECT_FORM="Изберете формуляр" +COM_CONVERTFORMS_SELECT_FORM_DESC="Изберете формуляра, от който да се показват заявките" +; COM_CONVERTFORMS_SELECT_FORM_DESC2="Select the form to display" +COM_CONVERTFORMS_LIST_LIMIT="Лимит страници" +COM_CONVERTFORMS_LIST_LIMIT_DESC="Брой заявки за показване на страница. Въведете 0 за без ограничение." +COM_CONVERTFORMS_FRONT_SUBMISSIONS_VIEW_OWN_ONLY="Виж само своите" +COM_CONVERTFORMS_FRONT_SUBMISSIONS_VIEW_OWN_ONLY_DESC="Въпреки че можете да покажете списък с заявки от различни потребители, на посетителя ще бъде разрешен достъп до страницата с подробности само за собствените заявки, ако тази опция е активирана.

        Посетителят е длъжен да влезе в акаунта си." +COM_CONVERTFORMS_FRONT_SUBMISSIONS_PAGINATION="Покажи пагинация" +COM_CONVERTFORMS_FRONT_SUBMISSIONS_PAGINATION_DESC="Ако общият брой на заявките надвишава ограничението за показване на екран, под списъка за подаване ще бъдат показани връзки за пагинация страници." +COM_CONVERTFORMS_ORDER="Сортиране на заявки" +COM_CONVERTFORMS_ORDER_DESC="Ред на показване на заявките." +COM_CONVERTFORMS_ORDER_RECENT="Най-новите първи" +COM_CONVERTFORMS_ORDER_OLDEST="Най-старите първи" +COM_CONVERTFORMS_ORDER_RANDOM="Произволен ред" +COM_CONVERTFORMS_FILTER_USER="Показване на заявки от" +COM_CONVERTFORMS_FILTER_USER_DESC="Изберете да филтрирате заявките от потребителя, който ги е подал.

        Влезли в системата потребители Показва заявки, подадени само от текущия влезнал в системата потребител. Всеки потребител ще вижда своите заявки.

        Всички потребители Показва всички заявки.

        Специфични потребители Позволява подателите да филтрират заявките." +COM_CONVERTFORMS_FILTER_USER_LOGGED_IN="Влезнали потребители" +COM_CONVERTFORMS_FILTER_USER_ALL="Всички потребители" +COM_CONVERTFORMS_FILTER_USER_SELECT="Специфични потребители" +COM_CONVERTFORMS_SET_USERS="ID идентификатори потребители " +COM_CONVERTFORMS_SET_USERS_DESC="Въведете ID идентификатор на Joomla User, за да филтрирате подадените заявки. Използвайте запетая, за да разделите няколко ID номера." +COM_CONVERTFORMS_LOAD_CSS="Зареди стилове" +COM_CONVERTFORMS_LOAD_CSS_DESC="Деактивирайте тази опция, ако не искате CSS стиловете на Convert Forms да не бъдат заредени." +COM_CONVERTFORMS_SUBMISSIONS_LAYOUT="Макет" +COM_CONVERTFORMS_SUBMISSIONS_LAYOUT_DESC="Изберете шаблон, който ще се използва за показване на заявките в сайта. Можете също да създадете свои шаблони." +COM_CONVERTFORMS_SUBMISSIONS_LAYOUT_TYPE="Тип оформление" +COM_CONVERTFORMS_SUBMISSIONS_LAYOUT_TYPE_DESC="Тип оформление" +COM_CONVERTFORMS_SUBMISSIONS_TEMPLATE="Шаблон" +COM_CONVERTFORMS_SUBMISSIONS_SELECT_TEMPLATE="Изберете шаблон" +COM_CONVERTFORMS_SUBMISSIONS_SELECT_TEMPLATE_DESC="Изберете шаблон за показване на заявките. Той ще се използва както за списък, така и за подробен изглед.

        Можете да добавяте собствени макети преопределения във вашия шаблон." +COM_CONVERTFORMS_SUBMISSIONS_CONTAINER_LAYOUT="Контейнер шаблон" +COM_CONVERTFORMS_SUBMISSIONS_CONTAINER_LAYOUT_DESC="Главен HTML шаблон на списъка със заявки. Не премахвайте {submissions} маркер от него, тъй като той заменя с изходните данни." +COM_CONVERTFORMS_SUBMISSIONS_ROW_LAYOUT="Оформление на редовете" +COM_CONVERTFORMS_SUBMISSIONS_ROW_LAYOUT_DESC="HTML оформление на всяка заявка, както е показано в оформлението на контейнера." +COM_CONVERTFORMS_SUBMISSIONS_DETAILS_LAYOUT="Оформление на Детайли" +COM_CONVERTFORMS_SUBMISSIONS_DETAILS_LAYOUT_DESC="HTML оформлението на страницата с подробности за заявката." +; COM_CONVERTFORMS_FIELD_EMPTYSPACE="Empty Space" +; COM_CONVERTFORMS_FIELD_EMPTYSPACE_DESC="Add an empty space in your form" +; COM_CONVERTFORMS_FIELD_EMPTY_SPACE_GAP="Empty Space" +; COM_CONVERTFORMS_FIELD_EMPTY_SPACE_GAP_DESC="Set a vertical gap between fields in pixels." +; COM_CONVERTFORMS_FIELD_HEADING="Heading" +; COM_CONVERTFORMS_FIELD_HEADING_DESC="Add a Heading title to group your fields" +; COM_CONVERTFORMS_FIELD_HEADING_HEADINGTYPE="Title HTML Element" +; COM_CONVERTFORMS_FIELD_HEADING_HEADINGTYPE_DESC="Select the heading type." +; COM_CONVERTFORMS_FIELD_HEADING_USELINK="Use Link" +; COM_CONVERTFORMS_FIELD_HEADING_USELINK_DESC="Whether to make the heading point to a URL." +; COM_CONVERTFORMS_FIELD_HEADING_LINK="Link" +; COM_CONVERTFORMS_FIELD_HEADING_LINK_DESC="Enter the link to redirect the user to." +; COM_CONVERTFORMS_FIELD_HEADING_NEWTAB="Open in new tab" +; COM_CONVERTFORMS_FIELD_HEADING_NEWTAB_DESC="Enable to open the link in a new tab." +; COM_CONVERTFORMS_FIELD_HEADING_FONT_SIZE_DESC="Set the font font size for the heading." +; COM_CONVERTFORMS_FIELD_HEADING_FONT_FAMILY_DESC="Select the font family for the heading." +; COM_CONVERTFORMS_FIELD_HEADING_LINE_HEIGHT="Line Height" +; COM_CONVERTFORMS_FIELD_HEADING_LINE_HEIGHT_DESC="Set the line height for the heading." +; COM_CONVERTFORMS_FIELD_HEADING_LETTER_SPACING="Letter Spacing" +; COM_CONVERTFORMS_FIELD_HEADING_LETTER_SPACING_DESC="Set the letter spacing for the heading." +; COM_CONVERTFORMS_FIELD_HEADING_CONTENT_ALIGNMENT="Content Alignment" +; COM_CONVERTFORMS_FIELD_HEADING_CONTENT_ALIGNMENT_DESC="Select the alignment of the heading." +COM_CONVERTFORMS_FIELD_OPTIONS_SHOW_VALUES="Показва стойности" +COM_CONVERTFORMS_FIELD_OPTIONS_SHOW_VALUES_DESC="Уверете се, че сте задали уникална стойност за всеки избор или няма да имате начин да знаете коя опция е избрана от потребителя" +COM_CONVERTFORMS_FIELD_OPTIONS_CALC_VALUES="Използване калкулация на стойности" +COM_CONVERTFORMS_FIELD_OPTIONS_CALC_VALUES_DESC="Стойностите за изчисление обикновено се използват за изчисления. Представя числова стойност на избор." +COM_CONVERTFORMS_FIELD_DIVIDER="Разделител" +COM_CONVERTFORMS_FIELD_DIVIDER_DESC="Разделя вашия формуляр на секции" +COM_CONVERTFORMS_FIELD_BORDER_STYLE="Стил конкур" +COM_CONVERTFORMS_FIELD_BORDER_STYLE_DESC="Изберете стила на линията на разделителя." +COM_CONVERTFORMS_FIELD_BORDER_STYLE_SOLID="Плътен" +COM_CONVERTFORMS_FIELD_BORDER_STYLE_DASHED="Пунктир" +COM_CONVERTFORMS_FIELD_BORDER_STYLE_DOTTED="На точки" +COM_CONVERTFORMS_FIELD_BORDER_WIDTH="Ширина на разделител" +COM_CONVERTFORMS_FIELD_BORDER_WIDTH_DESC="Изберете ширината на разделителя." +COM_CONVERTFORMS_FIELD_BORDER_COLOR="Цвят линия" +COM_CONVERTFORMS_FIELD_BORDER_COLOR_DESC="Задайте цвета на линията на разделителя." +COM_CONVERTFORMS_FIELD_MARGIN_TOP="Горно поле" +COM_CONVERTFORMS_FIELD_MARGIN_TOP_DESC="Задайте поле отстояние от горе на разделителя." +COM_CONVERTFORMS_FIELD_MARGIN_BOTTOM="Долно поле" +COM_CONVERTFORMS_FIELD_MARGIN_BOTTOM_DESC="Задайте поле отстояние от долу на разделителя." +COM_CONVERTFORMS_FIELD_DATETIME_FIRSTDAYOFWEEK="Първи ден от седмицата" +COM_CONVERTFORMS_FIELD_DATETIME_FIRSTDAYOFWEEK_DESC="Променете първия ден от седмицата, представен в календара за избор на дата." +COM_CONVERTFORMS_ENTER_LABEL="Въведете етикет" +COM_CONVERTFORMS_ADD_FIELD="Добав поле" +COM_CONVERTFORMS_ALL_FIELDS="Всички полета" +; COM_CONVERTFORMS_ALL_FILLED_ONLY_FIELDS="All Filled-only Fields" +; COM_CONVERTFORMS_FIELDGROUP_LAYOUT="Layout Fields" +; COM_CONVERTFORMS_UPLOAD_ALLOW_UNSAFE="Allow Unsafe Files" +; COM_CONVERTFORMS_UPLOAD_ALLOW_UNSAFE_DESC="Allow the upload of unsafe files.

        A file is considered unsafe when:
        - A null byte is found in the file name.
        - File extension is forbidden: .php, py etc.
        - There's a php tag in file content.
        - There's a short tag in file content.
        - There's a forbidden extension anywhere in the content.

        This option protects you also from unsafe files included in compressed files such as zip, rar, tar e.t.c." +; COM_CONVERTFORMS_LABEL_POSITION="Label Position" +; COM_CONVERTFORMS_LABEL_POSITION_DESC="Set the position of the field label" +; COM_CONVERTFORMS_INVALID_RESPONSE="Invalid Response" +; COM_CONVERTFORMS_INVALID_TASK="Invalid Task" +; COM_CONVERTFORMS_ERROR_WAIT_FILE_UPLOADS="Please wait file uploading to complete." +; COM_CONVERTFORMS_ERROR_INPUTMASK_INCOMPLETE="Mask is incomplete" +; COM_CONVERTFORMS_SUBMISSION_ID="Submission ID" +; COM_CONVERTFORMS_SUBMISSION_DATE="Submission Date" +; COM_CONVERTFORMS_SUBMISSION_CAMPAIGN_ID="Submission Campaign ID" +; COM_CONVERTFORMS_SUBMISSION_FORM_ID="Submission Form ID" +; COM_CONVERTFORMS_SUBMISSION_VISITOR_ID="Submission Visitor ID" +; COM_CONVERTFORMS_SUBMISSION_USER_ID="Submission User ID" +; COM_CONVERTFORMS_SUBMISSIONS_COUNT="Submissions Count" +; COM_CONVERTFORMS_MIN_CHARS="Minimum Characters" +; COM_CONVERTFORMS_MIN_CHARS_DESC="Minimum length for this field in characters. Enter 0 for no limit." +; COM_CONVERTFORMS_MAX_CHARS="Maximum Characters" +; COM_CONVERTFORMS_MAX_CHARS_DESC="Maximum length for this field in characters. Enter 0 for no limit." +; COM_CONVERTFORMS_MIN_WORDS="Minimum Words" +; COM_CONVERTFORMS_MIN_WORDS_DESC="Minimum length for this field in words. Enter 0 for no limit." +; COM_CONVERTFORMS_MAX_WORDS="Maximum Words" +; COM_CONVERTFORMS_MAX_WORDS_DESC="Maximum length for this field in words. Enter 0 for no limit." +; COM_CONVERTFORMS_FIELD_VALIDATION_MIN_CHARS="Please lengthen this text to %s characters or more. You're currently using %s characters." +; COM_CONVERTFORMS_FIELD_VALIDATION_MAX_CHARS="Please shorten this text to %s characters or less. You're currently using %s characters." +; COM_CONVERTFORMS_FIELD_VALIDATION_MIN_WORDS="Please lengthen this text to %s words or more. You're currently using %s words." +; COM_CONVERTFORMS_FIELD_VALIDATION_MAX_WORDS="Please shorten this text to %s words or less. You're currently using %s words." +; COM_CONVERTFORMS_FIELD_EDITOR="Rich Text Editor" +; COM_CONVERTFORMS_FIELD_EDITOR_DESC="Provide a rich text editor for the user to format their responses in this field." +; COM_CONVERTFORMS_EDITOR_HEIGHT="Editor Height" +; COM_CONVERTFORMS_EDITOR_HEIGHT_DESC="Set the height in pixels" +; COM_CONVERTFORMS_EDITOR_SELECT="Joomla Editor" +; COM_CONVERTFORMS_EDITOR_SELECT_DESC="Select the Joomla editor to be used for this field.

        If you don't see any editors in the list, make sure you've installed and activated at least 1 Joomla Editor plugin through the Joomla Plugins Manager." +; COM_CONVERTFORMS_EDITOR_NOT_FOUND="Joomla Editor not found: %s" +; COM_CONVERTFORMS_EXPORT_COMPLETED="%s submissions exported" +; COM_CONVERTFORMS_DOWNLOAD_WILL_START="Your download will start automatically." +; COM_CONVERTFORMS_EXPORT_WORKING="Exporting" +; COM_CONVERTFORMS_EXPORT_PROCESSING="Processed %s of %s submissions" +; COM_CONVERTFORMS_EXPORT_ERROR_CANT_FIND_FILE="Can't find exported file" +; COM_CONVERTFORMS_FIELD_HCAPTCHA_CONFIGURE="Configure hCaptcha now" +; COM_CONVERTFORMS_FIELD_HCAPTCHA="hCaptcha" +; COM_CONVERTFORMS_FIELD_HCAPTCHA_DESC="Stop spam form submissions using hCaptcha" +; COM_CONVERTFORMS_FIELD_HCAPTCHA_TYPE_DESC="Select whether to use the checkbox or invisible version of hCaptcha." +; COM_CONVERTFORMS_FILEUPLOAD_MIME_CONTENT_TYPE_MISSING="The PHP extension fileinfo is required to guess the mime type of uploaded files but it's not installed or not loaded. Please contact your host to install it." +; COM_CONVERTFORMS_SUBMISSION_DEFAULT_STATE="Submission Default State" +; COM_CONVERTFORMS_SUBMISSION_DEFAULT_STATE_DESC="Set the default state of each new submission." diff --git a/deployed/convertforms/administrator/components/com_convertforms/language/ca-ES/ca-ES.com_convertforms.ini b/deployed/convertforms/administrator/components/com_convertforms/language/ca-ES/ca-ES.com_convertforms.ini index 7666b4ef..d821d422 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/language/ca-ES/ca-ES.com_convertforms.ini +++ b/deployed/convertforms/administrator/components/com_convertforms/language/ca-ES/ca-ES.com_convertforms.ini @@ -1,605 +1,605 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -CONVERTFORMS="Convert Forms" -COM_CONVERTFORMS="Convert Forms" -COM_CONVERTFORMS_DESIGN="Disseny" -COM_CONVERTFORMS_BEHAVIOR="Comportament" -COM_CONVERTFORMS_LIST="Llistat" -COM_CONVERTFORMS_NO_RESULTS_FOUND="No s'ha trobat %s" -COM_CONVERTFORMS_CREATE_NEW="Crear-ne un nou?" -COM_CONVERTFORMS_EMAIL_ASCENDING="Correu electrònic ascendent" -COM_CONVERTFORMS_EMAIL_DESCENDING="Correu electrònic descendent" -COM_CONVERTFORMS_ACTIONS="Accions" -COM_CONVERTFORMS_VIEW_LEADS="Veure contribucions" -NRI_PLG_CONVERTFORMS="Connector Convert Forms" -COM_CONVERTFORMS_CONFIGURATION="Configuració Convert Forms" -COM_CONVERTFORMS_LOADCSS="Carregar fulla d'estils" -COM_CONVERTFORMS_LOADCSS_DESC="Selecciona-ho per carregar la fulla d'estils de l'extensió. Pots deshabilitar això si col·loques els teus estils personalitzats a una altra fulla d'estils, per exemple, el camp Codi Personalitzat o la fulla d'estils de la plantilla" -COM_CONVERTFORMS_DEBUG="Depuració" -COM_CONVERTFORMS_DEBUG_DESC="Activa aquesta opció per tenir una ajuda a l'hora de depurar errors i comportaments inesperats. Els missatges d'error s'enviaran a la consola del teu navegador (Pressiona F12) i a la carpeta Logs." -COM_CONVERTFORMS_FORMS="Formularis" -COM_CONVERTFORMS_FORM="Formulari" -COM_CONVERTFORMS_NEW_FORM="Nou formulari" -COM_CONVERTFORMS_EDIT_FORM="Editar formulari" -COM_CONVERTFORMS_FORM_N_ITEMS_COPIED="%sformularis copiats" -COM_CONVERTFORMS_FORM_N_ITEMS_PUBLISHED="%s formularis publicats" -COM_CONVERTFORMS_FORM_N_ITEMS_UNPUBLISHED="%s formulari no publicat" -COM_CONVERTFORMS_FORM_N_ITEMS_TRASHED="%s formularis reciclats" -COM_CONVERTFORMS_FORM_N_ITEMS_DELETED="%s formularis esborrats" -COM_CONVERTFORMS_FORM_ASCENDING="Formulari ascendent" -COM_CONVERTFORMS_FORM_DESCENDING="Formulari descendent" -COM_CONVERTFORMS_FORM_SELECT="- Escull formulari -" -COM_CONVERTFORMS_FORM_CREATE_MODULE="Publica creant un mòdul" -COM_CONVERTFORMS_FORM_LEADS="Fins ara s'ha contestat a aquest formulari %s vegades" -COM_CONVERTFORMS_FORM_CLIPBOARD_SHORTCODE="Publica emprant el codi curt: %s" -COM_CONVERTFORMS_CAMPAIGN="Campanya" -COM_CONVERTFORMS_CAMPAIGNS="Campanyes" -COM_CONVERTFORMS_NEW_CAMPAIGN="Nova campanya" -COM_CONVERTFORMS_EDIT_CAMPAIGN="Editar Campanya" -COM_CONVERTFORMS_CAMPAIGNS_NAME_DESC="Escriu un nom per la campanya. Aquest nom no el podrà veure ningú més que tu." -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_COPIED="%s Campanyes copiades" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_UNPUBLISHED="%s Campanyes no publicades" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_PUBLISHED="%s Campanyes publicades" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_TRASHED="%s Campanyes reciclades" -COM_CONVERTFORMS_CAMPAIGN_N_ITEMS_DELETED="%s Campanyes esborrades" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_UNPUBLISHED="%s respostes no publicades" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_PUBLISHED="%s respostes publicades" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_TRASHED="%s respostes reciclades" -COM_CONVERTFORMS_SUBMISSION_N_ITEMS_DELETED="%s respostes esborrades" -; COM_CONVERTFORMS_SUBMISSION_N_ITEMS_ARCHIVED="%s submissions archived" -COM_CONVERTFORMS_CAMPAIGN_ASCENDING="Campanya ascendent" -COM_CONVERTFORMS_CAMPAIGN_DESCENDING="Campanya descendent" -COM_CONVERTFORMS_CAMPAIGN_SELECT="- Escull Campanya -" -COM_CONVERTFORMS_CAMPAIGN_CONFIRM_DESC="Escull la campanya per configurar la teva integració." -COM_CONVERTFORMS_CAMPAIGN_CHANGED="Campanya canviada" -COM_CONVERTFORMS_CAMPAIGN_SYNC="Sincronitzar respostes" -COM_CONVERTFORMS_CAMPAIGN_SYNC_DESC="Escull si vols que les teves respostes es sincronitzin a altres programes de tercers o si l'ha de recollir únicament la teva base de dades.
        NOTA: Si necessites integrar amb programes de tercers com MailChimp, Aweber, GetResponse, Active Campaign, etc instal·la el connector corresponent a la secció de connectors" -COM_CONVERTFORMS_N_ITEMS_TRASHED="%s Campanyes esborrades" -COM_CONVERTFORMS_CHOOSE_SERVICE="Escull un servei" -COM_CONVERTFORMS_PENDING_LEADS="Esperant respostes" -COM_CONVERTFORMS_SUBMISSIONS="Respostes" -COM_CONVERTFORMS_SUBMISSION="Resposta" -COM_CONVERTFORMS_LATEST_SUBMISSIONS="Darrera resposta" -COM_CONVERTFORMS_SUBMISSION_CONFIRMED="Confirmat" -COM_CONVERTFORMS_SUBMISSION_UNCONFIRMED="No confirmat" -COM_CONVERTFORMS_EDIT_CONVERSION="Editar resposta" -COM_CONVERTFORMS_SUBMISSION_INVALID="No s'ha trobat la r.esposta" -COM_CONVERTFORMS_NOT_AUTHORIZED="No estàs autoritzat a accedir a aquesta pàgina." -COM_CONVERTFORMS_LEADS_ASC="Respostes ascendent" -COM_CONVERTFORMS_LEADS_DESC="Respostes descendent" -COM_CONVERTFORMS_LEADS_EXPORT="Exportar respostes" -COM_CONVERTFORMS_ADDONS="Connectors" -COM_CONVERTFORMS_INSTALL_ADDONS="Veure connectors instal·lats" -COM_CONVERTFORMS_ADDONS_MISSING_KEY="Per poder instal·lar Convert Forms hauràs d'entrar la teva clau de descàrrega a la configuració del connector Novarain Framework" -COM_CONVERTFORMS_ADDONS_DESC="Els connectors expandeixen les funcionalitats de Convert Forms. Amb aquests connectors, pots connectar amb programari de tercers, integrar noves funcionalitats i que Convert Forms sigui inclús més potent." -COM_CONVERTFORMS_LAST_YEAR="Darrer any" -COM_CONVERTFORMS_THIS_YEAR="Aquest any" -COM_CONVERTFORMS_LAST_MONTH="Darrer mes" -COM_CONVERTFORMS_THIS_MONTH="Aquest mes" -COM_CONVERTFORMS_LAST_WEEK="Darrera setmana" -COM_CONVERTFORMS_THIS_WEEK="Aquesta setmana" -COM_CONVERTFORMS_LAST_7_DAYS="Darrers 7 dies" -COM_CONVERTFORMS_YESTERDAY="Ahir" -COM_CONVERTFORMS_TODAY="Avui" -COM_CONVERTFORMS_AVG_DAY="Mitja diària (aquest mes)" -COM_CONVERTFORMS_PROJECTION="Projecció per aquest mes" -COM_CONVERTFORMS_TOTAL="Total" -COM_CONVERTFORMS_CHOOSE_FILE="Escull un arxiu .cnvf" -COM_CONVERTFORMS_FORMS_NAME_DESC="Un nom únic i descriptiu t'ajudarà en el futur ja que apareixerà al taulell de control, analítiques, etc." -COM_CONVERTFORMS_BACKGROUND_IMAGE="Font de la imatge de fons" -COM_CONVERTFORMS_IMAGE_DESC="Escull la font de la imatge de fons" -COM_CONVERTFORMS_CUSTOM_URL="URL personalitzada" -COM_CONVERTFORMS_BACKGROUND_URL="URL de la imatge de fons" -COM_CONVERTFORMS_BACKGROUND_URL_DESC="Escriu la URL personalitzada de la teva imatge" -COM_CONVERTFORMS_BACKGROUND_FILE="Imatge de fons" -COM_CONVERTFORMS_BACKGROUND_FILE_DESC="Escull la imatge a carregar." -COM_CONVERTFORMS_BACKGROUND_IMAGE_DESC="Pots incloure una imatge que es mostrarà darrera del contingut del formulari. Escull Carregar per carregar una nova imatge o URL personalitzada per escriure una URL personalitzada. Per que aquesta opció funcioni, el color de fons ha de ser transparent." -COM_CONVERTFORMS_FORM_BUILDER="Creador de formulari" -COM_CONVERTFORMS_FIELD_TYPE="Tipus de camp" -COM_CONVERTFORMS_FIELD_TYPE_DESC="L'atribut tipus de camp especifica el tipus d'element d'entrada a mostrar." -COM_CONVERTFORMS_FIELD_LABEL="Etiqueta de camp" -COM_CONVERTFORMS_FIELD_LABEL_DESC="L'etiqueta de camp estableix una etiqueta per un element d'entrada." -COM_CONVERTFORMS_FIELD_NAME="Nom del camp" -COM_CONVERTFORMS_FIELD_NAME_DESC="Especifica el nom de l'element d'entrada que s'utilitzarà per referenciar les dades del formulari un cop aquest s'envia. Utilitza aquesta opció també per mapejar els camps del formulari amb integració amb apps." -COM_CONVERTFORMS_PLACEHOLDER_NAME="Text marcador de posició" -COM_CONVERTFORMS_PLACEHOLDER_NAME_DESC="El text que vols aparegui al camp, abans de que l'usuari escrigui alguna cosa." -COM_CONVERTFORMS_REQUIRED_NAME="Camp requerit" -; COM_CONVERTFORMS_REQUIRED_NAME_DESC="If enabled, this will ensure that this field is completed before allowing the form to be submitted." -COM_CONVERTFORMS_FIELDS="Camps" -COM_CONVERTFORMS_FIELDS_FREE_NOTICE="Estas utilitzant la versió Gratuïta que només permet un camp de correu electrònic. Millora a la versió Pro per poder administrar camps il·limitats." -COM_CONVERTFORMS_GENERAL="General" -COM_CONVERTFORMS_FORM_TEXT_ALIGN="Alineament text del camp" -COM_CONVERTFORMS_FORM_TEXT_ALIGN_DESC="Alineament text del formulari" -COM_CONVERTFORMS_INPUT_COLOR="Color del text del camp" -COM_CONVERTFORMS_INPUT_BGCOLOR="Color del fons del camp" -COM_CONVERTFORMS_INPUT_BORDER_COLOR="Color de la vora del camp" -COM_CONVERTFORMS_SHADOW="Ombra" -COM_CONVERTFORMS_INPUT_SHADOW_DESC="Afegeix una ombra interna al camp d'entrada" -COM_CONVERTFORMS_INPUT_FONT_SIZE="Mida de la font del camp" -COM_CONVERTFORMS_INPUT_FONT_SIZE_DESC="Mida de la font del camp" -COM_CONVERTFORMS_VPADDING_SIZE="Encoixinat (Padding) vertical" -COM_CONVERTFORMS_HPADDING_SIZE="Encoixinat (Padding) Horitzontal" -COM_CONVERTFORMS_BOX_WIDTH_TYPE="Amplada màxima de la caixa" -COM_CONVERTFORMS_BOX_WIDTH_TYPE_DESC="Estableix una amplada màxima personalitzada per aquesta caixa o fes que ocupi tot l'ample de pantalla. Tingues en compte que aquesta és l'amplada màxima, això significa que el formulari sempre s'adaptarà a àrees més petites." -COM_CONVERTFORMS_FORM_WIDTH="Amplada màxima personalitzada" -COM_CONVERTFORMS_FORM_WIDTH_DESC="Estableix una amplada màxima de la teva elecció." -COM_CONVERTFORMS_REMOVE_DEFAULT_PADDING="Elimina l'encoixinat (Padding) per defecte" -COM_CONVERTFORMS_REMOVE_DEFAULT_PADDING_DESC="Elimina l'encoixinat (Padding) per defecte entre l'àrea de contingut i les vores de la caixa del formulari." -COM_CONVERTFORMS_FORM_BORDER_STYLE="Estil de vora" -COM_CONVERTFORMS_FORM_BORDER_STYLE_DESC="Aplica una vora al voltant del formulari" -COM_CONVERTFORMS_FORM_BORDER_COLOR="Color de la vora" -COM_CONVERTFORMS_FORM_BORDER_COLOR_DESC="Color de la vora del formulari" -COM_CONVERTFORMS_FORM_BORDER_WIDTH="Amplada de la vora" -COM_CONVERTFORMS_FORM_BORDER_WIDTH_DESC="Amplada de la vora del formulari" -COM_CONVERTFORMS_BOX_RADIUS="Radi de la caixa" -COM_CONVERTFORMS_BORDER_RADIUS="Radi de la vora" -COM_CONVERTFORMS_BORDER_RADIUS_DESC="Escriu la mida del radi de la vora" -COM_CONVERTFORMS_COLLECT_LEADS_USING="Recull respostes utilitzant la campanya" -COM_CONVERTFORMS_COLLECT_LEADS_USING_DESC="Les respostes recollides per aquest formulari s'associaran amb la campanya seleccionada. Pots administrar les campanyes a la secció de campanyes." -COM_CONVERTFORMS_SUCCESSFUL_SUBMISSION="Acció de tramesa exitosa" -COM_CONVERTFORMS_SUCCESSFUL_SUBMISSION_DESC="Escull l'acció que vols que es dugui a terme després d'una tramesa exitosa" -COM_CONVERTFORMS_DISPLAY_MSG="Mostrar missatge" -COM_CONVERTFORMS_REDIRECT_USER="Redreçar l'usuari" -COM_CONVERTFORMS_SUCCESS_TEXT="Missatge després de l'èxit" -COM_CONVERTFORMS_SUCCESS_TEXT_DESC="Escriu el missatge que vols mostrar a l'usuari després de ser afegit al llistat amb èxit." -COM_CONVERTFORMS_SUCCESS_URL="Redreçar URL" -COM_CONVERTFORMS_SUCCESS_URL_DESC="Escriu la URL a on vols redreçar l'usuari després de ser afegit al llistat amb èxit." -COM_CONVERTFORMS_PASS_DATA="Passar les dades de la resposta per redreçar la URL" -COM_CONVERTFORMS_PASS_DATA_DESC="Passa les dades de la resposta com arguments de consulta per redreçar la URL." -COM_CONVERTFORMS_SUBMIT_STYLE="Estil del botó d'enviar" -COM_CONVERTFORMS_SUBMIT_STYLE_DESC="Estila el teu botó amb vistosos efectes." -COM_CONVERTFORMS_BTN_SHADOW_DESC="Afegeix una ombra exterior al botó" -COM_CONVERTFORMS_SUBMIT_HOVER_COLOR="Color del text al passar per sobre (Hover)" -COM_CONVERTFORMS_SUBMIT_HOVER_COLOR_DESC="Color del text al passar per sobre (Hover)" -COM_CONVERTFORMS_CUSTOM_CSS="CSS personalitzat" -COM_CONVERTFORMS_CUSTOM_CSS_DESC="Estila el formulari amb el teu propi CSS.

        Per ajudar-te a estilar el formulari, el codi que afegeixis a aquesta àrea s'executarà també a l'editor." -COM_CONVERTFORMS_CLASS_SUFFIX="Suffix de classe" -COM_CONVERTFORMS_CLASS_SUFFIX_DESC="Suffix de classe" -COM_CONVERTFORMS_TEXTAREA_HEIGHT="Alçada de l'àrea de text" -COM_CONVERTFORMS_TEXTAREA_HEIGHT_DESC="L'alçada de l'àrea de text especifica l'alçada visible d'un àrea de text. En línies." -COM_CONVERTFORMS_CHOICES="Opcions" -COM_CONVERTFORMS_CHOICES_DESC="Afegeix opcions pel camp del formulari." -COM_CONVERTFORMS_FIELD_VALUE="Valor per defecte" -COM_CONVERTFORMS_FIELD_VALUE_DESC="Escriu el text del Valor per defecte del camp" -COM_CONVERTFORMS_HIDE_LABELS="Amagar etiqueta" -COM_CONVERTFORMS_HIDE_LABELS_DESC="Escull aquesta opció per amagar l'etiqueta del camp del formulari" -COM_CONVERTFORMS_IMAGE_SOURCE="Font de la imatge" -COM_CONVERTFORMS_IMAGE_SOURCE_DESC="Pots incloure una imatge que es mostrarà amb el contingut del formulari. Escull Carregar per carregar una nova imatge o URL personalitzada per escriure una URL personalitzada." -COM_CONVERTFORMS_IMAGE_URL="URL de la imatge" -COM_CONVERTFORMS_HIDE_IMAGE_ON_MOBILE="Amaga la imatge en les pantalles petites" -COM_CONVERTFORMS_HIDE_IMAGE_ON_MOBILE_DESC="A les pantalles petites, com les dels telèfons mòbils o finestres modals es veurà més bonic. Per reduir la mida del modal, pots amagar la imatge amb aquesta opció." -COM_CONVERTFORMS_HORIZONTAL_POSITION="Posició horitzontal" -COM_CONVERTFORMS_HORIZONTAL_POSITION_DESC="Posició horitzontal" -COM_CONVERTFORMS_VERTICAL_POSITION="Posició vertical" -COM_CONVERTFORMS_VERTICAL_POSITION_DESC="Posició vertical" -COM_CONVERTFORMS_IMAGE_WIDTH_TYPE="Amplada de la imatge" -COM_CONVERTFORMS_IMAGE_WIDTH_TYPE_DESC="Estableix l'amplada de la imatge" -COM_CONVERTFORMS_BUTTON_ALIGN="Alineació del botó" -COM_CONVERTFORMS_FORM_POSITION="Posició del formulari" -COM_CONVERTFORMS_FORM_POSITION_DESC="Estableix la posició relativa al contenidor de text del formulari " -COM_CONVERTFORMS_FORM_SIZE="Mida del contenidor del formulari" -COM_CONVERTFORMS_COLUMNS_DESC="Especifica quantes columnes s'utilitzaran. 6 columnes ocupen el 50% de l'amplada." -COM_CONVERTFORMS_MESSAGE="Missatge de text" -COM_CONVERTFORMS_MESSAGE_DESC="Escriu el missatge del text del formulari" -COM_CONVERTFORMS_IMAGE_POSITION="Posició de la imatge" -COM_CONVERTFORMS_IMAGE_POSITION_DESC="Estableix la posició relativa al text de la imatge" -COM_CONVERTFORMS_FOOTER="Peu del formulari" -COM_CONVERTFORMS_BUTTON_TEXT="Text del botó" -COM_CONVERTFORMS_BUTTON_TEXT_DESC="Escriu el text de l'etiqueta del botó" -COM_CONVERTFORMS_BTN_FONT_SIZE="Mida del text del botó" -COM_CONVERTFORMS_IMAGE_SIZE="Mida del contenidor d'imatge" -COM_CONVERTFORMS_BODY_FONT="Familia de fonts" -COM_CONVERTFORMS_BODY_FONT_DESC="Escull la família de fonts que s'utilitzarà per al formulari. Tingues en compte que carregar fonts no estàndard com Google Fonts impactarà la velocitat de la teva pàgina. Escull Defecte per utilitzar la font per defecte del teu lloc." -COM_CONVERTFORMS_EMAIL="Correu electrònic" -COM_CONVERTFORMS_DATE="Data" -COM_CONVERTFORMS_CREATED="Data de creació" -COM_CONVERTFORMS_SUBMISSION="Resposta" -COM_CONVERTFORMS_PREVIEW_SUCCESS="Previsualitza el missatge d'exit" -COM_CONVERTFORMS_PREVIEW_SIZE_DESKTOP="Aquesta versió es mostrarà en pantalles per sobre dels 990px" -COM_CONVERTFORMS_PREVIEW_SIZE_TABLET="Aquesta versió es mostrarà en pantalles d'entre 768 i 990px" -COM_CONVERTFORMS_PREVIEW_SIZE_MOBILE="Aquesta versió es mostrarà en pantalles per sota dels 768px" -COM_CONVERTFORMS_DEVICE_DESKTOP="Escriptori" -COM_CONVERTFORMS_DEVICE_TABLET="Tauleta" -COM_CONVERTFORMS_DEVICE_MOBILE="Mòbil" -COM_CONVERTFORMS_RESET_FORM="Reiniciar formulari" -COM_CONVERTFORMS_RESET_FORM_DESC="Reiniciar el formulari després d'una tramesa correcta" -COM_CONVERTFORMS_HIDE_FORM="Ocultar formulari" -COM_CONVERTFORMS_HIDE_FORM_DESC="Oculta el formulari després d'una tramesa correcta" -COM_CONVERTFORMS_TEMPLATES="Plantilles" -COM_CONVERTFORMS_TEMPLATES_SELECT="Escull una plantilla per començar" -COM_CONVERTFORMS_TEMPLATES_BLANK="Començar de zero" -COM_CONVERTFORMS_TEMPLATES_BLANK_DESC="Començar de zero un nou formulari" -COM_CONVERTFORMS_TEMPLATE_GROUP_INLINE="Inline" -COM_CONVERTFORMS_TEMPLATE_GROUP_SIDEBAR="Barra lateral" -COM_CONVERTFORMS_TEMPLATE_GROUP_BAR="Barres" -COM_CONVERTFORMS_LABELS_COLOR="Color de text de l'etiqueta" -COM_CONVERTFORMS_LABELS_FONT_SIZE="Mida de la font de l'etiqueta" -COM_CONVERTFORMS_IMAGE_ABOVE="Per sobre del text" -COM_CONVERTFORMS_IMAGE_BELOW="Per sota del text" -COM_CONVERTFORMS_IMAGE_RIGHT="A la dreta del text" -COM_CONVERTFORMS_IMAGE_LEFT="A l'esquerra del text" -COM_CONVERTFORMS_FLAT="Plà" -COM_CONVERTFORMS_OUTLINE="Outline" -COM_CONVERTFORMS_GRADIENT="Gradient" -COM_CONVERTFORMS_EMAILS_DESC="Enviar notificacions per correu electrònic quan un usuari respon a un formulari." -COM_CONVERTFORMS_EMAILS="Notificacions per correu electrònic" -COM_CONVERTFORMS_EMAILS_REPLY_TO="Correu electrònic de resposta" -COM_CONVERTFORMS_EMAILS_REPLY_TO_NAME="Nom de resposta" -COM_CONVERTFORMS_EMAILS_FROM_EMAIL="Correu electrònic del remitent" -COM_CONVERTFORMS_EMAILS_FROM="Nom del remitent" -COM_CONVERTFORMS_EMAILS_RECIPIENT="Enviar a l'adreça de correu electrònic" -COM_CONVERTFORMS_EMAILS_RECIPIENT_DESC="Escriu les adreces de correu electrònic on es rebran les notificacions de respostes. Per notificar a diversos correus electrònics, separa les adreces amb una coma." -COM_CONVERTFORMS_EMAILS_SUBJECT="Assumpte del correu electrònic" -COM_CONVERTFORMS_EMAILS_BODY="Missatge" -COM_CONVERTFORMS_EMAILS_FREE_NOTE="Vols notificacions múltiples?
        Millora a PROper desbloquejar-les." -COM_CONVERTFORMS_EMAILS_ATTACHMENT="Adjunts" -COM_CONVERTFORMS_EMAILS_ATTACHMENT_DESC="Ruta relativa a l'arrel del teu espai web d'un arxiu a adjuntar. Utilitza comes per definir-ne més d'una." -COM_CONVERTFORMS_ADDONS_MISSING_ADDON="Has perdut algún connector?" -COM_CONVERTFORMS_ADDONS_MISSING_ADDON_DESC="En cas que trobis a faltar algun connector d'integració per la teva app favorita, fes-nos-ho saber i l'afegirem a la col·lecció de connectors de Convert Forms." -COM_CONVERTFORMS_API_ENABLE="Activar API JSON" -COM_CONVERTFORMS_API_DESC="l'API JSON et permet recuperar contingut de Convert Forms amb peticions HTTP." -COM_CONVERTFORMS_API_KEY="Clau secreta" -COM_CONVERTFORMS_API_KEY_DESC="Aquesta clau secreta s'utilitza per autentificar tasques crítiques com feines CRON o l'API JSON. Si ho deixes en blanc totes les tasques que requereixin autentificació d'usuari es deshabilitaran." -COM_CONVERTFORMS_IMAGE_ALT="Imatge alternativa" -COM_CONVERTFORMS_IMAGE_ALT_DESC="El text alternatiu a la imatge" -COM_CONVERTFORMS_CUSTOM_CODE="Codi personalitzat" -COM_CONVERTFORMS_CUSTOM_CODE_DESC="Insereix codi personalitzat al final del formulari. Accepta HTML, CSS i JavaScript.

        Pel JavaScript, asegura't que envolcalles el codi amb l'etiqueta - -
        -
        -
        - -

        - form->renderFieldset('params') ?> -
        - -

        - form->renderFieldset('main') ?> -
        -
        - - -
        -
        - - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +use Joomla\CMS\HTML\HTMLHelper; + +HTMLHelper::_('behavior.formvalidator'); +HTMLHelper::_('behavior.keepalive'); + +if (!defined('nrJ4')) +{ + JHtml::_('formbehavior.chosen', 'select'); +} + +?> + + + +
        +
        +
        + +

        + form->renderFieldset('params') ?> +
        + +

        + form->renderFieldset('main') ?> +
        +
        + + +
        +
        + + diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/conversion/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/conversion/view.html.php index bda8151a..5e75ac12 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/conversion/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/conversion/view.html.php @@ -1,69 +1,69 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla view library -jimport('joomla.application.component.view'); - -/** - * Conversion View Class - */ -class ConvertFormsViewConversion extends JViewLegacy -{ - /** - * display method of Item view - * @return void - */ - public function display($tpl = null) - { - // Access check. - ConvertForms\Helper::authorise('convertforms.submissions.manage', true); - - // get the Data - $form = $this->get('Form'); - $item = $this->get('Item'); - - // Check for errors. - if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) - { - JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); - return false; - } - - // Assign the Data - $this->form = $form; - $this->item = $item; - $this->isnew = (!isset($_REQUEST["id"])) ? true : false; - - // Set the toolbar - $this->addToolBar(); - - // Display the template - parent::display($tpl); - } - - /** - * Setting the toolbar - */ - protected function addToolBar() - { - $input = JFactory::getApplication()->input; - $input->set('hidemainmenu', true); - $isNew = ($this->item->id == 0); - - JToolBarHelper::title($isNew ? JText::_('COM_CONVERTFORMS_NEW_CONVERSION') : JText::_('COM_CONVERTFORMS_EDIT_CONVERSION')); - JToolbarHelper::apply('conversion.apply'); - JToolBarHelper::save('conversion.save'); - JToolBarHelper::cancel('conversion.cancel', $isNew ? 'JTOOLBAR_CANCEL' : 'JTOOLBAR_CLOSE'); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla view library +jimport('joomla.application.component.view'); + +/** + * Conversion View Class + */ +class ConvertFormsViewConversion extends JViewLegacy +{ + /** + * display method of Item view + * @return void + */ + public function display($tpl = null) + { + // Access check. + ConvertForms\Helper::authorise('convertforms.submissions.manage', true); + + // get the Data + $form = $this->get('Form'); + $item = $this->get('Item'); + + // Check for errors. + if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) + { + JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); + return false; + } + + // Assign the Data + $this->form = $form; + $this->item = $item; + $this->isnew = (!isset($_REQUEST["id"])) ? true : false; + + // Set the toolbar + $this->addToolBar(); + + // Display the template + parent::display($tpl); + } + + /** + * Setting the toolbar + */ + protected function addToolBar() + { + $input = JFactory::getApplication()->input; + $input->set('hidemainmenu', true); + $isNew = ($this->item->id == 0); + + JToolBarHelper::title($isNew ? JText::_('COM_CONVERTFORMS_NEW_CONVERSION') : JText::_('COM_CONVERTFORMS_EDIT_CONVERSION')); + JToolbarHelper::apply('conversion.apply'); + JToolBarHelper::save('conversion.save'); + JToolBarHelper::cancel('conversion.cancel', $isNew ? 'JTOOLBAR_CANCEL' : 'JTOOLBAR_CLOSE'); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/conversions/tmpl/default.php b/deployed/convertforms/administrator/components/com_convertforms/views/conversions/tmpl/default.php index 06c3813e..f4f5c249 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/conversions/tmpl/default.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/conversions/tmpl/default.php @@ -1,212 +1,212 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -use Joomla\CMS\Button\PublishedButton; -use ConvertForms\Helper; - -if (!defined('nrJ4')) -{ - JHtml::_('formbehavior.chosen', 'select'); -} - -$listOrder = $this->escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); - -$user = JFactory::getUser(); -$columns = $this->state->get('filter.columns'); - -JFactory::getDocument()->addStyleDeclaration(' - .js-stools .js-stools-container-filters .chzn-container.active:not(.chzn-with-drop) .chzn-single { - border: 1px solid rgba(0,0,0,0.2); - } - .js-stools .js-stools-container-filters .chzn-container.active .chzn-single { - border: 1px solid #2384D3; - } -'); - -?> - -
        - - -
        - sidebar; ?> -
        - - -
        - $this)); - ?> - - - - - - - $column) { ?> - - - - - - items)) { ?> - items as $i => $item): ?> - authorise('core.edit.state', 'com_convertforms.conversion.' . $item->id); - $canEdit = $user->authorise('core.edit', 'com_convertforms.conversion.' . $item->id); - ?> - - - - $column) { - // Convert to lower case to always match the field in case it has been renamed. - $column = strtolower($column); - $params = []; - - if (!is_null($item->params)) - { - foreach ($item->params as $key => $value) - { - $params[strtolower($key)] = $value; - } - } - - $isParam = (strpos($column, 'param_') !== false); - $columnName = $isParam ? str_replace('param_', '' , $column) : $column; - - $value = false; - $col_class = !$isParam ? 'nowrap col_' . $column : $column; - - $submission_user = JFactory::getUser($item->user_id); - $submission_user_edit_url = $submission_user->id > 0 ? JURI::base() . '/index.php?option=com_users&task=user.edit&id=' . $submission_user->id : ''; - ?> - - - - - - - - - - -
        - - - -
        id); ?> - - 'conversions.', - 'disabled' => !$canChange, - 'id' => 'state-' . $item->id - ]; - - echo (new PublishedButton)->render((int) $item->state, $i, $options); - ?> - -
        - state, $i, 'conversions.', $canChange); ?> - - state === -2 ? 'un' : '') . 'trash', 'cb' . $i, 'conversions'); - echo JHtml::_('actionsdropdown.render', $this->escape($item->id)); - } - ?> -
        - -
        - id); - $value = '' . $item->$columnName . ''; - } else - { - $value = $item->$columnName; - } - - break; - case 'user_username': - if ($submission_user->id > 0) - { - $value = '' . $submission_user->username . ''; - } - break; - case 'user_id': - $value = ''; - - if ($submission_user->id > 0) - { - $value = '' . $submission_user->id . ''; - } - break; - - default: - if ($isParam) - { - if (isset($item->prepared_fields[$columnName])) - { - $value = $item->prepared_fields[$columnName]->value_html; - } - } else - { - if (isset($item->$columnName)) - { - $value = $item->$columnName; - } - } - break; - } - ?> - - - - params->sync_service) && isset($item->params->sync_error) && $key == 0) { ?> - params->sync_service . "_ALIAS"); ?>" - data-content="params->sync_error ?>" - style="color:red;"> - - - - -
        -
        - -
        -
        - - - -
        - - - -
        -
        -
        - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +use Joomla\CMS\Button\PublishedButton; +use ConvertForms\Helper; + +if (!defined('nrJ4')) +{ + JHtml::_('formbehavior.chosen', 'select'); +} + +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); + +$user = JFactory::getUser(); +$columns = $this->state->get('filter.columns'); + +JFactory::getDocument()->addStyleDeclaration(' + .js-stools .js-stools-container-filters .chzn-container.active:not(.chzn-with-drop) .chzn-single { + border: 1px solid rgba(0,0,0,0.2); + } + .js-stools .js-stools-container-filters .chzn-container.active .chzn-single { + border: 1px solid #2384D3; + } +'); + +?> + +
        + + +
        + sidebar; ?> +
        + + +
        + $this)); + ?> + + + + + + + $column) { ?> + + + + + + items)) { ?> + items as $i => $item): ?> + authorise('core.edit.state', 'com_convertforms.conversion.' . $item->id); + $canEdit = $user->authorise('core.edit', 'com_convertforms.conversion.' . $item->id); + ?> + + + + $column) { + // Convert to lower case to always match the field in case it has been renamed. + $column = strtolower($column); + $params = []; + + if (!is_null($item->params)) + { + foreach ($item->params as $key => $value) + { + $params[strtolower($key)] = $value; + } + } + + $isParam = (strpos($column, 'param_') !== false); + $columnName = $isParam ? str_replace('param_', '' , $column) : $column; + + $value = false; + $col_class = !$isParam ? 'nowrap col_' . $column : $column; + + $submission_user = JFactory::getUser($item->user_id); + $submission_user_edit_url = $submission_user->id > 0 ? JURI::base() . '/index.php?option=com_users&task=user.edit&id=' . $submission_user->id : ''; + ?> + + + + + + + + + + +
        + + + +
        id); ?> + + 'conversions.', + 'disabled' => !$canChange, + 'id' => 'state-' . $item->id + ]; + + echo (new PublishedButton)->render((int) $item->state, $i, $options); + ?> + +
        + state, $i, 'conversions.', $canChange); ?> + + state === -2 ? 'un' : '') . 'trash', 'cb' . $i, 'conversions'); + echo JHtml::_('actionsdropdown.render', $this->escape($item->id)); + } + ?> +
        + +
        + id); + $value = '' . $item->$columnName . ''; + } else + { + $value = $item->$columnName; + } + + break; + case 'user_username': + if ($submission_user->id > 0) + { + $value = '' . $submission_user->username . ''; + } + break; + case 'user_id': + $value = ''; + + if ($submission_user->id > 0) + { + $value = '' . $submission_user->id . ''; + } + break; + + default: + if ($isParam) + { + if (isset($item->prepared_fields[$columnName])) + { + $value = $item->prepared_fields[$columnName]->value_html; + } + } else + { + if (isset($item->$columnName)) + { + $value = $item->$columnName; + } + } + break; + } + ?> + + + + params->sync_service) && isset($item->params->sync_error) && $key == 0) { ?> + params->sync_service . "_ALIAS"); ?>" + data-content="params->sync_error ?>" + style="color:red;"> + + + + +
        +
        + +
        +
        + + + +
        + + + +
        +
        +
        + diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/conversions/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/conversions/view.html.php index ace1b60e..16adf2a2 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/conversions/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/conversions/view.html.php @@ -1,147 +1,147 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ -defined('_JEXEC') or die('Restricted access'); - -use Joomla\CMS\Toolbar\Toolbar; -use Joomla\CMS\Toolbar\ToolbarHelper; - -/** - * Conversions View - */ -class ConvertFormsViewConversions extends JViewLegacy -{ - /** - * Items view display method - * - * @param string $tpl The name of the template file to parse; automatically searches through the template paths. - * - * @return mixed A string if successful, otherwise a JError object. - */ - public function display($tpl = null) - { - // Access check. - ConvertForms\Helper::authorise('convertforms.submissions.manage', true); - - $this->items = $this->get('Items'); - $this->state = $this->get('State'); - $this->pagination = $this->get('Pagination'); - $this->filterForm = $this->get('FilterForm'); - $this->activeFilters = $this->get('ActiveFilters'); - $this->config = JComponentHelper::getParams('com_convertforms'); - - ConvertForms\Helper::addSubmenu('conversions'); - $this->sidebar = JHtmlSidebar::render(); - - // Trigger all ConvertForms plugins - JPluginHelper::importPlugin('convertforms'); - JFactory::getApplication()->triggerEvent('onConvertFormsServiceName'); - - // Check for errors. - if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) - { - JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); - return false; - } - - // Set the toolbar - $this->addToolBar(); - - // Display the template - parent::display($tpl); - } - - /** - * Add Toolbar to layout - */ - protected function addToolBar() - { - $canDo = ConvertForms\Helper::getActions(); - $state = $this->get('State'); - $viewLayout = JFactory::getApplication()->input->get('layout', 'default'); - - JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_SUBMISSIONS'), "users"); - - // Joomla J4 - if (defined('nrJ4')) - { - $toolbar = Toolbar::getInstance('toolbar'); - - $dropdown = $toolbar->dropdownButton('status-group') - ->text('JTOOLBAR_CHANGE_STATUS') - ->toggleSplit(false) - ->icon('fas fa-ellipsis-h') - ->buttonClass('btn btn-action') - ->listCheck(true); - - $childBar = $dropdown->getChildToolbar(); - - if ($canDo->get('core.edit.state')) - { - $childBar->publish('conversions.publish')->listCheck(true); - $childBar->unpublish('conversions.unpublish')->listCheck(true); - $childBar->standardButton('export')->text('COM_CONVERTFORMS_LEADS_EXPORT')->task('conversions.export')->icon('icon-download')->listCheck(true); - $childBar->trash('conversions.trash')->listCheck(true); - } - - if ($this->state->get('filter.state') == -2) - { - $toolbar->delete('conversions.delete') - ->text('JTOOLBAR_EMPTY_TRASH') - ->message('JGLOBAL_CONFIRM_DELETE') - ->listCheck(true); - } - - if ($canDo->get('core.admin')) - { - $toolbar->preferences('com_convertforms'); - } - - $toolbar->help('JHELP', false, 'http://www.tassos.gr/joomla-extensions/convert-forms/docs'); - - return; - } - - if ($canDo->get('core.edit.state') && $state->get('filter.state') != 2) - { - JToolbarHelper::publish('conversions.publish', 'JTOOLBAR_PUBLISH', true); - JToolbarHelper::unpublish('conversions.unpublish', 'JTOOLBAR_UNPUBLISH', true); - JToolbarHelper::archiveList('conversions.archive'); - } - - if ($canDo->get('core.delete') && $state->get('filter.state') == -2) - { - JToolbarHelper::deleteList('', 'conversions.delete', 'JTOOLBAR_EMPTY_TRASH'); - } - else if ($canDo->get('core.edit.state')) - { - JToolbarHelper::trash('conversions.trash'); - } - - if ($canDo->get('core.edit')) - { - JToolbarHelper::editList('conversion.edit'); - } - - if ($canDo->get('core.create')) - { - JToolbarHelper::custom('', 'box-add toolbarexportmodal', '', 'COM_CONVERTFORMS_LEADS_EXPORT'); - ConvertForms\Export::renderModal(); - } - - if ($canDo->get('core.admin')) - { - JToolbarHelper::preferences('com_convertforms'); - } - - JToolbarHelper::help("Help", false, "http://www.tassos.gr/joomla-extensions/convert-forms/docs"); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ +defined('_JEXEC') or die('Restricted access'); + +use Joomla\CMS\Toolbar\Toolbar; +use Joomla\CMS\Toolbar\ToolbarHelper; + +/** + * Conversions View + */ +class ConvertFormsViewConversions extends JViewLegacy +{ + /** + * Items view display method + * + * @param string $tpl The name of the template file to parse; automatically searches through the template paths. + * + * @return mixed A string if successful, otherwise a JError object. + */ + public function display($tpl = null) + { + // Access check. + ConvertForms\Helper::authorise('convertforms.submissions.manage', true); + + $this->items = $this->get('Items'); + $this->state = $this->get('State'); + $this->pagination = $this->get('Pagination'); + $this->filterForm = $this->get('FilterForm'); + $this->activeFilters = $this->get('ActiveFilters'); + $this->config = JComponentHelper::getParams('com_convertforms'); + + ConvertForms\Helper::addSubmenu('conversions'); + $this->sidebar = JHtmlSidebar::render(); + + // Trigger all ConvertForms plugins + JPluginHelper::importPlugin('convertforms'); + JFactory::getApplication()->triggerEvent('onConvertFormsServiceName'); + + // Check for errors. + if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) + { + JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); + return false; + } + + // Set the toolbar + $this->addToolBar(); + + // Display the template + parent::display($tpl); + } + + /** + * Add Toolbar to layout + */ + protected function addToolBar() + { + $canDo = ConvertForms\Helper::getActions(); + $state = $this->get('State'); + $viewLayout = JFactory::getApplication()->input->get('layout', 'default'); + + JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_SUBMISSIONS'), "users"); + + // Joomla J4 + if (defined('nrJ4')) + { + $toolbar = Toolbar::getInstance('toolbar'); + + $dropdown = $toolbar->dropdownButton('status-group') + ->text('JTOOLBAR_CHANGE_STATUS') + ->toggleSplit(false) + ->icon('fas fa-ellipsis-h') + ->buttonClass('btn btn-action') + ->listCheck(true); + + $childBar = $dropdown->getChildToolbar(); + + if ($canDo->get('core.edit.state')) + { + $childBar->publish('conversions.publish')->listCheck(true); + $childBar->unpublish('conversions.unpublish')->listCheck(true); + $childBar->standardButton('export')->text('COM_CONVERTFORMS_LEADS_EXPORT')->task('conversions.export')->icon('icon-download')->listCheck(true); + $childBar->trash('conversions.trash')->listCheck(true); + } + + if ($this->state->get('filter.state') == -2) + { + $toolbar->delete('conversions.delete') + ->text('JTOOLBAR_EMPTY_TRASH') + ->message('JGLOBAL_CONFIRM_DELETE') + ->listCheck(true); + } + + if ($canDo->get('core.admin')) + { + $toolbar->preferences('com_convertforms'); + } + + $toolbar->help('JHELP', false, 'http://www.tassos.gr/joomla-extensions/convert-forms/docs'); + + return; + } + + if ($canDo->get('core.edit.state') && $state->get('filter.state') != 2) + { + JToolbarHelper::publish('conversions.publish', 'JTOOLBAR_PUBLISH', true); + JToolbarHelper::unpublish('conversions.unpublish', 'JTOOLBAR_UNPUBLISH', true); + JToolbarHelper::archiveList('conversions.archive'); + } + + if ($canDo->get('core.delete') && $state->get('filter.state') == -2) + { + JToolbarHelper::deleteList('', 'conversions.delete', 'JTOOLBAR_EMPTY_TRASH'); + } + else if ($canDo->get('core.edit.state')) + { + JToolbarHelper::trash('conversions.trash'); + } + + if ($canDo->get('core.edit')) + { + JToolbarHelper::editList('conversion.edit'); + } + + if ($canDo->get('core.create')) + { + JToolbarHelper::custom('', 'box-add toolbarexportmodal', '', 'COM_CONVERTFORMS_LEADS_EXPORT'); + ConvertForms\Export::renderModal(); + } + + if ($canDo->get('core.admin')) + { + JToolbarHelper::preferences('com_convertforms'); + } + + JToolbarHelper::help("Help", false, "http://www.tassos.gr/joomla-extensions/convert-forms/docs"); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/default.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/default.php index 82c504cd..25e9c44a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/default.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/default.php @@ -1,163 +1,163 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Helper; - -jimport('joomla.filesystem.file'); - -$downloadKey = NRFramework\Functions::getDownloadKey(); - -echo \NRFramework\HTML::checkForOutdatedExtension('com_convertforms'); - -if (JComponentHelper::getParams('com_convertforms')->get('show_update_notification', true)) -{ - echo \NRFramework\HTML::checkForUpdates('com_convertforms'); -} - -$canAccessOptions = Helper::authorise('core.admin'); -$canAccessForms = Helper::authorise('convertforms.forms.manage'); -$canAccessSubmissions = Helper::authorise('convertforms.submissions.manage'); -$canAccessCampaigns = Helper::authorise('convertforms.campaigns.manage'); - -?> - - -
        - -
        -
        - -
        -
        - -
        -
        -
        -

        - -
        -
        -
        -
        -

        - -
        -
        -
        - -
        - - -
        -

        -

        ".JText::_("COM_CONVERTFORMS").""); ?>

        -

        - - -

        -
        - - - 'slide0')); ?> - - - - - - - - - - - -
        -
        - - - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Helper; + +jimport('joomla.filesystem.file'); + +$downloadKey = NRFramework\Functions::getDownloadKey(); + +echo \NRFramework\HTML::checkForOutdatedExtension('com_convertforms'); + +if (JComponentHelper::getParams('com_convertforms')->get('show_update_notification', true)) +{ + echo \NRFramework\HTML::checkForUpdates('com_convertforms'); +} + +$canAccessOptions = Helper::authorise('core.admin'); +$canAccessForms = Helper::authorise('convertforms.forms.manage'); +$canAccessSubmissions = Helper::authorise('convertforms.submissions.manage'); +$canAccessCampaigns = Helper::authorise('convertforms.campaigns.manage'); + +?> + + +
        + +
        +
        + +
        +
        + +
        +
        +
        +

        + +
        +
        +
        +
        +

        + +
        +
        +
        + +
        + + +
        +

        +

        ".JText::_("COM_CONVERTFORMS").""); ?>

        +

        + + +

        +
        + + + 'slide0')); ?> + + + + + + + + + + + +
        +
        + + + diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/latest.leads.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/latest.leads.php index dc8ed5aa..2020c224 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/latest.leads.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/latest.leads.php @@ -1,68 +1,68 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - - -?> - -latestleads)) { ?> - - - - - - - - - latestleads as $key => $lead) { ?> - "> - - - - - - - -
        - params) - { - continue; - } - - foreach ($lead->params as $param_key => $param_value) - { - if (strtolower($param_key) == 'email') - { - $email = $param_value; - break; - } - } - - echo $email; - ?> - params->sync_error)) { ?> - - - - form_name ?>created; ?>
        - -
        - -
        + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + + +?> + +latestleads)) { ?> + + + + + + + + + latestleads as $key => $lead) { ?> + "> + + + + + + + +
        + params) + { + continue; + } + + foreach ($lead->params as $param_key => $param_value) + { + if (strtolower($param_key) == 'email') + { + $email = $param_value; + break; + } + } + + echo $email; + ?> + params->sync_error)) { ?> + + + + form_name ?>created; ?>
        + +
        + +
        \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.docs.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.docs.php index 0854a393..bb26f34c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.docs.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.docs.php @@ -1,33 +1,33 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -$docs = array( - "Getting Started with Convert Forms" => "getting-started-with-convert-forms", - "How to use the Form Designer" => "how-to-use-the-form-designer", - "How to display a form on the frontend" => "how-to-display-a-form-on-the-frontend", - "Sync Submissions with ActiveCampaign" => "sync-leads-with-activecampaign", - "Sync Submissions with GetResponse" => "sync-leads-with-getresponse", - "Sync Submissions with MailChimp" => "sync-leads-with-mailchimp", - "How to use Convert Forms as a popup" => "how-to-use-convert-forms-as-a-popup", -); - -$docHome = "http://www.tassos.gr/joomla-extensions/convert-forms/docs/"; - -?> - -
          - $url) { ?> -
        • - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +$docs = array( + "Getting Started with Convert Forms" => "getting-started-with-convert-forms", + "How to use the Form Designer" => "how-to-use-the-form-designer", + "How to display a form on the frontend" => "how-to-display-a-form-on-the-frontend", + "Sync Submissions with ActiveCampaign" => "sync-leads-with-activecampaign", + "Sync Submissions with GetResponse" => "sync-leads-with-getresponse", + "Sync Submissions with MailChimp" => "sync-leads-with-mailchimp", + "How to use Convert Forms as a popup" => "how-to-use-convert-forms-as-a-popup", +); + +$docHome = "http://www.tassos.gr/joomla-extensions/convert-forms/docs/"; + +?> + +
            + $url) { ?> +
          • +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.info.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.info.php index 2840092f..c289d000 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.info.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.info.php @@ -1,56 +1,56 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +?> + +
          - -
          - - - - - -
          GNU GPLv3 Commercial
          Tassos Marinos - www.tassos.gr
          - - - -
          + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + + + + + +
          GNU GPLv3 Commercial
          Tassos Marinos - www.tassos.gr
          + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.stats.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.stats.php index 1ceda00f..bbc940f6 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.stats.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.stats.php @@ -1,61 +1,61 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Analytics; - -?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          '-7 day', 'created_to' => 'now']) ?>
          - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Analytics; + +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          '-7 day', 'created_to' => 'now']) ?>
          + diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.translations.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.translations.php index ccab4834..945aec7c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.translations.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/tmpl/panel.translations.php @@ -1,20 +1,20 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -?> - -

          - - . + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +?> + +

          + + .

          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/view.html.php index c8b9d537..cffd0ac9 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/convertforms/view.html.php @@ -1,50 +1,50 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla view library -jimport('joomla.application.component.view'); - -class ConvertFormsViewConvertForms extends JViewLegacy -{ - /** - * Items view display method - * - * @return void - */ - function display($tpl = null) - { - $this->config = JComponentHelper::getParams('com_convertforms'); - - $model = \JModelLegacy::getInstance('Conversions', 'ConvertFormsModel', ['ignore_request' => true]); - $model->setState('list.limit', 10); - $model->setState('filter.state', 1); - - $this->latestleads = $model->getItems(); - - ConvertForms\Helper::renderSelectTemplateModal(); - - if (!defined('nrJ4')) - { - JHTML::_('behavior.modal'); - JHtml::_('bootstrap.popover'); - } - - JHtml::stylesheet('jui/icomoon.css', array(), true); - - JToolBarHelper::title(JText::_('COM_CONVERTFORMS')); - - // Display the template - parent::display($tpl); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla view library +jimport('joomla.application.component.view'); + +class ConvertFormsViewConvertForms extends JViewLegacy +{ + /** + * Items view display method + * + * @return void + */ + function display($tpl = null) + { + $this->config = JComponentHelper::getParams('com_convertforms'); + + $model = \JModelLegacy::getInstance('Conversions', 'ConvertFormsModel', ['ignore_request' => true]); + $model->setState('list.limit', 10); + $model->setState('filter.state', 1); + + $this->latestleads = $model->getItems(); + + ConvertForms\Helper::renderSelectTemplateModal(); + + if (!defined('nrJ4')) + { + JHTML::_('behavior.modal'); + JHtml::_('bootstrap.popover'); + } + + JHtml::stylesheet('jui/icomoon.css', array(), true); + + JToolBarHelper::title(JText::_('COM_CONVERTFORMS')); + + // Display the template + parent::display($tpl); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/completed.php b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/completed.php index 6509b995..87d27841 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/completed.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/completed.php @@ -1,39 +1,39 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -if ($this->download_link) -{ - JFactory::getDocument()->addScriptDeclaration(' - document.addEventListener("DOMContentLoaded", function() { - window.location.href = "' . $this->download_link . '"; - }); - '); -} - -?> - -
          -
          - -

          - total_submissions_exported)) ?> -

          -

          - -

          - - - -
          + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +if ($this->download_link) +{ + JFactory::getDocument()->addScriptDeclaration(' + document.addEventListener("DOMContentLoaded", function() { + window.location.href = "' . $this->download_link . '"; + }); + '); +} + +?> + +
          +
          + +

          + total_submissions_exported)) ?> +

          +

          + +

          + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/default.php b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/default.php index 15aff0b4..b561126c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/default.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/default.php @@ -1,42 +1,42 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -JFactory::getDocument()->addScriptDeclaration(' - document.addEventListener("DOMContentLoaded", function() { - var form = document.querySelector(".export_tool form"); - form.addEventListener("submit", function(e) { - var btn = form.querySelector("button[type=\'submit\']"); - btn.innerText = "' . JText::_('NR_PLEASE_WAIT') . '..."; - document.querySelector(".export_tool").classList.add("working"); - }); - }); -'); - -?> - -
          -
          -

          -
          - form->renderFieldset('submission'); ?> - - - - - -
          -
          + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +JFactory::getDocument()->addScriptDeclaration(' + document.addEventListener("DOMContentLoaded", function() { + var form = document.querySelector(".export_tool form"); + form.addEventListener("submit", function(e) { + var btn = form.querySelector("button[type=\'submit\']"); + btn.innerText = "' . JText::_('NR_PLEASE_WAIT') . '..."; + document.querySelector(".export_tool").classList.add("working"); + }); + }); +'); + +?> + +
          +
          +

          +
          + form->renderFieldset('submission'); ?> + + + + + +
          +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/error.php b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/error.php index 703e4dcb..aaffd4b1 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/error.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/error.php @@ -1,26 +1,26 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -?> - -
          -
          - -

          -

          error; ?>

          - - - -
          + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +?> + +
          +
          + +

          +

          error; ?>

          + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/progress.php b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/progress.php index 1f5446e1..3c274ffc 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/progress.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/export/tmpl/progress.php @@ -1,30 +1,30 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -?> - -
          -
          - -

          - -

          -

          - processed), number_format($this->total)); ?> -

          - - - -
          + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +?> + +
          +
          + +

          + +

          +

          + processed), number_format($this->total)); ?> +

          + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/export/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/export/view.html.php index 62cc5bce..b68ed15b 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/export/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/export/view.html.php @@ -1,142 +1,142 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ -defined('_JEXEC') or die('Restricted access'); - -use ConvertForms\Export; - -/** - * Templates View - */ -class ConvertFormsViewExport extends JViewLegacy -{ - /** - * Items view display method - * - * @param string $tpl The name of the template file to parse; automatically searches through the template paths. - * - * @return mixed A string if successful, otherwise a JError object. - */ - public function display($tpl = null) - { - $app = JFactory::getApplication(); - $input = $app->input; - $viewLayout = $input->get('layout', 'default'); - - $this->tmpl = $input->get('tmpl'); - $this->baseURL = 'index.php?option=com_convertforms&view=export'; - $this->start_over_link = $this->baseURL . ($this->tmpl == 'component' ? '&tmpl=component' : ''); - - switch ($viewLayout) - { - case 'completed': - $file = $input->get('filename'); - - if (!Export::exportFileExists($file)) - { - Export::error(JText::_('COM_CONVERTFORMS_EXPORT_ERROR_CANT_FIND_FILE')); - } - - $this->download_link = 'index.php?option=com_convertforms&task=export.download&filename=' . $file; - $this->total_submissions_exported = $input->get('total'); - $this->export_type = $input->get('export_type'); - break; - - case 'progress': - JSession::checkToken('request') or die(JText::_('JINVALID_TOKEN')); - - try - { - $data = Export::export($input->getArray()); - - $pagination = $data['pagination']; - $options = $data['options']; - - $totalProcessedSoFar = $pagination->pagesCurrent * $pagination->limit; - $totalProcessedSoFar = $pagination->total > $totalProcessedSoFar ? $totalProcessedSoFar : $pagination->total; - - $this->processed = $totalProcessedSoFar; - $this->total = $pagination->total; - - if ($pagination->pagesCurrent < $pagination->pagesTotal) - { - $new_url = \JURI::getInstance(); - - $new_url->setVar('offset', $options['offset'] + $options['limit']); - $new_url->setVar('processed', $this->processed); - $new_url->setVar('total', $this->total); - - header('Refresh:0; url=' . $new_url->toString()); - } else - { - // Export completed - $optionsQuery = http_build_query(array_filter([ - 'total' => $this->total, - 'filename' => $options['filename'], - 'export_type' => $options['export_type'], - 'tmpl' => $this->tmpl - ])); - - $app->redirect($this->baseURL . '&layout=completed&' . $optionsQuery); - } - - } catch (\Throwable $th) - { - Export::error($th->getMessage()); - } - - break; - - case 'error': - $this->error = $input->get('error', '', 'RAW'); - break; - - default: - $form = new JForm('export'); - $form->loadFile(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms/export_submissions.xml'); - $form->bind($app->input->getArray()); - - $this->form = $form; - - break; - } - - if ($this->tmpl == 'component') - { - JFactory::getDocument()->addStyleDeclaration(' - body { - background:none !important; - } - '); - } else - { - $this->addToolBar(); - } - - // Check for errors. - if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) - { - $app->enqueueMessage(implode("\n", $errors), 'error'); - return false; - } - - // Display the template - parent::display($tpl); - } - - /** - * Add Toolbar to layout - */ - protected function addToolBar() - { - JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_LEADS_EXPORT')); - } -} + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ +defined('_JEXEC') or die('Restricted access'); + +use ConvertForms\Export; + +/** + * Templates View + */ +class ConvertFormsViewExport extends JViewLegacy +{ + /** + * Items view display method + * + * @param string $tpl The name of the template file to parse; automatically searches through the template paths. + * + * @return mixed A string if successful, otherwise a JError object. + */ + public function display($tpl = null) + { + $app = JFactory::getApplication(); + $input = $app->input; + $viewLayout = $input->get('layout', 'default'); + + $this->tmpl = $input->get('tmpl'); + $this->baseURL = 'index.php?option=com_convertforms&view=export'; + $this->start_over_link = $this->baseURL . ($this->tmpl == 'component' ? '&tmpl=component' : ''); + + switch ($viewLayout) + { + case 'completed': + $file = $input->get('filename'); + + if (!Export::exportFileExists($file)) + { + Export::error(JText::_('COM_CONVERTFORMS_EXPORT_ERROR_CANT_FIND_FILE')); + } + + $this->download_link = 'index.php?option=com_convertforms&task=export.download&filename=' . $file; + $this->total_submissions_exported = $input->get('total'); + $this->export_type = $input->get('export_type'); + break; + + case 'progress': + JSession::checkToken('request') or die(JText::_('JINVALID_TOKEN')); + + try + { + $data = Export::export($input->getArray()); + + $pagination = $data['pagination']; + $options = $data['options']; + + $totalProcessedSoFar = $pagination->pagesCurrent * $pagination->limit; + $totalProcessedSoFar = $pagination->total > $totalProcessedSoFar ? $totalProcessedSoFar : $pagination->total; + + $this->processed = $totalProcessedSoFar; + $this->total = $pagination->total; + + if ($pagination->pagesCurrent < $pagination->pagesTotal) + { + $new_url = \JURI::getInstance(); + + $new_url->setVar('offset', $options['offset'] + $options['limit']); + $new_url->setVar('processed', $this->processed); + $new_url->setVar('total', $this->total); + + header('Refresh:0; url=' . $new_url->toString()); + } else + { + // Export completed + $optionsQuery = http_build_query(array_filter([ + 'total' => $this->total, + 'filename' => $options['filename'], + 'export_type' => $options['export_type'], + 'tmpl' => $this->tmpl + ])); + + $app->redirect($this->baseURL . '&layout=completed&' . $optionsQuery); + } + + } catch (\Throwable $th) + { + Export::error($th->getMessage()); + } + + break; + + case 'error': + $this->error = $input->get('error', '', 'RAW'); + break; + + default: + $form = new JForm('export'); + $form->loadFile(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms/export_submissions.xml'); + $form->bind($app->input->getArray()); + + $this->form = $form; + + break; + } + + if ($this->tmpl == 'component') + { + JFactory::getDocument()->addStyleDeclaration(' + body { + background:none !important; + } + '); + } else + { + $this->addToolBar(); + } + + // Check for errors. + if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) + { + $app->enqueueMessage(implode("\n", $errors), 'error'); + return false; + } + + // Display the template + parent::display($tpl); + } + + /** + * Add Toolbar to layout + */ + protected function addToolBar() + { + JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_LEADS_EXPORT')); + } +} diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/edit.php b/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/edit.php index da04cb71..d2f35fd6 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/edit.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/edit.php @@ -1,247 +1,247 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -use Joomla\CMS\HTML\HTMLHelper; -use NRFramework\HTML; - -HTMLHelper::_('behavior.formvalidator'); -HTMLHelper::_('behavior.keepalive'); - -JHtml::script('com_convertforms/admin.js', ['relative' => true, 'version' => 'auto']); -JHtml::stylesheet('com_convertforms/editor.css', ['relative' => true, 'version' => 'auto']); - -if (defined('nrJ4')) -{ - JFactory::getDocument()->addScript(JURI::root(true) . '/media/vendor/tinymce/tinymce.js'); - HTML::fixFieldTooltips(); - -} else -{ - JFactory::getDocument()->addScript(JURI::root(true) . '/media/editors/tinymce/tinymce.min.js'); - JHtml::script('com_convertforms/cookie.js', ['relative' => true, 'version' => 'auto']); -} - -$fonts = new NRFonts(); -JFactory::getDocument()->addScriptDeclaration('var ConvertFormsGoogleFonts = '. json_encode($fonts->getFontGroup('google'))); - -$tabState = JFactory::getApplication()->input->cookie->get("ConvertFormsState" . $this->item->id, 'fields'); -$tabStateParts = explode("-", $tabState); -$tabActive = $tabStateParts[0]; - -// Smart Tags Box -echo NRFramework\HTML::smartTagsBox(); - - -NRFramework\HTML::renderProOnlyModal(); - - -if (!$this->isnew) { - // Render Embed popup - echo \JHtml::_('bootstrap.renderModal', 'embedForm', [ - 'title' => 'Embed Form', - 'footer' => '', - ], ' -

          You are almost done! To embed this form on your site, please paste the following shortcode inside an article or a module.

          - -

          or you can follow the instructions from this page.

          - '); -} - - -function tabSetStart($active) -{ - echo defined('nrJ4') ? HTMLHelper::_('uitab.startTabSet', 'sections', ['active' => $active, 'orientation' => 'vertical']) : JHtml::_('bootstrap.startTabSet', 'sections', ['active' => $active]);; -} - -function tabSetEnd() -{ - echo defined('nrJ4') ? HTMLHelper::_('uitab.endTabSet') : JHtml::_('bootstrap.endTabSet');; -} - -function tabStart($name, $title) -{ - echo defined('nrJ4') ? HTMLHelper::_('uitab.addTab', 'sections', $name, JText::_($title)) : JHtml::_('bootstrap.addTab', 'sections', $name, JText::_($title)); -} - -function tabEnd() -{ - echo defined('nrJ4') ? HTMLHelper::_('uitab.endTab') : JHtml::_('bootstrap.endTab'); -} - -if (defined('nrJ4')) -{ - NRFramework\HTML::fixFieldTooltips(); -} - -?> - -
          - - triggerEvent('onConvertFormsEditorView'); - ?> - -
          - -
          -
          - -
          -
          - - get('sitename') ?> -
          -
          - - -
          - -
          - - " id="formname" value="name ?>"/> -
          -
          - -
          -
          -
          -
          -
          -
          - tabs as $key => $tab) - { - $tabName = $key; - $tabLabel = JText::_($tab["label"]); - - tabStart($tabName, ''); - - $panelActive = $tabActive == $key ? $tabState : ""; - - echo JHtml::_('bootstrap.startAccordion', $tabName, array('active' => $panelActive)); - echo "

          " . $tabLabel . "

          "; - - $single = count($tab["fields"]) == 1 ? true : false; - - foreach ($tab["fields"] as $key => $field) - { - if ($single) - { - echo '
          ' . $this->form->renderFieldset($field["name"]) . '
          '; - continue; - } - - echo JHtml::_('bootstrap.addSlide', $tabName, JText::_($field["label"]), $tabName.'-' . $field["name"], $field["name"]); - - $fieldset = $this->form->renderFieldset($field["name"]); - JFactory::getApplication()->triggerEvent('onConvertFormsBackendFormPrepareFieldset', [$field["name"], &$fieldset]); - echo $fieldset; - - echo JHtml::_('bootstrap.endSlide'); - } - - echo JHtml::_('bootstrap.endAccordion'); - - tabEnd(); - } - - tabSetEnd(); - ?> - - -
          -
          -
          -
          -
          -
          -
            -
          • - - -
          • -
          -
          -
          - -
          -
          -
          -
          -
          -
          -
          - - + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +use Joomla\CMS\HTML\HTMLHelper; +use NRFramework\HTML; + +HTMLHelper::_('behavior.formvalidator'); +HTMLHelper::_('behavior.keepalive'); + +JHtml::script('com_convertforms/admin.js', ['relative' => true, 'version' => 'auto']); +JHtml::stylesheet('com_convertforms/editor.css', ['relative' => true, 'version' => 'auto']); + +if (defined('nrJ4')) +{ + JFactory::getDocument()->addScript(JURI::root(true) . '/media/vendor/tinymce/tinymce.js'); + HTML::fixFieldTooltips(); + +} else +{ + JFactory::getDocument()->addScript(JURI::root(true) . '/media/editors/tinymce/tinymce.min.js'); + JHtml::script('com_convertforms/cookie.js', ['relative' => true, 'version' => 'auto']); +} + +$fonts = new NRFonts(); +JFactory::getDocument()->addScriptDeclaration('var ConvertFormsGoogleFonts = '. json_encode($fonts->getFontGroup('google'))); + +$tabState = JFactory::getApplication()->input->cookie->get("ConvertFormsState" . $this->item->id, 'fields'); +$tabStateParts = explode("-", $tabState); +$tabActive = $tabStateParts[0]; + +// Smart Tags Box +echo NRFramework\HTML::smartTagsBox(); + + +NRFramework\HTML::renderProOnlyModal(); + + +if (!$this->isnew) { + // Render Embed popup + echo \JHtml::_('bootstrap.renderModal', 'embedForm', [ + 'title' => 'Embed Form', + 'footer' => '', + ], ' +

          You are almost done! To embed this form on your site, please paste the following shortcode inside an article or a module.

          + +

          or you can follow the instructions from this page.

          + '); +} + + +function tabSetStart($active) +{ + echo defined('nrJ4') ? HTMLHelper::_('uitab.startTabSet', 'sections', ['active' => $active, 'orientation' => 'vertical']) : JHtml::_('bootstrap.startTabSet', 'sections', ['active' => $active]);; +} + +function tabSetEnd() +{ + echo defined('nrJ4') ? HTMLHelper::_('uitab.endTabSet') : JHtml::_('bootstrap.endTabSet');; +} + +function tabStart($name, $title) +{ + echo defined('nrJ4') ? HTMLHelper::_('uitab.addTab', 'sections', $name, JText::_($title)) : JHtml::_('bootstrap.addTab', 'sections', $name, JText::_($title)); +} + +function tabEnd() +{ + echo defined('nrJ4') ? HTMLHelper::_('uitab.endTab') : JHtml::_('bootstrap.endTab'); +} + +if (defined('nrJ4')) +{ + NRFramework\HTML::fixFieldTooltips(); +} + +?> + +
          + + triggerEvent('onConvertFormsEditorView'); + ?> + +
          + +
          +
          + +
          +
          + + get('sitename') ?> +
          +
          + + +
          + +
          + + " id="formname" value="name ?>"/> +
          +
          + +
          +
          +
          +
          +
          +
          + tabs as $key => $tab) + { + $tabName = $key; + $tabLabel = JText::_($tab["label"]); + + tabStart($tabName, ''); + + $panelActive = $tabActive == $key ? $tabState : ""; + + echo JHtml::_('bootstrap.startAccordion', $tabName, array('active' => $panelActive)); + echo "

          " . $tabLabel . "

          "; + + $single = count($tab["fields"]) == 1 ? true : false; + + foreach ($tab["fields"] as $key => $field) + { + if ($single) + { + echo '
          ' . $this->form->renderFieldset($field["name"]) . '
          '; + continue; + } + + echo JHtml::_('bootstrap.addSlide', $tabName, JText::_($field["label"]), $tabName.'-' . $field["name"], $field["name"]); + + $fieldset = $this->form->renderFieldset($field["name"]); + JFactory::getApplication()->triggerEvent('onConvertFormsBackendFormPrepareFieldset', [$field["name"], &$fieldset]); + echo $fieldset; + + echo JHtml::_('bootstrap.endSlide'); + } + + echo JHtml::_('bootstrap.endAccordion'); + + tabEnd(); + } + + tabSetEnd(); + ?> + + +
          +
          +
          +
          +
          +
          +
            +
          • + + +
          • +
          +
          +
          + +
          +
          +
          +
          +
          +
          +
          + +
          \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/field.php b/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/field.php index e867a9bd..a80e254e 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/field.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/form/tmpl/field.php @@ -1,17 +1,17 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -?> - -field; ?> + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +?> + +field; ?> diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/form/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/form/view.html.php index 92c8a65f..8f2dc853 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/form/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/form/view.html.php @@ -1,57 +1,57 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -// import Joomla view library -jimport('joomla.application.component.view'); - -/** - * Item View - */ -class ConvertFormsViewForm extends JViewLegacy -{ - /** - * display method of Item view - * @return void - */ - public function display($tpl = null) - { - // Access check. - ConvertForms\Helper::authorise('convertforms.forms.manage', true); - - // Check for errors. - if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) - { - JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); - return false; - } - - // Assign the Data - $this->form = $this->get('Form'); - $this->item = $this->get('Item'); - $this->isnew = (!isset($_REQUEST["id"])) ? true : false; - $this->tabs = $this->get('Tabs'); - $this->name = $this->item->name ?: JText::_('COM_CONVERTFORMS_UNTITLED_BOX'); - - \JPluginHelper::importPlugin('convertformstools'); - \JFactory::getApplication()->triggerEvent('onConvertFormsBackendEditorDisplay'); - - $title = JText::_('COM_CONVERTFORMS') . ' - ' . ($this->isnew ? JText::_("COM_CONVERTFORMS_UNTITLED_BOX") : $this->name); - - JFactory::getDocument()->setTitle($title); - JToolbarHelper::title($title); - - // Display the template - parent::display($tpl); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +// import Joomla view library +jimport('joomla.application.component.view'); + +/** + * Item View + */ +class ConvertFormsViewForm extends JViewLegacy +{ + /** + * display method of Item view + * @return void + */ + public function display($tpl = null) + { + // Access check. + ConvertForms\Helper::authorise('convertforms.forms.manage', true); + + // Check for errors. + if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) + { + JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); + return false; + } + + // Assign the Data + $this->form = $this->get('Form'); + $this->item = $this->get('Item'); + $this->isnew = (!isset($_REQUEST["id"])) ? true : false; + $this->tabs = $this->get('Tabs'); + $this->name = $this->item->name ?: JText::_('COM_CONVERTFORMS_UNTITLED_BOX'); + + \JPluginHelper::importPlugin('convertformstools'); + \JFactory::getApplication()->triggerEvent('onConvertFormsBackendEditorDisplay'); + + $title = JText::_('COM_CONVERTFORMS') . ' - ' . ($this->isnew ? JText::_("COM_CONVERTFORMS_UNTITLED_BOX") : $this->name); + + JFactory::getDocument()->setTitle($title); + JToolbarHelper::title($title); + + // Display the template + parent::display($tpl); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/form/view.raw.php b/deployed/convertforms/administrator/components/com_convertforms/views/form/view.raw.php index c4f60e2d..c57f8be3 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/form/view.raw.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/form/view.raw.php @@ -1,76 +1,76 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -jimport('joomla.application.component.view'); - -/** - * Item View - */ -class ConvertFormsViewForm extends JViewLegacy -{ - /** - * display method of Item view - * @return void - */ - public function display($tpl = null) - { - $app = JFactory::getApplication(); - - // Check for errors. - if (count($errors = $this->get('Errors'))) - { - $app->enqueueMessage(implode('\n', $errors), 'error'); - return false; - } - - $layout = $app->input->get('layout', 'default'); - - if ($layout == 'preview') - { - //$data = json_decode($app->input->get('jform', null, 'RAW')); - - $input = json_decode(file_get_contents('php://input')); - $data = json_decode($input); - - $xx = new JRegistry(); - - foreach ($data as $value) - { - $key = str_replace(['jform[', ']', '['], ['', '', '.'], $value->name); - $xx->set($key, $value->value); - } - - $xx = $xx->toArray(); - - $this->data = $this->getModel('Form')->validate('jform', $xx); - $this->data['params'] = json_decode($this->data['params'], true); - $this->data['fields'] = $this->data['params']['fields']; - - unset($this->data['params']['fields']); - - $this->form = ConvertForms\Helper::renderForm($this->data); - } - - if ($layout == 'field') - { - $formControl = urldecode($app->input->get('formcontrol', null, 'RAW')); - $loadData = $app->input->get('field', array(), 'ARRAY'); - - $this->field = ConvertForms\FieldsHelper::getFieldClass($loadData['type'])->getOptionsForm($formControl, $loadData); - } - - // Display the template - parent::display($tpl); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +jimport('joomla.application.component.view'); + +/** + * Item View + */ +class ConvertFormsViewForm extends JViewLegacy +{ + /** + * display method of Item view + * @return void + */ + public function display($tpl = null) + { + $app = JFactory::getApplication(); + + // Check for errors. + if (count($errors = $this->get('Errors'))) + { + $app->enqueueMessage(implode('\n', $errors), 'error'); + return false; + } + + $layout = $app->input->get('layout', 'default'); + + if ($layout == 'preview') + { + //$data = json_decode($app->input->get('jform', null, 'RAW')); + + $input = json_decode(file_get_contents('php://input')); + $data = json_decode($input); + + $xx = new JRegistry(); + + foreach ($data as $value) + { + $key = str_replace(['jform[', ']', '['], ['', '', '.'], $value->name); + $xx->set($key, $value->value); + } + + $xx = $xx->toArray(); + + $this->data = $this->getModel('Form')->validate('jform', $xx); + $this->data['params'] = json_decode($this->data['params'], true); + $this->data['fields'] = $this->data['params']['fields']; + + unset($this->data['params']['fields']); + + $this->form = ConvertForms\Helper::renderForm($this->data); + } + + if ($layout == 'field') + { + $formControl = urldecode($app->input->get('formcontrol', null, 'RAW')); + $loadData = $app->input->get('field', array(), 'ARRAY'); + + $this->field = ConvertForms\FieldsHelper::getFieldClass($loadData['type'])->getOptionsForm($formControl, $loadData); + } + + // Display the template + parent::display($tpl); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/forms/tmpl/default.php b/deployed/convertforms/administrator/components/com_convertforms/views/forms/tmpl/default.php index 9f477b20..8122665c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/forms/tmpl/default.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/forms/tmpl/default.php @@ -1,229 +1,229 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -use Joomla\CMS\Button\PublishedButton; - -JHtml::_('bootstrap.popover'); - -$listOrder = $this->escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); - -if (!defined('nrJ4')) -{ - JFactory::getDocument()->addScriptDeclaration(' - jQuery(function($) { - Joomla.submitbutton = function(task) { - if (task == "form.add") { - jQuery("#cfSelectTemplate").modal("show"); - } else { - Joomla.submitform(task, document.getElementById("adminForm")); - } - } - }); - '); -} - -$user = JFactory::getUser(); - -?> - -
          - - -
          - sidebar; ?> -
          - -
          - $this)); - ?> - - - - - - - - - - - - - - items)) { ?> - items as $i => $item): ?> - id); - $canChange = $user->authorise('core.edit.state', 'com_convertforms.form.' . $item->id); - $leadsURL = JURI::base() . 'index.php?option=com_convertforms&view=conversions&filter.period&filter.form_id='. $item->id; - ?> - - - - - - - - - - - - - - - - -
          - - - - - - - - - -
          id); ?> - - 'forms.', - 'disabled' => !$canChange, - 'id' => 'state-' . $item->id - ]; - - echo (new PublishedButton)->render((int) $item->state, $i, $options); - ?> - -
          - state, $i, 'forms.', $canChange); ?> - - state === -2 ? 'un' : '') . 'trash', 'cb' . $i, 'forms'); - JHtml::_('actionsdropdown.' . 'duplicate', 'cb' . $i, 'forms'); - - echo JHtml::_('actionsdropdown.render', $this->escape($item->name)); - } - ?> -
          - -
          - escape($item->name); ?> - - - campaign)) - { - echo ConvertForms\Helper::getCampaign($item->campaign)->name; - } - ?> - - - - "> - - - - - - id ?>
          -
          - - - - -
          -
          - - pagination->getListFooter(); ?> - -
          - - - -
          -
          -
          - - - - \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/forms/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/forms/view.html.php index abc7ff38..70e3c35a 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/forms/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/forms/view.html.php @@ -1,194 +1,194 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ -defined('_JEXEC') or die('Restricted access'); - -use Joomla\CMS\Toolbar\Toolbar; -use Joomla\CMS\Toolbar\ToolbarHelper; - -// import Joomla view library -jimport('joomla.application.component.view'); - -/** - * Forms View Class - */ -class ConvertFormsViewForms extends JViewLegacy -{ - /** - * Items view display method - * - * @param string $tpl The name of the template file to parse; automatically searches through the template paths. - * - * @return mixed A string if successful, otherwise a JError object. - */ - public function display($tpl = null) - { - // Access check. - ConvertForms\Helper::authorise('convertforms.forms.manage', true); - - $this->items = $this->get('Items'); - $this->state = $this->get('State'); - $this->pagination = $this->get('Pagination'); - $this->filterForm = $this->get('FilterForm'); - $this->activeFilters = $this->get('ActiveFilters'); - $this->config = JComponentHelper::getParams('com_convertforms'); - - ConvertForms\Helper::addSubmenu('forms'); - $this->sidebar = JHtmlSidebar::render(); - $this->moduleID = NRFramework\Extension::getID('mod_convertforms', 'module'); - - // Check for errors. - if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) - { - JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); - return false; - } - - // Set the toolbar - $this->addToolBar(); - - ConvertForms\Helper::renderSelectTemplateModal(); - - // Display the template - parent::display($tpl); - } - - /** - * Add Toolbar to layout - */ - protected function addToolBar() - { - $canDo = ConvertForms\Helper::getActions(); - $state = $this->get('State'); - $viewLayout = JFactory::getApplication()->input->get('layout', 'default'); - - // Joomla J4 - if (defined('nrJ4')) - { - $toolbar = Toolbar::getInstance('toolbar'); - - if ($viewLayout == 'import') - { - $title = JText::_('COM_CONVERTFORMS') . ': ' . JText::_('NR_IMPORT_ITEMS'); - - JFactory::getDocument()->setTitle($title); - JToolbarHelper::title($title); - JToolbarHelper::back(); - } - else - { - ToolbarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_FORMS')); - - if ($canDo->get('core.create')) - { - $newGroup = $toolbar->dropdownButton('new-group'); - $newGroup->configure( - function (Toolbar $childBar) - { - $childBar->popupButton('new')->text('New')->selector('cfSelectTemplate')->icon('icon-new')->buttonClass('btn btn-success'); - $childBar->addNew('form.add')->text('COM_CONVERTFORMS_TEMPLATES_BLANK'); - $childBar->standardButton('import')->text('NR_IMPORT')->task('forms.import')->icon('icon-upload'); - } - ); - } - - $dropdown = $toolbar->dropdownButton('status-group') - ->text('JTOOLBAR_CHANGE_STATUS') - ->toggleSplit(false) - ->icon('fas fa-ellipsis-h') - ->buttonClass('btn btn-action') - ->listCheck(true); - - $childBar = $dropdown->getChildToolbar(); - - if ($canDo->get('core.edit.state')) - { - $childBar->publish('forms.publish')->listCheck(true); - $childBar->unpublish('forms.unpublish')->listCheck(true); - $childBar->standardButton('copy')->text('JTOOLBAR_DUPLICATE')->task('forms.duplicate')->listCheck(true); - $childBar->standardButton('export')->text('NR_EXPORT')->task('forms.export')->icon('icon-download')->listCheck(true); - $childBar->trash('forms.trash')->listCheck(true); - } - - if ($this->state->get('filter.state') == -2) - { - $toolbar->delete('forms.delete') - ->text('JTOOLBAR_EMPTY_TRASH') - ->message('JGLOBAL_CONFIRM_DELETE') - ->listCheck(true); - } - - if ($canDo->get('core.admin')) - { - $toolbar->preferences('com_convertforms'); - } - - $toolbar->help('JHELP', false, "http://www.tassos.gr/joomla-extensions/responsive-scroll-triggered-box-for-joomla/docs"); - } - - return; - } - - if ($viewLayout == 'import') - { - JFactory::getDocument()->setTitle(JText::_('COM_CONVERTFORMS') . ': ' . JText::_('NR_IMPORT_ITEMS')); - JToolbarHelper::title(JText::_('COM_CONVERTFORMS') . ': ' . JText::_('NR_IMPORT_ITEMS')); - JToolbarHelper::back(); - } - else - { - JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_FORMS')); - - if ($canDo->get('core.create')) - { - JToolbarHelper::addNew('form.add'); - } - - if ($canDo->get('core.edit')) - { - JToolbarHelper::editList('form.edit'); - } - - if ($canDo->get('core.create')) - { - JToolbarHelper::custom('forms.duplicate', 'copy', 'copy', 'JTOOLBAR_DUPLICATE', true); - } - - if ($canDo->get('core.edit.state') && $state->get('filter.state') != 2) - { - JToolbarHelper::publish('forms.publish', 'JTOOLBAR_PUBLISH', true); - JToolbarHelper::unpublish('forms.unpublish', 'JTOOLBAR_UNPUBLISH', true); - } - - if ($canDo->get('core.delete') && $state->get('filter.state') == -2) - { - JToolbarHelper::deleteList('', 'forms.delete', 'JTOOLBAR_EMPTY_TRASH'); - } - else if ($canDo->get('core.edit.state')) - { - JToolbarHelper::trash('forms.trash'); - } - - if ($canDo->get('core.create')) - { - JToolbarHelper::custom('forms.export', 'box-add', 'box-add', 'NR_EXPORT'); - JToolbarHelper::custom('forms.import', 'box-remove', 'box-remove', 'NR_IMPORT', false); - } - - if ($canDo->get('core.admin')) - { - JToolbarHelper::preferences('com_convertforms'); - } - } - - JToolbarHelper::help("Help", false, "http://www.tassos.gr/joomla-extensions/convert-forms/docs"); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ +defined('_JEXEC') or die('Restricted access'); + +use Joomla\CMS\Toolbar\Toolbar; +use Joomla\CMS\Toolbar\ToolbarHelper; + +// import Joomla view library +jimport('joomla.application.component.view'); + +/** + * Forms View Class + */ +class ConvertFormsViewForms extends JViewLegacy +{ + /** + * Items view display method + * + * @param string $tpl The name of the template file to parse; automatically searches through the template paths. + * + * @return mixed A string if successful, otherwise a JError object. + */ + public function display($tpl = null) + { + // Access check. + ConvertForms\Helper::authorise('convertforms.forms.manage', true); + + $this->items = $this->get('Items'); + $this->state = $this->get('State'); + $this->pagination = $this->get('Pagination'); + $this->filterForm = $this->get('FilterForm'); + $this->activeFilters = $this->get('ActiveFilters'); + $this->config = JComponentHelper::getParams('com_convertforms'); + + ConvertForms\Helper::addSubmenu('forms'); + $this->sidebar = JHtmlSidebar::render(); + $this->moduleID = NRFramework\Extension::getID('mod_convertforms', 'module'); + + // Check for errors. + if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) + { + JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); + return false; + } + + // Set the toolbar + $this->addToolBar(); + + ConvertForms\Helper::renderSelectTemplateModal(); + + // Display the template + parent::display($tpl); + } + + /** + * Add Toolbar to layout + */ + protected function addToolBar() + { + $canDo = ConvertForms\Helper::getActions(); + $state = $this->get('State'); + $viewLayout = JFactory::getApplication()->input->get('layout', 'default'); + + // Joomla J4 + if (defined('nrJ4')) + { + $toolbar = Toolbar::getInstance('toolbar'); + + if ($viewLayout == 'import') + { + $title = JText::_('COM_CONVERTFORMS') . ': ' . JText::_('NR_IMPORT_ITEMS'); + + JFactory::getDocument()->setTitle($title); + JToolbarHelper::title($title); + JToolbarHelper::back(); + } + else + { + ToolbarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_FORMS')); + + if ($canDo->get('core.create')) + { + $newGroup = $toolbar->dropdownButton('new-group'); + $newGroup->configure( + function (Toolbar $childBar) + { + $childBar->popupButton('new')->text('New')->selector('cfSelectTemplate')->icon('icon-new')->buttonClass('btn btn-success'); + $childBar->addNew('form.add')->text('COM_CONVERTFORMS_TEMPLATES_BLANK'); + $childBar->standardButton('import')->text('NR_IMPORT')->task('forms.import')->icon('icon-upload'); + } + ); + } + + $dropdown = $toolbar->dropdownButton('status-group') + ->text('JTOOLBAR_CHANGE_STATUS') + ->toggleSplit(false) + ->icon('fas fa-ellipsis-h') + ->buttonClass('btn btn-action') + ->listCheck(true); + + $childBar = $dropdown->getChildToolbar(); + + if ($canDo->get('core.edit.state')) + { + $childBar->publish('forms.publish')->listCheck(true); + $childBar->unpublish('forms.unpublish')->listCheck(true); + $childBar->standardButton('copy')->text('JTOOLBAR_DUPLICATE')->task('forms.duplicate')->listCheck(true); + $childBar->standardButton('export')->text('NR_EXPORT')->task('forms.export')->icon('icon-download')->listCheck(true); + $childBar->trash('forms.trash')->listCheck(true); + } + + if ($this->state->get('filter.state') == -2) + { + $toolbar->delete('forms.delete') + ->text('JTOOLBAR_EMPTY_TRASH') + ->message('JGLOBAL_CONFIRM_DELETE') + ->listCheck(true); + } + + if ($canDo->get('core.admin')) + { + $toolbar->preferences('com_convertforms'); + } + + $toolbar->help('JHELP', false, "http://www.tassos.gr/joomla-extensions/responsive-scroll-triggered-box-for-joomla/docs"); + } + + return; + } + + if ($viewLayout == 'import') + { + JFactory::getDocument()->setTitle(JText::_('COM_CONVERTFORMS') . ': ' . JText::_('NR_IMPORT_ITEMS')); + JToolbarHelper::title(JText::_('COM_CONVERTFORMS') . ': ' . JText::_('NR_IMPORT_ITEMS')); + JToolbarHelper::back(); + } + else + { + JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_FORMS')); + + if ($canDo->get('core.create')) + { + JToolbarHelper::addNew('form.add'); + } + + if ($canDo->get('core.edit')) + { + JToolbarHelper::editList('form.edit'); + } + + if ($canDo->get('core.create')) + { + JToolbarHelper::custom('forms.duplicate', 'copy', 'copy', 'JTOOLBAR_DUPLICATE', true); + } + + if ($canDo->get('core.edit.state') && $state->get('filter.state') != 2) + { + JToolbarHelper::publish('forms.publish', 'JTOOLBAR_PUBLISH', true); + JToolbarHelper::unpublish('forms.unpublish', 'JTOOLBAR_UNPUBLISH', true); + } + + if ($canDo->get('core.delete') && $state->get('filter.state') == -2) + { + JToolbarHelper::deleteList('', 'forms.delete', 'JTOOLBAR_EMPTY_TRASH'); + } + else if ($canDo->get('core.edit.state')) + { + JToolbarHelper::trash('forms.trash'); + } + + if ($canDo->get('core.create')) + { + JToolbarHelper::custom('forms.export', 'box-add', 'box-add', 'NR_EXPORT'); + JToolbarHelper::custom('forms.import', 'box-remove', 'box-remove', 'NR_IMPORT', false); + } + + if ($canDo->get('core.admin')) + { + JToolbarHelper::preferences('com_convertforms'); + } + } + + JToolbarHelper::help("Help", false, "http://www.tassos.gr/joomla-extensions/convert-forms/docs"); + } } \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/templates/tmpl/default.php b/deployed/convertforms/administrator/components/com_convertforms/views/templates/tmpl/default.php index 4e5a9152..80b6f71c 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/templates/tmpl/default.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/templates/tmpl/default.php @@ -1,52 +1,52 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); -JHtml::_('bootstrap.popover'); - -?> - -
          -
          - templates as $key => $templateGroup) { ?> - - -
          -
          - - \ No newline at end of file diff --git a/deployed/convertforms/administrator/components/com_convertforms/views/templates/view.html.php b/deployed/convertforms/administrator/components/com_convertforms/views/templates/view.html.php index 42a9d49e..c314caac 100644 --- a/deployed/convertforms/administrator/components/com_convertforms/views/templates/view.html.php +++ b/deployed/convertforms/administrator/components/com_convertforms/views/templates/view.html.php @@ -1,111 +1,111 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ -defined('_JEXEC') or die('Restricted access'); - -// import Joomla view library -jimport('joomla.application.component.view'); - -/** - * Templates View - */ -class ConvertFormsViewTemplates extends JViewLegacy -{ - /** - * Items view display method - * - * @param string $tpl The name of the template file to parse; automatically searches through the template paths. - * - * @return mixed A string if successful, otherwise a JError object. - */ - function display($tpl = null) - { - $this->config = JComponentHelper::getParams('com_convertforms'); - $this->templates = $this->getTemplates(); - - // Check for errors. - if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) - { - JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); - return false; - } - - // Set the toolbar - $this->addToolBar(); - - // Display the template - parent::display($tpl); - } - - /** - * Get list of all available templates - * - * @return array - */ - function getTemplates() - { - $templatesPath = JPATH_ROOT . "/media/com_convertforms/templates/"; - $xmlFile = $templatesPath . "templates.xml"; - - if (!JFile::exists($xmlFile)) - { - return; - } - - if (!$templateGroups = simplexml_load_file($xmlFile)) - { - return; - } - - $templates = array(); - - foreach ($templateGroups as $templateGroup) - { - $templateGroupName = (string) $templateGroup["name"]; - - foreach ($templateGroup as $template) - { - $templateName = (string) $template["name"]; - - // Check if template thumb file exists - if (!JFile::exists($templatesPath . $templateName . ".jpg")) - { - continue; - } - - $templateInfo = array( - "name" => $templateName, - "label" => (string) $template["label"], - "thumb" => JURI::root() . 'media/com_convertforms/templates/' . $templateName . '.jpg', - "link" => JURI::base() . "index.php?option=com_convertforms&view=form&layout=edit&template=" . $templateName - ); - - // Check if template thumb file exists - if (!JFile::exists($templatesPath . $templateName . ".cnvf")) - { - unset($templateInfo["link"]); - } - - $templates[$templateGroupName][] = $templateInfo; - } - } - - return $templates; - } - - /** - * Add Toolbar to layout - */ - protected function addToolBar() - { - JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_TEMPLATES')); - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ +defined('_JEXEC') or die('Restricted access'); + +// import Joomla view library +jimport('joomla.application.component.view'); + +/** + * Templates View + */ +class ConvertFormsViewTemplates extends JViewLegacy +{ + /** + * Items view display method + * + * @param string $tpl The name of the template file to parse; automatically searches through the template paths. + * + * @return mixed A string if successful, otherwise a JError object. + */ + function display($tpl = null) + { + $this->config = JComponentHelper::getParams('com_convertforms'); + $this->templates = $this->getTemplates(); + + // Check for errors. + if (!is_null($this->get('Errors')) && count($errors = $this->get('Errors'))) + { + JFactory::getApplication()->enqueueMessage(implode("\n", $errors), 'error'); + return false; + } + + // Set the toolbar + $this->addToolBar(); + + // Display the template + parent::display($tpl); + } + + /** + * Get list of all available templates + * + * @return array + */ + function getTemplates() + { + $templatesPath = JPATH_ROOT . "/media/com_convertforms/templates/"; + $xmlFile = $templatesPath . "templates.xml"; + + if (!JFile::exists($xmlFile)) + { + return; + } + + if (!$templateGroups = simplexml_load_file($xmlFile)) + { + return; + } + + $templates = array(); + + foreach ($templateGroups as $templateGroup) + { + $templateGroupName = (string) $templateGroup["name"]; + + foreach ($templateGroup as $template) + { + $templateName = (string) $template["name"]; + + // Check if template thumb file exists + if (!JFile::exists($templatesPath . $templateName . ".jpg")) + { + continue; + } + + $templateInfo = array( + "name" => $templateName, + "label" => (string) $template["label"], + "thumb" => JURI::root() . 'media/com_convertforms/templates/' . $templateName . '.jpg', + "link" => JURI::base() . "index.php?option=com_convertforms&view=form&layout=edit&template=" . $templateName + ); + + // Check if template thumb file exists + if (!JFile::exists($templatesPath . $templateName . ".cnvf")) + { + unset($templateInfo["link"]); + } + + $templates[$templateGroupName][] = $templateInfo; + } + } + + return $templates; + } + + /** + * Add Toolbar to layout + */ + protected function addToolBar() + { + JToolBarHelper::title(JText::_('COM_CONVERTFORMS') . ": " . JText::_('COM_CONVERTFORMS_TEMPLATES')); + } } \ No newline at end of file diff --git a/deployed/convertforms/media/com_convertforms/templates/diamond_bar.cnvf b/deployed/convertforms/media/com_convertforms/templates/diamond_bar.cnvf index f47caaf9..f8ff4916 100644 --- a/deployed/convertforms/media/com_convertforms/templates/diamond_bar.cnvf +++ b/deployed/convertforms/media/com_convertforms/templates/diamond_bar.cnvf @@ -1,10 +1,10 @@ -[ - { - "id": "57", - "name": "Template: Diamond Bar", - "state": "1", - "created": "2018-01-17 17:01:47", - "ordering": "0", - "params": "{\"fields\":{\"fields0\":{\"key\":\"0\",\"type\":\"email\",\"name\":\"email\",\"label\":\"Enter your email\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your email\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-fifths\",\"browserautocomplete\":\"0\"},\"fields1\":{\"key\":\"1\",\"type\":\"text\",\"name\":\"name\",\"label\":\"Enter your name\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your name\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-fifths\",\"pattern\":\"\",\"browserautocomplete\":\"0\"},\"fields2\":{\"key\":\"2\",\"type\":\"submit\",\"text\":\"Sign up\",\"align\":\"full\",\"btnstyle\":\"flat\",\"fontsize\":\"14\",\"shadow\":\"0\",\"bg\":\"#e86161\",\"textcolor\":\"#ffffff\",\"texthovercolor\":\"#ffffff\",\"borderradius\":\"5\",\"vpadding\":\"11\",\"hpadding\":\"15\",\"cssclass\":\"cf-one-fifth\"}},\"autowidth\":\"custom\",\"width\":\"900\",\"bgcolor\":\"rgba(240, 240, 240, 1)\",\"bgimage\":\"0\",\"bgurl\":\"\",\"bgfile\":\"\",\"bgrepeat\":\"repeat\",\"bgsize\":\"auto\",\"bgposition\":\"center top\",\"text\":\"
          Don't miss a thing!
          Subscribe<\\/span><\\/span> to our newsletter<\\/span><\\/span><\\/div>\",\"font\":\"Arial\",\"padding\":\"0\",\"borderradius\":\"0\",\"borderstyle\":\"none\",\"bordercolor\":\"#f28395\",\"borderwidth\":\"10\",\"image\":\"0\",\"imageurl\":\"\",\"imagefile\":\"\",\"imgposition\":\"img-above\",\"imageautowidth\":\"auto\",\"imagewidth\":\"140\",\"imagesize\":\"5\",\"imagehposition\":\"0\",\"imagevposition\":\"0\",\"imagealt\":\"\",\"hideimageonmobile\":\"0\",\"formposition\":\"form-right\",\"formsize\":\"12\",\"formbgcolor\":\"rgba(195, 195, 195, 1)\",\"labelscolor\":\"#888888\",\"labelsfontsize\":\"13\",\"inputfontsize\":\"12\",\"inputcolor\":\"#333333\",\"inputbg\":\"#eeeeee\",\"inputalign\":\"left\",\"inputbordercolor\":\"#ffffff\",\"inputborderradius\":\"5\",\"inputvpadding\":\"11\",\"inputhpadding\":\"13\",\"inputshadow\":\"0\",\"footer\":\"\",\"customcss\":\"\",\"customcode\":\"\",\"classsuffix\":\"\",\"sendnotifications\":\"0\",\"emails\":\"\",\"campaign\":\"29\",\"onsuccess\":\"msg\",\"successmsg\":\"You've successfully subscribed. Thank you!\",\"resetform\":\"1\",\"hideform\":\"1\",\"successurl\":\"\",\"passdata\":\"0\"}" - } +[ + { + "id": "57", + "name": "Template: Diamond Bar", + "state": "1", + "created": "2018-01-17 17:01:47", + "ordering": "0", + "params": "{\"fields\":{\"fields0\":{\"key\":\"0\",\"type\":\"email\",\"name\":\"email\",\"label\":\"Enter your email\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your email\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-fifths\",\"browserautocomplete\":\"0\"},\"fields1\":{\"key\":\"1\",\"type\":\"text\",\"name\":\"name\",\"label\":\"Enter your name\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your name\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-fifths\",\"pattern\":\"\",\"browserautocomplete\":\"0\"},\"fields2\":{\"key\":\"2\",\"type\":\"submit\",\"text\":\"Sign up\",\"align\":\"full\",\"btnstyle\":\"flat\",\"fontsize\":\"14\",\"shadow\":\"0\",\"bg\":\"#e86161\",\"textcolor\":\"#ffffff\",\"texthovercolor\":\"#ffffff\",\"borderradius\":\"5\",\"vpadding\":\"11\",\"hpadding\":\"15\",\"cssclass\":\"cf-one-fifth\"}},\"autowidth\":\"custom\",\"width\":\"900\",\"bgcolor\":\"rgba(240, 240, 240, 1)\",\"bgimage\":\"0\",\"bgurl\":\"\",\"bgfile\":\"\",\"bgrepeat\":\"repeat\",\"bgsize\":\"auto\",\"bgposition\":\"center top\",\"text\":\"
          Don't miss a thing!
          Subscribe<\\/span><\\/span> to our newsletter<\\/span><\\/span><\\/div>\",\"font\":\"Arial\",\"padding\":\"0\",\"borderradius\":\"0\",\"borderstyle\":\"none\",\"bordercolor\":\"#f28395\",\"borderwidth\":\"10\",\"image\":\"0\",\"imageurl\":\"\",\"imagefile\":\"\",\"imgposition\":\"img-above\",\"imageautowidth\":\"auto\",\"imagewidth\":\"140\",\"imagesize\":\"5\",\"imagehposition\":\"0\",\"imagevposition\":\"0\",\"imagealt\":\"\",\"hideimageonmobile\":\"0\",\"formposition\":\"form-right\",\"formsize\":\"12\",\"formbgcolor\":\"rgba(195, 195, 195, 1)\",\"labelscolor\":\"#888888\",\"labelsfontsize\":\"13\",\"inputfontsize\":\"12\",\"inputcolor\":\"#333333\",\"inputbg\":\"#eeeeee\",\"inputalign\":\"left\",\"inputbordercolor\":\"#ffffff\",\"inputborderradius\":\"5\",\"inputvpadding\":\"11\",\"inputhpadding\":\"13\",\"inputshadow\":\"0\",\"footer\":\"\",\"customcss\":\"\",\"customcode\":\"\",\"classsuffix\":\"\",\"sendnotifications\":\"0\",\"emails\":\"\",\"campaign\":\"29\",\"onsuccess\":\"msg\",\"successmsg\":\"You've successfully subscribed. Thank you!\",\"resetform\":\"1\",\"hideform\":\"1\",\"successurl\":\"\",\"passdata\":\"0\"}" + } ] \ No newline at end of file diff --git a/deployed/convertforms/media/com_convertforms/templates/diamond_inline.cnvf b/deployed/convertforms/media/com_convertforms/templates/diamond_inline.cnvf index bf5f6183..235b77c2 100644 --- a/deployed/convertforms/media/com_convertforms/templates/diamond_inline.cnvf +++ b/deployed/convertforms/media/com_convertforms/templates/diamond_inline.cnvf @@ -1,10 +1,10 @@ -[ - { - "id": "48", - "name": "Template: Diamond Inline", - "state": "1", - "created": "2018-01-17 16:34:14", - "ordering": "0", - "params": "{\"fields\":{\"fields0\":{\"key\":\"0\",\"type\":\"email\",\"name\":\"email\",\"label\":\"Enter your email\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your email\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-thirds\",\"browserautocomplete\":\"0\"},\"fields1\":{\"key\":\"1\",\"type\":\"submit\",\"text\":\"Sign up\",\"align\":\"full\",\"btnstyle\":\"flat\",\"fontsize\":\"14\",\"shadow\":\"0\",\"bg\":\"#e86161\",\"textcolor\":\"#ffffff\",\"texthovercolor\":\"#ffffff\",\"borderradius\":\"5\",\"vpadding\":\"11\",\"hpadding\":\"15\",\"cssclass\":\"cf-one-third\"}},\"autowidth\":\"custom\",\"width\":\"600\",\"bgcolor\":\"rgba(238, 238, 238, 1)\",\"bgimage\":\"0\",\"bgurl\":\"https:\\/\\/thrivethemes.com\\/wp-content\\/themes\\/ignition-child\\/api_connections\\/assets\\/img\\/activecampaign.png\",\"bgfile\":\"images\\/joomla_black.png\",\"bgrepeat\":\"repeat\",\"bgsize\":\"auto\",\"bgposition\":\"center top\",\"text\":\"

          Subscribe<\\/span><\\/h2>\\r\\n

          Lorem ipsum dolor sit amet, consectetur adipisicing
          tempor incididunt ut labore et dolore magna aliqua.
          quis nostrud exercitation ullamco laboris nisi ut
          consequat. Duis aute irure dolor in reprehenderit
          cillum dolore eu fugiat nulla pariatur. Excepteur
          <\\/span><\\/p>\",\"font\":\"Arial\",\"padding\":\"0\",\"borderradius\":\"0\",\"borderstyle\":\"none\",\"bordercolor\":\"#f28395\",\"borderwidth\":\"10\",\"image\":\"1\",\"imageurl\":\"\",\"imagefile\":\"images\\/convertforms\\/convertforms-03.png\",\"imgposition\":\"img-left\",\"imageautowidth\":\"auto\",\"imagewidth\":\"220\",\"imagesize\":\"6\",\"imagehposition\":\"0\",\"imagevposition\":\"0\",\"imagealt\":\"\",\"hideimageonmobile\":\"0\",\"formposition\":\"form-bottom\",\"formsize\":\"6\",\"formbgcolor\":\"rgba(195, 195, 195, 1)\",\"labelscolor\":\"#888888\",\"labelsfontsize\":\"13\",\"inputfontsize\":\"13\",\"inputcolor\":\"#333333\",\"inputbg\":\"#eeeeee\",\"inputalign\":\"left\",\"inputbordercolor\":\"#ffffff\",\"inputborderradius\":\"5\",\"inputvpadding\":\"11\",\"inputhpadding\":\"20\",\"inputshadow\":\"0\",\"footer\":\"\",\"customcss\":\"\",\"customcode\":\"\",\"classsuffix\":\"\",\"sendnotifications\":\"0\",\"emails\":\"\",\"campaign\":\"29\",\"onsuccess\":\"msg\",\"successmsg\":\"You've successfully subscribed. Thank you!\",\"resetform\":\"1\",\"hideform\":\"1\",\"successurl\":\"\",\"passdata\":\"0\"}" - } +[ + { + "id": "48", + "name": "Template: Diamond Inline", + "state": "1", + "created": "2018-01-17 16:34:14", + "ordering": "0", + "params": "{\"fields\":{\"fields0\":{\"key\":\"0\",\"type\":\"email\",\"name\":\"email\",\"label\":\"Enter your email\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your email\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-thirds\",\"browserautocomplete\":\"0\"},\"fields1\":{\"key\":\"1\",\"type\":\"submit\",\"text\":\"Sign up\",\"align\":\"full\",\"btnstyle\":\"flat\",\"fontsize\":\"14\",\"shadow\":\"0\",\"bg\":\"#e86161\",\"textcolor\":\"#ffffff\",\"texthovercolor\":\"#ffffff\",\"borderradius\":\"5\",\"vpadding\":\"11\",\"hpadding\":\"15\",\"cssclass\":\"cf-one-third\"}},\"autowidth\":\"custom\",\"width\":\"600\",\"bgcolor\":\"rgba(238, 238, 238, 1)\",\"bgimage\":\"0\",\"bgurl\":\"https:\\/\\/thrivethemes.com\\/wp-content\\/themes\\/ignition-child\\/api_connections\\/assets\\/img\\/activecampaign.png\",\"bgfile\":\"images\\/joomla_black.png\",\"bgrepeat\":\"repeat\",\"bgsize\":\"auto\",\"bgposition\":\"center top\",\"text\":\"

          Subscribe<\\/span><\\/h2>\\r\\n

          Lorem ipsum dolor sit amet, consectetur adipisicing
          tempor incididunt ut labore et dolore magna aliqua.
          quis nostrud exercitation ullamco laboris nisi ut
          consequat. Duis aute irure dolor in reprehenderit
          cillum dolore eu fugiat nulla pariatur. Excepteur
          <\\/span><\\/p>\",\"font\":\"Arial\",\"padding\":\"0\",\"borderradius\":\"0\",\"borderstyle\":\"none\",\"bordercolor\":\"#f28395\",\"borderwidth\":\"10\",\"image\":\"1\",\"imageurl\":\"\",\"imagefile\":\"images\\/convertforms\\/convertforms-03.png\",\"imgposition\":\"img-left\",\"imageautowidth\":\"auto\",\"imagewidth\":\"220\",\"imagesize\":\"6\",\"imagehposition\":\"0\",\"imagevposition\":\"0\",\"imagealt\":\"\",\"hideimageonmobile\":\"0\",\"formposition\":\"form-bottom\",\"formsize\":\"6\",\"formbgcolor\":\"rgba(195, 195, 195, 1)\",\"labelscolor\":\"#888888\",\"labelsfontsize\":\"13\",\"inputfontsize\":\"13\",\"inputcolor\":\"#333333\",\"inputbg\":\"#eeeeee\",\"inputalign\":\"left\",\"inputbordercolor\":\"#ffffff\",\"inputborderradius\":\"5\",\"inputvpadding\":\"11\",\"inputhpadding\":\"20\",\"inputshadow\":\"0\",\"footer\":\"\",\"customcss\":\"\",\"customcode\":\"\",\"classsuffix\":\"\",\"sendnotifications\":\"0\",\"emails\":\"\",\"campaign\":\"29\",\"onsuccess\":\"msg\",\"successmsg\":\"You've successfully subscribed. Thank you!\",\"resetform\":\"1\",\"hideform\":\"1\",\"successurl\":\"\",\"passdata\":\"0\"}" + } ] \ No newline at end of file diff --git a/deployed/convertforms/media/com_convertforms/templates/diamond_inline_2.cnvf b/deployed/convertforms/media/com_convertforms/templates/diamond_inline_2.cnvf index 4b5cf7d8..902f97a0 100644 --- a/deployed/convertforms/media/com_convertforms/templates/diamond_inline_2.cnvf +++ b/deployed/convertforms/media/com_convertforms/templates/diamond_inline_2.cnvf @@ -1,10 +1,10 @@ -[ - { - "id": "49", - "name": "Template: Diamond Inline 2", - "state": "1", - "created": "2018-01-17 16:38:35", - "ordering": "0", - "params": "{\"fields\":{\"fields0\":{\"key\":\"0\",\"type\":\"email\",\"name\":\"email\",\"label\":\"Enter your email\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your email\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-thirds\",\"browserautocomplete\":\"0\"},\"fields1\":{\"key\":\"1\",\"type\":\"submit\",\"text\":\"Sign up\",\"align\":\"full\",\"btnstyle\":\"flat\",\"fontsize\":\"14\",\"shadow\":\"0\",\"bg\":\"#e86161\",\"textcolor\":\"#fff\",\"texthovercolor\":\"#fff\",\"borderradius\":\"5\",\"vpadding\":\"11\",\"hpadding\":\"15\",\"cssclass\":\"cf-one-third\"}},\"autowidth\":\"custom\",\"width\":\"600\",\"bgcolor\":\"rgba(238, 238, 238, 1)\",\"bgimage\":\"0\",\"bgurl\":\"\",\"bgfile\":\"\",\"bgrepeat\":\"repeat\",\"bgsize\":\"auto\",\"bgposition\":\"center top\",\"text\":\"


          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodtor incidint<\\/strong> utlabore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud exercitation ullamco.
          <\\/span><\\/p>\",\"font\":\"Arial\",\"padding\":\"0\",\"borderradius\":\"0\",\"borderstyle\":\"none\",\"bordercolor\":\"#f28395\",\"borderwidth\":\"10\",\"image\":\"1\",\"imageurl\":\"\",\"imagefile\":\"images\\/convertforms\\/convertforms-16.png\",\"imgposition\":\"img-above\",\"imageautowidth\":\"auto\",\"imagewidth\":\"150\",\"imagesize\":\"5\",\"imagehposition\":\"0\",\"imagevposition\":\"0\",\"imagealt\":\"\",\"hideimageonmobile\":\"0\",\"formposition\":\"form-bottom\",\"formsize\":\"6\",\"formbgcolor\":\"rgba(195, 195, 195, 1)\",\"labelscolor\":\"#888888\",\"labelsfontsize\":\"13\",\"inputfontsize\":\"13\",\"inputcolor\":\"#333333\",\"inputbg\":\"#eeeeee\",\"inputalign\":\"left\",\"inputbordercolor\":\"#ffffff\",\"inputborderradius\":\"5\",\"inputvpadding\":\"11\",\"inputhpadding\":\"20\",\"inputshadow\":\"0\",\"footer\":\"\",\"customcss\":\"\",\"customcode\":\"\",\"classsuffix\":\"\",\"sendnotifications\":\"0\",\"emails\":\"\",\"campaign\":\"29\",\"onsuccess\":\"msg\",\"successmsg\":\"You've successfully subscribed. Thank you!\",\"resetform\":\"1\",\"hideform\":\"1\",\"successurl\":\"\",\"passdata\":\"0\"}" - } +[ + { + "id": "49", + "name": "Template: Diamond Inline 2", + "state": "1", + "created": "2018-01-17 16:38:35", + "ordering": "0", + "params": "{\"fields\":{\"fields0\":{\"key\":\"0\",\"type\":\"email\",\"name\":\"email\",\"label\":\"Enter your email\",\"description\":\"\",\"required\":\"1\",\"value\":\"\",\"placeholder\":\"Enter your email\",\"hidelabel\":\"1\",\"cssclass\":\"cf-two-thirds\",\"browserautocomplete\":\"0\"},\"fields1\":{\"key\":\"1\",\"type\":\"submit\",\"text\":\"Sign up\",\"align\":\"full\",\"btnstyle\":\"flat\",\"fontsize\":\"14\",\"shadow\":\"0\",\"bg\":\"#e86161\",\"textcolor\":\"#fff\",\"texthovercolor\":\"#fff\",\"borderradius\":\"5\",\"vpadding\":\"11\",\"hpadding\":\"15\",\"cssclass\":\"cf-one-third\"}},\"autowidth\":\"custom\",\"width\":\"600\",\"bgcolor\":\"rgba(238, 238, 238, 1)\",\"bgimage\":\"0\",\"bgurl\":\"\",\"bgfile\":\"\",\"bgrepeat\":\"repeat\",\"bgsize\":\"auto\",\"bgposition\":\"center top\",\"text\":\"


          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodtor incidint<\\/strong> utlabore et dolore magna aliqua. Ut enim ad minim veniam quis nostrud exercitation ullamco.
          <\\/span><\\/p>\",\"font\":\"Arial\",\"padding\":\"0\",\"borderradius\":\"0\",\"borderstyle\":\"none\",\"bordercolor\":\"#f28395\",\"borderwidth\":\"10\",\"image\":\"1\",\"imageurl\":\"\",\"imagefile\":\"images\\/convertforms\\/convertforms-16.png\",\"imgposition\":\"img-above\",\"imageautowidth\":\"auto\",\"imagewidth\":\"150\",\"imagesize\":\"5\",\"imagehposition\":\"0\",\"imagevposition\":\"0\",\"imagealt\":\"\",\"hideimageonmobile\":\"0\",\"formposition\":\"form-bottom\",\"formsize\":\"6\",\"formbgcolor\":\"rgba(195, 195, 195, 1)\",\"labelscolor\":\"#888888\",\"labelsfontsize\":\"13\",\"inputfontsize\":\"13\",\"inputcolor\":\"#333333\",\"inputbg\":\"#eeeeee\",\"inputalign\":\"left\",\"inputbordercolor\":\"#ffffff\",\"inputborderradius\":\"5\",\"inputvpadding\":\"11\",\"inputhpadding\":\"20\",\"inputshadow\":\"0\",\"footer\":\"\",\"customcss\":\"\",\"customcode\":\"\",\"classsuffix\":\"\",\"sendnotifications\":\"0\",\"emails\":\"\",\"campaign\":\"29\",\"onsuccess\":\"msg\",\"successmsg\":\"You've successfully subscribed. Thank you!\",\"resetform\":\"1\",\"hideform\":\"1\",\"successurl\":\"\",\"passdata\":\"0\"}" + } ] \ No newline at end of file diff --git a/deployed/convertforms/media/com_convertforms/templates/templates.xml b/deployed/convertforms/media/com_convertforms/templates/templates.xml index c599e4ab..ad6f1618 100644 --- a/deployed/convertforms/media/com_convertforms/templates/templates.xml +++ b/deployed/convertforms/media/com_convertforms/templates/templates.xml @@ -1,39 +1,39 @@ - - - -

          - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.ini b/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.ini index 769ff3c1..60bc8921 100644 --- a/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.ini +++ b/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.ini @@ -1,15 +1,15 @@ -;; Language File -;; -;; @package Convert Forms -;; @version 3.0.0 Free -;; -;; @author Tassos Marinos -;; @link http://www.tassos.gr -;; @copyright Copyright © 2020 Tassos Marinos All Rights Reserved -;; @license GNU GPLv3 or later - -MOD_CONVERTFORMS="Convert Forms" -MOD_CONVERTFORMS_DESC="This module displays a Form from the Convert Forms component." -CONVERTFORMS="Convert Forms Module" -MOD_CONVERTFORMS_FORM="Choose Form" +;; Language File +;; +;; @package Convert Forms +;; @version 3.0.0 Free +;; +;; @author Tassos Marinos +;; @link http://www.tassos.gr +;; @copyright Copyright © 2020 Tassos Marinos All Rights Reserved +;; @license GNU GPLv3 or later + +MOD_CONVERTFORMS="Convert Forms" +MOD_CONVERTFORMS_DESC="This module displays a Form from the Convert Forms component." +CONVERTFORMS="Convert Forms Module" +MOD_CONVERTFORMS_FORM="Choose Form" MOD_CONVERTFORMS_FORM_DESC="Choose Form" \ No newline at end of file diff --git a/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.sys.ini b/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.sys.ini index 249e4876..79b61685 100644 --- a/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.sys.ini +++ b/deployed/convertforms/modules/mod_convertforms/language/en-GB/en-GB.mod_convertforms.sys.ini @@ -1,13 +1,13 @@ -;; Language File -;; -;; @package Convert Forms -;; @version 3.0.0 Free -;; -;; @author Tassos Marinos -;; @link http://www.tassos.gr -;; @copyright Copyright © 2020 Tassos Marinos All Rights Reserved -;; @license GNU GPLv3 or later - -MOD_CONVERTFORMS="Convert Forms" -MOD_CONVERTFORMS_DESC="Convert Forms Module" +;; Language File +;; +;; @package Convert Forms +;; @version 3.0.0 Free +;; +;; @author Tassos Marinos +;; @link http://www.tassos.gr +;; @copyright Copyright © 2020 Tassos Marinos All Rights Reserved +;; @license GNU GPLv3 or later + +MOD_CONVERTFORMS="Convert Forms" +MOD_CONVERTFORMS_DESC="Convert Forms Module" CONVERTFORMS="Convert Forms Module" \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/acymailing/acymailing.php b/deployed/convertforms/plugins/convertforms/acymailing/acymailing.php index 02299d5d..97b31311 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/acymailing.php +++ b/deployed/convertforms/plugins/convertforms/acymailing/acymailing.php @@ -1,72 +1,72 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -class plgConvertFormsAcyMailing extends \ConvertForms\Plugin -{ - /** - * Main method to store data to service - * - * @return void - */ - public function subscribe() - { - // Make sure there's a list selected - if (!isset($this->lead->campaign->list) || empty($this->lead->campaign->list)) - { - throw new Exception(JText::_('PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED')); - } - - $lists = $this->lead->campaign->list; - $lists_v5 = []; - $lists_v6 = []; - - // Discover lists for each version. v6 lists starts with 6: prefix. - foreach ($lists as $list) - { - // Is a v5 list - if (strpos($list, '6:') === false) - { - $lists_v5[] = $list; - continue; - } - - // Is a v6 list - $lists_v6[] = str_replace('6:', '', $list); - } - - require_once __DIR__ . '/helper.php'; - - // Add user to AcyMailing 5 lists - if (!empty($lists_v5)) - { - ConvertFormsAcyMailingHelper::subscribe_v5($this->lead->email, $this->lead->params, $lists_v5, $this->lead->campaign->doubleoptin); - } - - // Add user to AcyMailing 6 lists - if (!empty($lists_v6)) - { - ConvertFormsAcyMailingHelper::subscribe_v6($this->lead->email, $this->lead->params, $lists_v6, $this->lead->campaign->doubleoptin); - } - } - - /** - * Disable service wrapper - * - * @return boolean - */ - protected function loadWrapper() - { - return true; - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +class plgConvertFormsAcyMailing extends \ConvertForms\Plugin +{ + /** + * Main method to store data to service + * + * @return void + */ + public function subscribe() + { + // Make sure there's a list selected + if (!isset($this->lead->campaign->list) || empty($this->lead->campaign->list)) + { + throw new Exception(JText::_('PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED')); + } + + $lists = $this->lead->campaign->list; + $lists_v5 = []; + $lists_v6 = []; + + // Discover lists for each version. v6 lists starts with 6: prefix. + foreach ($lists as $list) + { + // Is a v5 list + if (strpos($list, '6:') === false) + { + $lists_v5[] = $list; + continue; + } + + // Is a v6 list + $lists_v6[] = str_replace('6:', '', $list); + } + + require_once __DIR__ . '/helper.php'; + + // Add user to AcyMailing 5 lists + if (!empty($lists_v5)) + { + ConvertFormsAcyMailingHelper::subscribe_v5($this->lead->email, $this->lead->params, $lists_v5, $this->lead->campaign->doubleoptin); + } + + // Add user to AcyMailing 6 lists + if (!empty($lists_v6)) + { + ConvertFormsAcyMailingHelper::subscribe_v6($this->lead->email, $this->lead->params, $lists_v6, $this->lead->campaign->doubleoptin); + } + } + + /** + * Disable service wrapper + * + * @return boolean + */ + protected function loadWrapper() + { + return true; + } } \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/acymailing/form.xml b/deployed/convertforms/plugins/convertforms/acymailing/form.xml index 191241f0..f38ab8ec 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/form.xml +++ b/deployed/convertforms/plugins/convertforms/acymailing/form.xml @@ -1,19 +1,19 @@ - - -
          - - - - - -
          + + +
          + + + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/bg-BG/bg-BG.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/bg-BG/bg-BG.plg_convertforms_acymailing.ini index 765eeabe..c251e693 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/bg-BG/bg-BG.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/bg-BG/bg-BG.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Convert Forms – AcyMailing Integration" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms – интеграция с Acymailing Joomla! разширение." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Списък ID" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Изберете списъците, за които потребителят трябва да се абонира." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="В две стъпки" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Трябва ли потребителят да щракне линка в имейла за потвърждение, преди да бъде считан за абонат?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Потребителят не може да бъде създаден." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Моля, изберете списък в настройките на кампанията" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Convert Forms – AcyMailing Integration" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms – интеграция с Acymailing Joomla! разширение." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Списък ID" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Изберете списъците, за които потребителят трябва да се абонира." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="В две стъпки" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Трябва ли потребителят да щракне линка в имейла за потвърждение, преди да бъде считан за абонат?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Потребителят не може да бъде създаден." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Моля, изберете списък в настройките на кампанията" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/ca-ES/ca-ES.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/ca-ES/ca-ES.plg_convertforms_acymailing.ini index cb6eb592..de8cbf1d 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/ca-ES/ca-ES.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/ca-ES/ca-ES.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Integració Convert Forms - AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC="Integració entre Convert Forms i l'extensió de Joomla! AcyMailing." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID de llista" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Escull les llistes a les que s'hauria de subscriure l'usuari" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Doble confirmació d'entrada" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="L'usuari hauria de clicar a un correu de confirmació abans de ser considerat subscriptor?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="No es pot crear l'usuari." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Escull una llista a la configuració de la campanya" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Integració Convert Forms - AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC="Integració entre Convert Forms i l'extensió de Joomla! AcyMailing." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID de llista" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Escull les llistes a les que s'hauria de subscriure l'usuari" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Doble confirmació d'entrada" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="L'usuari hauria de clicar a un correu de confirmació abans de ser considerat subscriptor?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="No es pot crear l'usuari." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Escull una llista a la configuració de la campanya" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/cs-CZ/cs-CZ.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/cs-CZ/cs-CZ.plg_convertforms_acymailing.ini index 0461803c..d7c2f289 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/cs-CZ/cs-CZ.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/cs-CZ/cs-CZ.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Convert Forms - integrace AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integrace s rozšířením Acymailing pro Joomla!" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Seznam ID" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Vyberte seznamy k jejiž odběru se uživatel přihlašuje." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Dvojité potvrzení souhlasu" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Měl by uživatel potvrdit kliknutím na odkaz v potvrzovacím e-mailu souhlas s odběrem?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Nevytvářet uživatele." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Prosím zvolte seznam v nastavení kampaní" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Convert Forms - integrace AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integrace s rozšířením Acymailing pro Joomla!" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Seznam ID" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Vyberte seznamy k jejiž odběru se uživatel přihlašuje." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Dvojité potvrzení souhlasu" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Měl by uživatel potvrdit kliknutím na odkaz v potvrzovacím e-mailu souhlas s odběrem?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Nevytvářet uživatele." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Prosím zvolte seznam v nastavení kampaní" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/de-DE/de-DE.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/de-DE/de-DE.plg_convertforms_acymailing.ini index 8c5743c5..9f285bf1 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/de-DE/de-DE.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/de-DE/de-DE.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration mit Acymailing Joomla! Erweiterung." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID Liste" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Wählen Sie die Listen aus für die der Benutzer als Abonnement registriert werden soll." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Doppelte Verifizierung" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Muss der Benutzer eine Bestätigungsmail anklicken bevor er als Abonnement registriert wird?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Benutzer kann nicht erstellt werden." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Bitte wählen Sie eine Liste in den Kampagneneinstellungen aus." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration mit Acymailing Joomla! Erweiterung." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID Liste" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Wählen Sie die Listen aus für die der Benutzer als Abonnement registriert werden soll." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Doppelte Verifizierung" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Muss der Benutzer eine Bestätigungsmail anklicken bevor er als Abonnement registriert wird?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Benutzer kann nicht erstellt werden." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Bitte wählen Sie eine Liste in den Kampagneneinstellungen aus." diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.ini index 2f79dacc..9c5f1be4 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.ini @@ -1,17 +1,17 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration with Acymailing Joomla! Extension." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="List ID" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Select the lists which the user should be subscribed to." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Double Optin" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Should the user have to click on a confirmation email before being considered as a subscriber?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Can't create user." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Please select a list in the campaign settings" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration with Acymailing Joomla! Extension." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="List ID" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Select the lists which the user should be subscribed to." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Double Optin" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Should the user have to click on a confirmation email before being considered as a subscriber?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Can't create user." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Please select a list in the campaign settings" PLG_CONVERTFORMS_ACYMAILING_HELPER_CLASS_ERROR="AcyMailing %d helper class not found. Make sure AcyMailing is installed and you've selected the correct AcyMailing list in the campaign settings." \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.sys.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.sys.ini index 191514e4..5bba863a 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.sys.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/en-GB/en-GB.plg_convertforms_acymailing.sys.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration with Acymailing Joomla! Extension." \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/es-ES/es-ES.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/es-ES/es-ES.plg_convertforms_acymailing.ini index 71b92264..87ac2602 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/es-ES/es-ES.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/es-ES/es-ES.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="Acymailing" -PLG_CONVERTFORMS_ACYMAILING=""_QQ_"Formas de conversión"_QQ_" - Integración con AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC=""_QQ_"Formularios de conversión"_QQ_" - Integrar con extensión de Joomla! Acymailing." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Lista ID" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Selecciona las listas a la que el usuario debe estar suscrito." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Optin doble" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="¿Debe el usuario hacer click en un email de confirmación antes de ser considerado subscriptor?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="No se puede crear el usuario" -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Por favor, seleccione una lista en la configuración de campaña" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="Acymailing" +PLG_CONVERTFORMS_ACYMAILING=""_QQ_"Formas de conversión"_QQ_" - Integración con AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC=""_QQ_"Formularios de conversión"_QQ_" - Integrar con extensión de Joomla! Acymailing." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Lista ID" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Selecciona las listas a la que el usuario debe estar suscrito." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Optin doble" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="¿Debe el usuario hacer click en un email de confirmación antes de ser considerado subscriptor?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="No se puede crear el usuario" +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Por favor, seleccione una lista en la configuración de campaña" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/fi-FI/fi-FI.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/fi-FI/fi-FI.plg_convertforms_acymailing.ini index a49578a4..c52d03a5 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/fi-FI/fi-FI.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/fi-FI/fi-FI.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing liitäntä" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms -integrointi Acymailing Joomla! laajennukseen." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Luettelo ID" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Valitse luettelo ID, jonka käyttäjän tulee tilata" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Tupla varmistus" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Pitääkö käyttäjän avata vahvistusviesti ennen kuin hänet hyväksytään tilaajana?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Käyttäjää ei voi luoda." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Valitse luettelosta kampanja-asetuksissa" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing liitäntä" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms -integrointi Acymailing Joomla! laajennukseen." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Luettelo ID" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Valitse luettelo ID, jonka käyttäjän tulee tilata" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Tupla varmistus" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Pitääkö käyttäjän avata vahvistusviesti ennen kuin hänet hyväksytään tilaajana?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Käyttäjää ei voi luoda." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Valitse luettelosta kampanja-asetuksissa" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/fr-FR/fr-FR.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/fr-FR/fr-FR.plg_convertforms_acymailing.ini index 8d3d9636..0223cd97 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/fr-FR/fr-FR.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/fr-FR/fr-FR.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Convertisseur de formulaires - Intégration de AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convertisseur de formulaires - Intégration avec l'extension Joomla! AcyMailing." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID de la liste" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Sélectionnez les listes auxquelles l'utilisateur doit s'abonner." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Vérification par mail" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="L'utilisateur doit-il cliquer sur un mail de confirmation avant d'être considéré comme abonné ?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Impossible de créer un utilisateur" -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Merci de choisir une liste dans les réglages de la campagne" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Convertisseur de formulaires - Intégration de AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convertisseur de formulaires - Intégration avec l'extension Joomla! AcyMailing." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID de la liste" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Sélectionnez les listes auxquelles l'utilisateur doit s'abonner." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Vérification par mail" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="L'utilisateur doit-il cliquer sur un mail de confirmation avant d'être considéré comme abonné ?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Impossible de créer un utilisateur" +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Merci de choisir une liste dans les réglages de la campagne" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/it-IT/it-IT.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/it-IT/it-IT.plg_convertforms_acymailing.ini index 412e59ef..87a8f327 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/it-IT/it-IT.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/it-IT/it-IT.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Integrazione Convert Forms - AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC="Integrazione Convert Forms con l'estensione di Joomla! Acymailing." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID elenco" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Seleziona le liste a cui l'utente dovrebbe essere iscritto." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Doppio Opt-in" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="L'utente dovrebbe fare clic su una mail di conferma prima di essere considerato un iscritto?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Non posso creare l'utente." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Seleziona una lista nelle impostazioni di campagna" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Integrazione Convert Forms - AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC="Integrazione Convert Forms con l'estensione di Joomla! Acymailing." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="ID elenco" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Seleziona le liste a cui l'utente dovrebbe essere iscritto." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Doppio Opt-in" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="L'utente dovrebbe fare clic su una mail di conferma prima di essere considerato un iscritto?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Non posso creare l'utente." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Seleziona una lista nelle impostazioni di campagna" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/ru-RU/ru-RU.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/ru-RU/ru-RU.plg_convertforms_acymailing.ini index 4002ef8d..56cd16a0 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/ru-RU/ru-RU.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/ru-RU/ru-RU.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Преобразовать формы - интеграция AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC="Преобразование форм - интеграция с расширением Joomla! Acymailing." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Список идентификаторов" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Выберите списки, для которых пользователь должен быть зарегистрирован в качестве подписки." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Двойная проверка" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Нужно ли пользователю нажимать подтверждение по электронной почте перед регистрацией в качестве подписки?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Пользователь не может быть создан." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Пожалуйста, выберите список в настройках кампании." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Преобразовать формы - интеграция AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC="Преобразование форм - интеграция с расширением Joomla! Acymailing." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Список идентификаторов" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Выберите списки, для которых пользователь должен быть зарегистрирован в качестве подписки." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Двойная проверка" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Нужно ли пользователю нажимать подтверждение по электронной почте перед регистрацией в качестве подписки?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Пользователь не может быть создан." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Пожалуйста, выберите список в настройках кампании." diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/sv-SE/sv-SE.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/sv-SE/sv-SE.plg_convertforms_acymailing.ini index bdce0be7..1309c80e 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/sv-SE/sv-SE.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/sv-SE/sv-SE.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="Acymailing" -PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" -PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration med Acymailing Joomla! Komponent." -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="List ID" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Välj listan användaren skall bli prenumerant till." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Dubbel Optin" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Skall användaren behöva klicka på ett konfirmation email innan han anses bli en prenumerant?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Kan inte skapa användare." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Vänligen välj en lista i kampanj inställningen" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="Acymailing" +PLG_CONVERTFORMS_ACYMAILING="Convert Forms - AcyMailing Integration" +PLG_CONVERTFORMS_ACYMAILING_DESC="Convert Forms - Integration med Acymailing Joomla! Komponent." +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="List ID" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Välj listan användaren skall bli prenumerant till." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Dubbel Optin" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Skall användaren behöva klicka på ett konfirmation email innan han anses bli en prenumerant?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Kan inte skapa användare." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Vänligen välj en lista i kampanj inställningen" diff --git a/deployed/convertforms/plugins/convertforms/acymailing/language/uk-UA/uk-UA.plg_convertforms_acymailing.ini b/deployed/convertforms/plugins/convertforms/acymailing/language/uk-UA/uk-UA.plg_convertforms_acymailing.ini index 0f8ea82c..f7e578de 100644 --- a/deployed/convertforms/plugins/convertforms/acymailing/language/uk-UA/uk-UA.plg_convertforms_acymailing.ini +++ b/deployed/convertforms/plugins/convertforms/acymailing/language/uk-UA/uk-UA.plg_convertforms_acymailing.ini @@ -1,16 +1,16 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" -PLG_CONVERTFORMS_ACYMAILING="Перетворити форми - інтеграція AcyMailing" -PLG_CONVERTFORMS_ACYMAILING_DESC="Перетворити форми - інтеграція з розширенням Acymailing Joomla!" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Список ідентифікаторів" -PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Виберіть списки, для яких користувач повинен бути зареєстрований як підписка." -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Подвійна перевірка" -PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Чи повинен користувач натиснути електронний лист для підтвердження, перш ніж зареєструватися як підписка?" -PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Користувача не можна створити." -PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Виберіть список у налаштуваннях кампанії." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ACYMAILING_ALIAS="AcyMailing" +PLG_CONVERTFORMS_ACYMAILING="Перетворити форми - інтеграція AcyMailing" +PLG_CONVERTFORMS_ACYMAILING_DESC="Перетворити форми - інтеграція з розширенням Acymailing Joomla!" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID="Список ідентифікаторів" +PLG_CONVERTFORMS_ACYMAILING_LIST_ID_DESC="Виберіть списки, для яких користувач повинен бути зареєстрований як підписка." +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN="Подвійна перевірка" +PLG_CONVERTFORMS_ACYMAILING_DOUBLEOPTIN_DESC="Чи повинен користувач натиснути електронний лист для підтвердження, перш ніж зареєструватися як підписка?" +PLG_CONVERTFORMS_ACYMAILING_CANT_CREATE_USER="Користувача не можна створити." +PLG_CONVERTFORMS_ACYMAILING_NO_LIST_SELECTED="Виберіть список у налаштуваннях кампанії." diff --git a/deployed/convertforms/plugins/convertforms/emails/emails.php b/deployed/convertforms/plugins/convertforms/emails/emails.php index 3dce5978..437a5f10 100644 --- a/deployed/convertforms/plugins/convertforms/emails/emails.php +++ b/deployed/convertforms/plugins/convertforms/emails/emails.php @@ -1,278 +1,278 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -class plgConvertFormsEmails extends JPlugin -{ - /** - * Form Object - * - * @var object - */ - private $form; - - /** - * Auto loads the plugin language file - * - * @var boolean - */ - protected $autoloadLanguage = true; - - /** - * Add plugin fields to the form - * - * @param JForm $form - * @param object $data - * - * @return boolean - */ - public function onConvertFormsFormPrepareForm($form, $data) - { - $form->loadFile(__DIR__ . '/form/form.xml', false); - return true; - } - - /** - * Event triggered during fieldset rendering in the form editing page in the backend. - * - * @param string $fieldset_name The name of the fieldset is going to be rendered - * @param string $fieldset The HTML output of the fieldset - * - * @return void - */ - public function onConvertFormsBackendFormPrepareFieldset($fieldset_name, &$fieldset) - { - if ($this->_name != $fieldset_name) - { - return; - } - - // Proceed only if Mail Sending is disabled. - if ((bool) \JFactory::getConfig()->get('mailonline')) - { - return; - } - - $warning = ' -
          - ' . - \JText::_('PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED') . ' -
          '; - - $fieldset = $warning . $fieldset; - } - - /** - * Create the final credentials with the auth code - * - * @param string $context The context of the content passed to the plugin (added in 1.6) - * @param object $article A JTableContent object - * @param bool $isNew If the content has just been created - * - * @return boolean - */ - public function onContentBeforeSave($context, $form, $isNew) - { - if ($context != 'com_convertforms.form') - { - return; - } - - if (!is_object($form) || !isset($form->params)) - { - return; - } - - $params = json_decode($form->params); - - if (!isset($params->emails)) - { - return true; - } - - // Proceed only if Send Notifications option is enabled - if ($params->sendnotifications != '1') - { - return true; - } - - $this->form = clone $form; - $this->form->params = $params; - - foreach ($params->emails as $key => $email) - { - $keyToID = ((int) str_replace('emails', '', $key)) + 1; - $error = JText::_('COM_CONVERTFORMS_EMAILS') . ' #' . $keyToID . ' - '; - - $options = [ - 'recipient' => ['COM_CONVERTFORMS_EMAILS_RECIPIENT', true, true], - 'subject' => ['COM_CONVERTFORMS_EMAILS_SUBJECT', false, true], - 'from_name' => ['COM_CONVERTFORMS_EMAILS_FROM', false, true], - 'from_email' => ['COM_CONVERTFORMS_EMAILS_FROM_EMAIL', true, true], - 'reply_to' => ['COM_CONVERTFORMS_EMAILS_REPLY_TO', true, false], - 'reply_to_name' => ['COM_CONVERTFORMS_EMAILS_REPLY_TO_NAME', false, false], - 'body' => ['COM_CONVERTFORMS_EMAILS_BODY', false, true], - 'attachments' => ['COM_CONVERTFORMS_EMAILS_ATTACHMENT', false, false] - ]; - - foreach ($options as $key => $option) - { - $acceptsCommaSeparatedValues = $option[1]; - $optionValues = $acceptsCommaSeparatedValues ? explode(',', $email->$key) : (array) $email->$key; - - foreach ($optionValues as $optionValue) - { - $result = $this->validateOption($optionValue, $option[1], $option[2]); - - if (is_string($result)) - { - $form->setError($error . JText::_($option[0]) . ' - ' . $result); - return false; - break; - } - } - } - } - - return true; - } - - /** - * Validates string as an Email Notification option. - * - * @param string $string The option name as found in the xml file - * @param bool $validateAsEmail If enabled, the option should be validated as an Email Address - * @param bool $required If enabled, string should not be left blank - * - * @return void - */ - private function validateOption($string, $validateAsEmail = true, $required = true) - { - // Check if it's empty - if ($required && (empty($string) || is_null($string))) - { - return JText::sprintf('PLG_CONVERTFORMS_EMAILS_ERROR_BLANK', $string); - } - - $string = trim($string); - - // Check if has a valid field-based Smart Tag in the form: {field.field-name} - $pattern = "#{field.(.*?)}#s"; - preg_match_all($pattern, $string, $result); - - if (!empty($result[0]) && count($result[0]) > 0) - { - foreach ($result[0] as $key => $match) - { - if (!$this->formHasField($result[1][$key])) - { - return JText::sprintf('PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG', $match); - break; - } - } - - return true; - } - - // Check if has a valid Email Address info@mail.com - if ($validateAsEmail && !empty($string)) - { - // Check common email-based Smart Tags - if (in_array($string, ['{user.email}', '{site.email}'])) - { - return true; - } - - if (!ConvertForms\Validate::email($string)) - { - return JText::sprintf('PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS', $string); - } - } - - return true; - } - - /** - * Check if given name exists as a form field - * - * @param string $name - * - * @return bool - */ - private function formHasField($name) - { - $name = strtolower($name); - - foreach ($this->form->params->fields as $field) - { - if (!isset($field->name)) - { - continue; - } - - if (strtolower($field->name) == $name) - { - return true; - } - - // In case a sub Smart Tag is being used. Eg: {field.dropdown.label} to get dropdown's selected text. - if (stripos($name, $field->name . '.') !== false) - { - return true; - } - } - - return false; - } - - /** - * Content is passed by reference, but after the save, so no changes will be saved. - * Method is called right after the content is saved. - * - * @param string $lead The Conversion data - * @param bool $model The Conversions Model - * @param bool $isNew If the Conversion has just been created - * - * @return void - */ - public function onConvertFormsConversionAfterSave($lead, $model, $isNew) - { - if (!isset($lead->form->sendnotifications) || !$lead->form->sendnotifications) - { - return; - } - - if (!isset($lead->form->emails) || !is_array($lead->form->emails)) - { - return; - } - - // Send email queue - foreach ($lead->form->emails as $key => $email) - { - // Trigger Content Plugins - $email['body'] = \JHtml::_('content.prepare', $email['body']); - - // Replace {variables} - $email = ConvertForms\SmartTags::replace($email, $lead); - - // Send mail - $mailer = new NRFramework\Email($email); - - if (!$mailer->send()) - { - throw new \Exception($mailer->error); - } - } - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +class plgConvertFormsEmails extends JPlugin +{ + /** + * Form Object + * + * @var object + */ + private $form; + + /** + * Auto loads the plugin language file + * + * @var boolean + */ + protected $autoloadLanguage = true; + + /** + * Add plugin fields to the form + * + * @param JForm $form + * @param object $data + * + * @return boolean + */ + public function onConvertFormsFormPrepareForm($form, $data) + { + $form->loadFile(__DIR__ . '/form/form.xml', false); + return true; + } + + /** + * Event triggered during fieldset rendering in the form editing page in the backend. + * + * @param string $fieldset_name The name of the fieldset is going to be rendered + * @param string $fieldset The HTML output of the fieldset + * + * @return void + */ + public function onConvertFormsBackendFormPrepareFieldset($fieldset_name, &$fieldset) + { + if ($this->_name != $fieldset_name) + { + return; + } + + // Proceed only if Mail Sending is disabled. + if ((bool) \JFactory::getConfig()->get('mailonline')) + { + return; + } + + $warning = ' +
          + ' . + \JText::_('PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED') . ' +
          '; + + $fieldset = $warning . $fieldset; + } + + /** + * Create the final credentials with the auth code + * + * @param string $context The context of the content passed to the plugin (added in 1.6) + * @param object $article A JTableContent object + * @param bool $isNew If the content has just been created + * + * @return boolean + */ + public function onContentBeforeSave($context, $form, $isNew) + { + if ($context != 'com_convertforms.form') + { + return; + } + + if (!is_object($form) || !isset($form->params)) + { + return; + } + + $params = json_decode($form->params); + + if (!isset($params->emails)) + { + return true; + } + + // Proceed only if Send Notifications option is enabled + if ($params->sendnotifications != '1') + { + return true; + } + + $this->form = clone $form; + $this->form->params = $params; + + foreach ($params->emails as $key => $email) + { + $keyToID = ((int) str_replace('emails', '', $key)) + 1; + $error = JText::_('COM_CONVERTFORMS_EMAILS') . ' #' . $keyToID . ' - '; + + $options = [ + 'recipient' => ['COM_CONVERTFORMS_EMAILS_RECIPIENT', true, true], + 'subject' => ['COM_CONVERTFORMS_EMAILS_SUBJECT', false, true], + 'from_name' => ['COM_CONVERTFORMS_EMAILS_FROM', false, true], + 'from_email' => ['COM_CONVERTFORMS_EMAILS_FROM_EMAIL', true, true], + 'reply_to' => ['COM_CONVERTFORMS_EMAILS_REPLY_TO', true, false], + 'reply_to_name' => ['COM_CONVERTFORMS_EMAILS_REPLY_TO_NAME', false, false], + 'body' => ['COM_CONVERTFORMS_EMAILS_BODY', false, true], + 'attachments' => ['COM_CONVERTFORMS_EMAILS_ATTACHMENT', false, false] + ]; + + foreach ($options as $key => $option) + { + $acceptsCommaSeparatedValues = $option[1]; + $optionValues = $acceptsCommaSeparatedValues ? explode(',', $email->$key) : (array) $email->$key; + + foreach ($optionValues as $optionValue) + { + $result = $this->validateOption($optionValue, $option[1], $option[2]); + + if (is_string($result)) + { + $form->setError($error . JText::_($option[0]) . ' - ' . $result); + return false; + break; + } + } + } + } + + return true; + } + + /** + * Validates string as an Email Notification option. + * + * @param string $string The option name as found in the xml file + * @param bool $validateAsEmail If enabled, the option should be validated as an Email Address + * @param bool $required If enabled, string should not be left blank + * + * @return void + */ + private function validateOption($string, $validateAsEmail = true, $required = true) + { + // Check if it's empty + if ($required && (empty($string) || is_null($string))) + { + return JText::sprintf('PLG_CONVERTFORMS_EMAILS_ERROR_BLANK', $string); + } + + $string = trim($string); + + // Check if has a valid field-based Smart Tag in the form: {field.field-name} + $pattern = "#{field.(.*?)}#s"; + preg_match_all($pattern, $string, $result); + + if (!empty($result[0]) && count($result[0]) > 0) + { + foreach ($result[0] as $key => $match) + { + if (!$this->formHasField($result[1][$key])) + { + return JText::sprintf('PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG', $match); + break; + } + } + + return true; + } + + // Check if has a valid Email Address info@mail.com + if ($validateAsEmail && !empty($string)) + { + // Check common email-based Smart Tags + if (in_array($string, ['{user.email}', '{site.email}'])) + { + return true; + } + + if (!ConvertForms\Validate::email($string)) + { + return JText::sprintf('PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS', $string); + } + } + + return true; + } + + /** + * Check if given name exists as a form field + * + * @param string $name + * + * @return bool + */ + private function formHasField($name) + { + $name = strtolower($name); + + foreach ($this->form->params->fields as $field) + { + if (!isset($field->name)) + { + continue; + } + + if (strtolower($field->name) == $name) + { + return true; + } + + // In case a sub Smart Tag is being used. Eg: {field.dropdown.label} to get dropdown's selected text. + if (stripos($name, $field->name . '.') !== false) + { + return true; + } + } + + return false; + } + + /** + * Content is passed by reference, but after the save, so no changes will be saved. + * Method is called right after the content is saved. + * + * @param string $lead The Conversion data + * @param bool $model The Conversions Model + * @param bool $isNew If the Conversion has just been created + * + * @return void + */ + public function onConvertFormsConversionAfterSave($lead, $model, $isNew) + { + if (!isset($lead->form->sendnotifications) || !$lead->form->sendnotifications) + { + return; + } + + if (!isset($lead->form->emails) || !is_array($lead->form->emails)) + { + return; + } + + // Send email queue + foreach ($lead->form->emails as $key => $email) + { + // Trigger Content Plugins + $email['body'] = \JHtml::_('content.prepare', $email['body']); + + // Replace {variables} + $email = ConvertForms\SmartTags::replace($email, $lead); + + // Send mail + $mailer = new NRFramework\Email($email); + + if (!$mailer->send()) + { + throw new \Exception($mailer->error); + } + } + } } \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/emails/form/fields.xml b/deployed/convertforms/plugins/convertforms/emails/form/fields.xml index 4eb2dd85..1abf011c 100644 --- a/deployed/convertforms/plugins/convertforms/emails/form/fields.xml +++ b/deployed/convertforms/plugins/convertforms/emails/form/fields.xml @@ -1,57 +1,57 @@ - -
          -
          - - - - - - - - -
          + + +
          + + + + + + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/emails/form/form.xml b/deployed/convertforms/plugins/convertforms/emails/form/form.xml index 7c094f39..587cbb58 100644 --- a/deployed/convertforms/plugins/convertforms/emails/form/form.xml +++ b/deployed/convertforms/plugins/convertforms/emails/form/form.xml @@ -1,26 +1,26 @@ - -
          -
          - - - - - - - - -
          + + +
          + + + + + + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/emails/language/bg-BG/bg-BG.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/bg-BG/bg-BG.plg_convertforms_emails.ini index ac903b12..7b52a825 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/bg-BG/bg-BG.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/bg-BG/bg-BG.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms – имейл нотификации" -PLG_CONVERTFORMS_EMAILS_DESC="Изпращайте известия по имейл, когато потребителите изпратят формуляр." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Задължително поле" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Неизвестен смарт таг: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Невалиден имейл адрес: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Изпращането на поща е изключено!
          За да можете да изпращате имейли, опцията за изпращане на поща в глобалните настройките за поща на Joomla!, трябва да бъде активирана." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms – имейл нотификации" +PLG_CONVERTFORMS_EMAILS_DESC="Изпращайте известия по имейл, когато потребителите изпратят формуляр." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Задължително поле" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Неизвестен смарт таг: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Невалиден имейл адрес: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Изпращането на поща е изключено!
          За да можете да изпращате имейли, опцията за изпращане на поща в глобалните настройките за поща на Joomla!, трябва да бъде активирана." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/ca-ES/ca-ES.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/ca-ES/ca-ES.plg_convertforms_emails.ini index 717e22ab..08d6dbf3 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/ca-ES/ca-ES.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/ca-ES/ca-ES.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - Notificacions per correu electrònic" -PLG_CONVERTFORMS_EMAILS_DESC="Envia notificacions per correu electrònic quan els usuaris responen a un formulari." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Camp requerit" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Etiqueta intel·ligent desconeguda: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Adreça de correu electrònic invàlida: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="L'enviament de correus electrònics està desactivat!
          Per poder enviar correus electrònics, la opció Enviar Correu electrònic dins la configuració Global de Joomla! ha d'estar activada." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - Notificacions per correu electrònic" +PLG_CONVERTFORMS_EMAILS_DESC="Envia notificacions per correu electrònic quan els usuaris responen a un formulari." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Camp requerit" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Etiqueta intel·ligent desconeguda: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Adreça de correu electrònic invàlida: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="L'enviament de correus electrònics està desactivat!
          Per poder enviar correus electrònics, la opció Enviar Correu electrònic dins la configuració Global de Joomla! ha d'estar activada." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/cs-CZ/cs-CZ.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/cs-CZ/cs-CZ.plg_convertforms_emails.ini index 46f93c57..48f4d105 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/cs-CZ/cs-CZ.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/cs-CZ/cs-CZ.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - E-mailová upozornění" -PLG_CONVERTFORMS_EMAILS_DESC="Poslat upozornění e-mailem, pokud uživatel odešle formulář" -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Pole je povinné" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Neznámý chytrý štítek: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Nemplatný e-mailová adresa: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Odesílání e-mailů je vypnuté!
          Pokud chcete odesílání e-mailů zprovoznit, musíte aktivovat volbu Odesílat e-maily, kterou najdete v sekci Nastavení mailu v Globálním nastavení Joomla!" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - E-mailová upozornění" +PLG_CONVERTFORMS_EMAILS_DESC="Poslat upozornění e-mailem, pokud uživatel odešle formulář" +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Pole je povinné" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Neznámý chytrý štítek: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Nemplatný e-mailová adresa: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Odesílání e-mailů je vypnuté!
          Pokud chcete odesílání e-mailů zprovoznit, musíte aktivovat volbu Odesílat e-maily, kterou najdete v sekci Nastavení mailu v Globálním nastavení Joomla!" diff --git a/deployed/convertforms/plugins/convertforms/emails/language/de-DE/de-DE.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/de-DE/de-DE.plg_convertforms_emails.ini index 6ae85dc1..5029379e 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/de-DE/de-DE.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/de-DE/de-DE.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - Email Benachrichtigung" -PLG_CONVERTFORMS_EMAILS_DESC="Email Benachrichtigung senden, wenn Benutzer ein Formular abschickt" -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Feld ist erforderlich" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Unbekanntes Smart Tag: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Ungültige E-Mail-Adresse: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED=" E-Mail-Versand ist deaktiviert!
          Um E-Mails versenden zu können, muss die Option E-Mail senden in den E-Mail-Einstellungen in der globalen Joomla! -Konfiguration aktiviert sein." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - Email Benachrichtigung" +PLG_CONVERTFORMS_EMAILS_DESC="Email Benachrichtigung senden, wenn Benutzer ein Formular abschickt" +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Feld ist erforderlich" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Unbekanntes Smart Tag: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Ungültige E-Mail-Adresse: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED=" E-Mail-Versand ist deaktiviert!
          Um E-Mails versenden zu können, muss die Option E-Mail senden in den E-Mail-Einstellungen in der globalen Joomla! -Konfiguration aktiviert sein." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.ini index 9b29619f..82a0cce0 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - Email Notifications" -PLG_CONVERTFORMS_EMAILS_DESC="Send email notifications when users submit a form." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Field is required" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Unknown Smart Tag: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Invalid email address: %s" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - Email Notifications" +PLG_CONVERTFORMS_EMAILS_DESC="Send email notifications when users submit a form." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Field is required" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Unknown Smart Tag: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Invalid email address: %s" PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Mail sending is turned off!
          In order to be able to send emails, the Send Mail option found under the Mail Settings in the Joomla! Global Configuration must be enabled." \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.sys.ini b/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.sys.ini index af8ca79d..cc1f3b80 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.sys.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/en-GB/en-GB.plg_convertforms_emails.sys.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - Email Notifications" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - Email Notifications" PLG_CONVERTFORMS_EMAILS_DESC="Send email notifications when users submit a form." \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/emails/language/es-ES/es-ES.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/es-ES/es-ES.plg_convertforms_emails.ini index 09ce8db8..0623a6d1 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/es-ES/es-ES.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/es-ES/es-ES.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS=""_QQ_"Formas de conversión"_QQ_" - Notificaciones por email" -PLG_CONVERTFORMS_EMAILS_DESC="Envíe notificación por email cuando los usuarios envíen un formulario." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Campo requerido" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart Tag desconocido «%s»" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Email incorrecto «%s»" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="¡El envío de correo está desactivado! Para poder enviar correos electrónicos, la opción Enviar correo se encuentra en la Configuración de correo en Joomla! La configuración global debe estar habilitada." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS=""_QQ_"Formas de conversión"_QQ_" - Notificaciones por email" +PLG_CONVERTFORMS_EMAILS_DESC="Envíe notificación por email cuando los usuarios envíen un formulario." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Campo requerido" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart Tag desconocido «%s»" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Email incorrecto «%s»" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="¡El envío de correo está desactivado! Para poder enviar correos electrónicos, la opción Enviar correo se encuentra en la Configuración de correo en Joomla! La configuración global debe estar habilitada." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/fi-FI/fi-FI.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/fi-FI/fi-FI.plg_convertforms_emails.ini index f00d1936..3ce8a3c5 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/fi-FI/fi-FI.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/fi-FI/fi-FI.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - Sähköposti-ilmoitukset" -PLG_CONVERTFORMS_EMAILS_DESC="Lähetä sähköposti-ilmoitus, kun käyttäjä lähettää lomakkeen." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Kenttä vaaditaan" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Tuntematon Smart Tag: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Virheellinen sähköpostiosoite: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Sähköpostien lähettäminen on kytketty pois päältä!
          Jotta voisit lähettää sähköpostia, Joomlan globaalit sähköpostiasetukset on otettava käyttöön." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - Sähköposti-ilmoitukset" +PLG_CONVERTFORMS_EMAILS_DESC="Lähetä sähköposti-ilmoitus, kun käyttäjä lähettää lomakkeen." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Kenttä vaaditaan" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Tuntematon Smart Tag: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Virheellinen sähköpostiosoite: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Sähköpostien lähettäminen on kytketty pois päältä!
          Jotta voisit lähettää sähköpostia, Joomlan globaalit sähköpostiasetukset on otettava käyttöön." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/fr-FR/fr-FR.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/fr-FR/fr-FR.plg_convertforms_emails.ini index 81a2af49..ada41c20 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/fr-FR/fr-FR.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/fr-FR/fr-FR.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convertisseur de formulaires - Notifications par mail" -PLG_CONVERTFORMS_EMAILS_DESC="Envoyer une notification par mail aux utilisateurs complétant le formulaire." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Ce champ est requis" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart tag inconnu : %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Adresse de messagerie incorrecte : %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="L'envoi de mails est désactivé !
          Pour pouvoir les envoyer, vous devez activer l'option dans la Configuration générale de Joomla!" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convertisseur de formulaires - Notifications par mail" +PLG_CONVERTFORMS_EMAILS_DESC="Envoyer une notification par mail aux utilisateurs complétant le formulaire." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Ce champ est requis" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart tag inconnu : %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Adresse de messagerie incorrecte : %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="L'envoi de mails est désactivé !
          Pour pouvoir les envoyer, vous devez activer l'option dans la Configuration générale de Joomla!" diff --git a/deployed/convertforms/plugins/convertforms/emails/language/it-IT/it-IT.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/it-IT/it-IT.plg_convertforms_emails.ini index 916f8b83..f2b143b1 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/it-IT/it-IT.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/it-IT/it-IT.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - Notifiche Email" -PLG_CONVERTFORMS_EMAILS_DESC="Invia una notifica via email quando un utente invia un modulo." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Campo richiesto" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart Tag sconosciuta: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Indirizzo eMail errato: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="L'invio di email è disabilitato!Per abilitare la funzione di invio email, l'ozpione Invia Email deve essere attivata nel pannello di controllo di Joomla, alla voce Configurazione Globale." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - Notifiche Email" +PLG_CONVERTFORMS_EMAILS_DESC="Invia una notifica via email quando un utente invia un modulo." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Campo richiesto" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart Tag sconosciuta: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Indirizzo eMail errato: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="L'invio di email è disabilitato!Per abilitare la funzione di invio email, l'ozpione Invia Email deve essere attivata nel pannello di controllo di Joomla, alla voce Configurazione Globale." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/nl-NL/nl-NL.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/nl-NL/nl-NL.plg_convertforms_emails.ini index 087899b3..b0bd8cfb 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/nl-NL/nl-NL.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/nl-NL/nl-NL.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Convert Forms - E-mail Notificaties" -PLG_CONVERTFORMS_EMAILS_DESC="Stuur e-mail notificaties als gebruikers een formulier inzenden." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Dit veld is vereist" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Onbekende Smart Tag: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Ongeldig e-mailadres: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Sturen van mail is uitgeschakeld!
          Om e-mails te kunnen sturen moet de Send Mail optie in de Mail Instellingen in de Joomla! Global Configuration ingeschakeld zijn." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Convert Forms - E-mail Notificaties" +PLG_CONVERTFORMS_EMAILS_DESC="Stuur e-mail notificaties als gebruikers een formulier inzenden." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Dit veld is vereist" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Onbekende Smart Tag: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Ongeldig e-mailadres: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Sturen van mail is uitgeschakeld!
          Om e-mails te kunnen sturen moet de Send Mail optie in de Mail Instellingen in de Joomla! Global Configuration ingeschakeld zijn." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/pt-BR/pt-BR.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/pt-BR/pt-BR.plg_convertforms_emails.ini index 2c8d31f0..1c9862ed 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/pt-BR/pt-BR.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/pt-BR/pt-BR.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Plugin Formulários de Conversão - Notificações de E-mail" -PLG_CONVERTFORMS_EMAILS_DESC="Envia notificações por e-mail quando os usuários enviarem um formulário." -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Campo obrigatório" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart Tag desconhecida: 1%s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Endereço de email inválido: 1%s" -; PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Mail sending is turned off!
          In order to be able to send emails, the Send Mail option found under the Mail Settings in the Joomla! Global Configuration must be enabled." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Plugin Formulários de Conversão - Notificações de E-mail" +PLG_CONVERTFORMS_EMAILS_DESC="Envia notificações por e-mail quando os usuários enviarem um formulário." +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Campo obrigatório" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Smart Tag desconhecida: 1%s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Endereço de email inválido: 1%s" +; PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED="Mail sending is turned off!
          In order to be able to send emails, the Send Mail option found under the Mail Settings in the Joomla! Global Configuration must be enabled." diff --git a/deployed/convertforms/plugins/convertforms/emails/language/ru-RU/ru-RU.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/ru-RU/ru-RU.plg_convertforms_emails.ini index d305c225..3878dbb2 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/ru-RU/ru-RU.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/ru-RU/ru-RU.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Преобразовать формы - Уведомление по электронной почте" -PLG_CONVERTFORMS_EMAILS_DESC="Отправить уведомление по электронной почте, когда пользователь отправляет форму" -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Поле обязательно для заполнения" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Неизвестный смарт-тег: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Неверный адрес электронной почты: %s" -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED=" Отправка электронной почты деактивирована!
          Чтобы иметь возможность отправлять электронную почту, в настройках электронной почты в глобальной конфигурации Joomla! Должен быть установлен параметр Отправить электронную почту. быть активированным. " +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Преобразовать формы - Уведомление по электронной почте" +PLG_CONVERTFORMS_EMAILS_DESC="Отправить уведомление по электронной почте, когда пользователь отправляет форму" +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Поле обязательно для заполнения" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Неизвестный смарт-тег: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Неверный адрес электронной почты: %s" +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED=" Отправка электронной почты деактивирована!
          Чтобы иметь возможность отправлять электронную почту, в настройках электронной почты в глобальной конфигурации Joomla! Должен быть установлен параметр Отправить электронную почту. быть активированным. " diff --git a/deployed/convertforms/plugins/convertforms/emails/language/uk-UA/uk-UA.plg_convertforms_emails.ini b/deployed/convertforms/plugins/convertforms/emails/language/uk-UA/uk-UA.plg_convertforms_emails.ini index 9ee26e83..b42da239 100644 --- a/deployed/convertforms/plugins/convertforms/emails/language/uk-UA/uk-UA.plg_convertforms_emails.ini +++ b/deployed/convertforms/plugins/convertforms/emails/language/uk-UA/uk-UA.plg_convertforms_emails.ini @@ -1,13 +1,13 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_EMAILS="Перетворити форми - повідомлення електронною поштою" -PLG_CONVERTFORMS_EMAILS_DESC="Надіслати сповіщення електронною поштою, коли користувач подає форму" -PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Поле обов'язкове" -PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Невідомий смарт-тег: %s " -PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Недійсна адреса електронної пошти: %s " -PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED=" Електронна пошта вимкнена!
          Щоб мати змогу надсилати електронні листи, у глобальній конфігурації Joomla! Потрібно встановити параметр"_QQ_" Надіслати електронну пошту "_QQ_". бути активованим. " +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2016 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_EMAILS="Перетворити форми - повідомлення електронною поштою" +PLG_CONVERTFORMS_EMAILS_DESC="Надіслати сповіщення електронною поштою, коли користувач подає форму" +PLG_CONVERTFORMS_EMAILS_ERROR_BLANK="Поле обов'язкове" +PLG_CONVERTFORMS_EMAILS_ERROR_UNKNOWN_SMART_TAG="Невідомий смарт-тег: %s " +PLG_CONVERTFORMS_EMAILS_ERROR_INVALID_EMAIL_ADDRESS="Недійсна адреса електронної пошти: %s " +PLG_CONVERTFORMS_EMAILS_ERROR_MAIL_SENDING_DISABLED=" Електронна пошта вимкнена!
          Щоб мати змогу надсилати електронні листи, у глобальній конфігурації Joomla! Потрібно встановити параметр"_QQ_" Надіслати електронну пошту "_QQ_". бути активованим. " diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/errorlogger.php b/deployed/convertforms/plugins/convertforms/errorlogger/errorlogger.php index 89e04ab0..ce704501 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/errorlogger.php +++ b/deployed/convertforms/plugins/convertforms/errorlogger/errorlogger.php @@ -1,84 +1,84 @@ - - * @link http://www.tassos.gr - * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved - * @license GNU GPLv3 or later -*/ - -defined('_JEXEC') or die('Restricted access'); - -use NRFramework\WebClient; -use ConvertForms\Form; - -class plgConvertFormsErrorLogger extends JPlugin -{ - /** - * Joomla Application Object - * - * @var object - */ - protected $app; - - /** - * Add plugin fields to the form - * - * @param JForm $form - * @param object $data - * - * @return boolean - */ - public function onConvertFormsError($error, $category, $form_id, $data = null) - { - // Only on front-end - if ($this->app->isClient('administrator')) - { - return; - } - - if (isset($data['skip_error_logger'])) - { - return; - } - - $user = JFactory::getUser(); - - // Get form's name - $form_data = Form::load($form_id); - $form_name = isset($form_data['name']) ? $form_data['name'] : 'Unknown Form'; - $form_name .= ' (' . $form_id . ')'; - -$error_message = ' - -Identity ---------------------------------------------------------------------------- -Date Time: ' . JFactory::getDate() . ' -Error Category: ' . $category . ' -Error message: ' . $error . ' -Form: ' . $form_name . ' -Session ID: ' . JFactory::getSession()->getId() . ' -IP Address: ' . $this->app->input->server->get('REMOTE_ADDR') . ' -User Agent: ' . WebClient::getClient()->userAgent . ' -Device: ' . WebClient::getDeviceType() . ' -Logged In Username: ' . $user->username . ' -Logged In Name: ' . $user->name . ' - -Data ---------------------------------------------------------------------------- -' . print_r($data, true) . ' - -Request Headers ---------------------------------------------------------------------------- -' . print_r($this->app->input->server->getArray(), true) . ' -'; - - try { - JLog::add($error_message, JLog::ERROR, 'convertforms_errors'); - } catch (\Throwable $th) { - } - } + + * @link http://www.tassos.gr + * @copyright Copyright © 2020 Tassos Marinos All Rights Reserved + * @license GNU GPLv3 or later +*/ + +defined('_JEXEC') or die('Restricted access'); + +use NRFramework\WebClient; +use ConvertForms\Form; + +class plgConvertFormsErrorLogger extends JPlugin +{ + /** + * Joomla Application Object + * + * @var object + */ + protected $app; + + /** + * Add plugin fields to the form + * + * @param JForm $form + * @param object $data + * + * @return boolean + */ + public function onConvertFormsError($error, $category, $form_id, $data = null) + { + // Only on front-end + if ($this->app->isClient('administrator')) + { + return; + } + + if (isset($data['skip_error_logger'])) + { + return; + } + + $user = JFactory::getUser(); + + // Get form's name + $form_data = Form::load($form_id); + $form_name = isset($form_data['name']) ? $form_data['name'] : 'Unknown Form'; + $form_name .= ' (' . $form_id . ')'; + +$error_message = ' + +Identity +--------------------------------------------------------------------------- +Date Time: ' . JFactory::getDate() . ' +Error Category: ' . $category . ' +Error message: ' . $error . ' +Form: ' . $form_name . ' +Session ID: ' . JFactory::getSession()->getId() . ' +IP Address: ' . $this->app->input->server->get('REMOTE_ADDR') . ' +User Agent: ' . WebClient::getClient()->userAgent . ' +Device: ' . WebClient::getDeviceType() . ' +Logged In Username: ' . $user->username . ' +Logged In Name: ' . $user->name . ' + +Data +--------------------------------------------------------------------------- +' . print_r($data, true) . ' + +Request Headers +--------------------------------------------------------------------------- +' . print_r($this->app->input->server->getArray(), true) . ' +'; + + try { + JLog::add($error_message, JLog::ERROR, 'convertforms_errors'); + } catch (\Throwable $th) { + } + } } \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/bg-BG/bg-BG.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/bg-BG/bg-BG.plg_convertforms_errorlogger.ini index 4a0052d7..711449ea 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/bg-BG/bg-BG.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/bg-BG/bg-BG.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms – Дневник на грешките" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Дневник на грешките при регистрация, грешки при подаване на формуляра и при показване на формуляр в сайта." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms – Дневник на грешките" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Дневник на грешките при регистрация, грешки при подаване на формуляра и при показване на формуляр в сайта." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/ca-ES/ca-ES.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/ca-ES/ca-ES.plg_convertforms_errorlogger.ini index 66638d06..c3d854cf 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/ca-ES/ca-ES.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/ca-ES/ca-ES.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Registre d'errors" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Registra els errors produïts durant la tramesa i el renderitzat de formularis a un arxiu de registre." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Registre d'errors" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Registra els errors produïts durant la tramesa i el renderitzat de formularis a un arxiu de registre." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/cs-CZ/cs-CZ.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/cs-CZ/cs-CZ.plg_convertforms_errorlogger.ini index e87fc94e..a8db7499 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/cs-CZ/cs-CZ.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/cs-CZ/cs-CZ.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Záznam chyb" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Logovat chyby, která nastanou v průběhu vyplňování nebo odesílání formuláře a ukládat je do souboru." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Záznam chyb" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Logovat chyby, která nastanou v průběhu vyplňování nebo odesílání formuláře a ukládat je do souboru." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/de-DE/de-DE.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/de-DE/de-DE.plg_convertforms_errorlogger.ini index c6c37045..9304ae80 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/de-DE/de-DE.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/de-DE/de-DE.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Formulare konvertieren - Fehlerprotokoll" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Fehler protokollieren, die beim Senden des Formulars und beim Rendern des Formulars in eine Fehlerprotokolldatei auftreten." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Formulare konvertieren - Fehlerprotokoll" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Fehler protokollieren, die beim Senden des Formulars und beim Rendern des Formulars in eine Fehlerprotokolldatei auftreten." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.ini index 5825a55a..5d3124c2 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Error Logger" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Error Logger" PLG_CONVERTFORMS_ERRORLOGGER_DESC="Log errors errors produced during form submission and form rendering to an error log file." \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.sys.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.sys.ini index 5825a55a..5d3124c2 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.sys.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/en-GB/en-GB.plg_convertforms_errorlogger.sys.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Error Logger" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Error Logger" PLG_CONVERTFORMS_ERRORLOGGER_DESC="Log errors errors produced during form submission and form rendering to an error log file." \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/es-ES/es-ES.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/es-ES/es-ES.plg_convertforms_errorlogger.ini index ec53e4d3..432e6781 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/es-ES/es-ES.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/es-ES/es-ES.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convertir formularios - Registro de errores" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Errores de registro de errores producidos durante el envío del formulario y la representación del formulario en un archivo de registro de errores." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convertir formularios - Registro de errores" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Errores de registro de errores producidos durante el envío del formulario y la representación del formulario en un archivo de registro de errores." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/fi-FI/fi-FI.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/fi-FI/fi-FI.plg_convertforms_errorlogger.ini index 78135411..4e7296fa 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/fi-FI/fi-FI.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/fi-FI/fi-FI.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Virherekisteröinti" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Virhelogiin liitetyt virheet, jotka on tuotettu lomakkeen lähettämisen ja lomakkeen palautuksen yhteydessä." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Virherekisteröinti" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Virhelogiin liitetyt virheet, jotka on tuotettu lomakkeen lähettämisen ja lomakkeen palautuksen yhteydessä." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/fr-FR/fr-FR.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/fr-FR/fr-FR.plg_convertforms_errorlogger.ini index 8bcb43b3..54bc71d8 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/fr-FR/fr-FR.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/fr-FR/fr-FR.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Enregistrement des erreurs" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Enregistre dans un fichier log les erreurs qui se produisent lors de la soumission ou du remplissage d'un formulaire." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Enregistrement des erreurs" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Enregistre dans un fichier log les erreurs qui se produisent lors de la soumission ou du remplissage d'un formulaire." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/it-IT/it-IT.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/it-IT/it-IT.plg_convertforms_errorlogger.ini index bad683d7..06b9c388 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/it-IT/it-IT.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/it-IT/it-IT.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Logger Errori" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Trascrive su un file gli errori che avvengono quando si inviano moduli." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Logger Errori" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Trascrive su un file gli errori che avvengono quando si inviano moduli." diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/nl-NL/nl-NL.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/nl-NL/nl-NL.plg_convertforms_errorlogger.ini index 5557c02a..3e20c5a7 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/nl-NL/nl-NL.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/nl-NL/nl-NL.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Fouten Logboek" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Fouten die zich voordoen bij de werking en bij het inzenden van een formulier worden in een logbestand bewaard. " +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Convert Forms - Fouten Logboek" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Fouten die zich voordoen bij de werking en bij het inzenden van een formulier worden in een logbestand bewaard. " diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/ru-RU/ru-RU.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/ru-RU/ru-RU.plg_convertforms_errorlogger.ini index 5ca41281..62ab10c9 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/ru-RU/ru-RU.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/ru-RU/ru-RU.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Конструктор форм - Журнал ошибок" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Сохраняет в журнал ошибки, возникающие при отправке заявок или создании форм" +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Конструктор форм - Журнал ошибок" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Сохраняет в журнал ошибки, возникающие при отправке заявок или создании форм" diff --git a/deployed/convertforms/plugins/convertforms/errorlogger/language/uk-UA/uk-UA.plg_convertforms_errorlogger.ini b/deployed/convertforms/plugins/convertforms/errorlogger/language/uk-UA/uk-UA.plg_convertforms_errorlogger.ini index 91510c39..608bf7ca 100644 --- a/deployed/convertforms/plugins/convertforms/errorlogger/language/uk-UA/uk-UA.plg_convertforms_errorlogger.ini +++ b/deployed/convertforms/plugins/convertforms/errorlogger/language/uk-UA/uk-UA.plg_convertforms_errorlogger.ini @@ -1,9 +1,9 @@ -; @package Convert Forms -; @version 3.0.0 Free -; -; @author Tassos Marinos - http://www.tassos.gr -; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. -; @license http://www.tassos.gr - -PLG_CONVERTFORMS_ERRORLOGGER="Перетворити форми - журнал помилок" -PLG_CONVERTFORMS_ERRORLOGGER_DESC="Помилки журналу, які виникають під час подання форми та коли форма надається в файл журналу помилок." +; @package Convert Forms +; @version 3.0.0 Free +; +; @author Tassos Marinos - http://www.tassos.gr +; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved. +; @license http://www.tassos.gr + +PLG_CONVERTFORMS_ERRORLOGGER="Перетворити форми - журнал помилок" +PLG_CONVERTFORMS_ERRORLOGGER_DESC="Помилки журналу, які виникають під час подання форми та коли форма надається в файл журналу помилок." diff --git a/deployed/convertforms/plugins/convertformstools/calculations/form/form.xml b/deployed/convertforms/plugins/convertformstools/calculations/form/form.xml index a1ee3af8..99cdb80e 100644 --- a/deployed/convertforms/plugins/convertformstools/calculations/form/form.xml +++ b/deployed/convertforms/plugins/convertformstools/calculations/form/form.xml @@ -1,12 +1,12 @@ - -
          -
          - - - - -
          + + +
          + + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertformstools/conditionallogic/form/form.xml b/deployed/convertforms/plugins/convertformstools/conditionallogic/form/form.xml index c22cfa12..4ccbc0a2 100644 --- a/deployed/convertforms/plugins/convertformstools/conditionallogic/form/form.xml +++ b/deployed/convertforms/plugins/convertformstools/conditionallogic/form/form.xml @@ -1,16 +1,16 @@ - -
          -
          - - - - - -
          + + +
          + + + + + +
          \ No newline at end of file diff --git a/deployed/convertforms/plugins/convertformstools/pdf/form/form.xml b/deployed/convertforms/plugins/convertformstools/pdf/form/form.xml index 09218e8b..0c73ca87 100644 --- a/deployed/convertforms/plugins/convertformstools/pdf/form/form.xml +++ b/deployed/convertforms/plugins/convertformstools/pdf/form/form.xml @@ -1,17 +1,17 @@ - -
          -
          - - - - - - - -
          + + +
          + + + + + + + +
          \ No newline at end of file diff --git a/deployed/extblank/plugins/system/extblank/extblank.php b/deployed/extblank/plugins/system/extblank/extblank.php index 2d85446b..515e55f0 100644 --- a/deployed/extblank/plugins/system/extblank/extblank.php +++ b/deployed/extblank/plugins/system/extblank/extblank.php @@ -1,53 +1,53 @@ -params; - $document = JFactory::getDocument(); - $app = JFactory::getApplication(); - $isadmin = $app->isAdmin(); - $load_in_admin = $params->get('use_backend'); - $load = true; - //var_dump($isadmin); - //var_dump($load_in_admin); - - if($isadmin) - { - if($load_in_admin==0) - $load = false; - } - if($load) - { - if($params->get('include_jquery')) - { - $document->addScript('http://code.jquery.com/jquery-latest.js'); - } - $script = ' - $conv_ = jQuery; - $conv_(document).ready(function() { - $conv_("a[href^=\'http:\']:not([href*=\'" + window.location.host + "\']), a[href^=\'https:\']:not([href*=\'" + window.location.host + "\'])").each(function() { - if($conv_(this).attr("target")!="_parent"){ - $conv_(this).attr("target", "_blank"); - }}); - '.($params->get('replace_hash',0) ? '$conv_("a[href$=\'#\']").each(function(){$conv_(this).attr("href","javascript:void(0);")});' : '').' - });'; - $document->addScriptDeclaration($script); - //echo 'after script';//exit; - } - } - -} +params; + $document = JFactory::getDocument(); + $app = JFactory::getApplication(); + $isadmin = $app->isAdmin(); + $load_in_admin = $params->get('use_backend'); + $load = true; + //var_dump($isadmin); + //var_dump($load_in_admin); + + if($isadmin) + { + if($load_in_admin==0) + $load = false; + } + if($load) + { + if($params->get('include_jquery')) + { + $document->addScript('http://code.jquery.com/jquery-latest.js'); + } + $script = ' + $conv_ = jQuery; + $conv_(document).ready(function() { + $conv_("a[href^=\'http:\']:not([href*=\'" + window.location.host + "\']), a[href^=\'https:\']:not([href*=\'" + window.location.host + "\'])").each(function() { + if($conv_(this).attr("target")!="_parent"){ + $conv_(this).attr("target", "_blank"); + }}); + '.($params->get('replace_hash',0) ? '$conv_("a[href$=\'#\']").each(function(){$conv_(this).attr("href","javascript:void(0);")});' : '').' + });'; + $document->addScriptDeclaration($script); + //echo 'after script';//exit; + } + } + +} diff --git a/deployed/extblank/plugins/system/extblank/extblank.xml b/deployed/extblank/plugins/system/extblank/extblank.xml index 335ab6de..56e9497c 100644 --- a/deployed/extblank/plugins/system/extblank/extblank.xml +++ b/deployed/extblank/plugins/system/extblank/extblank.xml @@ -1,34 +1,34 @@ - - -System - Open external links in new window -Convergence Services -Month 2011 -Copyright (C) 2012. All rights reserved. -GNU General Public License -info@convergenceservices.in -www.convergenceservices.in -1.0 -Please Enable the plugin and configure it.]]> - -extblank.php -index.html - - -
          - - - - - - - - - - - - -
          -
          -
          -
          - + + +System - Open external links in new window +Convergence Services +Month 2011 +Copyright (C) 2012. All rights reserved. +GNU General Public License +info@convergenceservices.in +www.convergenceservices.in +1.0 +Please Enable the plugin and configure it.]]> + +extblank.php +index.html + + +
          + + + + + + + + + + + + +
          +
          +
          +
          + diff --git a/deployed/fancybox/media/plg_fancybox/js/jquery-1.8.3.min.js b/deployed/fancybox/media/plg_fancybox/js/jquery-1.8.3.min.js index 83589daa..38837795 100644 --- a/deployed/fancybox/media/plg_fancybox/js/jquery-1.8.3.min.js +++ b/deployed/fancybox/media/plg_fancybox/js/jquery-1.8.3.min.js @@ -1,2 +1,2 @@ -/*! jQuery v1.8.3 jquery.com | jquery.org/license */ +/*! jQuery v1.8.3 jquery.com | jquery.org/license */ (function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
          a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
          t
          ",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
          ",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
          ",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

          ",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
          ","
          "],thead:[1,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],col:[2,"","
          "],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
          ","
          "]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
          ").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file diff --git a/deployed/fancybox/plugins/system/fancybox/fancybox.xml b/deployed/fancybox/plugins/system/fancybox/fancybox.xml index c82ce7b9..61c1cb7a 100644 --- a/deployed/fancybox/plugins/system/fancybox/fancybox.xml +++ b/deployed/fancybox/plugins/system/fancybox/fancybox.xml @@ -1,143 +1,143 @@ - - - PLG_SYSTEM_FANCYBOX - Yireo - April 2014 - Copyright (C) 2014 Yireo.com. All rights reserved. - http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL - info@yireo.com - www.yireo.com - 1.3.6 - PLG_SYSTEM_FANCYBOX_DESC - - - fancybox.php - index.html - fields - tmpl - - - - en-GB.plg_system_fancybox.ini - en-GB.plg_system_fancybox.sys.ini - - - - css - images - js - - - - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          -
          -
          - - - http://www.yireo.com/updates/plg_system_fancybox.xml - -
          + + + PLG_SYSTEM_FANCYBOX + Yireo + April 2014 + Copyright (C) 2014 Yireo.com. All rights reserved. + http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL + info@yireo.com + www.yireo.com + 1.3.6 + PLG_SYSTEM_FANCYBOX_DESC + + + fancybox.php + index.html + fields + tmpl + + + + en-GB.plg_system_fancybox.ini + en-GB.plg_system_fancybox.sys.ini + + + + css + images + js + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          + + + http://www.yireo.com/updates/plg_system_fancybox.xml + +
          diff --git a/deployed/helix3/templates/shaper_helix3/css/dark/css/color.css.map b/deployed/helix3/templates/shaper_helix3/css/dark/css/color.css.map index 2d4ff976..bb5c0ced 100644 --- a/deployed/helix3/templates/shaper_helix3/css/dark/css/color.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/dark/css/color.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "", -"sources": [], -"names": [], -"file": "color.css" +{ +"version": 3, +"mappings": "", +"sources": [], +"names": [], +"file": "color.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/dark/css/main.css.map b/deployed/helix3/templates/shaper_helix3/css/dark/css/main.css.map index 51cba0d7..a4792cc3 100644 --- a/deployed/helix3/templates/shaper_helix3/css/dark/css/main.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/dark/css/main.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../scss/main.scss","../scss/color.scss"], -"names": [], -"file": "main.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../scss/main.scss","../scss/color.scss"], +"names": [], +"file": "main.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/jquery-ui-darkness.css b/deployed/helix3/templates/shaper_helix3/css/jquery-ui-darkness.css index bd067eab..1620677e 100644 --- a/deployed/helix3/templates/shaper_helix3/css/jquery-ui-darkness.css +++ b/deployed/helix3/templates/shaper_helix3/css/jquery-ui-darkness.css @@ -1,1321 +1,1321 @@ - -/*! jQuery UI - v1.12.0 - 2016-07-08 -* http://jqueryui.com -* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=333333&bgTextureHeader=gloss_wave&bgImgOpacityHeader=25&borderColorHeader=333333&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=000000&bgTextureContent=inset_soft&bgImgOpacityContent=25&borderColorContent=666666&fcContent=ffffff&iconColorContent=cccccc&bgColorDefault=555555&bgTextureDefault=glass&bgImgOpacityDefault=20&borderColorDefault=666666&fcDefault=eeeeee&iconColorDefault=cccccc&bgColorHover=0078a3&bgTextureHover=glass&bgImgOpacityHover=40&borderColorHover=59b4d4&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=f58400&bgTextureActive=inset_soft&bgImgOpacityActive=30&borderColorActive=ffaf0f&fcActive=ffffff&iconColorActive=222222&bgColorHighlight=eeeeee&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=80&borderColorHighlight=cccccc&fcHighlight=2e7db2&iconColorHighlight=4b8e0b&bgColorError=ffc73d&bgTextureError=glass&bgImgOpacityError=40&borderColorError=ffb73d&fcError=111111&iconColorError=a83300&bgColorOverlay=5c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px -* Copyright jQuery Foundation and other contributors; Licensed MIT */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { - display: none; -} -.ui-helper-hidden-accessible { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.ui-helper-reset { - margin: 0; - padding: 0; - border: 0; - outline: 0; - line-height: 1.3; - text-decoration: none; - font-size: 100%; - list-style: none; -} -.ui-helper-clearfix:before, -.ui-helper-clearfix:after { - content: ""; - display: table; - border-collapse: collapse; -} -.ui-helper-clearfix:after { - clear: both; -} -.ui-helper-zfix { - width: 100%; - height: 100%; - top: 0; - left: 0; - position: absolute; - opacity: 0; - filter:Alpha(Opacity=0); /* support: IE8 */ -} - -.ui-front { - z-index: 100; -} - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { - cursor: default !important; - pointer-events: none; -} - - -/* Icons -----------------------------------*/ -.ui-icon { - display: inline-block; - vertical-align: middle; - margin-top: -.25em; - position: relative; - text-indent: -99999px; - overflow: hidden; - background-repeat: no-repeat; -} - -.ui-widget-icon-block { - left: 50%; - margin-left: -8px; - display: block; -} - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.ui-accordion .ui-accordion-header { - display: block; - cursor: pointer; - position: relative; - margin: 2px 0 0 0; - padding: .5em .5em .5em .7em; - font-size: 100%; -} -.ui-accordion .ui-accordion-content { - padding: 1em 2.2em; - border-top: 0; - overflow: auto; -} -.ui-autocomplete { - position: absolute; - top: 0; - left: 0; - cursor: default; -} -.ui-menu { - list-style: none; - padding: 0; - margin: 0; - display: block; - outline: 0; -} -.ui-menu .ui-menu { - position: absolute; -} -.ui-menu .ui-menu-item { - margin: 0; - cursor: pointer; - /* support: IE10, see #8844 */ - list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); -} -.ui-menu .ui-menu-item-wrapper { - position: relative; - padding: 3px 1em 3px .4em; -} -.ui-menu .ui-menu-divider { - margin: 5px 0; - height: 0; - font-size: 0; - line-height: 0; - border-width: 1px 0 0 0; -} -.ui-menu .ui-state-focus, -.ui-menu .ui-state-active { - margin: -1px; -} - -/* icon support */ -.ui-menu-icons { - position: relative; -} -.ui-menu-icons .ui-menu-item-wrapper { - padding-left: 2em; -} - -/* left-aligned */ -.ui-menu .ui-icon { - position: absolute; - top: 0; - bottom: 0; - left: .2em; - margin: auto 0; -} - -/* right-aligned */ -.ui-menu .ui-menu-icon { - left: auto; - right: 0; -} -.ui-button { - padding: .4em 1em; - display: inline-block; - position: relative; - line-height: normal; - margin-right: .1em; - cursor: pointer; - vertical-align: middle; - text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - /* Support: IE <= 11 */ - overflow: visible; -} - -.ui-button, -.ui-button:link, -.ui-button:visited, -.ui-button:hover, -.ui-button:active { - text-decoration: none; -} - -/* to make room for the icon, a width needs to be set here */ -.ui-button-icon-only { - width: 2em; - box-sizing: border-box; - text-indent: -9999px; - white-space: nowrap; -} - -/* no icon support for input elements */ -input.ui-button.ui-button-icon-only { - text-indent: 0; -} - -/* button icon element(s) */ -.ui-button-icon-only .ui-icon { - position: absolute; - top: 50%; - left: 50%; - margin-top: -8px; - margin-left: -8px; -} - -.ui-button.ui-icon-notext .ui-icon { - padding: 0; - width: 2.1em; - height: 2.1em; - text-indent: -9999px; - white-space: nowrap; - -} - -input.ui-button.ui-icon-notext .ui-icon { - width: auto; - height: auto; - text-indent: 0; - white-space: normal; - padding: .4em 1em; -} - -/* workarounds */ -/* Support: Firefox 5 - 40 */ -input.ui-button::-moz-focus-inner, -button.ui-button::-moz-focus-inner { - border: 0; - padding: 0; -} -.ui-controlgroup { - vertical-align: middle; - display: inline-block; -} -.ui-controlgroup > .ui-controlgroup-item { - float: left; - margin-left: 0; - margin-right: 0; -} -.ui-controlgroup > .ui-controlgroup-item:focus, -.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { - z-index: 9999; -} -.ui-controlgroup-vertical > .ui-controlgroup-item { - display: block; - float: none; - width: 100%; - margin-top: 0; - margin-bottom: 0; - text-align: left; -} -.ui-controlgroup-vertical .ui-controlgroup-item { - box-sizing: border-box; -} -.ui-controlgroup .ui-controlgroup-label { - padding: .4em 1em; -} -.ui-controlgroup .ui-controlgroup-label span { - font-size: 80%; -} -.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { - border-left: none; -} -.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { - border-top: none; -} -.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { - border-right: none; -} -.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { - border-bottom: none; -} - -/* Spinner specific style fixes */ -.ui-controlgroup-vertical .ui-spinner-input { - - /* Support: IE8 only, Android < 4.4 only */ - width: 75%; - width: calc( 100% - 2.4em ); -} -.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { - border-top-style: solid; -} - -.ui-checkboxradio-label .ui-icon-background { - box-shadow: inset 1px 1px 1px #ccc; - border-radius: .12em; - border: none; -} -.ui-checkboxradio-radio-label .ui-icon-background { - width: 16px; - height: 16px; - border-radius: 1em; - overflow: visible; - border: none; -} -.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, -.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { - background-image: none; - width: 8px; - height: 8px; - border-width: 4px; - border-style: solid; -} -.ui-checkboxradio-disabled { - pointer-events: none; -} -.ui-datepicker { - width: 17em; - padding: .2em .2em 0; - display: none; -} -.ui-datepicker .ui-datepicker-header { - position: relative; - padding: .2em 0; -} -.ui-datepicker .ui-datepicker-prev, -.ui-datepicker .ui-datepicker-next { - position: absolute; - top: 2px; - width: 1.8em; - height: 1.8em; -} -.ui-datepicker .ui-datepicker-prev-hover, -.ui-datepicker .ui-datepicker-next-hover { - top: 1px; -} -.ui-datepicker .ui-datepicker-prev { - left: 2px; -} -.ui-datepicker .ui-datepicker-next { - right: 2px; -} -.ui-datepicker .ui-datepicker-prev-hover { - left: 1px; -} -.ui-datepicker .ui-datepicker-next-hover { - right: 1px; -} -.ui-datepicker .ui-datepicker-prev span, -.ui-datepicker .ui-datepicker-next span { - display: block; - position: absolute; - left: 50%; - margin-left: -8px; - top: 50%; - margin-top: -8px; -} -.ui-datepicker .ui-datepicker-title { - margin: 0 2.3em; - line-height: 1.8em; - text-align: center; -} -.ui-datepicker .ui-datepicker-title select { - font-size: 1em; - margin: 1px 0; -} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { - width: 45%; -} -.ui-datepicker table { - width: 100%; - font-size: .9em; - border-collapse: collapse; - margin: 0 0 .4em; -} -.ui-datepicker th { - padding: .7em .3em; - text-align: center; - font-weight: bold; - border: 0; -} -.ui-datepicker td { - border: 0; - padding: 1px; -} -.ui-datepicker td span, -.ui-datepicker td a { - display: block; - padding: .2em; - text-align: right; - text-decoration: none; -} -.ui-datepicker .ui-datepicker-buttonpane { - background-image: none; - margin: .7em 0 0 0; - padding: 0 .2em; - border-left: 0; - border-right: 0; - border-bottom: 0; -} -.ui-datepicker .ui-datepicker-buttonpane button { - float: right; - margin: .5em .2em .4em; - cursor: pointer; - padding: .2em .6em .3em .6em; - width: auto; - overflow: visible; -} -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { - float: left; -} - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { - width: auto; -} -.ui-datepicker-multi .ui-datepicker-group { - float: left; -} -.ui-datepicker-multi .ui-datepicker-group table { - width: 95%; - margin: 0 auto .4em; -} -.ui-datepicker-multi-2 .ui-datepicker-group { - width: 50%; -} -.ui-datepicker-multi-3 .ui-datepicker-group { - width: 33.3%; -} -.ui-datepicker-multi-4 .ui-datepicker-group { - width: 25%; -} -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { - border-left-width: 0; -} -.ui-datepicker-multi .ui-datepicker-buttonpane { - clear: left; -} -.ui-datepicker-row-break { - clear: both; - width: 100%; - font-size: 0; -} - -/* RTL support */ -.ui-datepicker-rtl { - direction: rtl; -} -.ui-datepicker-rtl .ui-datepicker-prev { - right: 2px; - left: auto; -} -.ui-datepicker-rtl .ui-datepicker-next { - left: 2px; - right: auto; -} -.ui-datepicker-rtl .ui-datepicker-prev:hover { - right: 1px; - left: auto; -} -.ui-datepicker-rtl .ui-datepicker-next:hover { - left: 1px; - right: auto; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane { - clear: right; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane button { - float: left; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, -.ui-datepicker-rtl .ui-datepicker-group { - float: right; -} -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { - border-right-width: 0; - border-left-width: 1px; -} - -/* Icons */ -.ui-datepicker .ui-icon { - display: block; - text-indent: -99999px; - overflow: hidden; - background-repeat: no-repeat; - left: .5em; - top: .3em; -} -.ui-dialog { - position: absolute; - top: 0; - left: 0; - padding: .2em; - outline: 0; -} -.ui-dialog .ui-dialog-titlebar { - padding: .4em 1em; - position: relative; -} -.ui-dialog .ui-dialog-title { - float: left; - margin: .1em 0; - white-space: nowrap; - width: 90%; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-dialog .ui-dialog-titlebar-close { - position: absolute; - right: .3em; - top: 50%; - width: 20px; - margin: -10px 0 0 0; - padding: 1px; - height: 20px; -} -.ui-dialog .ui-dialog-content { - position: relative; - border: 0; - padding: .5em 1em; - background: none; - overflow: auto; -} -.ui-dialog .ui-dialog-buttonpane { - text-align: left; - border-width: 1px 0 0 0; - background-image: none; - margin-top: .5em; - padding: .3em 1em .5em .4em; -} -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: right; -} -.ui-dialog .ui-dialog-buttonpane button { - margin: .5em .4em .5em 0; - cursor: pointer; -} -.ui-dialog .ui-resizable-n { - height: 2px; - top: 0; -} -.ui-dialog .ui-resizable-e { - width: 2px; - right: 0; -} -.ui-dialog .ui-resizable-s { - height: 2px; - bottom: 0; -} -.ui-dialog .ui-resizable-w { - width: 2px; - left: 0; -} -.ui-dialog .ui-resizable-se, -.ui-dialog .ui-resizable-sw, -.ui-dialog .ui-resizable-ne, -.ui-dialog .ui-resizable-nw { - width: 7px; - height: 7px; -} -.ui-dialog .ui-resizable-se { - right: 0; - bottom: 0; -} -.ui-dialog .ui-resizable-sw { - left: 0; - bottom: 0; -} -.ui-dialog .ui-resizable-ne { - right: 0; - top: 0; -} -.ui-dialog .ui-resizable-nw { - left: 0; - top: 0; -} -.ui-draggable .ui-dialog-titlebar { - cursor: move; -} -.ui-draggable-handle { - -ms-touch-action: none; - touch-action: none; -} -.ui-resizable { - position: relative; -} -.ui-resizable-handle { - position: absolute; - font-size: 0.1px; - display: block; - -ms-touch-action: none; - touch-action: none; -} -.ui-resizable-disabled .ui-resizable-handle, -.ui-resizable-autohide .ui-resizable-handle { - display: none; -} -.ui-resizable-n { - cursor: n-resize; - height: 7px; - width: 100%; - top: -5px; - left: 0; -} -.ui-resizable-s { - cursor: s-resize; - height: 7px; - width: 100%; - bottom: -5px; - left: 0; -} -.ui-resizable-e { - cursor: e-resize; - width: 7px; - right: -5px; - top: 0; - height: 100%; -} -.ui-resizable-w { - cursor: w-resize; - width: 7px; - left: -5px; - top: 0; - height: 100%; -} -.ui-resizable-se { - cursor: se-resize; - width: 12px; - height: 12px; - right: 1px; - bottom: 1px; -} -.ui-resizable-sw { - cursor: sw-resize; - width: 9px; - height: 9px; - left: -5px; - bottom: -5px; -} -.ui-resizable-nw { - cursor: nw-resize; - width: 9px; - height: 9px; - left: -5px; - top: -5px; -} -.ui-resizable-ne { - cursor: ne-resize; - width: 9px; - height: 9px; - right: -5px; - top: -5px; -} -.ui-progressbar { - height: 2em; - text-align: left; - overflow: hidden; -} -.ui-progressbar .ui-progressbar-value { - margin: -1px; - height: 100%; -} -.ui-progressbar .ui-progressbar-overlay { - background: url("data:image/gif;base64,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"); - height: 100%; - filter: alpha(opacity=25); /* support: IE8 */ - opacity: 0.25; -} -.ui-progressbar-indeterminate .ui-progressbar-value { - background-image: none; -} -.ui-selectable { - -ms-touch-action: none; - touch-action: none; -} -.ui-selectable-helper { - position: absolute; - z-index: 100; - border: 1px dotted black; -} -.ui-selectmenu-menu { - padding: 0; - margin: 0; - position: absolute; - top: 0; - left: 0; - display: none; -} -.ui-selectmenu-menu .ui-menu { - overflow: auto; - overflow-x: hidden; - padding-bottom: 1px; -} -.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { - font-size: 1em; - font-weight: bold; - line-height: 1.5; - padding: 2px 0.4em; - margin: 0.5em 0 0 0; - height: auto; - border: 0; -} -.ui-selectmenu-open { - display: block; -} -.ui-selectmenu-text { - display: block; - margin-right: 20px; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-selectmenu-button.ui-button { - text-align: left; - white-space: nowrap; - width: 14em; -} -.ui-selectmenu-icon.ui-icon { - float: right; - margin-top: 0; -} -.ui-slider { - position: relative; - text-align: left; -} -.ui-slider .ui-slider-handle { - position: absolute; - z-index: 2; - width: 1.2em; - height: 1.2em; - cursor: default; - -ms-touch-action: none; - touch-action: none; -} -.ui-slider .ui-slider-range { - position: absolute; - z-index: 1; - font-size: .7em; - display: block; - border: 0; - background-position: 0 0; -} - -/* support: IE8 - See #6727 */ -.ui-slider.ui-state-disabled .ui-slider-handle, -.ui-slider.ui-state-disabled .ui-slider-range { - filter: inherit; -} - -.ui-slider-horizontal { - height: .8em; -} -.ui-slider-horizontal .ui-slider-handle { - top: -.3em; - margin-left: -.6em; -} -.ui-slider-horizontal .ui-slider-range { - top: 0; - height: 100%; -} -.ui-slider-horizontal .ui-slider-range-min { - left: 0; -} -.ui-slider-horizontal .ui-slider-range-max { - right: 0; -} - -.ui-slider-vertical { - width: .8em; - height: 100px; -} -.ui-slider-vertical .ui-slider-handle { - left: -.3em; - margin-left: 0; - margin-bottom: -.6em; -} -.ui-slider-vertical .ui-slider-range { - left: 0; - width: 100%; -} -.ui-slider-vertical .ui-slider-range-min { - bottom: 0; -} -.ui-slider-vertical .ui-slider-range-max { - top: 0; -} -.ui-sortable-handle { - -ms-touch-action: none; - touch-action: none; -} -.ui-spinner { - position: relative; - display: inline-block; - overflow: hidden; - padding: 0; - vertical-align: middle; -} -.ui-spinner-input { - border: none; - background: none; - color: inherit; - padding: .222em 0; - margin: .2em 0; - vertical-align: middle; - margin-left: .4em; - margin-right: 2em; -} -.ui-spinner-button { - width: 1.6em; - height: 50%; - font-size: .5em; - padding: 0; - margin: 0; - text-align: center; - position: absolute; - cursor: default; - display: block; - overflow: hidden; - right: 0; -} -/* more specificity required here to override default borders */ -.ui-spinner a.ui-spinner-button { - border-top-style: none; - border-bottom-style: none; - border-right-style: none; -} -.ui-spinner-up { - top: 0; -} -.ui-spinner-down { - bottom: 0; -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} -.ui-tabs .ui-tabs-nav { - margin: 0; - padding: .2em .2em 0; -} -.ui-tabs .ui-tabs-nav li { - list-style: none; - float: left; - position: relative; - top: 0; - margin: 1px .2em 0 0; - border-bottom-width: 0; - padding: 0; - white-space: nowrap; -} -.ui-tabs .ui-tabs-nav .ui-tabs-anchor { - float: left; - padding: .5em 1em; - text-decoration: none; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active { - margin-bottom: -1px; - padding-bottom: 1px; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { - cursor: text; -} -.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { - cursor: pointer; -} -.ui-tabs .ui-tabs-panel { - display: block; - border-width: 0; - padding: 1em 1.4em; - background: none; -} -.ui-tabs p { - color: #e4e4e4; -} -.ui-tooltip { - padding: 8px; - position: absolute; - z-index: 9999; - max-width: 300px; -} -body .ui-tooltip { - border-width: 2px; -} -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: Segoe UI,Arial,sans-serif; - font-size: 1.1em; -} -.ui-widget .ui-widget { - font-size: 1em; -} -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - font-family: Segoe UI,Arial,sans-serif; - font-size: 1em; -} -.ui-widget.ui-widget-content { - border: 1px solid #666666; -} -.ui-widget-content { - border: 1px solid #666666; - background: #000000 url("images/ui-bg_inset-soft_25_000000_1x100.png") 50% bottom repeat-x; - color: #ffffff; -} -.ui-widget-content a { - color: #000000; -} -.ui-widget-content a:hover { - color: #f58400; -} - - -.ui-widget-header { - border: 1px solid #333333; - background: #333333 url("images/ui-bg_gloss-wave_25_333333_500x100.png") 50% 50% repeat-x; - color: #ffffff; - font-weight: bold; -} -.ui-widget-header a { - color: #ffffff; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default, -.ui-button, - -/* We use html here because we need a greater specificity to make sure disabled -works properly when clicked or hovered */ -html .ui-button.ui-state-disabled:hover, -html .ui-button.ui-state-disabled:active { - border: 1px solid #666666; - background: #555555 url("images/ui-bg_glass_20_555555_1x400.png") 50% 50% repeat-x; - font-weight: bold; - color: #eeeeee; -} -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited, -a.ui-button, -a:link.ui-button, -a:visited.ui-button, -.ui-button { - color: #eeeeee; - text-decoration: none; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus, -.ui-button:hover, -.ui-button:focus { - border: 1px solid #59b4d4; - background: #0078a3 url("images/ui-bg_glass_40_0078a3_1x400.png") 50% 50% repeat-x; - font-weight: bold; - color: #ffffff; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited, -.ui-state-focus a, -.ui-state-focus a:hover, -.ui-state-focus a:link, -.ui-state-focus a:visited, -a.ui-button:hover, -a.ui-button:focus { - color: #ffffff; - text-decoration: none; -} - -.ui-visual-focus { - box-shadow: 0 0 3px 1px rgb(94, 158, 214); -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active, -a.ui-button:active, -.ui-button:active, -.ui-button.ui-state-active:hover { - border: 1px solid #ffaf0f; - background: #f58400 url("images/ui-bg_inset-soft_30_f58400_1x100.png") 50% 50% repeat-x; - font-weight: bold; - color: #ffffff; -} -.ui-icon-background, -.ui-state-active .ui-icon-background { - border: #ffaf0f; - background-color: #ffffff; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #ffffff; - text-decoration: none; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #cccccc; - background: #eeeeee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x; - color: #2e7db2; -} -.ui-state-checked { - border: 1px solid #cccccc; - background: #eeeeee; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #2e7db2; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #ffb73d; - background: #ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x; - color: #111111; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #111111; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #111111; -} -.ui-priority-primary, -.ui-widget-content .ui-priority-primary, -.ui-widget-header .ui-priority-primary { - font-weight: bold; -} -.ui-priority-secondary, -.ui-widget-content .ui-priority-secondary, -.ui-widget-header .ui-priority-secondary { - opacity: .7; - filter:Alpha(Opacity=70); /* support: IE8 */ - font-weight: normal; -} -.ui-state-disabled, -.ui-widget-content .ui-state-disabled, -.ui-widget-header .ui-state-disabled { - opacity: .35; - filter:Alpha(Opacity=35); /* support: IE8 */ - background-image: none; -} -.ui-state-disabled .ui-icon { - filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ -} - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - width: 16px; - height: 16px; -} -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("images/ui-icons_cccccc_256x240.png"); -} -.ui-widget-header .ui-icon { - background-image: url("images/ui-icons_ffffff_256x240.png"); -} -.ui-button .ui-icon { - background-image: url("images/ui-icons_cccccc_256x240.png"); -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon, -.ui-button:hover .ui-icon, -.ui-button:focus .ui-icon, -.ui-state-default .ui-icon { - background-image: url("images/ui-icons_ffffff_256x240.png"); -} -.ui-state-active .ui-icon, -.ui-button:active .ui-icon { - background-image: url("images/ui-icons_222222_256x240.png"); -} -.ui-state-highlight .ui-icon, -.ui-button .ui-state-highlight.ui-icon { - background-image: url("images/ui-icons_4b8e0b_256x240.png"); -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("images/ui-icons_a83300_256x240.png"); -} - -/* positioning */ -.ui-icon-blank { background-position: 16px 16px; } -.ui-icon-caret-1-n { background-position: 0 0; } -.ui-icon-caret-1-ne { background-position: -16px 0; } -.ui-icon-caret-1-e { background-position: -32px 0; } -.ui-icon-caret-1-se { background-position: -48px 0; } -.ui-icon-caret-1-s { background-position: -65px 0; } -.ui-icon-caret-1-sw { background-position: -80px 0; } -.ui-icon-caret-1-w { background-position: -96px 0; } -.ui-icon-caret-1-nw { background-position: -112px 0; } -.ui-icon-caret-2-n-s { background-position: -128px 0; } -.ui-icon-caret-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -65px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -65px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 1px -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-on { background-position: -96px -144px; } -.ui-icon-radio-off { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 6px; -} -.ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 6px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 6px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 6px; -} - -/* Overlays */ -.ui-widget-overlay { - background: #5c5c5c; - opacity: .8; - filter: Alpha(Opacity=80); /* support: IE8 */ -} -.ui-widget-shadow { - -webkit-box-shadow: -7px -7px 7px #cccccc; - box-shadow: -7px -7px 7px #cccccc; -} + +/*! jQuery UI - v1.12.0 - 2016-07-08 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=333333&bgTextureHeader=gloss_wave&bgImgOpacityHeader=25&borderColorHeader=333333&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=000000&bgTextureContent=inset_soft&bgImgOpacityContent=25&borderColorContent=666666&fcContent=ffffff&iconColorContent=cccccc&bgColorDefault=555555&bgTextureDefault=glass&bgImgOpacityDefault=20&borderColorDefault=666666&fcDefault=eeeeee&iconColorDefault=cccccc&bgColorHover=0078a3&bgTextureHover=glass&bgImgOpacityHover=40&borderColorHover=59b4d4&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=f58400&bgTextureActive=inset_soft&bgImgOpacityActive=30&borderColorActive=ffaf0f&fcActive=ffffff&iconColorActive=222222&bgColorHighlight=eeeeee&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=80&borderColorHighlight=cccccc&fcHighlight=2e7db2&iconColorHighlight=4b8e0b&bgColorError=ffc73d&bgTextureError=glass&bgImgOpacityError=40&borderColorError=ffb73d&fcError=111111&iconColorError=a83300&bgColorOverlay=5c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + + +/* Icons +----------------------------------*/ +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + font-size: 100%; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: 0; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-item-wrapper { + position: relative; + padding: 3px 1em 3px .4em; +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item-wrapper { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-button { + padding: .4em 1em; + display: inline-block; + position: relative; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + /* Support: IE <= 11 */ + overflow: visible; +} + +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} + +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2em; + box-sizing: border-box; + text-indent: -9999px; + white-space: nowrap; +} + +/* no icon support for input elements */ +input.ui-button.ui-button-icon-only { + text-indent: 0; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; +} + +.ui-button.ui-icon-notext .ui-icon { + padding: 0; + width: 2.1em; + height: 2.1em; + text-indent: -9999px; + white-space: nowrap; + +} + +input.ui-button.ui-icon-notext .ui-icon { + width: auto; + height: auto; + text-indent: 0; + white-space: normal; + padding: .4em 1em; +} + +/* workarounds */ +/* Support: Firefox 5 - 40 */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-controlgroup { + vertical-align: middle; + display: inline-block; +} +.ui-controlgroup > .ui-controlgroup-item { + float: left; + margin-left: 0; + margin-right: 0; +} +.ui-controlgroup > .ui-controlgroup-item:focus, +.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { + z-index: 9999; +} +.ui-controlgroup-vertical > .ui-controlgroup-item { + display: block; + float: none; + width: 100%; + margin-top: 0; + margin-bottom: 0; + text-align: left; +} +.ui-controlgroup-vertical .ui-controlgroup-item { + box-sizing: border-box; +} +.ui-controlgroup .ui-controlgroup-label { + padding: .4em 1em; +} +.ui-controlgroup .ui-controlgroup-label span { + font-size: 80%; +} +.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { + border-left: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { + border-top: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { + border-right: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { + border-bottom: none; +} + +/* Spinner specific style fixes */ +.ui-controlgroup-vertical .ui-spinner-input { + + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; + width: calc( 100% - 2.4em ); +} +.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { + border-top-style: solid; +} + +.ui-checkboxradio-label .ui-icon-background { + box-shadow: inset 1px 1px 1px #ccc; + border-radius: .12em; + border: none; +} +.ui-checkboxradio-radio-label .ui-icon-background { + width: 16px; + height: 16px; + border-radius: 1em; + overflow: visible; + border: none; +} +.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, +.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { + background-image: none; + width: 8px; + height: 8px; + border-width: 4px; + border-style: solid; +} +.ui-checkboxradio-disabled { + pointer-events: none; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Icons */ +.ui-datepicker .ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; + left: .5em; + top: .3em; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-n { + height: 2px; + top: 0; +} +.ui-dialog .ui-resizable-e { + width: 2px; + right: 0; +} +.ui-dialog .ui-resizable-s { + height: 2px; + bottom: 0; +} +.ui-dialog .ui-resizable-w { + width: 2px; + left: 0; +} +.ui-dialog .ui-resizable-se, +.ui-dialog .ui-resizable-sw, +.ui-dialog .ui-resizable-ne, +.ui-dialog .ui-resizable-nw { + width: 7px; + height: 7px; +} +.ui-dialog .ui-resizable-se { + right: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-sw { + left: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-ne { + right: 0; + top: 0; +} +.ui-dialog .ui-resizable-nw { + left: 0; + top: 0; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,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"); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-text { + display: block; + margin-right: 20px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-selectmenu-button.ui-button { + text-align: left; + white-space: nowrap; + width: 14em; +} +.ui-selectmenu-icon.ui-icon { + float: right; + margin-top: 0; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: .222em 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 2em; +} +.ui-spinner-button { + width: 1.6em; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top-style: none; + border-bottom-style: none; + border-right-style: none; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tabs p { + color: #e4e4e4; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; +} +body .ui-tooltip { + border-width: 2px; +} +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Segoe UI,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Segoe UI,Arial,sans-serif; + font-size: 1em; +} +.ui-widget.ui-widget-content { + border: 1px solid #666666; +} +.ui-widget-content { + border: 1px solid #666666; + background: #000000 url("images/ui-bg_inset-soft_25_000000_1x100.png") 50% bottom repeat-x; + color: #ffffff; +} +.ui-widget-content a { + color: #000000; +} +.ui-widget-content a:hover { + color: #f58400; +} + + +.ui-widget-header { + border: 1px solid #333333; + background: #333333 url("images/ui-bg_gloss-wave_25_333333_500x100.png") 50% 50% repeat-x; + color: #ffffff; + font-weight: bold; +} +.ui-widget-header a { + color: #ffffff; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default, +.ui-button, + +/* We use html here because we need a greater specificity to make sure disabled +works properly when clicked or hovered */ +html .ui-button.ui-state-disabled:hover, +html .ui-button.ui-state-disabled:active { + border: 1px solid #666666; + background: #555555 url("images/ui-bg_glass_20_555555_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #eeeeee; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited, +a.ui-button, +a:link.ui-button, +a:visited.ui-button, +.ui-button { + color: #eeeeee; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus, +.ui-button:hover, +.ui-button:focus { + border: 1px solid #59b4d4; + background: #0078a3 url("images/ui-bg_glass_40_0078a3_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited, +a.ui-button:hover, +a.ui-button:focus { + color: #ffffff; + text-decoration: none; +} + +.ui-visual-focus { + box-shadow: 0 0 3px 1px rgb(94, 158, 214); +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + border: 1px solid #ffaf0f; + background: #f58400 url("images/ui-bg_inset-soft_30_f58400_1x100.png") 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} +.ui-icon-background, +.ui-state-active .ui-icon-background { + border: #ffaf0f; + background-color: #ffffff; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #cccccc; + background: #eeeeee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x; + color: #2e7db2; +} +.ui-state-checked { + border: 1px solid #cccccc; + background: #eeeeee; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #2e7db2; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #ffb73d; + background: #ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x; + color: #111111; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #111111; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #111111; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_cccccc_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-button .ui-icon { + background-image: url("images/ui-icons_cccccc_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon, +.ui-button:hover .ui-icon, +.ui-button:focus .ui-icon, +.ui-state-default .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-active .ui-icon, +.ui-button:active .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-state-highlight .ui-icon, +.ui-button .ui-state-highlight.ui-icon { + background-image: url("images/ui-icons_4b8e0b_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_a83300_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-caret-1-n { background-position: 0 0; } +.ui-icon-caret-1-ne { background-position: -16px 0; } +.ui-icon-caret-1-e { background-position: -32px 0; } +.ui-icon-caret-1-se { background-position: -48px 0; } +.ui-icon-caret-1-s { background-position: -65px 0; } +.ui-icon-caret-1-sw { background-position: -80px 0; } +.ui-icon-caret-1-w { background-position: -96px 0; } +.ui-icon-caret-1-nw { background-position: -112px 0; } +.ui-icon-caret-2-n-s { background-position: -128px 0; } +.ui-icon-caret-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -65px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -65px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 1px -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 6px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 6px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 6px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 6px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #5c5c5c; + opacity: .8; + filter: Alpha(Opacity=80); /* support: IE8 */ +} +.ui-widget-shadow { + -webkit-box-shadow: -7px -7px 7px #cccccc; + box-shadow: -7px -7px 7px #cccccc; +} diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/color.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/color.css.map index 2d4ff976..bb5c0ced 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/color.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/color.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "", -"sources": [], -"names": [], -"file": "color.css" +{ +"version": 3, +"mappings": "", +"sources": [], +"names": [], +"file": "color.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/main.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/main.css.map index 01a08c0a..2b559ec3 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/main.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/main.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../scss/main.scss","../scss/color.scss"], -"names": [], -"file": "main.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../scss/main.scss","../scss/color.scss"], +"names": [], +"file": "main.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_blue.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_blue.css.map index b068aabb..571a18e3 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_blue.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_blue.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_blue.scss","../../scss/color.scss"], -"names": [], -"file": "main_blue.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_blue.scss","../../scss/color.scss"], +"names": [], +"file": "main_blue.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_green_sea.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_green_sea.css.map index 550b2f6e..a4e714ba 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_green_sea.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_green_sea.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_green_sea.scss","../../scss/color.scss"], -"names": [], -"file": "main_green_sea.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_green_sea.scss","../../scss/color.scss"], +"names": [], +"file": "main_green_sea.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_mid_blue.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_mid_blue.css.map index 99ca6a7c..61b0b787 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_mid_blue.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_mid_blue.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_mid_blue.scss","../../scss/color.scss"], -"names": [], -"file": "main_mid_blue.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_mid_blue.scss","../../scss/color.scss"], +"names": [], +"file": "main_mid_blue.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_nephritis.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_nephritis.css.map index 57c58764..909d4ed0 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_nephritis.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_nephritis.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_nephritis.scss","../../scss/color.scss"], -"names": [], -"file": "main_nephritis.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_nephritis.scss","../../scss/color.scss"], +"names": [], +"file": "main_nephritis.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_orange.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_orange.css.map index 30ccb40a..7f6d915d 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_orange.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_orange.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_orange.scss","../../scss/color.scss"], -"names": [], -"file": "main_orange.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_orange.scss","../../scss/color.scss"], +"names": [], +"file": "main_orange.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_pink.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_pink.css.map index 166a52b0..fb2ba98b 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_pink.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_pink.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_pink.scss","../../scss/color.scss"], -"names": [], -"file": "main_pink.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_pink.scss","../../scss/color.scss"], +"names": [], +"file": "main_pink.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_red.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_red.css.map index e382e36f..af123464 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_red.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_red.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_red.scss","../../scss/color.scss"], -"names": [], -"file": "main_red.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_red.scss","../../scss/color.scss"], +"names": [], +"file": "main_red.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_saddle.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_saddle.css.map index ee66bec2..4e814e3b 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_saddle.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_saddle.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_saddle.scss","../../scss/color.scss"], -"names": [], -"file": "main_saddle.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_saddle.scss","../../scss/color.scss"], +"names": [], +"file": "main_saddle.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_yellow.css.map b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_yellow.css.map index 475f5881..689664e6 100644 --- a/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_yellow.css.map +++ b/deployed/helix3/templates/shaper_helix3/css/light/css/theme/main_yellow.css.map @@ -1,7 +1,7 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../scss/theme/main_yellow.scss","../../scss/color.scss"], -"names": [], -"file": "main_yellow.css" +{ +"version": 3, +"mappings": "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", +"sources": ["../../scss/theme/main_yellow.scss","../../scss/color.scss"], +"names": [], +"file": "main_yellow.css" } \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/html/com_content/article/default.php b/deployed/helix3/templates/shaper_helix3/html/com_content/article/default.php index 23a01ad7..4e7b5d66 100644 --- a/deployed/helix3/templates/shaper_helix3/html/com_content/article/default.php +++ b/deployed/helix3/templates/shaper_helix3/html/com_content/article/default.php @@ -1,250 +1,250 @@ -toString(array('scheme', 'host', 'port', 'path')); - - header('Location: ' . $new_url); -} - -JHtml::addIncludePath(JPATH_COMPONENT . '/helpers'); - -// Create shortcuts to some parameters. -$params = $this->item->params; -$tpl_params = JFactory::getApplication()->getTemplate(true)->params; -$images = json_decode($this->item->images); -$urls = json_decode($this->item->urls); -$canEdit = $params->get('access-edit'); -$user = JFactory::getUser(); -$info = $params->get('info_block_position', 0); -JHtml::_('behavior.caption'); -$useDefList = ($params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') - || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author')); - - -//get image -$article_attribs = json_decode($this->item->attribs); -$article_images = json_decode($this->item->images); -$article_image = ''; -if (isset($article_attribs->spfeatured_image) && $article_attribs->spfeatured_image != '') { - $article_image = $article_attribs->spfeatured_image; -} elseif (isset($article_images->image_fulltext) && !empty($article_images->image_fulltext)) { - $article_image = $article_images->image_fulltext; -} - -//opengraph -$document = JFactory::getDocument(); -$document->addCustomTag(''); -$document->addCustomTag(''); -$document->addCustomTag(''); -$document->addCustomTag(''); -if ($article_image) { - $document->addCustomTag(''); - $document->addCustomTag(''); - $document->addCustomTag(''); -} - -$post_format = $params->get('post_format', 'standard'); -$has_post_format = $tpl_params->get('show_post_format'); -if ($this->print) $has_post_format = false; - - -?> - - -
          - - params->get('show_page_heading', 1)) : ?> - - item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative) { - echo $this->item->pagination; - } - ?> - - item); - } else { - echo JLayoutHelper::render('joomla.content.post_formats.post_' . $post_format, array('params' => $params, 'item' => $this->item)); - } - ?> - -
          - - - print && $useDefList && ($info == 0 || $info == 2)) : ?> - $this->item, 'params' => $params, 'position' => 'above')); ?> - - - get('show_title') || $params->get('show_author')) : ?> -

          - get('show_title')) : ?> - escape($this->item->title); ?> - -

          - item->state == 0) : ?> - - - item->publish_up) > strtotime(JFactory::getDate())) : ?> - - - item->publish_down) < strtotime(JFactory::getDate())) && $this->item->publish_down != '0000-00-00 00:00:00') : ?> - - - -
          - - print) : ?> - get('show_print_icon') || $params->get('show_email_icon')) : ?> - $params, 'item' => $this->item, 'print' => false)); ?> - - - -
          - item, $params); ?> -
          - - - - get('show_intro')) : echo $this->item->event->afterDisplayTitle; - endif; ?> - item->event->beforeDisplayContent; ?> - - urls_position) && ($urls->urls_position == '0')) || ($params->get('urls_position') == '0' && empty($urls->urls_position))) - || (empty($urls->urls_position) && (!$params->get('urls_position'))) - ) : ?> - loadTemplate('links'); ?> - - get('access-view')) : ?> - - item); - ?> - - item->pagination) && $this->item->pagination && !$this->item->paginationposition && !$this->item->paginationrelative) : - echo $this->item->pagination; - endif; - ?> - item->toc)) : - echo $this->item->toc; - endif; ?> -
          - item->text; ?> -
          - - print && $useDefList && ($info == 1 || $info == 2)) : ?> - $this->item, 'params' => $params, 'position' => 'below')); ?> - - - get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> - item->tagLayout = new JLayoutFile('joomla.content.tags'); ?> - item->tagLayout->render($this->item->tags->itemTags); ?> - - - item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative) : - echo $this->item->pagination; - ?> - - urls_position) && ($urls->urls_position == '1')) || ($params->get('urls_position') == '1'))) : ?> - loadTemplate('links'); ?> - - - get('show_noauth') == true && $user->get('guest')) : ?> - item->introtext; ?> - - get('show_readmore') && $this->item->fulltext != null) : - $redirectUrl = urlencode(base64_encode(JURI::current())); - $link1 = JRoute::_('index.php?option=com_users&view=login&return=' . $redirectUrl); - $link = new JUri($link1); ?> -

          - - item->attribs); ?> - alternative_readmore == null) : - echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE'); - elseif ($readmore = $this->item->alternative_readmore) : - echo $readmore; - if ($params->get('show_readmore_title', 0) != 0) : - echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); - endif; - elseif ($params->get('show_readmore_title', 0) == 0) : - echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE'); - else : - echo JText::_('COM_CONTENT_READ_MORE'); - echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); - endif; ?> - -

          - - - - item->pagination) && $this->item->pagination && $this->item->paginationposition && $this->item->paginationrelative) : - echo $this->item->pagination; - ?> - - - item->event->afterDisplayContent; ?> - - print) : ?> - - - +toString(array('scheme', 'host', 'port', 'path')); + + header('Location: ' . $new_url); +} + +JHtml::addIncludePath(JPATH_COMPONENT . '/helpers'); + +// Create shortcuts to some parameters. +$params = $this->item->params; +$tpl_params = JFactory::getApplication()->getTemplate(true)->params; +$images = json_decode($this->item->images); +$urls = json_decode($this->item->urls); +$canEdit = $params->get('access-edit'); +$user = JFactory::getUser(); +$info = $params->get('info_block_position', 0); +JHtml::_('behavior.caption'); +$useDefList = ($params->get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date') + || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author')); + + +//get image +$article_attribs = json_decode($this->item->attribs); +$article_images = json_decode($this->item->images); +$article_image = ''; +if (isset($article_attribs->spfeatured_image) && $article_attribs->spfeatured_image != '') { + $article_image = $article_attribs->spfeatured_image; +} elseif (isset($article_images->image_fulltext) && !empty($article_images->image_fulltext)) { + $article_image = $article_images->image_fulltext; +} + +//opengraph +$document = JFactory::getDocument(); +$document->addCustomTag(''); +$document->addCustomTag(''); +$document->addCustomTag(''); +$document->addCustomTag(''); +if ($article_image) { + $document->addCustomTag(''); + $document->addCustomTag(''); + $document->addCustomTag(''); +} + +$post_format = $params->get('post_format', 'standard'); +$has_post_format = $tpl_params->get('show_post_format'); +if ($this->print) $has_post_format = false; + + +?> + + +
          + + params->get('show_page_heading', 1)) : ?> + + item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative) { + echo $this->item->pagination; + } + ?> + + item); + } else { + echo JLayoutHelper::render('joomla.content.post_formats.post_' . $post_format, array('params' => $params, 'item' => $this->item)); + } + ?> + +
          + + + print && $useDefList && ($info == 0 || $info == 2)) : ?> + $this->item, 'params' => $params, 'position' => 'above')); ?> + + + get('show_title') || $params->get('show_author')) : ?> +

          + get('show_title')) : ?> + escape($this->item->title); ?> + +

          + item->state == 0) : ?> + + + item->publish_up) > strtotime(JFactory::getDate())) : ?> + + + item->publish_down) < strtotime(JFactory::getDate())) && $this->item->publish_down != '0000-00-00 00:00:00') : ?> + + + +
          + + print) : ?> + get('show_print_icon') || $params->get('show_email_icon')) : ?> + $params, 'item' => $this->item, 'print' => false)); ?> + + + +
          + item, $params); ?> +
          + + + + get('show_intro')) : echo $this->item->event->afterDisplayTitle; + endif; ?> + item->event->beforeDisplayContent; ?> + + urls_position) && ($urls->urls_position == '0')) || ($params->get('urls_position') == '0' && empty($urls->urls_position))) + || (empty($urls->urls_position) && (!$params->get('urls_position'))) + ) : ?> + loadTemplate('links'); ?> + + get('access-view')) : ?> + + item); + ?> + + item->pagination) && $this->item->pagination && !$this->item->paginationposition && !$this->item->paginationrelative) : + echo $this->item->pagination; + endif; + ?> + item->toc)) : + echo $this->item->toc; + endif; ?> +
          + item->text; ?> +
          + + print && $useDefList && ($info == 1 || $info == 2)) : ?> + $this->item, 'params' => $params, 'position' => 'below')); ?> + + + get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?> + item->tagLayout = new JLayoutFile('joomla.content.tags'); ?> + item->tagLayout->render($this->item->tags->itemTags); ?> + + + item->pagination) && $this->item->pagination && $this->item->paginationposition && !$this->item->paginationrelative) : + echo $this->item->pagination; + ?> + + urls_position) && ($urls->urls_position == '1')) || ($params->get('urls_position') == '1'))) : ?> + loadTemplate('links'); ?> + + + get('show_noauth') == true && $user->get('guest')) : ?> + item->introtext; ?> + + get('show_readmore') && $this->item->fulltext != null) : + $redirectUrl = urlencode(base64_encode(JURI::current())); + $link1 = JRoute::_('index.php?option=com_users&view=login&return=' . $redirectUrl); + $link = new JUri($link1); ?> +

          + + item->attribs); ?> + alternative_readmore == null) : + echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE'); + elseif ($readmore = $this->item->alternative_readmore) : + echo $readmore; + if ($params->get('show_readmore_title', 0) != 0) : + echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); + endif; + elseif ($params->get('show_readmore_title', 0) == 0) : + echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE'); + else : + echo JText::_('COM_CONTENT_READ_MORE'); + echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit')); + endif; ?> + +

          + + + + item->pagination) && $this->item->pagination && $this->item->paginationposition && $this->item->paginationrelative) : + echo $this->item->pagination; + ?> + + + item->event->afterDisplayContent; ?> + + print) : ?> + + +
          \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/html/com_content/category/blog_children.php b/deployed/helix3/templates/shaper_helix3/html/com_content/category/blog_children.php index db902500..22ca2b1c 100644 --- a/deployed/helix3/templates/shaper_helix3/html/com_content/category/blog_children.php +++ b/deployed/helix3/templates/shaper_helix3/html/com_content/category/blog_children.php @@ -1,81 +1,81 @@ -children[$this->category->id]) > 0 && $this->maxLevel != 0) : ?> - - children[$this->category->id] as $id => $child) : ?> - params->get('show_empty_categories') || $child->numitems || count($child->getChildren())) : - if (!isset($this->children[$this->category->id][$id + 1])) : - $class = ' class="last"'; - endif; - ?> - > - - isRtl()) : ?> - - - - - params->get('show_subcat_desc') == 1) : ?> - description) : ?> -
          - description, '', 'com_content.category'); ?> -
          - - - - getChildren()) > 0 && $this->maxLevel > 1) : ?> -
          - children[$child->id] = $child->getChildren(); - $this->category = $child; - $this->maxLevel--; - echo $this->loadTemplate('children'); - $this->category = $child->getParent(); - $this->maxLevel++; - ?> -
          - -
          - - - -children[$this->category->id]) > 0 && $this->maxLevel != 0) : ?> + + children[$this->category->id] as $id => $child) : ?> + params->get('show_empty_categories') || $child->numitems || count($child->getChildren())) : + if (!isset($this->children[$this->category->id][$id + 1])) : + $class = ' class="last"'; + endif; + ?> + > + + isRtl()) : ?> + + + + + params->get('show_subcat_desc') == 1) : ?> + description) : ?> +
          + description, '', 'com_content.category'); ?> +
          + + + + getChildren()) > 0 && $this->maxLevel > 1) : ?> +
          + children[$child->id] = $child->getChildren(); + $this->category = $child; + $this->maxLevel--; + echo $this->loadTemplate('children'); + $this->category = $child->getParent(); + $this->maxLevel++; + ?> +
          + + + + + + -
          - -subtemplatename = 'articles'; -echo JLayoutHelper::render('joomla.content.category_default', $this); -?> - -
          + +
          + +subtemplatename = 'articles'; +echo JLayoutHelper::render('joomla.content.category_default', $this); +?> + +
          diff --git a/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_articles.php b/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_articles.php index 83a8ba53..a42acd58 100644 --- a/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_articles.php +++ b/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_articles.php @@ -1,223 +1,223 @@ -item->params; -$n = count($this->items); -$listOrder = $this->escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); - -// Check for at least one editable article -$isEditable = false; - -if (!empty($this->items)) { - foreach ($this->items as $article) { - if ($article->params->get('access-edit')) { - $isEditable = true; - break; - } - } -} -?> - -items)) : ?> - - params->get('show_no_articles', 1)) : ?> -

          - - - - -
          - params->get('show_headings') || $this->params->get('filter_field') != 'hide' || $this->params->get('show_pagination_limit')) : ?> -
          - params->get('filter_field') != 'hide') : ?> -
          - - -
          - - params->get('show_pagination_limit')) : ?> -
          - - pagination->getLimitBox(); ?> -
          - - - - - - -
          - - -
          - - params->get('show_headings')) : ?> - - - - - params->get('list_show_date')) : ?> - - - params->get('list_show_author')) : ?> - - - params->get('list_show_hits')) : ?> - - - - - - - - - - items as $i => $article) : ?> - items[$i]->state == 0) : ?> - - - - - - params->get('list_show_date')) : ?> - - - params->get('list_show_author', 1)) : ?> - - - params->get('list_show_hits', 1)) : ?> - - - - - - - - -
          - - - - - - - - - - - - - -
          class="list-title"> - access, $this->user->getAuthorisedViewLevels())) : ?> - - escape($article->title); ?> - - - escape($article->title) . ' : '; - $menu = JFactory::getApplication()->getMenu(); - $active = $menu->getActive(); - $itemId = $active->id; - $link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false)); - $link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->language), false))); - ?> - - - - - state == 0) : ?> - - - - - publish_up) > strtotime(JFactory::getDate())) : ?> - - - - - publish_down) < strtotime(JFactory::getDate())) && $article->publish_down != JFactory::getDbo()->getNullDate()) : ?> - - - - - class="list-date small"> - displayDate, - $this->escape($this->params->get('date_format', JText::_('DATE_FORMAT_LC3'))) - ); ?> - class="list-author"> - author) || !empty($article->created_by_alias)) : ?> - author ?> - created_by_alias ? $article->created_by_alias : $author); ?> - contact_link) && $this->params->get('link_author') == true) : ?> - contact_link, $author)); ?> - - - - - class="list-hits"> - - hits); ?> - - class="list-edit"> - params->get('access-edit')) : ?> - - -
          - - - - category->getParams()->get('access-create')) : ?> - category, $this->category->params); ?> - - - - items)) : ?> - params->def('show_pagination', 2) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->pagesTotal > 1)) : ?> - - - +item->params; +$n = count($this->items); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); + +// Check for at least one editable article +$isEditable = false; + +if (!empty($this->items)) { + foreach ($this->items as $article) { + if ($article->params->get('access-edit')) { + $isEditable = true; + break; + } + } +} +?> + +items)) : ?> + + params->get('show_no_articles', 1)) : ?> +

          + + + + +
          + params->get('show_headings') || $this->params->get('filter_field') != 'hide' || $this->params->get('show_pagination_limit')) : ?> +
          + params->get('filter_field') != 'hide') : ?> +
          + + +
          + + params->get('show_pagination_limit')) : ?> +
          + + pagination->getLimitBox(); ?> +
          + + + + + + +
          + + + + + params->get('show_headings')) : ?> + + + + + params->get('list_show_date')) : ?> + + + params->get('list_show_author')) : ?> + + + params->get('list_show_hits')) : ?> + + + + + + + + + + items as $i => $article) : ?> + items[$i]->state == 0) : ?> + + + + + + params->get('list_show_date')) : ?> + + + params->get('list_show_author', 1)) : ?> + + + params->get('list_show_hits', 1)) : ?> + + + + + + + + +
          + + + + + + + + + + + + + +
          class="list-title"> + access, $this->user->getAuthorisedViewLevels())) : ?> + + escape($article->title); ?> + + + escape($article->title) . ' : '; + $menu = JFactory::getApplication()->getMenu(); + $active = $menu->getActive(); + $itemId = $active->id; + $link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false)); + $link->setVar('return', base64_encode(JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->language), false))); + ?> + + + + + state == 0) : ?> + + + + + publish_up) > strtotime(JFactory::getDate())) : ?> + + + + + publish_down) < strtotime(JFactory::getDate())) && $article->publish_down != JFactory::getDbo()->getNullDate()) : ?> + + + + + class="list-date small"> + displayDate, + $this->escape($this->params->get('date_format', JText::_('DATE_FORMAT_LC3'))) + ); ?> + class="list-author"> + author) || !empty($article->created_by_alias)) : ?> + author ?> + created_by_alias ? $article->created_by_alias : $author); ?> + contact_link) && $this->params->get('link_author') == true) : ?> + contact_link, $author)); ?> + + + + + class="list-hits"> + + hits); ?> + + class="list-edit"> + params->get('access-edit')) : ?> + + +
          + + + + category->getParams()->get('access-create')) : ?> + category, $this->category->params); ?> + + + + items)) : ?> + params->def('show_pagination', 2) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->pagesTotal > 1)) : ?> + + +
          \ No newline at end of file diff --git a/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_children.php b/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_children.php index 42909895..2b8eff5d 100644 --- a/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_children.php +++ b/deployed/helix3/templates/shaper_helix3/html/com_content/category/default_children.php @@ -1,81 +1,81 @@ - - -children[$this->category->id]) > 0) : ?> - children[$this->category->id] as $id => $child) : ?> - params->get('show_empty_categories') || $child->getNumItems(true) || count($child->getChildren())) : - if (!isset($this->children[$this->category->id][$id + 1])) : - $class = ' class="last"'; - endif; - ?> - - > - - isRtl()) : ?> - - - - params->get('show_subcat_desc') == 1) :?> - description) : ?> -
          - description, '', 'com_content.category'); ?> -
          - - - - getChildren()) > 0 && $this->maxLevel > 1) :?> -
          - children[$child->id] = $child->getChildren(); - $this->category = $child; - $this->maxLevel--; - echo $this->loadTemplate('children'); - $this->category = $child->getParent(); - $this->maxLevel++; - ?> -
          - - -

          - - - + + +children[$this->category->id]) > 0) : ?> + children[$this->category->id] as $id => $child) : ?> + params->get('show_empty_categories') || $child->getNumItems(true) || count($child->getChildren())) : + if (!isset($this->children[$this->category->id][$id + 1])) : + $class = ' class="last"'; + endif; + ?> + + > + + isRtl()) : ?> + + + + params->get('show_subcat_desc') == 1) :?> + description) : ?> +
          + description, '', 'com_content.category'); ?> +
          + + + + getChildren()) > 0 && $this->maxLevel > 1) :?> +
          + children[$child->id] = $child->getChildren(); + $this->category = $child; + $this->maxLevel--; + echo $this->loadTemplate('children'); + $this->category = $child->getParent(); + $this->maxLevel++; + ?> +
          + + +
          + + + diff --git a/deployed/helix3/templates/shaper_helix3/html/com_users/remind/default.php b/deployed/helix3/templates/shaper_helix3/html/com_users/remind/default.php index 79d798eb..36e9bc94 100644 --- a/deployed/helix3/templates/shaper_helix3/html/com_users/remind/default.php +++ b/deployed/helix3/templates/shaper_helix3/html/com_users/remind/default.php @@ -1,57 +1,57 @@ - - - -
          -
          -
          - params->get('show_page_heading')) : ?> -

          - escape($this->params->get('page_heading')); ?> -

          - - -
          - form->getFieldsets() as $fieldset) : ?> -

          label); ?>

          - form->getFieldset($fieldset->name) as $name => $field) : ?> - type == 'Captcha') - continue; - ?> - -
          - label; ?> -
          - input; ?> -
          -
          - - -
          - -
          - -
          -
          -
          -
          - - + +
          +
          +
          + params->get('show_page_heading')) : ?> +

          + escape($this->params->get('page_heading')); ?> +

          + + +
          + form->getFieldsets() as $fieldset) : ?> +

          label); ?>

          + form->getFieldset($fieldset->name) as $name => $field) : ?> + type == 'Captcha') + continue; + ?> + +
          + label; ?> +
          + input; ?> +
          +
          + + +
          + +
          + +
          +
          +
          +
          + + \ No newline at end of file diff --git a/deployed/icagenda/administrator/components/com_icagenda/models/fields.php b/deployed/icagenda/administrator/components/com_icagenda/models/fields.php index d8e27763..21a608d1 100644 --- a/deployed/icagenda/administrator/components/com_icagenda/models/fields.php +++ b/deployed/icagenda/administrator/components/com_icagenda/models/fields.php @@ -3,7 +3,7 @@ * iCagenda *---------------------------------------------------------------------------- * @package com_icagenda - * @copyright Copyright (C) 2012 JOOMLIC - All rights reserved. + * @copyright Copyright (C) 2012 JOOMLIC - All rights reserved. * @license GNU General Public License version 3 or later; see LICENSE.txt * @author Jooml!C - http://www.joomlic.com * diff --git a/deployed/icagenda/administrator/components/com_icagenda/models/info.php b/deployed/icagenda/administrator/components/com_icagenda/models/info.php index 96c3f67c..a89aa7d5 100644 --- a/deployed/icagenda/administrator/components/com_icagenda/models/info.php +++ b/deployed/icagenda/administrator/components/com_icagenda/models/info.php @@ -3,7 +3,7 @@ * iCagenda *---------------------------------------------------------------------------- * @package com_icagenda - * @copyright Copyright (C) 2012 JOOMLIC - All rights reserved. + * @copyright Copyright (C) 2012 JOOMLIC - All rights reserved. * @license GNU General Public License version 3 or later; see LICENSE.txt * @author Jooml!C - http://www.joomlic.com * diff --git a/deployed/icagenda/administrator/components/com_icagenda/utilities/event/event.php b/deployed/icagenda/administrator/components/com_icagenda/utilities/event/event.php index ed9cea57..61a246a1 100644 --- a/deployed/icagenda/administrator/components/com_icagenda/utilities/event/event.php +++ b/deployed/icagenda/administrator/components/com_icagenda/utilities/event/event.php @@ -1,1291 +1,1291 @@ -next) - || ($item->next <= JHtml::date('now', 'Y-m-d H:i:s') - || ! iCDate::isDate($item->next)) - ) - { - $reset = true; - } - - if ($reset) - { - $next_singleDates = $last_singleDates = ''; - $next_period = $last_period = ''; - - // Single Dates Check - $singleDates = iCString::isSerialized($item->dates) ? unserialize($item->dates) : array(); - - $upcomingSingleDates = array_filter( - $singleDates, - function($date) - { - return $date >= JHtml::date('now', 'Y-m-d H:i:s'); - } - ); - - if (count($upcomingSingleDates) > 0) - { - $next_singleDates = min($upcomingSingleDates); - $next_singleDates = iCDate::isDate($next_singleDates) ? $next_singleDates : ''; - } - else - { - $pastSingleDates = array_filter( - $singleDates, - function ($date) - { - return $date < JHtml::date('now', 'Y-m-d H:i:s'); - } - ); - - if (count($pastSingleDates) > 0) - { - $last_singleDates = max($pastSingleDates); - $last_singleDates = iCDate::isDate($last_singleDates) ? $last_singleDates : ''; - } - } - - - // Period Check - $weekdays = ! is_array($item->weekdays) ? explode(",", $item->weekdays) : $item->weekdays; - - if (count($weekdays) > 0) - { - $period_all_dates_array = iCDatePeriod::listDates($item->startdate, $item->enddate); - - $period_array = array(); - - foreach ($period_all_dates_array AS $date_in_weekdays) - { - $datetime_period_date = JHtml::date($date_in_weekdays, 'Y-m-d H:i', $eventTimeZone); - - if (in_array(date('w', strtotime($datetime_period_date)), $weekdays)) - { - $period_array[] = $datetime_period_date; - } - } - - $upcomingPeriodDates = array_filter( - $period_array, - function($date) - { - return $date >= JHtml::date('now', 'Y-m-d H:i:s'); - } - ); - - if (count($upcomingPeriodDates) > 0) - { - $next_period = min($upcomingPeriodDates); - $next_period = iCDate::isDate($next_period) ? $next_period : ''; - } - else - { - $last_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; - } - } - else - { - if ($item->startdate >= JHtml::date('now', 'Y-m-d H:i:s')) - { - $next_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; - } - elseif ($item->enddate >= JHtml::date('now', 'Y-m-d H:i:s')) - { - $next_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; - } - else - { - $last_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; - } - } - - - // Return Next - if ($next_singleDates && $next_period) - { - $next = min($next_singleDates, $next_period); - } - elseif ($next_singleDates) - { - $next = $next_singleDates; - } - elseif ($next_period) - { - $next = $next_period; - } - else - { - $next = max($last_singleDates, $last_period); - } - - if ($item->next != $next) - { - $item->next = $next; - - $db = Jfactory::getDbo(); - $query = $db->getQuery(true); - - $query->update('#__icagenda_events') - ->set($db->qn('next') . ' = ' . $db->q($next)) - ->where($db->qn('id') . ' = ' . (int) $item->id); - - $db->setQuery($query); - $db->query($query); - } - } - - return $item->next; - } - - /** - * Function to get Event Params - * - * @return JRegistry Event Params - * - * @since 3.6.0 - */ - public static function evtParams($params) - { - $evtParams = new JRegistry($params); - - return $evtParams; - } - - /** - * Function to return the back arrow button (No item needed) - * - * @return HTML - * - * @since 3.6.0 - */ - public static function backArrow($item = null) - { - $app = JFactory::getApplication(); - $jinput = $app->input; - $jview = $jinput->get('view'); - - // Get Current Itemid - $this_itemid = $jinput->getInt('Itemid', 0); - - // TODO: Remove jlayout control (3.6) - $jlayout = $jinput->get('layout', ''); - $layouts_array = array('event', 'registration'); - $layout = in_array($jlayout, $layouts_array) ? $jlayout : ''; - - $manageraction = $jinput->get('manageraction', ''); - $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; - - // RTL css if site language is RTL - $lang = JFactory::getLanguage(); - $back_icon = ($lang->isRTL()) ? 'iCicon iCicon-nextic' : 'iCicon iCicon-backic'; - - if ( ($layout != '' || $jview == 'event') - && strpos($referer,'registration') === false - && ! $manageraction) - { - if ($referer != "") - { - $BackArrow = ''; - } - else - { - $BackArrow = ''; - } - } - elseif ($manageraction || strpos($referer,'registration') !== false) - { - $BackArrow = ''; - } - else - { - $BackArrow = ''; - } - - // Header Message if event cancelled - $evtParams = self::getParams($item->id); - $cancellation_info = ''; - - if ($evtParams->get('event_cancelled')) - { - $text = JText::_('COM_ICAGENDA_EVENT_CANCELLED_TEXT'); - $description = $evtParams->get('event_cancelled_desc'); - - if ($evtParams->get('event_cancelled_customlabel')) - { - $text = JText::_($evtParams->get('event_cancelled_customlabel_text', 'COM_ICAGENDA_EVENT_CANCELLED_TEXT')); -// $class = $evtParams->get('event_cancelled_customlabel_css', $class); - } - - $cancellation_info = '
          ' - . '

          ' . $text . '

          ' - . '
          ' . $description . '
          ' - . '
          '; - } - - return $BackArrow . $cancellation_info; - } - - /** - * Set event Url - * - * @since 3.6.0 - */ - public static function url($id, $alias = null) - { - $app = JFactory::getApplication(); - $isSef = $app->getCfg('sef'); - $jinput = $app->input; - - $menuID = $jinput->get('Itemid', 0); - $date = $jinput->get('date', ''); - $view = $jinput->get('view', ''); - - // Get var 'event_date' set to session in event details view - $session = JFactory::getSession(); - $event_date = $session->get('event_date', ''); - - $event_slug = empty($alias) ? (int) $id : (int) $id . ':' . $alias; - $this_date = $event_date ? date('Y-m-d-H-i', strtotime($event_date)) : $date; - - $url = JRoute::_('index.php?option=com_icagenda&view=event&id=' . $event_slug . '&Itemid=' . (int) $menuID); - - if (is_numeric($menuID) && is_numeric($id) - && ! is_array($menuID) && ! is_array($id)) - { - $date_var = ($isSef == '1') ? '?date=' : '&date='; - $url = ($view != 'list' && $this_date) ? $url . $date_var . $this_date : $url; - } - else - { - $url = JRoute::_('index.php'); - } - - return $url; - } - - /** - * Title + Manager Icons - * - * @since 3.6.0 - * @todo Review and split into sub-functions - */ - public static function titleBar($i) - { - $jinput = JFactory::getApplication()->input; - - $this_itemid = $jinput->getInt('Itemid'); - $list_title_length = (int) JComponentHelper::getParams('com_icagenda')->get('list_title_length', ''); - - $i_title = icagendaRender::titleToFormat($i->title); - - $jlayout = $jinput->get('layout', ''); - $layouts_array = array('event', 'registration'); - $layout = in_array($jlayout, $layouts_array) ? $jlayout : ''; - - $mbString = extension_loaded('mbstring'); - - $title_length = $mbString ? mb_strlen($i_title, 'UTF-8') : strlen($i_title); - - if (empty($layout) - && ! empty($list_title_length)) - { - $title = $mbString - ? trim(mb_substr($i_title, 0, $list_title_length, 'UTF-8')) - : trim(substr($i_title, 0, $list_title_length)); - - $new_title_length = $mbString ? mb_strlen($title, 'UTF-8') : strlen($title); - - if ($new_title_length < $title_length) - { - $title.= '...'; - } - } - else - { - $title = $i_title; - } - - $approval = $i->approval; - - $event_slug = empty($i->alias) ? $i->id : $i->id . ':' . $i->alias; - - // Set Manager Actions Url - $managerActionsURL = 'index.php?option=com_icagenda&view=event&id=' . $event_slug . '&Itemid=' . $this_itemid; - - $unapproved = ''; - - $titleBar = ''; - - if ($title != NULL && $approval == 1) - { - $titleBar.= $title . ' ' . $unapproved; - } - elseif ($title != NULL && $approval != 1) - { - $titleBar.= $title; - } - - $eventIsCancelled = self::cancelledButton($i->id, 'btn btn-danger'); - - if ($eventIsCancelled) - { - $titleBar.= ' ' . $eventIsCancelled; - } - - return $titleBar; - } - - /** - * Return Event Cancelled button with infotip - * - * @since 3.7.12 - */ - public static function cancelledButton($id, $class = 'label label-important') - { - $evtParams = self::getParams($id); - - if ($evtParams->get('event_cancelled')) - { - $language = JFactory::getLanguage(); - $language->load('com_icagenda', JPATH_SITE, 'en-GB', false, true); - $language->load('com_icagenda', JPATH_SITE, null, true); - - $text = JText::_('COM_ICAGENDA_EVENT_CANCELLED_TEXT'); - $description = $evtParams->get('event_cancelled_desc'); - - if ($evtParams->get('event_cancelled_customlabel')) - { - $text = JText::_($evtParams->get('event_cancelled_customlabel_text', 'COM_ICAGENDA_EVENT_CANCELLED_TEXT')); - $class = $evtParams->get('event_cancelled_customlabel_css', $class); - } - - $title = $tipclass = $position = ''; - - if (!empty($description)) - { - if ($text && $text !== $description) - { - JHtml::_('bootstrap.popover'); - $tipclass = ' hasPopover'; - $title = ' title="' . htmlspecialchars(trim($text, ':')) . '"' - . ' data-content="'. htmlspecialchars($description) . '"'; - - if (!$position && JFactory::getLanguage()->isRtl()) - { - $position = ' data-placement="left" '; - } - } - else - { - JHtml::_('bootstrap.tooltip'); - $tipclass = ' hasTooltip'; - $title = ' title="' . JHtml::_('tooltipText', trim($text, ':'), JText::_($description), 0) . '"'; - $position = 'top'; - } - } - - $cancelledButton = '' . $text . ''; - - return $cancelledButton; - } - - return false; - } - - /** - * Next Date Text - * - * @since 3.6.0 - */ - public static function dateText($i) - { - $eventTimeZone = null; - - $dates = iCString::isSerialized($i->dates) ? unserialize($i->dates) : array(); // returns array - $period = iCString::isSerialized($i->period) ? unserialize($i->period) : array(); // returns array - $weekdays = $i->weekdays; - $startdatetime = iCDate::isDate($i->startdate) ? date('Y-m-d H:i', strtotime($i->startdate)) : ''; - - $site_date = JHtml::date('now', 'Y-m-d'); - $site_datetime = JHtml::date('now', 'Y-m-d H:i'); - - $alldates_array = array_merge($dates, $period); - $alldates = array_filter($alldates_array, function($var) {return $var == iCDate::isDate($var);}); - - $next_date = date('Y-m-d', strtotime($i->next)); - $next_datetime = date('Y-m-d H:i', strtotime($i->next)); - - $next_is_in_period = in_array($next_datetime, $period) ? true : false; - - $totDates = count($alldates); - - if ($totDates > 1 - && $next_date > $site_date) - { - rsort($alldates); - - $last_date = JHtml::date($alldates[0], 'Y-m-d', $eventTimeZone); - - if ( ! $next_is_in_period - && $last_date == $next_date) - { - $dateText = JText::_('COM_ICAGENDA_EVENT_DATE_LAST'); - } - elseif ( ! $next_is_in_period) - { - $dateText = JText::_('COM_ICAGENDA_EVENT_DATE_FUTUR'); - } - elseif ($next_is_in_period - && $weekdays == NULL) - { - $dateText = JText::_('COM_ICAGENDA_LEGEND_DATES'); - } - else - { - $dateText = JText::_('COM_ICAGENDA_EVENT_DATE'); - } - } - elseif ($totDates > 1 - && $next_date < $site_date) - { - if ($totDates == 2) - { - $dateText = $next_is_in_period - ? JText::_('COM_ICAGENDA_EVENT_DATE') - : JText::_('COM_ICAGENDA_EVENT_DATE_PAST'); - } - else - { - $dateText = ($next_is_in_period && $weekdays == NULL) - ? JText::_('COM_ICAGENDA_LEGEND_DATES') - : JText::_('COM_ICAGENDA_EVENT_DATE_PAST'); - } - } - elseif ($next_date == $site_date) - { - $dateText = ($next_is_in_period && ($next_datetime < $site_datetime || $next_datetime != $startdatetime)) - ? JText::_('COM_ICAGENDA_EVENT_DATE_PERIOD_NOW') - : JText::_('COM_ICAGENDA_EVENT_DATE_TODAY'); - } - else - { - $dateText = JText::_( 'COM_ICAGENDA_EVENT_DATE' ); - } - - return $dateText; - } - - /** - * Get Next Date (or Last Date) - * - * @since 3.4.0 - */ - public static function nextDate($evt, $i) - { - $eventTimeZone = null; - -// $singledates = iCString::isSerialized($i->dates) ? unserialize($i->dates) : array(); // returns array - $period = iCString::isSerialized($i->period) ? unserialize($i->period) : array(); // returns array - $startdatetime = $i->startdate; - $enddatetime = $i->enddate; - $weekdays = $i->weekdays; - - $site_date = JHtml::date('now', 'Y-m-d'); - $UTC_today_date = JHtml::date('now', 'Y-m-d', $eventTimeZone); - - $next_date = JHtml::date($evt, 'Y-m-d', $eventTimeZone); - $next_datetime = JHtml::date($evt, 'Y-m-d H:i', $eventTimeZone); - - $start_date = JHtml::date($i->startdate, 'Y-m-d', $eventTimeZone); - $end_date = JHtml::date($i->enddate, 'Y-m-d', $eventTimeZone); - - // Check if date from a period with weekdays has end time of the period set in next. -// $time_next_datetime = JHtml::date($next_datetime, 'H:i', $eventTimeZone); - $time_next_datetime = date('H:i', strtotime($next_datetime)); - $time_startdate = JHtml::date($i->startdate, 'H:i', $eventTimeZone); - $time_enddate = JHtml::date($i->enddate, 'H:i', $eventTimeZone); - - $data_next_datetime = date('Y-m-d H:i', strtotime($evt)); - - if ($next_date == $site_date - && $time_next_datetime == $time_enddate) - { - $next_datetime = $next_date . ' ' . $time_startdate; - } - - if ($period != NULL - && in_array($data_next_datetime, $period)) - { - $next_is_in_period = true; - } - else - { - $next_is_in_period = false; - } - - // Highlight event in progress - if ($next_date == $site_date) - { - $start_span = ''; - $end_span = ''; - } - else - { - $start_span = $end_span = ''; - } - - $separator = ' - '; - - // Format Next Date - if ($next_is_in_period - && ($start_date == $end_date || $weekdays != null)) - { - // Next in the period & (same start/end date OR one or more weekday selected) - $nextDate = $start_span; - $nextDate.= ''; - $nextDate.= icagendaRender::dateToFormat($evt); - $nextDate.= ''; - - if ($i->displaytime == 1) - { - $nextDate.= ' ' . icagendaRender::dateToTime($i->startdate) . ''; - - if (icagendaRender::dateToTime($i->startdate) != icagendaRender::dateToTime($i->enddate)) - { - $nextDate.= $separator . '' . icagendaRender::dateToTime($i->enddate) . ''; - } - } - - $nextDate.= $end_span; - } - elseif ($next_is_in_period - && ($weekdays == null)) - { - // Next in the period & different start/end date & no weekday selected - $start = ''; - $start.= icagendaRender::dateToFormat($i->startdate); - $start.= ''; - - $end = ''; - $end.= icagendaRender::dateToFormat($i->enddate); - $end.= ''; - - if ($i->displaytime == 1) - { - $start.= ' ' . icagendaRender::dateToTime($i->startdate) . ''; - - $end.= ' ' . icagendaRender::dateToTime($i->enddate) . ''; - } - - $nextDate = $start_span . $start . $separator . $end . $end_span; - } - else - { - // Next is a single date - $nextDate = $start_span; - $nextDate.= ''; - $nextDate.= icagendaRender::dateToFormat($evt); - $nextDate.= ''; - - if ($i->displaytime == 1) - { - $nextDate.= ' ' . icagendaRender::dateToTime($evt) . ''; - } - - $nextDate.= $end_span; - } - - return $nextDate; - } - - /* - * Function to detect if info details exist in an event, - * and to hide or show it depending of Options (display and access levels) - * - * @since 3.6.0 - */ - public static function infoDetails($item, $CUSTOM_FIELDS) - { - // Hide/Show Option - $infoDetails = JComponentHelper::getParams('com_icagenda')->get('infoDetails', 1); - - // Access Levels Option - $accessInfoDetails = JComponentHelper::getParams('com_icagenda')->get('accessInfoDetails', 1); - - if ( ($infoDetails == 1 && icagendaEvents::accessLevels($accessInfoDetails)) - && ( ($item->params->get('statutReg', '') == '1' && $item->params->get('maxReg')) - || $item->phone - || $item->email - || $item->website - || $item->address - || $item->file - || $CUSTOM_FIELDS ) - ) - { - return true; - } - - return false; - } - - /* - * Function to return a list of all single dates, HTML formatted. - * TO BE REFACTORED - * - * @since 3.6.0 - */ - public static function displayListSingleDates($item) - { - $iCparams = JComponentHelper::getParams('com_icagenda'); - $timeformat = JFactory::getApplication()->getParams()->get('timeformat', 1); - - // Hide/Show Option - $SingleDates = $iCparams->get('SingleDates', 1); - - // Access Levels Option (to be checked!) -// $accessSingleDates = $iCparams->get('accessSingleDates', 1); - - // Order by Dates - $SingleDatesOrder = $iCparams->get('SingleDatesOrder', 1); - - // List Model - $SingleDatesListModel = $iCparams->get('SingleDatesListModel', 1); - - if ($SingleDates == 1) - { -// if ($this->accessLevels($accessSingleDates)) -// { - $days = iCString::isSerialized($item->dates) ? unserialize($item->dates) : array(); // returns array - - if ($SingleDatesOrder == 1) - { - rsort($days); - } - elseif ($SingleDatesOrder == 2) - { - sort($days); - } - - $totDates = count($days); - - if ($timeformat == 1) - { - $lang_time = 'H:i'; - } - else - { - $lang_time = 'h:i A'; - } - - // Detect if Singles Dates, and no single date with null value - $displayDates = false; - $nbDays = count($days); - - foreach ($days as $k => $d) - { - if (iCDate::isDate($d) && $nbDays != 0) - { - $displayDates = true; - } - } - - $daysUl = ''; - - if ($displayDates) - { - if ($SingleDatesListModel == '2') - { - $n = 0; - $daysUl.= '
          ' . JText::_('COM_ICAGENDA_LEGEND_DATES') . ': '; - - foreach ($days as $k => $d) - { - $n = $n+1; - $fd = icagendaRender::dateToFormat($d); - - $timeDate = ($item->displaytime == 1) - ? ' ' . date($lang_time, strtotime($d)) . '' - : ''; - - if ($n <= ($totDates-1)) - { - $daysUl.= '' . $fd . $timeDate . ' - '; - } - elseif ($n == $totDates) - { - $daysUl.= '' . $fd . $timeDate . ''; - } - } - - $daysUl.= '
          '; - } - else - { - $daysUl.= '
            '; - - foreach ($days as $k => $d) - { - $fd = icagendaRender::dateToFormat($d); - - $timeDate = ($item->displaytime == 1) - ? ' ' . date($lang_time, strtotime($d)) . '' - : ''; - - $daysUl.= '
          • ' . $fd . $timeDate . '
          • '; - } - - $daysUl.= '
          '; - } - } - - if ($totDates > '0') - { - return $daysUl; - } - else - { - return false; - } -// } -// else -// { -// return false; -// } - } - else - { - return false; - } - } - - /* - * Function to display the period text width formatted dates (eg. from 00-00-0000 to 00-00-0000). - * TO BE REFACTORED - * @TODO remove inline style html tags (check css and add class declarations) - * @TODO (3.7) remove old deprecated class names - * - * @since 3.6.0 - */ - public static function displayPeriodDates($item) - { - $iCparams = JComponentHelper::getParams('com_icagenda'); - - // Hide/Show Option - $PeriodDates = $iCparams->get('PeriodDates', 1); - - // List Model - $SingleDatesListModel = $iCparams->get('SingleDatesListModel', 1); - - // First day of the week - $firstday_week_global = $iCparams->get('firstday_week_global', 1); - - // Predefined variables - $wdays = $showDays = $timeOneDay = $end = ''; - - // WeekDays - $weekdays = $item->weekdays; - $weekdaysall = empty($weekdays) ? true : false; - - if ($firstday_week_global == '1') - { - $weekdays_array = explode (',', $weekdays); - - if (in_array('0', $weekdays_array)) - { - $weekdays = str_replace('0', '', $weekdays); - $weekdays = $weekdays . ',7'; - } - } - - if ( ! $weekdaysall) - { - $weekdays_array = explode (',', $weekdays); - $wdaysArray = array(); - - foreach ($weekdays_array AS $wd) - { - if ($firstday_week_global != '1') - { - if ($wd == 0) $wdaysArray[] = JText::_('SUNDAY'); - } - if ($wd == 1) $wdaysArray[] = JText::_('MONDAY'); - if ($wd == 2) $wdaysArray[] = JText::_('TUESDAY'); - if ($wd == 3) $wdaysArray[] = JText::_('WEDNESDAY'); - if ($wd == 4) $wdaysArray[] = JText::_('THURSDAY'); - if ($wd == 5) $wdaysArray[] = JText::_('FRIDAY'); - if ($wd == 6) $wdaysArray[] = JText::_('SATURDAY'); - if ($firstday_week_global == '1') - { - if ($wd == 7) $wdaysArray[] = JText::_('SUNDAY'); - } - } - - $last = array_slice($wdaysArray, -1); - $first = join(', ', array_slice($wdaysArray, 0, -1)); - $both = array_filter(array_merge(array($first), $last)); - - // RTL css if site language is RTL - $lang = JFactory::getLanguage(); - $arrow_list = $lang->isRTL() ? '↵' : '↳'; - - $wdays = $arrow_list . ' ' . join(' & ', $both) . ''; - } - - if ($PeriodDates == 1 - && self::eventHasPeriod($item->period, $item->startdate, $item->enddate) - ) - { - $startDate = icagendaRender::dateToFormat($item->startdate); - $endDate = icagendaRender::dateToFormat($item->enddate); - $startTime = icagendaRender::dateToTime($item->startdate); - $endTime = icagendaRender::dateToTime($item->enddate); - - if ($startDate == $endDate) - { - $start = ''; - $start.= $startDate; - $start.= ''; - - if ($item->displaytime == 1) - { - $timeOneDay = '' . $startTime; - $timeOneDay.= ($startTime !== $endTime) ? ' - ' . $endTime : ''; - $timeOneDay.= ''; - } - } - else - { - $start = '' - . ucfirst(JText::_('COM_ICAGENDA_PERIOD_FROM')) - . ' '; - $start.= '' - . $startDate - . ''; - - if ($item->displaytime == 1) - { - $start.= ' ' - . $startTime - . ''; - } - - $end = '' - . JText::_('COM_ICAGENDA_PERIOD_TO') - . ' '; - $end.= '' - . $endDate - . ''; - - if ($item->displaytime == 1) - { - $end.= ' ' - . $endTime - . ''; - } - - $showDays = $wdays; - } - - // Horizontal List - if ($SingleDatesListModel == 2) - { - $period = '
          ' . JText::_('COM_ICAGENDA_EVENT_PERIOD') . ': '; - $period.= $start . ' ' . $end . ' ' . $timeOneDay; - - if ( ! empty($showDays)) - { - $period.= '
          ' . $showDays . ''; - } - - $period.= '
          '; - } - - // Vertical List - else - { - $period = '
          • '; - $period.= $start . ' ' . $end . ' ' . $timeOneDay; - - if ( ! empty($showDays)) - { - $period.= '
            ' . $showDays; - } - - $period.= '
          '; - } - - return $period; - } - else - { - return false; - } - } - - /* - * Function to check if period dates exist for this event - * - * @since 3.6.0 - */ - public static function eventHasPeriod($period, $startdate, $enddate) - { - $period_dates = iCString::isSerialized($period) ? unserialize($period) : array(); // returns array - - if (count($period_dates) > 0 - && iCDate::isDate($startdate) - && iCDate::isDate($enddate)) - { - return true; - } - - return false; - } - - /* - * Function to check if period is not finished - * - * @since 3.6.0 - */ - public static function periodIsNotFinished($enddate) - { - $eventTimeZone = null; - $datetime_today = JHtml::date('now', 'Y-m-d H:i'); - $datetime_enddate = JHtml::date($enddate, 'Y-m-d H:i', $eventTimeZone); - - if (strtotime($datetime_enddate) > strtotime($datetime_today)) - { - return true; - } - - return false; - } - - /* - * Function to set Meta-title for an event - * - * @since 3.6.0 - */ - public static function setMetaTitle($item) - { - $limit = '60'; - $metaTitle = iCFilterOutput::fullCleanHTML($item->title); - - if (strlen($metaTitle) > $limit) - { - $string_cut = substr($metaTitle, 0, $limit); - $last_space = strrpos($string_cut, ' '); - $string_ok = substr($string_cut, 0, $last_space); - $metaTitle = $string_ok; - } - - return $metaTitle; - } - - /* - * Function to set Meta-description for an event - * - * @since 3.6.0 - */ - public static function setMetaDesc($item) - { - $iCparams = JComponentHelper::getParams('com_icagenda'); - $limit = $iCparams->get('char_limit_meta_description', '320'); - - $metaDesc = iCFilterOutput::fullCleanHTML($item->metadesc); - $metaDesc = (empty($metaDesc)) ? iCFilterOutput::fullCleanHTML($item->desc) : $metaDesc; - - if (strlen($metaDesc) > $limit) - { - $string_cut = substr($metaDesc, 0, $limit); - $last_space = strrpos($string_cut, ' '); - $string_ok = substr($string_cut, 0, $last_space); - $metaDesc = $string_ok; - } - - return $metaDesc; - } - - /* - * Function to return event Url - * - * @since 3.6.0 - */ - public static function eventURL($i) - { - $app = JFactory::getApplication(); - $jinput = $app->input; - - $itemID = $jinput->get('Itemid', '0'); - - $eventnumber = $i->id; - $event_slug = empty($i->alias) ? $i->id : $i->id . ':' . $i->alias; - $date = $i->next; - - // Get the "event" URL - $baseURL = JURI::base(); - $subpathURL = JURI::base(true); - - $baseURL = str_replace('/administrator', '', $baseURL); - $subpathURL = str_replace('/administrator', '', $subpathURL); - - $urlevent = str_replace('&','&', JRoute::_('index.php?option=com_icagenda&view=event&Itemid=' . (int) $itemID . '&id=' . $event_slug)); - - // Sub Path filtering - $subpathURL = ltrim($subpathURL, '/'); - - // URL Event Details filtering - $urlevent = ltrim($urlevent, '/'); - - if (substr($urlevent, 0, strlen($subpathURL)+1) == "$subpathURL/") - { - $urlevent = substr($urlevent, strlen($subpathURL)+1); - } - - $urlevent = rtrim($baseURL,'/') . '/' . ltrim($urlevent,'/'); - - $url = $urlevent; - - if (is_numeric($itemID) && is_numeric($eventnumber) - && ! is_array($itemID) && ! is_array($eventnumber) - ) - { - return $url; - } - else - { - $url = JRoute::_('index.php'); - - return JURI::base() . $url; - } - } - - /* - * Function to convert a datetime to URL alias - * (see iCDate::dateToAlias from iC Library for general function) - * - * @since 3.6.0 - */ - public static function urlDateVar($datetime) - { - if ( ! iCDate::isDate($datetime)) return false; - - $datetime = date('Y-m-d H:i', strtotime($datetime)); - $date_explode = explode(' ', $datetime); - - $dateAlias = $date_explode['0'] . '-' . str_replace(':', '-', $date_explode['1']); - - return $dateAlias; - } - - /* - * Function to convert a URL date alias in an SQL datetime string. - * - * @return string The date string in SQL datetime format. - * - * @since 3.6.0 - */ - public static function convertDateAliasToSQLDatetime($dateAlias) - { - if (strlen(iCDate::dateToNumeric($dateAlias)) != '12') return ''; - - $ex = explode('-', $dateAlias); - $datetime = (count($ex) == 5) - ? $ex['0'] . '-' . $ex['1'] . '-' . $ex['2'] . ' ' . $ex['3'] . ':' . $ex['4'] . ':00' - : ''; - - return $datetime; - } - - /* - * Function to generate the read more for introduction description - * - * @since 3.6.0 - */ - public static function readMore ($url, $desc, $content = '') - { - $iCparams = JComponentHelper::getParams('com_icagenda'); - $limitGlobal = $iCparams->get('limitGlobal', 0); - - if ($limitGlobal == 1) - { - $limit = $iCparams->get('ShortDescLimit', '100'); - } - elseif ($limitGlobal == 0) - { - $customlimit = $iCparams->get('limit', '100'); - - $limit = is_numeric($customlimit) ? $customlimit : $iCparams->get('ShortDescLimit', '100'); - } - - $limit = is_numeric($limit) ? $limit : '1'; - - $readmore = ''; - - $readmore = ($limit <= 1) ? '' : $content; - $text = preg_replace('/]*>/Ui', '', $desc); - - if (strlen($text) > $limit) - { - $string_cut = substr($text, 0, $limit); - $last_space = strrpos($string_cut, ' '); - $string_ok = substr($string_cut, 0, $last_space); - $text = $string_ok . ' '; - $url = $url; - $text = '' . $readmore . ''; - } - else - { - $text = ''; - } - - return $text; - } - - /** - * Loads the list of filled custom fields for this event - * - * @return array - * - * @since 3.6.0 - */ - public static function getCustomFields($id = null) - { - $customFields = icagendaEventData::loadEventCustomFields($id); - - foreach ($customFields as $cf) - { - if ($cf->title && $cf->value) - { - switch ($cf->type) - { - case 'url': - $cf->value = iCRender::urlTag($cf->value); - break; - - case 'email': - $cf->value = JHtml::_('email.cloak', $cf->value); - break; - - default: - $cf->value = JText::_($cf->value); - break; - } - } - - $cf->title = JText::_($cf->title); - } - - return $customFields; - } - - /** - * Function to get custom field groups of an event - * - * @param integer $id Event id - * - * @return array - * - * @since 3.6.0 - */ - public static function getCustomfieldGroups($id = null) - { - // Create a new query object. - $db = JFactory::getDbo(); - $query = $db->getQuery(true); - - $query->select('e.params') - ->from('#__icagenda_events AS e') - ->where($db->qn('id') . ' = ' . $db->q($id)); - $db->setQuery($query); - - $result = json_decode($db->loadResult()); - - if (isset($result->custom_form)) - { - return $result->custom_form; - } - - return false; - } - - /** - * Function to get event params - * - * @param integer $id Event id - * - * @return object - * - * @since 3.6.5 - */ - public static function getParams($id = null) - { - $db = JFactory::getDbo(); - - $query = $db->getQuery(true) - ->select('e.params') - ->from($db->qn('#__icagenda_events', 'e')) - ->where($db->qn('e.id') . ' = ' . (int) $id); - - $db->setQuery($query); - - $params = json_decode($db->loadResult(), true); - - $evtParams = new JRegistry($params); - - return $evtParams; - } - - public static function getCustomField($id, $field) - { - $db = JFactory::getDbo(); - - $query = $db->getQuery(true) - ->select('d.value') - ->from($db->qn('#__icagenda_customfields_data', 'd')) - ->where($db->qn('d.parent_id') . ' = ' . (int) $id) - ->where($db->qn('d.slug') . ' = "'.$field.'"'); - - $db->setQuery($query); - return $db->loadResult(); - } -} +next) + || ($item->next <= JHtml::date('now', 'Y-m-d H:i:s') + || ! iCDate::isDate($item->next)) + ) + { + $reset = true; + } + + if ($reset) + { + $next_singleDates = $last_singleDates = ''; + $next_period = $last_period = ''; + + // Single Dates Check + $singleDates = iCString::isSerialized($item->dates) ? unserialize($item->dates) : array(); + + $upcomingSingleDates = array_filter( + $singleDates, + function($date) + { + return $date >= JHtml::date('now', 'Y-m-d H:i:s'); + } + ); + + if (count($upcomingSingleDates) > 0) + { + $next_singleDates = min($upcomingSingleDates); + $next_singleDates = iCDate::isDate($next_singleDates) ? $next_singleDates : ''; + } + else + { + $pastSingleDates = array_filter( + $singleDates, + function ($date) + { + return $date < JHtml::date('now', 'Y-m-d H:i:s'); + } + ); + + if (count($pastSingleDates) > 0) + { + $last_singleDates = max($pastSingleDates); + $last_singleDates = iCDate::isDate($last_singleDates) ? $last_singleDates : ''; + } + } + + + // Period Check + $weekdays = ! is_array($item->weekdays) ? explode(",", $item->weekdays) : $item->weekdays; + + if (count($weekdays) > 0) + { + $period_all_dates_array = iCDatePeriod::listDates($item->startdate, $item->enddate); + + $period_array = array(); + + foreach ($period_all_dates_array AS $date_in_weekdays) + { + $datetime_period_date = JHtml::date($date_in_weekdays, 'Y-m-d H:i', $eventTimeZone); + + if (in_array(date('w', strtotime($datetime_period_date)), $weekdays)) + { + $period_array[] = $datetime_period_date; + } + } + + $upcomingPeriodDates = array_filter( + $period_array, + function($date) + { + return $date >= JHtml::date('now', 'Y-m-d H:i:s'); + } + ); + + if (count($upcomingPeriodDates) > 0) + { + $next_period = min($upcomingPeriodDates); + $next_period = iCDate::isDate($next_period) ? $next_period : ''; + } + else + { + $last_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; + } + } + else + { + if ($item->startdate >= JHtml::date('now', 'Y-m-d H:i:s')) + { + $next_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; + } + elseif ($item->enddate >= JHtml::date('now', 'Y-m-d H:i:s')) + { + $next_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; + } + else + { + $last_period = iCDate::isDate($item->startdate) ? $item->startdate : ''; + } + } + + + // Return Next + if ($next_singleDates && $next_period) + { + $next = min($next_singleDates, $next_period); + } + elseif ($next_singleDates) + { + $next = $next_singleDates; + } + elseif ($next_period) + { + $next = $next_period; + } + else + { + $next = max($last_singleDates, $last_period); + } + + if ($item->next != $next) + { + $item->next = $next; + + $db = Jfactory::getDbo(); + $query = $db->getQuery(true); + + $query->update('#__icagenda_events') + ->set($db->qn('next') . ' = ' . $db->q($next)) + ->where($db->qn('id') . ' = ' . (int) $item->id); + + $db->setQuery($query); + $db->query($query); + } + } + + return $item->next; + } + + /** + * Function to get Event Params + * + * @return JRegistry Event Params + * + * @since 3.6.0 + */ + public static function evtParams($params) + { + $evtParams = new JRegistry($params); + + return $evtParams; + } + + /** + * Function to return the back arrow button (No item needed) + * + * @return HTML + * + * @since 3.6.0 + */ + public static function backArrow($item = null) + { + $app = JFactory::getApplication(); + $jinput = $app->input; + $jview = $jinput->get('view'); + + // Get Current Itemid + $this_itemid = $jinput->getInt('Itemid', 0); + + // TODO: Remove jlayout control (3.6) + $jlayout = $jinput->get('layout', ''); + $layouts_array = array('event', 'registration'); + $layout = in_array($jlayout, $layouts_array) ? $jlayout : ''; + + $manageraction = $jinput->get('manageraction', ''); + $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; + + // RTL css if site language is RTL + $lang = JFactory::getLanguage(); + $back_icon = ($lang->isRTL()) ? 'iCicon iCicon-nextic' : 'iCicon iCicon-backic'; + + if ( ($layout != '' || $jview == 'event') + && strpos($referer,'registration') === false + && ! $manageraction) + { + if ($referer != "") + { + $BackArrow = ''; + } + else + { + $BackArrow = ''; + } + } + elseif ($manageraction || strpos($referer,'registration') !== false) + { + $BackArrow = ''; + } + else + { + $BackArrow = ''; + } + + // Header Message if event cancelled + $evtParams = self::getParams($item->id); + $cancellation_info = ''; + + if ($evtParams->get('event_cancelled')) + { + $text = JText::_('COM_ICAGENDA_EVENT_CANCELLED_TEXT'); + $description = $evtParams->get('event_cancelled_desc'); + + if ($evtParams->get('event_cancelled_customlabel')) + { + $text = JText::_($evtParams->get('event_cancelled_customlabel_text', 'COM_ICAGENDA_EVENT_CANCELLED_TEXT')); +// $class = $evtParams->get('event_cancelled_customlabel_css', $class); + } + + $cancellation_info = '
          ' + . '

          ' . $text . '

          ' + . '
          ' . $description . '
          ' + . '
          '; + } + + return $BackArrow . $cancellation_info; + } + + /** + * Set event Url + * + * @since 3.6.0 + */ + public static function url($id, $alias = null) + { + $app = JFactory::getApplication(); + $isSef = $app->getCfg('sef'); + $jinput = $app->input; + + $menuID = $jinput->get('Itemid', 0); + $date = $jinput->get('date', ''); + $view = $jinput->get('view', ''); + + // Get var 'event_date' set to session in event details view + $session = JFactory::getSession(); + $event_date = $session->get('event_date', ''); + + $event_slug = empty($alias) ? (int) $id : (int) $id . ':' . $alias; + $this_date = $event_date ? date('Y-m-d-H-i', strtotime($event_date)) : $date; + + $url = JRoute::_('index.php?option=com_icagenda&view=event&id=' . $event_slug . '&Itemid=' . (int) $menuID); + + if (is_numeric($menuID) && is_numeric($id) + && ! is_array($menuID) && ! is_array($id)) + { + $date_var = ($isSef == '1') ? '?date=' : '&date='; + $url = ($view != 'list' && $this_date) ? $url . $date_var . $this_date : $url; + } + else + { + $url = JRoute::_('index.php'); + } + + return $url; + } + + /** + * Title + Manager Icons + * + * @since 3.6.0 + * @todo Review and split into sub-functions + */ + public static function titleBar($i) + { + $jinput = JFactory::getApplication()->input; + + $this_itemid = $jinput->getInt('Itemid'); + $list_title_length = (int) JComponentHelper::getParams('com_icagenda')->get('list_title_length', ''); + + $i_title = icagendaRender::titleToFormat($i->title); + + $jlayout = $jinput->get('layout', ''); + $layouts_array = array('event', 'registration'); + $layout = in_array($jlayout, $layouts_array) ? $jlayout : ''; + + $mbString = extension_loaded('mbstring'); + + $title_length = $mbString ? mb_strlen($i_title, 'UTF-8') : strlen($i_title); + + if (empty($layout) + && ! empty($list_title_length)) + { + $title = $mbString + ? trim(mb_substr($i_title, 0, $list_title_length, 'UTF-8')) + : trim(substr($i_title, 0, $list_title_length)); + + $new_title_length = $mbString ? mb_strlen($title, 'UTF-8') : strlen($title); + + if ($new_title_length < $title_length) + { + $title.= '...'; + } + } + else + { + $title = $i_title; + } + + $approval = $i->approval; + + $event_slug = empty($i->alias) ? $i->id : $i->id . ':' . $i->alias; + + // Set Manager Actions Url + $managerActionsURL = 'index.php?option=com_icagenda&view=event&id=' . $event_slug . '&Itemid=' . $this_itemid; + + $unapproved = ''; + + $titleBar = ''; + + if ($title != NULL && $approval == 1) + { + $titleBar.= $title . ' ' . $unapproved; + } + elseif ($title != NULL && $approval != 1) + { + $titleBar.= $title; + } + + $eventIsCancelled = self::cancelledButton($i->id, 'btn btn-danger'); + + if ($eventIsCancelled) + { + $titleBar.= ' ' . $eventIsCancelled; + } + + return $titleBar; + } + + /** + * Return Event Cancelled button with infotip + * + * @since 3.7.12 + */ + public static function cancelledButton($id, $class = 'label label-important') + { + $evtParams = self::getParams($id); + + if ($evtParams->get('event_cancelled')) + { + $language = JFactory::getLanguage(); + $language->load('com_icagenda', JPATH_SITE, 'en-GB', false, true); + $language->load('com_icagenda', JPATH_SITE, null, true); + + $text = JText::_('COM_ICAGENDA_EVENT_CANCELLED_TEXT'); + $description = $evtParams->get('event_cancelled_desc'); + + if ($evtParams->get('event_cancelled_customlabel')) + { + $text = JText::_($evtParams->get('event_cancelled_customlabel_text', 'COM_ICAGENDA_EVENT_CANCELLED_TEXT')); + $class = $evtParams->get('event_cancelled_customlabel_css', $class); + } + + $title = $tipclass = $position = ''; + + if (!empty($description)) + { + if ($text && $text !== $description) + { + JHtml::_('bootstrap.popover'); + $tipclass = ' hasPopover'; + $title = ' title="' . htmlspecialchars(trim($text, ':')) . '"' + . ' data-content="'. htmlspecialchars($description) . '"'; + + if (!$position && JFactory::getLanguage()->isRtl()) + { + $position = ' data-placement="left" '; + } + } + else + { + JHtml::_('bootstrap.tooltip'); + $tipclass = ' hasTooltip'; + $title = ' title="' . JHtml::_('tooltipText', trim($text, ':'), JText::_($description), 0) . '"'; + $position = 'top'; + } + } + + $cancelledButton = '' . $text . ''; + + return $cancelledButton; + } + + return false; + } + + /** + * Next Date Text + * + * @since 3.6.0 + */ + public static function dateText($i) + { + $eventTimeZone = null; + + $dates = iCString::isSerialized($i->dates) ? unserialize($i->dates) : array(); // returns array + $period = iCString::isSerialized($i->period) ? unserialize($i->period) : array(); // returns array + $weekdays = $i->weekdays; + $startdatetime = iCDate::isDate($i->startdate) ? date('Y-m-d H:i', strtotime($i->startdate)) : ''; + + $site_date = JHtml::date('now', 'Y-m-d'); + $site_datetime = JHtml::date('now', 'Y-m-d H:i'); + + $alldates_array = array_merge($dates, $period); + $alldates = array_filter($alldates_array, function($var) {return $var == iCDate::isDate($var);}); + + $next_date = date('Y-m-d', strtotime($i->next)); + $next_datetime = date('Y-m-d H:i', strtotime($i->next)); + + $next_is_in_period = in_array($next_datetime, $period) ? true : false; + + $totDates = count($alldates); + + if ($totDates > 1 + && $next_date > $site_date) + { + rsort($alldates); + + $last_date = JHtml::date($alldates[0], 'Y-m-d', $eventTimeZone); + + if ( ! $next_is_in_period + && $last_date == $next_date) + { + $dateText = JText::_('COM_ICAGENDA_EVENT_DATE_LAST'); + } + elseif ( ! $next_is_in_period) + { + $dateText = JText::_('COM_ICAGENDA_EVENT_DATE_FUTUR'); + } + elseif ($next_is_in_period + && $weekdays == NULL) + { + $dateText = JText::_('COM_ICAGENDA_LEGEND_DATES'); + } + else + { + $dateText = JText::_('COM_ICAGENDA_EVENT_DATE'); + } + } + elseif ($totDates > 1 + && $next_date < $site_date) + { + if ($totDates == 2) + { + $dateText = $next_is_in_period + ? JText::_('COM_ICAGENDA_EVENT_DATE') + : JText::_('COM_ICAGENDA_EVENT_DATE_PAST'); + } + else + { + $dateText = ($next_is_in_period && $weekdays == NULL) + ? JText::_('COM_ICAGENDA_LEGEND_DATES') + : JText::_('COM_ICAGENDA_EVENT_DATE_PAST'); + } + } + elseif ($next_date == $site_date) + { + $dateText = ($next_is_in_period && ($next_datetime < $site_datetime || $next_datetime != $startdatetime)) + ? JText::_('COM_ICAGENDA_EVENT_DATE_PERIOD_NOW') + : JText::_('COM_ICAGENDA_EVENT_DATE_TODAY'); + } + else + { + $dateText = JText::_( 'COM_ICAGENDA_EVENT_DATE' ); + } + + return $dateText; + } + + /** + * Get Next Date (or Last Date) + * + * @since 3.4.0 + */ + public static function nextDate($evt, $i) + { + $eventTimeZone = null; + +// $singledates = iCString::isSerialized($i->dates) ? unserialize($i->dates) : array(); // returns array + $period = iCString::isSerialized($i->period) ? unserialize($i->period) : array(); // returns array + $startdatetime = $i->startdate; + $enddatetime = $i->enddate; + $weekdays = $i->weekdays; + + $site_date = JHtml::date('now', 'Y-m-d'); + $UTC_today_date = JHtml::date('now', 'Y-m-d', $eventTimeZone); + + $next_date = JHtml::date($evt, 'Y-m-d', $eventTimeZone); + $next_datetime = JHtml::date($evt, 'Y-m-d H:i', $eventTimeZone); + + $start_date = JHtml::date($i->startdate, 'Y-m-d', $eventTimeZone); + $end_date = JHtml::date($i->enddate, 'Y-m-d', $eventTimeZone); + + // Check if date from a period with weekdays has end time of the period set in next. +// $time_next_datetime = JHtml::date($next_datetime, 'H:i', $eventTimeZone); + $time_next_datetime = date('H:i', strtotime($next_datetime)); + $time_startdate = JHtml::date($i->startdate, 'H:i', $eventTimeZone); + $time_enddate = JHtml::date($i->enddate, 'H:i', $eventTimeZone); + + $data_next_datetime = date('Y-m-d H:i', strtotime($evt)); + + if ($next_date == $site_date + && $time_next_datetime == $time_enddate) + { + $next_datetime = $next_date . ' ' . $time_startdate; + } + + if ($period != NULL + && in_array($data_next_datetime, $period)) + { + $next_is_in_period = true; + } + else + { + $next_is_in_period = false; + } + + // Highlight event in progress + if ($next_date == $site_date) + { + $start_span = ''; + $end_span = ''; + } + else + { + $start_span = $end_span = ''; + } + + $separator = ' - '; + + // Format Next Date + if ($next_is_in_period + && ($start_date == $end_date || $weekdays != null)) + { + // Next in the period & (same start/end date OR one or more weekday selected) + $nextDate = $start_span; + $nextDate.= ''; + $nextDate.= icagendaRender::dateToFormat($evt); + $nextDate.= ''; + + if ($i->displaytime == 1) + { + $nextDate.= ' ' . icagendaRender::dateToTime($i->startdate) . ''; + + if (icagendaRender::dateToTime($i->startdate) != icagendaRender::dateToTime($i->enddate)) + { + $nextDate.= $separator . '' . icagendaRender::dateToTime($i->enddate) . ''; + } + } + + $nextDate.= $end_span; + } + elseif ($next_is_in_period + && ($weekdays == null)) + { + // Next in the period & different start/end date & no weekday selected + $start = ''; + $start.= icagendaRender::dateToFormat($i->startdate); + $start.= ''; + + $end = ''; + $end.= icagendaRender::dateToFormat($i->enddate); + $end.= ''; + + if ($i->displaytime == 1) + { + $start.= ' ' . icagendaRender::dateToTime($i->startdate) . ''; + + $end.= ' ' . icagendaRender::dateToTime($i->enddate) . ''; + } + + $nextDate = $start_span . $start . $separator . $end . $end_span; + } + else + { + // Next is a single date + $nextDate = $start_span; + $nextDate.= ''; + $nextDate.= icagendaRender::dateToFormat($evt); + $nextDate.= ''; + + if ($i->displaytime == 1) + { + $nextDate.= ' ' . icagendaRender::dateToTime($evt) . ''; + } + + $nextDate.= $end_span; + } + + return $nextDate; + } + + /* + * Function to detect if info details exist in an event, + * and to hide or show it depending of Options (display and access levels) + * + * @since 3.6.0 + */ + public static function infoDetails($item, $CUSTOM_FIELDS) + { + // Hide/Show Option + $infoDetails = JComponentHelper::getParams('com_icagenda')->get('infoDetails', 1); + + // Access Levels Option + $accessInfoDetails = JComponentHelper::getParams('com_icagenda')->get('accessInfoDetails', 1); + + if ( ($infoDetails == 1 && icagendaEvents::accessLevels($accessInfoDetails)) + && ( ($item->params->get('statutReg', '') == '1' && $item->params->get('maxReg')) + || $item->phone + || $item->email + || $item->website + || $item->address + || $item->file + || $CUSTOM_FIELDS ) + ) + { + return true; + } + + return false; + } + + /* + * Function to return a list of all single dates, HTML formatted. + * TO BE REFACTORED + * + * @since 3.6.0 + */ + public static function displayListSingleDates($item) + { + $iCparams = JComponentHelper::getParams('com_icagenda'); + $timeformat = JFactory::getApplication()->getParams()->get('timeformat', 1); + + // Hide/Show Option + $SingleDates = $iCparams->get('SingleDates', 1); + + // Access Levels Option (to be checked!) +// $accessSingleDates = $iCparams->get('accessSingleDates', 1); + + // Order by Dates + $SingleDatesOrder = $iCparams->get('SingleDatesOrder', 1); + + // List Model + $SingleDatesListModel = $iCparams->get('SingleDatesListModel', 1); + + if ($SingleDates == 1) + { +// if ($this->accessLevels($accessSingleDates)) +// { + $days = iCString::isSerialized($item->dates) ? unserialize($item->dates) : array(); // returns array + + if ($SingleDatesOrder == 1) + { + rsort($days); + } + elseif ($SingleDatesOrder == 2) + { + sort($days); + } + + $totDates = count($days); + + if ($timeformat == 1) + { + $lang_time = 'H:i'; + } + else + { + $lang_time = 'h:i A'; + } + + // Detect if Singles Dates, and no single date with null value + $displayDates = false; + $nbDays = count($days); + + foreach ($days as $k => $d) + { + if (iCDate::isDate($d) && $nbDays != 0) + { + $displayDates = true; + } + } + + $daysUl = ''; + + if ($displayDates) + { + if ($SingleDatesListModel == '2') + { + $n = 0; + $daysUl.= '
          ' . JText::_('COM_ICAGENDA_LEGEND_DATES') . ': '; + + foreach ($days as $k => $d) + { + $n = $n+1; + $fd = icagendaRender::dateToFormat($d); + + $timeDate = ($item->displaytime == 1) + ? ' ' . date($lang_time, strtotime($d)) . '' + : ''; + + if ($n <= ($totDates-1)) + { + $daysUl.= '' . $fd . $timeDate . ' - '; + } + elseif ($n == $totDates) + { + $daysUl.= '' . $fd . $timeDate . ''; + } + } + + $daysUl.= '
          '; + } + else + { + $daysUl.= '
            '; + + foreach ($days as $k => $d) + { + $fd = icagendaRender::dateToFormat($d); + + $timeDate = ($item->displaytime == 1) + ? ' ' . date($lang_time, strtotime($d)) . '' + : ''; + + $daysUl.= '
          • ' . $fd . $timeDate . '
          • '; + } + + $daysUl.= '
          '; + } + } + + if ($totDates > '0') + { + return $daysUl; + } + else + { + return false; + } +// } +// else +// { +// return false; +// } + } + else + { + return false; + } + } + + /* + * Function to display the period text width formatted dates (eg. from 00-00-0000 to 00-00-0000). + * TO BE REFACTORED + * @TODO remove inline style html tags (check css and add class declarations) + * @TODO (3.7) remove old deprecated class names + * + * @since 3.6.0 + */ + public static function displayPeriodDates($item) + { + $iCparams = JComponentHelper::getParams('com_icagenda'); + + // Hide/Show Option + $PeriodDates = $iCparams->get('PeriodDates', 1); + + // List Model + $SingleDatesListModel = $iCparams->get('SingleDatesListModel', 1); + + // First day of the week + $firstday_week_global = $iCparams->get('firstday_week_global', 1); + + // Predefined variables + $wdays = $showDays = $timeOneDay = $end = ''; + + // WeekDays + $weekdays = $item->weekdays; + $weekdaysall = empty($weekdays) ? true : false; + + if ($firstday_week_global == '1') + { + $weekdays_array = explode (',', $weekdays); + + if (in_array('0', $weekdays_array)) + { + $weekdays = str_replace('0', '', $weekdays); + $weekdays = $weekdays . ',7'; + } + } + + if ( ! $weekdaysall) + { + $weekdays_array = explode (',', $weekdays); + $wdaysArray = array(); + + foreach ($weekdays_array AS $wd) + { + if ($firstday_week_global != '1') + { + if ($wd == 0) $wdaysArray[] = JText::_('SUNDAY'); + } + if ($wd == 1) $wdaysArray[] = JText::_('MONDAY'); + if ($wd == 2) $wdaysArray[] = JText::_('TUESDAY'); + if ($wd == 3) $wdaysArray[] = JText::_('WEDNESDAY'); + if ($wd == 4) $wdaysArray[] = JText::_('THURSDAY'); + if ($wd == 5) $wdaysArray[] = JText::_('FRIDAY'); + if ($wd == 6) $wdaysArray[] = JText::_('SATURDAY'); + if ($firstday_week_global == '1') + { + if ($wd == 7) $wdaysArray[] = JText::_('SUNDAY'); + } + } + + $last = array_slice($wdaysArray, -1); + $first = join(', ', array_slice($wdaysArray, 0, -1)); + $both = array_filter(array_merge(array($first), $last)); + + // RTL css if site language is RTL + $lang = JFactory::getLanguage(); + $arrow_list = $lang->isRTL() ? '↵' : '↳'; + + $wdays = $arrow_list . ' ' . join(' & ', $both) . ''; + } + + if ($PeriodDates == 1 + && self::eventHasPeriod($item->period, $item->startdate, $item->enddate) + ) + { + $startDate = icagendaRender::dateToFormat($item->startdate); + $endDate = icagendaRender::dateToFormat($item->enddate); + $startTime = icagendaRender::dateToTime($item->startdate); + $endTime = icagendaRender::dateToTime($item->enddate); + + if ($startDate == $endDate) + { + $start = ''; + $start.= $startDate; + $start.= ''; + + if ($item->displaytime == 1) + { + $timeOneDay = '' . $startTime; + $timeOneDay.= ($startTime !== $endTime) ? ' - ' . $endTime : ''; + $timeOneDay.= ''; + } + } + else + { + $start = '' + . ucfirst(JText::_('COM_ICAGENDA_PERIOD_FROM')) + . ' '; + $start.= '' + . $startDate + . ''; + + if ($item->displaytime == 1) + { + $start.= ' ' + . $startTime + . ''; + } + + $end = '' + . JText::_('COM_ICAGENDA_PERIOD_TO') + . ' '; + $end.= '' + . $endDate + . ''; + + if ($item->displaytime == 1) + { + $end.= ' ' + . $endTime + . ''; + } + + $showDays = $wdays; + } + + // Horizontal List + if ($SingleDatesListModel == 2) + { + $period = '
          ' . JText::_('COM_ICAGENDA_EVENT_PERIOD') . ': '; + $period.= $start . ' ' . $end . ' ' . $timeOneDay; + + if ( ! empty($showDays)) + { + $period.= '
          ' . $showDays . ''; + } + + $period.= '
          '; + } + + // Vertical List + else + { + $period = '
          • '; + $period.= $start . ' ' . $end . ' ' . $timeOneDay; + + if ( ! empty($showDays)) + { + $period.= '
            ' . $showDays; + } + + $period.= '
          '; + } + + return $period; + } + else + { + return false; + } + } + + /* + * Function to check if period dates exist for this event + * + * @since 3.6.0 + */ + public static function eventHasPeriod($period, $startdate, $enddate) + { + $period_dates = iCString::isSerialized($period) ? unserialize($period) : array(); // returns array + + if (count($period_dates) > 0 + && iCDate::isDate($startdate) + && iCDate::isDate($enddate)) + { + return true; + } + + return false; + } + + /* + * Function to check if period is not finished + * + * @since 3.6.0 + */ + public static function periodIsNotFinished($enddate) + { + $eventTimeZone = null; + $datetime_today = JHtml::date('now', 'Y-m-d H:i'); + $datetime_enddate = JHtml::date($enddate, 'Y-m-d H:i', $eventTimeZone); + + if (strtotime($datetime_enddate) > strtotime($datetime_today)) + { + return true; + } + + return false; + } + + /* + * Function to set Meta-title for an event + * + * @since 3.6.0 + */ + public static function setMetaTitle($item) + { + $limit = '60'; + $metaTitle = iCFilterOutput::fullCleanHTML($item->title); + + if (strlen($metaTitle) > $limit) + { + $string_cut = substr($metaTitle, 0, $limit); + $last_space = strrpos($string_cut, ' '); + $string_ok = substr($string_cut, 0, $last_space); + $metaTitle = $string_ok; + } + + return $metaTitle; + } + + /* + * Function to set Meta-description for an event + * + * @since 3.6.0 + */ + public static function setMetaDesc($item) + { + $iCparams = JComponentHelper::getParams('com_icagenda'); + $limit = $iCparams->get('char_limit_meta_description', '320'); + + $metaDesc = iCFilterOutput::fullCleanHTML($item->metadesc); + $metaDesc = (empty($metaDesc)) ? iCFilterOutput::fullCleanHTML($item->desc) : $metaDesc; + + if (strlen($metaDesc) > $limit) + { + $string_cut = substr($metaDesc, 0, $limit); + $last_space = strrpos($string_cut, ' '); + $string_ok = substr($string_cut, 0, $last_space); + $metaDesc = $string_ok; + } + + return $metaDesc; + } + + /* + * Function to return event Url + * + * @since 3.6.0 + */ + public static function eventURL($i) + { + $app = JFactory::getApplication(); + $jinput = $app->input; + + $itemID = $jinput->get('Itemid', '0'); + + $eventnumber = $i->id; + $event_slug = empty($i->alias) ? $i->id : $i->id . ':' . $i->alias; + $date = $i->next; + + // Get the "event" URL + $baseURL = JURI::base(); + $subpathURL = JURI::base(true); + + $baseURL = str_replace('/administrator', '', $baseURL); + $subpathURL = str_replace('/administrator', '', $subpathURL); + + $urlevent = str_replace('&','&', JRoute::_('index.php?option=com_icagenda&view=event&Itemid=' . (int) $itemID . '&id=' . $event_slug)); + + // Sub Path filtering + $subpathURL = ltrim($subpathURL, '/'); + + // URL Event Details filtering + $urlevent = ltrim($urlevent, '/'); + + if (substr($urlevent, 0, strlen($subpathURL)+1) == "$subpathURL/") + { + $urlevent = substr($urlevent, strlen($subpathURL)+1); + } + + $urlevent = rtrim($baseURL,'/') . '/' . ltrim($urlevent,'/'); + + $url = $urlevent; + + if (is_numeric($itemID) && is_numeric($eventnumber) + && ! is_array($itemID) && ! is_array($eventnumber) + ) + { + return $url; + } + else + { + $url = JRoute::_('index.php'); + + return JURI::base() . $url; + } + } + + /* + * Function to convert a datetime to URL alias + * (see iCDate::dateToAlias from iC Library for general function) + * + * @since 3.6.0 + */ + public static function urlDateVar($datetime) + { + if ( ! iCDate::isDate($datetime)) return false; + + $datetime = date('Y-m-d H:i', strtotime($datetime)); + $date_explode = explode(' ', $datetime); + + $dateAlias = $date_explode['0'] . '-' . str_replace(':', '-', $date_explode['1']); + + return $dateAlias; + } + + /* + * Function to convert a URL date alias in an SQL datetime string. + * + * @return string The date string in SQL datetime format. + * + * @since 3.6.0 + */ + public static function convertDateAliasToSQLDatetime($dateAlias) + { + if (strlen(iCDate::dateToNumeric($dateAlias)) != '12') return ''; + + $ex = explode('-', $dateAlias); + $datetime = (count($ex) == 5) + ? $ex['0'] . '-' . $ex['1'] . '-' . $ex['2'] . ' ' . $ex['3'] . ':' . $ex['4'] . ':00' + : ''; + + return $datetime; + } + + /* + * Function to generate the read more for introduction description + * + * @since 3.6.0 + */ + public static function readMore ($url, $desc, $content = '') + { + $iCparams = JComponentHelper::getParams('com_icagenda'); + $limitGlobal = $iCparams->get('limitGlobal', 0); + + if ($limitGlobal == 1) + { + $limit = $iCparams->get('ShortDescLimit', '100'); + } + elseif ($limitGlobal == 0) + { + $customlimit = $iCparams->get('limit', '100'); + + $limit = is_numeric($customlimit) ? $customlimit : $iCparams->get('ShortDescLimit', '100'); + } + + $limit = is_numeric($limit) ? $limit : '1'; + + $readmore = ''; + + $readmore = ($limit <= 1) ? '' : $content; + $text = preg_replace('/]*>/Ui', '', $desc); + + if (strlen($text) > $limit) + { + $string_cut = substr($text, 0, $limit); + $last_space = strrpos($string_cut, ' '); + $string_ok = substr($string_cut, 0, $last_space); + $text = $string_ok . ' '; + $url = $url; + $text = '' . $readmore . ''; + } + else + { + $text = ''; + } + + return $text; + } + + /** + * Loads the list of filled custom fields for this event + * + * @return array + * + * @since 3.6.0 + */ + public static function getCustomFields($id = null) + { + $customFields = icagendaEventData::loadEventCustomFields($id); + + foreach ($customFields as $cf) + { + if ($cf->title && $cf->value) + { + switch ($cf->type) + { + case 'url': + $cf->value = iCRender::urlTag($cf->value); + break; + + case 'email': + $cf->value = JHtml::_('email.cloak', $cf->value); + break; + + default: + $cf->value = JText::_($cf->value); + break; + } + } + + $cf->title = JText::_($cf->title); + } + + return $customFields; + } + + /** + * Function to get custom field groups of an event + * + * @param integer $id Event id + * + * @return array + * + * @since 3.6.0 + */ + public static function getCustomfieldGroups($id = null) + { + // Create a new query object. + $db = JFactory::getDbo(); + $query = $db->getQuery(true); + + $query->select('e.params') + ->from('#__icagenda_events AS e') + ->where($db->qn('id') . ' = ' . $db->q($id)); + $db->setQuery($query); + + $result = json_decode($db->loadResult()); + + if (isset($result->custom_form)) + { + return $result->custom_form; + } + + return false; + } + + /** + * Function to get event params + * + * @param integer $id Event id + * + * @return object + * + * @since 3.6.5 + */ + public static function getParams($id = null) + { + $db = JFactory::getDbo(); + + $query = $db->getQuery(true) + ->select('e.params') + ->from($db->qn('#__icagenda_events', 'e')) + ->where($db->qn('e.id') . ' = ' . (int) $id); + + $db->setQuery($query); + + $params = json_decode($db->loadResult(), true); + + $evtParams = new JRegistry($params); + + return $evtParams; + } + + public static function getCustomField($id, $field) + { + $db = JFactory::getDbo(); + + $query = $db->getQuery(true) + ->select('d.value') + ->from($db->qn('#__icagenda_customfields_data', 'd')) + ->where($db->qn('d.parent_id') . ' = ' . (int) $id) + ->where($db->qn('d.slug') . ' = "'.$field.'"'); + + $db->setQuery($query); + return $db->loadResult(); + } +} diff --git a/deployed/icagenda/administrator/components/com_icagenda/utilities/events/data.php b/deployed/icagenda/administrator/components/com_icagenda/utilities/events/data.php index cce82414..4930f456 100644 --- a/deployed/icagenda/administrator/components/com_icagenda/utilities/events/data.php +++ b/deployed/icagenda/administrator/components/com_icagenda/utilities/events/data.php @@ -1,1564 +1,1564 @@ -input; - $params = $app->getParams(); - - $search_filters = $params->get('search_filters', 0); - - if (!$moduleParams) { - $activeMenu = $app->getMenu()->getActive(); - - $menu_search_filters = $activeMenu - ? $activeMenu->params->get('search_filters') - : ''; - - $filters_mode = ($menu_search_filters == 1) - ? $params->get('filters_mode', 1) - : JComponentHelper::getParams('com_icagenda')->get('filters_mode', 1); - } else { - $menu_search_filters = '0'; - $filters_mode = ''; - } - - - // Filter time : upcoming, past, today... - $filterTime = ($filterTime == 'no') ? '0' : $filterTime; - - if ($menu_search_filters == 1) { - $filterTime = (isset($filterTime) || $filterTime == '0') - ? $filterTime - : (($menu_search_filters == 1) - ? $params->get('time', 1) - : JComponentHelper::getParams('com_icagenda')->get('time', 1)); - } else { - $filterTime = (isset($filterTime) || $filterTime == '0') - ? $filterTime - : $params->get('time', 1); - } - - // Dates display : all dates OR only next/last date per event - $datesDisplay = $datesDisplay ? $datesDisplay : $params->get('datesDisplay', 1); - - // Ordering : date order ASC OR DESC - $orderby = $orderby ? $orderby : $params->get('orderby', 2); - - // Filter category : multiple categories filtering - if ($mcatid !== 'all') { - $mcatid = $mcatid ? $mcatid : $params->get('mcatid', ''); - } - - // Set vars - $nodate = '0000-00-00 00:00:00'; - $ic_nodate = '0000-00-00 00:00'; - $eventTimeZone = null; - $datetime_today = JHtml::date('now', 'Y-m-d H:i'); // Joomla Time Zone - $date_today = JHtml::date('now', 'Y-m-d'); // Joomla Time Zone - - // Get Data - $db = Jfactory::getDbo(); - $query = $db->getQuery(true); - // $query->select('e.next, e.dates, e.startdate, e.enddate, e.period, e.weekdays, e.displaytime, e.id, e.catid'); - $query->select('e.*'); - $query->from('#__icagenda_events AS e'); - $query->leftJoin('#__icagenda_category AS c ON c.id = e.catid'); - $query->leftJoin('#__icagenda_customfields_data AS cfd ON cfd.parent_id = e.id'); - - // CATEGORY STATE Filtering - $query->where('c.state = 1'); - - // EVENT STATE Filtering - $query->where('e.state = 1'); - - // Search in current list (menu filtered list) - $currentListSearch = ($filters_mode == 1 && $search_filters); - - // Filter by category - if ($mcatid != 'all') { - // $filterCategory = $jinput->getInt('filter_category', ''); - $filterCategory = $moduleParams ? '' : $jinput->getInt('filter_category', ''); - - if (is_numeric($filterCategory) && !empty($filterCategory)) { - $query->where('e.catid = ' . $filterCategory . ''); - } elseif (is_array($filterCategory) && !empty($filterCategory) && !in_array('0', $filterCategory)) { - JArrayHelper::toInteger($filterCategory); - $categoryId = implode(',', $filterCategory); - $query->where('e.catid IN (' . $categoryId . ')'); - } - - // No category search filter active, use menu Filter by Category option - elseif (is_numeric($mcatid) && !empty($mcatid)) { - $query->where('e.catid = ' . $db->quote($mcatid)); - } elseif (is_array($mcatid) && !empty($mcatid) && !in_array('0', $mcatid)) { - JArrayHelper::toInteger($mcatid); - $list_catid = implode(',', $mcatid); - $query->where('e.catid IN (' . $list_catid . ')'); - } - - if ( - $jinput->get('filter_category') - && !$currentListSearch - && !$moduleParams - ) { - $filterTime = '0'; - } - } - - - // Frontend Search settings (not in modules) - if ($moduleParams) { - $filterFrom = ''; - $filterTo = ''; - $filterMonth = ''; - $filterYear = ''; - } else { - // Filter by search - $search = $jinput->getString('filter_search'); - - if (!empty($search)) { - // Check if Falang installed - $tag = JFactory::getLanguage()->getTag(); - $defaultSiteLang = JComponentHelper::getParams('com_languages')->get('site', 'en-GB'); - - //$falang = defined('FALANG_PATH'); - $falang = is_a($db, 'JFalangDatabase'); - - $falangSearch = ($falang && ($tag != $defaultSiteLang)); - - // Run Falang query if needed - if ($falang && $falangSearch) { - $query->join('LEFT', $db->quoteName('#__falang_content', 'f') . ' ON (' . $db->quoteName('f.reference_id') . ' = ' . $db->quoteName('e.id') . ')'); - $query->join('LEFT', $db->quoteName('#__languages', 'l') . ' ON (' . $db->quoteName('f.language_id') . ' = ' . $db->quoteName('l.lang_id') . ')'); - $query->where('f.reference_table IN (' . $db->quote('icagenda_events') . ', ' . $db->quote('icagenda_category') . ', ' . $db->quote('icagenda_customfields_data') . ')'); - $query->where('l.lang_code in (' . $db->quote($tag) . ',' . $db->quote('*') . ')'); - } - - if (stripos($search, 'id:') === 0) { - $query->where('e.id = ' . (int) substr($search, 3)); - } elseif ($falang && $falangSearch) { - $search = $db->quote('%' . str_replace(' ', '%', $db->escape(trim($search), true) . '%')); - $query->where('( f.value LIKE ' . $search . ')'); - } else { - $search = $db->quote('%' . str_replace(' ', '%', $db->escape(trim($search), true) . '%')); - - $query->where('( e.title LIKE ' . $search . - ' OR e.id LIKE ' . $search . - ' OR e.shortdesc LIKE ' . $search . - ' OR e.desc LIKE ' . $search . - ' OR e.place LIKE ' . $search . - ' OR e.address LIKE ' . $search . - ' OR e.city LIKE ' . $search . - ' OR e.country LIKE ' . $search . - ' OR c.title LIKE ' . $search . - ' OR cfd.value LIKE ' . $search . - ')'); - } - } - - // Get filters by dates - $filterFrom = $jinput->get('filter_from'); - $filterTo = $jinput->get('filter_to'); - $filterMonth = $jinput->getInt('filter_month'); - $filterYear = $jinput->getInt('filter_year'); - } - - // FEATURES Filtering - // $query->where(self::getFeaturesFilter()); - $query->where(icagendaEventsData::getFeaturesFilter($moduleParams)); - - // LANGUAGE Filtering - $query->where('e.language IN (' . $db->q(JFactory::getLanguage()->getTag()) . ',' . $db->q('*') . ')'); - - // ACCESS Filtering - $user = JFactory::getUser(); - $userID = $user->id; - $userLevels = $user->getAuthorisedViewLevels(); - $userGroups = $user->getAuthorisedGroups(); - - $groupid = JComponentHelper::getParams('com_icagenda')->get('approvalGroups', array("8")); - $groupid = is_array($groupid) ? $groupid : array($groupid); - - if (!in_array('8', $userGroups)) { - $useraccess = implode(', ', $userLevels); - $query->where('e.access IN (' . $useraccess . ')'); - } - - // APPROVAL RIGHTS Filtering - if ( - !array_intersect($userGroups, $groupid) - && !in_array('8', $userGroups) - ) { - $query->where('e.approval <> 1'); - } else { - $query->where('e.approval < 2'); - } - - // Prevents duplicated results when search in Falang category translations - $query->group('e.id'); - - $db->setQuery($query); - $list = $db->loadObjectList(); - - $list_all_dates = array(); - - foreach ($list as $i) { - $hasUpcomingDate = false; - - $i_id = $i->id; - $i_startdate = $i->startdate; - $i_enddate = $i->enddate; - $i_weekdays = $i->weekdays; - $i_dates = $i->dates; - $i_displaytime = $i->displaytime; - - // Declare AllDates array - $AllDatesDisplay = array(); - - // Get WeekDays Array - $WeeksDays = iCDatePeriod::weekdaysToArray($i_weekdays); - - // If Single Dates, added each one to All Dates for this event - $singledates = iCString::isSerialized($i_dates) ? unserialize($i_dates) : array(); - $singleDatesArray = array(); - - $no_filtering = '0'; - - foreach ($singledates as $sd) { - $isValid = iCDate::isDate($sd); - - if ($isValid) { - $date_Dat = JHtml::date($sd, 'Y-m-d', $eventTimeZone); - $SingleDate = JHtml::date($sd, 'Y-m-d H:i', $eventTimeZone); - - $data_SingleDate = date('Y-m-d H:i', strtotime($sd)); - - if (strtotime($sd) >= strtotime($datetime_today)) { - $hasUpcomingDate = true; - } - - // Frontend Filtering - if ( - !empty($filterFrom) - || !empty($filterTo) - || !empty($filterMonth) - || !empty($filterYear) - || !empty($search) - ) { - $dateToDisplay = true; - - $controlDate = $SingleDate; - - - // Filter by period - From - if (!empty($filterFrom) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; - } - - // Filter by period - To - if (!empty($filterTo) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) <= (strtotime($filterTo) + 86400)) ? true : false; - } - - // Filter by Month - if (!empty($filterMonth) && $dateToDisplay) { - $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; - } - - // Filter by Year - if (!empty($filterYear) && $dateToDisplay) { - $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; - } - - if ($currentListSearch && $dateToDisplay) { - $controlDate = $SingleDate; - - // (1) Filter Dates : Ongoing and Upcoming - if ($filterTime == 1) { - $dateToDisplay = (strtotime($controlDate) >= strtotime($date_today)) ? true : false; - } - // (2) Filter Dates : Past Dates - elseif ($filterTime == 2) { - $dateToDisplay = (strtotime($controlDate) < strtotime($datetime_today)) ? true : false; - } - // (3) Filter Dates : Upcoming - elseif ($filterTime == 3) { - $dateToDisplay = (strtotime($controlDate) > strtotime($datetime_today)) ? true : false; - } - // (4) Filter Dates : Ongoing Events today - elseif ($filterTime == 4) { - $dateToDisplay = ((strtotime($controlDate) >= strtotime($date_today)) - && (strtotime($controlDate) <= (strtotime($date_today) + 86400))) ? true : false; - } - } - - if ($dateToDisplay) { - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - } - - // All Dates for each event - elseif ($datesDisplay == 1) { - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - - // Current Today - elseif ( - $filterTime == 4 - && strtotime($SingleDate) >= strtotime($date_today) - ) { - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - - // Upcoming Events - elseif ( - $filterTime == 3 - && strtotime($SingleDate) > strtotime($datetime_today) - ) { - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - - // Past event - elseif ( - $filterTime == 2 - && strtotime($SingleDate) < strtotime($datetime_today) - ) { - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - - // Current and Upcoming Events - elseif ( - $filterTime == 1 - && strtotime($SingleDate) >= strtotime($date_today) - ) { - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - - // All Dates - elseif (!$filterTime) { - // All Upcoming dates - if (strtotime($SingleDate) >= strtotime($datetime_today)) { - $no_filtering = $no_filtering + 1; - - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - - // If no Upcoming dates, get the last date - elseif ( - $no_filtering == 0 - && strtotime($SingleDate) < strtotime($datetime_today) - ) { - $no_filtering = $no_filtering + 1; - - $singleDatesArray[] = $data_SingleDate . '_' . $i_id; - } - } - } - } - - if ( - $datesDisplay == 2 - && $filterTime == 2 - && count($singleDatesArray) > 0 - ) // Past Events - { - $AllDatesDisplay[] = max($singleDatesArray); - } elseif ( - $datesDisplay == 2 - && count($singleDatesArray) > 0 - ) { - $AllDatesDisplay[] = min($singleDatesArray); - } else { - $AllDatesDisplay = array_merge($AllDatesDisplay, $singleDatesArray); - } - - // If Period Dates, added each one to All Dates for this event (filter week Days, and if date not null) - $perioddates = iCDatePeriod::listDates($i_startdate, $i_enddate); - - $period_array = array(); - - foreach ($perioddates as $date_in_weekdays) { - if ( - in_array(date('w', strtotime($date_in_weekdays)), $WeeksDays) - && iCDate::isDate($date_in_weekdays) - ) { - $period_array[] = $date_in_weekdays; - } - } - - $only_startdate = ($i_weekdays || $i_weekdays == '0') ? false : true; - - $StDate = JHtml::date($i_startdate, 'Y-m-d H:i', $eventTimeZone); - $EnDate = JHtml::date($i_enddate, 'Y-m-d H:i', $eventTimeZone); - - $date_startdate = JHtml::date($i_startdate, 'Y-m-d', $eventTimeZone); - $date_enddate = JHtml::date($i_enddate, 'Y-m-d', $eventTimeZone); - $time_startdate = JHtml::date($i_startdate, 'H:i', $eventTimeZone); - $time_enddate = JHtml::date($i_enddate, 'H:i', $eventTimeZone); - - $data_StDate = date('Y-m-d H:i', strtotime($i_startdate)); - $data_time_startdate = date('H:i', strtotime($i_startdate)); - - if ( - isset($period_array) - && ($period_array != NULL && $period_array) - ) { - if ($only_startdate) { - // Frontend Filtering - if ( - !empty($filterFrom) - || !empty($filterTo) - || !empty($filterMonth) - || !empty($filterYear) - ) { - $dateToDisplay = true; - - // Full Period with no weekdays selected, ongoing events - $ongoing_filter = in_array($filterTime, array('1', '4')); - - if ( - $ongoing_filter - && in_array($date_today . ' ' . $time_startdate, $perioddates) - && strtotime($EnDate) >= strtotime($datetime_today) - && strtotime($StDate) <= strtotime($datetime_today) - ) { - $controlDate = $date_today; - } else { - $controlDate = $date_startdate; - } - - // Filter by period - From - if (!empty($filterFrom) && $dateToDisplay) { - // $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; - $dateToDisplay = ((strtotime($controlDate) >= strtotime($filterFrom)) - || ($ongoing_filter - && (strtotime($controlDate) <= strtotime($filterFrom)) - && (strtotime($date_enddate) >= strtotime($filterFrom)) - ) - ) ? true : false; - } - - // Filter by period - To - if (!empty($filterTo) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) < (strtotime($filterTo) + 86400)) ? true : false; - } - - // Filter by Month and/or Year - if (!empty($filterMonth) || !empty($filterYear)) { - $new_startdate = new DateTime($i_startdate); - $new_enddate = new DateTime($i_enddate); - $start = $new_startdate->modify('first day of this month'); - $end = $new_enddate->modify('last day of this month'); - $interval = DateInterval::createFromDateString('1 month'); - $period = new DatePeriod($start, $interval, $end); - } - - // Filter by Month - if (!empty($filterMonth) && empty($filterYear) && $dateToDisplay) { - // $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; - - $months_period = array(''); - - foreach ($period as $dt) { - $months_period[] = $dt->format('n'); - } - - $dateToDisplay = in_array($filterMonth, $months_period); - } - - // Filter by Year - if (!empty($filterYear) && empty($filterMonth) && $dateToDisplay) { - // $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; - - $years_period = array(''); - - foreach ($period as $dt) { - $years_period[] = $dt->format('Y'); - } - - $dateToDisplay = in_array($filterYear, $years_period); - } - - // Filter by Month & Year - if (!empty($filterMonth) && !empty($filterYear) && $dateToDisplay) { - // $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; - - $monthsYears_period = array(''); - - foreach ($period as $dt) { - $monthsYears_period[] = $dt->format('n-Y'); - } - - $dateToDisplay = in_array($filterMonth . '-' . $filterYear, $monthsYears_period); - } - - if ($dateToDisplay) { - $AllDatesDisplay[] = $data_StDate . '_' . $i_id; - } - } else { - $AllDatesDisplay[] = $data_StDate . '_' . $i_id; - } - } else { - $dp = 0; - $count_period = count($period_array); - $cp = 0; - $no_filtering = 0; - - foreach ($period_array as $Dat) { - $date_Dat = JHtml::date($Dat, 'Y-m-d', $eventTimeZone); - $SingleDate = JHtml::date($Dat, 'Y-m-d H:i', $eventTimeZone); - - $data_date_Dat = date('Y-m-d', strtotime($Dat)); - $data_SingleDate = date('Y-m-d H:i', strtotime($Dat)); - - if (strtotime($Dat) >= strtotime($datetime_today)) { - $hasUpcomingDate = true; - } - - if ( - in_array(date('w', strtotime($Dat)), $WeeksDays) - && $dp == 0 - ) { - // Frontend Filtering - if ( - !empty($filterFrom) - || !empty($filterTo) - || !empty($filterMonth) - || !empty($filterYear) - || !empty($search) - ) { - $dateToDisplay = true; - - $controlDate = $date_Dat; - - - // Filter by period - From - if (!empty($filterFrom) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; - } - - // Filter by period - To - if (!empty($filterTo) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) <= strtotime($filterTo)) ? true : false; - } - - // Filter by Month - if (!empty($filterMonth) && $dateToDisplay) { - $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; - } - - // Filter by Year - if (!empty($filterYear) && $dateToDisplay) { - $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; - } - - if ($currentListSearch && $dateToDisplay) { - // Full Period with no weekdays selected, ongoing events - if ( - $only_startdate - && in_array($filterTime, array('1', '4')) - && in_array($date_get_datetime, $perioddates) - && strtotime($EnDate) >= strtotime($datetime_today) - && strtotime($StDate) <= strtotime($datetime_today) - ) { - $controlDate = $datetime_today; - } else { - $controlDate = $SingleDate; - } - - // (1) Filter Dates : Ongoing and Upcoming - if ($filterTime == 1) { - $dateToDisplay = (strtotime($controlDate) >= strtotime($date_today)) ? true : false; - } - // (2) Filter Dates : Past Dates - elseif ($filterTime == 2) { - $dateToDisplay = (strtotime($controlDate) < strtotime($datetime_today)) ? true : false; - } - // (3) Filter Dates : Upcoming - elseif ($filterTime == 3) { - $dateToDisplay = (strtotime($controlDate) > strtotime($datetime_today)) ? true : false; - } - // (4) Filter Dates : Ongoing Events today - elseif ($filterTime == 4) { - $dateToDisplay = ((strtotime($controlDate) >= strtotime($date_today)) - && (strtotime($controlDate) < (strtotime($date_today) + 86400))) ? true : false; - } - } - - if ($dateToDisplay) { - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - } - - // Current Today and Upcoming Today - elseif ( - $filterTime == 4 - && strtotime($date_Dat) == strtotime($date_today) - ) { - if ( - $i_displaytime == 1 - && strtotime($date_Dat . ' ' . $time_enddate) >= strtotime($datetime_today) - ) { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } else { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - } - - // Upcoming - elseif ( - $filterTime == 3 - && strtotime($SingleDate) > strtotime($datetime_today) - ) { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - - // Past - elseif ( - $filterTime == 2 - && strtotime($date_Dat) < strtotime($date_today) - ) { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - - // Current Today and Upcoming - elseif ($filterTime == 1) { - if ( - $i_displaytime == 1 - && strtotime($date_Dat . ' ' . $time_enddate) >= strtotime($datetime_today) - ) { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } elseif ( - $i_displaytime != 1 - && strtotime($date_Dat) >= strtotime($date_today) - ) { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - } - - // No Filtering - elseif (!$filterTime) { - // All Upcoming dates - if (strtotime($SingleDate) >= strtotime($datetime_today)) { - $dp = ($datesDisplay == 2) ? $dp + 1 : 0; - $no_filtering = ($datesDisplay == 2) ? $no_filtering + 1 : 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - - // If no Upcoming dates, get the last date - elseif ( - $no_filtering == 0 && $datesDisplay == 2 - && strtotime($SingleDate) < strtotime($datetime_today) - ) { - $dp = $dp + 1; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - - // If display All Dates, get the last dates - elseif ( - $datesDisplay == 1 - && strtotime($SingleDate) < strtotime($datetime_today) - ) { - $dp = 0; - - $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; - } - } - } - } - } - } - - // If not All Dates display (select only one date for each event) - if ( - $datesDisplay == 2 - && count($AllDatesDisplay) > 0 - ) { - $ex_min = explode('_', min($AllDatesDisplay)); - $min_datetime = JHtml::date($ex_min[0], 'Y-m-d H:i', null); - $min_date = JHtml::date($ex_min[0], 'Y-m-d', null); - - $ex_max = explode('_', max($AllDatesDisplay)); - $max_date = JHtml::date($ex_max[0], 'Y-m-d H:i', null); - - if ($filterTime != '4') { - // Past Events and max date is upcoming - if ( - $filterTime == '2' - && $hasUpcomingDate - ) { - $AllDatesDisplay = array(); - } - - // min date is today or upcoming - elseif ( - $filterTime == '1' - && $min_datetime >= $date_today - ) { - $AllDatesDisplay = array(min($AllDatesDisplay)); - } - - // min date is upcoming - elseif ($min_datetime >= $datetime_today) { - $AllDatesDisplay = array(min($AllDatesDisplay)); - } - - // All events - elseif ($filterTime == '0') { - // min date in Period and upcoming - if ( - in_array($min_datetime, $period_array) - && $min_datetime >= $datetime_today - ) { - $AllDatesDisplay = array(min($AllDatesDisplay)); - } - - // min date is Single date and not past - elseif ( - !in_array($min_datetime, $period_array) - && ($min_datetime > $datetime_today) - ) { - $AllDatesDisplay = array(min($AllDatesDisplay)); - } - - // min date is Single date and past - else { - $AllDatesDisplay = array(max($AllDatesDisplay)); - } - } else { - $AllDatesDisplay = array(max($AllDatesDisplay)); - } - } else { - $AllDatesDisplay = array(min($AllDatesDisplay)); - } - } - - $AllDatesFilterTime = array(); - - - foreach ($AllDatesDisplay as $fD) { - $ex_date = explode('_', $fD); - $get_date = $ex_date['0']; - $date_get_date = JHtml::date($get_date, 'Y-m-d', $eventTimeZone); - $date_get_datetime = JHtml::date($get_date, 'Y-m-d H:i', $eventTimeZone); - $data_date_get_date = date('Y-m-d', strtotime($get_date)); - - // Frontend Filtering - if ( - !empty($filterFrom) - || !empty($filterTo) - || !empty($filterMonth) - || !empty($filterYear) - || !empty($search) - ) { - $dateToDisplay = true; - $controlDate = $date_get_date; - - // Filter by period - From - if (!empty($filterFrom) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; - } - - // Filter by period - To - if (!empty($filterTo) && $dateToDisplay) { - $dateToDisplay = (strtotime($controlDate) <= strtotime($filterTo)) ? true : false; - } - - // Filter by Month - if (!empty($filterMonth) && $dateToDisplay) { - $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; - } - - // Filter by Year - if (!empty($filterYear) && $dateToDisplay) { - $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; - } - - if ($currentListSearch) { - // Full Period with no weekdays selected, ongoing events - if ( - $only_startdate - && in_array($filterTime, array('1', '4')) - && in_array($date_get_datetime, $perioddates) - && strtotime($EnDate) >= strtotime($datetime_today) - && strtotime($StDate) <= strtotime($datetime_today) - ) { - $controlDate = $datetime_today; - } else { - $controlDate = $date_get_datetime; - } - - // (1) Filter Dates : Ongoing and Upcoming - if ($filterTime == 1) { - $dateToDisplay = (strtotime($controlDate) >= strtotime($date_today)) ? true : false; - } - // (2) Filter Dates : Past Dates - elseif ($filterTime == 2) { - $dateToDisplay = (strtotime($controlDate) < strtotime($datetime_today)) ? true : false; - } - // (3) Filter Dates : Upcoming - elseif ($filterTime == 3) { - $dateToDisplay = (strtotime($controlDate) > strtotime($datetime_today)) ? true : false; - } - // (4) Filter Dates : Ongoing Events today - elseif ($filterTime == 4) { - $dateToDisplay = ((strtotime($controlDate) >= strtotime($date_today)) - && (strtotime($controlDate) < (strtotime($date_today) + 86400))) ? true : false; - } - } - - if ($dateToDisplay) { - $AllDatesFilterTime[] = $fD; - } - } - - // (0) Filter Dates : All Dates - elseif ($filterTime == 0) { - // Period with no weekdays selected - if ( - in_array($get_date, $perioddates) - && $only_startdate - && !in_array($StDate . '_' . $i_id, $AllDatesFilterTime) - ) { - $AllDatesFilterTime[] = $data_StDate . '_' . $i_id; - } - - // Period with weekdays selected - elseif ( - in_array($get_date, $perioddates) - && !$only_startdate - ) { - $AllDatesFilterTime[] = $fD; - } - - // Single Dates - elseif (!in_array($get_date, $perioddates)) { - $AllDatesFilterTime[] = $fD; - } - } - - // (1) Filter Dates : Ongoing and Upcoming - elseif ($filterTime == 1) { - // Period with no weekdays selected - if ( - in_array($get_date, $perioddates) - && $only_startdate - && strtotime($EnDate) >= strtotime($datetime_today) - && !in_array($StDate . '_' . $i_id, $AllDatesFilterTime) - ) { - $AllDatesFilterTime[] = $data_StDate . '_' . $i_id; - } - - // Period with weekdays selected - elseif ( - in_array($get_date, $perioddates) - && !$only_startdate - ) { - // If display time, control end time of the day - if ( - $i_displaytime == 1 - && strtotime($date_get_date . ' ' . $time_enddate) >= strtotime($datetime_today) - ) { - $AllDatesFilterTime[] = $fD; - } - - // If do not display time, control start time of the day - elseif ( - $i_displaytime != 1 - && strtotime($date_get_date) >= strtotime($date_today) - ) { - $AllDatesFilterTime[] = $fD; - } - } - - // Single Dates - elseif ( - !in_array($get_date, $perioddates) - // && strtotime($get_date) >= strtotime($datetime_today) - // Changed because single dates have no end time, so admitted end time is midnight. - && strtotime($get_date) >= strtotime($date_today) - ) { - $AllDatesFilterTime[] = $fD; - } - } - - // (2) Filter Dates : Past Dates - elseif ($filterTime == 2) { - // Period with no weekdays selected - if ( - in_array($get_date, $perioddates) - && $only_startdate - && (strtotime($EnDate) < strtotime($datetime_today)) - ) { - $AllDatesFilterTime[] = $fD; - } - - // Period with weekdays selected - elseif ( - in_array($get_date, $perioddates) - && !$only_startdate - && strtotime($get_date) < strtotime($datetime_today) - && strtotime($date_get_date . ' ' . $time_enddate) < strtotime($datetime_today) - ) { - $AllDatesFilterTime[] = $fD; - } - - // Single Dates - elseif ( - !in_array($get_date, $perioddates) - && strtotime($get_date) < strtotime($datetime_today) - ) { - $AllDatesFilterTime[] = $fD; - } - } - - // (3) Filter Dates : Upcoming - elseif ($filterTime == 3) { - // Period with no weekdays selected - if ( - in_array($get_date, $perioddates) - && $only_startdate - && (strtotime($StDate) > strtotime($datetime_today)) - ) { - $AllDatesFilterTime[] = $fD; - } - - // Period with weekdays selected - elseif ( - in_array($get_date, $perioddates) - && !$only_startdate - && strtotime($get_date) > strtotime($datetime_today) - && strtotime($date_get_date . ' ' . $time_startdate) > strtotime($datetime_today) - ) { - $AllDatesFilterTime[] = $fD; - } - - // Single Dates - elseif ( - !in_array($get_date, $perioddates) - && strtotime($get_date) > strtotime($datetime_today) - ) { - $AllDatesFilterTime[] = $fD; - } - } - - // (4) Filter Dates : Ongoing Events today - elseif ($filterTime == 4) { - // Period with no weekdays selected - if ( - in_array($get_date, $perioddates) - && $only_startdate - && strtotime($EnDate) > strtotime($datetime_today) - && strtotime($StDate) < (strtotime($date_today) + 86400) - ) { - $AllDatesFilterTime[] = $data_date_get_date . ' ' . $data_time_startdate . '_' . $i_id; - } - - // Period with weekdays selected - elseif ( - in_array($get_date, $perioddates) - && !$only_startdate - && (strtotime($date_get_date) == strtotime($date_today) - && strtotime($date_get_date . ' ' . $time_enddate) < (strtotime($date_today) + 86400)) - ) { - $AllDatesFilterTime[] = $fD; - } - - // Single Dates - elseif ( - !in_array($get_date, $perioddates) - // && ( strtotime($get_date) >= strtotime($datetime_today) - // Changed because single dates have no end time, so admitted end time is midnight. - && (strtotime($get_date) >= strtotime($date_today) - && strtotime($get_date) < (strtotime($date_today) + 86400)) - ) { - $AllDatesFilterTime[] = $fD; - } - } - } - - $list_all_dates = array_merge($list_all_dates, $AllDatesFilterTime); - } - - if ($orderby == 2) { - sort($list_all_dates); - } else { - rsort($list_all_dates); - } - - return $list_all_dates; - } - - /** - * Get and update NEXT DATE - * - * @since 3.5.4 - */ - - public static function getNext() - { - $app = JFactory::getApplication(); - $params = $app->getParams(); - - // Get Settings - $filterTime = $params->get('time', 1); - - // Set vars - $nodate = '0000-00-00 00:00:00'; - $eventTimeZone = null; - $datetime_today = JHtml::date('now', 'Y-m-d H:i:s'); // Joomla Time Zone - $date_today = JHtml::date('now', 'Y-m-d'); // Joomla Time Zone - $time_today = JHtml::date('now', 'H:i:s'); // Joomla Time Zone - - // Preparing connection to db - $db = Jfactory::getDbo(); - - // Preparing the query - $query = $db->getQuery(true); - - $query->select('next AS tNext, dates AS tDates, startdate AS tStartdate, enddate AS tEnddate, - weekdays AS tWeekdays, id AS tId, state AS tState, access AS tAccess'); - $query->from('#__icagenda_events AS e'); - // $query->where(' e.state = 1 OR e.state = 0 '); - $query->where('e.state = 1'); - $query->where('e.next < ' . $db->quote($datetime_today) . ' AND e.next > (DATE(NOW() - INTERVAL 2 MONTH))'); - // $query->where('e.next < ' . $db->quote($datetime_today)); - $db->setQuery($query); - - $all_next_dates = $db->loadObjectList(); - - foreach ($all_next_dates as $nd) { - $nd_next = $nd->tNext; - $nd_id = $nd->tId; - $nd_state = $nd->tState; - $nd_dates = $nd->tDates; - $nd_startdate = $nd->tStartdate; - $nd_enddate = $nd->tEnddate; - $nd_weekdays = $nd->tWeekdays; - - // If Single Dates, added to all dates for this event - $singleDates = iCString::isSerialized($nd_dates) ? unserialize($nd_dates) : array(); - - $AllDates = array(); - - // Get WeekDays Array - $WeeksDays = iCDatePeriod::weekdaysToArray($nd_weekdays); - - if ( - isset($singleDates) - && $singleDates != NULL - && !in_array($nodate, $singleDates) - && !in_array('', $singleDates) - ) { - $AllDates = array_merge($AllDates, $singleDates); - } elseif (in_array('', $singleDates)) { - $datesarray = array(); - $nodate = array('0000-00-00 00:00'); - $datesmerger = array_push($datesarray, $nodate); - $DatesUpdate = serialize($nodate); - - $query = $db->getQuery(true); - $query->update('#__icagenda_events'); - $query->set("dates='" . (string)$DatesUpdate . "'"); - $query->where('id=' . (int)$nd_id); - $db->setQuery($query); - $db->query($query); - - $nosingledates = unserialize($DatesUpdate); - $AllDates = array_merge($AllDates, $nosingledates); - } - - $StDate = date('Y-m-d H:i', strtotime($nd_startdate)); - $EnDate = date('Y-m-d H:i', strtotime($nd_enddate)); - - $date_enddate = date('Y-m-d', strtotime($nd_enddate)); - $time_enddate = date('H:i', strtotime($nd_enddate)); - $date_startdate = date('Y-m-d', strtotime($nd_startdate)); - $time_startdate = date('H:i', strtotime($nd_startdate)); - - $perioddates = iCDatePeriod::listDates($nd_startdate, $nd_enddate); - - $only_startdate = ($nd_weekdays || $nd_weekdays == '0') ? false : true; - - if ( - isset($perioddates) - && $perioddates != NULL - ) { - // Period with no weekdays in Upcoming and Past options - if ( - $only_startdate - && ($filterTime == '3' || $filterTime == '2') - ) { - array_push($AllDates, $StDate); - } else { - foreach ($perioddates as $Dat) { - if (in_array(date('w', strtotime($Dat)), $WeeksDays)) { - $date_Dat = date('Y-m-d', strtotime($Dat)); - $SingleDate = date('Y-m-d H:i', strtotime($Dat)); - - if ($date_Dat == $date_today && $filterTime != 3) { - // Next in Period is today, so set end time - array_push($AllDates, $date_Dat . ' ' . $time_startdate); - } else { - array_push($AllDates, $SingleDate); - } - } - } - } - } - - rsort($AllDates); - - if ($AllDates == NULL) { - $next = '0000-00-00 00:00:00'; - } else { - $date_lastdate = date('Y-m-d', strtotime($AllDates[0])); - $datetime_lastdate = date('Y-m-d H:i:s', strtotime($AllDates[0])); - - $date_startdate = date('Y-m-d', strtotime($nd_startdate)); - $date_enddate = date('Y-m-d', strtotime($nd_enddate)); - - $time_startdate = date('H:i:s', strtotime($nd_startdate)); - $time_enddate = date('H:i:s', strtotime($nd_enddate)); - - $returnNext = $nd_next; - - $next_is_set = '0'; - - $today_upcoming_SD = '0'; - $upcoming_SD = '0'; - - foreach ($AllDates as $a) { - $tsdate_a = date('Y-m-d', strtotime($a)); - - if ($tsdate_a == $date_today) { - // All single dates today and not yet started - $today_upcoming_SD = (strtotime($a) > strtotime($datetime_today)) ? ($today_upcoming_SD + 1) : $today_upcoming_SD; - } - - if ($tsdate_a >= $datetime_today) { - // All upcoming single dates - $upcoming_SD = $upcoming_SD + 1; - } - } - - $total_today_SD = $today_upcoming_SD; - - foreach ($AllDates as $a) { - $tsdatetime_a = date('Y-m-d H:i:s', strtotime($a)); - $tsdate_a = date('Y-m-d', strtotime($a)); - - // Only past single dates - if ( - $datetime_lastdate < $datetime_today - && $date_lastdate != $date_today - && $next_is_set == '0' - ) { - $returnNext = date('Y-m-d H:i:s', strtotime($AllDates[0])); - $next_is_set = $next_is_set + 1; - } - - // The last date is today - elseif ( - $date_lastdate == $date_today - && $next_is_set == '0' - && $total_today_SD == 1 - ) { - // Period divided into days - if ( - $nd_startdate != $nodate - && $nd_enddate != $nodate - && in_array($a, $perioddates) - && !$only_startdate - ) { - $returnNext = date('Y-m-d', strtotime($nd_enddate)) . ' ' . $time_startdate; - $next_is_set = $next_is_set + 1; - } - - // Full period (from ... to ...) - elseif ( - $nd_startdate != $nodate - && $nd_enddate != $nodate - && in_array($a, $perioddates) - && $only_startdate - ) { - $returnNext = date('Y-m-d', strtotime($nd_startdate)) . ' ' . $time_startdate; - $next_is_set = $next_is_set + 1; - } - - // Single date - else { - if ($datetime_lastdate > $datetime_today) { - $today_upcoming_SD = $today_upcoming_SD - 1; - } - - if ( - $datetime_lastdate > $datetime_today - && $today_upcoming_SD == '0' - ) { - $returnNext = date('Y-m-d H:i:s', strtotime($AllDates[0])); - $next_is_set = $next_is_set + 1; - } - } - } - - // Multiple upcoming single dates - // elseif ($tsdatetime_a > $datetime_today) - // Changed because single dates have no end time, so admitted end time is midnight. - elseif ( - $tsdatetime_a > $date_today - && $next_is_set == '0' - ) { - // Remaining Today's upcoming dates - if ($tsdate_a == $date_today) { - if ($tsdatetime_a > $datetime_today) { - $today_upcoming_SD = $today_upcoming_SD - 1; - } - } - - // Remaining Upcoming dates - if ($tsdate_a >= $datetime_today) { - $upcoming_SD = $upcoming_SD - 1; - } - - if ( - $today_upcoming_SD == '0' - && $upcoming_SD == '0' - ) { - $returnNext = date('Y-m-d H:i:s', strtotime($a)); - $next_is_set = $next_is_set + 1; - } - } - } - - // Test End Date if Next Date or Last Date (3.1.5) - $date_returnNext = date('Y-m-d', strtotime($returnNext)); - $time_returnNext = date('H:i:s', strtotime($returnNext)); - - if (($date_enddate != '0000-00-00') - && ($date_today == $date_enddate || $date_today == $date_returnNext) - ) { - $time_LastTime = $time_startdate; - } else { - $time_LastTime = $time_returnNext; - } - - // Fix 3.1.12 (removed isset($tPeriod)) - if (($nd_enddate != $nodate) - && ($date_startdate < $date_today) - && ($date_enddate == $date_today) - && ($time_LastTime >= $time_today) - ) { - $returnNextPediod = date('Y-m-d', strtotime($nd_enddate)) . ' ' . $time_startdate; - } else { - $returnNextPediod = $returnNext; - } - - // Set next var - if (($date_returnNext == $date_enddate) - && ($date_enddate == $date_today) - ) { - $next = $returnNextPediod; - } elseif ( - strtotime($date_startdate) < strtotime($date_today) - && strtotime($date_enddate) >= strtotime($date_today) - && strtotime($time_enddate) != strtotime($time_returnNext) - && strtotime($time_LastTime) > strtotime($time_today) - ) { - $next = $date_returnNext . ' ' . date('H:i:s', strtotime($time_LastTime)); - } else { - $next = $returnNext; - } - } - // 3.1.12 Fixed and update events with bug - if ( - $nd_next == $nodate - && $nd_state == 0 - && $nd_startdate != $nodate - && $nd_enddate != $nodate - && strtotime($nd_enddate) >= strtotime($nd_startdate) - ) { - $next = $returnNext; - - $query = $db->getQuery(true); - $query->update('#__icagenda_events'); - $query->set('state=1'); - $query->where('id=' . (int)$nd_id); - $db->setQuery($query); - $db->query($query); - } - - if ($next != $nd_next) { - $query = $db->getQuery(true); - $query->update('#__icagenda_events'); - $query->set("next='" . $next . "'"); - $query->where('id=' . (int)$nd_id); - $db->setQuery($query); - $db->query($query); - } - } - } - - /** - * Returns the element of a SQL query WHERE clause to support filtering the selection of Events using Event Features - * - * Controlled by menu parameters: - * features_filter - array of Feature IDs - * features_incl_excl - indicates whether the Feature IDs are to be used to include or exclude Events - * features_any_all - indicates whether any Feature ID or all Feature IDs required to include or exclude an Event - * - * One or more sub-queries is referenced in a WHERE clause with IN() or NOT IN() to include or exclude Events. - * - * If any Feature ID in isolation is to include or exclude Event records then a single sub-query is used that - * uses a simple inner join between the feature and feature_xref tables to identify the distinct set of Event IDs - * linked to any one of the spacific Feature IDs. - * - * If all Feature IDs combined are required to include or exclude Events then separate sub-queries are used for - * each of the spacific Feature IDs. For this case, a more efficient option is available involving a direct join - * with either an inner or outer join, according to whether records are being included or excluded but this - * puts an unreasonable constraint on the overall syntax of the query. - */ - public static function getFeaturesFilter($params = null) - { - // Get the params - if (!$params) { - $app = JFactory::getApplication(); - $params = $app->getParams(); - } - - // Initialise a return value that can be included harmlessly in a WHERE clause, if necessary - $filter = ' TRUE '; - $featureids = $params->get('features_filter', ''); - - if (is_array($featureids) && !empty($featureids)) { - $db = Jfactory::getDbo(); - $incl_excl = $params->get('features_incl_excl', '1') == '1' ? '' : 'NOT'; - - if ($params->get('features_any_all', '1') == '1') { - // Any single Feature ID will include or exclude events - // Create comma separated list of Feature IDs - $featureids = implode(',', $featureids); - // Create a single sub-query - $sub_query = $db->getQuery(true); - $sub_query->select('fx.event_id') - ->from('#__icagenda_feature_xref AS fx') - ->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.show_filter=1 AND f.id IN($featureids)"); - // Join the sub-query to the main query - $filter = "(e.id $incl_excl IN(" . (string) $sub_query . '))'; - } else { - // All Feature IDs combined will include or exclude events - // Create a separate sub-query for each of the Feature IDs - $sub_queries = array(); - - foreach ($featureids as $featureid) { - $sub_query = $db->getQuery(true); - $sub_query->select('fx.event_id') - ->from('#__icagenda_feature_xref AS fx') - ->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.show_filter=1 AND f.id=$featureid"); - $sub_queries[] = "e.id $incl_excl IN(" . (string) $sub_query . ')'; - } - - // Combine the sub-queries depending on inclusion or exclusion of events - $filter = "(" . implode($incl_excl == 'NOT' ? " \nOR " : " \nAND ", $sub_queries) . ')'; - } - } - - return $filter; - } - - /** - * Return Array of all registrations from an event (date@@people) - * date : registered date - * people : nb of tickets for this registration - * - * @since 3.5.0 - * @version 3.6.6 - */ - public static function registeredList($id = null) - { - // Registrations total - $db = Jfactory::getDbo(); - $query = $db->getQuery(true); - $query->select('r.date AS date, r.period AS period, r.eventid AS eventid, r.people AS people'); - $query->from('#__icagenda_registration AS r'); - $query->where('r.state = 1'); - - if ($id) { - $query->where('r.eventid = ' . $db->q($id)); - } - - $db->setQuery($query); - $result = $db->loadObjectList(); - - $registeredList = array(); - - foreach ($result as $r) { - $reg_date = $r->date ? $r->date : 'period'; - $registeredList[] = $r->eventid . '@@' . $reg_date . '@@' . $r->period . '@@' . $r->people; - } - - return $registeredList; - } - - /** - * Return list of all dates (singles and period) from an event - * - * @since 3.5.0 (Not Yet Used) - */ - public static function thisEventDates($id) - { - // Set vars - $nodate = '0000-00-00 00:00:00'; - $ic_nodate = '0000-00-00 00:00'; - $eventTimeZone = null; - - // Get Data - $db = Jfactory::getDbo(); - $query = $db->getQuery(true); - $query->select('e.next, e.dates, e.startdate, e.enddate, e.period, e.weekdays, e.displaytime, e.id'); - $query->from('#__icagenda_events AS e'); - $query->leftJoin('#__icagenda_category AS c ON c.id = e.catid'); - $query->where('c.state = 1'); - $query->where('e.id = ' . $db->q($id)); - $db->setQuery($query); - $result = $db->loadObjectList(); - - // Get Data - $tId = $id; - $tDates = $result->dates; - $tStartdate = $result->startdate; - $tEnddate = $result->enddate; - $tWeekdays = $result->weekdays; - - // Declare AllDates array - $thisEventDates = array(); - - // Get WeekDays Array - $WeeksDays = iCDatePeriod::weekdaysToArray($tWeekdays); - - // If Single Dates, added each one to All Dates for this event - $singledates = unserialize($tDates); - - foreach ($singledates as $sd) { - $isValid = iCDate::isDate($sd); - - if ($isValid) { - array_push($thisEventDates, $sd); - } - } - - $perioddates = iCDatePeriod::listDates($tStartdate, $tEnddate, $eventTimeZone); - - if ( - isset($perioddates) - && $perioddates != NULL - ) { - foreach ($perioddates as $Dat) { - if (in_array(date('w', strtotime($Dat)), $WeeksDays)) { - $isValid = iCDate::isDate($Dat); - - if ($isValid) { - $SingleDate = date('Y-m-d H:i:s', strtotime($Dat)); - - array_push($thisEventDates, $SingleDate); - } - } - } - } - - return $thisEventDates; - } - - public static function getAllTimeZone($decrease = 0) - { - $zones_array = array(); - $timestamp = strtotime('-1 hour'); - foreach (timezone_identifiers_list() as $key => $zone) { - date_default_timezone_set($zone); - $zones_array[$key]['zone'] = $zone; - $zones_array[$key]['offset'] = (int) ((int) date('O', $timestamp)) / 100 - $decrease; - $zones_array[$key]['diff_from_GMT'] = 'GMT' . date('P', $timestamp); - $zones_array[$key]['id'] = date('O', $timestamp) / 100 - $decrease . '_' . $zone; - } - - return $zones_array; - } - - public static function changeDate($offset = 0, &$nextDate, &$endDate) - { - if ($offset != 0) { - if (strpos($offset, '.3') !== false || strpos($offset, '.45') !== false) { - if (strpos($offset, '.3') !== false) - $offset .= '0'; - - $prefix = substr($offset, 0, 1) == '-' ? '-' : '+'; - $minuteOffset = $text = explode('.', $offset, 2); - - $nextDate = new DateTime($nextDate); - $nextDate->modify($minuteOffset[0] . ' hours'); - $nextDate->modify($prefix . $minuteOffset[1] . ' minutes'); - - $endDate = new DateTime($endDate); - $endDate->modify($minuteOffset[0] . ' hours'); - $endDate->modify($prefix . $minuteOffset[1] . ' minutes'); - } else { - $nextDate = new DateTime($nextDate); - $nextDate->modify($offset . ' hours'); - - $endDate = new DateTime($endDate); - $endDate->modify($offset . ' hours'); - } - - $nextDate = $nextDate->format('Y-m-d H:i:s'); - $endDate = $endDate->format('Y-m-d H:i:s'); - } - } -} +input; + $params = $app->getParams(); + + $search_filters = $params->get('search_filters', 0); + + if (!$moduleParams) { + $activeMenu = $app->getMenu()->getActive(); + + $menu_search_filters = $activeMenu + ? $activeMenu->params->get('search_filters') + : ''; + + $filters_mode = ($menu_search_filters == 1) + ? $params->get('filters_mode', 1) + : JComponentHelper::getParams('com_icagenda')->get('filters_mode', 1); + } else { + $menu_search_filters = '0'; + $filters_mode = ''; + } + + + // Filter time : upcoming, past, today... + $filterTime = ($filterTime == 'no') ? '0' : $filterTime; + + if ($menu_search_filters == 1) { + $filterTime = (isset($filterTime) || $filterTime == '0') + ? $filterTime + : (($menu_search_filters == 1) + ? $params->get('time', 1) + : JComponentHelper::getParams('com_icagenda')->get('time', 1)); + } else { + $filterTime = (isset($filterTime) || $filterTime == '0') + ? $filterTime + : $params->get('time', 1); + } + + // Dates display : all dates OR only next/last date per event + $datesDisplay = $datesDisplay ? $datesDisplay : $params->get('datesDisplay', 1); + + // Ordering : date order ASC OR DESC + $orderby = $orderby ? $orderby : $params->get('orderby', 2); + + // Filter category : multiple categories filtering + if ($mcatid !== 'all') { + $mcatid = $mcatid ? $mcatid : $params->get('mcatid', ''); + } + + // Set vars + $nodate = '0000-00-00 00:00:00'; + $ic_nodate = '0000-00-00 00:00'; + $eventTimeZone = null; + $datetime_today = JHtml::date('now', 'Y-m-d H:i'); // Joomla Time Zone + $date_today = JHtml::date('now', 'Y-m-d'); // Joomla Time Zone + + // Get Data + $db = Jfactory::getDbo(); + $query = $db->getQuery(true); + // $query->select('e.next, e.dates, e.startdate, e.enddate, e.period, e.weekdays, e.displaytime, e.id, e.catid'); + $query->select('e.*'); + $query->from('#__icagenda_events AS e'); + $query->leftJoin('#__icagenda_category AS c ON c.id = e.catid'); + $query->leftJoin('#__icagenda_customfields_data AS cfd ON cfd.parent_id = e.id'); + + // CATEGORY STATE Filtering + $query->where('c.state = 1'); + + // EVENT STATE Filtering + $query->where('e.state = 1'); + + // Search in current list (menu filtered list) + $currentListSearch = ($filters_mode == 1 && $search_filters); + + // Filter by category + if ($mcatid != 'all') { + // $filterCategory = $jinput->getInt('filter_category', ''); + $filterCategory = $moduleParams ? '' : $jinput->getInt('filter_category', ''); + + if (is_numeric($filterCategory) && !empty($filterCategory)) { + $query->where('e.catid = ' . $filterCategory . ''); + } elseif (is_array($filterCategory) && !empty($filterCategory) && !in_array('0', $filterCategory)) { + JArrayHelper::toInteger($filterCategory); + $categoryId = implode(',', $filterCategory); + $query->where('e.catid IN (' . $categoryId . ')'); + } + + // No category search filter active, use menu Filter by Category option + elseif (is_numeric($mcatid) && !empty($mcatid)) { + $query->where('e.catid = ' . $db->quote($mcatid)); + } elseif (is_array($mcatid) && !empty($mcatid) && !in_array('0', $mcatid)) { + JArrayHelper::toInteger($mcatid); + $list_catid = implode(',', $mcatid); + $query->where('e.catid IN (' . $list_catid . ')'); + } + + if ( + $jinput->get('filter_category') + && !$currentListSearch + && !$moduleParams + ) { + $filterTime = '0'; + } + } + + + // Frontend Search settings (not in modules) + if ($moduleParams) { + $filterFrom = ''; + $filterTo = ''; + $filterMonth = ''; + $filterYear = ''; + } else { + // Filter by search + $search = $jinput->getString('filter_search'); + + if (!empty($search)) { + // Check if Falang installed + $tag = JFactory::getLanguage()->getTag(); + $defaultSiteLang = JComponentHelper::getParams('com_languages')->get('site', 'en-GB'); + + //$falang = defined('FALANG_PATH'); + $falang = is_a($db, 'JFalangDatabase'); + + $falangSearch = ($falang && ($tag != $defaultSiteLang)); + + // Run Falang query if needed + if ($falang && $falangSearch) { + $query->join('LEFT', $db->quoteName('#__falang_content', 'f') . ' ON (' . $db->quoteName('f.reference_id') . ' = ' . $db->quoteName('e.id') . ')'); + $query->join('LEFT', $db->quoteName('#__languages', 'l') . ' ON (' . $db->quoteName('f.language_id') . ' = ' . $db->quoteName('l.lang_id') . ')'); + $query->where('f.reference_table IN (' . $db->quote('icagenda_events') . ', ' . $db->quote('icagenda_category') . ', ' . $db->quote('icagenda_customfields_data') . ')'); + $query->where('l.lang_code in (' . $db->quote($tag) . ',' . $db->quote('*') . ')'); + } + + if (stripos($search, 'id:') === 0) { + $query->where('e.id = ' . (int) substr($search, 3)); + } elseif ($falang && $falangSearch) { + $search = $db->quote('%' . str_replace(' ', '%', $db->escape(trim($search), true) . '%')); + $query->where('( f.value LIKE ' . $search . ')'); + } else { + $search = $db->quote('%' . str_replace(' ', '%', $db->escape(trim($search), true) . '%')); + + $query->where('( e.title LIKE ' . $search . + ' OR e.id LIKE ' . $search . + ' OR e.shortdesc LIKE ' . $search . + ' OR e.desc LIKE ' . $search . + ' OR e.place LIKE ' . $search . + ' OR e.address LIKE ' . $search . + ' OR e.city LIKE ' . $search . + ' OR e.country LIKE ' . $search . + ' OR c.title LIKE ' . $search . + ' OR cfd.value LIKE ' . $search . + ')'); + } + } + + // Get filters by dates + $filterFrom = $jinput->get('filter_from'); + $filterTo = $jinput->get('filter_to'); + $filterMonth = $jinput->getInt('filter_month'); + $filterYear = $jinput->getInt('filter_year'); + } + + // FEATURES Filtering + // $query->where(self::getFeaturesFilter()); + $query->where(icagendaEventsData::getFeaturesFilter($moduleParams)); + + // LANGUAGE Filtering + $query->where('e.language IN (' . $db->q(JFactory::getLanguage()->getTag()) . ',' . $db->q('*') . ')'); + + // ACCESS Filtering + $user = JFactory::getUser(); + $userID = $user->id; + $userLevels = $user->getAuthorisedViewLevels(); + $userGroups = $user->getAuthorisedGroups(); + + $groupid = JComponentHelper::getParams('com_icagenda')->get('approvalGroups', array("8")); + $groupid = is_array($groupid) ? $groupid : array($groupid); + + if (!in_array('8', $userGroups)) { + $useraccess = implode(', ', $userLevels); + $query->where('e.access IN (' . $useraccess . ')'); + } + + // APPROVAL RIGHTS Filtering + if ( + !array_intersect($userGroups, $groupid) + && !in_array('8', $userGroups) + ) { + $query->where('e.approval <> 1'); + } else { + $query->where('e.approval < 2'); + } + + // Prevents duplicated results when search in Falang category translations + $query->group('e.id'); + + $db->setQuery($query); + $list = $db->loadObjectList(); + + $list_all_dates = array(); + + foreach ($list as $i) { + $hasUpcomingDate = false; + + $i_id = $i->id; + $i_startdate = $i->startdate; + $i_enddate = $i->enddate; + $i_weekdays = $i->weekdays; + $i_dates = $i->dates; + $i_displaytime = $i->displaytime; + + // Declare AllDates array + $AllDatesDisplay = array(); + + // Get WeekDays Array + $WeeksDays = iCDatePeriod::weekdaysToArray($i_weekdays); + + // If Single Dates, added each one to All Dates for this event + $singledates = iCString::isSerialized($i_dates) ? unserialize($i_dates) : array(); + $singleDatesArray = array(); + + $no_filtering = '0'; + + foreach ($singledates as $sd) { + $isValid = iCDate::isDate($sd); + + if ($isValid) { + $date_Dat = JHtml::date($sd, 'Y-m-d', $eventTimeZone); + $SingleDate = JHtml::date($sd, 'Y-m-d H:i', $eventTimeZone); + + $data_SingleDate = date('Y-m-d H:i', strtotime($sd)); + + if (strtotime($sd) >= strtotime($datetime_today)) { + $hasUpcomingDate = true; + } + + // Frontend Filtering + if ( + !empty($filterFrom) + || !empty($filterTo) + || !empty($filterMonth) + || !empty($filterYear) + || !empty($search) + ) { + $dateToDisplay = true; + + $controlDate = $SingleDate; + + + // Filter by period - From + if (!empty($filterFrom) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; + } + + // Filter by period - To + if (!empty($filterTo) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) <= (strtotime($filterTo) + 86400)) ? true : false; + } + + // Filter by Month + if (!empty($filterMonth) && $dateToDisplay) { + $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; + } + + // Filter by Year + if (!empty($filterYear) && $dateToDisplay) { + $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; + } + + if ($currentListSearch && $dateToDisplay) { + $controlDate = $SingleDate; + + // (1) Filter Dates : Ongoing and Upcoming + if ($filterTime == 1) { + $dateToDisplay = (strtotime($controlDate) >= strtotime($date_today)) ? true : false; + } + // (2) Filter Dates : Past Dates + elseif ($filterTime == 2) { + $dateToDisplay = (strtotime($controlDate) < strtotime($datetime_today)) ? true : false; + } + // (3) Filter Dates : Upcoming + elseif ($filterTime == 3) { + $dateToDisplay = (strtotime($controlDate) > strtotime($datetime_today)) ? true : false; + } + // (4) Filter Dates : Ongoing Events today + elseif ($filterTime == 4) { + $dateToDisplay = ((strtotime($controlDate) >= strtotime($date_today)) + && (strtotime($controlDate) <= (strtotime($date_today) + 86400))) ? true : false; + } + } + + if ($dateToDisplay) { + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + } + + // All Dates for each event + elseif ($datesDisplay == 1) { + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + + // Current Today + elseif ( + $filterTime == 4 + && strtotime($SingleDate) >= strtotime($date_today) + ) { + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + + // Upcoming Events + elseif ( + $filterTime == 3 + && strtotime($SingleDate) > strtotime($datetime_today) + ) { + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + + // Past event + elseif ( + $filterTime == 2 + && strtotime($SingleDate) < strtotime($datetime_today) + ) { + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + + // Current and Upcoming Events + elseif ( + $filterTime == 1 + && strtotime($SingleDate) >= strtotime($date_today) + ) { + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + + // All Dates + elseif (!$filterTime) { + // All Upcoming dates + if (strtotime($SingleDate) >= strtotime($datetime_today)) { + $no_filtering = $no_filtering + 1; + + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + + // If no Upcoming dates, get the last date + elseif ( + $no_filtering == 0 + && strtotime($SingleDate) < strtotime($datetime_today) + ) { + $no_filtering = $no_filtering + 1; + + $singleDatesArray[] = $data_SingleDate . '_' . $i_id; + } + } + } + } + + if ( + $datesDisplay == 2 + && $filterTime == 2 + && count($singleDatesArray) > 0 + ) // Past Events + { + $AllDatesDisplay[] = max($singleDatesArray); + } elseif ( + $datesDisplay == 2 + && count($singleDatesArray) > 0 + ) { + $AllDatesDisplay[] = min($singleDatesArray); + } else { + $AllDatesDisplay = array_merge($AllDatesDisplay, $singleDatesArray); + } + + // If Period Dates, added each one to All Dates for this event (filter week Days, and if date not null) + $perioddates = iCDatePeriod::listDates($i_startdate, $i_enddate); + + $period_array = array(); + + foreach ($perioddates as $date_in_weekdays) { + if ( + in_array(date('w', strtotime($date_in_weekdays)), $WeeksDays) + && iCDate::isDate($date_in_weekdays) + ) { + $period_array[] = $date_in_weekdays; + } + } + + $only_startdate = ($i_weekdays || $i_weekdays == '0') ? false : true; + + $StDate = JHtml::date($i_startdate, 'Y-m-d H:i', $eventTimeZone); + $EnDate = JHtml::date($i_enddate, 'Y-m-d H:i', $eventTimeZone); + + $date_startdate = JHtml::date($i_startdate, 'Y-m-d', $eventTimeZone); + $date_enddate = JHtml::date($i_enddate, 'Y-m-d', $eventTimeZone); + $time_startdate = JHtml::date($i_startdate, 'H:i', $eventTimeZone); + $time_enddate = JHtml::date($i_enddate, 'H:i', $eventTimeZone); + + $data_StDate = date('Y-m-d H:i', strtotime($i_startdate)); + $data_time_startdate = date('H:i', strtotime($i_startdate)); + + if ( + isset($period_array) + && ($period_array != NULL && $period_array) + ) { + if ($only_startdate) { + // Frontend Filtering + if ( + !empty($filterFrom) + || !empty($filterTo) + || !empty($filterMonth) + || !empty($filterYear) + ) { + $dateToDisplay = true; + + // Full Period with no weekdays selected, ongoing events + $ongoing_filter = in_array($filterTime, array('1', '4')); + + if ( + $ongoing_filter + && in_array($date_today . ' ' . $time_startdate, $perioddates) + && strtotime($EnDate) >= strtotime($datetime_today) + && strtotime($StDate) <= strtotime($datetime_today) + ) { + $controlDate = $date_today; + } else { + $controlDate = $date_startdate; + } + + // Filter by period - From + if (!empty($filterFrom) && $dateToDisplay) { + // $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; + $dateToDisplay = ((strtotime($controlDate) >= strtotime($filterFrom)) + || ($ongoing_filter + && (strtotime($controlDate) <= strtotime($filterFrom)) + && (strtotime($date_enddate) >= strtotime($filterFrom)) + ) + ) ? true : false; + } + + // Filter by period - To + if (!empty($filterTo) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) < (strtotime($filterTo) + 86400)) ? true : false; + } + + // Filter by Month and/or Year + if (!empty($filterMonth) || !empty($filterYear)) { + $new_startdate = new DateTime($i_startdate); + $new_enddate = new DateTime($i_enddate); + $start = $new_startdate->modify('first day of this month'); + $end = $new_enddate->modify('last day of this month'); + $interval = DateInterval::createFromDateString('1 month'); + $period = new DatePeriod($start, $interval, $end); + } + + // Filter by Month + if (!empty($filterMonth) && empty($filterYear) && $dateToDisplay) { + // $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; + + $months_period = array(''); + + foreach ($period as $dt) { + $months_period[] = $dt->format('n'); + } + + $dateToDisplay = in_array($filterMonth, $months_period); + } + + // Filter by Year + if (!empty($filterYear) && empty($filterMonth) && $dateToDisplay) { + // $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; + + $years_period = array(''); + + foreach ($period as $dt) { + $years_period[] = $dt->format('Y'); + } + + $dateToDisplay = in_array($filterYear, $years_period); + } + + // Filter by Month & Year + if (!empty($filterMonth) && !empty($filterYear) && $dateToDisplay) { + // $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; + + $monthsYears_period = array(''); + + foreach ($period as $dt) { + $monthsYears_period[] = $dt->format('n-Y'); + } + + $dateToDisplay = in_array($filterMonth . '-' . $filterYear, $monthsYears_period); + } + + if ($dateToDisplay) { + $AllDatesDisplay[] = $data_StDate . '_' . $i_id; + } + } else { + $AllDatesDisplay[] = $data_StDate . '_' . $i_id; + } + } else { + $dp = 0; + $count_period = count($period_array); + $cp = 0; + $no_filtering = 0; + + foreach ($period_array as $Dat) { + $date_Dat = JHtml::date($Dat, 'Y-m-d', $eventTimeZone); + $SingleDate = JHtml::date($Dat, 'Y-m-d H:i', $eventTimeZone); + + $data_date_Dat = date('Y-m-d', strtotime($Dat)); + $data_SingleDate = date('Y-m-d H:i', strtotime($Dat)); + + if (strtotime($Dat) >= strtotime($datetime_today)) { + $hasUpcomingDate = true; + } + + if ( + in_array(date('w', strtotime($Dat)), $WeeksDays) + && $dp == 0 + ) { + // Frontend Filtering + if ( + !empty($filterFrom) + || !empty($filterTo) + || !empty($filterMonth) + || !empty($filterYear) + || !empty($search) + ) { + $dateToDisplay = true; + + $controlDate = $date_Dat; + + + // Filter by period - From + if (!empty($filterFrom) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; + } + + // Filter by period - To + if (!empty($filterTo) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) <= strtotime($filterTo)) ? true : false; + } + + // Filter by Month + if (!empty($filterMonth) && $dateToDisplay) { + $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; + } + + // Filter by Year + if (!empty($filterYear) && $dateToDisplay) { + $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; + } + + if ($currentListSearch && $dateToDisplay) { + // Full Period with no weekdays selected, ongoing events + if ( + $only_startdate + && in_array($filterTime, array('1', '4')) + && in_array($date_get_datetime, $perioddates) + && strtotime($EnDate) >= strtotime($datetime_today) + && strtotime($StDate) <= strtotime($datetime_today) + ) { + $controlDate = $datetime_today; + } else { + $controlDate = $SingleDate; + } + + // (1) Filter Dates : Ongoing and Upcoming + if ($filterTime == 1) { + $dateToDisplay = (strtotime($controlDate) >= strtotime($date_today)) ? true : false; + } + // (2) Filter Dates : Past Dates + elseif ($filterTime == 2) { + $dateToDisplay = (strtotime($controlDate) < strtotime($datetime_today)) ? true : false; + } + // (3) Filter Dates : Upcoming + elseif ($filterTime == 3) { + $dateToDisplay = (strtotime($controlDate) > strtotime($datetime_today)) ? true : false; + } + // (4) Filter Dates : Ongoing Events today + elseif ($filterTime == 4) { + $dateToDisplay = ((strtotime($controlDate) >= strtotime($date_today)) + && (strtotime($controlDate) < (strtotime($date_today) + 86400))) ? true : false; + } + } + + if ($dateToDisplay) { + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + } + + // Current Today and Upcoming Today + elseif ( + $filterTime == 4 + && strtotime($date_Dat) == strtotime($date_today) + ) { + if ( + $i_displaytime == 1 + && strtotime($date_Dat . ' ' . $time_enddate) >= strtotime($datetime_today) + ) { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } else { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + } + + // Upcoming + elseif ( + $filterTime == 3 + && strtotime($SingleDate) > strtotime($datetime_today) + ) { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + + // Past + elseif ( + $filterTime == 2 + && strtotime($date_Dat) < strtotime($date_today) + ) { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + + // Current Today and Upcoming + elseif ($filterTime == 1) { + if ( + $i_displaytime == 1 + && strtotime($date_Dat . ' ' . $time_enddate) >= strtotime($datetime_today) + ) { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } elseif ( + $i_displaytime != 1 + && strtotime($date_Dat) >= strtotime($date_today) + ) { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + } + + // No Filtering + elseif (!$filterTime) { + // All Upcoming dates + if (strtotime($SingleDate) >= strtotime($datetime_today)) { + $dp = ($datesDisplay == 2) ? $dp + 1 : 0; + $no_filtering = ($datesDisplay == 2) ? $no_filtering + 1 : 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + + // If no Upcoming dates, get the last date + elseif ( + $no_filtering == 0 && $datesDisplay == 2 + && strtotime($SingleDate) < strtotime($datetime_today) + ) { + $dp = $dp + 1; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + + // If display All Dates, get the last dates + elseif ( + $datesDisplay == 1 + && strtotime($SingleDate) < strtotime($datetime_today) + ) { + $dp = 0; + + $AllDatesDisplay[] = $data_SingleDate . '_' . $i_id; + } + } + } + } + } + } + + // If not All Dates display (select only one date for each event) + if ( + $datesDisplay == 2 + && count($AllDatesDisplay) > 0 + ) { + $ex_min = explode('_', min($AllDatesDisplay)); + $min_datetime = JHtml::date($ex_min[0], 'Y-m-d H:i', null); + $min_date = JHtml::date($ex_min[0], 'Y-m-d', null); + + $ex_max = explode('_', max($AllDatesDisplay)); + $max_date = JHtml::date($ex_max[0], 'Y-m-d H:i', null); + + if ($filterTime != '4') { + // Past Events and max date is upcoming + if ( + $filterTime == '2' + && $hasUpcomingDate + ) { + $AllDatesDisplay = array(); + } + + // min date is today or upcoming + elseif ( + $filterTime == '1' + && $min_datetime >= $date_today + ) { + $AllDatesDisplay = array(min($AllDatesDisplay)); + } + + // min date is upcoming + elseif ($min_datetime >= $datetime_today) { + $AllDatesDisplay = array(min($AllDatesDisplay)); + } + + // All events + elseif ($filterTime == '0') { + // min date in Period and upcoming + if ( + in_array($min_datetime, $period_array) + && $min_datetime >= $datetime_today + ) { + $AllDatesDisplay = array(min($AllDatesDisplay)); + } + + // min date is Single date and not past + elseif ( + !in_array($min_datetime, $period_array) + && ($min_datetime > $datetime_today) + ) { + $AllDatesDisplay = array(min($AllDatesDisplay)); + } + + // min date is Single date and past + else { + $AllDatesDisplay = array(max($AllDatesDisplay)); + } + } else { + $AllDatesDisplay = array(max($AllDatesDisplay)); + } + } else { + $AllDatesDisplay = array(min($AllDatesDisplay)); + } + } + + $AllDatesFilterTime = array(); + + + foreach ($AllDatesDisplay as $fD) { + $ex_date = explode('_', $fD); + $get_date = $ex_date['0']; + $date_get_date = JHtml::date($get_date, 'Y-m-d', $eventTimeZone); + $date_get_datetime = JHtml::date($get_date, 'Y-m-d H:i', $eventTimeZone); + $data_date_get_date = date('Y-m-d', strtotime($get_date)); + + // Frontend Filtering + if ( + !empty($filterFrom) + || !empty($filterTo) + || !empty($filterMonth) + || !empty($filterYear) + || !empty($search) + ) { + $dateToDisplay = true; + $controlDate = $date_get_date; + + // Filter by period - From + if (!empty($filterFrom) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) >= strtotime($filterFrom)) ? true : false; + } + + // Filter by period - To + if (!empty($filterTo) && $dateToDisplay) { + $dateToDisplay = (strtotime($controlDate) <= strtotime($filterTo)) ? true : false; + } + + // Filter by Month + if (!empty($filterMonth) && $dateToDisplay) { + $dateToDisplay = (date('n', strtotime($controlDate)) == $filterMonth) ? true : false; + } + + // Filter by Year + if (!empty($filterYear) && $dateToDisplay) { + $dateToDisplay = (date('Y', strtotime($controlDate)) == $filterYear) ? true : false; + } + + if ($currentListSearch) { + // Full Period with no weekdays selected, ongoing events + if ( + $only_startdate + && in_array($filterTime, array('1', '4')) + && in_array($date_get_datetime, $perioddates) + && strtotime($EnDate) >= strtotime($datetime_today) + && strtotime($StDate) <= strtotime($datetime_today) + ) { + $controlDate = $datetime_today; + } else { + $controlDate = $date_get_datetime; + } + + // (1) Filter Dates : Ongoing and Upcoming + if ($filterTime == 1) { + $dateToDisplay = (strtotime($controlDate) >= strtotime($date_today)) ? true : false; + } + // (2) Filter Dates : Past Dates + elseif ($filterTime == 2) { + $dateToDisplay = (strtotime($controlDate) < strtotime($datetime_today)) ? true : false; + } + // (3) Filter Dates : Upcoming + elseif ($filterTime == 3) { + $dateToDisplay = (strtotime($controlDate) > strtotime($datetime_today)) ? true : false; + } + // (4) Filter Dates : Ongoing Events today + elseif ($filterTime == 4) { + $dateToDisplay = ((strtotime($controlDate) >= strtotime($date_today)) + && (strtotime($controlDate) < (strtotime($date_today) + 86400))) ? true : false; + } + } + + if ($dateToDisplay) { + $AllDatesFilterTime[] = $fD; + } + } + + // (0) Filter Dates : All Dates + elseif ($filterTime == 0) { + // Period with no weekdays selected + if ( + in_array($get_date, $perioddates) + && $only_startdate + && !in_array($StDate . '_' . $i_id, $AllDatesFilterTime) + ) { + $AllDatesFilterTime[] = $data_StDate . '_' . $i_id; + } + + // Period with weekdays selected + elseif ( + in_array($get_date, $perioddates) + && !$only_startdate + ) { + $AllDatesFilterTime[] = $fD; + } + + // Single Dates + elseif (!in_array($get_date, $perioddates)) { + $AllDatesFilterTime[] = $fD; + } + } + + // (1) Filter Dates : Ongoing and Upcoming + elseif ($filterTime == 1) { + // Period with no weekdays selected + if ( + in_array($get_date, $perioddates) + && $only_startdate + && strtotime($EnDate) >= strtotime($datetime_today) + && !in_array($StDate . '_' . $i_id, $AllDatesFilterTime) + ) { + $AllDatesFilterTime[] = $data_StDate . '_' . $i_id; + } + + // Period with weekdays selected + elseif ( + in_array($get_date, $perioddates) + && !$only_startdate + ) { + // If display time, control end time of the day + if ( + $i_displaytime == 1 + && strtotime($date_get_date . ' ' . $time_enddate) >= strtotime($datetime_today) + ) { + $AllDatesFilterTime[] = $fD; + } + + // If do not display time, control start time of the day + elseif ( + $i_displaytime != 1 + && strtotime($date_get_date) >= strtotime($date_today) + ) { + $AllDatesFilterTime[] = $fD; + } + } + + // Single Dates + elseif ( + !in_array($get_date, $perioddates) + // && strtotime($get_date) >= strtotime($datetime_today) + // Changed because single dates have no end time, so admitted end time is midnight. + && strtotime($get_date) >= strtotime($date_today) + ) { + $AllDatesFilterTime[] = $fD; + } + } + + // (2) Filter Dates : Past Dates + elseif ($filterTime == 2) { + // Period with no weekdays selected + if ( + in_array($get_date, $perioddates) + && $only_startdate + && (strtotime($EnDate) < strtotime($datetime_today)) + ) { + $AllDatesFilterTime[] = $fD; + } + + // Period with weekdays selected + elseif ( + in_array($get_date, $perioddates) + && !$only_startdate + && strtotime($get_date) < strtotime($datetime_today) + && strtotime($date_get_date . ' ' . $time_enddate) < strtotime($datetime_today) + ) { + $AllDatesFilterTime[] = $fD; + } + + // Single Dates + elseif ( + !in_array($get_date, $perioddates) + && strtotime($get_date) < strtotime($datetime_today) + ) { + $AllDatesFilterTime[] = $fD; + } + } + + // (3) Filter Dates : Upcoming + elseif ($filterTime == 3) { + // Period with no weekdays selected + if ( + in_array($get_date, $perioddates) + && $only_startdate + && (strtotime($StDate) > strtotime($datetime_today)) + ) { + $AllDatesFilterTime[] = $fD; + } + + // Period with weekdays selected + elseif ( + in_array($get_date, $perioddates) + && !$only_startdate + && strtotime($get_date) > strtotime($datetime_today) + && strtotime($date_get_date . ' ' . $time_startdate) > strtotime($datetime_today) + ) { + $AllDatesFilterTime[] = $fD; + } + + // Single Dates + elseif ( + !in_array($get_date, $perioddates) + && strtotime($get_date) > strtotime($datetime_today) + ) { + $AllDatesFilterTime[] = $fD; + } + } + + // (4) Filter Dates : Ongoing Events today + elseif ($filterTime == 4) { + // Period with no weekdays selected + if ( + in_array($get_date, $perioddates) + && $only_startdate + && strtotime($EnDate) > strtotime($datetime_today) + && strtotime($StDate) < (strtotime($date_today) + 86400) + ) { + $AllDatesFilterTime[] = $data_date_get_date . ' ' . $data_time_startdate . '_' . $i_id; + } + + // Period with weekdays selected + elseif ( + in_array($get_date, $perioddates) + && !$only_startdate + && (strtotime($date_get_date) == strtotime($date_today) + && strtotime($date_get_date . ' ' . $time_enddate) < (strtotime($date_today) + 86400)) + ) { + $AllDatesFilterTime[] = $fD; + } + + // Single Dates + elseif ( + !in_array($get_date, $perioddates) + // && ( strtotime($get_date) >= strtotime($datetime_today) + // Changed because single dates have no end time, so admitted end time is midnight. + && (strtotime($get_date) >= strtotime($date_today) + && strtotime($get_date) < (strtotime($date_today) + 86400)) + ) { + $AllDatesFilterTime[] = $fD; + } + } + } + + $list_all_dates = array_merge($list_all_dates, $AllDatesFilterTime); + } + + if ($orderby == 2) { + sort($list_all_dates); + } else { + rsort($list_all_dates); + } + + return $list_all_dates; + } + + /** + * Get and update NEXT DATE + * + * @since 3.5.4 + */ + + public static function getNext() + { + $app = JFactory::getApplication(); + $params = $app->getParams(); + + // Get Settings + $filterTime = $params->get('time', 1); + + // Set vars + $nodate = '0000-00-00 00:00:00'; + $eventTimeZone = null; + $datetime_today = JHtml::date('now', 'Y-m-d H:i:s'); // Joomla Time Zone + $date_today = JHtml::date('now', 'Y-m-d'); // Joomla Time Zone + $time_today = JHtml::date('now', 'H:i:s'); // Joomla Time Zone + + // Preparing connection to db + $db = Jfactory::getDbo(); + + // Preparing the query + $query = $db->getQuery(true); + + $query->select('next AS tNext, dates AS tDates, startdate AS tStartdate, enddate AS tEnddate, + weekdays AS tWeekdays, id AS tId, state AS tState, access AS tAccess'); + $query->from('#__icagenda_events AS e'); + // $query->where(' e.state = 1 OR e.state = 0 '); + $query->where('e.state = 1'); + $query->where('e.next < ' . $db->quote($datetime_today) . ' AND e.next > (DATE(NOW() - INTERVAL 2 MONTH))'); + // $query->where('e.next < ' . $db->quote($datetime_today)); + $db->setQuery($query); + + $all_next_dates = $db->loadObjectList(); + + foreach ($all_next_dates as $nd) { + $nd_next = $nd->tNext; + $nd_id = $nd->tId; + $nd_state = $nd->tState; + $nd_dates = $nd->tDates; + $nd_startdate = $nd->tStartdate; + $nd_enddate = $nd->tEnddate; + $nd_weekdays = $nd->tWeekdays; + + // If Single Dates, added to all dates for this event + $singleDates = iCString::isSerialized($nd_dates) ? unserialize($nd_dates) : array(); + + $AllDates = array(); + + // Get WeekDays Array + $WeeksDays = iCDatePeriod::weekdaysToArray($nd_weekdays); + + if ( + isset($singleDates) + && $singleDates != NULL + && !in_array($nodate, $singleDates) + && !in_array('', $singleDates) + ) { + $AllDates = array_merge($AllDates, $singleDates); + } elseif (in_array('', $singleDates)) { + $datesarray = array(); + $nodate = array('0000-00-00 00:00'); + $datesmerger = array_push($datesarray, $nodate); + $DatesUpdate = serialize($nodate); + + $query = $db->getQuery(true); + $query->update('#__icagenda_events'); + $query->set("dates='" . (string)$DatesUpdate . "'"); + $query->where('id=' . (int)$nd_id); + $db->setQuery($query); + $db->query($query); + + $nosingledates = unserialize($DatesUpdate); + $AllDates = array_merge($AllDates, $nosingledates); + } + + $StDate = date('Y-m-d H:i', strtotime($nd_startdate)); + $EnDate = date('Y-m-d H:i', strtotime($nd_enddate)); + + $date_enddate = date('Y-m-d', strtotime($nd_enddate)); + $time_enddate = date('H:i', strtotime($nd_enddate)); + $date_startdate = date('Y-m-d', strtotime($nd_startdate)); + $time_startdate = date('H:i', strtotime($nd_startdate)); + + $perioddates = iCDatePeriod::listDates($nd_startdate, $nd_enddate); + + $only_startdate = ($nd_weekdays || $nd_weekdays == '0') ? false : true; + + if ( + isset($perioddates) + && $perioddates != NULL + ) { + // Period with no weekdays in Upcoming and Past options + if ( + $only_startdate + && ($filterTime == '3' || $filterTime == '2') + ) { + array_push($AllDates, $StDate); + } else { + foreach ($perioddates as $Dat) { + if (in_array(date('w', strtotime($Dat)), $WeeksDays)) { + $date_Dat = date('Y-m-d', strtotime($Dat)); + $SingleDate = date('Y-m-d H:i', strtotime($Dat)); + + if ($date_Dat == $date_today && $filterTime != 3) { + // Next in Period is today, so set end time + array_push($AllDates, $date_Dat . ' ' . $time_startdate); + } else { + array_push($AllDates, $SingleDate); + } + } + } + } + } + + rsort($AllDates); + + if ($AllDates == NULL) { + $next = '0000-00-00 00:00:00'; + } else { + $date_lastdate = date('Y-m-d', strtotime($AllDates[0])); + $datetime_lastdate = date('Y-m-d H:i:s', strtotime($AllDates[0])); + + $date_startdate = date('Y-m-d', strtotime($nd_startdate)); + $date_enddate = date('Y-m-d', strtotime($nd_enddate)); + + $time_startdate = date('H:i:s', strtotime($nd_startdate)); + $time_enddate = date('H:i:s', strtotime($nd_enddate)); + + $returnNext = $nd_next; + + $next_is_set = '0'; + + $today_upcoming_SD = '0'; + $upcoming_SD = '0'; + + foreach ($AllDates as $a) { + $tsdate_a = date('Y-m-d', strtotime($a)); + + if ($tsdate_a == $date_today) { + // All single dates today and not yet started + $today_upcoming_SD = (strtotime($a) > strtotime($datetime_today)) ? ($today_upcoming_SD + 1) : $today_upcoming_SD; + } + + if ($tsdate_a >= $datetime_today) { + // All upcoming single dates + $upcoming_SD = $upcoming_SD + 1; + } + } + + $total_today_SD = $today_upcoming_SD; + + foreach ($AllDates as $a) { + $tsdatetime_a = date('Y-m-d H:i:s', strtotime($a)); + $tsdate_a = date('Y-m-d', strtotime($a)); + + // Only past single dates + if ( + $datetime_lastdate < $datetime_today + && $date_lastdate != $date_today + && $next_is_set == '0' + ) { + $returnNext = date('Y-m-d H:i:s', strtotime($AllDates[0])); + $next_is_set = $next_is_set + 1; + } + + // The last date is today + elseif ( + $date_lastdate == $date_today + && $next_is_set == '0' + && $total_today_SD == 1 + ) { + // Period divided into days + if ( + $nd_startdate != $nodate + && $nd_enddate != $nodate + && in_array($a, $perioddates) + && !$only_startdate + ) { + $returnNext = date('Y-m-d', strtotime($nd_enddate)) . ' ' . $time_startdate; + $next_is_set = $next_is_set + 1; + } + + // Full period (from ... to ...) + elseif ( + $nd_startdate != $nodate + && $nd_enddate != $nodate + && in_array($a, $perioddates) + && $only_startdate + ) { + $returnNext = date('Y-m-d', strtotime($nd_startdate)) . ' ' . $time_startdate; + $next_is_set = $next_is_set + 1; + } + + // Single date + else { + if ($datetime_lastdate > $datetime_today) { + $today_upcoming_SD = $today_upcoming_SD - 1; + } + + if ( + $datetime_lastdate > $datetime_today + && $today_upcoming_SD == '0' + ) { + $returnNext = date('Y-m-d H:i:s', strtotime($AllDates[0])); + $next_is_set = $next_is_set + 1; + } + } + } + + // Multiple upcoming single dates + // elseif ($tsdatetime_a > $datetime_today) + // Changed because single dates have no end time, so admitted end time is midnight. + elseif ( + $tsdatetime_a > $date_today + && $next_is_set == '0' + ) { + // Remaining Today's upcoming dates + if ($tsdate_a == $date_today) { + if ($tsdatetime_a > $datetime_today) { + $today_upcoming_SD = $today_upcoming_SD - 1; + } + } + + // Remaining Upcoming dates + if ($tsdate_a >= $datetime_today) { + $upcoming_SD = $upcoming_SD - 1; + } + + if ( + $today_upcoming_SD == '0' + && $upcoming_SD == '0' + ) { + $returnNext = date('Y-m-d H:i:s', strtotime($a)); + $next_is_set = $next_is_set + 1; + } + } + } + + // Test End Date if Next Date or Last Date (3.1.5) + $date_returnNext = date('Y-m-d', strtotime($returnNext)); + $time_returnNext = date('H:i:s', strtotime($returnNext)); + + if (($date_enddate != '0000-00-00') + && ($date_today == $date_enddate || $date_today == $date_returnNext) + ) { + $time_LastTime = $time_startdate; + } else { + $time_LastTime = $time_returnNext; + } + + // Fix 3.1.12 (removed isset($tPeriod)) + if (($nd_enddate != $nodate) + && ($date_startdate < $date_today) + && ($date_enddate == $date_today) + && ($time_LastTime >= $time_today) + ) { + $returnNextPediod = date('Y-m-d', strtotime($nd_enddate)) . ' ' . $time_startdate; + } else { + $returnNextPediod = $returnNext; + } + + // Set next var + if (($date_returnNext == $date_enddate) + && ($date_enddate == $date_today) + ) { + $next = $returnNextPediod; + } elseif ( + strtotime($date_startdate) < strtotime($date_today) + && strtotime($date_enddate) >= strtotime($date_today) + && strtotime($time_enddate) != strtotime($time_returnNext) + && strtotime($time_LastTime) > strtotime($time_today) + ) { + $next = $date_returnNext . ' ' . date('H:i:s', strtotime($time_LastTime)); + } else { + $next = $returnNext; + } + } + // 3.1.12 Fixed and update events with bug + if ( + $nd_next == $nodate + && $nd_state == 0 + && $nd_startdate != $nodate + && $nd_enddate != $nodate + && strtotime($nd_enddate) >= strtotime($nd_startdate) + ) { + $next = $returnNext; + + $query = $db->getQuery(true); + $query->update('#__icagenda_events'); + $query->set('state=1'); + $query->where('id=' . (int)$nd_id); + $db->setQuery($query); + $db->query($query); + } + + if ($next != $nd_next) { + $query = $db->getQuery(true); + $query->update('#__icagenda_events'); + $query->set("next='" . $next . "'"); + $query->where('id=' . (int)$nd_id); + $db->setQuery($query); + $db->query($query); + } + } + } + + /** + * Returns the element of a SQL query WHERE clause to support filtering the selection of Events using Event Features + * + * Controlled by menu parameters: + * features_filter - array of Feature IDs + * features_incl_excl - indicates whether the Feature IDs are to be used to include or exclude Events + * features_any_all - indicates whether any Feature ID or all Feature IDs required to include or exclude an Event + * + * One or more sub-queries is referenced in a WHERE clause with IN() or NOT IN() to include or exclude Events. + * + * If any Feature ID in isolation is to include or exclude Event records then a single sub-query is used that + * uses a simple inner join between the feature and feature_xref tables to identify the distinct set of Event IDs + * linked to any one of the spacific Feature IDs. + * + * If all Feature IDs combined are required to include or exclude Events then separate sub-queries are used for + * each of the spacific Feature IDs. For this case, a more efficient option is available involving a direct join + * with either an inner or outer join, according to whether records are being included or excluded but this + * puts an unreasonable constraint on the overall syntax of the query. + */ + public static function getFeaturesFilter($params = null) + { + // Get the params + if (!$params) { + $app = JFactory::getApplication(); + $params = $app->getParams(); + } + + // Initialise a return value that can be included harmlessly in a WHERE clause, if necessary + $filter = ' TRUE '; + $featureids = $params->get('features_filter', ''); + + if (is_array($featureids) && !empty($featureids)) { + $db = Jfactory::getDbo(); + $incl_excl = $params->get('features_incl_excl', '1') == '1' ? '' : 'NOT'; + + if ($params->get('features_any_all', '1') == '1') { + // Any single Feature ID will include or exclude events + // Create comma separated list of Feature IDs + $featureids = implode(',', $featureids); + // Create a single sub-query + $sub_query = $db->getQuery(true); + $sub_query->select('fx.event_id') + ->from('#__icagenda_feature_xref AS fx') + ->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.show_filter=1 AND f.id IN($featureids)"); + // Join the sub-query to the main query + $filter = "(e.id $incl_excl IN(" . (string) $sub_query . '))'; + } else { + // All Feature IDs combined will include or exclude events + // Create a separate sub-query for each of the Feature IDs + $sub_queries = array(); + + foreach ($featureids as $featureid) { + $sub_query = $db->getQuery(true); + $sub_query->select('fx.event_id') + ->from('#__icagenda_feature_xref AS fx') + ->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.show_filter=1 AND f.id=$featureid"); + $sub_queries[] = "e.id $incl_excl IN(" . (string) $sub_query . ')'; + } + + // Combine the sub-queries depending on inclusion or exclusion of events + $filter = "(" . implode($incl_excl == 'NOT' ? " \nOR " : " \nAND ", $sub_queries) . ')'; + } + } + + return $filter; + } + + /** + * Return Array of all registrations from an event (date@@people) + * date : registered date + * people : nb of tickets for this registration + * + * @since 3.5.0 + * @version 3.6.6 + */ + public static function registeredList($id = null) + { + // Registrations total + $db = Jfactory::getDbo(); + $query = $db->getQuery(true); + $query->select('r.date AS date, r.period AS period, r.eventid AS eventid, r.people AS people'); + $query->from('#__icagenda_registration AS r'); + $query->where('r.state = 1'); + + if ($id) { + $query->where('r.eventid = ' . $db->q($id)); + } + + $db->setQuery($query); + $result = $db->loadObjectList(); + + $registeredList = array(); + + foreach ($result as $r) { + $reg_date = $r->date ? $r->date : 'period'; + $registeredList[] = $r->eventid . '@@' . $reg_date . '@@' . $r->period . '@@' . $r->people; + } + + return $registeredList; + } + + /** + * Return list of all dates (singles and period) from an event + * + * @since 3.5.0 (Not Yet Used) + */ + public static function thisEventDates($id) + { + // Set vars + $nodate = '0000-00-00 00:00:00'; + $ic_nodate = '0000-00-00 00:00'; + $eventTimeZone = null; + + // Get Data + $db = Jfactory::getDbo(); + $query = $db->getQuery(true); + $query->select('e.next, e.dates, e.startdate, e.enddate, e.period, e.weekdays, e.displaytime, e.id'); + $query->from('#__icagenda_events AS e'); + $query->leftJoin('#__icagenda_category AS c ON c.id = e.catid'); + $query->where('c.state = 1'); + $query->where('e.id = ' . $db->q($id)); + $db->setQuery($query); + $result = $db->loadObjectList(); + + // Get Data + $tId = $id; + $tDates = $result->dates; + $tStartdate = $result->startdate; + $tEnddate = $result->enddate; + $tWeekdays = $result->weekdays; + + // Declare AllDates array + $thisEventDates = array(); + + // Get WeekDays Array + $WeeksDays = iCDatePeriod::weekdaysToArray($tWeekdays); + + // If Single Dates, added each one to All Dates for this event + $singledates = unserialize($tDates); + + foreach ($singledates as $sd) { + $isValid = iCDate::isDate($sd); + + if ($isValid) { + array_push($thisEventDates, $sd); + } + } + + $perioddates = iCDatePeriod::listDates($tStartdate, $tEnddate, $eventTimeZone); + + if ( + isset($perioddates) + && $perioddates != NULL + ) { + foreach ($perioddates as $Dat) { + if (in_array(date('w', strtotime($Dat)), $WeeksDays)) { + $isValid = iCDate::isDate($Dat); + + if ($isValid) { + $SingleDate = date('Y-m-d H:i:s', strtotime($Dat)); + + array_push($thisEventDates, $SingleDate); + } + } + } + } + + return $thisEventDates; + } + + public static function getAllTimeZone($decrease = 0) + { + $zones_array = array(); + $timestamp = strtotime('-1 hour'); + foreach (timezone_identifiers_list() as $key => $zone) { + date_default_timezone_set($zone); + $zones_array[$key]['zone'] = $zone; + $zones_array[$key]['offset'] = (int) ((int) date('O', $timestamp)) / 100 - $decrease; + $zones_array[$key]['diff_from_GMT'] = 'GMT' . date('P', $timestamp); + $zones_array[$key]['id'] = date('O', $timestamp) / 100 - $decrease . '_' . $zone; + } + + return $zones_array; + } + + public static function changeDate($offset = 0, &$nextDate, &$endDate) + { + if ($offset != 0) { + if (strpos($offset, '.3') !== false || strpos($offset, '.45') !== false) { + if (strpos($offset, '.3') !== false) + $offset .= '0'; + + $prefix = substr($offset, 0, 1) == '-' ? '-' : '+'; + $minuteOffset = $text = explode('.', $offset, 2); + + $nextDate = new DateTime($nextDate); + $nextDate->modify($minuteOffset[0] . ' hours'); + $nextDate->modify($prefix . $minuteOffset[1] . ' minutes'); + + $endDate = new DateTime($endDate); + $endDate->modify($minuteOffset[0] . ' hours'); + $endDate->modify($prefix . $minuteOffset[1] . ' minutes'); + } else { + $nextDate = new DateTime($nextDate); + $nextDate->modify($offset . ' hours'); + + $endDate = new DateTime($endDate); + $endDate->modify($offset . ' hours'); + } + + $nextDate = $nextDate->format('Y-m-d H:i:s'); + $endDate = $endDate->format('Y-m-d H:i:s'); + } + } +} diff --git a/deployed/icagenda/components/com_icagenda/models/list.php b/deployed/icagenda/components/com_icagenda/models/list.php index da324f5b..728b3170 100644 --- a/deployed/icagenda/components/com_icagenda/models/list.php +++ b/deployed/icagenda/components/com_icagenda/models/list.php @@ -1,468 +1,468 @@ -getUserStateFromRequest($this->context . '.filter.search', 'filter_search'); - $this->setState('filter.search', $search); - - // Filter (dropdown) category - $category = $this->getUserStateFromRequest($this->context . '.filter.category', 'filter_category'); - $this->setState('filter.category', $category); - - // Filter (date picker) from - $from = $this->getUserStateFromRequest($this->context . '.filter.from', 'filter_from', '', 'string'); - $this->setState('filter.from', $from); - - // Filter (date picker) to - $to = $this->getUserStateFromRequest($this->context . '.filter.to', 'filter_to', '', 'string'); - $this->setState('filter.to', $to); - - // Filter (dropdown) month - $month = $this->getUserStateFromRequest($this->context . '.filter.month', 'filter_month', '', 'string'); - $this->setState('filter.month', $month); - - // Filter (dropdown) year - $year = $this->getUserStateFromRequest($this->context . '.filter.year', 'filter_year', '', 'string'); - $this->setState('filter.year', $year); - - // Load the filter state. - $published = $app->getUserStateFromRequest($this->context . '.filter.state', 'filter_published', '', 'string'); - $this->setState('filter.state', $published); - - // Load the filter access. - $access = $app->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', '', 'string'); - $this->setState('filter.access', $access); - - // Load the filter language. - $language = $app->getUserStateFromRequest($this->context . '.filter.language', 'filter_language', '', 'string'); - $this->setState('filter.language', $language); - - // Filter categoryId -// $categoryId = $this->getUserStateFromRequest($this->context . '.filter.category_id', 'filter_category_id'); -// $this->setState('filter.category_id', $categoryId); - - // Filter (dropdown) upcoming -// $upcoming = $this->getUserStateFromRequest($this->context . '.filter.upcoming', 'filter_upcoming', '', 'string'); -// $this->setState('filter.upcoming', $upcoming); - - // Load the parameters. - $params = $app->getParams(); - $this->setState('params', $params); - - // List state information. - parent::populateState('e.id', 'desc'); - } - - /** - * Method to get a store id based on model configuration state. - * - * This is necessary because the model is used by the component and - * different modules that might need different sets of data or different - * ordering requirements. - * - * @param string $id A prefix for the store id. - * @return string A store id. - * - * @since 3.6.0 - */ - protected function getStoreId($id = '') - { - // Compile the store id. - $id .= ':' . $this->getState('filter.search'); - $id .= ':' . $this->getState('filter.access'); - $id .= ':' . $this->getState('filter.state'); - $id .= ':' . $this->getState('filter.access'); - $id .= ':' . $this->getState('filter.language'); - $id .= ':' . $this->getState('filter.category'); - $id .= ':' . $this->getState('filter.from'); - $id .= ':' . $this->getState('filter.to'); - $id .= ':' . $this->getState('filter.month'); - $id .= ':' . $this->getState('filter.year'); - - return parent::getStoreId($id); - } - - /** - * Build an SQL query to load the list data. - * - * @return JDatabaseQuery - * - * @since 3.6.0 - */ - protected function getListQuery() - { - $app = JFactory::getApplication(); - $params = $app->getParams(); - $jinput = $app->input; - $layout = $jinput->get('layout', ''); - - // Get the current user for authorisation checks - $user = JFactory::getUser(); - - // Get View Options for filtering - $mcatid = $params->get('mcatid', ''); - - // Create a new query object. - $db = $this->getDbo(); - $query = $db->getQuery(true); - - // Select the required fields from the table. - $query->select( - $this->getState( - 'list.select', 'e.*, ' . - 'e.name AS contact_name, e.email AS contact_email' - ) - ); - $query->from($db->qn('#__icagenda_events') . ' AS e'); - - // Join over the category - $query->select('c.id AS cat_id, c.title AS cat_title, c.color AS cat_color, c.desc AS cat_desc'); - $query->join('LEFT', '#__icagenda_category AS c ON c.id = e.catid'); - $query->where('c.state = 1'); - - // Features - extract the number of displayable icons per event - $query->select('feat.count AS features'); - $sub_query = $db->getQuery(true); - $sub_query->select('fx.event_id, COUNT(*) AS count'); - $sub_query->from('#__icagenda_feature_xref AS fx'); - $sub_query->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); - $sub_query->group('fx.event_id'); - $query->leftJoin('(' . (string) $sub_query . ') AS feat ON e.id=feat.event_id'); - - // Filter by features - $query->where(icagendaEventsData::getFeaturesFilter()); - - // Join total of registrations -// $current_date = $jinput->get('date', ''); - -// if ($current_date) -// { -// $ex = explode('-', $current_date); - -// if (count($ex) == 5) -// { -// $date_to_check = $ex['0'] . '-' . $ex['1'] . '-' . $ex['2'] . ' ' . $ex['3'] . ':' . $ex['4'] . ':00'; -// } -// else -// { -// $date_to_check = ''; -// } -// } -// else -// { -// $date_to_check = 'e.next'; -// } - -// $query->select('r.count AS registered'); -// $sub_query = $db->getQuery(true); -// $sub_query->select('r.state, r.date, r.eventid, sum(r.people) AS count'); -// $sub_query->from('#__icagenda_registration AS r'); -// $sub_query->where('r.state > 0'); -// $sub_query->group('r.date, r.eventid'); -// $query->leftJoin('(' . (string) $sub_query . ') AS r ON ((' . $db->q($date_to_check) . ' = r.date OR r.date = "") AND e.id = r.eventid)'); - - // Filter by published state - $published = $this->getState('filter.state'); - - if (is_numeric($published)) - { - $query->where('e.state = '.(int) $published); - } - elseif ($published === '') - { - $query->where('(e.state IN (0, 1))'); - } - - $userGroups = $user->getAuthorisedGroups(); - - $groupid = JComponentHelper::getParams('com_icagenda')->get('approvalGroups', array("8")); - $groupid = is_array($groupid) ? $groupid : array($groupid); - - // Test if user login have Approval Rights - if ( ! array_intersect($userGroups, $groupid) - && ! in_array('8', $userGroups)) - { - $query->where('e.approval <> 1'); - } - else - { - $query->where('e.approval < 2'); - } - - // Filter by access level. - $access = $this->getState('filter.access'); - - if ( ! empty($access) - && ! in_array('8', $userGroups)) - { - $access_levels = implode(',', $user->getAuthorisedViewLevels()); - - $query->where('e.access IN (' . $access_levels . ')'); -// ->where('c.access IN (' . $access_levels . ')'); // To be added later, when access integrated to category - } - - // Filter by language - if ($this->getState('filter.language')) - { - $query->where('e.language in (' . $db->q(JFactory::getLanguage()->getTag()) . ',' . $db->q('*') . ')'); - } - - - // Prepare to return the list of dates/events - $format = $jinput->get('format', ''); - $type = $jinput->get('type', ''); - $limit = $jinput->get('limit', ''); - $number = ($format == 'feed' && $type == 'rss') - ? JFactory::getConfig()->get('feed_limit', $params->get('number', 5)) - : $params->get('number', 5); -// $orderdate = $params->get('orderby', 2); // Processed in getAllDates() - $currentPage = $jinput->get('page', '1'); - - // Get array of all [date _ id] - $list_date_id = icagendaEventsData::getAllDates(); - - if ($limit != '' && $limit >= 0) - { - $number = ($limit == 0) ? count($list_date_id) : (int) $limit; - } - - // Set list of PAGE:IDS - $pages = ceil(count($list_date_id) / $number); - $list_id = array(); - - for ($n = 1; $n <= $pages; $n++) - { - $idsArray = array(); - - $page_nb = $number * ($n - 1); - $datesPerPage = array_slice($list_date_id, $page_nb, $number, true); - - foreach ($datesPerPage AS $date_id) - { - $ex_date_id = explode('_', $date_id); - - $idsArray[] = $ex_date_id['1']; - } - - $list_id[] = implode(', ', $idsArray) . '::' . $n; - } - - $this_ic_ids = ''; - - if ($list_id) - { - foreach ($list_id as $a) - { - $ex_listid = explode('::', $a); - $ic_page = $ex_listid[1]; - $ic_ids = $ex_listid[0]; - - if ($ic_page == $currentPage) - { - $this_ic_ids = $ic_ids ? $ic_ids : '0'; - } - } - - if ($this_ic_ids) - { - $query->where('e.id IN (' . $this_ic_ids . ')'); - } -// else -// { - // Unlimited: limit already set by getAllDates() -// $this->setState('list.limit', 0); - -// return $query; // No Event (if 'All Dates' option selected) -// } - } - - // Unlimited: limit already set by getAllDates() - $this->setState('list.limit', 0); - - return $query; - } - - /** - * Method to get an array of data items. - * - * @return mixed An array of data items on success, false on failure. - * - * @since 3.6.0 - */ - public function getItems() - { - if ($items = parent::getItems()) - { - // Do any procesing on fields here if needed - foreach ($items AS $item) - { - $item->evtParams = $item->params ? icagendaEvent::evtParams($item->params) : ''; - $item->titleFormat = $item->title ? icagendaRender::titleToFormat($item->title) : ''; - $item->metaAsShortDesc = $item->metadesc ? iCFilterOutput::fullCleanHTML($item->metadesc) : ''; - $item->shortDescription = $item->shortdesc - ? JHtml::_('content.prepare', icagendaEvents::deleteAllBetween('{', '}', $item->shortdesc), $item->params, 'com_icagenda.list') - : ''; - $item->description = $item->desc - ? JHtml::_('content.prepare', icagendaEvents::deleteAllBetween('{', '}', $item->desc), $item->params, 'com_icagenda.list') - : ''; - $item->descShort = $item->desc ? icagendaEvents::shortDescription($item->desc) : ''; - - // TO BE REFACTORIED (change css class name) - $item->fontColor = (iCColor::getBrightness($item->cat_color) == 'bright') ? 'fontColor' : ''; - - // List only - $item->url = icagendaEvent::url($item->id, $item->alias); - $item->titlebar = icagendaEvent::titleBar($item); - $item->rerun = icagendaEvent::getCustomField($item->id, 'rerun'); - $item->lang = icagendaEvent::getCustomField($item->id, 'language'); - - $rerunEnd = new DateTime($item->rerun); - $rerunEnd->modify('+45 minutes'); - $rerunEnd = date_format($rerunEnd, 'Y-m-d H:i'); - - $item->rerunEnd = $rerunEnd; - - // Extract the feature details, if needed - if (is_null($item->features)) - { - $item->features = array(); - } - else - { - $db = $this->getDbo(); - $query = $db->getQuery(true); - $query->select('DISTINCT f.icon, f.icon_alt'); - $query->from('#__icagenda_feature_xref AS fx'); - $query->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); - $query->where('fx.event_id=' . (int)$item->id); - $query->order('f.ordering DESC'); // Order descending because the icons are floated right - $db->setQuery($query); - $item->features = $db->loadObjectList(); - } - } - } - - return $items; - } - - public function getNextItem() - { - $app = JFactory::getApplication(); - $params = $app->getParams(); - $mcatid = $params->get('mcatid', ''); - - $db = $this->getDbo(); - $query = $db->getQuery(true); - $query->select('e.*, f.value AS video_url'); - $query->from('#__icagenda_events e'); - $query->innerJoin("#__icagenda_customfields_data AS f ON e.id = f.parent_id"); - $query->where('e.catid = '.$mcatid[0]); - $query->where('e.state = 1'); - $query->where('e.enddate > "'.date('Y-m-d H:i:s').'"'); - $query->where('f.slug = "video_url"'); - $query->order('e.startdate ASC'); - $db->setQuery($query); - $nextItem = $db->loadObject(); - - $query = $db->getQuery(true); - $query->select('*'); - $query->from('#__icagenda_customfields_data'); - $query->where('parent_id = '.$nextItem->id); - $query->where('slug = "presenter"'); - $db->setQuery($query); - $presenters = $db->loadObject(); - - $nextItem->presenters = $presenters->value; - $nextItem->url = icagendaEvent::url($nextItem->id, $nextItem->alias); - - return $nextItem; - } -} +getUserStateFromRequest($this->context . '.filter.search', 'filter_search'); + $this->setState('filter.search', $search); + + // Filter (dropdown) category + $category = $this->getUserStateFromRequest($this->context . '.filter.category', 'filter_category'); + $this->setState('filter.category', $category); + + // Filter (date picker) from + $from = $this->getUserStateFromRequest($this->context . '.filter.from', 'filter_from', '', 'string'); + $this->setState('filter.from', $from); + + // Filter (date picker) to + $to = $this->getUserStateFromRequest($this->context . '.filter.to', 'filter_to', '', 'string'); + $this->setState('filter.to', $to); + + // Filter (dropdown) month + $month = $this->getUserStateFromRequest($this->context . '.filter.month', 'filter_month', '', 'string'); + $this->setState('filter.month', $month); + + // Filter (dropdown) year + $year = $this->getUserStateFromRequest($this->context . '.filter.year', 'filter_year', '', 'string'); + $this->setState('filter.year', $year); + + // Load the filter state. + $published = $app->getUserStateFromRequest($this->context . '.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $published); + + // Load the filter access. + $access = $app->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', '', 'string'); + $this->setState('filter.access', $access); + + // Load the filter language. + $language = $app->getUserStateFromRequest($this->context . '.filter.language', 'filter_language', '', 'string'); + $this->setState('filter.language', $language); + + // Filter categoryId +// $categoryId = $this->getUserStateFromRequest($this->context . '.filter.category_id', 'filter_category_id'); +// $this->setState('filter.category_id', $categoryId); + + // Filter (dropdown) upcoming +// $upcoming = $this->getUserStateFromRequest($this->context . '.filter.upcoming', 'filter_upcoming', '', 'string'); +// $this->setState('filter.upcoming', $upcoming); + + // Load the parameters. + $params = $app->getParams(); + $this->setState('params', $params); + + // List state information. + parent::populateState('e.id', 'desc'); + } + + /** + * Method to get a store id based on model configuration state. + * + * This is necessary because the model is used by the component and + * different modules that might need different sets of data or different + * ordering requirements. + * + * @param string $id A prefix for the store id. + * @return string A store id. + * + * @since 3.6.0 + */ + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':' . $this->getState('filter.search'); + $id .= ':' . $this->getState('filter.access'); + $id .= ':' . $this->getState('filter.state'); + $id .= ':' . $this->getState('filter.access'); + $id .= ':' . $this->getState('filter.language'); + $id .= ':' . $this->getState('filter.category'); + $id .= ':' . $this->getState('filter.from'); + $id .= ':' . $this->getState('filter.to'); + $id .= ':' . $this->getState('filter.month'); + $id .= ':' . $this->getState('filter.year'); + + return parent::getStoreId($id); + } + + /** + * Build an SQL query to load the list data. + * + * @return JDatabaseQuery + * + * @since 3.6.0 + */ + protected function getListQuery() + { + $app = JFactory::getApplication(); + $params = $app->getParams(); + $jinput = $app->input; + $layout = $jinput->get('layout', ''); + + // Get the current user for authorisation checks + $user = JFactory::getUser(); + + // Get View Options for filtering + $mcatid = $params->get('mcatid', ''); + + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', 'e.*, ' . + 'e.name AS contact_name, e.email AS contact_email' + ) + ); + $query->from($db->qn('#__icagenda_events') . ' AS e'); + + // Join over the category + $query->select('c.id AS cat_id, c.title AS cat_title, c.color AS cat_color, c.desc AS cat_desc'); + $query->join('LEFT', '#__icagenda_category AS c ON c.id = e.catid'); + $query->where('c.state = 1'); + + // Features - extract the number of displayable icons per event + $query->select('feat.count AS features'); + $sub_query = $db->getQuery(true); + $sub_query->select('fx.event_id, COUNT(*) AS count'); + $sub_query->from('#__icagenda_feature_xref AS fx'); + $sub_query->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); + $sub_query->group('fx.event_id'); + $query->leftJoin('(' . (string) $sub_query . ') AS feat ON e.id=feat.event_id'); + + // Filter by features + $query->where(icagendaEventsData::getFeaturesFilter()); + + // Join total of registrations +// $current_date = $jinput->get('date', ''); + +// if ($current_date) +// { +// $ex = explode('-', $current_date); + +// if (count($ex) == 5) +// { +// $date_to_check = $ex['0'] . '-' . $ex['1'] . '-' . $ex['2'] . ' ' . $ex['3'] . ':' . $ex['4'] . ':00'; +// } +// else +// { +// $date_to_check = ''; +// } +// } +// else +// { +// $date_to_check = 'e.next'; +// } + +// $query->select('r.count AS registered'); +// $sub_query = $db->getQuery(true); +// $sub_query->select('r.state, r.date, r.eventid, sum(r.people) AS count'); +// $sub_query->from('#__icagenda_registration AS r'); +// $sub_query->where('r.state > 0'); +// $sub_query->group('r.date, r.eventid'); +// $query->leftJoin('(' . (string) $sub_query . ') AS r ON ((' . $db->q($date_to_check) . ' = r.date OR r.date = "") AND e.id = r.eventid)'); + + // Filter by published state + $published = $this->getState('filter.state'); + + if (is_numeric($published)) + { + $query->where('e.state = '.(int) $published); + } + elseif ($published === '') + { + $query->where('(e.state IN (0, 1))'); + } + + $userGroups = $user->getAuthorisedGroups(); + + $groupid = JComponentHelper::getParams('com_icagenda')->get('approvalGroups', array("8")); + $groupid = is_array($groupid) ? $groupid : array($groupid); + + // Test if user login have Approval Rights + if ( ! array_intersect($userGroups, $groupid) + && ! in_array('8', $userGroups)) + { + $query->where('e.approval <> 1'); + } + else + { + $query->where('e.approval < 2'); + } + + // Filter by access level. + $access = $this->getState('filter.access'); + + if ( ! empty($access) + && ! in_array('8', $userGroups)) + { + $access_levels = implode(',', $user->getAuthorisedViewLevels()); + + $query->where('e.access IN (' . $access_levels . ')'); +// ->where('c.access IN (' . $access_levels . ')'); // To be added later, when access integrated to category + } + + // Filter by language + if ($this->getState('filter.language')) + { + $query->where('e.language in (' . $db->q(JFactory::getLanguage()->getTag()) . ',' . $db->q('*') . ')'); + } + + + // Prepare to return the list of dates/events + $format = $jinput->get('format', ''); + $type = $jinput->get('type', ''); + $limit = $jinput->get('limit', ''); + $number = ($format == 'feed' && $type == 'rss') + ? JFactory::getConfig()->get('feed_limit', $params->get('number', 5)) + : $params->get('number', 5); +// $orderdate = $params->get('orderby', 2); // Processed in getAllDates() + $currentPage = $jinput->get('page', '1'); + + // Get array of all [date _ id] + $list_date_id = icagendaEventsData::getAllDates(); + + if ($limit != '' && $limit >= 0) + { + $number = ($limit == 0) ? count($list_date_id) : (int) $limit; + } + + // Set list of PAGE:IDS + $pages = ceil(count($list_date_id) / $number); + $list_id = array(); + + for ($n = 1; $n <= $pages; $n++) + { + $idsArray = array(); + + $page_nb = $number * ($n - 1); + $datesPerPage = array_slice($list_date_id, $page_nb, $number, true); + + foreach ($datesPerPage AS $date_id) + { + $ex_date_id = explode('_', $date_id); + + $idsArray[] = $ex_date_id['1']; + } + + $list_id[] = implode(', ', $idsArray) . '::' . $n; + } + + $this_ic_ids = ''; + + if ($list_id) + { + foreach ($list_id as $a) + { + $ex_listid = explode('::', $a); + $ic_page = $ex_listid[1]; + $ic_ids = $ex_listid[0]; + + if ($ic_page == $currentPage) + { + $this_ic_ids = $ic_ids ? $ic_ids : '0'; + } + } + + if ($this_ic_ids) + { + $query->where('e.id IN (' . $this_ic_ids . ')'); + } +// else +// { + // Unlimited: limit already set by getAllDates() +// $this->setState('list.limit', 0); + +// return $query; // No Event (if 'All Dates' option selected) +// } + } + + // Unlimited: limit already set by getAllDates() + $this->setState('list.limit', 0); + + return $query; + } + + /** + * Method to get an array of data items. + * + * @return mixed An array of data items on success, false on failure. + * + * @since 3.6.0 + */ + public function getItems() + { + if ($items = parent::getItems()) + { + // Do any procesing on fields here if needed + foreach ($items AS $item) + { + $item->evtParams = $item->params ? icagendaEvent::evtParams($item->params) : ''; + $item->titleFormat = $item->title ? icagendaRender::titleToFormat($item->title) : ''; + $item->metaAsShortDesc = $item->metadesc ? iCFilterOutput::fullCleanHTML($item->metadesc) : ''; + $item->shortDescription = $item->shortdesc + ? JHtml::_('content.prepare', icagendaEvents::deleteAllBetween('{', '}', $item->shortdesc), $item->params, 'com_icagenda.list') + : ''; + $item->description = $item->desc + ? JHtml::_('content.prepare', icagendaEvents::deleteAllBetween('{', '}', $item->desc), $item->params, 'com_icagenda.list') + : ''; + $item->descShort = $item->desc ? icagendaEvents::shortDescription($item->desc) : ''; + + // TO BE REFACTORIED (change css class name) + $item->fontColor = (iCColor::getBrightness($item->cat_color) == 'bright') ? 'fontColor' : ''; + + // List only + $item->url = icagendaEvent::url($item->id, $item->alias); + $item->titlebar = icagendaEvent::titleBar($item); + $item->rerun = icagendaEvent::getCustomField($item->id, 'rerun'); + $item->lang = icagendaEvent::getCustomField($item->id, 'language'); + + $rerunEnd = new DateTime($item->rerun); + $rerunEnd->modify('+45 minutes'); + $rerunEnd = date_format($rerunEnd, 'Y-m-d H:i'); + + $item->rerunEnd = $rerunEnd; + + // Extract the feature details, if needed + if (is_null($item->features)) + { + $item->features = array(); + } + else + { + $db = $this->getDbo(); + $query = $db->getQuery(true); + $query->select('DISTINCT f.icon, f.icon_alt'); + $query->from('#__icagenda_feature_xref AS fx'); + $query->innerJoin("#__icagenda_feature AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); + $query->where('fx.event_id=' . (int)$item->id); + $query->order('f.ordering DESC'); // Order descending because the icons are floated right + $db->setQuery($query); + $item->features = $db->loadObjectList(); + } + } + } + + return $items; + } + + public function getNextItem() + { + $app = JFactory::getApplication(); + $params = $app->getParams(); + $mcatid = $params->get('mcatid', ''); + + $db = $this->getDbo(); + $query = $db->getQuery(true); + $query->select('e.*, f.value AS video_url'); + $query->from('#__icagenda_events e'); + $query->innerJoin("#__icagenda_customfields_data AS f ON e.id = f.parent_id"); + $query->where('e.catid = '.$mcatid[0]); + $query->where('e.state = 1'); + $query->where('e.enddate > "'.date('Y-m-d H:i:s').'"'); + $query->where('f.slug = "video_url"'); + $query->order('e.startdate ASC'); + $db->setQuery($query); + $nextItem = $db->loadObject(); + + $query = $db->getQuery(true); + $query->select('*'); + $query->from('#__icagenda_customfields_data'); + $query->where('parent_id = '.$nextItem->id); + $query->where('slug = "presenter"'); + $db->setQuery($query); + $presenters = $db->loadObject(); + + $nextItem->presenters = $presenters->value; + $nextItem->url = icagendaEvent::url($nextItem->id, $nextItem->alias); + + return $nextItem; + } +} diff --git a/deployed/icagenda/components/com_icagenda/models/registration.php b/deployed/icagenda/components/com_icagenda/models/registration.php index 1b9a8847..fb908961 100644 --- a/deployed/icagenda/components/com_icagenda/models/registration.php +++ b/deployed/icagenda/components/com_icagenda/models/registration.php @@ -1,1445 +1,1445 @@ -data === null) { - $this->data = new stdClass; - $app = JFactory::getApplication(); - $params = JComponentHelper::getParams('com_icagenda'); - - // Override the base user data with any data in the session. - $temp = (array) $app->getUserState('com_icagenda.registration.data', array()); - - foreach ($temp as $k => $v) { - $this->data->$k = $v; - } - } - - return $this->data; - } - - /** - * Method to get the registration form. - * - * The base form is loaded from XML and then an event is fired - * for users plugins to extend the form with extra fields. - * - * @param array $data An optional array of data for the form to interogate. - * @param boolean $loadData True if the form is to load its own data (default case), false if not. - * - * @return JForm A JForm object on success, false on failure - * - * @since 3.6.0 - */ - public function getForm($data = array(), $loadData = true) - { - // Get the form. - $form = $this->loadForm('com_icagenda.registration', 'registration', array('control' => 'jform', 'load_data' => $loadData)); - - // Get the application object. - $app = JFactory::getApplication(); - $params = $app->getParams(); - - $user = JFactory::getUser(); - $user_id = $user->get('id'); - - // Autofill name and email if registered user log in - if ($user_id && $params->get('autofilluser', 1) == 1) { - $form->setValue('uid', null, $user_id); - - // logged-in Users: Name/User Name Option - //$user_name = ($params->get('nameJoomlaUser', 1) == 1) ? $user->get('name') : $user->get('username'); - $user_name = $user->get('name'); - $user_mail = $user->get('email'); - } else { - $form->setFieldAttribute('uid', 'disabled', 'disabled'); - - $user_name = ''; - $user_mail = ''; - } - - $nameAttr = !empty($user_name) ? 'readonly' : 'required'; - $form->setFieldAttribute('name', $nameAttr, 'true'); - - if ($user_name) { - $form->setValue('name', null, $user_name); - } - - // Set CORE 'Email' attributes - if ($user_mail) { - $form->setValue('email', null, $user_mail); - $form->setFieldAttribute('email', 'readonly', 'true'); - $form->removeField('email2'); - } else { - if (!$params->get('emailConfirm', 1)) { - $form->removeField('email2'); - } - - if ($params->get('emailRequired', 1)) { - $form->setFieldAttribute('email', 'required', 'true'); - - if ($params->get('emailConfirm', 1)) { - $form->setFieldAttribute('email2', 'required', 'true'); - } - } - } - - // Set CORE 'Phone' attributes - if ($params->get('phoneRequired', 0)) { - $form->setFieldAttribute('phone', 'required', 'true'); - $form->setFieldAttribute('phone', 'validate', 'ic.tel'); - } - - // Check if Custom Fields required @commented 3.6.5 - // $listCustomFields = icagendaCustomfields::getCustomFields(1, $params->get('custom_form', ''), 1); - - // if ($listCustomFields) - // { - // foreach ($listCustomFields AS $cf) - // { - // if ($cf->required == 1) - // { - // $form->setFieldAttribute(str_replace('core_', '', $cf->slug), 'required', 'true'); - // } - // } - // } - - // If Participants List is not enabled, we remove validation for related privacy boxes - if ($params->get('participantList', 0) == 0) { - // Do not remove name consent if required - if ($params->get('participant_name_consent', '') != '1') { - $form->removeField('consent_name_public', 'consent'); - $form->removeField('consent_name_users', 'consent'); - } - - // Do not remove Gravatar consent if required - if ($params->get('participant_gravatar_consent', '') != '1') { - $form->removeField('consent_gravatar', 'consent'); - } - } else { - $participant_name_visibility = $params->get('participant_name_visibility', ''); - - if ($participant_name_visibility == 1) { - $form->removeField('consent_name_users', 'consent'); - } elseif ($participant_name_visibility == 2) { - $form->removeField('consent_name_public', 'consent'); - } else { - $form->removeField('consent_name_public', 'consent'); - $form->removeField('consent_name_users', 'consent'); - } - } - - // If Consent Organiser is not enabled, we remove validation for related privacy box - if ($params->get('privacy_organiser', 0) == 0) { - $form->removeField('consent_organiser', 'consent'); - } - - // If Terms and Conditions is not enabled, we remove validation for checkbox - if ($params->get('terms', 1) == 0) { - $form->removeField('consent_terms', 'consent'); - } - - // If Captcha not displayed, we remove validation for captcha form field - if ($params->get('reg_captcha', 0) == 0) { - $form->removeField('captcha'); - } - - if (empty($form)) { - return false; - } - - return $form; - } - - /** - * Method to get the data that should be injected in the form. - * - * @return mixed The data for the form. - * - * @since 3.6.0 - */ - protected function loadFormData() - { - $data = $this->getData(); - - // $this->preprocessData('com_icagenda.registration', $data); - - return $data; - } - - /** - * Override preprocessForm to load the '#' plugin group instead of content. - * - * @param JForm $form A JForm object. - * @param mixed $data The data expected for the form. - * @param string $group The name of the plugin group to import (defaults to "content"). - * - * @return void - * - * @since 3.6.0 - * @throws Exception if there is an error in the form event. - */ - // protected function preprocessForm(JForm $form, $data, $group = 'content') - // { - // parent::preprocessForm($form, $data, $group); - // } - - /** - * Method to auto-populate the model state. - * - * Note. Calling getState in this method will result in recursion. - * - * @return void - * - * @since 3.6.0 - */ - protected function populateState() - { - // Get the application object. - $app = JFactory::getApplication(); - - // Load the parameters. - $params = $app->getParams('com_icagenda'); - $this->setState('params', $params); - - // Load state from the request. - $pk = $app->input->getInt('id'); - $this->setState('event.id', $pk); - } - - /** - * Method to save the form data. - * - * @param array $temp The form data. - * - * @return mixed @todo : update return (The user id on success, false on failure). - * - * @since 3.6.0 - */ - public function register($temp) - { - $app = JFactory::getApplication(); - $user = JFactory::getUser(); - - $data = (array) $this->getData(); - - foreach ($temp as $k => $v) { - $data[$k] = $v; - } - - $db = JFactory::getDbo(); - $date = JFactory::getDate(); - $params = $app->getParams(); - - $eventTimeZone = null; - - $reg_data = new stdClass(); - - // Set the values - $reg_data->id = null; - $reg_data->userid = isset($data['uid']) ? $data['uid'] : ''; - $reg_data->name = isset($data['name']) ? $data['name'] : ''; - $reg_data->email = isset($data['email']) ? $data['email'] : ''; - $reg_data->phone = isset($data['phone']) ? trim($data['phone']) : ''; - $reg_data->date = isset($data['date']) ? $data['date'] : ''; - $reg_data->period = isset($data['period']) ? $data['period'] : '0'; - $reg_data->people = isset($data['people']) ? $data['people'] : '1'; - // $reg_data->notes = isset($data['notes']) ? htmlentities(strip_tags($data['notes'])) : ''; - $reg_data->notes = isset($data['notes']) ? $data['notes'] : ''; - $reg_data->eventid = isset($data['eventid']) ? $data['eventid'] : '0'; - $reg_data->itemid = isset($data['menuid']) ? $data['menuid'] : ''; - $reg_data->created = $date->toSql(); - $reg_data->created_by = $reg_data->userid; - $reg_data->checked_out_time = date('Y-m-d H:i:s'); - - $type_registration = isset($data['type_registration']) ? $data['type_registration'] : '1'; - $current_url = isset($data['current_url']) ? $data['current_url'] : 'index.php'; - $max_nb_of_tickets = isset($data['max_nb_of_tickets']) ? $data['max_nb_of_tickets'] : '1000000'; - $custom_fields = isset($data['custom_fields']) ? $data['custom_fields'] : false; - $email2 = isset($data['email2']) ? $data['email2'] : false; - $consent_data = isset($data['consent']) ? $data['consent'] : array(); - - - // Control if still ticket left - $registered = icagendaRegistration::getRegisteredTotal($reg_data->eventid, $reg_data->date, $type_registration); - - // Check number of tickets left - $tickets_left = $max_nb_of_tickets - $registered; - - // IF NO TICKETS LEFT - if ($tickets_left <= 0 || $registered >= $max_nb_of_tickets) { - $app->enqueueMessage(JText::_('COM_ICAGENDA_ALERT_NO_TICKETS_AVAILABLE'), 'warning'); - - // $app->redirect(htmlspecialchars_decode($urlEvent)); - return false; - } - - // IF NOT ENOUGH TICKETS LEFT - elseif ($tickets_left < $reg_data->people) { - $msg = JText::_('COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE') . '
          '; - $msg .= JText::sprintf('COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_NOW', $tickets_left) . '
          '; - $msg .= JText::_('COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_CHANGE_NUMBER'); - - $app->enqueueMessage($msg, 'error'); - - // $app->redirect(htmlspecialchars_decode($current_url)); - return false; - } - - - // CONTROL NAME VALUE - $name_isValid = '1'; - - $pattern = "#[/\\\\/\<>/\"%;=\[\]\+()&]|^[0-9]#i"; - $pattern = "#[/\\\\/\<>/\";=\[\]\+()%&]#i"; - - // Filter Name - $data['name'] = str_replace("'", '’', $data['name']); - - // Remove non-printable characters. - $data['name'] = (string) preg_replace('/[\x00-\x1F\x7F]/', '', $data['name']); - - if ($data['name']) { - $nbMatches = preg_match($pattern, $data['name']); - - // Name contains invalid characters - if ($nbMatches && $nbMatches == 1) { - $name_isValid = '0'; - $app->enqueueMessage(JText::sprintf('COM_ICAGENDA_REGISTRATION_NAME_NOT_VALID', '' . htmlentities($data['name'], ENT_COMPAT, 'UTF-8') . ''), 'error'); - - return false; - } - - // Name is less than 2 characters - // @TODO change minimum to an option or 1 letter ?... - if (strlen(utf8_decode(trim($data['name']))) < 2) { - $name_isValid = '0'; - $app->enqueueMessage(JText::_('COM_ICAGENDA_REGISTRATION_NAME_MINIMUM_CHARACTERS'), 'error'); - - return false; - } - } - - $reg_data->name = filter_var($reg_data->name, FILTER_SANITIZE_STRING); - - // Advanced Checkdnsrr email - $emailCheckdnsrr = JComponentHelper::getParams('com_icagenda')->get('emailCheckdnsrr', '0'); - - if (!empty($reg_data->email)) { - $validEmail = true; - $checkdnsrr = true; - - if (($emailCheckdnsrr == 1) && function_exists('checkdnsrr')) { - $provider = explode('@', $reg_data->email); - - if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - if (version_compare(phpversion(), '5.3.0', '<')) { - $checkdnsrr = true; - } - } else { - $checkdnsrr = checkdnsrr($provider[1]); - } - } else { - $checkdnsrr = true; - } - } else { - $checkdnsrr = true; - } - - // Check if valid email address - $validEmail = $validEmail ? icagendaRegistration::validEmail($reg_data->email) : false; - - if ( - !$checkdnsrr - || !$validEmail - && $reg_data->email - ) { - // message if email is invalid - $app->enqueueMessage(JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_NOT_VALID'), 'error'); - - return false; - } - - $eventid = (int) $reg_data->eventid; - $period = (int) $reg_data->period; - $people = (int) $reg_data->people; - $userid = (int) $reg_data->userid; - $name = $reg_data->name; - $email = $reg_data->email; - $phone = $reg_data->phone; - $notes = html_entity_decode($reg_data->notes); - $dateReg = $reg_data->date; - - $limitRegEmail = $params->get('limitRegEmail', 1); - $limitRegDate = $params->get('limitRegDate', 1); - - if ($limitRegEmail == 1 || $limitRegDate == 1) { - $query = $db->getQuery(true); - - if ($limitRegDate == 0) { - $query = " - SELECT COUNT(*) - FROM `#__icagenda_registration` - WHERE `email` = '$email' AND `eventid`='$eventid' AND `state`='1' - "; - } elseif ($limitRegDate == 1) { - $query = " - SELECT COUNT(*) - FROM `#__icagenda_registration` - WHERE `email` = '$email' AND `eventid`='$eventid' AND `date`='$dateReg' AND `state`='1' - "; - } - - $db->setQuery($query); - - if ($email != NULL) { - if ($db->loadResult() > 0) { - $app->enqueueMessage(JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ALERT') . ' ' . $reg_data->email, 'warning'); - - return false; - } - } - } - - - // Control Custom Fields required if not empty - if ($custom_fields && is_array($custom_fields)) { - $requiredEmptyFields = icagendaCustomfields::requiredIsEmpty($custom_fields, 1); - - if (!empty($requiredEmptyFields)) { - foreach ($requiredEmptyFields as $fieldEmpty) { - $app->enqueueMessage(JText::sprintf('JLIB_FORM_VALIDATE_FIELD_INVALID', $fieldEmpty), 'warning'); - } - - return false; - } - } - - - // Get Event params - $query = $db->getQuery(true); - $query->select('e.params') - ->from('#__icagenda_events AS e') - ->where('e.id = ' . (int) $eventid); - $db->setQuery($query); - $event = $db->loadObject(); - - // Check for Registration Actions - $evtParams = icagendaEvent::evtParams($event->params); - $reg_actions = $evtParams->get('registration_actions', $params->get('registration_actions', 0)); - // $reg_actions = ($reg_actions !== 0) ? $reg_actions : ''; - - if ($reg_actions) { - $reg_data->state = 0; - $reg_data->status = 2; - } - // else // @todo: enable in 3.8 (3.7.3 ?) - // { - // $reg_data->state = 1; - // $reg_data->status = 3; - // } - - - // Save Registration data. - $db->insertObject('#__icagenda_registration', $reg_data, 'id'); - - - // Save Custom Fields to database. - if ($custom_fields && is_array($custom_fields)) { - icagendaCustomfields::saveToData($custom_fields, $reg_data->id, 1); - } - - // Save Consents to database. - if ($consent_data && is_array($consent_data)) { - foreach ($consent_data as $key => $value) { - if ($value) { - $key_suffix = ''; - $key_string = $key; - - // if (is_array($value) && $key == 'consent_name') - // { - // $key_suffix.= '_'; - - // foreach ($value as $k => $v) - // { - // $key_suffix.= '_' . $v; - // } - // } - - // Create and populate an object. - $action = new stdClass(); - - $action->user_id = $reg_data->userid; - $action->user_action = $key . $key_suffix; - $action->parent_form = 1; // Registration - $action->parent_id = $reg_data->id; // Registration ID - - switch ($key_string) { - // Name Visibility: Public - case 'consent_name_public': - $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_NAME_LABEL'); - $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_NAME')); - break; - - // Name Visibility: Users - case 'consent_name_users': - $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_NAME_LABEL'); - $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string))); - break; - - // Terms - case 'consent_terms': - $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string) . '_LABEL'); - $action->action_body = JText::sprintf('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string), JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_TERMS_LABEL')); - break; - - // Default - default: - $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string) . '_LABEL'); - $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string))); - break; - } - - $action->user_ip = $app->input->server->get('REMOTE_ADDR', '', 'string'); - $action->user_agent = $app->input->server->get('HTTP_USER_AGENT', '', 'string'); - $action->state = 1; - $action->created_time = JFactory::getDate()->toSql(); - - // Insert the object into the user profile table. - $result = JFactory::getDbo()->insertObject('#__icagenda_user_actions', $action); - } - } - } - - - // Set Registration ID in the session. - $app->setUserState('com_icagenda.registration.regid', $reg_data->id); - - - if ($reg_actions) { - return $reg_actions; - } else { - $this->sendNotificationEmails($reg_data); - - return 'complete'; - } - } - - - /** - * Method to complete action on the form data. - * - * @since 3.6.13 - */ - public function actions($action, $data, $regData) - { - if ($data) { - JPluginHelper::importPlugin('icagenda'); - - $dispatcher = JEventDispatcher::getInstance(); - $complete = $dispatcher->trigger('iCagendaOnRegistrationActionsComplete', array('com_icagenda.registration', $data, $regData['id'])); - - if ($complete) { - $this->sendNotificationEmails((object)$regData, $data); - } - } - - return $complete; - } - - - /** - * Method to cancel date(s) registration for one event. - * - * @since 3.6.13 - */ - public function cancel($dates_cancelled = array(), $user_id = null) - { - if (!empty($dates_cancelled) && (int) $user_id) { - $app = JFactory::getApplication(); - $date = JFactory::getDate(); - $db = JFactory::getDbo(); - - JArrayHelper::toInteger($dates_cancelled); - $dates_cancelled = implode(',', $dates_cancelled); - - // Conditions for which records should be cancelled. - $conditions = array( - $db->quoteName('state') . ' <> 0', - $db->quoteName('id') . ' IN (' . $dates_cancelled . ')', - $db->quoteName('userid') . ' = ' . $db->quote($user_id), - ); - - // Check if any to be cancelled. - $query = $db->getQuery(true); - $query->select('r.*'); - $query->from('#__icagenda_registration AS r'); - $query->where($conditions); - $db->setQuery($query); - $result = $db->loadObjectList(); - - if (!$result) return false; - - // Update registration(s) cancelled - $query = $db->getQuery(true); - - $user_ip = $app->input->server->get('REMOTE_ADDR', '', 'string'); - $user_agent = $app->input->server->get('HTTP_USER_AGENT', '', 'string'); - $date_cancel = $date->toSql(); - - // Save user action for each registration cancelled. - foreach ($result as $k => $v) { - // Create and populate an object. - $action = new stdClass(); - - $action->user_id = $user_id; - $action->user_action = 'cancel_registration'; - $action->parent_form = 1; // Registration - $action->parent_id = $v->id; // Registration ID - $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_SUBJECT'); - $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_BODY')); - $action->user_ip = $user_ip; - $action->user_agent = $user_agent; - $action->state = 1; - $action->created_time = $date_cancel; - - // Insert the object into the user profile table. - $result = $db->insertObject('#__icagenda_user_actions', $action); - - // Update params for each registration cancelled, adding cancelled date and by user id. - // $params = json_decode($v->params, true); - - // $params['cancelled'] = (string) $date->toSql(); - // $params['cancelled_by'] = (string) $user_id; - - // Store the combined new and existing values back as a JSON string - // $paramsString = json_encode($params); - - // $query->update($db->quoteName('#__icagenda_registration'))->set($db->quoteName('params') . ' = ' . $db->quote($paramsString)); - // $db->setQuery($query); - } - - // Common fields to update. - $fields = array( - $db->quoteName('state') . ' = 0', - $db->quoteName('status') . ' = 0', - ); - - $query->update($db->quoteName('#__icagenda_registration'))->set($fields)->where($conditions); - $db->setQuery($query); - - $result = $db->execute(); - - return $result; - } - } - - - /** - * Method to get event data. - * - * @param integer $pk The id of the event. - * - * @return mixed Event item data object on success, false on failure. - * - * @since 3.6.0 - */ - public function getItem($pk = null) - { - $app = JFactory::getApplication(); - $session = JFactory::getSession(); - $user = JFactory::getUser(); - - $input = $app->input; - - $pk = (!empty($pk)) ? $pk : (int) $this->getState('event.id'); - - if (!isset($this->_item[$pk])) { - try { - $db = $this->getDbo(); - $query = $db->getQuery(true) - ->select( - $this->getState( - 'item.select', - 'e.*' - ) - ); - $query->from('#__icagenda_events AS e'); - - // Join on category table. - $query->select('c.title AS cat_title, c.color AS cat_color') - ->join('LEFT', '#__icagenda_category AS c on c.id = e.catid'); - - // Filter by language - if ($this->getState('filter.language')) { - $query->where('e.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); - } - - $query->where('e.id = ' . (int) $pk); - - // Features - extract the number of displayable icons per event - $query->select('feat.count AS features'); - $sub_query = $db->getQuery(true); - $sub_query->select('fx.event_id, COUNT(*) AS count'); - $sub_query->from('`#__icagenda_feature_xref` AS fx'); - $sub_query->innerJoin("`#__icagenda_feature` AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); - $sub_query->group('fx.event_id'); - $query->leftJoin('(' . (string) $sub_query . ') AS feat ON e.id=feat.event_id'); - - // Registrations - Get total of registered people - $evtParams = icagendaEvent::getParams((int) $pk); - - $typeReg = $evtParams->get('typeReg', 1); - - $query->select($db->qn('r.count', 'registered')); - $sub_query = $db->getQuery(true) - ->select(array( - $db->qn('r.eventid'), - 'sum(' . $db->qn('r.people') . ') AS count', - )) - ->from($db->qn('#__icagenda_registration', 'r')) - ->where($db->qn('r.state') . ' = 1'); - - // Get var event date alias if set or var 'event_date' set to session in event details view - $event_date = $session->get('event_date', ''); - $get_date = $input->get('date', ($event_date ? date('Y-m-d-H-i', strtotime($event_date)) : '')); - - // Convert to SQL datetime if set, or return empty. - $dateday = icagendaEvent::convertDateAliasToSQLDatetime($get_date); - - // Redirect and remove date var, if not correctly set - if ( - $get_date - && !$dateday - ) { - $event_url = JUri::getInstance()->toString(); - $cleanurl = preg_replace('/&date=[^&]*/', '', $event_url); - $cleanurl = preg_replace('/\?date=[^\?]*/', '', $cleanurl); - - $app->redirect($cleanurl); - - return false; - } - - // Registration type: by single date/period (1) - if ($dateday && $typeReg == 1) { - // $sub_query->where('r.date = ' . $db->q($dateday)); // This is the good logic if correctly set - $sub_query->where('(r.date = ' . $db->q($dateday) . ' OR (r.date = "" AND r.period = 1))'); - } elseif (!$dateday && $typeReg == 1) { - // $sub_query->where('r.date = "" AND r.period = 0'); // This is the good logic if correctly set - $sub_query->where('r.date = ""'); - } - - $sub_query->group('r.eventid'); - $query->leftJoin('(' . (string) $sub_query . ') AS r ON e.id = r.eventid'); - - $db->setQuery($query); - - $item = $db->loadObject(); - - if (empty($item)) { - throw new \Exception(\JText::_('COM_ICAGENDA_ERROR_EVENT_NOT_FOUND'), 404); - } else { - // Convert parameter fields to objects. - $registry = version_compare(JVERSION, '3.4', 'lt') ? new JRegistry : new Registry; - $registry->loadString($item->params); - - // Merge Event params to app params - $item->params = clone $this->getState('params'); - $item->params->merge($registry); - - // iCagenda event view variables - // $item->typeReg = $item->params->get('typeReg', ''); // DEPRECATED 3.6.0 - // $item->maxNbTicketsPerReg = icagendaRegistration::maxNbTicketsPerReg($item->params); // DEPRECATED (to be refactoried) - // $item->maxNbTickets = icagendaRegistration::maxNbTickets($item); // DEPRECATED 3.6.0 - - $item->typeReg = $item->params->get('typeReg', '1'); - $item->maxReg = $item->params->get('maxReg', '1000000'); - $maxNbTicketsPerReg = icagendaRegistration::maxNbTicketsPerReg($item->params); - - // Set default nb of tickets bookable - $session_date = $session->get('session_date', ''); - - $item->ticketsBookable = icagendaRegistration::getTicketsBookable($item->id, $session_date, $item->typeReg, $item->maxReg, $maxNbTicketsPerReg); - - if ($session_date) { - $item->default_tickets = $item->ticketsBookable; - } - - $item->tickets = ($item->maxReg >= $maxNbTicketsPerReg) ? $maxNbTicketsPerReg : $item->maxReg; - - $item->eventHasPeriod = icagendaEvent::eventHasPeriod($item->period, $item->startdate, $item->enddate); - $item->periodIsNotFinished = icagendaEvent::periodIsNotFinished($item->enddate); - - // Extract the feature details, if needed - if (is_null($item->features)) { - $item->features = array(); - } else { - $db = $this->getDbo(); - $query = $db->getQuery(true); - $query->select('DISTINCT f.icon, f.icon_alt'); - $query->from('`#__icagenda_feature_xref` AS fx'); - $query->innerJoin("`#__icagenda_feature` AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); - $query->where('fx.event_id=' . $item->id); - $query->order('f.ordering DESC'); // Order descending because the icons are floated right - $db->setQuery($query); - $item->features = $db->loadObjectList(); - } - } - - $this->_item[$pk] = $item; - } catch (Exception $e) { - if ($e->getCode() == 404) { - // Need to go thru the error handler to allow Redirect to work. - throw new \Exception($e->getMessage(), 404); - } else { - $this->setError($e); - $this->_item[$pk] = false; - } - } - } - - return $this->_item[$pk]; - } - - /** - * Method to get registration data. - * - * @param integer $regid The id of the registration. - * - * @return mixed Registration processed data object on success, false on failure. - * - * @since 3.6.0 - */ - public function getRegistration($regid = null) - { - $app = JFactory::getApplication(); - - $regid = (!empty($regid)) ? $regid : $app->getUserState('com_icagenda.registration.regid', ''); - - if ($regid) { - try { - $db = $this->getDbo(); - $query = $db->getQuery(true) - ->select( - $this->getState( - 'item.select', - 'r.*' - ) - ); - $query->from('#__icagenda_registration AS r'); - $query->where('r.id = ' . (int) $regid); - $db->setQuery($query); - - $registration = $db->loadObject(); - - if (empty($registration)) { - return false; - } - } catch (Exception $e) { - if ($e->getCode() == 404) { - // Need to go thru the error handler to allow Redirect to work. - throw new \Exception($e->getMessage(), 404); - } else { - $this->setError($e); - $registration = false; - } - } - } else { - return false; - } - - return $registration; - } - - /** - * Method to get registrations of the current user for one event. - * - * @param integer $eventID The id of the event. - * - * @since 3.6.13 - */ - public function getParticipantEventRegistrations($eventID = null) // getRegistrationsPublished - { - $app = JFactory::getApplication(); - $user = JFactory::getUser(); - - // $eventID = ( ! empty($eventID)) ? $eventID : $app->input->getInt('id'); - $eventID = (!empty($eventID)) ? $eventID : (int) $this->getState('event.id'); - - if ($eventID && $user->get('id')) { - try { - $db = $this->getDbo(); - $query = $db->getQuery(true); - $query->select('r.id, r.state, r.date, r.period'); - $query->from('#__icagenda_registration AS r'); - $query->where('r.state = 1'); - $query->where('r.eventid = ' . (int) $eventID); - $query->where('r.userid = ' . (int) $user->get('id')); - $db->setQuery($query); - - $registrationIDs = $db->loadObjectList(); - - if (empty($registrationIDs)) { - return false; - } - } catch (Exception $e) { - if ($e->getCode() == 404) { - // Need to go thru the error handler to allow Redirect to work. - throw new \Exception($e->getMessage(), 404); - } else { - $this->setError($e); - $registrationIDs = false; - } - } - } else { - return false; - } - - return $registrationIDs; - } - - private function generateRandomString($length) - { - $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - $charactersLength = strlen($characters); - $randomString = ''; - for ($i = 0; $i < $length; $i++) { - $randomString .= $characters[rand(0, $charactersLength - 1)]; - } - return $randomString; - } - - public function sendEmail($data) - { - $eventid = $data['evt_id']; - $email = $data['email']; - $date = $data['date']; - $url = $data['req_url']; - $country = explode('_', $data['country']); - $ctrID = $country[0]; - $ctrName = $country[1]; - $name = $data['name']; - - $app = JFactory::getApplication(); - $db = JFactory::getDbo(); - - $query = $db->getQuery(true); - $query->select('v.voucher') - ->from('cl_hlusers.vouchers v') - ->where('v.email = "' . $email . '"'); - $db->setQuery($query); - $vouchers = $db->loadObject(); - - if (empty($vouchers) == false) { - $voucher = $vouchers->voucher; - } else { - $voucher = $this->generateRandomString(16); - - $vouchers = new stdClass(); - $vouchers->voucher = $voucher; - $vouchers->email = $email; - JFactory::getDbo()->insertObject('cl_hlusers.vouchers', $vouchers); - } - - $query = $db->getQuery(true); - $query->select('e.*, - e.created_by AS authorID, e.email AS contactemail') - ->from('#__icagenda_events AS e') - ->where('e.id = ' . (int) $eventid); - $db->setQuery($query); - $event = $db->loadObject(); - - $app = JFactory::getApplication(); - $mailer = JFactory::getMailer(); - $adminmailer = JFactory::getMailer(); - - $mailfrom = $app->getCfg('mailfrom'); - $fromname = $app->getCfg('fromname'); - $sitename = $app->getCfg('sitename'); - - $mailer->setSender(array($mailfrom, $fromname)); - $adminmailer->setSender(array($mailfrom, $fromname)); - - $mailer->addRecipient($email); - $adminmailer->addRecipient('info@archlinexp.com'); - - $mailer->addReplyTo($mailfrom, $fromname); - - $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); - $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_NEW'); - $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_NEW'); - - $displayTime = $event->displaytime; - $regDate = strip_tags(icagendaRender::dateToFormat($date)); - $regTime = icagendaRender::dateToTime($date); - - $regDateTime = !empty($displayTime) ? $regDate . ' - ' . $regTime : $regDate; - - $replacements = array( - '[SITENAME]' => $sitename, - '[LINK]' => $url, - '[TITLE]' => $event->title, - '[DATE]' => $regDateTime, - '[EMAIL]' => $email, - '[COUNTRY]' => $ctrName, - '[NAME]' => $name, - '[VOUCHER]' => $voucher - ); - - foreach ($replacements as $key => $value) { - $subject = str_replace($key, $value, $subject); - $body = str_replace($key, $value, $body); - $adminbody = str_replace($key, $value, $adminbody); - } - - $adminsubject = 'Event registration'; - - $mailer->setBody($body); - $adminmailer->setBody($adminbody); - - $mailer->setSubject($subject); - $adminmailer->setSubject($adminsubject); - - $mailer->isHTML(true); - $adminmailer->isHTML(true); - - $send = $mailer->Send(); - if ($_SERVER['REMOTE_ADDR'] != '212.40.89.255') $sendadmin = $adminmailer->Send(); - - $query = $db->getQuery(true); - $query->select('p.email') - ->from('cl_hlusers.partners p') - ->where('p.ctrID = ' . (int) $ctrID); - $db->setQuery($query); - $partner = $db->loadObject(); - - if (empty($partner) == false && $_SERVER['REMOTE_ADDR'] != '212.40.89.255') { - $partnermailer = JFactory::getMailer(); - - $partnermailer->setSender(array($mailfrom, $fromname)); - $partnermailer->addRecipient($partner->email); - $partnermailer->setBody($adminbody); - $partnermailer->setSubject($adminsubject); - $partnermailer->isHTML(true); - - $sendpartner = $partnermailer->Send(); - } - } - - - /** - * Method to send Notification emails. - * - * @since 3.6.13 - */ - private function sendNotificationEmails($reg_data, $data = null) - { - $app = JFactory::getApplication(); - $db = JFactory::getDbo(); - $user = JFactory::getUser(); - - $params = $app->getParams(); - $input = $app->input; - - - $eventid = $reg_data->eventid; - - // Get Event details - $query = $db->getQuery(true); - $query->select('e.*, - e.created_by AS authorID, e.email AS contactemail') - ->from('#__icagenda_events AS e') - ->where('e.id = ' . (int) $eventid); - $db->setQuery($query); - $event = $db->loadObject(); - - - // Set Date in url - $dateInUrl = ($reg_data->date && $params->get('datesDisplay', 1) == 1) - ? '&date=' . iCDate::dateToAlias(date('Y-m-d H:i', strtotime($reg_data->date))) - : ''; - - // Get the "event" URL - $baseURL = JUri::base(); - $subpathURL = JUri::base(true); - - $baseURL = str_replace('/administrator', '', $baseURL); - $subpathURL = str_replace('/administrator', '', $subpathURL); - - // Sub Path filtering - $subpathURL = ltrim($subpathURL, '/'); - - // URL Event Details filtering - $urlEvent = str_replace('&', '&', JRoute::_('index.php?option=com_icagenda&view=event&id=' . (int) $reg_data->eventid . '&Itemid=' . $input->getInt('Itemid') . $dateInUrl)); - $urlEvent = ltrim($urlEvent, '/'); - - if (substr($urlEvent, 0, strlen($subpathURL) + 1) == "$subpathURL/") { - $urlEvent = substr($urlEvent, strlen($subpathURL) + 1); - } - - $urlEvent = rtrim($baseURL, '/') . '/' . ltrim($urlEvent, '/'); - - // URL Registration Cancellation filtering - $urlRegistrationCancel = str_replace('&', '&', JRoute::_('index.php?option=com_icagenda&view=registration&layout=cancel&id=' . (int) $reg_data->eventid . '&Itemid=' . $input->getInt('Itemid'))); - $urlRegistrationCancel = ltrim($urlRegistrationCancel, '/'); - - if (substr($urlRegistrationCancel, 0, strlen($subpathURL) + 1) == "$subpathURL/") { - $urlRegistrationCancel = substr($urlRegistrationCancel, strlen($subpathURL) + 1); - } - - $urlRegistrationCancel = rtrim($baseURL, '/') . '/' . ltrim($urlRegistrationCancel, '/'); - - - $startdate = $event->startdate; - $enddate = $event->enddate; - // $title = $event->title; - $authorID = $event->authorID; - // $contactemail = $event->contactemail; - $displayTime = $event->displaytime; - - $startD = strip_tags(icagendaRender::dateToFormat($startdate)); - $endD = strip_tags(icagendaRender::dateToFormat($enddate)); - $startT = !empty($displayTime) ? icagendaRender::dateToTime($startdate) : ''; - $endT = !empty($displayTime) ? icagendaRender::dateToTime($enddate) : ''; - - $regDate = strip_tags(icagendaRender::dateToFormat($reg_data->date)); - $regTime = icagendaRender::dateToTime($reg_data->date); - - $regDateTime = !empty($displayTime) ? $regDate . ' - ' . $regTime : $regDate; - $regStartDateTime = !empty($displayTime) ? $startD . ' - ' . $startT : $startD; - $regEndDateTime = !empty($displayTime) ? $endD . ' - ' . $endT : $endD; - - $periodreg = $reg_data->period; - - $defaultemail = $params->get('regEmailUser', '1'); - $emailUserSubjectPeriod = $params->get('emailUserSubjectPeriod', ''); - $emailUserBodyPeriod = $params->get('emailUserBodyPeriod', ''); - $emailUserSubjectDate = $params->get('emailUserSubjectDate', ''); - $emailUserBodyDate = $params->get('emailUserBodyDate', ''); - - $emailAdminSend = $params->get('emailAdminSend', '1'); - $emailAdminSend_select = $params->get('emailAdminSend_select', array('0')); - $emailAdminSend_custom = $params->get('emailAdminSend_Placeholder', ''); - - $emailUserSend = $params->get('emailUserSend', '1'); - - $eUSP = isset($emailUserSubjectPeriod) - ? $emailUserSubjectPeriod - : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_SUBJECT'); - - $eUBP = isset($emailUserBodyPeriod) - ? $emailUserBodyPeriod - : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_BODY'); - - $eUSD = isset($emailUserSubjectDate) - ? $emailUserSubjectDate - : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); - - $eUBD = isset($emailUserBodyDate) - ? $emailUserBodyDate - : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY'); - - $period_set = substr($startdate, 0, 4); - - // Registration Type is set 'for all dates of the event' - if ($periodreg == 1) { - $adminsubject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT'); - $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DATE_DEFAULT_BODY'); - - if ($defaultemail == 0) { - $subject = $eUSP; - $body = $eUBP; - } else { - $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); - $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY'); - } - } - - // Registration Type is 'select list of dates' (single dates + period) - // Period (no date, and period = 0) - elseif ($reg_data->date == '' && !$periodreg) { - $adminsubject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT'); - $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_PERIOD_DEFAULT_BODY'); - - if ($defaultemail == 0) { - $subject = $eUSP; - $body = $eUBP; - } else { - $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_SUBJECT'); - $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_BODY'); - } - } - - // Registration Type is 'select list of dates' (single dates + period) - // Single date - else { - $adminsubject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT'); - $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DATE_DEFAULT_BODY'); - - if ($defaultemail == 0) { - $subject = $eUSD; - $body = $eUBD; - } else { - $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); - $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY'); - } - } - - // Get the site name - $sitename = $app->getCfg('sitename'); - - $siteURL = JURI::base(); - $siteURL = rtrim($siteURL, '/'); - - // Get Author Email - $authormail = ''; - - if ($authorID != NULL) { - // Preparing the query - $query = $db->getQuery(true); - $query->select('email AS authormail, name AS authorname')->from('#__users AS u')->where("(u.id=$authorID)"); - $db->setQuery($query); - $result = $db->loadObject(); - - $authormail = $result->authormail; - $authorname = $result->authorname; - - if ($authormail == NULL) { - $authormail = $app->getCfg('mailfrom'); - } - } - - // Generates filled custom fields into email body - $customfields = icagendaCustomfields::getListNotEmpty($reg_data->id, 1); - - $custom_fields = ''; - - $newline = ($defaultemail == '0') ? "
          " : "\n"; - - if ($customfields) { - foreach ($customfields as $customfield) { - $cf_value = isset($customfield->cf_value) ? $customfield->cf_value : JText::_('IC_NOT_SPECIFIED'); - $custom_fields .= JText::_($customfield->cf_title) . ": " . JText::_($cf_value) . $newline; - } - } - - if ($data) { - JPluginHelper::importPlugin('icagenda'); - - $dispatcher = JEventDispatcher::getInstance(); - $replacements = $dispatcher->trigger('iCagendaOnRegistrationActionsCompleteEmail', array('com_icagenda.registration', $data, $reg_data)); - - list($replacements) = $replacements; - - foreach ($replacements as $key => $value) { - $subject = str_replace($key, $value, $subject); - $body = str_replace($key, $value, $body); - $adminsubject = str_replace($key, $value, $adminsubject); - $adminbody = str_replace($key, $value, $adminbody); - } - } - - $date = str_replace(' ', 'T', $event->next) . 'Z'; - $date = str_replace('-', '', $date); - $date = str_replace(':', '', $date); - - $url = 'http://www.google.com/calendar/event?action=TEMPLATE'; - $url .= '&text=' . str_replace(" ", "+", $event->title); - $url .= '&dates=' . $date . '/' . $date; - $url .= '&details=' . html_entity_decode($reg_data->notes); - $url .= '&location=online'; - - // MAIL REPLACEMENTS - $replacements = array( - '[CALENDAR]' => $url, - '[SITENAME]' => $sitename, - '[SITEURL]' => $siteURL, - '[AUTHOR]' => $authorname, - '[AUTHOREMAIL]' => $authormail, - '[CONTACTEMAIL]' => $event->contactemail, - '[TITLE]' => $event->title, - '[SHORTDESC]' => $event->shortdesc, - '[DESC]' => $event->desc, - '[METADESC]' => $event->metadesc, - '[EVENTID]' => (int) $reg_data->eventid, - '[EVENTURL]' => $urlEvent, - '[URL_CANCEL]' => $reg_data->userid - ? $urlRegistrationCancel - : '', - '[NAME]' => $reg_data->name, - '[USERID]' => $reg_data->userid, - '[EMAIL]' => $reg_data->email - ? $reg_data->email - : JText::_('COM_ICAGENDA_NOT_SPECIFIED'), - '[PHONE]' => $reg_data->phone - ? $reg_data->phone - : JText::_('COM_ICAGENDA_NOT_SPECIFIED'), - '[TICKETS]' => $reg_data->people, - '[CUSTOMFIELDS]' => $custom_fields, - '[NOTES]' => html_entity_decode($reg_data->notes), - '[STARTDATE]' => $startD, - '[ENDDATE]' => $endD, - '[DATE]' => $regDate ? $regDate : '', - '[TIME]' => $regDate ? $regTime : '', - '[DATETIME]' => ($periodreg != 1) ? $regDateTime : JText::_('COM_ICAGENDA_REG_FOR_ALL_DATES'), - '[STARTDATETIME]' => $startD ? $regStartDateTime : '', - '[ENDDATETIME]' => $endD ? $regEndDateTime : '', - ' ' => ' ', - '[PLACES]' => $reg_data->people, - ); - - foreach ($replacements as $key => $value) { - $subject = str_replace($key, $value, $subject); - $body = str_replace($key, $value, $body); - $adminsubject = str_replace($key, $value, $adminsubject); - $adminbody = str_replace($key, $value, $adminbody); - } - - // Set Sender of USER and ADMIN emails - $mailer = JFactory::getMailer(); - $adminmailer = JFactory::getMailer(); - - $mailfrom = $app->getCfg('mailfrom'); - $fromname = $app->getCfg('fromname'); - - $mailer->setSender(array($mailfrom, $fromname)); - $adminmailer->setSender(array($mailfrom, $fromname)); - - // Set Recipient of USER email - $user = JFactory::getUser(); - - if (!isset($reg_data->email)) { - $recipient = $user->email; - } else { - $recipient = $reg_data->email; - } - - if ($reg_data->email) { - $mailer->addRecipient($recipient); - } - - // Set Recipient of ADMIN email - $admin_array = array(); - - if (in_array('0', $emailAdminSend_select)) { - array_push($admin_array, $mailfrom); - } - - if (in_array('1', $emailAdminSend_select)) { - if ($adminmailer->validateAddress($authormail)) { - array_push($admin_array, $authormail); - } - } - - if (in_array('2', $emailAdminSend_select)) { - $customs_emails = explode(',', $emailAdminSend_custom); - $customs_emails = str_replace(' ', '', $customs_emails); - - foreach ($customs_emails as $cust_mail) { - if ($adminmailer->validateAddress($cust_mail)) { - array_push($admin_array, $cust_mail); - } - } - } - - if (in_array('3', $emailAdminSend_select)) { - if ($adminmailer->validateAddress($event->contactemail)) { - array_push($admin_array, $event->contactemail); - } - } - - $adminrecipient = count($admin_array) ? $admin_array : $mailfrom; - $adminmailer->addRecipient($adminrecipient); - - // FIX Joomla 3.5.1 issue on some servers, by addition of "Optional" ReplyTo, not previously set. - $mailer->addReplyTo($mailfrom, $fromname); - $adminmailer->addReplyTo($mailfrom, $fromname); - - // Set Subject of USER and ADMIN email - $mailer->setSubject($subject); - $adminmailer->setSubject($adminsubject); - - // Set Body of USER and ADMIN email - if ($defaultemail == 0) { - // HTML custom notification email send to user - $mailer->isHTML(true); - - // JDocs: When sending HTML emails you should normally set the Encoding to base64 - // in order to avoid unwanted characters in the output. - // See https://docs.joomla.org/Sending_email_from_extensions - $mailer->Encoding = 'base64'; // JDocs Sending HTML Email - } - - $adminbody = str_replace("
          ", "\n", $adminbody); - - $mailer->setBody($body); - $adminmailer->setBody($adminbody); - - - // Send USER email confirmation, if enabled - if ( - $emailUserSend == 1 - && isset($reg_data->email) - && $reg_data->email - ) { - $send = $mailer->Send(); - } - - - // Send ADMIN email notification, if enabled - if ( - $emailAdminSend == 1 - && isset($reg_data->eventid) - && $reg_data->eventid != '0' - && $reg_data->name != NULL - ) { - $sendadmin = $adminmailer->Send(); - } - } -} +data === null) { + $this->data = new stdClass; + $app = JFactory::getApplication(); + $params = JComponentHelper::getParams('com_icagenda'); + + // Override the base user data with any data in the session. + $temp = (array) $app->getUserState('com_icagenda.registration.data', array()); + + foreach ($temp as $k => $v) { + $this->data->$k = $v; + } + } + + return $this->data; + } + + /** + * Method to get the registration form. + * + * The base form is loaded from XML and then an event is fired + * for users plugins to extend the form with extra fields. + * + * @param array $data An optional array of data for the form to interogate. + * @param boolean $loadData True if the form is to load its own data (default case), false if not. + * + * @return JForm A JForm object on success, false on failure + * + * @since 3.6.0 + */ + public function getForm($data = array(), $loadData = true) + { + // Get the form. + $form = $this->loadForm('com_icagenda.registration', 'registration', array('control' => 'jform', 'load_data' => $loadData)); + + // Get the application object. + $app = JFactory::getApplication(); + $params = $app->getParams(); + + $user = JFactory::getUser(); + $user_id = $user->get('id'); + + // Autofill name and email if registered user log in + if ($user_id && $params->get('autofilluser', 1) == 1) { + $form->setValue('uid', null, $user_id); + + // logged-in Users: Name/User Name Option + //$user_name = ($params->get('nameJoomlaUser', 1) == 1) ? $user->get('name') : $user->get('username'); + $user_name = $user->get('name'); + $user_mail = $user->get('email'); + } else { + $form->setFieldAttribute('uid', 'disabled', 'disabled'); + + $user_name = ''; + $user_mail = ''; + } + + $nameAttr = !empty($user_name) ? 'readonly' : 'required'; + $form->setFieldAttribute('name', $nameAttr, 'true'); + + if ($user_name) { + $form->setValue('name', null, $user_name); + } + + // Set CORE 'Email' attributes + if ($user_mail) { + $form->setValue('email', null, $user_mail); + $form->setFieldAttribute('email', 'readonly', 'true'); + $form->removeField('email2'); + } else { + if (!$params->get('emailConfirm', 1)) { + $form->removeField('email2'); + } + + if ($params->get('emailRequired', 1)) { + $form->setFieldAttribute('email', 'required', 'true'); + + if ($params->get('emailConfirm', 1)) { + $form->setFieldAttribute('email2', 'required', 'true'); + } + } + } + + // Set CORE 'Phone' attributes + if ($params->get('phoneRequired', 0)) { + $form->setFieldAttribute('phone', 'required', 'true'); + $form->setFieldAttribute('phone', 'validate', 'ic.tel'); + } + + // Check if Custom Fields required @commented 3.6.5 + // $listCustomFields = icagendaCustomfields::getCustomFields(1, $params->get('custom_form', ''), 1); + + // if ($listCustomFields) + // { + // foreach ($listCustomFields AS $cf) + // { + // if ($cf->required == 1) + // { + // $form->setFieldAttribute(str_replace('core_', '', $cf->slug), 'required', 'true'); + // } + // } + // } + + // If Participants List is not enabled, we remove validation for related privacy boxes + if ($params->get('participantList', 0) == 0) { + // Do not remove name consent if required + if ($params->get('participant_name_consent', '') != '1') { + $form->removeField('consent_name_public', 'consent'); + $form->removeField('consent_name_users', 'consent'); + } + + // Do not remove Gravatar consent if required + if ($params->get('participant_gravatar_consent', '') != '1') { + $form->removeField('consent_gravatar', 'consent'); + } + } else { + $participant_name_visibility = $params->get('participant_name_visibility', ''); + + if ($participant_name_visibility == 1) { + $form->removeField('consent_name_users', 'consent'); + } elseif ($participant_name_visibility == 2) { + $form->removeField('consent_name_public', 'consent'); + } else { + $form->removeField('consent_name_public', 'consent'); + $form->removeField('consent_name_users', 'consent'); + } + } + + // If Consent Organiser is not enabled, we remove validation for related privacy box + if ($params->get('privacy_organiser', 0) == 0) { + $form->removeField('consent_organiser', 'consent'); + } + + // If Terms and Conditions is not enabled, we remove validation for checkbox + if ($params->get('terms', 1) == 0) { + $form->removeField('consent_terms', 'consent'); + } + + // If Captcha not displayed, we remove validation for captcha form field + if ($params->get('reg_captcha', 0) == 0) { + $form->removeField('captcha'); + } + + if (empty($form)) { + return false; + } + + return $form; + } + + /** + * Method to get the data that should be injected in the form. + * + * @return mixed The data for the form. + * + * @since 3.6.0 + */ + protected function loadFormData() + { + $data = $this->getData(); + + // $this->preprocessData('com_icagenda.registration', $data); + + return $data; + } + + /** + * Override preprocessForm to load the '#' plugin group instead of content. + * + * @param JForm $form A JForm object. + * @param mixed $data The data expected for the form. + * @param string $group The name of the plugin group to import (defaults to "content"). + * + * @return void + * + * @since 3.6.0 + * @throws Exception if there is an error in the form event. + */ + // protected function preprocessForm(JForm $form, $data, $group = 'content') + // { + // parent::preprocessForm($form, $data, $group); + // } + + /** + * Method to auto-populate the model state. + * + * Note. Calling getState in this method will result in recursion. + * + * @return void + * + * @since 3.6.0 + */ + protected function populateState() + { + // Get the application object. + $app = JFactory::getApplication(); + + // Load the parameters. + $params = $app->getParams('com_icagenda'); + $this->setState('params', $params); + + // Load state from the request. + $pk = $app->input->getInt('id'); + $this->setState('event.id', $pk); + } + + /** + * Method to save the form data. + * + * @param array $temp The form data. + * + * @return mixed @todo : update return (The user id on success, false on failure). + * + * @since 3.6.0 + */ + public function register($temp) + { + $app = JFactory::getApplication(); + $user = JFactory::getUser(); + + $data = (array) $this->getData(); + + foreach ($temp as $k => $v) { + $data[$k] = $v; + } + + $db = JFactory::getDbo(); + $date = JFactory::getDate(); + $params = $app->getParams(); + + $eventTimeZone = null; + + $reg_data = new stdClass(); + + // Set the values + $reg_data->id = null; + $reg_data->userid = isset($data['uid']) ? $data['uid'] : ''; + $reg_data->name = isset($data['name']) ? $data['name'] : ''; + $reg_data->email = isset($data['email']) ? $data['email'] : ''; + $reg_data->phone = isset($data['phone']) ? trim($data['phone']) : ''; + $reg_data->date = isset($data['date']) ? $data['date'] : ''; + $reg_data->period = isset($data['period']) ? $data['period'] : '0'; + $reg_data->people = isset($data['people']) ? $data['people'] : '1'; + // $reg_data->notes = isset($data['notes']) ? htmlentities(strip_tags($data['notes'])) : ''; + $reg_data->notes = isset($data['notes']) ? $data['notes'] : ''; + $reg_data->eventid = isset($data['eventid']) ? $data['eventid'] : '0'; + $reg_data->itemid = isset($data['menuid']) ? $data['menuid'] : ''; + $reg_data->created = $date->toSql(); + $reg_data->created_by = $reg_data->userid; + $reg_data->checked_out_time = date('Y-m-d H:i:s'); + + $type_registration = isset($data['type_registration']) ? $data['type_registration'] : '1'; + $current_url = isset($data['current_url']) ? $data['current_url'] : 'index.php'; + $max_nb_of_tickets = isset($data['max_nb_of_tickets']) ? $data['max_nb_of_tickets'] : '1000000'; + $custom_fields = isset($data['custom_fields']) ? $data['custom_fields'] : false; + $email2 = isset($data['email2']) ? $data['email2'] : false; + $consent_data = isset($data['consent']) ? $data['consent'] : array(); + + + // Control if still ticket left + $registered = icagendaRegistration::getRegisteredTotal($reg_data->eventid, $reg_data->date, $type_registration); + + // Check number of tickets left + $tickets_left = $max_nb_of_tickets - $registered; + + // IF NO TICKETS LEFT + if ($tickets_left <= 0 || $registered >= $max_nb_of_tickets) { + $app->enqueueMessage(JText::_('COM_ICAGENDA_ALERT_NO_TICKETS_AVAILABLE'), 'warning'); + + // $app->redirect(htmlspecialchars_decode($urlEvent)); + return false; + } + + // IF NOT ENOUGH TICKETS LEFT + elseif ($tickets_left < $reg_data->people) { + $msg = JText::_('COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE') . '
          '; + $msg .= JText::sprintf('COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_NOW', $tickets_left) . '
          '; + $msg .= JText::_('COM_ICAGENDA_ALERT_NOT_ENOUGH_TICKETS_AVAILABLE_CHANGE_NUMBER'); + + $app->enqueueMessage($msg, 'error'); + + // $app->redirect(htmlspecialchars_decode($current_url)); + return false; + } + + + // CONTROL NAME VALUE + $name_isValid = '1'; + + $pattern = "#[/\\\\/\<>/\"%;=\[\]\+()&]|^[0-9]#i"; + $pattern = "#[/\\\\/\<>/\";=\[\]\+()%&]#i"; + + // Filter Name + $data['name'] = str_replace("'", '’', $data['name']); + + // Remove non-printable characters. + $data['name'] = (string) preg_replace('/[\x00-\x1F\x7F]/', '', $data['name']); + + if ($data['name']) { + $nbMatches = preg_match($pattern, $data['name']); + + // Name contains invalid characters + if ($nbMatches && $nbMatches == 1) { + $name_isValid = '0'; + $app->enqueueMessage(JText::sprintf('COM_ICAGENDA_REGISTRATION_NAME_NOT_VALID', '' . htmlentities($data['name'], ENT_COMPAT, 'UTF-8') . ''), 'error'); + + return false; + } + + // Name is less than 2 characters + // @TODO change minimum to an option or 1 letter ?... + if (strlen(utf8_decode(trim($data['name']))) < 2) { + $name_isValid = '0'; + $app->enqueueMessage(JText::_('COM_ICAGENDA_REGISTRATION_NAME_MINIMUM_CHARACTERS'), 'error'); + + return false; + } + } + + $reg_data->name = filter_var($reg_data->name, FILTER_SANITIZE_STRING); + + // Advanced Checkdnsrr email + $emailCheckdnsrr = JComponentHelper::getParams('com_icagenda')->get('emailCheckdnsrr', '0'); + + if (!empty($reg_data->email)) { + $validEmail = true; + $checkdnsrr = true; + + if (($emailCheckdnsrr == 1) && function_exists('checkdnsrr')) { + $provider = explode('@', $reg_data->email); + + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + if (version_compare(phpversion(), '5.3.0', '<')) { + $checkdnsrr = true; + } + } else { + $checkdnsrr = checkdnsrr($provider[1]); + } + } else { + $checkdnsrr = true; + } + } else { + $checkdnsrr = true; + } + + // Check if valid email address + $validEmail = $validEmail ? icagendaRegistration::validEmail($reg_data->email) : false; + + if ( + !$checkdnsrr + || !$validEmail + && $reg_data->email + ) { + // message if email is invalid + $app->enqueueMessage(JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_NOT_VALID'), 'error'); + + return false; + } + + $eventid = (int) $reg_data->eventid; + $period = (int) $reg_data->period; + $people = (int) $reg_data->people; + $userid = (int) $reg_data->userid; + $name = $reg_data->name; + $email = $reg_data->email; + $phone = $reg_data->phone; + $notes = html_entity_decode($reg_data->notes); + $dateReg = $reg_data->date; + + $limitRegEmail = $params->get('limitRegEmail', 1); + $limitRegDate = $params->get('limitRegDate', 1); + + if ($limitRegEmail == 1 || $limitRegDate == 1) { + $query = $db->getQuery(true); + + if ($limitRegDate == 0) { + $query = " + SELECT COUNT(*) + FROM `#__icagenda_registration` + WHERE `email` = '$email' AND `eventid`='$eventid' AND `state`='1' + "; + } elseif ($limitRegDate == 1) { + $query = " + SELECT COUNT(*) + FROM `#__icagenda_registration` + WHERE `email` = '$email' AND `eventid`='$eventid' AND `date`='$dateReg' AND `state`='1' + "; + } + + $db->setQuery($query); + + if ($email != NULL) { + if ($db->loadResult() > 0) { + $app->enqueueMessage(JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ALERT') . ' ' . $reg_data->email, 'warning'); + + return false; + } + } + } + + + // Control Custom Fields required if not empty + if ($custom_fields && is_array($custom_fields)) { + $requiredEmptyFields = icagendaCustomfields::requiredIsEmpty($custom_fields, 1); + + if (!empty($requiredEmptyFields)) { + foreach ($requiredEmptyFields as $fieldEmpty) { + $app->enqueueMessage(JText::sprintf('JLIB_FORM_VALIDATE_FIELD_INVALID', $fieldEmpty), 'warning'); + } + + return false; + } + } + + + // Get Event params + $query = $db->getQuery(true); + $query->select('e.params') + ->from('#__icagenda_events AS e') + ->where('e.id = ' . (int) $eventid); + $db->setQuery($query); + $event = $db->loadObject(); + + // Check for Registration Actions + $evtParams = icagendaEvent::evtParams($event->params); + $reg_actions = $evtParams->get('registration_actions', $params->get('registration_actions', 0)); + // $reg_actions = ($reg_actions !== 0) ? $reg_actions : ''; + + if ($reg_actions) { + $reg_data->state = 0; + $reg_data->status = 2; + } + // else // @todo: enable in 3.8 (3.7.3 ?) + // { + // $reg_data->state = 1; + // $reg_data->status = 3; + // } + + + // Save Registration data. + $db->insertObject('#__icagenda_registration', $reg_data, 'id'); + + + // Save Custom Fields to database. + if ($custom_fields && is_array($custom_fields)) { + icagendaCustomfields::saveToData($custom_fields, $reg_data->id, 1); + } + + // Save Consents to database. + if ($consent_data && is_array($consent_data)) { + foreach ($consent_data as $key => $value) { + if ($value) { + $key_suffix = ''; + $key_string = $key; + + // if (is_array($value) && $key == 'consent_name') + // { + // $key_suffix.= '_'; + + // foreach ($value as $k => $v) + // { + // $key_suffix.= '_' . $v; + // } + // } + + // Create and populate an object. + $action = new stdClass(); + + $action->user_id = $reg_data->userid; + $action->user_action = $key . $key_suffix; + $action->parent_form = 1; // Registration + $action->parent_id = $reg_data->id; // Registration ID + + switch ($key_string) { + // Name Visibility: Public + case 'consent_name_public': + $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_NAME_LABEL'); + $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_NAME')); + break; + + // Name Visibility: Users + case 'consent_name_users': + $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_NAME_LABEL'); + $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string))); + break; + + // Terms + case 'consent_terms': + $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string) . '_LABEL'); + $action->action_body = JText::sprintf('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string), JText::_('COM_ICAGENDA_REGISTRATION_CONSENT_TERMS_LABEL')); + break; + + // Default + default: + $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string) . '_LABEL'); + $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_' . strtoupper($key_string))); + break; + } + + $action->user_ip = $app->input->server->get('REMOTE_ADDR', '', 'string'); + $action->user_agent = $app->input->server->get('HTTP_USER_AGENT', '', 'string'); + $action->state = 1; + $action->created_time = JFactory::getDate()->toSql(); + + // Insert the object into the user profile table. + $result = JFactory::getDbo()->insertObject('#__icagenda_user_actions', $action); + } + } + } + + + // Set Registration ID in the session. + $app->setUserState('com_icagenda.registration.regid', $reg_data->id); + + + if ($reg_actions) { + return $reg_actions; + } else { + $this->sendNotificationEmails($reg_data); + + return 'complete'; + } + } + + + /** + * Method to complete action on the form data. + * + * @since 3.6.13 + */ + public function actions($action, $data, $regData) + { + if ($data) { + JPluginHelper::importPlugin('icagenda'); + + $dispatcher = JEventDispatcher::getInstance(); + $complete = $dispatcher->trigger('iCagendaOnRegistrationActionsComplete', array('com_icagenda.registration', $data, $regData['id'])); + + if ($complete) { + $this->sendNotificationEmails((object)$regData, $data); + } + } + + return $complete; + } + + + /** + * Method to cancel date(s) registration for one event. + * + * @since 3.6.13 + */ + public function cancel($dates_cancelled = array(), $user_id = null) + { + if (!empty($dates_cancelled) && (int) $user_id) { + $app = JFactory::getApplication(); + $date = JFactory::getDate(); + $db = JFactory::getDbo(); + + JArrayHelper::toInteger($dates_cancelled); + $dates_cancelled = implode(',', $dates_cancelled); + + // Conditions for which records should be cancelled. + $conditions = array( + $db->quoteName('state') . ' <> 0', + $db->quoteName('id') . ' IN (' . $dates_cancelled . ')', + $db->quoteName('userid') . ' = ' . $db->quote($user_id), + ); + + // Check if any to be cancelled. + $query = $db->getQuery(true); + $query->select('r.*'); + $query->from('#__icagenda_registration AS r'); + $query->where($conditions); + $db->setQuery($query); + $result = $db->loadObjectList(); + + if (!$result) return false; + + // Update registration(s) cancelled + $query = $db->getQuery(true); + + $user_ip = $app->input->server->get('REMOTE_ADDR', '', 'string'); + $user_agent = $app->input->server->get('HTTP_USER_AGENT', '', 'string'); + $date_cancel = $date->toSql(); + + // Save user action for each registration cancelled. + foreach ($result as $k => $v) { + // Create and populate an object. + $action = new stdClass(); + + $action->user_id = $user_id; + $action->user_action = 'cancel_registration'; + $action->parent_form = 1; // Registration + $action->parent_id = $v->id; // Registration ID + $action->action_subject = JText::_('COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_SUBJECT'); + $action->action_body = strip_tags(JText::_('COM_ICAGENDA_REGISTRATION_CANCEL_USERACTION_BODY')); + $action->user_ip = $user_ip; + $action->user_agent = $user_agent; + $action->state = 1; + $action->created_time = $date_cancel; + + // Insert the object into the user profile table. + $result = $db->insertObject('#__icagenda_user_actions', $action); + + // Update params for each registration cancelled, adding cancelled date and by user id. + // $params = json_decode($v->params, true); + + // $params['cancelled'] = (string) $date->toSql(); + // $params['cancelled_by'] = (string) $user_id; + + // Store the combined new and existing values back as a JSON string + // $paramsString = json_encode($params); + + // $query->update($db->quoteName('#__icagenda_registration'))->set($db->quoteName('params') . ' = ' . $db->quote($paramsString)); + // $db->setQuery($query); + } + + // Common fields to update. + $fields = array( + $db->quoteName('state') . ' = 0', + $db->quoteName('status') . ' = 0', + ); + + $query->update($db->quoteName('#__icagenda_registration'))->set($fields)->where($conditions); + $db->setQuery($query); + + $result = $db->execute(); + + return $result; + } + } + + + /** + * Method to get event data. + * + * @param integer $pk The id of the event. + * + * @return mixed Event item data object on success, false on failure. + * + * @since 3.6.0 + */ + public function getItem($pk = null) + { + $app = JFactory::getApplication(); + $session = JFactory::getSession(); + $user = JFactory::getUser(); + + $input = $app->input; + + $pk = (!empty($pk)) ? $pk : (int) $this->getState('event.id'); + + if (!isset($this->_item[$pk])) { + try { + $db = $this->getDbo(); + $query = $db->getQuery(true) + ->select( + $this->getState( + 'item.select', + 'e.*' + ) + ); + $query->from('#__icagenda_events AS e'); + + // Join on category table. + $query->select('c.title AS cat_title, c.color AS cat_color') + ->join('LEFT', '#__icagenda_category AS c on c.id = e.catid'); + + // Filter by language + if ($this->getState('filter.language')) { + $query->where('e.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); + } + + $query->where('e.id = ' . (int) $pk); + + // Features - extract the number of displayable icons per event + $query->select('feat.count AS features'); + $sub_query = $db->getQuery(true); + $sub_query->select('fx.event_id, COUNT(*) AS count'); + $sub_query->from('`#__icagenda_feature_xref` AS fx'); + $sub_query->innerJoin("`#__icagenda_feature` AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); + $sub_query->group('fx.event_id'); + $query->leftJoin('(' . (string) $sub_query . ') AS feat ON e.id=feat.event_id'); + + // Registrations - Get total of registered people + $evtParams = icagendaEvent::getParams((int) $pk); + + $typeReg = $evtParams->get('typeReg', 1); + + $query->select($db->qn('r.count', 'registered')); + $sub_query = $db->getQuery(true) + ->select(array( + $db->qn('r.eventid'), + 'sum(' . $db->qn('r.people') . ') AS count', + )) + ->from($db->qn('#__icagenda_registration', 'r')) + ->where($db->qn('r.state') . ' = 1'); + + // Get var event date alias if set or var 'event_date' set to session in event details view + $event_date = $session->get('event_date', ''); + $get_date = $input->get('date', ($event_date ? date('Y-m-d-H-i', strtotime($event_date)) : '')); + + // Convert to SQL datetime if set, or return empty. + $dateday = icagendaEvent::convertDateAliasToSQLDatetime($get_date); + + // Redirect and remove date var, if not correctly set + if ( + $get_date + && !$dateday + ) { + $event_url = JUri::getInstance()->toString(); + $cleanurl = preg_replace('/&date=[^&]*/', '', $event_url); + $cleanurl = preg_replace('/\?date=[^\?]*/', '', $cleanurl); + + $app->redirect($cleanurl); + + return false; + } + + // Registration type: by single date/period (1) + if ($dateday && $typeReg == 1) { + // $sub_query->where('r.date = ' . $db->q($dateday)); // This is the good logic if correctly set + $sub_query->where('(r.date = ' . $db->q($dateday) . ' OR (r.date = "" AND r.period = 1))'); + } elseif (!$dateday && $typeReg == 1) { + // $sub_query->where('r.date = "" AND r.period = 0'); // This is the good logic if correctly set + $sub_query->where('r.date = ""'); + } + + $sub_query->group('r.eventid'); + $query->leftJoin('(' . (string) $sub_query . ') AS r ON e.id = r.eventid'); + + $db->setQuery($query); + + $item = $db->loadObject(); + + if (empty($item)) { + throw new \Exception(\JText::_('COM_ICAGENDA_ERROR_EVENT_NOT_FOUND'), 404); + } else { + // Convert parameter fields to objects. + $registry = version_compare(JVERSION, '3.4', 'lt') ? new JRegistry : new Registry; + $registry->loadString($item->params); + + // Merge Event params to app params + $item->params = clone $this->getState('params'); + $item->params->merge($registry); + + // iCagenda event view variables + // $item->typeReg = $item->params->get('typeReg', ''); // DEPRECATED 3.6.0 + // $item->maxNbTicketsPerReg = icagendaRegistration::maxNbTicketsPerReg($item->params); // DEPRECATED (to be refactoried) + // $item->maxNbTickets = icagendaRegistration::maxNbTickets($item); // DEPRECATED 3.6.0 + + $item->typeReg = $item->params->get('typeReg', '1'); + $item->maxReg = $item->params->get('maxReg', '1000000'); + $maxNbTicketsPerReg = icagendaRegistration::maxNbTicketsPerReg($item->params); + + // Set default nb of tickets bookable + $session_date = $session->get('session_date', ''); + + $item->ticketsBookable = icagendaRegistration::getTicketsBookable($item->id, $session_date, $item->typeReg, $item->maxReg, $maxNbTicketsPerReg); + + if ($session_date) { + $item->default_tickets = $item->ticketsBookable; + } + + $item->tickets = ($item->maxReg >= $maxNbTicketsPerReg) ? $maxNbTicketsPerReg : $item->maxReg; + + $item->eventHasPeriod = icagendaEvent::eventHasPeriod($item->period, $item->startdate, $item->enddate); + $item->periodIsNotFinished = icagendaEvent::periodIsNotFinished($item->enddate); + + // Extract the feature details, if needed + if (is_null($item->features)) { + $item->features = array(); + } else { + $db = $this->getDbo(); + $query = $db->getQuery(true); + $query->select('DISTINCT f.icon, f.icon_alt'); + $query->from('`#__icagenda_feature_xref` AS fx'); + $query->innerJoin("`#__icagenda_feature` AS f ON fx.feature_id=f.id AND f.state=1 AND f.icon<>'-1'"); + $query->where('fx.event_id=' . $item->id); + $query->order('f.ordering DESC'); // Order descending because the icons are floated right + $db->setQuery($query); + $item->features = $db->loadObjectList(); + } + } + + $this->_item[$pk] = $item; + } catch (Exception $e) { + if ($e->getCode() == 404) { + // Need to go thru the error handler to allow Redirect to work. + throw new \Exception($e->getMessage(), 404); + } else { + $this->setError($e); + $this->_item[$pk] = false; + } + } + } + + return $this->_item[$pk]; + } + + /** + * Method to get registration data. + * + * @param integer $regid The id of the registration. + * + * @return mixed Registration processed data object on success, false on failure. + * + * @since 3.6.0 + */ + public function getRegistration($regid = null) + { + $app = JFactory::getApplication(); + + $regid = (!empty($regid)) ? $regid : $app->getUserState('com_icagenda.registration.regid', ''); + + if ($regid) { + try { + $db = $this->getDbo(); + $query = $db->getQuery(true) + ->select( + $this->getState( + 'item.select', + 'r.*' + ) + ); + $query->from('#__icagenda_registration AS r'); + $query->where('r.id = ' . (int) $regid); + $db->setQuery($query); + + $registration = $db->loadObject(); + + if (empty($registration)) { + return false; + } + } catch (Exception $e) { + if ($e->getCode() == 404) { + // Need to go thru the error handler to allow Redirect to work. + throw new \Exception($e->getMessage(), 404); + } else { + $this->setError($e); + $registration = false; + } + } + } else { + return false; + } + + return $registration; + } + + /** + * Method to get registrations of the current user for one event. + * + * @param integer $eventID The id of the event. + * + * @since 3.6.13 + */ + public function getParticipantEventRegistrations($eventID = null) // getRegistrationsPublished + { + $app = JFactory::getApplication(); + $user = JFactory::getUser(); + + // $eventID = ( ! empty($eventID)) ? $eventID : $app->input->getInt('id'); + $eventID = (!empty($eventID)) ? $eventID : (int) $this->getState('event.id'); + + if ($eventID && $user->get('id')) { + try { + $db = $this->getDbo(); + $query = $db->getQuery(true); + $query->select('r.id, r.state, r.date, r.period'); + $query->from('#__icagenda_registration AS r'); + $query->where('r.state = 1'); + $query->where('r.eventid = ' . (int) $eventID); + $query->where('r.userid = ' . (int) $user->get('id')); + $db->setQuery($query); + + $registrationIDs = $db->loadObjectList(); + + if (empty($registrationIDs)) { + return false; + } + } catch (Exception $e) { + if ($e->getCode() == 404) { + // Need to go thru the error handler to allow Redirect to work. + throw new \Exception($e->getMessage(), 404); + } else { + $this->setError($e); + $registrationIDs = false; + } + } + } else { + return false; + } + + return $registrationIDs; + } + + private function generateRandomString($length) + { + $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + $charactersLength = strlen($characters); + $randomString = ''; + for ($i = 0; $i < $length; $i++) { + $randomString .= $characters[rand(0, $charactersLength - 1)]; + } + return $randomString; + } + + public function sendEmail($data) + { + $eventid = $data['evt_id']; + $email = $data['email']; + $date = $data['date']; + $url = $data['req_url']; + $country = explode('_', $data['country']); + $ctrID = $country[0]; + $ctrName = $country[1]; + $name = $data['name']; + + $app = JFactory::getApplication(); + $db = JFactory::getDbo(); + + $query = $db->getQuery(true); + $query->select('v.voucher') + ->from('cl_hlusers.vouchers v') + ->where('v.email = "' . $email . '"'); + $db->setQuery($query); + $vouchers = $db->loadObject(); + + if (empty($vouchers) == false) { + $voucher = $vouchers->voucher; + } else { + $voucher = $this->generateRandomString(16); + + $vouchers = new stdClass(); + $vouchers->voucher = $voucher; + $vouchers->email = $email; + JFactory::getDbo()->insertObject('cl_hlusers.vouchers', $vouchers); + } + + $query = $db->getQuery(true); + $query->select('e.*, + e.created_by AS authorID, e.email AS contactemail') + ->from('#__icagenda_events AS e') + ->where('e.id = ' . (int) $eventid); + $db->setQuery($query); + $event = $db->loadObject(); + + $app = JFactory::getApplication(); + $mailer = JFactory::getMailer(); + $adminmailer = JFactory::getMailer(); + + $mailfrom = $app->getCfg('mailfrom'); + $fromname = $app->getCfg('fromname'); + $sitename = $app->getCfg('sitename'); + + $mailer->setSender(array($mailfrom, $fromname)); + $adminmailer->setSender(array($mailfrom, $fromname)); + + $mailer->addRecipient($email); + $adminmailer->addRecipient('info@archlinexp.com'); + + $mailer->addReplyTo($mailfrom, $fromname); + + $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); + $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_NEW'); + $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_NEW'); + + $displayTime = $event->displaytime; + $regDate = strip_tags(icagendaRender::dateToFormat($date)); + $regTime = icagendaRender::dateToTime($date); + + $regDateTime = !empty($displayTime) ? $regDate . ' - ' . $regTime : $regDate; + + $replacements = array( + '[SITENAME]' => $sitename, + '[LINK]' => $url, + '[TITLE]' => $event->title, + '[DATE]' => $regDateTime, + '[EMAIL]' => $email, + '[COUNTRY]' => $ctrName, + '[NAME]' => $name, + '[VOUCHER]' => $voucher + ); + + foreach ($replacements as $key => $value) { + $subject = str_replace($key, $value, $subject); + $body = str_replace($key, $value, $body); + $adminbody = str_replace($key, $value, $adminbody); + } + + $adminsubject = 'Event registration'; + + $mailer->setBody($body); + $adminmailer->setBody($adminbody); + + $mailer->setSubject($subject); + $adminmailer->setSubject($adminsubject); + + $mailer->isHTML(true); + $adminmailer->isHTML(true); + + $send = $mailer->Send(); + if ($_SERVER['REMOTE_ADDR'] != '212.40.89.255') $sendadmin = $adminmailer->Send(); + + $query = $db->getQuery(true); + $query->select('p.email') + ->from('cl_hlusers.partners p') + ->where('p.ctrID = ' . (int) $ctrID); + $db->setQuery($query); + $partner = $db->loadObject(); + + if (empty($partner) == false && $_SERVER['REMOTE_ADDR'] != '212.40.89.255') { + $partnermailer = JFactory::getMailer(); + + $partnermailer->setSender(array($mailfrom, $fromname)); + $partnermailer->addRecipient($partner->email); + $partnermailer->setBody($adminbody); + $partnermailer->setSubject($adminsubject); + $partnermailer->isHTML(true); + + $sendpartner = $partnermailer->Send(); + } + } + + + /** + * Method to send Notification emails. + * + * @since 3.6.13 + */ + private function sendNotificationEmails($reg_data, $data = null) + { + $app = JFactory::getApplication(); + $db = JFactory::getDbo(); + $user = JFactory::getUser(); + + $params = $app->getParams(); + $input = $app->input; + + + $eventid = $reg_data->eventid; + + // Get Event details + $query = $db->getQuery(true); + $query->select('e.*, + e.created_by AS authorID, e.email AS contactemail') + ->from('#__icagenda_events AS e') + ->where('e.id = ' . (int) $eventid); + $db->setQuery($query); + $event = $db->loadObject(); + + + // Set Date in url + $dateInUrl = ($reg_data->date && $params->get('datesDisplay', 1) == 1) + ? '&date=' . iCDate::dateToAlias(date('Y-m-d H:i', strtotime($reg_data->date))) + : ''; + + // Get the "event" URL + $baseURL = JUri::base(); + $subpathURL = JUri::base(true); + + $baseURL = str_replace('/administrator', '', $baseURL); + $subpathURL = str_replace('/administrator', '', $subpathURL); + + // Sub Path filtering + $subpathURL = ltrim($subpathURL, '/'); + + // URL Event Details filtering + $urlEvent = str_replace('&', '&', JRoute::_('index.php?option=com_icagenda&view=event&id=' . (int) $reg_data->eventid . '&Itemid=' . $input->getInt('Itemid') . $dateInUrl)); + $urlEvent = ltrim($urlEvent, '/'); + + if (substr($urlEvent, 0, strlen($subpathURL) + 1) == "$subpathURL/") { + $urlEvent = substr($urlEvent, strlen($subpathURL) + 1); + } + + $urlEvent = rtrim($baseURL, '/') . '/' . ltrim($urlEvent, '/'); + + // URL Registration Cancellation filtering + $urlRegistrationCancel = str_replace('&', '&', JRoute::_('index.php?option=com_icagenda&view=registration&layout=cancel&id=' . (int) $reg_data->eventid . '&Itemid=' . $input->getInt('Itemid'))); + $urlRegistrationCancel = ltrim($urlRegistrationCancel, '/'); + + if (substr($urlRegistrationCancel, 0, strlen($subpathURL) + 1) == "$subpathURL/") { + $urlRegistrationCancel = substr($urlRegistrationCancel, strlen($subpathURL) + 1); + } + + $urlRegistrationCancel = rtrim($baseURL, '/') . '/' . ltrim($urlRegistrationCancel, '/'); + + + $startdate = $event->startdate; + $enddate = $event->enddate; + // $title = $event->title; + $authorID = $event->authorID; + // $contactemail = $event->contactemail; + $displayTime = $event->displaytime; + + $startD = strip_tags(icagendaRender::dateToFormat($startdate)); + $endD = strip_tags(icagendaRender::dateToFormat($enddate)); + $startT = !empty($displayTime) ? icagendaRender::dateToTime($startdate) : ''; + $endT = !empty($displayTime) ? icagendaRender::dateToTime($enddate) : ''; + + $regDate = strip_tags(icagendaRender::dateToFormat($reg_data->date)); + $regTime = icagendaRender::dateToTime($reg_data->date); + + $regDateTime = !empty($displayTime) ? $regDate . ' - ' . $regTime : $regDate; + $regStartDateTime = !empty($displayTime) ? $startD . ' - ' . $startT : $startD; + $regEndDateTime = !empty($displayTime) ? $endD . ' - ' . $endT : $endD; + + $periodreg = $reg_data->period; + + $defaultemail = $params->get('regEmailUser', '1'); + $emailUserSubjectPeriod = $params->get('emailUserSubjectPeriod', ''); + $emailUserBodyPeriod = $params->get('emailUserBodyPeriod', ''); + $emailUserSubjectDate = $params->get('emailUserSubjectDate', ''); + $emailUserBodyDate = $params->get('emailUserBodyDate', ''); + + $emailAdminSend = $params->get('emailAdminSend', '1'); + $emailAdminSend_select = $params->get('emailAdminSend_select', array('0')); + $emailAdminSend_custom = $params->get('emailAdminSend_Placeholder', ''); + + $emailUserSend = $params->get('emailUserSend', '1'); + + $eUSP = isset($emailUserSubjectPeriod) + ? $emailUserSubjectPeriod + : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_SUBJECT'); + + $eUBP = isset($emailUserBodyPeriod) + ? $emailUserBodyPeriod + : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_BODY'); + + $eUSD = isset($emailUserSubjectDate) + ? $emailUserSubjectDate + : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); + + $eUBD = isset($emailUserBodyDate) + ? $emailUserBodyDate + : JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY'); + + $period_set = substr($startdate, 0, 4); + + // Registration Type is set 'for all dates of the event' + if ($periodreg == 1) { + $adminsubject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT'); + $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DATE_DEFAULT_BODY'); + + if ($defaultemail == 0) { + $subject = $eUSP; + $body = $eUBP; + } else { + $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); + $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY'); + } + } + + // Registration Type is 'select list of dates' (single dates + period) + // Period (no date, and period = 0) + elseif ($reg_data->date == '' && !$periodreg) { + $adminsubject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT'); + $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_PERIOD_DEFAULT_BODY'); + + if ($defaultemail == 0) { + $subject = $eUSP; + $body = $eUBP; + } else { + $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_SUBJECT'); + $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_PERIOD_DEFAULT_BODY'); + } + } + + // Registration Type is 'select list of dates' (single dates + period) + // Single date + else { + $adminsubject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DEFAULT_SUBJECT'); + $adminbody = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_ADMIN_DATE_DEFAULT_BODY'); + + if ($defaultemail == 0) { + $subject = $eUSD; + $body = $eUBD; + } else { + $subject = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_SUBJECT'); + $body = JText::_('COM_ICAGENDA_REGISTRATION_EMAIL_USER_DATE_DEFAULT_BODY'); + } + } + + // Get the site name + $sitename = $app->getCfg('sitename'); + + $siteURL = JURI::base(); + $siteURL = rtrim($siteURL, '/'); + + // Get Author Email + $authormail = ''; + + if ($authorID != NULL) { + // Preparing the query + $query = $db->getQuery(true); + $query->select('email AS authormail, name AS authorname')->from('#__users AS u')->where("(u.id=$authorID)"); + $db->setQuery($query); + $result = $db->loadObject(); + + $authormail = $result->authormail; + $authorname = $result->authorname; + + if ($authormail == NULL) { + $authormail = $app->getCfg('mailfrom'); + } + } + + // Generates filled custom fields into email body + $customfields = icagendaCustomfields::getListNotEmpty($reg_data->id, 1); + + $custom_fields = ''; + + $newline = ($defaultemail == '0') ? "
          " : "\n"; + + if ($customfields) { + foreach ($customfields as $customfield) { + $cf_value = isset($customfield->cf_value) ? $customfield->cf_value : JText::_('IC_NOT_SPECIFIED'); + $custom_fields .= JText::_($customfield->cf_title) . ": " . JText::_($cf_value) . $newline; + } + } + + if ($data) { + JPluginHelper::importPlugin('icagenda'); + + $dispatcher = JEventDispatcher::getInstance(); + $replacements = $dispatcher->trigger('iCagendaOnRegistrationActionsCompleteEmail', array('com_icagenda.registration', $data, $reg_data)); + + list($replacements) = $replacements; + + foreach ($replacements as $key => $value) { + $subject = str_replace($key, $value, $subject); + $body = str_replace($key, $value, $body); + $adminsubject = str_replace($key, $value, $adminsubject); + $adminbody = str_replace($key, $value, $adminbody); + } + } + + $date = str_replace(' ', 'T', $event->next) . 'Z'; + $date = str_replace('-', '', $date); + $date = str_replace(':', '', $date); + + $url = 'http://www.google.com/calendar/event?action=TEMPLATE'; + $url .= '&text=' . str_replace(" ", "+", $event->title); + $url .= '&dates=' . $date . '/' . $date; + $url .= '&details=' . html_entity_decode($reg_data->notes); + $url .= '&location=online'; + + // MAIL REPLACEMENTS + $replacements = array( + '[CALENDAR]' => $url, + '[SITENAME]' => $sitename, + '[SITEURL]' => $siteURL, + '[AUTHOR]' => $authorname, + '[AUTHOREMAIL]' => $authormail, + '[CONTACTEMAIL]' => $event->contactemail, + '[TITLE]' => $event->title, + '[SHORTDESC]' => $event->shortdesc, + '[DESC]' => $event->desc, + '[METADESC]' => $event->metadesc, + '[EVENTID]' => (int) $reg_data->eventid, + '[EVENTURL]' => $urlEvent, + '[URL_CANCEL]' => $reg_data->userid + ? $urlRegistrationCancel + : '', + '[NAME]' => $reg_data->name, + '[USERID]' => $reg_data->userid, + '[EMAIL]' => $reg_data->email + ? $reg_data->email + : JText::_('COM_ICAGENDA_NOT_SPECIFIED'), + '[PHONE]' => $reg_data->phone + ? $reg_data->phone + : JText::_('COM_ICAGENDA_NOT_SPECIFIED'), + '[TICKETS]' => $reg_data->people, + '[CUSTOMFIELDS]' => $custom_fields, + '[NOTES]' => html_entity_decode($reg_data->notes), + '[STARTDATE]' => $startD, + '[ENDDATE]' => $endD, + '[DATE]' => $regDate ? $regDate : '', + '[TIME]' => $regDate ? $regTime : '', + '[DATETIME]' => ($periodreg != 1) ? $regDateTime : JText::_('COM_ICAGENDA_REG_FOR_ALL_DATES'), + '[STARTDATETIME]' => $startD ? $regStartDateTime : '', + '[ENDDATETIME]' => $endD ? $regEndDateTime : '', + ' ' => ' ', + '[PLACES]' => $reg_data->people, + ); + + foreach ($replacements as $key => $value) { + $subject = str_replace($key, $value, $subject); + $body = str_replace($key, $value, $body); + $adminsubject = str_replace($key, $value, $adminsubject); + $adminbody = str_replace($key, $value, $adminbody); + } + + // Set Sender of USER and ADMIN emails + $mailer = JFactory::getMailer(); + $adminmailer = JFactory::getMailer(); + + $mailfrom = $app->getCfg('mailfrom'); + $fromname = $app->getCfg('fromname'); + + $mailer->setSender(array($mailfrom, $fromname)); + $adminmailer->setSender(array($mailfrom, $fromname)); + + // Set Recipient of USER email + $user = JFactory::getUser(); + + if (!isset($reg_data->email)) { + $recipient = $user->email; + } else { + $recipient = $reg_data->email; + } + + if ($reg_data->email) { + $mailer->addRecipient($recipient); + } + + // Set Recipient of ADMIN email + $admin_array = array(); + + if (in_array('0', $emailAdminSend_select)) { + array_push($admin_array, $mailfrom); + } + + if (in_array('1', $emailAdminSend_select)) { + if ($adminmailer->validateAddress($authormail)) { + array_push($admin_array, $authormail); + } + } + + if (in_array('2', $emailAdminSend_select)) { + $customs_emails = explode(',', $emailAdminSend_custom); + $customs_emails = str_replace(' ', '', $customs_emails); + + foreach ($customs_emails as $cust_mail) { + if ($adminmailer->validateAddress($cust_mail)) { + array_push($admin_array, $cust_mail); + } + } + } + + if (in_array('3', $emailAdminSend_select)) { + if ($adminmailer->validateAddress($event->contactemail)) { + array_push($admin_array, $event->contactemail); + } + } + + $adminrecipient = count($admin_array) ? $admin_array : $mailfrom; + $adminmailer->addRecipient($adminrecipient); + + // FIX Joomla 3.5.1 issue on some servers, by addition of "Optional" ReplyTo, not previously set. + $mailer->addReplyTo($mailfrom, $fromname); + $adminmailer->addReplyTo($mailfrom, $fromname); + + // Set Subject of USER and ADMIN email + $mailer->setSubject($subject); + $adminmailer->setSubject($adminsubject); + + // Set Body of USER and ADMIN email + if ($defaultemail == 0) { + // HTML custom notification email send to user + $mailer->isHTML(true); + + // JDocs: When sending HTML emails you should normally set the Encoding to base64 + // in order to avoid unwanted characters in the output. + // See https://docs.joomla.org/Sending_email_from_extensions + $mailer->Encoding = 'base64'; // JDocs Sending HTML Email + } + + $adminbody = str_replace("
          ", "\n", $adminbody); + + $mailer->setBody($body); + $adminmailer->setBody($adminbody); + + + // Send USER email confirmation, if enabled + if ( + $emailUserSend == 1 + && isset($reg_data->email) + && $reg_data->email + ) { + $send = $mailer->Send(); + } + + + // Send ADMIN email notification, if enabled + if ( + $emailAdminSend == 1 + && isset($reg_data->eventid) + && $reg_data->eventid != '0' + && $reg_data->name != NULL + ) { + $sendadmin = $adminmailer->Send(); + } + } +} diff --git a/deployed/icagenda/components/com_icagenda/themes/packs/ic_rounded/ic_rounded_event.php b/deployed/icagenda/components/com_icagenda/themes/packs/ic_rounded/ic_rounded_event.php index 55c11dc1..004620ed 100644 --- a/deployed/icagenda/components/com_icagenda/themes/packs/ic_rounded/ic_rounded_event.php +++ b/deployed/icagenda/components/com_icagenda/themes/packs/ic_rounded/ic_rounded_event.php @@ -1,734 +1,734 @@ -enddate, -8); -$enddate = substr($enddate, 0, 5); -$presenters = explode(';', $CUSTOM_FIELDS[0]->value); - -$client = new Google_Client(); -$client->setClientId('427394287601-f5fvh3809726dah7lq7d4pkl4af8p7av.apps.googleusercontent.com'); -$client->setClientSecret('_qMqFv2zuk2b0z7fazwgNuBk'); -$client->setRedirectUri('https://www.archlinexp.com/maintenance/google_redirect.php'); -$client->addScope('email'); -$client->addScope('profile'); - -$authUrl = $client->createAuthUrl(); -?> - - - - - - - -id == 107) { - $eventUrl = 'https://www.archlinexp.com/education/events/2025-update-day-march'; -} -?> - - -
          -
          -
          - -
          - - item); ?> - - - -
          -
          -
          - - - - - -
          - -
          - <?php echo $icon['icon_alt'] ?> -
          - -
          - - - -
          - -
          - - -
          - - -
          - - -
          - -
          - - - - -
          - -
          - -
          - - - -
          -
          -
          - - - slug == 'video_url') : ?> - - - - - - id != 106) : ?> - - -
          - -
          -

          -
          - -

          Premiere starts at startdate, 0, 16) ?> - -

          -
          - - - -
          -
          -
          - Choose your time zone to see when the presentation will air according to your time. -
          -
          - -
          -
          - -
          -
          -
          - - - -
          -
          - -
          -
          - -
          -
          - - - - startdate >= date('Y-m-d H:i:s')) : ?> -

           

          - - -
          -
          - - - -
          - -
          -
          -
          -
          - -
          - - - - - -
          -
          - -
          -
          - -
          - - - -
          - - -

           

          - - - -
          - - -
          - -
          - - -
          - - - -
          - -
          -
          - - - - -
          -
          -
          -
          - - - - -
          -
          -
          -
          -
          - - - - -
          -
          -
          - - - - -
          -
          -
          -
          - - - - -
          -
          -
          -
          - - - - - - title && $FIELD->value && $FIELD->slug != 'video_url' && $FIELD->slug != 'presenter') : ?> -
          -
          title; ?>
          -
          value; ?>
          -
          - - - - - - -
          -
          -
          -
          - -
          - -
          - - -
          - -
          - - - - -

           

          -
          -


          -
          - -
          -
          - - - - -

           

          -
          -

          - -
          - - - - - - + + + + + +id == 107) { + $eventUrl = 'https://www.archlinexp.com/education/events/2025-update-day-march'; +} +?> + + +
          +
          +
          + +
          + + item); ?> + + + +
          +
          +
          + + + + + +
          + +
          + <?php echo $icon['icon_alt'] ?> +
          + +
          + + + +
          + +
          + + +
          + + +
          + + +
          + +
          + + + + +
          + +
          + +
          + + + +
          +
          +
          + + + slug == 'video_url') : ?> + + + + + + id != 106) : ?> + + +
          + +
          +

          +
          + +

          Premiere starts at startdate, 0, 16) ?> + +

          +
          + + + +
          +
          +
          + Choose your time zone to see when the presentation will air according to your time. +
          +
          + +
          +
          + +
          +
          +
          + + + +
          +
          + +
          +
          + +
          +
          + + + + startdate >= date('Y-m-d H:i:s')) : ?> +

           

          + + +
          +
          + + + +
          + +
          +
          +
          +
          + +
          + + + + + +
          +
          + +
          +
          + +
          + + + +
          + + +

           

          + + + +
          + + +
          + +
          + + +
          + + + +
          + +
          +
          + + + + +
          +
          +
          +
          + + + + +
          +
          +
          +
          +
          + + + + +
          +
          +
          + + + + +
          +
          +
          +
          + + + + +
          +
          +
          +
          + + + + + + title && $FIELD->value && $FIELD->slug != 'video_url' && $FIELD->slug != 'presenter') : ?> +
          +
          title; ?>
          +
          value; ?>
          +
          + + + + + + +
          +
          +
          +
          + +
          + +
          + + +
          + +
          + + + + +

           

          +
          +


          +
          + +
          +
          + + + + +

           

          +
          +

          + +
          + + + + + + \ No newline at end of file diff --git a/deployed/icagenda/components/com_icagenda/views/event/view.html.php b/deployed/icagenda/components/com_icagenda/views/event/view.html.php index ed7acbdf..328f7162 100644 --- a/deployed/icagenda/components/com_icagenda/views/event/view.html.php +++ b/deployed/icagenda/components/com_icagenda/views/event/view.html.php @@ -1,382 +1,382 @@ -item = $this->get('Item'); - $this->state = $this->get('State'); - $this->params = $this->state->get('params'); - $this->user = $user; - - $this->timeZones = icagendaEventsData::getAllTimeZone(1); - - if (isset($_POST['change_timezone'])) $_SESSION['timezone'] = $_POST['timezone']; - - $offset = substr($_SESSION['timezone'], 0, strpos($_SESSION['timezone'], "_")); - - $this->item->rerun = icagendaEvent::getCustomField($this->item->id, 'rerun'); - - $rerunEnd = new DateTime($this->item->rerun); - $rerunEnd->modify('+45 minutes'); - $rerunEnd = date_format($rerunEnd, 'Y-m-d H:i'); - - $this->item->rerunEnd = $rerunEnd; - - icagendaEventsData::changeDate($offset, $this->item->startdate, $this->item->enddate); - icagendaEventsData::changeDate($offset, $this->item->rerun, $this->item->rerunEnd); - - // Check for errors. - if (count($errors = $this->get('Errors'))) { - throw new Exception(implode("\n", $errors), 500); - - return false; - } - - // Shortcuts - $item = $this->item; - $params = $this->params; - - // For Dev. - $time_loading = $params->get('time_loading', ''); - - if ($time_loading) { - $starttime_list = iCLibrary::getMicrotime(); - } - - // Check Access - $userLevels = $user->getAuthorisedViewLevels(); - $userGroups = $user->getAuthorisedGroups(); - - $groupid = JComponentHelper::getParams('com_icagenda')->get('approvalGroups', array("8")); - $groupid = is_array($groupid) ? $groupid : array($groupid); - - $uri = JFactory::getUri(); - $return = base64_encode($uri); // Encode Return URL - $rlink = JRoute::_("index.php?option=com_users&view=login&return=$return", false); - - if ( - !in_array('8', $userGroups) - && (!in_array($item->access, $userLevels) - || ($item->approval == 1 && !array_intersect($userGroups, $groupid))) - ) { - if ($user->id) { - $app->enqueueMessage(JText::_('JERROR_LOGIN_DENIED'), 'warning'); - } else { - $app->enqueueMessage(JText::_('JGLOBAL_YOU_MUST_LOGIN_FIRST'), 'info'); - } - - $app->redirect($rlink); - } - - // Load Theme pack layout for event details view - $this->template = $params->get('template', 'ic_rounded'); - $themeEvent = icagendaTheme::getThemeLayout($this->template, 'event'); - - // Check if errors (file missing) - if ($themeEvent[1]) { - $msg = ($themeEvent[1] !== 'deprecated') - ? 'iCagenda ' . JText::_('PHPMAILER_FILE_OPEN') . ' ' . $this->template . '_event.php' - : JText::_('COM_ICAGENDA_ERROR_THEME_PACK_OUTDATED') . '
          ' . - JText::sprintf('COM_ICAGENDA_ERROR_THEME_PACK_EDIT_OR_CHANGE', '' . $this->template . '_list.php'); - $app->enqueueMessage($msg, 'warning'); - - if ($themeEvent[1] !== 'alert') { - return false; - } - } - - $this->themeEvent = $themeEvent[0]; - - - // Component Options - $this->GoogleMaps = $params->get('GoogleMaps', 1); - $this->iconPrint_global = $params->get('iconPrint_global', 0); - $this->iconAddToCal_global = $params->get('iconAddToCal_global', 0); - $this->iconAddToCal_options = $params->get('iconAddToCal_options', 0); // To be checked - - - // Increment the hit counter of the event. - $model = $this->getModel(); - $model->hit(); - - // Check vcal view (ics file for export to calendar) - $vcal = $app->input->get('vcal'); - - if ($vcal) { - $tpl = 'vcal'; - } else { - icagendaInfo::commentVersion(); - } - - - // Content Object needs a "text" property - $item->text = $item->desc; - - // Process the content plugins. - if (version_compare(JVERSION, '3.0', 'lt')) { - $this->dispatcher = JDispatcher::getInstance(); - } else { - $this->dispatcher = JEventDispatcher::getInstance(); - } - - JPluginHelper::importPlugin('content'); - - // $this->dispatcher->trigger('onContentPrepare', array ('com_icagenda.event', &$item, &$this->params, '0')); - - $this->dispatcher->trigger('onEventPrepare', array('com_icagenda.event', &$item, &$this->params)); // @deprecated. Kept for B/C - $this->dispatcher->trigger('iCagendaOnEventPrepare', array('com_icagenda.event', &$item, &$this->params)); - - $item->event = new stdClass; - - $results = $this->dispatcher->trigger('iCagendaOnEventBeforeDisplay', array('com_icagenda.event', &$item, &$this->params)); - $item->event->iCagendaOnEventBeforeDisplay = trim(implode("\n", $results)); - - $results = $this->dispatcher->trigger('iCagendaOnEventAfterDisplay', array('com_icagenda.event', &$item, &$this->params)); - $item->event->iCagendaOnEventAfterDisplay = trim(implode("\n", $results)); - - - // Escape strings for HTML output - $this->pageclass_sfx = htmlspecialchars($this->item->params->get('pageclass_sfx')); - - $this->_prepareDocument(); - - $this->icevent_vars = 'components/com_icagenda/add/elements/icevent_vars.php'; - - parent::display($tpl); - - $this->dispatcher->trigger('onEventAfterDisplay', array('com_icagenda.event', &$item, &$this->params)); // @deprecated. Kept for B/C - - // Loads jQuery Library - if (version_compare(JVERSION, '3.0', 'lt')) { - icagendaThemeJoomla25::loadjQuery(); - } - // Joomla 3 - else { - JHtml::_('bootstrap.framework'); - JHtml::_('jquery.framework'); - } - - // Google Maps api V3 - // @TODO: simplify this loading! - if ( - !empty($item->lng) - && !empty($item->lat) - && $item->lng != '0.0000000000000000' - && $item->lat != '0.0000000000000000' - && $this->GoogleMaps == 1 - ) { - icagendaGooglemaps::loadGMapScripts(); - } - - // Loading Script tipTip used for iCtips - JHtml::script('com_icagenda/jquery.tipTip.js', false, true); - - // Add ic-addtocal tipTip - $iCAddToCal = array(); - $iCAddToCal[] = ' jQuery(document).ready(function(){'; - $iCAddToCal[] = ' jQuery(".ic-addtocal").tipTip({maxWidth: "200px", defaultPosition: "bottom", edgeOffset: 1, activation:"hover", keepAlive: true});'; - $iCAddToCal[] = ' });'; - - // Add the script to the document head. - JFactory::getDocument()->addScriptDeclaration(implode("\n", $iCAddToCal)); - - // Add CSS - $document = Factory::getDocument(); - $document->addStyleSheet('https://www.archlinexp.com/components/com_icagenda/themes/packs/default/css/default_component.css'); - //icagendaTheme::loadComponentCSS($this->template); - icagendaThemeStyle::addMediaCss($this->template, 'component'); - - // For Dev. - if ($time_loading) { - $endtime_list = iCLibrary::getMicrotime(); - - echo '
          Time to create page: ' . round($endtime_list - $starttime_list, 3) . ' seconds
          '; - } - } - - /** - * Prepares the document. - * - * @return void. - */ - protected function _prepareDocument() - { - $app = JFactory::getApplication(); - $menus = $app->getMenu(); - $pathway = $app->getPathway(); - $title = null; - - // Because the application sets a default page title, - // we need to get it from the menu item itself - $menu = $menus->getActive(); - - if ($menu) { - $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); - } else { - $this->params->def('page_heading', JText::_('IC_EVENT')); - } - - $title = $this->params->get('page_title', ''); - - $id = (int) @$menu->query['id']; - - // If the menu item does not concern this event - if ($menu && ($menu->query['option'] != 'com_icagenda' || $menu->query['view'] != 'event' || $id != $this->item->id)) { - // If this is not a single event menu item, set the page title to the event title - if ($this->item->title) { - $title = $this->item->title; - } - - $pathway->addItem($this->item->title, ''); - } - - // Check for empty title and add site name if param is set - if (empty($title)) { - $title = $app->get('sitename'); - } elseif ($app->get('sitename_pagetitles', 0) == 1) { - $title = JText::sprintf('JPAGETITLE', $app->get('sitename'), $title); - } elseif ($app->get('sitename_pagetitles', 0) == 2) { - $title = JText::sprintf('JPAGETITLE', $title, $app->get('sitename')); - } - - if (empty($title)) { - $title = $this->item->title; - } - - $this->document->setTitle($title); - - if ($this->item->metadesc) { - $this->document->setDescription($this->item->metadesc); - } elseif ($this->params->get('menu-meta_description')) { - $this->document->setDescription($this->params->get('menu-meta_description')); - } - - // if ($this->item->metakey) - // { - // $this->document->setMetadata('keywords', $this->item->metakey); - // } - // elseif ($this->params->get('menu-meta_keywords')) - // { - $this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords')); - // } - - if ($this->params->get('robots')) { - $this->document->setMetadata('robots', $this->params->get('robots')); - } - - // if ($app->get('MetaAuthor') == '1') - // { - // $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; - // $this->document->setMetaData('author', $author); - // } - - // $mdata = $this->item->metadata->toArray(); - - // foreach ($mdata as $k => $v) - // { - // if ($v) - // { - // $this->document->setMetadata($k, $v); - // } - // } - - // If there is a pagebreak heading or title, add it to the page title - if (!empty($this->item->page_title)) { - $this->item->title = $this->item->title . ' - ' . $this->item->page_title; - $this->document->setTitle( - $this->item->page_title . ' - ' . JText::sprintf('PLG_CONTENT_PAGEBREAK_PAGE_NUM', $this->state->get('list.offset') + 1) - ); - } - - if ($this->print) { - $this->document->setMetaData('robots', 'noindex, nofollow'); - } - - // Open Graph Tags - $eventTitle = icagendaEvent::setMetaTitle($this->item); - $eventType = 'article'; - $eventImage = $this->item->image; - $imgLink = filter_var($eventImage, FILTER_VALIDATE_URL); - $eventUrl = JUri::getInstance()->toString(); - $sitename = $app->getCfg('sitename'); - $og_desc = icagendaEvent::setMetaDesc($this->item); - - if ($app->input->get('tmpl') != 'component') { - if ($eventTitle) { - $this->document->setTitle($title); - $this->document->addCustomTag(''); - } - if ($eventType) { - $this->document->addCustomTag(''); - } - if ($eventImage) { - if ($imgLink) { - $this->document->addCustomTag(''); - } else { - $this->document->addCustomTag(''); - } - } - if ($eventUrl) { - $this->document->addCustomTag(''); - } - if ($og_desc) { - $this->document->setDescription($og_desc); - $this->document->addCustomTag(''); - } - if ($sitename) { - $this->document->addCustomTag(''); - } - } - } -} +item = $this->get('Item'); + $this->state = $this->get('State'); + $this->params = $this->state->get('params'); + $this->user = $user; + + $this->timeZones = icagendaEventsData::getAllTimeZone(1); + + if (isset($_POST['change_timezone'])) $_SESSION['timezone'] = $_POST['timezone']; + + $offset = substr($_SESSION['timezone'], 0, strpos($_SESSION['timezone'], "_")); + + $this->item->rerun = icagendaEvent::getCustomField($this->item->id, 'rerun'); + + $rerunEnd = new DateTime($this->item->rerun); + $rerunEnd->modify('+45 minutes'); + $rerunEnd = date_format($rerunEnd, 'Y-m-d H:i'); + + $this->item->rerunEnd = $rerunEnd; + + icagendaEventsData::changeDate($offset, $this->item->startdate, $this->item->enddate); + icagendaEventsData::changeDate($offset, $this->item->rerun, $this->item->rerunEnd); + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + throw new Exception(implode("\n", $errors), 500); + + return false; + } + + // Shortcuts + $item = $this->item; + $params = $this->params; + + // For Dev. + $time_loading = $params->get('time_loading', ''); + + if ($time_loading) { + $starttime_list = iCLibrary::getMicrotime(); + } + + // Check Access + $userLevels = $user->getAuthorisedViewLevels(); + $userGroups = $user->getAuthorisedGroups(); + + $groupid = JComponentHelper::getParams('com_icagenda')->get('approvalGroups', array("8")); + $groupid = is_array($groupid) ? $groupid : array($groupid); + + $uri = JFactory::getUri(); + $return = base64_encode($uri); // Encode Return URL + $rlink = JRoute::_("index.php?option=com_users&view=login&return=$return", false); + + if ( + !in_array('8', $userGroups) + && (!in_array($item->access, $userLevels) + || ($item->approval == 1 && !array_intersect($userGroups, $groupid))) + ) { + if ($user->id) { + $app->enqueueMessage(JText::_('JERROR_LOGIN_DENIED'), 'warning'); + } else { + $app->enqueueMessage(JText::_('JGLOBAL_YOU_MUST_LOGIN_FIRST'), 'info'); + } + + $app->redirect($rlink); + } + + // Load Theme pack layout for event details view + $this->template = $params->get('template', 'ic_rounded'); + $themeEvent = icagendaTheme::getThemeLayout($this->template, 'event'); + + // Check if errors (file missing) + if ($themeEvent[1]) { + $msg = ($themeEvent[1] !== 'deprecated') + ? 'iCagenda ' . JText::_('PHPMAILER_FILE_OPEN') . ' ' . $this->template . '_event.php' + : JText::_('COM_ICAGENDA_ERROR_THEME_PACK_OUTDATED') . '
          ' . + JText::sprintf('COM_ICAGENDA_ERROR_THEME_PACK_EDIT_OR_CHANGE', '' . $this->template . '_list.php'); + $app->enqueueMessage($msg, 'warning'); + + if ($themeEvent[1] !== 'alert') { + return false; + } + } + + $this->themeEvent = $themeEvent[0]; + + + // Component Options + $this->GoogleMaps = $params->get('GoogleMaps', 1); + $this->iconPrint_global = $params->get('iconPrint_global', 0); + $this->iconAddToCal_global = $params->get('iconAddToCal_global', 0); + $this->iconAddToCal_options = $params->get('iconAddToCal_options', 0); // To be checked + + + // Increment the hit counter of the event. + $model = $this->getModel(); + $model->hit(); + + // Check vcal view (ics file for export to calendar) + $vcal = $app->input->get('vcal'); + + if ($vcal) { + $tpl = 'vcal'; + } else { + icagendaInfo::commentVersion(); + } + + + // Content Object needs a "text" property + $item->text = $item->desc; + + // Process the content plugins. + if (version_compare(JVERSION, '3.0', 'lt')) { + $this->dispatcher = JDispatcher::getInstance(); + } else { + $this->dispatcher = JEventDispatcher::getInstance(); + } + + JPluginHelper::importPlugin('content'); + + // $this->dispatcher->trigger('onContentPrepare', array ('com_icagenda.event', &$item, &$this->params, '0')); + + $this->dispatcher->trigger('onEventPrepare', array('com_icagenda.event', &$item, &$this->params)); // @deprecated. Kept for B/C + $this->dispatcher->trigger('iCagendaOnEventPrepare', array('com_icagenda.event', &$item, &$this->params)); + + $item->event = new stdClass; + + $results = $this->dispatcher->trigger('iCagendaOnEventBeforeDisplay', array('com_icagenda.event', &$item, &$this->params)); + $item->event->iCagendaOnEventBeforeDisplay = trim(implode("\n", $results)); + + $results = $this->dispatcher->trigger('iCagendaOnEventAfterDisplay', array('com_icagenda.event', &$item, &$this->params)); + $item->event->iCagendaOnEventAfterDisplay = trim(implode("\n", $results)); + + + // Escape strings for HTML output + $this->pageclass_sfx = htmlspecialchars($this->item->params->get('pageclass_sfx')); + + $this->_prepareDocument(); + + $this->icevent_vars = 'components/com_icagenda/add/elements/icevent_vars.php'; + + parent::display($tpl); + + $this->dispatcher->trigger('onEventAfterDisplay', array('com_icagenda.event', &$item, &$this->params)); // @deprecated. Kept for B/C + + // Loads jQuery Library + if (version_compare(JVERSION, '3.0', 'lt')) { + icagendaThemeJoomla25::loadjQuery(); + } + // Joomla 3 + else { + JHtml::_('bootstrap.framework'); + JHtml::_('jquery.framework'); + } + + // Google Maps api V3 + // @TODO: simplify this loading! + if ( + !empty($item->lng) + && !empty($item->lat) + && $item->lng != '0.0000000000000000' + && $item->lat != '0.0000000000000000' + && $this->GoogleMaps == 1 + ) { + icagendaGooglemaps::loadGMapScripts(); + } + + // Loading Script tipTip used for iCtips + JHtml::script('com_icagenda/jquery.tipTip.js', false, true); + + // Add ic-addtocal tipTip + $iCAddToCal = array(); + $iCAddToCal[] = ' jQuery(document).ready(function(){'; + $iCAddToCal[] = ' jQuery(".ic-addtocal").tipTip({maxWidth: "200px", defaultPosition: "bottom", edgeOffset: 1, activation:"hover", keepAlive: true});'; + $iCAddToCal[] = ' });'; + + // Add the script to the document head. + JFactory::getDocument()->addScriptDeclaration(implode("\n", $iCAddToCal)); + + // Add CSS + $document = Factory::getDocument(); + $document->addStyleSheet('https://www.archlinexp.com/components/com_icagenda/themes/packs/default/css/default_component.css'); + //icagendaTheme::loadComponentCSS($this->template); + icagendaThemeStyle::addMediaCss($this->template, 'component'); + + // For Dev. + if ($time_loading) { + $endtime_list = iCLibrary::getMicrotime(); + + echo '
          Time to create page: ' . round($endtime_list - $starttime_list, 3) . ' seconds
          '; + } + } + + /** + * Prepares the document. + * + * @return void. + */ + protected function _prepareDocument() + { + $app = JFactory::getApplication(); + $menus = $app->getMenu(); + $pathway = $app->getPathway(); + $title = null; + + // Because the application sets a default page title, + // we need to get it from the menu item itself + $menu = $menus->getActive(); + + if ($menu) { + $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); + } else { + $this->params->def('page_heading', JText::_('IC_EVENT')); + } + + $title = $this->params->get('page_title', ''); + + $id = (int) @$menu->query['id']; + + // If the menu item does not concern this event + if ($menu && ($menu->query['option'] != 'com_icagenda' || $menu->query['view'] != 'event' || $id != $this->item->id)) { + // If this is not a single event menu item, set the page title to the event title + if ($this->item->title) { + $title = $this->item->title; + } + + $pathway->addItem($this->item->title, ''); + } + + // Check for empty title and add site name if param is set + if (empty($title)) { + $title = $app->get('sitename'); + } elseif ($app->get('sitename_pagetitles', 0) == 1) { + $title = JText::sprintf('JPAGETITLE', $app->get('sitename'), $title); + } elseif ($app->get('sitename_pagetitles', 0) == 2) { + $title = JText::sprintf('JPAGETITLE', $title, $app->get('sitename')); + } + + if (empty($title)) { + $title = $this->item->title; + } + + $this->document->setTitle($title); + + if ($this->item->metadesc) { + $this->document->setDescription($this->item->metadesc); + } elseif ($this->params->get('menu-meta_description')) { + $this->document->setDescription($this->params->get('menu-meta_description')); + } + + // if ($this->item->metakey) + // { + // $this->document->setMetadata('keywords', $this->item->metakey); + // } + // elseif ($this->params->get('menu-meta_keywords')) + // { + $this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords')); + // } + + if ($this->params->get('robots')) { + $this->document->setMetadata('robots', $this->params->get('robots')); + } + + // if ($app->get('MetaAuthor') == '1') + // { + // $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->author; + // $this->document->setMetaData('author', $author); + // } + + // $mdata = $this->item->metadata->toArray(); + + // foreach ($mdata as $k => $v) + // { + // if ($v) + // { + // $this->document->setMetadata($k, $v); + // } + // } + + // If there is a pagebreak heading or title, add it to the page title + if (!empty($this->item->page_title)) { + $this->item->title = $this->item->title . ' - ' . $this->item->page_title; + $this->document->setTitle( + $this->item->page_title . ' - ' . JText::sprintf('PLG_CONTENT_PAGEBREAK_PAGE_NUM', $this->state->get('list.offset') + 1) + ); + } + + if ($this->print) { + $this->document->setMetaData('robots', 'noindex, nofollow'); + } + + // Open Graph Tags + $eventTitle = icagendaEvent::setMetaTitle($this->item); + $eventType = 'article'; + $eventImage = $this->item->image; + $imgLink = filter_var($eventImage, FILTER_VALIDATE_URL); + $eventUrl = JUri::getInstance()->toString(); + $sitename = $app->getCfg('sitename'); + $og_desc = icagendaEvent::setMetaDesc($this->item); + + if ($app->input->get('tmpl') != 'component') { + if ($eventTitle) { + $this->document->setTitle($title); + $this->document->addCustomTag(''); + } + if ($eventType) { + $this->document->addCustomTag(''); + } + if ($eventImage) { + if ($imgLink) { + $this->document->addCustomTag(''); + } else { + $this->document->addCustomTag(''); + } + } + if ($eventUrl) { + $this->document->addCustomTag(''); + } + if ($og_desc) { + $this->document->setDescription($og_desc); + $this->document->addCustomTag(''); + } + if ($sitename) { + $this->document->addCustomTag(''); + } + } + } +} diff --git a/deployed/icagenda/components/com_icagenda/views/list/view.html.php b/deployed/icagenda/components/com_icagenda/views/list/view.html.php index d10a3c92..899e7df6 100644 --- a/deployed/icagenda/components/com_icagenda/views/list/view.html.php +++ b/deployed/icagenda/components/com_icagenda/views/list/view.html.php @@ -1,305 +1,305 @@ -input; - - // Loading data - $items = $this->getModel()->getItems(); - $this->state = $this->get('State'); - $this->params = $this->state->get('params'); - $this->getAllDates = icagendaEventsData::getAllDates(); - //$this->nextItem = $this->getModel()->getNextItem(); - $this->timeZones = icagendaEventsData::getAllTimeZone(2); - - if (isset($_GET['success']) && $_GET['success'] == 'success') { - JFactory::getApplication()->enqueueMessage('Thank you for taking time to register.
          - An email with further details has been sent to the email address you provided.
          - We hope you will enjoy the presentations.'); - } - - if (isset($_POST['change_timezone'])) $_SESSION['timezone'] = $_POST['timezone']; - - $offset = substr($_SESSION['timezone'], 0, strpos($_SESSION['timezone'], "_")); - - // icagendaEventsData::changeDate($offset, $this->nextItem->next, $this->nextItem->enddate); - - // Check for errors. - if (count($errors = $this->get('Errors'))) { - throw new Exception(implode("\n", $errors), 500); - - return false; - } - - // Shortcut for params - $params = $this->params; - - // For Dev. - $time_loading = $params->get('time_loading', ''); - - if ($time_loading) { - $starttime_list = iCLibrary::getMicrotime(); - } - - $getAllDates = $this->getAllDates; - $number = $params->get('number', 5); - - // Process the content plugins. - if (version_compare(JVERSION, '3.0', 'lt')) { - $this->dispatcher = JDispatcher::getInstance(); - } else { - $this->dispatcher = JEventDispatcher::getInstance(); - } - - JPluginHelper::importPlugin('content'); - - $this->dispatcher->trigger('iCagendaOnListPrepare', array('com_icagenda.list', &$items, &$params, &$getAllDates)); - - // Set events for the current page - $new_items = array(); - $evt = array(); - - if (count($getAllDates) > 0) { - $limit = $jinput->get('limit', ''); - $getpage = $jinput->get('page', 1); - - if ($limit != '' && $limit >= 0) { - $number = ($limit == 0) ? count($getAllDates) : (int) $limit; - } - - // Set number of events to be displayed per page - $index = $number * ($getpage - 1); - $currentPageDates = array_slice($getAllDates, $index, $number, true); - - foreach ($currentPageDates as $date_id) { - // Get id and date for each event to be displayed - $ex_date_id = explode('_', $date_id); - $evt[] = $ex_date_id['0']; - $evt_id = $ex_date_id['1']; - - foreach ($items as $item) { - if ($evt_id == $item->id) { - $new_items[] = $item; - } - } - } - } - - $this->items = $new_items; - $this->evt = $evt; - - foreach ($this->items as $item) { - icagendaEventsData::changeDate($offset, $item->next, $item->enddate); - icagendaEventsData::changeDate($offset, $item->rerun, $item->rerunEnd); - } - - // Load Theme pack layout for list - $this->template = $params->get('template', 'default'); - $themeList = icagendaTheme::getThemeLayout($this->template, 'list'); - - // Check if errors (file missing) - if ($themeList[1]) { - $msg = ($themeList[1] !== 'deprecated') - ? 'iCagenda ' . JText::_('PHPMAILER_FILE_OPEN') . ' ' . $this->template . '_list.php' - : JText::_('COM_ICAGENDA_ERROR_THEME_PACK_OUTDATED') . '
          ' - . JText::sprintf('COM_ICAGENDA_ERROR_THEME_PACK_EDIT_OR_CHANGE', '' - . $this->template . '_list.php'); - - $app->enqueueMessage($msg, 'warning'); - - if ($themeList[1] !== 'alert') { - return false; - } - } - - $this->themeList = $themeList[0]; - - // Component Options - $this->cat_description = ($params->get('displayCatDesc_menu', 'global') == 'global') - ? $params->get('CatDesc_global', '0') - : $params->get('displayCatDesc_menu', ''); - - $cat_options = ($params->get('displayCatDesc_menu', 'global') == 'global') - ? $params->get('CatDesc_checkbox', '') - : $params->get('displayCatDesc_checkbox', ''); - - $this->cat_options = is_array($cat_options) ? $cat_options : array(); - $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx')); - - // Set Header and pagination - $countAll = count($getAllDates); - $arrowText = $params->get('arrowtext', 1); - $pagination = $params->get('pagination', 1); - $filters_active = $jinput->get('filter_search') - || $jinput->get('filter_from') - || $jinput->get('filter_to') - || $jinput->get('filter_category') - || $jinput->get('filter_month') - || $jinput->get('filter_year') - ? true - : false; - - $this->header = icagendaList::header($countAll, $number, $filters_active); - $this->pagination = icagendaList::pagination($countAll, $arrowText, $number, $pagination); - $this->sharing = icagendaAddthis::share(); - - - // Define plugin events. - $this->event = new stdClass; - - $results = $this->dispatcher->trigger('iCagendaOnListBeforeDisplay', array('com_icagenda.list', &$this->items, &$this->params)); - $this->event->iCagendaOnListBeforeDisplay = trim(implode("\n", $results)); - - $results = $this->dispatcher->trigger('iCagendaOnListAfterDisplay', array('com_icagenda.list', &$this->items, &$this->params)); - $this->event->iCagendaOnListAfterDisplay = trim(implode("\n", $results)); - - icagendaInfo::commentVersion(); - - $this->_prepareDocument(); - - $this->iclist_vars = 'components/com_icagenda/add/elements/iclist_vars.php'; // icagendaEvent::setVar($evt, $item); - - parent::display($tpl); - - $this->dispatcher->trigger('onListAfterDisplay', array('com_icagenda.list', &$this->items, &$this->params)); // @deprecated. Kept for B/C - - // Loads jQuery Library - if (version_compare(JVERSION, '3.0', 'lt')) { - icagendaThemeJoomla25::loadjQuery(); - } - // Joomla 3 - else { - JHtml::_('bootstrap.framework'); - JHtml::_('jquery.framework'); - } - - // Add CSS - icagendaTheme::loadComponentCSS($this->template); - icagendaThemeStyle::addMediaCss($this->template, 'component'); - - // Loading Script tipTip used for iCtips - JHtml::script('com_icagenda/jquery.tipTip.js', false, true); - - // Add RSS Feeds - $menu = $app->getMenu()->getActive()->id; - - $feed = 'index.php?option=com_icagenda&view=list&Itemid=' . (int) $menu . '&format=feed'; - $rss = array( - 'type' => 'application/rss+xml', - 'title' => 'RSS 2.0', - ); - - $document->addHeadLink(JRoute::_($feed . '&type=rss'), 'alternate', 'rel', $rss); - - // For Dev. - if ($time_loading) { - $endtime_list = iCLibrary::getMicrotime(); - - echo '
          Time to create page: ' . round($endtime_list - $starttime_list, 3) . ' seconds
          '; - } - } - - /** - * Prepares the document - * - * @since 3.6.0 - */ - protected function _prepareDocument() - { - $app = JFactory::getApplication(); - $menus = $app->getMenu(); - $pathway = $app->getPathway(); - $title = null; - $menu = $menus->getActive(); - - if ($menu) { - $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); - } else { - $this->params->def('page_heading', JText::_('JGLOBAL_ARTICLES')); - } - - $title = $this->params->get('page_title', ''); - - if (empty($title)) { - $title = $app->getCfg('sitename'); - } elseif ($app->getCfg('sitename_pagetitles', 0) == 1) { - $title = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $title); - } elseif ($app->getCfg('sitename_pagetitles', 0) == 2) { - $title = JText::sprintf('JPAGETITLE', $title, $app->getCfg('sitename')); - } - - $this->document->setTitle($title); - - if ($this->params->get('menu-meta_description', '')) { - $this->document->setDescription($this->params->get('menu-meta_description', '')); - } - - if ($this->params->get('menu-meta_keywords', '')) { - $this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords', '')); - } - - if ( - $app->getCfg('MetaTitle') == '1' - && $this->params->get('menupage_title', '') - ) { - $this->document->setMetaData('title', $this->params->get('page_title', '')); - } - } -} +input; + + // Loading data + $items = $this->getModel()->getItems(); + $this->state = $this->get('State'); + $this->params = $this->state->get('params'); + $this->getAllDates = icagendaEventsData::getAllDates(); + //$this->nextItem = $this->getModel()->getNextItem(); + $this->timeZones = icagendaEventsData::getAllTimeZone(2); + + if (isset($_GET['success']) && $_GET['success'] == 'success') { + JFactory::getApplication()->enqueueMessage('Thank you for taking time to register.
          + An email with further details has been sent to the email address you provided.
          + We hope you will enjoy the presentations.'); + } + + if (isset($_POST['change_timezone'])) $_SESSION['timezone'] = $_POST['timezone']; + + $offset = substr($_SESSION['timezone'], 0, strpos($_SESSION['timezone'], "_")); + + // icagendaEventsData::changeDate($offset, $this->nextItem->next, $this->nextItem->enddate); + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + throw new Exception(implode("\n", $errors), 500); + + return false; + } + + // Shortcut for params + $params = $this->params; + + // For Dev. + $time_loading = $params->get('time_loading', ''); + + if ($time_loading) { + $starttime_list = iCLibrary::getMicrotime(); + } + + $getAllDates = $this->getAllDates; + $number = $params->get('number', 5); + + // Process the content plugins. + if (version_compare(JVERSION, '3.0', 'lt')) { + $this->dispatcher = JDispatcher::getInstance(); + } else { + $this->dispatcher = JEventDispatcher::getInstance(); + } + + JPluginHelper::importPlugin('content'); + + $this->dispatcher->trigger('iCagendaOnListPrepare', array('com_icagenda.list', &$items, &$params, &$getAllDates)); + + // Set events for the current page + $new_items = array(); + $evt = array(); + + if (count($getAllDates) > 0) { + $limit = $jinput->get('limit', ''); + $getpage = $jinput->get('page', 1); + + if ($limit != '' && $limit >= 0) { + $number = ($limit == 0) ? count($getAllDates) : (int) $limit; + } + + // Set number of events to be displayed per page + $index = $number * ($getpage - 1); + $currentPageDates = array_slice($getAllDates, $index, $number, true); + + foreach ($currentPageDates as $date_id) { + // Get id and date for each event to be displayed + $ex_date_id = explode('_', $date_id); + $evt[] = $ex_date_id['0']; + $evt_id = $ex_date_id['1']; + + foreach ($items as $item) { + if ($evt_id == $item->id) { + $new_items[] = $item; + } + } + } + } + + $this->items = $new_items; + $this->evt = $evt; + + foreach ($this->items as $item) { + icagendaEventsData::changeDate($offset, $item->next, $item->enddate); + icagendaEventsData::changeDate($offset, $item->rerun, $item->rerunEnd); + } + + // Load Theme pack layout for list + $this->template = $params->get('template', 'default'); + $themeList = icagendaTheme::getThemeLayout($this->template, 'list'); + + // Check if errors (file missing) + if ($themeList[1]) { + $msg = ($themeList[1] !== 'deprecated') + ? 'iCagenda ' . JText::_('PHPMAILER_FILE_OPEN') . ' ' . $this->template . '_list.php' + : JText::_('COM_ICAGENDA_ERROR_THEME_PACK_OUTDATED') . '
          ' + . JText::sprintf('COM_ICAGENDA_ERROR_THEME_PACK_EDIT_OR_CHANGE', '' + . $this->template . '_list.php'); + + $app->enqueueMessage($msg, 'warning'); + + if ($themeList[1] !== 'alert') { + return false; + } + } + + $this->themeList = $themeList[0]; + + // Component Options + $this->cat_description = ($params->get('displayCatDesc_menu', 'global') == 'global') + ? $params->get('CatDesc_global', '0') + : $params->get('displayCatDesc_menu', ''); + + $cat_options = ($params->get('displayCatDesc_menu', 'global') == 'global') + ? $params->get('CatDesc_checkbox', '') + : $params->get('displayCatDesc_checkbox', ''); + + $this->cat_options = is_array($cat_options) ? $cat_options : array(); + $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx')); + + // Set Header and pagination + $countAll = count($getAllDates); + $arrowText = $params->get('arrowtext', 1); + $pagination = $params->get('pagination', 1); + $filters_active = $jinput->get('filter_search') + || $jinput->get('filter_from') + || $jinput->get('filter_to') + || $jinput->get('filter_category') + || $jinput->get('filter_month') + || $jinput->get('filter_year') + ? true + : false; + + $this->header = icagendaList::header($countAll, $number, $filters_active); + $this->pagination = icagendaList::pagination($countAll, $arrowText, $number, $pagination); + $this->sharing = icagendaAddthis::share(); + + + // Define plugin events. + $this->event = new stdClass; + + $results = $this->dispatcher->trigger('iCagendaOnListBeforeDisplay', array('com_icagenda.list', &$this->items, &$this->params)); + $this->event->iCagendaOnListBeforeDisplay = trim(implode("\n", $results)); + + $results = $this->dispatcher->trigger('iCagendaOnListAfterDisplay', array('com_icagenda.list', &$this->items, &$this->params)); + $this->event->iCagendaOnListAfterDisplay = trim(implode("\n", $results)); + + icagendaInfo::commentVersion(); + + $this->_prepareDocument(); + + $this->iclist_vars = 'components/com_icagenda/add/elements/iclist_vars.php'; // icagendaEvent::setVar($evt, $item); + + parent::display($tpl); + + $this->dispatcher->trigger('onListAfterDisplay', array('com_icagenda.list', &$this->items, &$this->params)); // @deprecated. Kept for B/C + + // Loads jQuery Library + if (version_compare(JVERSION, '3.0', 'lt')) { + icagendaThemeJoomla25::loadjQuery(); + } + // Joomla 3 + else { + JHtml::_('bootstrap.framework'); + JHtml::_('jquery.framework'); + } + + // Add CSS + icagendaTheme::loadComponentCSS($this->template); + icagendaThemeStyle::addMediaCss($this->template, 'component'); + + // Loading Script tipTip used for iCtips + JHtml::script('com_icagenda/jquery.tipTip.js', false, true); + + // Add RSS Feeds + $menu = $app->getMenu()->getActive()->id; + + $feed = 'index.php?option=com_icagenda&view=list&Itemid=' . (int) $menu . '&format=feed'; + $rss = array( + 'type' => 'application/rss+xml', + 'title' => 'RSS 2.0', + ); + + $document->addHeadLink(JRoute::_($feed . '&type=rss'), 'alternate', 'rel', $rss); + + // For Dev. + if ($time_loading) { + $endtime_list = iCLibrary::getMicrotime(); + + echo '
          Time to create page: ' . round($endtime_list - $starttime_list, 3) . ' seconds
          '; + } + } + + /** + * Prepares the document + * + * @since 3.6.0 + */ + protected function _prepareDocument() + { + $app = JFactory::getApplication(); + $menus = $app->getMenu(); + $pathway = $app->getPathway(); + $title = null; + $menu = $menus->getActive(); + + if ($menu) { + $this->params->def('page_heading', $this->params->get('page_title', $menu->title)); + } else { + $this->params->def('page_heading', JText::_('JGLOBAL_ARTICLES')); + } + + $title = $this->params->get('page_title', ''); + + if (empty($title)) { + $title = $app->getCfg('sitename'); + } elseif ($app->getCfg('sitename_pagetitles', 0) == 1) { + $title = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $title); + } elseif ($app->getCfg('sitename_pagetitles', 0) == 2) { + $title = JText::sprintf('JPAGETITLE', $title, $app->getCfg('sitename')); + } + + $this->document->setTitle($title); + + if ($this->params->get('menu-meta_description', '')) { + $this->document->setDescription($this->params->get('menu-meta_description', '')); + } + + if ($this->params->get('menu-meta_keywords', '')) { + $this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords', '')); + } + + if ( + $app->getCfg('MetaTitle') == '1' + && $this->params->get('menupage_title', '') + ) { + $this->document->setMetaData('title', $this->params->get('page_title', '')); + } + } +} diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/helper.php b/deployed/icemegamenu/modules/mod_icemegamenu/helper.php index 1c7469e5..be550a3b 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/helper.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/helper.php @@ -1,427 +1,427 @@ -_module = $module; - $this->moduleid = $module->id; - $this->loadMediaFiles($params, $module); - } - $this->_params = $params; - } - - public static function buildXML($params) - { - $menu = new IceMenuTree($params); - $app = JFactory::getApplication(); - $items = $app->getMenu(); - $start = $params->get('startLevel'); - $end = $params->get('endLevel'); - $sChild = $params->get('showAllChildren'); - - if($end<$start && $end!=0){ return ""; } - - if(!$sChild){ $end = $start;} - - // Get Menu Items - $rows = $items->getItems('menutype', $params->get('menutype')); - foreach($rows as $key=>$val) - { - if(!(($end!=0 && $rows[$key]->level>=$start && $rows[$key]->level<=$end) ||($end==0 && $rows[$key]->level>=$start))) - { - unset($rows[$key]); - } - } - $maxdepth = $params->get('maxdepth',10); - - // Build Menu Tree root down(orphan proof - child might have lower id than parent) - $user_temp = JFactory::getUser(); - $user = &$user_temp; - $ids = array(); - $ids[1] = true; - $last = null; - $unresolved = array(); - $vertical_direction = $params->get("vertical_direction", "left"); - - // pop the first item until the array is empty if there is any item - if(is_array($rows)) - { - while(count($rows) && !is_null($row = array_shift($rows))) - { - if(array_key_exists($row->parent_id, $ids)) - { - $row->ionly = $params->get('menu_images_link'); - $menu->addNode($params, $row); - // record loaded parents - $ids[$row->id] = true; - } - else - { - // no parent yet so push item to back of list - // SAM: But if the key isn't in the list and we dont _add_ this is infinite, so check the unresolved queue - if(!array_key_exists($row->id, $unresolved) || $unresolved[$row->id] < $maxdepth) - { - array_push($rows, $row); - // so let us do max $maxdepth passes - // TODO: Put a time check in this loop in case we get too close to the PHP timeout - if(!isset($unresolved[$row->id])) $unresolved[$row->id] = 1; - else $unresolved[$row->id]++; - } - } - } - } - return $menu->toXML($vertical_direction); - } - - function &getXML($type, &$params, $decorator) - { - static $xmls; - - if(!isset($xmls[$type])) - { - $cache_temp = JFactory::getCache('mod_icemegamenu'); - $cache = &$cache_temp; - $string = $cache->call(array('modIceMegamenuHelper', 'buildXML'), $params); - $xmls[$type] = $string; - } - // Get document - require_once(JPATH_BASE.DS."modules".DS."mod_icemegamenu".DS."libs".DS."simplexml.php"); - $xml = new JSimpleXML; - $xml->loadString($xmls[$type]); - $doc = &$xml->document; - $app = JFactory::getApplication(); - $menu = $app->getMenu(); - $active = ($menu->getActive()) ? $menu->getActive() : $menu->getDefault(); - $start = $params->get('startLevel'); - $end = $params->get('endLevel'); - $sChild = $params->get('showAllChildren'); - $path = array(); - - // Get subtree - if($doc && is_callable($decorator)) - { - $doc->map($decorator, array('end'=>$end, 'children'=>$sChild)); - } - return $doc; - } - - function render(&$params, $callback) - { - switch($params->get('menu_style', 'list')) - { - case 'list_flat' : - break; - - case 'horiz_flat' : - break; - - case 'vert_indent' : - break; - - default : - // Include the new menu class - $xml = modIceMegamenuHelper::getXML($params->get('menutype'), $params, $callback); - if($xml) - { - $class = $params->get('class_sfx'); - $xml->addAttribute('class', 'icemegamenu'.$class); - - if($tagId = $params->get('tag_id')) - { - $xml->addAttribute('id', $tagId); - } - $result = JFilterOutput::ampReplace($xml->toString((bool)$params->get('show_whitespace'))); - $result = str_replace(array('>','<','"'), array('>','<','"'), $result); - $result = str_replace(array('
            ', '
              '), '', $result); - echo $result; - } - break; - } - } - - /** - * check K2 Existed ? - */ - public static function isK2Existed() - { - return is_file(JPATH_SITE.DS. "components" . DS . "com_k2" . DS . "k2.php"); - } - /** - * check the folder is existed, if not make a directory and set permission is 755 - * - * - * @param array $path - * @access public, - * @return boolean. - */ - public static function makeDir($path) - { - $folders = explode('/', ($path)); - $tmppath = JPATH_SITE.DS.'images'.DS.'icethumbs'.DS; - - if(!file_exists($tmppath)) - { - JFolder::create($tmppath, 0755); - } - for($i = 0; $i < count($folders) - 1; $i ++) - { - if(! file_exists($tmppath . $folders [$i]) && ! JFolder::create($tmppath . $folders [$i], 0755)) - { - return false; - } - $tmppath = $tmppath . $folders [$i] . DS; - } - return true; - } - /** - * check the folder is existed, if not make a directory and set permission is 755 - * - * - * @param array $path - * @access public, - * @return boolean. - */ - public static function renderThumb($path, $width=100, $height=100, $title='', $isThumb=true) - { - - if($isThumb&& $path) - { - $path = str_replace(JURI::base(), '', $path); - $imagSource = JPATH_SITE.DS. str_replace('/', DS, $path); - - if(file_exists($imagSource)) - { - $path = $width."x".$height.'/'.$path; - $thumbPath = JPATH_SITE.DS.'images'.DS.'icethumbs'.DS. str_replace('/', DS, $path); - - if(!file_exists($thumbPath)) - { - $thumb = PhpThumbFactory::create($imagSource); - if(!self::makeDir($path)) - { - return ''; - } - $thumb->adaptiveResize($width, $height); - $thumb->save($thumbPath); - } - $path = JURI::base().'images/icethumbs/'.$path; - } - } - return $path; - } - /** - * Load Modules Joomla By position's name - */ - public function loadModulesByPosition($position='') - { - $modules = JModuleHelper::getModules($position); - if($modules) - { - $document = &JFactory::getDocument(); - $renderer = $document->loadRenderer('module'); - $output=''; - foreach($modules as $module) - { - $output .= '
              '.$renderer->render($module, array('style' => 'raw')).'
              '; - } - return $output; - } - return ; - } - /** - * load css - javascript file. - * - * @param JParameter $params; - * @param JModule $module - * @return void. - */ - public function loadMediaFiles($params, $module) - { - global $app; - $app = JFactory::getApplication(); - $theme_style = $params->get("theme_style","default"); - - $enable_bootrap = $params->get("enable_bootrap", 0); - $resizable_menu = $params->get("resizable_menu", 0); - - $doc = JFactory::getDocument(); - $document = &$doc; - if($enable_bootrap == 1){ - $document->addStyleSheet(JURI::base()."media/jui/css/bootstrap.css"); - $document->addStyleSheet(JURI::base()."media/jui/css/bootstrap-responsive.css"); - $document->addScript(JURI::base()."media/jui/js/bootstrap.min.js"); - } - - - if ( - (!file_exists(JPATH_ROOT.'/templates/'.$app->getTemplate().'/less/iceslideshow.less')) - || ( $app->getTemplate() == "it_therestaurant2") - || ( $app->getTemplate() == "it_planeterath") - || ( $app->getTemplate() == "it_blackwhite2") - || ( $app->getTemplate() == "it_trendyshop") - || ( $app->getTemplate() == "it_cinema3") - ) - { - - if(!defined("MOD_ICEMEGAMENU")) - { - - $css = "templates/".$app->getTemplate()."/html/".$module->module."/css/".$theme_style."_icemegamenu.css"; - $css2 = "templates/".$app->getTemplate()."/html/".$module->module."/css/".$theme_style."_icemegamenu-ie.css"; - if($resizable_menu == 1){ - $css3 = "templates/".$app->getTemplate()."/html/".$module->module."/css/".$theme_style."_icemegamenu-reponsive.css"; - } - if(is_file($css)) { - $document->addStyleSheet($css); - } else { - $css = JURI::base().'modules/'.$module->module.'/themes/'.$params->get('theme_style','default').'/css/'.$theme_style.'_icemegamenu.css'; - $document->addStyleSheet($css); - } - if(is_file($css3)) { - $document->addStyleSheet($css3); - } else { - if($resizable_menu == 1){ - $css3 = JURI::base().'modules/'.$module->module.'/themes/'.$params->get('theme_style','default').'/css/'.$theme_style.'_icemegamenu-reponsive.css'; - } - $document->addStyleSheet($css3); - } - define("MOD_ICEMEGAMENU", 1); - } - } - } - - /** - * get a subtring with the max length setting. - * - * @param string $text; - * @param int $length limit characters showing; - * @param string $replacer; - * @return tring; - */ - public static function substring($text, $length = 100, $isStripedTags=true, $replacer='...') - { - $string = $isStripedTags? strip_tags($text):$text; - return JString::strlen($string) > $length ? JString::substr($string, 0, $length).$replacer: $string; - } -} - -if(!defined('modIceMegaMenuXMLCallbackDefined')) -{ - function modIceMegaMenuXMLCallbackDefinedXMLCallback(&$node, $args) - { - $user = &JFactory::getUser(); - $menu = &JSite::getMenu(); - $active = $menu->getActive(); - $path = isset($active) ? array_reverse($active->tree) : null; - - if(($args['end']) &&($node->attributes('level') >= $args['end'])) - { - $children = $node->children(); - foreach($node->children() as $child) - { - if($child->name() == 'ul') - { - $node->removeChild($child); - } - } - } - - if($node->name() == 'ul') - { - foreach($node->children() as $child) - { - if($child->attributes('access') > $user->get('aid', 0)) - { - $node->removeChild($child); - } - } - } - - if(($node->name() == 'li') && isset($node->ul)) - { - $node->addAttribute('class', 'parent'); - } - - if(isset($path) &&(in_array($node->attributes('id'), $path) || in_array($node->attributes('rel'), $path))) - { - if($node->attributes('class')) - { - $node->addAttribute('class', $node->attributes('class').' active'); - } - else - { - $node->addAttribute('class', 'active'); - } - } - else - { - if(isset($args['children']) && !$args['children']) - { - $children = $node->children(); - foreach($node->children() as $child) - { - if($child->name() == 'ul') - { - $node->removeChild($child); - } - } - } - } - - if(($node->name() == 'li') &&($id = $node->attributes('id'))) - { - if($node->attributes('class')) - { - $node->addAttribute('class', $node->attributes('class').' item'.$id); - } - else - { - $node->addAttribute('class', 'item'.$id); - } - } - - if(isset($path) && $node->attributes('id') == $path[0]) - { - $node->addAttribute('id', 'current'); - } - else - { - $node->removeAttribute('id'); - } - $node->removeAttribute('rel'); - $node->removeAttribute('level'); - $node->removeAttribute('access'); - } - define('modIceMegaMenuXMLCallbackDefined', true); -} +_module = $module; + $this->moduleid = $module->id; + $this->loadMediaFiles($params, $module); + } + $this->_params = $params; + } + + public static function buildXML($params) + { + $menu = new IceMenuTree($params); + $app = JFactory::getApplication(); + $items = $app->getMenu(); + $start = $params->get('startLevel'); + $end = $params->get('endLevel'); + $sChild = $params->get('showAllChildren'); + + if($end<$start && $end!=0){ return ""; } + + if(!$sChild){ $end = $start;} + + // Get Menu Items + $rows = $items->getItems('menutype', $params->get('menutype')); + foreach($rows as $key=>$val) + { + if(!(($end!=0 && $rows[$key]->level>=$start && $rows[$key]->level<=$end) ||($end==0 && $rows[$key]->level>=$start))) + { + unset($rows[$key]); + } + } + $maxdepth = $params->get('maxdepth',10); + + // Build Menu Tree root down(orphan proof - child might have lower id than parent) + $user_temp = JFactory::getUser(); + $user = &$user_temp; + $ids = array(); + $ids[1] = true; + $last = null; + $unresolved = array(); + $vertical_direction = $params->get("vertical_direction", "left"); + + // pop the first item until the array is empty if there is any item + if(is_array($rows)) + { + while(count($rows) && !is_null($row = array_shift($rows))) + { + if(array_key_exists($row->parent_id, $ids)) + { + $row->ionly = $params->get('menu_images_link'); + $menu->addNode($params, $row); + // record loaded parents + $ids[$row->id] = true; + } + else + { + // no parent yet so push item to back of list + // SAM: But if the key isn't in the list and we dont _add_ this is infinite, so check the unresolved queue + if(!array_key_exists($row->id, $unresolved) || $unresolved[$row->id] < $maxdepth) + { + array_push($rows, $row); + // so let us do max $maxdepth passes + // TODO: Put a time check in this loop in case we get too close to the PHP timeout + if(!isset($unresolved[$row->id])) $unresolved[$row->id] = 1; + else $unresolved[$row->id]++; + } + } + } + } + return $menu->toXML($vertical_direction); + } + + function &getXML($type, &$params, $decorator) + { + static $xmls; + + if(!isset($xmls[$type])) + { + $cache_temp = JFactory::getCache('mod_icemegamenu'); + $cache = &$cache_temp; + $string = $cache->call(array('modIceMegamenuHelper', 'buildXML'), $params); + $xmls[$type] = $string; + } + // Get document + require_once(JPATH_BASE.DS."modules".DS."mod_icemegamenu".DS."libs".DS."simplexml.php"); + $xml = new JSimpleXML; + $xml->loadString($xmls[$type]); + $doc = &$xml->document; + $app = JFactory::getApplication(); + $menu = $app->getMenu(); + $active = ($menu->getActive()) ? $menu->getActive() : $menu->getDefault(); + $start = $params->get('startLevel'); + $end = $params->get('endLevel'); + $sChild = $params->get('showAllChildren'); + $path = array(); + + // Get subtree + if($doc && is_callable($decorator)) + { + $doc->map($decorator, array('end'=>$end, 'children'=>$sChild)); + } + return $doc; + } + + function render(&$params, $callback) + { + switch($params->get('menu_style', 'list')) + { + case 'list_flat' : + break; + + case 'horiz_flat' : + break; + + case 'vert_indent' : + break; + + default : + // Include the new menu class + $xml = modIceMegamenuHelper::getXML($params->get('menutype'), $params, $callback); + if($xml) + { + $class = $params->get('class_sfx'); + $xml->addAttribute('class', 'icemegamenu'.$class); + + if($tagId = $params->get('tag_id')) + { + $xml->addAttribute('id', $tagId); + } + $result = JFilterOutput::ampReplace($xml->toString((bool)$params->get('show_whitespace'))); + $result = str_replace(array('>','<','"'), array('>','<','"'), $result); + $result = str_replace(array('
                ', '
                  '), '', $result); + echo $result; + } + break; + } + } + + /** + * check K2 Existed ? + */ + public static function isK2Existed() + { + return is_file(JPATH_SITE.DS. "components" . DS . "com_k2" . DS . "k2.php"); + } + /** + * check the folder is existed, if not make a directory and set permission is 755 + * + * + * @param array $path + * @access public, + * @return boolean. + */ + public static function makeDir($path) + { + $folders = explode('/', ($path)); + $tmppath = JPATH_SITE.DS.'images'.DS.'icethumbs'.DS; + + if(!file_exists($tmppath)) + { + JFolder::create($tmppath, 0755); + } + for($i = 0; $i < count($folders) - 1; $i ++) + { + if(! file_exists($tmppath . $folders [$i]) && ! JFolder::create($tmppath . $folders [$i], 0755)) + { + return false; + } + $tmppath = $tmppath . $folders [$i] . DS; + } + return true; + } + /** + * check the folder is existed, if not make a directory and set permission is 755 + * + * + * @param array $path + * @access public, + * @return boolean. + */ + public static function renderThumb($path, $width=100, $height=100, $title='', $isThumb=true) + { + + if($isThumb&& $path) + { + $path = str_replace(JURI::base(), '', $path); + $imagSource = JPATH_SITE.DS. str_replace('/', DS, $path); + + if(file_exists($imagSource)) + { + $path = $width."x".$height.'/'.$path; + $thumbPath = JPATH_SITE.DS.'images'.DS.'icethumbs'.DS. str_replace('/', DS, $path); + + if(!file_exists($thumbPath)) + { + $thumb = PhpThumbFactory::create($imagSource); + if(!self::makeDir($path)) + { + return ''; + } + $thumb->adaptiveResize($width, $height); + $thumb->save($thumbPath); + } + $path = JURI::base().'images/icethumbs/'.$path; + } + } + return $path; + } + /** + * Load Modules Joomla By position's name + */ + public function loadModulesByPosition($position='') + { + $modules = JModuleHelper::getModules($position); + if($modules) + { + $document = &JFactory::getDocument(); + $renderer = $document->loadRenderer('module'); + $output=''; + foreach($modules as $module) + { + $output .= '
                  '.$renderer->render($module, array('style' => 'raw')).'
                  '; + } + return $output; + } + return ; + } + /** + * load css - javascript file. + * + * @param JParameter $params; + * @param JModule $module + * @return void. + */ + public function loadMediaFiles($params, $module) + { + global $app; + $app = JFactory::getApplication(); + $theme_style = $params->get("theme_style","default"); + + $enable_bootrap = $params->get("enable_bootrap", 0); + $resizable_menu = $params->get("resizable_menu", 0); + + $doc = JFactory::getDocument(); + $document = &$doc; + if($enable_bootrap == 1){ + $document->addStyleSheet(JURI::base()."media/jui/css/bootstrap.css"); + $document->addStyleSheet(JURI::base()."media/jui/css/bootstrap-responsive.css"); + $document->addScript(JURI::base()."media/jui/js/bootstrap.min.js"); + } + + + if ( + (!file_exists(JPATH_ROOT.'/templates/'.$app->getTemplate().'/less/iceslideshow.less')) + || ( $app->getTemplate() == "it_therestaurant2") + || ( $app->getTemplate() == "it_planeterath") + || ( $app->getTemplate() == "it_blackwhite2") + || ( $app->getTemplate() == "it_trendyshop") + || ( $app->getTemplate() == "it_cinema3") + ) + { + + if(!defined("MOD_ICEMEGAMENU")) + { + + $css = "templates/".$app->getTemplate()."/html/".$module->module."/css/".$theme_style."_icemegamenu.css"; + $css2 = "templates/".$app->getTemplate()."/html/".$module->module."/css/".$theme_style."_icemegamenu-ie.css"; + if($resizable_menu == 1){ + $css3 = "templates/".$app->getTemplate()."/html/".$module->module."/css/".$theme_style."_icemegamenu-reponsive.css"; + } + if(is_file($css)) { + $document->addStyleSheet($css); + } else { + $css = JURI::base().'modules/'.$module->module.'/themes/'.$params->get('theme_style','default').'/css/'.$theme_style.'_icemegamenu.css'; + $document->addStyleSheet($css); + } + if(is_file($css3)) { + $document->addStyleSheet($css3); + } else { + if($resizable_menu == 1){ + $css3 = JURI::base().'modules/'.$module->module.'/themes/'.$params->get('theme_style','default').'/css/'.$theme_style.'_icemegamenu-reponsive.css'; + } + $document->addStyleSheet($css3); + } + define("MOD_ICEMEGAMENU", 1); + } + } + } + + /** + * get a subtring with the max length setting. + * + * @param string $text; + * @param int $length limit characters showing; + * @param string $replacer; + * @return tring; + */ + public static function substring($text, $length = 100, $isStripedTags=true, $replacer='...') + { + $string = $isStripedTags? strip_tags($text):$text; + return JString::strlen($string) > $length ? JString::substr($string, 0, $length).$replacer: $string; + } +} + +if(!defined('modIceMegaMenuXMLCallbackDefined')) +{ + function modIceMegaMenuXMLCallbackDefinedXMLCallback(&$node, $args) + { + $user = &JFactory::getUser(); + $menu = &JSite::getMenu(); + $active = $menu->getActive(); + $path = isset($active) ? array_reverse($active->tree) : null; + + if(($args['end']) &&($node->attributes('level') >= $args['end'])) + { + $children = $node->children(); + foreach($node->children() as $child) + { + if($child->name() == 'ul') + { + $node->removeChild($child); + } + } + } + + if($node->name() == 'ul') + { + foreach($node->children() as $child) + { + if($child->attributes('access') > $user->get('aid', 0)) + { + $node->removeChild($child); + } + } + } + + if(($node->name() == 'li') && isset($node->ul)) + { + $node->addAttribute('class', 'parent'); + } + + if(isset($path) &&(in_array($node->attributes('id'), $path) || in_array($node->attributes('rel'), $path))) + { + if($node->attributes('class')) + { + $node->addAttribute('class', $node->attributes('class').' active'); + } + else + { + $node->addAttribute('class', 'active'); + } + } + else + { + if(isset($args['children']) && !$args['children']) + { + $children = $node->children(); + foreach($node->children() as $child) + { + if($child->name() == 'ul') + { + $node->removeChild($child); + } + } + } + } + + if(($node->name() == 'li') &&($id = $node->attributes('id'))) + { + if($node->attributes('class')) + { + $node->addAttribute('class', $node->attributes('class').' item'.$id); + } + else + { + $node->addAttribute('class', 'item'.$id); + } + } + + if(isset($path) && $node->attributes('id') == $path[0]) + { + $node->addAttribute('id', 'current'); + } + else + { + $node->removeAttribute('id'); + } + $node->removeAttribute('rel'); + $node->removeAttribute('level'); + $node->removeAttribute('access'); + } + define('modIceMegaMenuXMLCallbackDefined', true); +} ?> \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/modules.php b/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/modules.php index 9f5e771a..3e718cff 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/modules.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/modules.php @@ -1,41 +1,41 @@ -setQuery($query); - $groups = $db->loadObjectList(); - - $groupHTML = array(); - if ($groups && count ($groups)) { - foreach ($groups as $v=>$t){ - $groupHTML[] = JHTML::_('select.option', $t->id, $t->title); - } - } - $lists = JHTML::_('select.genericlist', $groupHTML, "params[".$name."][]", ' multiple="multiple" size="10" ', 'value', 'text', $value); - - return $lists; - } +setQuery($query); + $groups = $db->loadObjectList(); + + $groupHTML = array(); + if ($groups && count ($groups)) { + foreach ($groups as $v=>$t){ + $groupHTML[] = JHTML::_('select.option', $t->id, $t->title); + } + } + $lists = JHTML::_('select.genericlist', $groupHTML, "params[".$name."][]", ' multiple="multiple" size="10" ', 'value', 'text', $value); + + return $lists; + } } \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/positions.php b/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/positions.php index 5d5f91c7..a361ecc7 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/positions.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/libs/elements/positions.php @@ -1,44 +1,44 @@ -setQuery($query); - $groups = $db->loadObjectList(); - - $groupHTML = array(); - if ($groups && count ($groups)) { - foreach ($groups as $v=>$t){ - $groupHTML[] = JHTML::_('select.option', $t->position, $t->position); - } - } - $lists = JHTML::_('select.genericlist', $groupHTML, "params[".$name."][]", ' multiple="multiple" size="10" ', 'value', 'text', $value); - - return $lists; - } +setQuery($query); + $groups = $db->loadObjectList(); + + $groupHTML = array(); + if ($groups && count ($groups)) { + foreach ($groups as $v=>$t){ + $groupHTML[] = JHTML::_('select.option', $t->position, $t->position); + } + } + $lists = JHTML::_('select.genericlist', $groupHTML, "params[".$name."][]", ' multiple="multiple" size="10" ', 'value', 'text', $value); + + return $lists; + } } \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/libs/menucore.php b/deployed/icemegamenu/modules/mod_icemegamenu/libs/menucore.php index 769c1bf5..ca8ebb5d 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/libs/menucore.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/libs/menucore.php @@ -1,689 +1,689 @@ -_params = &$params; - $this->_root = new IceMenuNode(1, 'ROOT'); - $this->_nodeHash[1] = &$this->_root; - $this->_current = &$this->_root; - $this->getCurrentMenuItem(); - } - - function getCurrentMenuItem() - { - global $mainframe; - $itemId = JRequest::getInt("Itemid",0); - if(!empty($itemId)) - { - $db_temp = JFactory::getDBO(); - $db = &$db_temp; - $parent = $itemId; - while($parent >0) - { - $query = "SELECT id,parent_id FROM #__menu WHERE id = ".$parent; - $db->setQuery($query); - $row = $db->loadObject(); - if(!empty($row)) - { - $parent = $row->parent_id; - if($parent == 1) - { - $itemId = $row->id; - } - } - } - $this->_currentItemId = $itemId; - } - } - - function addNode(&$params, $item) - { - // Get menu item data - $data = $this->_getItemData($params, $item); - // Create the node and add it - $node = new IceMenuNode($item->id, $item->title, $item->access, $data); - $node->setNodeParams($item); - - if(isset($item->mid)) { - $nid = $item->mid; - } else { - $nid = $item->id; - } - - $this->_nodeHash[$nid] =& $node; - $this->_current =& $this->_nodeHash[$item->parent_id]; - - if($item->type == 'menulink' && !empty($item->query['Itemid'])) { - $node->mid = $item->query['Itemid']; - } - - if($this->_current) { - $this->addChild($node, true); - } else { - // sanity check - JError::raiseError(500, 'Orphan Error. Could not find parent for Item '.$item->id); - } - } - - - function toXML($vertical_direction) - { - - // Initialize variables - $this->_current =& $this->_root; - - // Recurse through children if they exist - while($this->_current->hasChildren()) - { - - $this->_buffer .= '
                  '; - } - if($this->_buffer == '') { $this->_buffer = '
                    '; } - return $this->_buffer; - } - - function _getSubmenuByType() - { - $submenu_type = $this->_current->getParam("subtype", "menu"); - $cols = $this->_current->getParam("cols", 1); - $colWidth = $this->_current->getParam("colwidth", '280px'); - $width = $this->_current->getParam("width", '280px'); - - $content = ""; - - switch($submenu_type) - { - case "menu": - $content = $this->_current->link; - break; - case "mod": - require_once(dirname(__FILE__).DS."module_helper.php"); - $modHelper = new IceModuleHelper(); - $content = $modHelper->getContentByModule($this->_current->getParam("modules",""), $cols, $colWidth, $width, $this->_current->title); - $content = str_replace(array("\r\n", "\r"), "\n",$content); - $content = str_replace("\n", "",$content); - $content = ''; - break; - case "pos": - require_once(dirname(__FILE__).DS."module_helper.php"); - $modHelper = new IceModuleHelper(); - $content = $modHelper->getContentByPosition($this->_current->getParam("positions",""), $cols, $colWidth, $width, $this->_current->title); - break; - } - return $content; - } - - function _prepareSubmenuContent($content = "") - { - $item = $this->_current; - $iParams = new JRegistry; - $iParams->loadString($this->_current->params); - $imgalign = 'align="left"'; - $name = ""; - $name = 'title.']]>'; - if($iParams->get('menu_anchor_css')) - { - $document->addStyleSheet($iParams->get('menu_anchor_css')); - } - $image = ""; - if($iParams->get('menu_image')) - { - $image = 'get('menu_image').'" '.$imgalign.' alt="'.$item->alias.'" />'; - } - if($iParams->get("icemega_subtitle", "") != "") - { - $name .=''.$iParams->get("icemega_subtitle","").''; - } - $content = '

                    '.$image.$name.'

                    '; - return $content; - } - - function _getLevelXML($depth, $widthParent=0, $cols_widthParent=0, $colsParent=0, $arr_cols=array(), $parentId=0, $countChild=0, $colsWidth = 0) - { - $depth++; - // Start the item - $rel =(!empty($this->_current->mid)) ? ' rel="'.$this->_current->mid.'"' : ''; - - if($colsParent) - { - if(!isset($this->_level_arr[$parentId])) - { - $this->_level_arr[$parentId]['cols'] = $colsParent; - $this->_level_arr[$parentId]['countcols'] = 1; - $this->_level_arr[$parentId]['arr_cols'] = $arr_cols; - $this->_level_arr[$parentId]['countChild'] = $countChild; - $this->_level_arr[$parentId]['colsWidth'] = $colsWidth; - } - else - { - $this->_level_arr[$parentId]['countcols']++; - } - if(is_array($this->_level_arr[$parentId]['colsWidth'])) - { - if(isset($this->_level_arr[$parentId]['colsWidth'][($this->_level_arr[$parentId]['countcols'])]) && $this->_level_arr[$parentId]['colsWidth'][($this->_level_arr[$parentId]['countcols'])]!='auto') - { - $divWidth = $this->_level_arr[$parentId]['colsWidth'][$this->_level_arr[$parentId]['countcols']]; - } - else $divWidth= $this->_default_width; - } - else - { - $divWidth=($this->_level_arr[$parentId]['colsWidth']=='auto')?$this->_default_width:$this->_level_arr[$parentId]['colsWidth']; - } - - if($this->_level_arr[$parentId]['countcols']==1) - { - $this->_buffer .= '
                    • '; - } - else - { - if(isset($this->_level_arr[$parentId]['arr_cols']['same']) || isset($this->_level_arr[$parentId]['arr_cols']['hasCols'])) - { - $this->_buffer .= '
                        '; - } - else - { - if(array_key_exists(intval($this->_level_arr[$parentId]['countcols']),$this->_level_arr[$parentId]['arr_cols'])) - { - if(is_array($this->_level_arr[$parentId]['colsWidth'])) - { - if(isset($this->_level_arr[$parentId]['colsWidth'][$this->_level_arr[$parentId]['countcols']]) && $this->_level_arr[$parentId]['colsWidth'][($this->_level_arr[$parentId]['countcols'])]!='auto') - { - $divWidth = $this->_level_arr[$parentId]['colsWidth'][$this->_level_arr[$parentId]['countcols']]; - } else $divWidth=$this->_default_width; - } else { $divWidth=($this->_level_arr[$parentId]['colsWidth']=='auto')?$this->_default_width:$this->_level_arr[$parentId]['colsWidth']; } - - $this->_buffer .= '
                          '; - } - } - } - } - - if(!$colsParent) - { - $this->_count_cols=0; - $this->_checkOpenTag = false; - unset($this->_level_arr); - } - - $ClassStyleLi = "iceMenuLiLevel_".$depth; - - //if($depth==1){ $ClassStyleLi = $ClassStyleLi." parent";} - if($this->_current->hasChildren()) {$ClassStyleLi = $ClassStyleLi." mzr-drop parent";} - - $active_class = ""; - if($this->_current->id == $this->_currentItemId || $this->_current->id == JRequest::getVar('Itemid')) - $active_class = " active"; - - $this->_buffer .= '
                        • '; - - $width_parent = $this->_current->getParam("width",'auto'); - $cols_width_parent = $this->_current->getParam("colwidth",'auto'); - $cols_parent = $this->_current->getParam("cols",1); - - $doc = JFactory::getDocument(); - $document =&$doc; - - $submenu_type = $this->_current->getParam("subtype","menu"); - // Append item data - $this->_buffer .= $this->_getSubmenuByType(); - // Recurse through item's children if they exist - $parent_id = $this->_current->id; - - while($this->_current->hasChildren()) - { - $cols = 1; - $cols_width = 0; - $item_class = ""; - if($this->_current->getParam("subtype","") == "mod" || $this->_current->getParam("subtype","") == "menu"){ - $item_class = "icemodules"; - } - $width = $this->_current->getParam("width", '280px'); - $cols = $this->_current->getParam("cols",1); - $cols_width = $this->_current->getParam("colwidth", '280px'); - - $ice_mega_class = $this->_current->getParam("class",""); - - $classStyle = "icesubMenu"; - if($depth==1) $classStyle = "icesubMenu"; - $classStyle .=" ".$item_class; - - $this->_buffer .= '
                            '; - - $currentChild = $this->_current->getChildren(); - $countChild = count($currentChild); - $cols_width = explode(",",$cols_width_parent); - if(!(count($cols_width)>1)) - { - $cols_width = intval($cols_width[0]); - if($cols_width==0) - { - if($width_parent=='auto') - { - $cols_width = 'auto'; - } - else - { - if($cols_parent>=1) - $cols_width = round($width_parent/$cols_parent); - else - $cols_width = $width_parent; - } - } - } - - $cols_width_final = array(); - if($cols_parent==0){ $arr_cols['hasCols'] = false; } - else - { - $eachCols = ceil($countChild/$cols_parent); - $endCount = 0; - $start = 0; - $keyCols = 0; - - for($i=0;$i<$cols_parent;$i++) - { - - if(($i*$eachCols+1)<$countChild ||($i)*$eachCols<$countChild){ - if($i==0){ - - $arr_cols[($i*$eachCols)+1] = intval(($i+1)*$eachCols); - $endCount = $countChild - $eachCols; - $start = $eachCols; - if(is_array($cols_width) && isset($cols_width[$keyCols])) - { - $cols_width_final[($i*$eachCols)+1] = $cols_width[$keyCols]; - $keyCols++; - } - } - else{ - if((($cols_parent-$i) ==($endCount))) - { - ++$start; - $arr_cols[$start] = intval($start); $endCount--; - if(is_array($cols_width) && isset($cols_width[$keyCols])) - { - $cols_width_final[$start] = $cols_width[$keyCols]; - $keyCols++; - } - } - else - { - if(($i+1)*$eachCols>=$countChild) - { - $arr_cols[($i*$eachCols)+1] = intval($countChild); - if(is_array($cols_width) && isset($cols_width[$keyCols])) - { - $cols_width_final[($i*$eachCols)+1] = $cols_width[$keyCols]; - $keyCols++; - } - } - else - { - $arr_cols[($i*$eachCols)+1] = intval(($i+1)*$eachCols); - if(is_array($cols_width) && isset($cols_width[$keyCols])) - { - $cols_width_final[($i*$eachCols)+1] = $cols_width[$keyCols]; - $keyCols++; - } - } - } - } - } - else if(($i*$eachCols+1)==$countChild ||($i+1)*$eachCols>=$countChild){ - $arr_cols[$countChild] = intval($countChild); - if(is_array($cols_width) && isset($cols_width[$keyCols])) - { - $cols_width_final[$countChild] = $cols_width[$keyCols]; - $keyCols++; - } - } - - } - } - if(!(is_array($cols_width) && count($cols_width)>1)) - $cols_width_final = $cols_width; - - /* if set number items for cols */ - if($icemega_cols_items = $this->_current->getParam("cols_items","")){ - $icemega_cols_items = str_replace(array("'",'"','<','>','','(',')'),"", $icemega_cols_items); - $arr_cols_items = explode(',',$icemega_cols_items); - if(!empty($arr_cols_items)) - { - $arr_cols = array(); - $cols_width_final = array(); - $start = 1; - $end = 0; - $total_items = 0; - foreach($arr_cols_items as $key=>$val){ - $total_items += $val; - if($total_items<=$countChild) - { - if($key==0) - { - $arr_cols[1] = $val; - if(isset($cols_width[$key])) - $cols_width_final[1] = $cols_width[$key]; - else - $cols_width_final[1] = 'auto'; - } - else - { - $start = $arr_cols_items[$key-1] + $start; - if($end==0) - $end = $arr_cols_items[$key-1] + $val; - else - $end = $end + $val; - - $arr_cols[$start] = $end; - if(isset($cols_width[$key])) - $cols_width_final[$start] = $cols_width[$key]; - else - $cols_width_final[$start] = 'auto'; - } - } - if($total_items>$countChild && ($total_items-$val)<$countChild) - { - $start = isset($arr_cols_items[$key-1])?($arr_cols_items[$key-1] + $start):$start; - $end = $countChild; - - $arr_cols[$start] = $end; - if(isset($cols_width[$key])) - $cols_width_final[$start] = $cols_width[$key]; - else - $cols_width_final[$start] = 'auto'; - } - - } - } - - } - - foreach($currentChild as $child) - { - $this->_current = & $child; - $this->_getLevelXML($depth, $width_parent, $cols_width_parent, $cols_parent, $arr_cols, $parent_id, $countChild, $cols_width_final); - - } - $this->_buffer .= '
                          '; - } - - // Finish the item - $this->_buffer .= '
                        • '; - - if($colsParent){ - if(isset($this->_level_arr[$parentId]['arr_cols']['same'])) - { - $this->_buffer .= "
                        "; - } - else - { - if(array_search(intval($this->_level_arr[$parentId]['countcols']),$this->_level_arr[$parentId]['arr_cols'])) - { - $this->_buffer .= "
                      "; - } - } - - if($this->_level_arr[$parentId]['countcols']==$this->_level_arr[$parentId]['countChild']) - $this->_buffer .= ""; - } - } - - function _getItemData(&$params, $item) - { - $data = null; - $active_class = ""; - - if($item->id == $this->_currentItemId) - $active_class = "icemega_active"; - // Menu Link is a special type that is a link to another item - if($item->type == 'menulink') - { - $menu = &JSite::getMenu(); - if($newItem = $menu->getItem($item->query['Itemid'])) { - $tmp = clone($newItem); - $tmp->name = 'title.']]>'; - $tmp->mid = $item->id; - $tmp->parent = $item->parent_id; - } else { - return false; - } - } else { - $tmp = clone($item); - $iParams = new JRegistry; - $iParams->loadString($tmp->params); - $tmp->name = 'title.']]>'; - } - $iParams = new JRegistry; - $iParams->loadString($tmp->params); - if($iParams->get('menu-anchor_css',"")) JHTML::stylesheet('', $iParams->get('menu-anchor_css',"")); - - if($params->get('menu_images') && $iParams->get('menu_image') && $iParams->get('menu_image') != -1) { - switch($params->get('menu_images_align', 0)){ - case 0 : - $imgalign='align="left"'; - break; - - case 1 : - $imgalign='align="right"'; - break; - - default : - $imgalign=''; - break; - } - if($iParams->get('menu_anchor_css')) { - $document->addStyleSheet($iParams->get('menu_anchor_css')); - } - $image = ""; - if($iParams->get('menu_image')){ - $image = 'get('menu_image').'" '.$imgalign.' alt="'.$item->alias.'" />'; - } - - } else { - $image = null; - } - - if($iParams->get("icemega_subtitle", "") != "") - { - $tmp->name .=''.$iParams->get("icemega_subtitle","").''; - } - - switch($tmp->type) - { - case 'separator' : - //return ''.$image.$tmp->name.''; - - if($iParams->get("icemega_subtype") == 'mod' || $iParams->get("icemega_subtype") == 'pos') { - //$text = 'window.addEvent("load", function(){if($(\'item-'.$tmp->id.'\') != null)$(\'item-'.$tmp->id.'\').setStyle(\'display\', \'none\')});'; - //$document = &JFactory::getDocument(); - //$document->addScriptDeclaration($text); - } - - $tmp->url = ""; - break; - - case 'url' : - if((strpos($tmp->link, 'index.php?') === 0) &&(strpos($tmp->link, 'Itemid=') === false)) { - $tmp->url = $tmp->link.'&Itemid='.$tmp->id; - } else { - $tmp->url = $tmp->link; - } - break; - case 'alias': - $tmp->url = 'index.php?Itemid='.$tmp->params->get('aliasoptions'); - break; - default : - $router = JSite::getRouter(); - $tmp->url = $router->getMode() == JROUTER_MODE_SEF ? 'index.php?Itemid='.$tmp->id : $tmp->link.'&Itemid='.$tmp->id; - break; - } - $myClass = "iceMenuTitle "; - if($item->level==1) - { - $myClass = "iceMenuTitle "; - } - - // Print a link if it exists - if($tmp->url != null && $iParams->get("icemega_showlink",1)) - { - // Handle SSL links - $iSecure = $iParams->def('secure', 0); - if($tmp->home == 1) { - $tmp->url = JURI::base(); - } elseif(strcasecmp(substr($tmp->url, 0, 4), 'http') &&(strpos($tmp->link, 'index.php?') !== false)) { - $tmp->url = JRoute::_($tmp->url, true, $iSecure); - } else { - $tmp->url = str_replace('&', '&', $tmp->url); - } - - switch($tmp->browserNav) - { - default: - case 0: - // _top - $data = ''.$image.$tmp->name.''; - break; - case 1: - // _blank - $data = ''.$image.$tmp->name.''; - break; - case 2: - // window.open - $attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open'); - - // hrm...this is a bit dickey - $link = str_replace('index.php', 'index2.php', $tmp->url); - $data = ''.$image.$tmp->name.''; - break; - } - } else { - $data = ''.$image.$tmp->name.''; - } - - return $data; - } -} - - -/** - * Main Menu Tree Node Class. - * - * @package Joomla - * @subpackage Menus - * @since 1.5 - */ -class IceMenuNode extends JNode -{ - /** - * Node Title - */ - var $title = null; - - /** - * Node Link - */ - var $link = null; - - /** - * CSS Class for node - */ - var $class = null; - - var $params = null; - - function __construct($id, $title, $access = null, $link = null, $class = null) - { - $this->id = $id; - $this->title = $title; - $this->access = $access; - $this->link = $link; - $this->class = $class; - } - - public function setNodeParams($menu_item = null) - { - if(!empty($menu_item)) - { - $this->params = new JRegistry; - $this->params->loadString($menu_item->params); - } - } - - public function getParam($param_name = "", $value_default = null, $param_surfix = "icemega_") - { - if(!empty($param_name)) - { - $param_name = $param_surfix.$param_name; - $value = $this->params->get($param_name, $value_default); - return $value; - } - if(!empty($value_default)) - return $value_default; - return null; - } -} +_params = &$params; + $this->_root = new IceMenuNode(1, 'ROOT'); + $this->_nodeHash[1] = &$this->_root; + $this->_current = &$this->_root; + $this->getCurrentMenuItem(); + } + + function getCurrentMenuItem() + { + global $mainframe; + $itemId = JRequest::getInt("Itemid",0); + if(!empty($itemId)) + { + $db_temp = JFactory::getDBO(); + $db = &$db_temp; + $parent = $itemId; + while($parent >0) + { + $query = "SELECT id,parent_id FROM #__menu WHERE id = ".$parent; + $db->setQuery($query); + $row = $db->loadObject(); + if(!empty($row)) + { + $parent = $row->parent_id; + if($parent == 1) + { + $itemId = $row->id; + } + } + } + $this->_currentItemId = $itemId; + } + } + + function addNode(&$params, $item) + { + // Get menu item data + $data = $this->_getItemData($params, $item); + // Create the node and add it + $node = new IceMenuNode($item->id, $item->title, $item->access, $data); + $node->setNodeParams($item); + + if(isset($item->mid)) { + $nid = $item->mid; + } else { + $nid = $item->id; + } + + $this->_nodeHash[$nid] =& $node; + $this->_current =& $this->_nodeHash[$item->parent_id]; + + if($item->type == 'menulink' && !empty($item->query['Itemid'])) { + $node->mid = $item->query['Itemid']; + } + + if($this->_current) { + $this->addChild($node, true); + } else { + // sanity check + JError::raiseError(500, 'Orphan Error. Could not find parent for Item '.$item->id); + } + } + + + function toXML($vertical_direction) + { + + // Initialize variables + $this->_current =& $this->_root; + + // Recurse through children if they exist + while($this->_current->hasChildren()) + { + + $this->_buffer .= '
                      '; + } + if($this->_buffer == '') { $this->_buffer = '
                        '; } + return $this->_buffer; + } + + function _getSubmenuByType() + { + $submenu_type = $this->_current->getParam("subtype", "menu"); + $cols = $this->_current->getParam("cols", 1); + $colWidth = $this->_current->getParam("colwidth", '280px'); + $width = $this->_current->getParam("width", '280px'); + + $content = ""; + + switch($submenu_type) + { + case "menu": + $content = $this->_current->link; + break; + case "mod": + require_once(dirname(__FILE__).DS."module_helper.php"); + $modHelper = new IceModuleHelper(); + $content = $modHelper->getContentByModule($this->_current->getParam("modules",""), $cols, $colWidth, $width, $this->_current->title); + $content = str_replace(array("\r\n", "\r"), "\n",$content); + $content = str_replace("\n", "",$content); + $content = ''; + break; + case "pos": + require_once(dirname(__FILE__).DS."module_helper.php"); + $modHelper = new IceModuleHelper(); + $content = $modHelper->getContentByPosition($this->_current->getParam("positions",""), $cols, $colWidth, $width, $this->_current->title); + break; + } + return $content; + } + + function _prepareSubmenuContent($content = "") + { + $item = $this->_current; + $iParams = new JRegistry; + $iParams->loadString($this->_current->params); + $imgalign = 'align="left"'; + $name = ""; + $name = 'title.']]>'; + if($iParams->get('menu_anchor_css')) + { + $document->addStyleSheet($iParams->get('menu_anchor_css')); + } + $image = ""; + if($iParams->get('menu_image')) + { + $image = 'get('menu_image').'" '.$imgalign.' alt="'.$item->alias.'" />'; + } + if($iParams->get("icemega_subtitle", "") != "") + { + $name .=''.$iParams->get("icemega_subtitle","").''; + } + $content = '

                        '.$image.$name.'

                        '; + return $content; + } + + function _getLevelXML($depth, $widthParent=0, $cols_widthParent=0, $colsParent=0, $arr_cols=array(), $parentId=0, $countChild=0, $colsWidth = 0) + { + $depth++; + // Start the item + $rel =(!empty($this->_current->mid)) ? ' rel="'.$this->_current->mid.'"' : ''; + + if($colsParent) + { + if(!isset($this->_level_arr[$parentId])) + { + $this->_level_arr[$parentId]['cols'] = $colsParent; + $this->_level_arr[$parentId]['countcols'] = 1; + $this->_level_arr[$parentId]['arr_cols'] = $arr_cols; + $this->_level_arr[$parentId]['countChild'] = $countChild; + $this->_level_arr[$parentId]['colsWidth'] = $colsWidth; + } + else + { + $this->_level_arr[$parentId]['countcols']++; + } + if(is_array($this->_level_arr[$parentId]['colsWidth'])) + { + if(isset($this->_level_arr[$parentId]['colsWidth'][($this->_level_arr[$parentId]['countcols'])]) && $this->_level_arr[$parentId]['colsWidth'][($this->_level_arr[$parentId]['countcols'])]!='auto') + { + $divWidth = $this->_level_arr[$parentId]['colsWidth'][$this->_level_arr[$parentId]['countcols']]; + } + else $divWidth= $this->_default_width; + } + else + { + $divWidth=($this->_level_arr[$parentId]['colsWidth']=='auto')?$this->_default_width:$this->_level_arr[$parentId]['colsWidth']; + } + + if($this->_level_arr[$parentId]['countcols']==1) + { + $this->_buffer .= '
                        • '; + } + else + { + if(isset($this->_level_arr[$parentId]['arr_cols']['same']) || isset($this->_level_arr[$parentId]['arr_cols']['hasCols'])) + { + $this->_buffer .= '
                            '; + } + else + { + if(array_key_exists(intval($this->_level_arr[$parentId]['countcols']),$this->_level_arr[$parentId]['arr_cols'])) + { + if(is_array($this->_level_arr[$parentId]['colsWidth'])) + { + if(isset($this->_level_arr[$parentId]['colsWidth'][$this->_level_arr[$parentId]['countcols']]) && $this->_level_arr[$parentId]['colsWidth'][($this->_level_arr[$parentId]['countcols'])]!='auto') + { + $divWidth = $this->_level_arr[$parentId]['colsWidth'][$this->_level_arr[$parentId]['countcols']]; + } else $divWidth=$this->_default_width; + } else { $divWidth=($this->_level_arr[$parentId]['colsWidth']=='auto')?$this->_default_width:$this->_level_arr[$parentId]['colsWidth']; } + + $this->_buffer .= '
                              '; + } + } + } + } + + if(!$colsParent) + { + $this->_count_cols=0; + $this->_checkOpenTag = false; + unset($this->_level_arr); + } + + $ClassStyleLi = "iceMenuLiLevel_".$depth; + + //if($depth==1){ $ClassStyleLi = $ClassStyleLi." parent";} + if($this->_current->hasChildren()) {$ClassStyleLi = $ClassStyleLi." mzr-drop parent";} + + $active_class = ""; + if($this->_current->id == $this->_currentItemId || $this->_current->id == JRequest::getVar('Itemid')) + $active_class = " active"; + + $this->_buffer .= '
                            • '; + + $width_parent = $this->_current->getParam("width",'auto'); + $cols_width_parent = $this->_current->getParam("colwidth",'auto'); + $cols_parent = $this->_current->getParam("cols",1); + + $doc = JFactory::getDocument(); + $document =&$doc; + + $submenu_type = $this->_current->getParam("subtype","menu"); + // Append item data + $this->_buffer .= $this->_getSubmenuByType(); + // Recurse through item's children if they exist + $parent_id = $this->_current->id; + + while($this->_current->hasChildren()) + { + $cols = 1; + $cols_width = 0; + $item_class = ""; + if($this->_current->getParam("subtype","") == "mod" || $this->_current->getParam("subtype","") == "menu"){ + $item_class = "icemodules"; + } + $width = $this->_current->getParam("width", '280px'); + $cols = $this->_current->getParam("cols",1); + $cols_width = $this->_current->getParam("colwidth", '280px'); + + $ice_mega_class = $this->_current->getParam("class",""); + + $classStyle = "icesubMenu"; + if($depth==1) $classStyle = "icesubMenu"; + $classStyle .=" ".$item_class; + + $this->_buffer .= '
                                '; + + $currentChild = $this->_current->getChildren(); + $countChild = count($currentChild); + $cols_width = explode(",",$cols_width_parent); + if(!(count($cols_width)>1)) + { + $cols_width = intval($cols_width[0]); + if($cols_width==0) + { + if($width_parent=='auto') + { + $cols_width = 'auto'; + } + else + { + if($cols_parent>=1) + $cols_width = round($width_parent/$cols_parent); + else + $cols_width = $width_parent; + } + } + } + + $cols_width_final = array(); + if($cols_parent==0){ $arr_cols['hasCols'] = false; } + else + { + $eachCols = ceil($countChild/$cols_parent); + $endCount = 0; + $start = 0; + $keyCols = 0; + + for($i=0;$i<$cols_parent;$i++) + { + + if(($i*$eachCols+1)<$countChild ||($i)*$eachCols<$countChild){ + if($i==0){ + + $arr_cols[($i*$eachCols)+1] = intval(($i+1)*$eachCols); + $endCount = $countChild - $eachCols; + $start = $eachCols; + if(is_array($cols_width) && isset($cols_width[$keyCols])) + { + $cols_width_final[($i*$eachCols)+1] = $cols_width[$keyCols]; + $keyCols++; + } + } + else{ + if((($cols_parent-$i) ==($endCount))) + { + ++$start; + $arr_cols[$start] = intval($start); $endCount--; + if(is_array($cols_width) && isset($cols_width[$keyCols])) + { + $cols_width_final[$start] = $cols_width[$keyCols]; + $keyCols++; + } + } + else + { + if(($i+1)*$eachCols>=$countChild) + { + $arr_cols[($i*$eachCols)+1] = intval($countChild); + if(is_array($cols_width) && isset($cols_width[$keyCols])) + { + $cols_width_final[($i*$eachCols)+1] = $cols_width[$keyCols]; + $keyCols++; + } + } + else + { + $arr_cols[($i*$eachCols)+1] = intval(($i+1)*$eachCols); + if(is_array($cols_width) && isset($cols_width[$keyCols])) + { + $cols_width_final[($i*$eachCols)+1] = $cols_width[$keyCols]; + $keyCols++; + } + } + } + } + } + else if(($i*$eachCols+1)==$countChild ||($i+1)*$eachCols>=$countChild){ + $arr_cols[$countChild] = intval($countChild); + if(is_array($cols_width) && isset($cols_width[$keyCols])) + { + $cols_width_final[$countChild] = $cols_width[$keyCols]; + $keyCols++; + } + } + + } + } + if(!(is_array($cols_width) && count($cols_width)>1)) + $cols_width_final = $cols_width; + + /* if set number items for cols */ + if($icemega_cols_items = $this->_current->getParam("cols_items","")){ + $icemega_cols_items = str_replace(array("'",'"','<','>','','(',')'),"", $icemega_cols_items); + $arr_cols_items = explode(',',$icemega_cols_items); + if(!empty($arr_cols_items)) + { + $arr_cols = array(); + $cols_width_final = array(); + $start = 1; + $end = 0; + $total_items = 0; + foreach($arr_cols_items as $key=>$val){ + $total_items += $val; + if($total_items<=$countChild) + { + if($key==0) + { + $arr_cols[1] = $val; + if(isset($cols_width[$key])) + $cols_width_final[1] = $cols_width[$key]; + else + $cols_width_final[1] = 'auto'; + } + else + { + $start = $arr_cols_items[$key-1] + $start; + if($end==0) + $end = $arr_cols_items[$key-1] + $val; + else + $end = $end + $val; + + $arr_cols[$start] = $end; + if(isset($cols_width[$key])) + $cols_width_final[$start] = $cols_width[$key]; + else + $cols_width_final[$start] = 'auto'; + } + } + if($total_items>$countChild && ($total_items-$val)<$countChild) + { + $start = isset($arr_cols_items[$key-1])?($arr_cols_items[$key-1] + $start):$start; + $end = $countChild; + + $arr_cols[$start] = $end; + if(isset($cols_width[$key])) + $cols_width_final[$start] = $cols_width[$key]; + else + $cols_width_final[$start] = 'auto'; + } + + } + } + + } + + foreach($currentChild as $child) + { + $this->_current = & $child; + $this->_getLevelXML($depth, $width_parent, $cols_width_parent, $cols_parent, $arr_cols, $parent_id, $countChild, $cols_width_final); + + } + $this->_buffer .= '
                              '; + } + + // Finish the item + $this->_buffer .= '
                            • '; + + if($colsParent){ + if(isset($this->_level_arr[$parentId]['arr_cols']['same'])) + { + $this->_buffer .= "
                            "; + } + else + { + if(array_search(intval($this->_level_arr[$parentId]['countcols']),$this->_level_arr[$parentId]['arr_cols'])) + { + $this->_buffer .= "
                          "; + } + } + + if($this->_level_arr[$parentId]['countcols']==$this->_level_arr[$parentId]['countChild']) + $this->_buffer .= ""; + } + } + + function _getItemData(&$params, $item) + { + $data = null; + $active_class = ""; + + if($item->id == $this->_currentItemId) + $active_class = "icemega_active"; + // Menu Link is a special type that is a link to another item + if($item->type == 'menulink') + { + $menu = &JSite::getMenu(); + if($newItem = $menu->getItem($item->query['Itemid'])) { + $tmp = clone($newItem); + $tmp->name = 'title.']]>'; + $tmp->mid = $item->id; + $tmp->parent = $item->parent_id; + } else { + return false; + } + } else { + $tmp = clone($item); + $iParams = new JRegistry; + $iParams->loadString($tmp->params); + $tmp->name = 'title.']]>'; + } + $iParams = new JRegistry; + $iParams->loadString($tmp->params); + if($iParams->get('menu-anchor_css',"")) JHTML::stylesheet('', $iParams->get('menu-anchor_css',"")); + + if($params->get('menu_images') && $iParams->get('menu_image') && $iParams->get('menu_image') != -1) { + switch($params->get('menu_images_align', 0)){ + case 0 : + $imgalign='align="left"'; + break; + + case 1 : + $imgalign='align="right"'; + break; + + default : + $imgalign=''; + break; + } + if($iParams->get('menu_anchor_css')) { + $document->addStyleSheet($iParams->get('menu_anchor_css')); + } + $image = ""; + if($iParams->get('menu_image')){ + $image = 'get('menu_image').'" '.$imgalign.' alt="'.$item->alias.'" />'; + } + + } else { + $image = null; + } + + if($iParams->get("icemega_subtitle", "") != "") + { + $tmp->name .=''.$iParams->get("icemega_subtitle","").''; + } + + switch($tmp->type) + { + case 'separator' : + //return ''.$image.$tmp->name.''; + + if($iParams->get("icemega_subtype") == 'mod' || $iParams->get("icemega_subtype") == 'pos') { + //$text = 'window.addEvent("load", function(){if($(\'item-'.$tmp->id.'\') != null)$(\'item-'.$tmp->id.'\').setStyle(\'display\', \'none\')});'; + //$document = &JFactory::getDocument(); + //$document->addScriptDeclaration($text); + } + + $tmp->url = ""; + break; + + case 'url' : + if((strpos($tmp->link, 'index.php?') === 0) &&(strpos($tmp->link, 'Itemid=') === false)) { + $tmp->url = $tmp->link.'&Itemid='.$tmp->id; + } else { + $tmp->url = $tmp->link; + } + break; + case 'alias': + $tmp->url = 'index.php?Itemid='.$tmp->params->get('aliasoptions'); + break; + default : + $router = JSite::getRouter(); + $tmp->url = $router->getMode() == JROUTER_MODE_SEF ? 'index.php?Itemid='.$tmp->id : $tmp->link.'&Itemid='.$tmp->id; + break; + } + $myClass = "iceMenuTitle "; + if($item->level==1) + { + $myClass = "iceMenuTitle "; + } + + // Print a link if it exists + if($tmp->url != null && $iParams->get("icemega_showlink",1)) + { + // Handle SSL links + $iSecure = $iParams->def('secure', 0); + if($tmp->home == 1) { + $tmp->url = JURI::base(); + } elseif(strcasecmp(substr($tmp->url, 0, 4), 'http') &&(strpos($tmp->link, 'index.php?') !== false)) { + $tmp->url = JRoute::_($tmp->url, true, $iSecure); + } else { + $tmp->url = str_replace('&', '&', $tmp->url); + } + + switch($tmp->browserNav) + { + default: + case 0: + // _top + $data = ''.$image.$tmp->name.''; + break; + case 1: + // _blank + $data = ''.$image.$tmp->name.''; + break; + case 2: + // window.open + $attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open'); + + // hrm...this is a bit dickey + $link = str_replace('index.php', 'index2.php', $tmp->url); + $data = ''.$image.$tmp->name.''; + break; + } + } else { + $data = ''.$image.$tmp->name.''; + } + + return $data; + } +} + + +/** + * Main Menu Tree Node Class. + * + * @package Joomla + * @subpackage Menus + * @since 1.5 + */ +class IceMenuNode extends JNode +{ + /** + * Node Title + */ + var $title = null; + + /** + * Node Link + */ + var $link = null; + + /** + * CSS Class for node + */ + var $class = null; + + var $params = null; + + function __construct($id, $title, $access = null, $link = null, $class = null) + { + $this->id = $id; + $this->title = $title; + $this->access = $access; + $this->link = $link; + $this->class = $class; + } + + public function setNodeParams($menu_item = null) + { + if(!empty($menu_item)) + { + $this->params = new JRegistry; + $this->params->loadString($menu_item->params); + } + } + + public function getParam($param_name = "", $value_default = null, $param_surfix = "icemega_") + { + if(!empty($param_name)) + { + $param_name = $param_surfix.$param_name; + $value = $this->params->get($param_name, $value_default); + return $value; + } + if(!empty($value_default)) + return $value_default; + return null; + } +} diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/libs/module_helper.php b/deployed/icemegamenu/modules/mod_icemegamenu/libs/module_helper.php index c790ab57..0521b5da 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/libs/module_helper.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/libs/module_helper.php @@ -1,194 +1,194 @@ -_type = $type; - } - - public function getContentByModule($modules = "", $cols=1, $colWidth='auto', $width=400, $title='') - { - - $content = ""; - if(!empty($modules)) - { - if(!is_array($modules)) $modules = explode("|", $modules); - - $modules = implode(",", $modules); - $list = $this->_getModules($modules); - $content = $this->_renderModule($list , $cols, $colWidth, $width, $title); - } - return $content; - } - - public function getContentByPosition($position = "", $cols=1, $colWidth='auto', $width=400, $title='') - { - $content = ""; - if(!empty($position)) - { - if(!is_array($position)) $position = explode("|", $position); - - $position = implode("','", $position); - $position = "'".$position."'"; - $list = $this->_getModules("", $position); - - $content = $this->_renderModule($list, $cols, $colWidth, $width, $title); - } - return $content; - } - - function _renderModule($list_modules = array(), $cols=1, $colWidth='auto', $width=400, $title='') - { - $content=""; - if(!empty($list_modules)) - { - $doc = JFactory::getDocument(); - $document = &$doc; - $renderer = $document->loadRenderer('module'); - ob_start(); - if(!empty($list_modules)) - { - if($colWidth!='auto') - { - $cols_width = explode(",",$colWidth) ; - if(!(is_array($cols_width) && count($cols_width)>1)) - { - $cols_width = intval($colWidth); - if($cols_width==0) - { - if($cols>=1) $cols_width = round($width/$cols); - else $cols_width = $width; - } - } - } - else - { - $cols_width = 'auto'; - } - - echo '
                          '; - for($i=0; $i<$cols; $i++) - { - - if(isset($list_modules[$i])) - { - if(is_array($cols_width) && isset($cols_width[$i])) - { - $style = "width:".$cols_width[$i]."px;"; - } - else - { - if(intval($cols_width)>0) $style = "width:".intval($cols_width)."px;"; - else $style = "width:auto; "; - } - - if(count($list_modules)==1) $style = "width:auto; "; - - if($cols>1) $style .= "float:left"; - - $module = $list_modules[$i]; - - if(isset($module) && @$module->id) - { - echo '
                          '; - if($module->showtitle) - { - echo ''.$module->title.''; - } - echo $renderer->render($module,array("style"=>"")); - echo '
                          '; - } - } - } - echo '
                          '; - } - $content = ob_get_clean(); - ob_start(); - } - return $content; - } - /** - * Load published modules - * - * @access private - * @return array - */ - function _getModules($module_ids = null, $module_pos = "") - { - global $mainframe; - - $user_temp = JFactory::getUser(); - $user =& $user_temp; - $db_temp = JFactory::getDBO(); - $db =& $db_temp; - - $aid = $user->get('aid', 0); - - $modules = array(); - - $wheremenu = ""; - if(!empty($module_ids)) - { - $wheremenu = " m.id in(".$module_ids.")"; - } - if(!empty($module_pos)) - { - $wheremenu = " m.position in(".$module_pos.")"; - } - - $query = 'SELECT distinct(m.id), title, module, position, content, showtitle, params' - . ' FROM #__modules AS m' - . ' LEFT JOIN #__modules_menu AS mm ON mm.moduleid = m.id' - . ' WHERE ' - . $wheremenu - . ' AND m.published > 0' - . ' ORDER BY position, ordering'; - - $db->setQuery($query); - - if(null ===($modules = $db->loadObjectList())) - { - JError::raiseWarning('SOME_ERROR_CODE', JText::_('Error Loading Modules') . $db->getErrorMsg()); - return false; - } - - $total = count($modules); - for($i = 0; $i < $total; $i++) - { - //determine if this is a custom module - $file = $modules[$i]->module; - $custom = substr($file, 0, 4) == 'mod_' ? 0 : 1; - $modules[$i]->user = $custom; - // CHECK: custom module name is given by the title field, otherwise it's just 'om' ?? - $modules[$i]->name = $custom ? $modules[$i]->title : substr($file, 4); - $modules[$i]->style = null; - $modules[$i]->position = strtolower($modules[$i]->position); - } - return $modules; - } +_type = $type; + } + + public function getContentByModule($modules = "", $cols=1, $colWidth='auto', $width=400, $title='') + { + + $content = ""; + if(!empty($modules)) + { + if(!is_array($modules)) $modules = explode("|", $modules); + + $modules = implode(",", $modules); + $list = $this->_getModules($modules); + $content = $this->_renderModule($list , $cols, $colWidth, $width, $title); + } + return $content; + } + + public function getContentByPosition($position = "", $cols=1, $colWidth='auto', $width=400, $title='') + { + $content = ""; + if(!empty($position)) + { + if(!is_array($position)) $position = explode("|", $position); + + $position = implode("','", $position); + $position = "'".$position."'"; + $list = $this->_getModules("", $position); + + $content = $this->_renderModule($list, $cols, $colWidth, $width, $title); + } + return $content; + } + + function _renderModule($list_modules = array(), $cols=1, $colWidth='auto', $width=400, $title='') + { + $content=""; + if(!empty($list_modules)) + { + $doc = JFactory::getDocument(); + $document = &$doc; + $renderer = $document->loadRenderer('module'); + ob_start(); + if(!empty($list_modules)) + { + if($colWidth!='auto') + { + $cols_width = explode(",",$colWidth) ; + if(!(is_array($cols_width) && count($cols_width)>1)) + { + $cols_width = intval($colWidth); + if($cols_width==0) + { + if($cols>=1) $cols_width = round($width/$cols); + else $cols_width = $width; + } + } + } + else + { + $cols_width = 'auto'; + } + + echo '
                          '; + for($i=0; $i<$cols; $i++) + { + + if(isset($list_modules[$i])) + { + if(is_array($cols_width) && isset($cols_width[$i])) + { + $style = "width:".$cols_width[$i]."px;"; + } + else + { + if(intval($cols_width)>0) $style = "width:".intval($cols_width)."px;"; + else $style = "width:auto; "; + } + + if(count($list_modules)==1) $style = "width:auto; "; + + if($cols>1) $style .= "float:left"; + + $module = $list_modules[$i]; + + if(isset($module) && @$module->id) + { + echo '
                          '; + if($module->showtitle) + { + echo ''.$module->title.''; + } + echo $renderer->render($module,array("style"=>"")); + echo '
                          '; + } + } + } + echo '
                          '; + } + $content = ob_get_clean(); + ob_start(); + } + return $content; + } + /** + * Load published modules + * + * @access private + * @return array + */ + function _getModules($module_ids = null, $module_pos = "") + { + global $mainframe; + + $user_temp = JFactory::getUser(); + $user =& $user_temp; + $db_temp = JFactory::getDBO(); + $db =& $db_temp; + + $aid = $user->get('aid', 0); + + $modules = array(); + + $wheremenu = ""; + if(!empty($module_ids)) + { + $wheremenu = " m.id in(".$module_ids.")"; + } + if(!empty($module_pos)) + { + $wheremenu = " m.position in(".$module_pos.")"; + } + + $query = 'SELECT distinct(m.id), title, module, position, content, showtitle, params' + . ' FROM #__modules AS m' + . ' LEFT JOIN #__modules_menu AS mm ON mm.moduleid = m.id' + . ' WHERE ' + . $wheremenu + . ' AND m.published > 0' + . ' ORDER BY position, ordering'; + + $db->setQuery($query); + + if(null ===($modules = $db->loadObjectList())) + { + JError::raiseWarning('SOME_ERROR_CODE', JText::_('Error Loading Modules') . $db->getErrorMsg()); + return false; + } + + $total = count($modules); + for($i = 0; $i < $total; $i++) + { + //determine if this is a custom module + $file = $modules[$i]->module; + $custom = substr($file, 0, 4) == 'mod_' ? 0 : 1; + $modules[$i]->user = $custom; + // CHECK: custom module name is given by the title field, otherwise it's just 'om' ?? + $modules[$i]->name = $custom ? $modules[$i]->title : substr($file, 4); + $modules[$i]->style = null; + $modules[$i]->position = strtolower($modules[$i]->position); + } + return $modules; + } } \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.php b/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.php index 48750c4b..9a39a07d 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.php @@ -1,116 +1,116 @@ -def('menutype', 'mainmenu'); -$params->def('class_sfx', ''); -$params->def('menu_images', 0); -$params->def('menu_images_align', 0); -$params->def('expand_menu', 0); -$params->def('activate_parent', 0); -$params->def('indent_image', 0); -$params->def('indent_image1', 'indent1.png'); -$params->def('indent_image2', 'indent2.png'); -$params->def('indent_image3', 'indent3.png'); -$params->def('indent_image4', 'indent4.png'); -$params->def('indent_image5', 'indent5.png'); -$params->def('indent_image6', 'indent.png'); -$params->def('spacer', ''); -$params->def('end_spacer', ''); -$params->def('full_active_id', 0); - -/* Added in 1.5 */ -$params->def('startLevel', 0); -$params->def('endLevel', 0); -$params->def('showAllChildren', 0); -$params->def('resizable_menu', 0); - -/*Mega menu settings */ -$activate_action = $params->get("activate_action", "mouseover"); -$deactivate_action = $params->get("deactivate_action", "mouseleave"); -$js_effect = $params->get("js_effect", "slide & fade"); - -$js_duration = $params->get("js_duration", 600); -$js_physics = $params->get("js_physics", "Fx.Transitions.Pow.easeOut"); -$js_hideDelay = $params->get("js_hideDelay", 1000); -$js_opacity = $params->get("js_opacity", 95); -$use_js = $params->get("use_js", 1); - -$vertical_direction = $params->get("vertical_direction", "left"); - - -/*load theme*/ - -$layoutModulePath = JModuleHelper::getLayoutPath($module->module); -$icemegamenu = new modIceMegamenuHelper($module, $params); -require($layoutModulePath); -?> - - -get('theme_style') == 'vertical' and $params->get('vertical_direction') == 'left') { ?> - - - - \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.xml b/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.xml index 882f4437..001b4317 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.xml +++ b/deployed/icemegamenu/modules/mod_icemegamenu/mod_icemegamenu.xml @@ -1,132 +1,132 @@ - - - IceMegaMenu Module - March 2011 - IceTheme - GNU / GPL - info@icetheme.com - http://www.icetheme.com - 3.0.1 - IceMegaMenu extension is a powerful Joomla (module + plugin) to help you take the most from the navigation system. Top features includes ability to split dropdown columns, option to load modules inside the dropdown, works without JavaScript and much more. - - mod_icemegamenu.php - helper.php - index.html - libs - assets - tmpl - themes - - - languages/en-GB/en-GB.mod_icemegamenu.ini - - - - -
                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          - -
                          - - - - - - - - - - - - - - - -
                          - -
                          -
                          + + + IceMegaMenu Module + March 2011 + IceTheme + GNU / GPL + info@icetheme.com + http://www.icetheme.com + 3.0.1 + IceMegaMenu extension is a powerful Joomla (module + plugin) to help you take the most from the navigation system. Top features includes ability to split dropdown columns, option to load modules inside the dropdown, works without JavaScript and much more. + + mod_icemegamenu.php + helper.php + index.html + libs + assets + tmpl + themes + + + languages/en-GB/en-GB.mod_icemegamenu.ini + + + + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          + +
                          + + + + + + + + + + + + + + + +
                          + +
                          +
                          \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-ie.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-ie.css index 7a92bfc6..b62b6593 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-ie.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-ie.css @@ -1,15 +1,15 @@ - /** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - - -.icemegamenu .meganizr > li > div,.icemegamenu .meganizr > li > ul,.icemegamenu .meganizr > li > ul li > ul{ overflow:visible;visibility:visible;display:none;} -.icemegamenu .meganizr > li.mzr-drop:hover > div,.icemegamenu .meganizr > li.mzr-drop:hover > ul,.icemegamenu .meganizr > li > ul li.mzr-drop:hover > ul{display:block;} + /** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + + +.icemegamenu .meganizr > li > div,.icemegamenu .meganizr > li > ul,.icemegamenu .meganizr > li > ul li > ul{ overflow:visible;visibility:visible;display:none;} +.icemegamenu .meganizr > li.mzr-drop:hover > div,.icemegamenu .meganizr > li.mzr-drop:hover > ul,.icemegamenu .meganizr > li > ul li.mzr-drop:hover > ul{display:block;} .icemegamenu .meganizr > li.mzr-home-dark,.icemegamenu .meganizr > li.mzr-home-light{min-width:50px;} \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-reponsive.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-reponsive.css index 2379f72b..cd84e924 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-reponsive.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu-reponsive.css @@ -1,128 +1,128 @@ -/** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - -.collapse { - overflow: hidden} - -@media (min-width: 980px) { - .icemegamenu > ul{ - height:50px!important;} -} - - -@media (max-width: 979px) { - -.ice-megamenu-toggle { - float: right;} - - .ice-megamenu-toggle a { - cursor:pointer; - background: url("../images/mobile_menu_btn.png") no-repeat scroll 0 0 transparent; - display: block; - height: 30px; - margin: 15px 0; - text-indent: -9999px; - width: 30px;} - - -.icemegamenu > ul { background:#eee } - - .ice-megamenu-toggle { display:inline-block; } - .icemegamenu > ul > li{ width: 100%; background:#eee } - - - #icemegamenu > li > ul.icesubMenu { - float: left; - opacity: 1; - max-height:1000px; - position: relative; - padding:0; - top: 0!important; - visibility: visible; - width: 100% !important; - background:#eee} - - - #icemegamenu > li > ul.icesubMenu .iceCols{ width:100%!important;} - #icemegamenu > li > ul.icesubMenu li{ - width:100%!important; - } - #icemegamenu .parent .icemodules{ } - - ul.icesubMenu{border:none} - - ul.icesubMenu li.parent{background:none;} - - - .icemegamenu > ul > li a.iceMenuTitle{ - font-size:15px; - margin:0; - height:auto; - padding-left:15px; - border-bottom:1px dashed #ccc!important} - - .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { - padding-top:0} - - ul.icesubMenu > li a.iceMenuTitle{ - font-size:12px; - margin:0px; - padding-left:35px; - background-position:20px 10px} - - - .icemegamenu > ul > li.active{ - background:none} - - #icemegamenu > li > ul.icesubMenu li > ul{ - float: left; - opacity: 1; - max-height:1000px; - position: relative; - top: 0!important; - visibility: visible; - width: 100% !important; - left: 0; - margin:0px; - padding:0; - border:none; - background:#eee;} - - /* level 2 */ - ul.sub_level_2 li > a.iceMenuTitle { - padding-left: 55px!important; - background-position: 40px 10px!important;} - - /* level 3 */ - ul.sub_level_3 li > a.iceMenuTitle { - padding-left: 75px!important; - background-position: 60px 10px!important;} - - - - /* hide modules */ - .icesubMenu .icemega_cover_module { width: auto !important;} -} - - -@media (max-width: 480px){ - - ul.icesubMenu > li a.iceMenuTitle{ - background:none!important;} - - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_2, - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_3, - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_4{ - left: 0px;} -} - - - +/** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + +.collapse { + overflow: hidden} + +@media (min-width: 980px) { + .icemegamenu > ul{ + height:50px!important;} +} + + +@media (max-width: 979px) { + +.ice-megamenu-toggle { + float: right;} + + .ice-megamenu-toggle a { + cursor:pointer; + background: url("../images/mobile_menu_btn.png") no-repeat scroll 0 0 transparent; + display: block; + height: 30px; + margin: 15px 0; + text-indent: -9999px; + width: 30px;} + + +.icemegamenu > ul { background:#eee } + + .ice-megamenu-toggle { display:inline-block; } + .icemegamenu > ul > li{ width: 100%; background:#eee } + + + #icemegamenu > li > ul.icesubMenu { + float: left; + opacity: 1; + max-height:1000px; + position: relative; + padding:0; + top: 0!important; + visibility: visible; + width: 100% !important; + background:#eee} + + + #icemegamenu > li > ul.icesubMenu .iceCols{ width:100%!important;} + #icemegamenu > li > ul.icesubMenu li{ + width:100%!important; + } + #icemegamenu .parent .icemodules{ } + + ul.icesubMenu{border:none} + + ul.icesubMenu li.parent{background:none;} + + + .icemegamenu > ul > li a.iceMenuTitle{ + font-size:15px; + margin:0; + height:auto; + padding-left:15px; + border-bottom:1px dashed #ccc!important} + + .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { + padding-top:0} + + ul.icesubMenu > li a.iceMenuTitle{ + font-size:12px; + margin:0px; + padding-left:35px; + background-position:20px 10px} + + + .icemegamenu > ul > li.active{ + background:none} + + #icemegamenu > li > ul.icesubMenu li > ul{ + float: left; + opacity: 1; + max-height:1000px; + position: relative; + top: 0!important; + visibility: visible; + width: 100% !important; + left: 0; + margin:0px; + padding:0; + border:none; + background:#eee;} + + /* level 2 */ + ul.sub_level_2 li > a.iceMenuTitle { + padding-left: 55px!important; + background-position: 40px 10px!important;} + + /* level 3 */ + ul.sub_level_3 li > a.iceMenuTitle { + padding-left: 75px!important; + background-position: 60px 10px!important;} + + + + /* hide modules */ + .icesubMenu .icemega_cover_module { width: auto !important;} +} + + +@media (max-width: 480px){ + + ul.icesubMenu > li a.iceMenuTitle{ + background:none!important;} + + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_2, + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_3, + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_4{ + left: 0px;} +} + + + diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu.css index fc198581..13f6f77c 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/clean/css/clean_icemegamenu.css @@ -1,221 +1,221 @@ -/** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2013 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - - Clean Theme - added on 29 April 2013 - - */ - - - /* OpenSans Font emmbed */ -@font-face { - font-family: 'OpenSansRegular'; - src: url('../font/OpenSans-Regular-webfont.eot'); - src: url('../font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../font/OpenSans-Regular-webfont.woff') format('woff'), - url('../font/OpenSans-Regular-webfont.ttf') format('truetype'), - url('../font/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; -} - - - -/* clear some styles */ -.icemegamenu ul, -.icemegamenu li { - list-style-type:none; - padding:0; - margin:0} - - .collapse { - overflow: visible;} - - -/* begin mainmenu */ -.icemegamenu > ul { - position: relative; - margin:0; - padding:0; - z-index: 999; - clear: both; - width: 100%; - height:50px; - background: #eee;} - - .icemegamenu > ul > li { - position: relative; - display: block; - float: left;} - - .icemegamenu > ul > li a.iceMenuTitle { - font-family:OpenSansRegular, Arial, Helvetica, sans-serif; - position: relative; - z-index: 9999; - display: block; - padding: 0 16px; - height:50px; - line-height: 34px; - font-size: 18px; - margin:0 5px 0 0; - color: #666; - text-decoration:none; - text-shadow: 1px 1px 1px #fff; - -webkit-transition: all .25s ease-out; - -moz-transition: all .25s ease-out; - -ms-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out;} - - .icemegamenu > ul > li:hover > a { - background-color:#DEDEDE;} - - .icemegamenu ul > li a.iceMenuTitle:hover, - .icemegamenu ul > li:hover > a.iceMenuTitle, - .icemegamenu ul > ul > li:hover > a.iceMenuTitle, - ul.icesubMenu li.active a.iceMenuTitle { - color: #000 } - - div.icemegamenu ul#icemegamenu li.active a.icemega_active > span.icemega_title { - color: #000 } - - /* subtitles */ - .icemegamenu > ul > li span.icemega_desc { - display:block; - font-size:12px; - font-family:Verdana, Geneva, sans-serif; - padding:0; - line-height:1.25em; - color:#999!important; - margin-bottom: 7px; - margin-top:-8px; - text-shadow:none!important} - - /* when dont have subtitle */ - .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { - padding-top:7px; - display:block} - - - /* when is current */ - .icemegamenu > ul > li.active > a { - background-color:#DEDEDE} - - - - - - /* Submenu */ -ul.icesubMenu { - position: absolute; - z-index: 600; - padding: 0 0 10px; - margin:0; - top: 80px; - left: 0; - visibility:visible; - max-height:0; - overflow:hidden; - opacity: 0; - background: #eee; - border: 1px solid #DEDEDE; - border-top:none; - border-radius: 3px; - -webkit-transition: all .25s ease-out; - -moz-transition: all .25s ease-out; - -ms-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out;} - - - #icemegamenu > li:hover > ul.icesubMenu { - opacity: 1; - max-height:1000px; - overflow:visible; - top: 50px;} - - ul.icesubMenu ul > li { - position:relative;} - - ul.icesubMenu > li a.iceMenuTitle { - height:auto; - display:block; - font-size:14px; - padding:0 0 0 25px; - margin:0; - border-bottom:1px dashed #ccc; - border-radius:0; - background:url(../images/point.png) no-repeat 9px 10px;} - - - /* when is parent */ - ul.icesubMenu li.parent { - background: url(../images/arrow.png) no-repeat 93% 45%;} - - /* hover and active */ - ul.icesubMenu ul > li:hover > a, - ul.icesubMenu ul > li.active > a { - background-color:#DEDEDE;} - - - - -/* Second Level Dropdown */ -ul.sub_level_2, -ul.sub_level_3, -ul.sub_level_4, -ul.sub_level_5 { - top: -1px; - left: 100%; - margin-left:15px; - z-index:99999; - box-shadow:none; - border:1px solid #DEDEDE;} - - - ul.icesubMenu ul > li:hover > ul { - opacity: 1; - max-height:1000px; - overflow:visible; - visibility:visible; - margin-left:-25px;} - - - - -/* Modules inside dropdown */ -.icesubMenu .icemega_cover_module { - padding: 10px 15px; - color:#666;} - - .icesubMenu .icemega_cover_module span.iceModuleTile { - color:#555; - font-size:18px; - text-shadow:1px 1px 1px #fff; - margin-bottom:6px; - display:block;} - - .icesubMenu .icemega_cover_module a {} - - - -/* for the respponsive part -there is antoher CSS file in the same folder */ - -.ice-megamenu-toggle { - display:none} - - - -/* fix when there is no space for the dropdown on the right -it will appear instead on the left */ -.ice_righttoleft{ - left:auto!important; +/** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2013 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + + Clean Theme + added on 29 April 2013 + + */ + + + /* OpenSans Font emmbed */ +@font-face { + font-family: 'OpenSansRegular'; + src: url('../font/OpenSans-Regular-webfont.eot'); + src: url('../font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../font/OpenSans-Regular-webfont.woff') format('woff'), + url('../font/OpenSans-Regular-webfont.ttf') format('truetype'), + url('../font/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); + font-weight: normal; + font-style: normal; +} + + + +/* clear some styles */ +.icemegamenu ul, +.icemegamenu li { + list-style-type:none; + padding:0; + margin:0} + + .collapse { + overflow: visible;} + + +/* begin mainmenu */ +.icemegamenu > ul { + position: relative; + margin:0; + padding:0; + z-index: 999; + clear: both; + width: 100%; + height:50px; + background: #eee;} + + .icemegamenu > ul > li { + position: relative; + display: block; + float: left;} + + .icemegamenu > ul > li a.iceMenuTitle { + font-family:OpenSansRegular, Arial, Helvetica, sans-serif; + position: relative; + z-index: 9999; + display: block; + padding: 0 16px; + height:50px; + line-height: 34px; + font-size: 18px; + margin:0 5px 0 0; + color: #666; + text-decoration:none; + text-shadow: 1px 1px 1px #fff; + -webkit-transition: all .25s ease-out; + -moz-transition: all .25s ease-out; + -ms-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out;} + + .icemegamenu > ul > li:hover > a { + background-color:#DEDEDE;} + + .icemegamenu ul > li a.iceMenuTitle:hover, + .icemegamenu ul > li:hover > a.iceMenuTitle, + .icemegamenu ul > ul > li:hover > a.iceMenuTitle, + ul.icesubMenu li.active a.iceMenuTitle { + color: #000 } + + div.icemegamenu ul#icemegamenu li.active a.icemega_active > span.icemega_title { + color: #000 } + + /* subtitles */ + .icemegamenu > ul > li span.icemega_desc { + display:block; + font-size:12px; + font-family:Verdana, Geneva, sans-serif; + padding:0; + line-height:1.25em; + color:#999!important; + margin-bottom: 7px; + margin-top:-8px; + text-shadow:none!important} + + /* when dont have subtitle */ + .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { + padding-top:7px; + display:block} + + + /* when is current */ + .icemegamenu > ul > li.active > a { + background-color:#DEDEDE} + + + + + + /* Submenu */ +ul.icesubMenu { + position: absolute; + z-index: 600; + padding: 0 0 10px; + margin:0; + top: 80px; + left: 0; + visibility:visible; + max-height:0; + overflow:hidden; + opacity: 0; + background: #eee; + border: 1px solid #DEDEDE; + border-top:none; + border-radius: 3px; + -webkit-transition: all .25s ease-out; + -moz-transition: all .25s ease-out; + -ms-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out;} + + + #icemegamenu > li:hover > ul.icesubMenu { + opacity: 1; + max-height:1000px; + overflow:visible; + top: 50px;} + + ul.icesubMenu ul > li { + position:relative;} + + ul.icesubMenu > li a.iceMenuTitle { + height:auto; + display:block; + font-size:14px; + padding:0 0 0 25px; + margin:0; + border-bottom:1px dashed #ccc; + border-radius:0; + background:url(../images/point.png) no-repeat 9px 10px;} + + + /* when is parent */ + ul.icesubMenu li.parent { + background: url(../images/arrow.png) no-repeat 93% 45%;} + + /* hover and active */ + ul.icesubMenu ul > li:hover > a, + ul.icesubMenu ul > li.active > a { + background-color:#DEDEDE;} + + + + +/* Second Level Dropdown */ +ul.sub_level_2, +ul.sub_level_3, +ul.sub_level_4, +ul.sub_level_5 { + top: -1px; + left: 100%; + margin-left:15px; + z-index:99999; + box-shadow:none; + border:1px solid #DEDEDE;} + + + ul.icesubMenu ul > li:hover > ul { + opacity: 1; + max-height:1000px; + overflow:visible; + visibility:visible; + margin-left:-25px;} + + + + +/* Modules inside dropdown */ +.icesubMenu .icemega_cover_module { + padding: 10px 15px; + color:#666;} + + .icesubMenu .icemega_cover_module span.iceModuleTile { + color:#555; + font-size:18px; + text-shadow:1px 1px 1px #fff; + margin-bottom:6px; + display:block;} + + .icesubMenu .icemega_cover_module a {} + + + +/* for the respponsive part +there is antoher CSS file in the same folder */ + +.ice-megamenu-toggle { + display:none} + + + +/* fix when there is no space for the dropdown on the right +it will appear instead on the left */ +.ice_righttoleft{ + left:auto!important; right:0;} \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-ie.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-ie.css index 7a92bfc6..b62b6593 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-ie.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-ie.css @@ -1,15 +1,15 @@ - /** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - - -.icemegamenu .meganizr > li > div,.icemegamenu .meganizr > li > ul,.icemegamenu .meganizr > li > ul li > ul{ overflow:visible;visibility:visible;display:none;} -.icemegamenu .meganizr > li.mzr-drop:hover > div,.icemegamenu .meganizr > li.mzr-drop:hover > ul,.icemegamenu .meganizr > li > ul li.mzr-drop:hover > ul{display:block;} + /** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + + +.icemegamenu .meganizr > li > div,.icemegamenu .meganizr > li > ul,.icemegamenu .meganizr > li > ul li > ul{ overflow:visible;visibility:visible;display:none;} +.icemegamenu .meganizr > li.mzr-drop:hover > div,.icemegamenu .meganizr > li.mzr-drop:hover > ul,.icemegamenu .meganizr > li > ul li.mzr-drop:hover > ul{display:block;} .icemegamenu .meganizr > li.mzr-home-dark,.icemegamenu .meganizr > li.mzr-home-light{min-width:50px;} \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-reponsive.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-reponsive.css index dcc08446..6a343a29 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-reponsive.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu-reponsive.css @@ -1,113 +1,113 @@ -/** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - - .collapse { - overflow: hidden!important;} - -@media (min-width: 980px) { - .icemegamenu > ul{ - height:50px!important;} -} - - -@media (max-width: 979px) { - -.icemegamenu > ul { background:#222 } - - .ice-megamenu-toggle { display:inline-block; } - .icemegamenu > ul > li{ width: 100%; background:#222 } - - - #icemegamenu > li > ul.icesubMenu { - float: left; - opacity: 1; - max-height:1000px; - position: relative; - padding:0; - top: 0!important; - visibility: visible; - width: 100% !important; - background:#333} - - - #icemegamenu > li > ul.icesubMenu .iceCols{ width:100%!important;} - #icemegamenu > li > ul.icesubMenu li{ - width:100%!important; - } - #icemegamenu .parent .icemodules{ } - - ul.icesubMenu{border:none} - - ul.icesubMenu li.parent{background:none;} - - - .icemegamenu > ul > li a.iceMenuTitle{ - font-size:15px; - height:auto; - padding-left:15px; - border-bottom:1px dotted rgba(255, 255, 255, .2)!important} - - .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { - padding-top:0} - - ul.icesubMenu > li a.iceMenuTitle{ - font-size:12px; - margin:0px; - padding-left:35px; - background-position:20px 10px} - - - .icemegamenu > ul > li.active{ - background:none} - - #icemegamenu > li > ul.icesubMenu li > ul{ - float: left; - opacity: 1; - position: relative; - top: 0!important; - visibility: visible; - width: 100% !important; - left: 0; - margin:0px; - padding:0; - border:none; - max-height:1000px; - background:#333;} - - /* level 2 */ - ul.sub_level_2 li > a.iceMenuTitle { - padding-left: 55px!important; - background-position: 40px 10px!important;} - - /* level 3 */ - ul.sub_level_3 li > a.iceMenuTitle { - padding-left: 75px!important; - background-position: 60px 10px!important;} - - - /* hide modules */ - .icesubMenu .icemega_cover_module { width: auto !important;} -} - - -@media (max-width: 480px){ - - ul.icesubMenu > li a.iceMenuTitle{ - background:none!important;} - - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_2, - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_3, - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_4{ - left: 0px;} -} - - - +/** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + + .collapse { + overflow: hidden!important;} + +@media (min-width: 980px) { + .icemegamenu > ul{ + height:50px!important;} +} + + +@media (max-width: 979px) { + +.icemegamenu > ul { background:#222 } + + .ice-megamenu-toggle { display:inline-block; } + .icemegamenu > ul > li{ width: 100%; background:#222 } + + + #icemegamenu > li > ul.icesubMenu { + float: left; + opacity: 1; + max-height:1000px; + position: relative; + padding:0; + top: 0!important; + visibility: visible; + width: 100% !important; + background:#333} + + + #icemegamenu > li > ul.icesubMenu .iceCols{ width:100%!important;} + #icemegamenu > li > ul.icesubMenu li{ + width:100%!important; + } + #icemegamenu .parent .icemodules{ } + + ul.icesubMenu{border:none} + + ul.icesubMenu li.parent{background:none;} + + + .icemegamenu > ul > li a.iceMenuTitle{ + font-size:15px; + height:auto; + padding-left:15px; + border-bottom:1px dotted rgba(255, 255, 255, .2)!important} + + .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { + padding-top:0} + + ul.icesubMenu > li a.iceMenuTitle{ + font-size:12px; + margin:0px; + padding-left:35px; + background-position:20px 10px} + + + .icemegamenu > ul > li.active{ + background:none} + + #icemegamenu > li > ul.icesubMenu li > ul{ + float: left; + opacity: 1; + position: relative; + top: 0!important; + visibility: visible; + width: 100% !important; + left: 0; + margin:0px; + padding:0; + border:none; + max-height:1000px; + background:#333;} + + /* level 2 */ + ul.sub_level_2 li > a.iceMenuTitle { + padding-left: 55px!important; + background-position: 40px 10px!important;} + + /* level 3 */ + ul.sub_level_3 li > a.iceMenuTitle { + padding-left: 75px!important; + background-position: 60px 10px!important;} + + + /* hide modules */ + .icesubMenu .icemega_cover_module { width: auto !important;} +} + + +@media (max-width: 480px){ + + ul.icesubMenu > li a.iceMenuTitle{ + background:none!important;} + + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_2, + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_3, + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_4{ + left: 0px;} +} + + + diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu.css index ec2f7174..c1093ea0 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/default/css/default_icemegamenu.css @@ -1,209 +1,209 @@ -/** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - -/* clear some styles */ -.icemegamenu ul, -.icemegamenu li { - list-style-type:none; - padding:0; - margin:0} - -.collapse { - overflow: visible!important;} - -/* begin mainmenu */ -.icemegamenu > ul { - position: relative; - margin:0; - padding:0; - z-index: 999; - clear: both; - width: 100%; - height:50px; - background: #1A1A1A; - background: -webkit-linear-gradient(top, #3C3C3C, #1A1A1A); - background: -moz-linear-gradient(top, #3C3C3C, #1A1A1A); - background: -o-linear-gradient(top, #3C3C3C, #1A1A1A); - background: -ms-linear-gradient(top, #3C3C3C, #1A1A1A); - background: linear-gradient(top, #3C3C3C, #1A1A1A); - border-radius: 5px;} - - .icemegamenu > ul > li { - position: relative; - display: block; - float: left;} - - .icemegamenu > ul > li a.iceMenuTitle { - position: relative; - z-index: 9999; - display: block; - padding: 1px 15px 0 15px; - height:49px; - line-height: 34px; - font-size: 18px; - color: #ccc; - text-decoration:none; - text-shadow: 1px 1px 1px #000; - -webkit-transition: all .25s ease-out; - -moz-transition: all .25s ease-out; - -ms-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out;} - - .icemegamenu ul > li a.iceMenuTitle:hover, - .icemegamenu ul > li:hover > a.iceMenuTitle, - .icemegamenu ul > ul > li:hover > a.iceMenuTitle, - ul.icesubMenu li.active a.iceMenuTitle { - color: #F0C237 } - - div.icemegamenu ul#icemegamenu li.active a.icemega_active > span.icemega_title{ - color: #F0C237 } - - /* subtitles */ - .icemegamenu > ul > li span.icemega_desc { - display:block; - font-size:12px; - font-family:Verdana, Geneva, sans-serif; - padding:0; - line-height:1.25em; - color:#999!important; - margin-bottom: 7px; - margin-top:-8px; - text-shadow:none!important} - - /* when dont have subtitle */ - .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { - padding-top:7px; - display:block} - - - /* when is current */ - .icemegamenu > ul > li.active { - background:#444} - - .icemegamenu > ul > li.active:first-child { - border-radius:5px 0 0 5px} - -.ice-megamenu-toggle { - float: right; -} -.ice-megamenu-toggle { - display: none; -} -.ice-megamenu-toggle a { - background: url("../images/mobile_menu_btn.png") no-repeat scroll 0 0 transparent; - display: block; - height: 30px; - margin-top: 20px; - text-indent: -9999px; - width: 30px; - cursor:pointer; -} - - /* Submenu */ -ul.icesubMenu { - position: absolute; - z-index: 600; - padding: 0 0 10px; - margin:0; - top: 80px; - left: -1px; - visibility:visible; - max-height:0; - overflow:hidden; - opacity: 0; - background: #222; - background: -moz-linear-gradient(#444, #111); - background: -webkit-linear-gradient(#444, #111); - background: -o-linear-gradient(#444, #111); - background: -ms-linear-gradient(#444, #111); - background: linear-gradient(#444, #111); - border: 1px solid rgba(255,255,255,.3); - border-radius: 3px; - -webkit-transition: all .25s ease-out; - -moz-transition: all .25s ease-out; - -ms-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out;} - - - #icemegamenu > li:hover > ul.icesubMenu { - opacity: 1; - max-height:1000px; - overflow:visible; - top: 50px;} - - ul.icesubMenu ul > li { - position:relative;} - - ul.icesubMenu > li a.iceMenuTitle { - height:auto; - display:block; - font-size:14px; - padding:0 0 0 16px; - margin:0 14px; - border-radius:0; - background:url(../images/point.png) no-repeat 0 10px; - border-bottom:1px dotted rgba(255,255,255,.2)!important;} - - - /* when is parent */ - ul.icesubMenu li.parent { - background: url(../images/arrow.png) no-repeat 93% 45%;} - - - - - - -/* Second Level Dropdown */ -ul.sub_level_2, -ul.sub_level_3, -ul.sub_level_4, -ul.sub_level_5 { - top: -1px; - left: 100%; - margin-left:15px; - z-index:99999; - box-shadow:none; - border:1px solid #444; - border-top-color:#555;} - - ul.icesubMenu ul > li:hover > ul { - opacity: 1; - max-height:1000px; - overflow:visible; - visibility:visible; - margin-left:-25px;} - - - - -/* Modules inside dropdown */ -.icesubMenu .icemega_cover_module { - padding: 10px 15px; - color:#999; -} - - .icesubMenu .icemega_cover_module span.iceModuleTile { - color:#fff; - font-size:18px; - text-shadow:1px 1px 1px #000; - margin-bottom:6px; - display:block;} - -.icesubMenu .icemega_cover_module a { - color:#F0C237} - - .ice_righttoleft{ - left:auto!important; - right:0; +/** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + +/* clear some styles */ +.icemegamenu ul, +.icemegamenu li { + list-style-type:none; + padding:0; + margin:0} + +.collapse { + overflow: visible!important;} + +/* begin mainmenu */ +.icemegamenu > ul { + position: relative; + margin:0; + padding:0; + z-index: 999; + clear: both; + width: 100%; + height:50px; + background: #1A1A1A; + background: -webkit-linear-gradient(top, #3C3C3C, #1A1A1A); + background: -moz-linear-gradient(top, #3C3C3C, #1A1A1A); + background: -o-linear-gradient(top, #3C3C3C, #1A1A1A); + background: -ms-linear-gradient(top, #3C3C3C, #1A1A1A); + background: linear-gradient(top, #3C3C3C, #1A1A1A); + border-radius: 5px;} + + .icemegamenu > ul > li { + position: relative; + display: block; + float: left;} + + .icemegamenu > ul > li a.iceMenuTitle { + position: relative; + z-index: 9999; + display: block; + padding: 1px 15px 0 15px; + height:49px; + line-height: 34px; + font-size: 18px; + color: #ccc; + text-decoration:none; + text-shadow: 1px 1px 1px #000; + -webkit-transition: all .25s ease-out; + -moz-transition: all .25s ease-out; + -ms-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out;} + + .icemegamenu ul > li a.iceMenuTitle:hover, + .icemegamenu ul > li:hover > a.iceMenuTitle, + .icemegamenu ul > ul > li:hover > a.iceMenuTitle, + ul.icesubMenu li.active a.iceMenuTitle { + color: #F0C237 } + + div.icemegamenu ul#icemegamenu li.active a.icemega_active > span.icemega_title{ + color: #F0C237 } + + /* subtitles */ + .icemegamenu > ul > li span.icemega_desc { + display:block; + font-size:12px; + font-family:Verdana, Geneva, sans-serif; + padding:0; + line-height:1.25em; + color:#999!important; + margin-bottom: 7px; + margin-top:-8px; + text-shadow:none!important} + + /* when dont have subtitle */ + .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { + padding-top:7px; + display:block} + + + /* when is current */ + .icemegamenu > ul > li.active { + background:#444} + + .icemegamenu > ul > li.active:first-child { + border-radius:5px 0 0 5px} + +.ice-megamenu-toggle { + float: right; +} +.ice-megamenu-toggle { + display: none; +} +.ice-megamenu-toggle a { + background: url("../images/mobile_menu_btn.png") no-repeat scroll 0 0 transparent; + display: block; + height: 30px; + margin-top: 20px; + text-indent: -9999px; + width: 30px; + cursor:pointer; +} + + /* Submenu */ +ul.icesubMenu { + position: absolute; + z-index: 600; + padding: 0 0 10px; + margin:0; + top: 80px; + left: -1px; + visibility:visible; + max-height:0; + overflow:hidden; + opacity: 0; + background: #222; + background: -moz-linear-gradient(#444, #111); + background: -webkit-linear-gradient(#444, #111); + background: -o-linear-gradient(#444, #111); + background: -ms-linear-gradient(#444, #111); + background: linear-gradient(#444, #111); + border: 1px solid rgba(255,255,255,.3); + border-radius: 3px; + -webkit-transition: all .25s ease-out; + -moz-transition: all .25s ease-out; + -ms-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out;} + + + #icemegamenu > li:hover > ul.icesubMenu { + opacity: 1; + max-height:1000px; + overflow:visible; + top: 50px;} + + ul.icesubMenu ul > li { + position:relative;} + + ul.icesubMenu > li a.iceMenuTitle { + height:auto; + display:block; + font-size:14px; + padding:0 0 0 16px; + margin:0 14px; + border-radius:0; + background:url(../images/point.png) no-repeat 0 10px; + border-bottom:1px dotted rgba(255,255,255,.2)!important;} + + + /* when is parent */ + ul.icesubMenu li.parent { + background: url(../images/arrow.png) no-repeat 93% 45%;} + + + + + + +/* Second Level Dropdown */ +ul.sub_level_2, +ul.sub_level_3, +ul.sub_level_4, +ul.sub_level_5 { + top: -1px; + left: 100%; + margin-left:15px; + z-index:99999; + box-shadow:none; + border:1px solid #444; + border-top-color:#555;} + + ul.icesubMenu ul > li:hover > ul { + opacity: 1; + max-height:1000px; + overflow:visible; + visibility:visible; + margin-left:-25px;} + + + + +/* Modules inside dropdown */ +.icesubMenu .icemega_cover_module { + padding: 10px 15px; + color:#999; +} + + .icesubMenu .icemega_cover_module span.iceModuleTile { + color:#fff; + font-size:18px; + text-shadow:1px 1px 1px #000; + margin-bottom:6px; + display:block;} + +.icesubMenu .icemega_cover_module a { + color:#F0C237} + + .ice_righttoleft{ + left:auto!important; + right:0; } \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-ie.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-ie.css index 7a92bfc6..b62b6593 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-ie.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-ie.css @@ -1,15 +1,15 @@ - /** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - - -.icemegamenu .meganizr > li > div,.icemegamenu .meganizr > li > ul,.icemegamenu .meganizr > li > ul li > ul{ overflow:visible;visibility:visible;display:none;} -.icemegamenu .meganizr > li.mzr-drop:hover > div,.icemegamenu .meganizr > li.mzr-drop:hover > ul,.icemegamenu .meganizr > li > ul li.mzr-drop:hover > ul{display:block;} + /** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + + +.icemegamenu .meganizr > li > div,.icemegamenu .meganizr > li > ul,.icemegamenu .meganizr > li > ul li > ul{ overflow:visible;visibility:visible;display:none;} +.icemegamenu .meganizr > li.mzr-drop:hover > div,.icemegamenu .meganizr > li.mzr-drop:hover > ul,.icemegamenu .meganizr > li > ul li.mzr-drop:hover > ul{display:block;} .icemegamenu .meganizr > li.mzr-home-dark,.icemegamenu .meganizr > li.mzr-home-light{min-width:50px;} \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-reponsive.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-reponsive.css index 08fb231c..0b7c02d0 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-reponsive.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu-reponsive.css @@ -1,129 +1,129 @@ -/** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - */ - -.collapse { - overflow: hidden} - -@media (min-width: 980px) { - -} - - -@media (max-width: 979px) { - -.ice-megamenu-toggle { - float: right;} - - .ice-megamenu-toggle a { - cursor:pointer; - background: url("../images/mobile_menu_btn.png") no-repeat scroll 0 0 transparent; - display: block; - height: 30px; - margin: 15px 0; - text-indent: -9999px; - width: 30px;} - - -.icemegamenu > ul { background:#eee } - - .ice-megamenu-toggle { display:inline-block; } - .icemegamenu > ul > li{ width: 100%;background: #eee!important; clear:both; } - - - #icemegamenu > li > ul.icesubMenu { - float: left; - opacity: 1; - position: relative!important; - padding:0; - top: 0!important; - left:0!important; - visibility: visible; - width: 100% !important; - background:#eee} - - - #icemegamenu > li > ul.icesubMenu .iceCols{ width:100%!important;} - #icemegamenu > li > ul.icesubMenu li { width:100%!important;} - - #icemegamenu .parent .icemodules {} - - ul.icesubMenu {border:none} - - ul.icesubMenu li.parent{background:none;} - - - .icemegamenu > ul > li a.iceMenuTitle{ - font-size:15px; - margin:0; - height:auto; - padding-left:15px!important; - border-bottom:1px dashed #ccc!important} - - .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { - padding-top:0} - - ul.icesubMenu > li a.iceMenuTitle{ - font-size:12px; - margin:0px; - padding-left:35px!important; - background-position:20px 10px} - - - .icemegamenu > ul > li.active{ - background:none} - - #icemegamenu > li > ul.icesubMenu li > ul{ - float: left; - opacity: 1; - position: relative; - top: auto!important; - visibility: visible; - width: 100% !important; - left: auto!important; - right:auto!important; - margin:0px; - padding:0; - border:none; - background:#eee;} - - #icemegamenu > li > ul.icesubMenu li { - background-image:none!important;} - - /* level 2 */ - ul.sub_level_2 li > a.iceMenuTitle { - padding-left: 55px!important; - background-position: 40px 10px!important;} - - /* level 3 */ - ul.sub_level_3 li > a.iceMenuTitle { - padding-left: 75px!important; - background-position: 60px 10px!important;} - - - - /* hide modules */ - .icesubMenu .icemega_cover_module { width: auto !important;} -} - - -@media (max-width: 480px){ - - ul.icesubMenu > li a.iceMenuTitle{ - background:none!important;} - - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_2, - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_3, - #icemegamenu > li > ul.icesubMenu li > ul.sub_level_4{ - left: 0px;} -} - - - +/** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2012 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + */ + +.collapse { + overflow: hidden} + +@media (min-width: 980px) { + +} + + +@media (max-width: 979px) { + +.ice-megamenu-toggle { + float: right;} + + .ice-megamenu-toggle a { + cursor:pointer; + background: url("../images/mobile_menu_btn.png") no-repeat scroll 0 0 transparent; + display: block; + height: 30px; + margin: 15px 0; + text-indent: -9999px; + width: 30px;} + + +.icemegamenu > ul { background:#eee } + + .ice-megamenu-toggle { display:inline-block; } + .icemegamenu > ul > li{ width: 100%;background: #eee!important; clear:both; } + + + #icemegamenu > li > ul.icesubMenu { + float: left; + opacity: 1; + position: relative!important; + padding:0; + top: 0!important; + left:0!important; + visibility: visible; + width: 100% !important; + background:#eee} + + + #icemegamenu > li > ul.icesubMenu .iceCols{ width:100%!important;} + #icemegamenu > li > ul.icesubMenu li { width:100%!important;} + + #icemegamenu .parent .icemodules {} + + ul.icesubMenu {border:none} + + ul.icesubMenu li.parent{background:none;} + + + .icemegamenu > ul > li a.iceMenuTitle{ + font-size:15px; + margin:0; + height:auto; + padding-left:15px!important; + border-bottom:1px dashed #ccc!important} + + .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { + padding-top:0} + + ul.icesubMenu > li a.iceMenuTitle{ + font-size:12px; + margin:0px; + padding-left:35px!important; + background-position:20px 10px} + + + .icemegamenu > ul > li.active{ + background:none} + + #icemegamenu > li > ul.icesubMenu li > ul{ + float: left; + opacity: 1; + position: relative; + top: auto!important; + visibility: visible; + width: 100% !important; + left: auto!important; + right:auto!important; + margin:0px; + padding:0; + border:none; + background:#eee;} + + #icemegamenu > li > ul.icesubMenu li { + background-image:none!important;} + + /* level 2 */ + ul.sub_level_2 li > a.iceMenuTitle { + padding-left: 55px!important; + background-position: 40px 10px!important;} + + /* level 3 */ + ul.sub_level_3 li > a.iceMenuTitle { + padding-left: 75px!important; + background-position: 60px 10px!important;} + + + + /* hide modules */ + .icesubMenu .icemega_cover_module { width: auto !important;} +} + + +@media (max-width: 480px){ + + ul.icesubMenu > li a.iceMenuTitle{ + background:none!important;} + + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_2, + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_3, + #icemegamenu > li > ul.icesubMenu li > ul.sub_level_4{ + left: 0px;} +} + + + diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu.css b/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu.css index 3b81955d..eef6cc71 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu.css +++ b/deployed/icemegamenu/modules/mod_icemegamenu/themes/vertical/css/vertical_icemegamenu.css @@ -1,233 +1,233 @@ -/** - * IceMegaMenu Extension for Joomla 3.0 By IceTheme - * - * - * @copyright Copyright (C) 2013 IceTheme.com. All rights reserved. - * @license GNU General Public License version 2 - * - * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html - * - - Clean Theme - added on 29 April 2013 - - */ - - - - /* OpenSans Font emmbed */ -@font-face { - font-family: 'OpenSansRegular'; - src: url('../font/OpenSans-Regular-webfont.eot'); - src: url('../font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../font/OpenSans-Regular-webfont.woff') format('woff'), - url('../font/OpenSans-Regular-webfont.ttf') format('truetype'), - url('../font/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; -} - - - - - -/* clear some styles */ -ul,li { - list-style-type:none; - padding:0; - margin:0} - - .collapse { - overflow: visible;} - - -/* begin mainmenu */ -.icemegamenu > ul { - position: relative; - margin:0; - padding:0; - border-top:1px dashed #ccc; - z-index: 999; - clear: both; - background: #eee;} - - .icemegamenu > ul > li { - position: relative; - display: block;} - - .icemegamenu > ul > li a.iceMenuTitle { - font-family:OpenSansRegular, Arial, Helvetica, sans-serif; - position: relative; - z-index: 9999; - display: block; - padding: 0 12px; - line-height: 34px; - font-size: 18px; - margin:0; - border-bottom:1px dashed #ccc; - color: #666; - text-decoration:none; - text-shadow: 1px 1px 1px #fff; - -webkit-transition: all .25s ease-out; - -moz-transition: all .25s ease-out; - -ms-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out;} - - .icemegamenu > ul > li:hover > a { - background-color:#DEDEDE;} - - .icemegamenu ul > li a.iceMenuTitle:hover, - .icemegamenu ul > li:hover > a.iceMenuTitle, - .icemegamenu ul > ul > li:hover > a.iceMenuTitle, - ul.icesubMenu li.active a.iceMenuTitle { - color: #000 } - - div.icemegamenu ul#icemegamenu li.active a.icemega_active > span.icemega_title { - color: #000 } - - /* subtitles */ - .icemegamenu > ul > li span.icemega_desc { - display:block; - font-size:12px; - font-family:Verdana, Geneva, sans-serif; - padding:0; - line-height:1.25em; - color:#999!important; - margin-bottom: 7px; - margin-top:-8px; - text-shadow:none!important} - - /* when dont have subtitle */ - .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { - padding-top:0; - display:block} - - - /* when is current */ - .icemegamenu > ul > li.active > a { - background-color:#DEDEDE} - - - /* when is parent */ - .icemegamenu ul li.parent { - background: url(../images/arrow.png) no-repeat 93% 45%;} - - - - - /* Submenu */ -ul.icesubMenu { - position: absolute; - z-index: 9999; - padding: 0 0 10px; - margin:0; - top: 0; - left: 110%; - opacity: 0; - visibility: hidden; - background: #eee; - border: 1px solid #DEDEDE; - border-top:none; - border-radius: 3px; - -webkit-transition: all .25s ease-out; - -moz-transition: all .25s ease-out; - -ms-transition: all .25s ease-out; - -o-transition: all .25s ease-out; - transition: all .25s ease-out;} - - - #icemegamenu > li:hover > ul.icesubMenu { - opacity: 1; - visibility: visible; - left: 100%;} - - ul.icesubMenu ul > li { - position:relative;} - - ul.icesubMenu > li a.iceMenuTitle { - height:auto; - display:block; - font-size:14px; - padding:0 0 0 25px; - margin:0; - border-bottom:1px dashed #ccc; - border-radius:0; - background:url(../images/point.png) no-repeat 9px 10px;} - - - /* hover and active */ - ul.icesubMenu ul > li:hover > a, - ul.icesubMenu ul > li.active > a { - background-color:#DEDEDE;} - - - - - - - - -/* Second Level Dropdown */ -ul.sub_level_2, -ul.sub_level_3, -ul.sub_level_4, -ul.sub_level_5 { - top: -1px; - left: 110%; - z-index:99999; - box-shadow:none; - border:1px solid #DEDEDE; - margin: 0 0 0 20px;} - - - ul.icesubMenu ul > li:hover > ul { - opacity: 1; - visibility: visible; - left: 100%;} - - - - - - -/* Modules inside dropdown */ -.icesubMenu .icemega_cover_module { - padding: 10px 15px; - color:#666;} - - .icesubMenu .icemega_cover_module span.iceModuleTile { - color:#555; - font-size:18px; - text-shadow:1px 1px 1px #fff; - margin-bottom:6px; - display:block;} - - .icesubMenu .icemega_cover_module a {} - - - -/* for the respponsive part -there is antoher CSS file in the same folder */ - -.ice-megamenu-toggle { - display:none} - - - -/* fix when there is no space for the dropdown on the right -it will appear instead on the left */ -.ice_righttoleft{ - left:auto!important; - right:0;} - - - - - - - - - - +/** + * IceMegaMenu Extension for Joomla 3.0 By IceTheme + * + * + * @copyright Copyright (C) 2013 IceTheme.com. All rights reserved. + * @license GNU General Public License version 2 + * + * @Website http://www.icetheme.com/Joomla-Extensions/icemegamenu.html + * + + Clean Theme + added on 29 April 2013 + + */ + + + + /* OpenSans Font emmbed */ +@font-face { + font-family: 'OpenSansRegular'; + src: url('../font/OpenSans-Regular-webfont.eot'); + src: url('../font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../font/OpenSans-Regular-webfont.woff') format('woff'), + url('../font/OpenSans-Regular-webfont.ttf') format('truetype'), + url('../font/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg'); + font-weight: normal; + font-style: normal; +} + + + + + +/* clear some styles */ +ul,li { + list-style-type:none; + padding:0; + margin:0} + + .collapse { + overflow: visible;} + + +/* begin mainmenu */ +.icemegamenu > ul { + position: relative; + margin:0; + padding:0; + border-top:1px dashed #ccc; + z-index: 999; + clear: both; + background: #eee;} + + .icemegamenu > ul > li { + position: relative; + display: block;} + + .icemegamenu > ul > li a.iceMenuTitle { + font-family:OpenSansRegular, Arial, Helvetica, sans-serif; + position: relative; + z-index: 9999; + display: block; + padding: 0 12px; + line-height: 34px; + font-size: 18px; + margin:0; + border-bottom:1px dashed #ccc; + color: #666; + text-decoration:none; + text-shadow: 1px 1px 1px #fff; + -webkit-transition: all .25s ease-out; + -moz-transition: all .25s ease-out; + -ms-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out;} + + .icemegamenu > ul > li:hover > a { + background-color:#DEDEDE;} + + .icemegamenu ul > li a.iceMenuTitle:hover, + .icemegamenu ul > li:hover > a.iceMenuTitle, + .icemegamenu ul > ul > li:hover > a.iceMenuTitle, + ul.icesubMenu li.active a.iceMenuTitle { + color: #000 } + + div.icemegamenu ul#icemegamenu li.active a.icemega_active > span.icemega_title { + color: #000 } + + /* subtitles */ + .icemegamenu > ul > li span.icemega_desc { + display:block; + font-size:12px; + font-family:Verdana, Geneva, sans-serif; + padding:0; + line-height:1.25em; + color:#999!important; + margin-bottom: 7px; + margin-top:-8px; + text-shadow:none!important} + + /* when dont have subtitle */ + .icemegamenu > ul > li > a.iceMenuTitle > span.icemega_nosubtitle { + padding-top:0; + display:block} + + + /* when is current */ + .icemegamenu > ul > li.active > a { + background-color:#DEDEDE} + + + /* when is parent */ + .icemegamenu ul li.parent { + background: url(../images/arrow.png) no-repeat 93% 45%;} + + + + + /* Submenu */ +ul.icesubMenu { + position: absolute; + z-index: 9999; + padding: 0 0 10px; + margin:0; + top: 0; + left: 110%; + opacity: 0; + visibility: hidden; + background: #eee; + border: 1px solid #DEDEDE; + border-top:none; + border-radius: 3px; + -webkit-transition: all .25s ease-out; + -moz-transition: all .25s ease-out; + -ms-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out;} + + + #icemegamenu > li:hover > ul.icesubMenu { + opacity: 1; + visibility: visible; + left: 100%;} + + ul.icesubMenu ul > li { + position:relative;} + + ul.icesubMenu > li a.iceMenuTitle { + height:auto; + display:block; + font-size:14px; + padding:0 0 0 25px; + margin:0; + border-bottom:1px dashed #ccc; + border-radius:0; + background:url(../images/point.png) no-repeat 9px 10px;} + + + /* hover and active */ + ul.icesubMenu ul > li:hover > a, + ul.icesubMenu ul > li.active > a { + background-color:#DEDEDE;} + + + + + + + + +/* Second Level Dropdown */ +ul.sub_level_2, +ul.sub_level_3, +ul.sub_level_4, +ul.sub_level_5 { + top: -1px; + left: 110%; + z-index:99999; + box-shadow:none; + border:1px solid #DEDEDE; + margin: 0 0 0 20px;} + + + ul.icesubMenu ul > li:hover > ul { + opacity: 1; + visibility: visible; + left: 100%;} + + + + + + +/* Modules inside dropdown */ +.icesubMenu .icemega_cover_module { + padding: 10px 15px; + color:#666;} + + .icesubMenu .icemega_cover_module span.iceModuleTile { + color:#555; + font-size:18px; + text-shadow:1px 1px 1px #fff; + margin-bottom:6px; + display:block;} + + .icesubMenu .icemega_cover_module a {} + + + +/* for the respponsive part +there is antoher CSS file in the same folder */ + +.ice-megamenu-toggle { + display:none} + + + +/* fix when there is no space for the dropdown on the right +it will appear instead on the left */ +.ice_righttoleft{ + left:auto!important; + right:0;} + + + + + + + + + + \ No newline at end of file diff --git a/deployed/icemegamenu/modules/mod_icemegamenu/tmpl/default.php b/deployed/icemegamenu/modules/mod_icemegamenu/tmpl/default.php index 4e451f6b..8efe7686 100644 --- a/deployed/icemegamenu/modules/mod_icemegamenu/tmpl/default.php +++ b/deployed/icemegamenu/modules/mod_icemegamenu/tmpl/default.php @@ -1,16 +1,16 @@ -render($params, 'modIceMegaMenuXMLCallback'); \ No newline at end of file diff --git a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.php b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.php index 52ca1188..6c0f0139 100644 --- a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.php +++ b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.php @@ -1,42 +1,42 @@ -getName() == 'com_menus.item') - { - if(!defined("DS")){ - define("DS", DIRECTORY_SEPARATOR); - } - $xmlFile = dirname(__FILE__). DS."icemegamenu" . DS . 'params'; - JForm::addFormPath($xmlFile); - $form->loadFile('params', false); - } - } +getName() == 'com_menus.item') + { + if(!defined("DS")){ + define("DS", DIRECTORY_SEPARATOR); + } + $xmlFile = dirname(__FILE__). DS."icemegamenu" . DS . 'params'; + JForm::addFormPath($xmlFile); + $form->loadFile('params', false); + } + } } \ No newline at end of file diff --git a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.xml b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.xml index c0599c3f..3d90a111 100644 --- a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.xml +++ b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu.xml @@ -1,20 +1,20 @@ - - - IceMegaMenu Plugin - www.icetheme.com - Mrch 2011 - Copyright (C) Copyright 2008 - 2011 IceTheme.com. All rights reserved. - http://www.icetheme.com GNU/GPL - info@icethemes.com - http://www.icethemes.com - 3.0.0 - IceMegaMenu plugin used in conjuction with the IceMegaMenu Module. You may change the paramters to each menu item throught the Menu Manager - - icemegamenu - icemegamenu.php - + + + IceMegaMenu Plugin + www.icetheme.com + Mrch 2011 + Copyright (C) Copyright 2008 - 2011 IceTheme.com. All rights reserved. + http://www.icetheme.com GNU/GPL + info@icethemes.com + http://www.icethemes.com + 3.0.0 + IceMegaMenu plugin used in conjuction with the IceMegaMenu Module. You may change the paramters to each menu item throught the Menu Manager + + icemegamenu + icemegamenu.php + \ No newline at end of file diff --git a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icemodules.php b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icemodules.php index 42d96e79..1e45df9f 100644 --- a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icemodules.php +++ b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icemodules.php @@ -1,61 +1,61 @@ -element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; - // To avoid user's confusion, readonly="true" should imply disabled="true". - if ( (string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') { - $attr .= ' disabled="disabled"'; - } - $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; - $attr .= $this->multiple ? ' multiple="multiple"' : ''; - // Initialize JavaScript field attributes. - $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; - - $query = "SELECT * FROM #__modules where client_id=0 AND published=1 ORDER BY id ASC"; - $db->setQuery($query); - $groups = $db->loadObjectList(); - $groupHTML = array(); - if ($groups && count ($groups)) { - foreach ($groups as $tvalue=>$item){ - $groupHTML[] = JHTML::_('select.option', $item->id, $item->title." (id=".$item->id.")"); - } - } - if( !empty($value) && !is_array($value) ) - $value = explode("|", $value); - - $lists = JHTML::_('select.genericlist', $groupHTML, $this->name,trim($attr), 'value', 'text', $this->value, $this->id); - - return $lists; - } +element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + // To avoid user's confusion, readonly="true" should imply disabled="true". + if ( (string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') { + $attr .= ' disabled="disabled"'; + } + $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $attr .= $this->multiple ? ' multiple="multiple"' : ''; + // Initialize JavaScript field attributes. + $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + $query = "SELECT * FROM #__modules where client_id=0 AND published=1 ORDER BY id ASC"; + $db->setQuery($query); + $groups = $db->loadObjectList(); + $groupHTML = array(); + if ($groups && count ($groups)) { + foreach ($groups as $tvalue=>$item){ + $groupHTML[] = JHTML::_('select.option', $item->id, $item->title." (id=".$item->id.")"); + } + } + if( !empty($value) && !is_array($value) ) + $value = explode("|", $value); + + $lists = JHTML::_('select.genericlist', $groupHTML, $this->name,trim($attr), 'value', 'text', $this->value, $this->id); + + return $lists; + } } \ No newline at end of file diff --git a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icepositions.php b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icepositions.php index 0f396491..1bd6f582 100644 --- a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icepositions.php +++ b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/libs/element/icepositions.php @@ -1,61 +1,61 @@ -element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; - // To avoid user's confusion, readonly="true" should imply disabled="true". - if ( (string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') { - $attr .= ' disabled="disabled"'; - } - $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; - $attr .= $this->multiple ? ' multiple="multiple"' : ''; - // Initialize JavaScript field attributes. - $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; - - $db_temp = JFactory::getDBO(); - $db =&$db_temp; - $query = "SELECT DISTINCT position FROM #__modules ORDER BY position ASC"; - $db->setQuery($query); - $groups = $db->loadObjectList(); - $groupHTML = array(); - if ($groups && count ($groups)) { - foreach ($groups as $tvalue=>$item){ - $groupHTML[] = JHTML::_('select.option', $item->position, $item->position); - } - } - if( !empty($value) && !is_array($value) ) - $value = explode("|", $value); - - $lists = JHTML::_('select.genericlist', $groupHTML, $this->name,trim($attr), 'value', 'text', $this->value, $this->id); - return $lists; - } +element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + // To avoid user's confusion, readonly="true" should imply disabled="true". + if ( (string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') { + $attr .= ' disabled="disabled"'; + } + $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $attr .= $this->multiple ? ' multiple="multiple"' : ''; + // Initialize JavaScript field attributes. + $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + $db_temp = JFactory::getDBO(); + $db =&$db_temp; + $query = "SELECT DISTINCT position FROM #__modules ORDER BY position ASC"; + $db->setQuery($query); + $groups = $db->loadObjectList(); + $groupHTML = array(); + if ($groups && count ($groups)) { + foreach ($groups as $tvalue=>$item){ + $groupHTML[] = JHTML::_('select.option', $item->position, $item->position); + } + } + if( !empty($value) && !is_array($value) ) + $value = explode("|", $value); + + $lists = JHTML::_('select.genericlist', $groupHTML, $this->name,trim($attr), 'value', 'text', $this->value, $this->id); + return $lists; + } } \ No newline at end of file diff --git a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/params/params.xml b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/params/params.xml index 6680b140..04d57834 100644 --- a/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/params/params.xml +++ b/deployed/icemegamenu/plugins/system/icemegamenu/icemegamenu/params/params.xml @@ -1,44 +1,44 @@ - -
                          - -
                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          -
                          - + + + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          +
                          +
                          \ No newline at end of file diff --git a/deployed/image_swoop/modules/mod_image_swoop/helper.php b/deployed/image_swoop/modules/mod_image_swoop/helper.php index 399dac3c..16bca17b 100644 --- a/deployed/image_swoop/modules/mod_image_swoop/helper.php +++ b/deployed/image_swoop/modules/mod_image_swoop/helper.php @@ -1,103 +1,103 @@ - true)); - - // Set application parameters in model - $appParams = JFactory::getApplication()->getParams(); - $model->setState('params', $appParams); - - // Set the filters based on the module params - $model->setState('list.start', 0); - $model->setState('list.limit', (int) $params->get('count', 5)); - - $model->setState('filter.published', 1); - - $model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' . - ' a.modified, a.modified_by, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' . - ' a.hits, a.featured' ); - - // Access filter - $access = !JComponentHelper::getParams('com_content')->get('show_noauth'); - $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')); - $model->setState('filter.access', $access); - - // Category filter - $model->setState('filter.category_id', $params->get('catid', array())); - - // Filter by language - $model->setState('filter.language', $app->getLanguageFilter()); - - // Set ordering - $ordering = $params->get('ordering', 'a.publish_up'); - $model->setState('list.ordering', $ordering); - if (trim($ordering) == 'rand()') { - $model->setState('list.direction', ''); - } else { - $model->setState('list.direction', 'ASC'); - } - - // Retrieve Content - $items = $model->getItems(); - - foreach ($items as &$item) { - $item->readmore = strlen(trim($item->fulltext)); - $item->slug = $item->id.':'.$item->alias; - $item->catslug = $item->catid.':'.$item->category_alias; - - if ($access || in_array($item->access, $authorised)) - { - // We know that user has the privilege to view the article - $item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid)); - $item->linkText = JText::_('MOD_IMAGE_SWOOP_READMORE'); - } - else { - $item->link = JRoute::_('index.php?option=com_users&view=login'); - $item->linkText = JText::_('MOD_IMAGE_SWOOP_READMORE_REGISTER'); - } - - $item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_image_swoop.content'); - - //new - if (!$params->get('image')) { - $item->introtext = preg_replace('/]*>/', '', $item->introtext); - } - - $results = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 1)); - $item->afterDisplayTitle = trim(implode("\n", $results)); - - $results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1)); - $item->beforeDisplayContent = trim(implode("\n", $results)); - } - - return $items; - } -} + true)); + + // Set application parameters in model + $appParams = JFactory::getApplication()->getParams(); + $model->setState('params', $appParams); + + // Set the filters based on the module params + $model->setState('list.start', 0); + $model->setState('list.limit', (int) $params->get('count', 5)); + + $model->setState('filter.published', 1); + + $model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' . + ' a.modified, a.modified_by, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' . + ' a.hits, a.featured' ); + + // Access filter + $access = !JComponentHelper::getParams('com_content')->get('show_noauth'); + $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')); + $model->setState('filter.access', $access); + + // Category filter + $model->setState('filter.category_id', $params->get('catid', array())); + + // Filter by language + $model->setState('filter.language', $app->getLanguageFilter()); + + // Set ordering + $ordering = $params->get('ordering', 'a.publish_up'); + $model->setState('list.ordering', $ordering); + if (trim($ordering) == 'rand()') { + $model->setState('list.direction', ''); + } else { + $model->setState('list.direction', 'ASC'); + } + + // Retrieve Content + $items = $model->getItems(); + + foreach ($items as &$item) { + $item->readmore = strlen(trim($item->fulltext)); + $item->slug = $item->id.':'.$item->alias; + $item->catslug = $item->catid.':'.$item->category_alias; + + if ($access || in_array($item->access, $authorised)) + { + // We know that user has the privilege to view the article + $item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid)); + $item->linkText = JText::_('MOD_IMAGE_SWOOP_READMORE'); + } + else { + $item->link = JRoute::_('index.php?option=com_users&view=login'); + $item->linkText = JText::_('MOD_IMAGE_SWOOP_READMORE_REGISTER'); + } + + $item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_image_swoop.content'); + + //new + if (!$params->get('image')) { + $item->introtext = preg_replace('/]*>/', '', $item->introtext); + } + + $results = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 1)); + $item->afterDisplayTitle = trim(implode("\n", $results)); + + $results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1)); + $item->beforeDisplayContent = trim(implode("\n", $results)); + } + + return $items; + } +} diff --git a/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.php b/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.php index 552703ec..91b31ebf 100644 --- a/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.php +++ b/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.php @@ -1,65 +1,65 @@ -getTemplate(); - -// Include Camera Slideshow styles -switch($params->get('theme')){ - case 0: - $document->addStyleSheet(JURI::base() . 'modules/mod_image_swoop/css/camera.css'); - break; - case 1: - $document->addStyleSheet(JURI::base() . 'templates/'.$template.'/css/camera.css'); - break; -} - -// Include Camera Slideshow scripts -switch($params->get('script')){ - case 0: - $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/camera.min.js'); - break; - case 1: - $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/camera.js'); - break; - case 2: - $document->addScript(JURI::base() . 'templates/'.$template.'/js/camera.js'); - break; -} - - -if($params->get('load_easing') == 'true'){ - $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/jquery.mobile.customized.min.js'); -} -if($params->get('load_jquery_mobile') == 'true'){ - $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/jquery.easing.1.3.js'); -} - - -$list = modImageSwoopHelper::getList($params); -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx')); - -// Color Skin - -if($params->get('skin') == 'default'){ - $skin = ''; -} else { - $skin = 'camera_'.$params->get('skin').'_skin'; -} - -require JModuleHelper::getLayoutPath('mod_image_swoop', $params->get('layout', 'default')); +getTemplate(); + +// Include Camera Slideshow styles +switch($params->get('theme')){ + case 0: + $document->addStyleSheet(JURI::base() . 'modules/mod_image_swoop/css/camera.css'); + break; + case 1: + $document->addStyleSheet(JURI::base() . 'templates/'.$template.'/css/camera.css'); + break; +} + +// Include Camera Slideshow scripts +switch($params->get('script')){ + case 0: + $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/camera.min.js'); + break; + case 1: + $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/camera.js'); + break; + case 2: + $document->addScript(JURI::base() . 'templates/'.$template.'/js/camera.js'); + break; +} + + +if($params->get('load_easing') == 'true'){ + $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/jquery.mobile.customized.min.js'); +} +if($params->get('load_jquery_mobile') == 'true'){ + $document->addScript(JURI::base() . 'modules/mod_image_swoop/js/jquery.easing.1.3.js'); +} + + +$list = modImageSwoopHelper::getList($params); +$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx')); + +// Color Skin + +if($params->get('skin') == 'default'){ + $skin = ''; +} else { + $skin = 'camera_'.$params->get('skin').'_skin'; +} + +require JModuleHelper::getLayoutPath('mod_image_swoop', $params->get('layout', 'default')); diff --git a/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.xml b/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.xml index 003fa68c..0b427c39 100644 --- a/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.xml +++ b/deployed/image_swoop/modules/mod_image_swoop/mod_image_swoop.xml @@ -1,643 +1,643 @@ - - - mod_image_swoop - Template Monster - September 2012 - Copyright (c) 2012-2014 by TemplateMonster - www.templatemonster.com - Licensed under the GNU/GPLv2: http://www.opensource.org/licenses/mit-license.php - - www.templatemonster.com - 1.2.5 - MOD_IMAGE_SWOOP_XML_DESCRIPTION - - mod_image_swoop.php - tmpl - js - css - images - helper.php - index.html - mod_image_swoop.xml - - - - - - language/en-GB/en-GB.mod_image_swoop.ini - language/en-GB/en-GB.mod_image_swoop.sys.ini - - - - -
                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          - -
                          - - - - - - - - - - - - - - - - -
                          - -
                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          -
                          -
                          + + + mod_image_swoop + Template Monster + September 2012 + Copyright (c) 2012-2014 by TemplateMonster - www.templatemonster.com + Licensed under the GNU/GPLv2: http://www.opensource.org/licenses/mit-license.php + + www.templatemonster.com + 1.2.5 + MOD_IMAGE_SWOOP_XML_DESCRIPTION + + mod_image_swoop.php + tmpl + js + css + images + helper.php + index.html + mod_image_swoop.xml + + + + + + language/en-GB/en-GB.mod_image_swoop.ini + language/en-GB/en-GB.mod_image_swoop.sys.ini + + + + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          + +
                          + + + + + + + + + + + + + + + + +
                          + +
                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          +
                          +
                          \ No newline at end of file diff --git a/deployed/image_swoop/modules/mod_image_swoop/tmpl/_item.php b/deployed/image_swoop/modules/mod_image_swoop/tmpl/_item.php index 431b1bfd..f9f3212f 100644 --- a/deployed/image_swoop/modules/mod_image_swoop/tmpl/_item.php +++ b/deployed/image_swoop/modules/mod_image_swoop/tmpl/_item.php @@ -1,71 +1,71 @@ -images); - -$itemUrl=''; -if(!empty($itemURLs)){ - $itemUrl = $itemURLs[$i]; - $itemUrl = preg_replace('/\s+/', '', $itemUrl); -} -?> - -
                          image_intro!=''): ?> data-thumb="image_intro); ?>" data-link="" data-target="get('target'); ?>"> - - get('show_caption') == '1'): ?> -
                          - - get('item_heading', 'h4'); ?> - get('item_title')) : ?> - - < class="slide-title"> - get('link_titles') && $item->link != '') : ?> - - title;?> - - title; ?> - - > - - - - get('intro_only')) : - /* echo $item->afterDisplayTitle; */ - endif; ?> - - beforeDisplayContent; */ ?> - - get('published')) : ?> - - - introtext; ?> - - - get('readmore')) : - $readMoreText = JText::_('MOD_IMAGE_SWOOP_READMORE'); - if ($item->alternative_readmore){ - $readMoreText = $item->alternative_readmore; - } - if(!empty($itemUrl)){ - echo ''. $readMoreText .''; - } - else if(isset($item->link) && $item->readmore != 0){ - echo ''. $readMoreText .''; - } - endif; ?> - -
                          - - -
                          +images); + +$itemUrl=''; +if(!empty($itemURLs)){ + $itemUrl = $itemURLs[$i]; + $itemUrl = preg_replace('/\s+/', '', $itemUrl); +} +?> + +
                          image_intro!=''): ?> data-thumb="image_intro); ?>" data-link="" data-target="get('target'); ?>"> + + get('show_caption') == '1'): ?> +
                          + + get('item_heading', 'h4'); ?> + get('item_title')) : ?> + + < class="slide-title"> + get('link_titles') && $item->link != '') : ?> + + title;?> + + title; ?> + + > + + + + get('intro_only')) : + /* echo $item->afterDisplayTitle; */ + endif; ?> + + beforeDisplayContent; */ ?> + + get('published')) : ?> + + + introtext; ?> + + + get('readmore')) : + $readMoreText = JText::_('MOD_IMAGE_SWOOP_READMORE'); + if ($item->alternative_readmore){ + $readMoreText = $item->alternative_readmore; + } + if(!empty($itemUrl)){ + echo ''. $readMoreText .''; + } + else if(isset($item->link) && $item->readmore != 0){ + echo ''. $readMoreText .''; + } + endif; ?> + +
                          + + +
                          diff --git a/deployed/image_swoop/modules/mod_image_swoop/tmpl/default.php b/deployed/image_swoop/modules/mod_image_swoop/tmpl/default.php index 4fd213ca..c0710074 100644 --- a/deployed/image_swoop/modules/mod_image_swoop/tmpl/default.php +++ b/deployed/image_swoop/modules/mod_image_swoop/tmpl/default.php @@ -1,84 +1,84 @@ -getTemplate(); - - ?> -
                          -get('item_url')){ - $itemURLs = explode(';', $params->get('item_url')); - } - - // Item width - $item_width = floor(100 / count($list)); - - - $i=0; - foreach ($list as $item) : - require JModuleHelper::getLayoutPath('mod_image_swoop', '_item'); - $i++; - endforeach; -?> -
                          - \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/adapters/language.php b/deployed/jckman/administrator/components/com_jckman/adapters/language.php index bc107836..7235181e 100644 --- a/deployed/jckman/administrator/components/com_jckman/adapters/language.php +++ b/deployed/jckman/administrator/components/com_jckman/adapters/language.php @@ -1,205 +1,205 @@ -parent = $parent; - } - - /** - * Install method - * - * @access public - * @return boolean True on success - */ - public function install() - { - - - // Get the extension manifest object - $this->manifest = $this->parent->getManifest(); - - $values = array('name', 'version', 'description', 'tag'); - - foreach($values as $value) - { - $this->parent->set($value, $this->manifest->$value); - } - - $elements = array('administration', 'editor'); - - foreach($elements as $element) - { - $this->set($element, $this->manifest->$element); - } - - // Check language tag - if we didn't, we may be trying to install from an older language package - if (!$this->parent->get('tag')) - { - $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT', JText::_('JLIB_INSTALLER_ERROR_NO_LANGUAGE_TAG'))); - return false; - } - - $folder =(string) $this->parent->get('tag'); - // Set the installation target paths - $this->parent->setPath('extension_administrator', JPATH_COMPONENT . '/language/overrides'); - - // Copy admin files - if ($this->parent->parseFiles($this->get('administration'), 1) === false) - { - $this->parent->abort(); - return false; - } - - // Copy editor files - $this->parent->setPath('extension_administrator', JPATH_COMPONENT . '/editor/lang'); - - if ($this->parent->parseFiles($this->get('editor'),1) === false) - { - $this->parent->abort(); - return false; - } - - - - // Add an entry to the language table - $row = JTable::getInstance('language', 'JCKTable'); - $row->tag = $folder; - $file = $this->parent->getPath('manifest'); - $filename = str_replace($this->parent->getPath('source').DS,'',$file); - - $row->filename = $filename; - - if (!$row->store()) - { - // Install failed, roll back changes - $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT', $row->getError())); - return false; - } - - // Set path back for manifest - $this->parent->setPath('extension_administrator', JPATH_COMPONENT . '/language/overrides'); - // Lastly, we will copy the manifest file to its appropriate place. - if (!$this->parent->copyManifest(1)) - { - // Install failed, rollback changes - $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT_PLG_INSTALL_COPY_SETUP', JText::_('JLIB_INSTALLER_INSTALL'))); - return false; - } - - return true; - } - - - - /** - * Uninstall method - * - * @access public - * @param string $tag The tag of the language to uninstall - * @return mixed Return value for uninstall method in component uninstall file - */ - function uninstall($eid) - { - - // Load up the extension details - $language = JTable::getInstance('language', 'JCKTable'); - $language->load($eid); - - - $tag = $language->tag; - - // Set defaults - $this->parent->set('tag', $tag); - $this->parent->set('version', ''); - - $path = JPATH_COMPONENT . '/language/overrides'; - - if (!JFolder::exists($path)) { - JError::raiseWarning(100, JText::_('JLIB_INSTALLER_UNINSTALL') . ' : ' . JText::_('JLIB_INSTALLER_ERROR_LANG_UNINSTALL_ELEMENT_EMPTY')); - return false; - } - - - $manifestFile = $path.'/'. $language->filename; - - - if (JFile::exists($manifestFile)) - { - - $this->manifest = JFactory::getXML($manifestFile); - - if (!$this->manifest) { - JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALLER_MANIFEST_INVALID')); - } - - $values = array('name', 'version', 'description'); - - foreach($values as $value) - { - $this->parent->set($value, $this->manifest->$value); - } - - $elements = array('administration', 'editor'); - - foreach($elements as $element) - { - $this->set($element, $this->manifest->$element); - } - - // Set the installation target paths - $this->parent->setPath('extension_administrator', $path ); - - if (!$this->parent->removeFiles($this->get('administration'), 1)) { - JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALL_DELETE_FILES_ERROR')); - return false; - } - - $this->parent->setPath('extension_administrator', JPATH_COMPONENT. '/editor/lang'); - - if (!$this->parent->removeFiles($this->get('editor'),1)) { - JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALL_DELETE_FILES_ERROR')); - return false; - } - JFile::delete($manifestFile); - } - else - { - JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALLER_MANIFEST_ERROR')); - return false; - } - - // Remove the language table entry - $language->delete(); - return true; // return false to stop at this point. - } - +parent = $parent; + } + + /** + * Install method + * + * @access public + * @return boolean True on success + */ + public function install() + { + + + // Get the extension manifest object + $this->manifest = $this->parent->getManifest(); + + $values = array('name', 'version', 'description', 'tag'); + + foreach($values as $value) + { + $this->parent->set($value, $this->manifest->$value); + } + + $elements = array('administration', 'editor'); + + foreach($elements as $element) + { + $this->set($element, $this->manifest->$element); + } + + // Check language tag - if we didn't, we may be trying to install from an older language package + if (!$this->parent->get('tag')) + { + $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT', JText::_('JLIB_INSTALLER_ERROR_NO_LANGUAGE_TAG'))); + return false; + } + + $folder =(string) $this->parent->get('tag'); + // Set the installation target paths + $this->parent->setPath('extension_administrator', JPATH_COMPONENT . '/language/overrides'); + + // Copy admin files + if ($this->parent->parseFiles($this->get('administration'), 1) === false) + { + $this->parent->abort(); + return false; + } + + // Copy editor files + $this->parent->setPath('extension_administrator', JPATH_COMPONENT . '/editor/lang'); + + if ($this->parent->parseFiles($this->get('editor'),1) === false) + { + $this->parent->abort(); + return false; + } + + + + // Add an entry to the language table + $row = JTable::getInstance('language', 'JCKTable'); + $row->tag = $folder; + $file = $this->parent->getPath('manifest'); + $filename = str_replace($this->parent->getPath('source').DS,'',$file); + + $row->filename = $filename; + + if (!$row->store()) + { + // Install failed, roll back changes + $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT', $row->getError())); + return false; + } + + // Set path back for manifest + $this->parent->setPath('extension_administrator', JPATH_COMPONENT . '/language/overrides'); + // Lastly, we will copy the manifest file to its appropriate place. + if (!$this->parent->copyManifest(1)) + { + // Install failed, rollback changes + $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT_PLG_INSTALL_COPY_SETUP', JText::_('JLIB_INSTALLER_INSTALL'))); + return false; + } + + return true; + } + + + + /** + * Uninstall method + * + * @access public + * @param string $tag The tag of the language to uninstall + * @return mixed Return value for uninstall method in component uninstall file + */ + function uninstall($eid) + { + + // Load up the extension details + $language = JTable::getInstance('language', 'JCKTable'); + $language->load($eid); + + + $tag = $language->tag; + + // Set defaults + $this->parent->set('tag', $tag); + $this->parent->set('version', ''); + + $path = JPATH_COMPONENT . '/language/overrides'; + + if (!JFolder::exists($path)) { + JError::raiseWarning(100, JText::_('JLIB_INSTALLER_UNINSTALL') . ' : ' . JText::_('JLIB_INSTALLER_ERROR_LANG_UNINSTALL_ELEMENT_EMPTY')); + return false; + } + + + $manifestFile = $path.'/'. $language->filename; + + + if (JFile::exists($manifestFile)) + { + + $this->manifest = JFactory::getXML($manifestFile); + + if (!$this->manifest) { + JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALLER_MANIFEST_INVALID')); + } + + $values = array('name', 'version', 'description'); + + foreach($values as $value) + { + $this->parent->set($value, $this->manifest->$value); + } + + $elements = array('administration', 'editor'); + + foreach($elements as $element) + { + $this->set($element, $this->manifest->$element); + } + + // Set the installation target paths + $this->parent->setPath('extension_administrator', $path ); + + if (!$this->parent->removeFiles($this->get('administration'), 1)) { + JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALL_DELETE_FILES_ERROR')); + return false; + } + + $this->parent->setPath('extension_administrator', JPATH_COMPONENT. '/editor/lang'); + + if (!$this->parent->removeFiles($this->get('editor'),1)) { + JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALL_DELETE_FILES_ERROR')); + return false; + } + JFile::delete($manifestFile); + } + else + { + JError::raiseWarning(100, JText::_('JLIB_INSTALLER_INSTALL') . ' : ' . JText::_('JCK_INSTALLER_MANIFEST_ERROR')); + return false; + } + + // Remove the language table entry + $language->delete(); + return true; // return false to stop at this point. + } + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/adapters/plugin.php b/deployed/jckman/administrator/components/com_jckman/adapters/plugin.php index 146ce315..7eb0a4cd 100644 --- a/deployed/jckman/administrator/components/com_jckman/adapters/plugin.php +++ b/deployed/jckman/administrator/components/com_jckman/adapters/plugin.php @@ -1,755 +1,755 @@ -parent = $parent; - } - - /** - * Custom install method - * - * @access public - * @return boolean True on success - * @since 1.5 - * Minor alteration - see below - */ - function install() - { - // Get a database connector object - $db =& $this->parent->getDBO(); - $app = JFactory::getApplication(); - - // Get the extension manifest object - $manifest =& $this->parent->getManifest(); - $this->manifest = $manifest;//$manifest->document; - - /** - * --------------------------------------------------------------------------------------------- - * Manifest Document Setup Section - * --------------------------------------------------------------------------------------------- - */ - - // Set the component name - $name = ''; - - if($this->manifest->name) - { - $name = $this->manifest->name; - $this->parent->set('name', $name->data()); - } - else - $this->parent->set('name',''); - - // Get the component description - $description = & $this->manifest->description; - if (is_a($description, 'JXMLElement')) { - $this->parent->set('message', $description->data()); - } else { - $this->parent->set('message', '' ); - } - - $element =& $this->manifest->files; - - // Plugin name is specified - $pname = (string) $this->manifest->attributes()->plugin; - - //Get type - $type = $this->manifest->attributes()->group; - - if (!empty ($pname)) { - // ^ Use JCK_PLUGINS defined path - $this->parent->setPath('extension_root', JCK_PLUGINS .DS. $pname); - } else { - $this->parent->abort('Extension Install: '.JText::_('COM_JCKMAN_ADAPTER_NO_PLUGIN_SPECIFIED')); - return false; - } - - if ((string)$manifest->scriptfile) - { - $manifestScript = (string)$manifest->scriptfile; - $manifestScriptFile = $this->parent->getPath('source').DS.$manifestScript; - if (is_file($manifestScriptFile)) - { - // load the file - include_once $manifestScriptFile; - } - // Set the class name - $classname = 'plgJCK'.$pname.'InstallerScript'; - - if (class_exists($classname)) - { - // create a new instance - $this->parent->manifestClass = new $classname($this); - // and set this so we can copy it later - $this->set('manifest_script', $manifestScript); - // Note: if we don't find the class, don't bother to copy the file - } - - // run preflight if possible - ob_start(); - ob_implicit_flush(false); - if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'preflight')) - { - if($this->parent->manifestClass->preflight('install', $this) === false) - { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_CUSTOM_ABORT')); - return false; - } - } - ob_end_clean(); - } - - /** - * --------------------------------------------------------------------------------------------- - * Filesystem Processing Section - * --------------------------------------------------------------------------------------------- - */ - - // If the extension directory does not exist, lets create it - $created = false; - if (!file_exists($this->parent->getPath('extension_root'))) { - if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { - $this->parent->abort('Plugin Install: '.JText::_('Failed to create directory').': "'.$this->parent->getPath('extension_root').'"'); - return false; - } - } - - /* - * If we created the extension directory and will want to remove it if we - * have to roll back the installation, lets add it to the installation - * step stack - */ - if ($created) { - $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); - } - - // Copy all necessary files - if ($this->parent->parseFiles($element, -1) === false) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - if ($this->_parseLanguages( $this->manifest->languages) === false) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - // If there is an install file, lets copy it. - $installScriptElement =& $this->manifest->installfile; - if (is_a($installScriptElement, 'JXMLElement')) { - // Make sure it hasn't already been copied (this would be an error in the xml install file) - if (!file_exists($this->parent->getPath('extension_root').DS.$installScriptElement->data())) - { - $path['src'] = $this->parent->getPath('source').DS.$installScriptElement->data(); - $path['dest'] = $this->parent->getPath('extension_root').DS.$installScriptElement->data(); - if (!$this->parent->copyFiles(array ($path))) { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); - return false; - } - } - $this->set('install.script', $installScriptElement->data()); - } - - // If there is an uninstall file, lets copy it. - $uninstallScriptElement =& $this->manifest->uninstallfile; - if (is_a($uninstallScriptElement, 'JXMLElement')) { - // Make sure it hasn't already been copied (this would be an error in the xml install file) - if (!file_exists($this->parent->getPath('extension_root').DS.$uninstallScriptElement->data())) - { - $path['src'] = $this->parent->getPath('source').DS.$uninstallScriptElpement->data(); - $path['dest'] = $this->parent->getPath('extension_root').DS.$uninstallScriptElement->data(); - if (!$this->parent->copyFiles(array ($path))) { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); - return false; - } - } - } - - /** - * --------------------------------------------------------------------------------------------- - * Database Processing Section - * --------------------------------------------------------------------------------------------- - */ - $type = (isset($type) ? (string)$type : 'plugin'); //Add group processimg - - // Check to see if a plugin by the same name is already installed - // ^ Altered db query for #__JCK_PLUGINS - $query = 'SELECT `id`' . - ' FROM `#__jckplugins`' . - ' WHERE name = '.$db->Quote($pname); - $db->setQuery($query); - if (!$db->Query()) { - // Install failed, roll back changes - $this->parent->abort('Plugin Install: '.$db->stderr(true)); - return false; - } - $id = $db->loadResult(); - - // Was there a module already installed with the same name? - if($id) - { - - if (!$this->parent->isOverwrite()) - { - // Install failed, roll back changes - - $this->parent->abort(JText::sprintf('COM_JCKMAN_ADAPTER_PLUGIN_ALREADY_EXISTS',$pname)); - return false; - } - - $row =& JTable::getInstance('plugin', 'JCKTable'); - $row->type = $type; - $row->load($id); - - } - else - { - $icon = $this->manifest->icon; - - // ^ Changes to plugin parameters. Use JCK Plugins Table class. - $row =& JTable::getInstance('plugin', 'JCKTable'); - $row->title = $this->parent->get('name'); - $row->name = $pname; - $row->type = $type; - $row->row = 4; - $row->published = 1; - $row->editable = 1; - $row->icon = ($icon ? $icon->data() : ''); - $row->iscore = 0; - $row->params = $this->parent->getParams(); - - if($this->manifest->attributes()->parent) - { - $parentName = (string) $this->manifest->attributes()->parent; - $row->setParent($parentName); - } - - if (!$row->store()) { - // Install failed, roll back changes - $this->parent->abort(JText::sprintf('COM_JCKMAN_ADAPTER_PLUGIN_INSTALL',$db->stderr(true))); - return false; - } - - // Since we have created a plugin item, we add it to the installation step stack - // so that if we have to rollback the changes we can undo it. - $this->parent->pushStep(array ('type' => 'plugin', 'id' => $row->id)); - } - - /* ------------------------------------------------------------------------------------------- - * update editor plugin config file AW - * ------------------------------------------------------------------------------------------- - */ - $config = & JCKHelper::getEditorPluginConfig(); - - $config->set($pname,1); - - - $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; - - // Get the config registry in PHP class format and write it to configuation.php - if (!JFile::write($cfgFile, $config->toString('PHP',array('class' => 'JCKToolbarPlugins extends JCKPlugins')))) - { - JCKHelper::error(JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_PUBLISH_PLUGIN',$pname)); - } - - /** - *------------------------------------------------------------------------------------------- - * Add plugin to toolbars - *------------------------------------------------------------------------------------------- - */ - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - - $toolbars = JCKHelper::getEditorToolbars(); - $jform = $app->input->get( 'jform', array(), 'array' ); - - switch( $jform['toolbars'] ) - { - default : - case 'all' : - $toolbarnames = $toolbars; - break; - case 'none' : - $toolbarnames = array(); - break; - case 'select' : - $toolbarnames = $jform['selections']; - break; - }//end switch - - if(!empty( $toolbarnames) && $row->icon) - { - - $values = array(); - foreach($toolbarnames as $toolbarname) - { - - $tmpfilename = $CKfolder.DS.$toolbarname.'.php'; - - require($tmpfilename); - - $classname = 'JCK'. ucfirst($toolbarname); - - $toolbar = new $classname(); - - $pluginTitle = str_replace(' ','',$row->title); - - - if(isset($toolbar->pluginTitle)) continue; - - //fix toolbar values or they will get wiped out - foreach (get_object_vars( $toolbar ) as $k => $v) - { - - if(is_null($v)) - { - $toolbar->$k = ''; - } - - if($k[0] == '_') - $toolbar->$k = NULL; - } - - $toolbar->$pluginTitle = ''; - - - - $toolbarConfig = new JRegistry('toolbar'); - $toolbarConfig->loadObject($toolbar); - - // Get the config registry in PHP class format and write it to configuation.php - if (!JFile::write($tmpfilename, $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')))) - { - JCKHelper::error(JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_TO_ADD_PLUGIN_TOOLBAR',$pname,$classname)); - } - - //layout stuff - $sql = $db->getQuery( true ); - $sql->select( 'id' ) - ->from( '#__jcktoolbars' ) - ->where( 'name = "'. $toolbarname .'"' ); - $toolbarid = $db->setQuery( $sql )->loadResult(); - - $rowDetail = JCKHelper::getNextLayoutRow($toolbarid); - - $values[] = '('.(int)$toolbarid.','. $row->id.','.$rowDetail->rowid.','.$rowDetail->rowordering.',1)'; - } - - //insert into layout table - if(!empty($values)) - { - //Now delete dependencies - $query = 'DELETE FROM #__jcktoolbarplugins' - . ' WHERE pluginid ='. $row->id; - $db->setQuery( $query ); - if (!$db->query()) { - JCKHelper::error( $db->getErrorMsg() ); - } - - $query = 'INSERT INTO `#__jcktoolbarplugins` (toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - } - } - - /** - * --------------------------------------------------------------------------------------------- - * Finalization and Cleanup Section - * --------------------------------------------------------------------------------------------- - */ - - // Lastly, we will copy the manifest file to its appropriate place. - if (!$this->parent->copyManifest(-1)) { - // Install failed, rollback changes - $this->parent->abort('Plugin Install: '.JText::_('Could not copy setup file')); - return false; - } - - //make a copy of the plugin - $src = $this->parent->getPath('extension_root'); - $dest = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$pname; - - if (!JFolder::copy( $src, $dest,null,true)) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - // And now we run the postflight - ob_start(); - ob_implicit_flush(false); - - if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'postflight')) - { - $this->parent->manifestClass->postflight('install', $this); - } - ob_end_clean(); - - return true; - } - - function _parseLanguages($element) - { - // Get the array of file nodes to process; we checked whether this had children above. - - if (!$element || !count($element->children())) - { - // Either the tag does not exist or has no children (hence no files to process) therefore we return zero files processed. - return 0; - } - - $copyfiles = array(); - - $destination = JPATH_COMPONENT.'/language'; - - /* - * Here we set the folder we are going to copy the files from. - * - * Does the element have a folder attribute? - * - * If so this indicates that the files are in a subdirectory of the source - * folder and we should append the folder attribute to the source path when - * copying files. - */ - - - - $folder = (string) $element->attributes()->folder; - - if ($folder && file_exists($this->parent->getPath('source') . '/' . $folder)) - { - $source = $this->parent->getPath('source') . '/' . $folder; - } - else - { - $source = $this->parent->getPath('source'); - } - - $path = array(); - - - // Process each file in the $files array (children of $tagName). - foreach ($element->children() as $file) - { - /* - * Language files go in a subfolder based on the language code, ie. - * en-US.mycomponent.ini - * would go in the en-US subdirectory of the language folder. - */ - - // We will only install language files where a core language pack - // already exists. - - if ((string) $file->attributes()->tag != '') - { - $path['src'] = $source . '/' . $file; - $path['dest'] = $destination . '/' . $file->attributes()->tag . '/' . basename((string) $file); - } - else - { - $path['src'] = $source . '/' . $file; - $path['dest'] = $destination . '/' . $file; - } - - /* - * Before we can add a file to the copyfiles array we need to ensure - * that the folder we are copying our file to exits and if it doesn't, - * we need to create it. - */ - - if (basename($path['dest']) != $path['dest']) - { - $newdir = dirname($path['dest']); - - if (!JFolder::create($newdir)) - { - JLog::add(JText::sprintf('JLIB_INSTALLER_ERROR_CREATE_DIRECTORY', $newdir), JLog::WARNING, 'jerror'); - - return false; - } - } - - // Add the file to the copyfiles array - $copyfiles[] = $path; - } - - return $this->parent->copyFiles($copyfiles); - } - - - /** - * Custom uninstall method - * - * @access public - * @param int $cid The id of the plugin to uninstall - * @param int $clientId The id of the client (unused) - * @return boolean True on success - * @since 1.5 - */ - function uninstall($id) - { - // Initialize variables - $row = null; - $retval = true; - $db =& $this->parent->getDBO(); - - // First order of business will be to load the module object table from the database. - // This should give us the necessary information to proceed. - - // ^ Changes to plugin parameters. Use JCK Plugins Table class. - $row =& JTable::getInstance('plugin', 'JCKTable'); - $row->load((int) $id); - - // Is the plugin we are trying to uninstall a core one? - // Because that is not a good idea... - if ($row->iscore) { - JCKHelper::error( 'Plugin Uninstall: '.JText::sprintf('WARNCOREPLUGIN', $row->title)."
                          ".JText::_('WARNCOREPLUGIN2')); - return false; - } - - // Get the plugin folder so we can properly build the plugin path - if (trim($row->name) == '') { - JCKHelper::error( JText::_('COM_JCKMAN_ADAPTER_PLUGIN_FIELD_EMPTY')); - return false; - } - - //Now delete dependencies - $sql = $db->getQuery( true ); - $sql->delete( '#__jcktoolbarplugins' ) - ->where( 'pluginid ='. $row->id ); - - if (!$db->setQuery( $sql )->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - - // Set the plugin root path - $this->parent->setPath('extension_root', JCK_PLUGINS . DS . $row->name); - - $manifestFile = $this->parent->getPath('extension_root') . DS . $row->name . '.xml'; - - if (file_exists($manifestFile)) - { - // If we cannot load the xml file return null - if (!($xml = JFactory::getXML($manifestFile))) { - JCKHelper::error(JText::_('COM_JCKMAN_ADAPTER_UNINSTALL_COULD_NOT_LOAD_MANIFEST')); - return false; - } - - $pname = (string) $xml->attributes()->plugin; - - if ((string)$xml->scriptfile) - { - $manifestScript = (string)$xml->scriptfile; - $manifestScriptFile = $this->parent->getPath('extension_root').DS.$manifestScript; - if (is_file($manifestScriptFile)) - { - // load the file - include_once $manifestScriptFile; - } - // Set the class name - $classname = 'plgJCK'.$pname.'InstallerScript'; - - if (class_exists($classname)) - { - // create a new instance - $this->parent->manifestClass = new $classname($this); - // and set this so we can copy it later - $this->set('manifest_script', $manifestScript); - // Note: if we don't find the class, don't bother to copy the file - } - - // run preflight if possible - ob_start(); - ob_implicit_flush(false); - if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'preflight')) - { - if($this->parent->manifestClass->preflight('uninstall', $this) === false) - { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_CUSTOM_ABORT')); - return false; - } - } - ob_end_clean(); - - ob_start(); - ob_implicit_flush(false); - if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'uninstall')) - { - $this->parent->manifestClass->uninstall($this); - } - $msg = ob_get_contents(); // append messages - ob_end_clean(); - } - - /** - * - * Remove plugin from toolbars file AW - * - */ - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - - $toolbarnames =& JCKHelper::getEditorToolbars(); - - foreach($toolbarnames as $toolbarname) - { - $tmpfilename = $CKfolder.DS.$toolbarname.'.php'; - - require_once($tmpfilename); - - $classname = 'JCK'. ucfirst($toolbarname); - $toolbar = new $classname(); - - $pluginTitle = str_replace(' ','',$row->title); - $pluginTitle = ucfirst($pluginTitle); - if(!isset($toolbar->$pluginTitle)) continue; - //fix toolbar values or they will get wiped out - - foreach (get_object_vars( $toolbar ) as $k => $v) - { - if(is_null($v)) - { - $toolbar->$k = ''; - } - - if($k[0] == '_') - $toolbar->$k = NULL; - } - - $toolbar->$pluginTitle = NULL; - - $toolbarConfig = new JRegistry('toolbar'); - - $toolbarConfig->loadObject($toolbar); - - // Get the config registry in PHP class format and write it to configuation.php - if (!JFile::write($tmpfilename, $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')))) - { - JCKHelper::error( JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_TOOLBAR',$row->name,$classname)); - } - } - - /** - * - * Remove plugin from config file AW - * - */ - $config = & JCKHelper::getEditorPluginConfig(); - - $config->set($row->name,NULL); // remove value from output - - $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; - - // Get the config registry in PHP class format and write it to configuation.php - if (!JFile::write($cfgFile, $config->toString('PHP', array('class' => 'JCKToolbarPlugins extends JCKPlugins')))) - { - JCKHelper::error(JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_FROM_CONFIG',$pname)); - } - - $root =& $xml; - - if ($root->getName() != 'extension' && $root->getName() != 'install') { - JCKHelper::error( JText::_('COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST')); - return false; - } - - // Remove the plugin files - $this->parent->removeFiles($root->files, -1); - JFile::delete($manifestFile); - - // Remove all media and languages as well - $this->parent->removeFiles($root->languages, 0); - - } else { - JCKHelper::error( Jtext::_('COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST_OR_NOT_FOUND')); - - $row->delete($row->id); - unset ($row); - $retval = false; - } - - if( $row ) - { - // Now we will no longer need the plugin object, so lets delete it - $row->delete($row->id); - unset ($row); - } - - // If the folder is empty, let's delete it - $files = JFolder::files($this->parent->getPath('extension_root')); - if (!count($files)) { - JFolder::delete($this->parent->getPath('extension_root')); - } - - //Now delete copy of plugin stored in the component - $copyPath = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$pname; - JFolder::delete($copyPath); - - return $retval; - } - - /** - * Custom rollback method - * - Roll back the plugin item - * - * @access public - * @param array $arg Installation step to rollback - * @return boolean True on success - * @since 1.5 - * Minor changes to the db query - */ - function _rollback_plugin($arg) - { - // Get database connector object - $db =& $this->parent->getDBO(); - $sql = $db->getQuery( true ); - - // Remove the entry from the #__JCK_PLUGINS table - $sql->delete( '`#__jckplugins`' ) - ->where( 'id='.(int)$arg['id'] ); - - return ($db->setQuery($sql)->query() !== false); - } +parent = $parent; + } + + /** + * Custom install method + * + * @access public + * @return boolean True on success + * @since 1.5 + * Minor alteration - see below + */ + function install() + { + // Get a database connector object + $db =& $this->parent->getDBO(); + $app = JFactory::getApplication(); + + // Get the extension manifest object + $manifest =& $this->parent->getManifest(); + $this->manifest = $manifest;//$manifest->document; + + /** + * --------------------------------------------------------------------------------------------- + * Manifest Document Setup Section + * --------------------------------------------------------------------------------------------- + */ + + // Set the component name + $name = ''; + + if($this->manifest->name) + { + $name = $this->manifest->name; + $this->parent->set('name', $name->data()); + } + else + $this->parent->set('name',''); + + // Get the component description + $description = & $this->manifest->description; + if (is_a($description, 'JXMLElement')) { + $this->parent->set('message', $description->data()); + } else { + $this->parent->set('message', '' ); + } + + $element =& $this->manifest->files; + + // Plugin name is specified + $pname = (string) $this->manifest->attributes()->plugin; + + //Get type + $type = $this->manifest->attributes()->group; + + if (!empty ($pname)) { + // ^ Use JCK_PLUGINS defined path + $this->parent->setPath('extension_root', JCK_PLUGINS .DS. $pname); + } else { + $this->parent->abort('Extension Install: '.JText::_('COM_JCKMAN_ADAPTER_NO_PLUGIN_SPECIFIED')); + return false; + } + + if ((string)$manifest->scriptfile) + { + $manifestScript = (string)$manifest->scriptfile; + $manifestScriptFile = $this->parent->getPath('source').DS.$manifestScript; + if (is_file($manifestScriptFile)) + { + // load the file + include_once $manifestScriptFile; + } + // Set the class name + $classname = 'plgJCK'.$pname.'InstallerScript'; + + if (class_exists($classname)) + { + // create a new instance + $this->parent->manifestClass = new $classname($this); + // and set this so we can copy it later + $this->set('manifest_script', $manifestScript); + // Note: if we don't find the class, don't bother to copy the file + } + + // run preflight if possible + ob_start(); + ob_implicit_flush(false); + if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'preflight')) + { + if($this->parent->manifestClass->preflight('install', $this) === false) + { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_CUSTOM_ABORT')); + return false; + } + } + ob_end_clean(); + } + + /** + * --------------------------------------------------------------------------------------------- + * Filesystem Processing Section + * --------------------------------------------------------------------------------------------- + */ + + // If the extension directory does not exist, lets create it + $created = false; + if (!file_exists($this->parent->getPath('extension_root'))) { + if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { + $this->parent->abort('Plugin Install: '.JText::_('Failed to create directory').': "'.$this->parent->getPath('extension_root').'"'); + return false; + } + } + + /* + * If we created the extension directory and will want to remove it if we + * have to roll back the installation, lets add it to the installation + * step stack + */ + if ($created) { + $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); + } + + // Copy all necessary files + if ($this->parent->parseFiles($element, -1) === false) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + if ($this->_parseLanguages( $this->manifest->languages) === false) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + // If there is an install file, lets copy it. + $installScriptElement =& $this->manifest->installfile; + if (is_a($installScriptElement, 'JXMLElement')) { + // Make sure it hasn't already been copied (this would be an error in the xml install file) + if (!file_exists($this->parent->getPath('extension_root').DS.$installScriptElement->data())) + { + $path['src'] = $this->parent->getPath('source').DS.$installScriptElement->data(); + $path['dest'] = $this->parent->getPath('extension_root').DS.$installScriptElement->data(); + if (!$this->parent->copyFiles(array ($path))) { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); + return false; + } + } + $this->set('install.script', $installScriptElement->data()); + } + + // If there is an uninstall file, lets copy it. + $uninstallScriptElement =& $this->manifest->uninstallfile; + if (is_a($uninstallScriptElement, 'JXMLElement')) { + // Make sure it hasn't already been copied (this would be an error in the xml install file) + if (!file_exists($this->parent->getPath('extension_root').DS.$uninstallScriptElement->data())) + { + $path['src'] = $this->parent->getPath('source').DS.$uninstallScriptElpement->data(); + $path['dest'] = $this->parent->getPath('extension_root').DS.$uninstallScriptElement->data(); + if (!$this->parent->copyFiles(array ($path))) { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); + return false; + } + } + } + + /** + * --------------------------------------------------------------------------------------------- + * Database Processing Section + * --------------------------------------------------------------------------------------------- + */ + $type = (isset($type) ? (string)$type : 'plugin'); //Add group processimg + + // Check to see if a plugin by the same name is already installed + // ^ Altered db query for #__JCK_PLUGINS + $query = 'SELECT `id`' . + ' FROM `#__jckplugins`' . + ' WHERE name = '.$db->Quote($pname); + $db->setQuery($query); + if (!$db->Query()) { + // Install failed, roll back changes + $this->parent->abort('Plugin Install: '.$db->stderr(true)); + return false; + } + $id = $db->loadResult(); + + // Was there a module already installed with the same name? + if($id) + { + + if (!$this->parent->isOverwrite()) + { + // Install failed, roll back changes + + $this->parent->abort(JText::sprintf('COM_JCKMAN_ADAPTER_PLUGIN_ALREADY_EXISTS',$pname)); + return false; + } + + $row =& JTable::getInstance('plugin', 'JCKTable'); + $row->type = $type; + $row->load($id); + + } + else + { + $icon = $this->manifest->icon; + + // ^ Changes to plugin parameters. Use JCK Plugins Table class. + $row =& JTable::getInstance('plugin', 'JCKTable'); + $row->title = $this->parent->get('name'); + $row->name = $pname; + $row->type = $type; + $row->row = 4; + $row->published = 1; + $row->editable = 1; + $row->icon = ($icon ? $icon->data() : ''); + $row->iscore = 0; + $row->params = $this->parent->getParams(); + + if($this->manifest->attributes()->parent) + { + $parentName = (string) $this->manifest->attributes()->parent; + $row->setParent($parentName); + } + + if (!$row->store()) { + // Install failed, roll back changes + $this->parent->abort(JText::sprintf('COM_JCKMAN_ADAPTER_PLUGIN_INSTALL',$db->stderr(true))); + return false; + } + + // Since we have created a plugin item, we add it to the installation step stack + // so that if we have to rollback the changes we can undo it. + $this->parent->pushStep(array ('type' => 'plugin', 'id' => $row->id)); + } + + /* ------------------------------------------------------------------------------------------- + * update editor plugin config file AW + * ------------------------------------------------------------------------------------------- + */ + $config = & JCKHelper::getEditorPluginConfig(); + + $config->set($pname,1); + + + $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; + + // Get the config registry in PHP class format and write it to configuation.php + if (!JFile::write($cfgFile, $config->toString('PHP',array('class' => 'JCKToolbarPlugins extends JCKPlugins')))) + { + JCKHelper::error(JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_PUBLISH_PLUGIN',$pname)); + } + + /** + *------------------------------------------------------------------------------------------- + * Add plugin to toolbars + *------------------------------------------------------------------------------------------- + */ + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + + $toolbars = JCKHelper::getEditorToolbars(); + $jform = $app->input->get( 'jform', array(), 'array' ); + + switch( $jform['toolbars'] ) + { + default : + case 'all' : + $toolbarnames = $toolbars; + break; + case 'none' : + $toolbarnames = array(); + break; + case 'select' : + $toolbarnames = $jform['selections']; + break; + }//end switch + + if(!empty( $toolbarnames) && $row->icon) + { + + $values = array(); + foreach($toolbarnames as $toolbarname) + { + + $tmpfilename = $CKfolder.DS.$toolbarname.'.php'; + + require($tmpfilename); + + $classname = 'JCK'. ucfirst($toolbarname); + + $toolbar = new $classname(); + + $pluginTitle = str_replace(' ','',$row->title); + + + if(isset($toolbar->pluginTitle)) continue; + + //fix toolbar values or they will get wiped out + foreach (get_object_vars( $toolbar ) as $k => $v) + { + + if(is_null($v)) + { + $toolbar->$k = ''; + } + + if($k[0] == '_') + $toolbar->$k = NULL; + } + + $toolbar->$pluginTitle = ''; + + + + $toolbarConfig = new JRegistry('toolbar'); + $toolbarConfig->loadObject($toolbar); + + // Get the config registry in PHP class format and write it to configuation.php + if (!JFile::write($tmpfilename, $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')))) + { + JCKHelper::error(JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_TO_ADD_PLUGIN_TOOLBAR',$pname,$classname)); + } + + //layout stuff + $sql = $db->getQuery( true ); + $sql->select( 'id' ) + ->from( '#__jcktoolbars' ) + ->where( 'name = "'. $toolbarname .'"' ); + $toolbarid = $db->setQuery( $sql )->loadResult(); + + $rowDetail = JCKHelper::getNextLayoutRow($toolbarid); + + $values[] = '('.(int)$toolbarid.','. $row->id.','.$rowDetail->rowid.','.$rowDetail->rowordering.',1)'; + } + + //insert into layout table + if(!empty($values)) + { + //Now delete dependencies + $query = 'DELETE FROM #__jcktoolbarplugins' + . ' WHERE pluginid ='. $row->id; + $db->setQuery( $query ); + if (!$db->query()) { + JCKHelper::error( $db->getErrorMsg() ); + } + + $query = 'INSERT INTO `#__jcktoolbarplugins` (toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + } + } + + /** + * --------------------------------------------------------------------------------------------- + * Finalization and Cleanup Section + * --------------------------------------------------------------------------------------------- + */ + + // Lastly, we will copy the manifest file to its appropriate place. + if (!$this->parent->copyManifest(-1)) { + // Install failed, rollback changes + $this->parent->abort('Plugin Install: '.JText::_('Could not copy setup file')); + return false; + } + + //make a copy of the plugin + $src = $this->parent->getPath('extension_root'); + $dest = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$pname; + + if (!JFolder::copy( $src, $dest,null,true)) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + // And now we run the postflight + ob_start(); + ob_implicit_flush(false); + + if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'postflight')) + { + $this->parent->manifestClass->postflight('install', $this); + } + ob_end_clean(); + + return true; + } + + function _parseLanguages($element) + { + // Get the array of file nodes to process; we checked whether this had children above. + + if (!$element || !count($element->children())) + { + // Either the tag does not exist or has no children (hence no files to process) therefore we return zero files processed. + return 0; + } + + $copyfiles = array(); + + $destination = JPATH_COMPONENT.'/language'; + + /* + * Here we set the folder we are going to copy the files from. + * + * Does the element have a folder attribute? + * + * If so this indicates that the files are in a subdirectory of the source + * folder and we should append the folder attribute to the source path when + * copying files. + */ + + + + $folder = (string) $element->attributes()->folder; + + if ($folder && file_exists($this->parent->getPath('source') . '/' . $folder)) + { + $source = $this->parent->getPath('source') . '/' . $folder; + } + else + { + $source = $this->parent->getPath('source'); + } + + $path = array(); + + + // Process each file in the $files array (children of $tagName). + foreach ($element->children() as $file) + { + /* + * Language files go in a subfolder based on the language code, ie. + * en-US.mycomponent.ini + * would go in the en-US subdirectory of the language folder. + */ + + // We will only install language files where a core language pack + // already exists. + + if ((string) $file->attributes()->tag != '') + { + $path['src'] = $source . '/' . $file; + $path['dest'] = $destination . '/' . $file->attributes()->tag . '/' . basename((string) $file); + } + else + { + $path['src'] = $source . '/' . $file; + $path['dest'] = $destination . '/' . $file; + } + + /* + * Before we can add a file to the copyfiles array we need to ensure + * that the folder we are copying our file to exits and if it doesn't, + * we need to create it. + */ + + if (basename($path['dest']) != $path['dest']) + { + $newdir = dirname($path['dest']); + + if (!JFolder::create($newdir)) + { + JLog::add(JText::sprintf('JLIB_INSTALLER_ERROR_CREATE_DIRECTORY', $newdir), JLog::WARNING, 'jerror'); + + return false; + } + } + + // Add the file to the copyfiles array + $copyfiles[] = $path; + } + + return $this->parent->copyFiles($copyfiles); + } + + + /** + * Custom uninstall method + * + * @access public + * @param int $cid The id of the plugin to uninstall + * @param int $clientId The id of the client (unused) + * @return boolean True on success + * @since 1.5 + */ + function uninstall($id) + { + // Initialize variables + $row = null; + $retval = true; + $db =& $this->parent->getDBO(); + + // First order of business will be to load the module object table from the database. + // This should give us the necessary information to proceed. + + // ^ Changes to plugin parameters. Use JCK Plugins Table class. + $row =& JTable::getInstance('plugin', 'JCKTable'); + $row->load((int) $id); + + // Is the plugin we are trying to uninstall a core one? + // Because that is not a good idea... + if ($row->iscore) { + JCKHelper::error( 'Plugin Uninstall: '.JText::sprintf('WARNCOREPLUGIN', $row->title)."
                          ".JText::_('WARNCOREPLUGIN2')); + return false; + } + + // Get the plugin folder so we can properly build the plugin path + if (trim($row->name) == '') { + JCKHelper::error( JText::_('COM_JCKMAN_ADAPTER_PLUGIN_FIELD_EMPTY')); + return false; + } + + //Now delete dependencies + $sql = $db->getQuery( true ); + $sql->delete( '#__jcktoolbarplugins' ) + ->where( 'pluginid ='. $row->id ); + + if (!$db->setQuery( $sql )->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + + // Set the plugin root path + $this->parent->setPath('extension_root', JCK_PLUGINS . DS . $row->name); + + $manifestFile = $this->parent->getPath('extension_root') . DS . $row->name . '.xml'; + + if (file_exists($manifestFile)) + { + // If we cannot load the xml file return null + if (!($xml = JFactory::getXML($manifestFile))) { + JCKHelper::error(JText::_('COM_JCKMAN_ADAPTER_UNINSTALL_COULD_NOT_LOAD_MANIFEST')); + return false; + } + + $pname = (string) $xml->attributes()->plugin; + + if ((string)$xml->scriptfile) + { + $manifestScript = (string)$xml->scriptfile; + $manifestScriptFile = $this->parent->getPath('extension_root').DS.$manifestScript; + if (is_file($manifestScriptFile)) + { + // load the file + include_once $manifestScriptFile; + } + // Set the class name + $classname = 'plgJCK'.$pname.'InstallerScript'; + + if (class_exists($classname)) + { + // create a new instance + $this->parent->manifestClass = new $classname($this); + // and set this so we can copy it later + $this->set('manifest_script', $manifestScript); + // Note: if we don't find the class, don't bother to copy the file + } + + // run preflight if possible + ob_start(); + ob_implicit_flush(false); + if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'preflight')) + { + if($this->parent->manifestClass->preflight('uninstall', $this) === false) + { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_CUSTOM_ABORT')); + return false; + } + } + ob_end_clean(); + + ob_start(); + ob_implicit_flush(false); + if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'uninstall')) + { + $this->parent->manifestClass->uninstall($this); + } + $msg = ob_get_contents(); // append messages + ob_end_clean(); + } + + /** + * + * Remove plugin from toolbars file AW + * + */ + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + + $toolbarnames =& JCKHelper::getEditorToolbars(); + + foreach($toolbarnames as $toolbarname) + { + $tmpfilename = $CKfolder.DS.$toolbarname.'.php'; + + require_once($tmpfilename); + + $classname = 'JCK'. ucfirst($toolbarname); + $toolbar = new $classname(); + + $pluginTitle = str_replace(' ','',$row->title); + $pluginTitle = ucfirst($pluginTitle); + if(!isset($toolbar->$pluginTitle)) continue; + //fix toolbar values or they will get wiped out + + foreach (get_object_vars( $toolbar ) as $k => $v) + { + if(is_null($v)) + { + $toolbar->$k = ''; + } + + if($k[0] == '_') + $toolbar->$k = NULL; + } + + $toolbar->$pluginTitle = NULL; + + $toolbarConfig = new JRegistry('toolbar'); + + $toolbarConfig->loadObject($toolbar); + + // Get the config registry in PHP class format and write it to configuation.php + if (!JFile::write($tmpfilename, $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')))) + { + JCKHelper::error( JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_TOOLBAR',$row->name,$classname)); + } + } + + /** + * + * Remove plugin from config file AW + * + */ + $config = & JCKHelper::getEditorPluginConfig(); + + $config->set($row->name,NULL); // remove value from output + + $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; + + // Get the config registry in PHP class format and write it to configuation.php + if (!JFile::write($cfgFile, $config->toString('PHP', array('class' => 'JCKToolbarPlugins extends JCKPlugins')))) + { + JCKHelper::error(JText::sprintf('COM_JCKMAN_ADAPTER_FAILED_TO_REMOVE_PLUGIN_FROM_CONFIG',$pname)); + } + + $root =& $xml; + + if ($root->getName() != 'extension' && $root->getName() != 'install') { + JCKHelper::error( JText::_('COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST')); + return false; + } + + // Remove the plugin files + $this->parent->removeFiles($root->files, -1); + JFile::delete($manifestFile); + + // Remove all media and languages as well + $this->parent->removeFiles($root->languages, 0); + + } else { + JCKHelper::error( Jtext::_('COM_JCKMAN_ADAPTER_UNINSTALL_INVALID_MANIFEST_OR_NOT_FOUND')); + + $row->delete($row->id); + unset ($row); + $retval = false; + } + + if( $row ) + { + // Now we will no longer need the plugin object, so lets delete it + $row->delete($row->id); + unset ($row); + } + + // If the folder is empty, let's delete it + $files = JFolder::files($this->parent->getPath('extension_root')); + if (!count($files)) { + JFolder::delete($this->parent->getPath('extension_root')); + } + + //Now delete copy of plugin stored in the component + $copyPath = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$pname; + JFolder::delete($copyPath); + + return $retval; + } + + /** + * Custom rollback method + * - Roll back the plugin item + * + * @access public + * @param array $arg Installation step to rollback + * @return boolean True on success + * @since 1.5 + * Minor changes to the db query + */ + function _rollback_plugin($arg) + { + // Get database connector object + $db =& $this->parent->getDBO(); + $sql = $db->getQuery( true ); + + // Remove the entry from the #__JCK_PLUGINS table + $sql->delete( '`#__jckplugins`' ) + ->where( 'id='.(int)$arg['id'] ); + + return ($db->setQuery($sql)->query() !== false); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/base/controller.php b/deployed/jckman/administrator/components/com_jckman/base/controller.php index 21f67c28..073846f9 100644 --- a/deployed/jckman/administrator/components/com_jckman/base/controller.php +++ b/deployed/jckman/administrator/components/com_jckman/base/controller.php @@ -1,71 +1,71 @@ -_event_args = null; - $name = $app->input->get( 'controller', ''); - - if(!$name) - $name = $app->input->get( 'view', $this->getName() ); - - $eventListenerFile = JPATH_COMPONENT .DS . 'event' . DS . $name . '.php'; - - jimport('joomla.filesystem.file'); - - if(JFile::exists($eventListenerFile)) - { - require_once($eventListenerFile); - $this->editor_obervable = new JCKEditorObservable($name); - } - else - { - JCKHelper::error('No Event listener found for '. $name .' controller'); - } - - //load style sheet - $document = JFactory::getDocument(); - $document->addStyleSheet( JCK_COMPONENT . '/css/header.css', 'text/css' ); - } - - public function execute( $task ) - { - parent::execute( $task ); - - //if error just return - //if(JError::getError()) - // return; - //fire event to update editor - $this->updateEditor($this->getTask(),$this->event_args); - } - - private function updateEditor($event,$args = array()) - { - if(isset($this->editor_obervable)) - { - $this->editor_obervable->update( 'on' . JString::ucfirst($event),$args); - } - } +_event_args = null; + $name = $app->input->get( 'controller', ''); + + if(!$name) + $name = $app->input->get( 'view', $this->getName() ); + + $eventListenerFile = JPATH_COMPONENT .DS . 'event' . DS . $name . '.php'; + + jimport('joomla.filesystem.file'); + + if(JFile::exists($eventListenerFile)) + { + require_once($eventListenerFile); + $this->editor_obervable = new JCKEditorObservable($name); + } + else + { + JCKHelper::error('No Event listener found for '. $name .' controller'); + } + + //load style sheet + $document = JFactory::getDocument(); + $document->addStyleSheet( JCK_COMPONENT . '/css/header.css', 'text/css' ); + } + + public function execute( $task ) + { + parent::execute( $task ); + + //if error just return + //if(JError::getError()) + // return; + //fire event to update editor + $this->updateEditor($this->getTask(),$this->event_args); + } + + private function updateEditor($event,$args = array()) + { + if(isset($this->editor_obervable)) + { + $this->editor_obervable->update( 'on' . JString::ucfirst($event),$args); + } + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/base/loader.php b/deployed/jckman/administrator/components/com_jckman/base/loader.php index 05533bde..95260a2b 100644 --- a/deployed/jckman/administrator/components/com_jckman/base/loader.php +++ b/deployed/jckman/administrator/components/com_jckman/base/loader.php @@ -1,154 +1,154 @@ - - com_jckman - 6.4.4 - Jan 2015 - JoomlaCK Editor Manager v6.4

                          - ]]>
                          - GNU/GPLv2 - Andrew Williams - andrew@joomlackeditor.com - http://www.joomlackeditor.com - 2013 - 2015 WebxSolutions Ltd - install.php - - - sql/install.sql - - - - - sql/uninstall.sql - - - - - language/en-GB/en-GB.com_jckman.ini - language/en-GB/en-GB.com_jckman.sys.ini - language/de-DE/de-DE.com_jckman.ini - language/de-DE/de-DE.com_jckman.sys.ini - language/es-ES/es-ES.com_jckman.ini - language/es-ES/es-ES.com_jckman.sys.ini - language/fi-FI/fi-FI.com_jckman.ini - language/fi-FI/fi-FI.com_jckman.sys.ini - language/it-IT/it-IT.com_jckman.ini - language/it-IT/it-IT.com_jckman.sys.ini - language/nl-NL/nl-NL.com_jckman.ini - language/nl-NL/nl-NL.com_jckman.sys.ini - language/fr-FR/fr-FR.com_jckman.ini - language/fr-FR/fr-FR.com_jckman.sys.ini - language/ru-RU/ru-RU.com_jckman.ini - language/ru-RU/ru-RU.com_jckman.sys.ini - - COM_JCKMAN_MENU_NAME - - COM_JCKMAN_SUBMENU_CPANEL_NAME - COM_JCKMAN_SUBMENU_PLUGIN_NAME - COM_JCKMAN_SUBMENU_INSTALL_NAME - COM_JCKMAN_SUBMENU_UNINSTALL_NAME - COM_JCKMAN_SUBMENU_SYSTEMCHECK_NAME - COM_JCKMAN_SUBMENU_SYNC_NAME - COM_JCKMAN_SUBMENU_JCKEDITOR_NAME - - - config.xml - controller.php - jckman.php - helper.php - access.xml - index.html - adapters - base - config - controllers - css - editor - event - help - helpers - html - icons - js - language - tables - models - views - modules - restorers - sql - - - - http://www.joomlackeditor.com/upgrade/com_jckman.xml - + + com_jckman + 6.4.4 + Jan 2015 + JoomlaCK Editor Manager v6.4

                          + ]]>
                          + GNU/GPLv2 + Andrew Williams + andrew@joomlackeditor.com + http://www.joomlackeditor.com + 2013 - 2015 WebxSolutions Ltd + install.php + + + sql/install.sql + + + + + sql/uninstall.sql + + + + + language/en-GB/en-GB.com_jckman.ini + language/en-GB/en-GB.com_jckman.sys.ini + language/de-DE/de-DE.com_jckman.ini + language/de-DE/de-DE.com_jckman.sys.ini + language/es-ES/es-ES.com_jckman.ini + language/es-ES/es-ES.com_jckman.sys.ini + language/fi-FI/fi-FI.com_jckman.ini + language/fi-FI/fi-FI.com_jckman.sys.ini + language/it-IT/it-IT.com_jckman.ini + language/it-IT/it-IT.com_jckman.sys.ini + language/nl-NL/nl-NL.com_jckman.ini + language/nl-NL/nl-NL.com_jckman.sys.ini + language/fr-FR/fr-FR.com_jckman.ini + language/fr-FR/fr-FR.com_jckman.sys.ini + language/ru-RU/ru-RU.com_jckman.ini + language/ru-RU/ru-RU.com_jckman.sys.ini + + COM_JCKMAN_MENU_NAME + + COM_JCKMAN_SUBMENU_CPANEL_NAME + COM_JCKMAN_SUBMENU_PLUGIN_NAME + COM_JCKMAN_SUBMENU_INSTALL_NAME + COM_JCKMAN_SUBMENU_UNINSTALL_NAME + COM_JCKMAN_SUBMENU_SYSTEMCHECK_NAME + COM_JCKMAN_SUBMENU_SYNC_NAME + COM_JCKMAN_SUBMENU_JCKEDITOR_NAME + + + config.xml + controller.php + jckman.php + helper.php + access.xml + index.html + adapters + base + config + controllers + css + editor + event + help + helpers + html + icons + js + language + tables + models + views + modules + restorers + sql + + + + http://www.joomlackeditor.com/upgrade/com_jckman.xml +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/config/handler.php b/deployed/jckman/administrator/components/com_jckman/config/handler.php index 09c801a6..bab75327 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handler.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handler.php @@ -1,72 +1,72 @@ -attributes('is_object'); - $is_a_array = $node->attributes('is_array'); - $separator = $node->attributes('separator'); - - if(!$separator) - $separator = ','; //default to a comma separated list - - $value = implode($separator,$value); - - if($is_a_object) - $value = '{'.$value.'}'; - - if($is_a_array) - $value = '['.$value.']'; - - $options .= "\"$key='".$value."'\","; - } - elseif(is_numeric($value)) - $options .= "\"$key=$value\","; - else - $options .= "\"$key='".$value."'\","; - - return $options; - } +attributes('is_object'); + $is_a_array = $node->attributes('is_array'); + $separator = $node->attributes('separator'); + + if(!$separator) + $separator = ','; //default to a comma separated list + + $value = implode($separator,$value); + + if($is_a_object) + $value = '{'.$value.'}'; + + if($is_a_array) + $value = '['.$value.']'; + + $options .= "\"$key='".$value."'\","; + } + elseif(is_numeric($value)) + $options .= "\"$key=$value\","; + else + $options .= "\"$key='".$value."'\","; + + return $options; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/addcolorlist.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/addcolorlist.php index bca6b93b..c834d88e 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/addcolorlist.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/addcolorlist.php @@ -1,47 +1,47 @@ -attributes('is_object'); - $is_a_array = $node->attributes('is_array'); - $separator = $node->attributes('separator'); - - if(!$separator) - $separator = ','; //default to a comma separated list - - if(empty($value)) - { - $value = array(); - foreach($node->children()as $option) - { - if($option->name() == 'option') - $value[] = $option->attributes('value'); - } - } - $value = implode($separator,$value); - - if($is_a_object) - $value = '{'.$value.'}'; - - if($is_a_array) - $value = '['.$value.']'; - - $options .= "\"$key='".$value."'\","; - - return $options; - } +attributes('is_object'); + $is_a_array = $node->attributes('is_array'); + $separator = $node->attributes('separator'); + + if(!$separator) + $separator = ','; //default to a comma separated list + + if(empty($value)) + { + $value = array(); + foreach($node->children()as $option) + { + if($option->name() == 'option') + $value[] = $option->attributes('value'); + } + } + $value = implode($separator,$value); + + if($is_a_object) + $value = '{'.$value.'}'; + + if($is_a_array) + $value = '['.$value.']'; + + $options .= "\"$key='".$value."'\","; + + return $options; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/addselectlist.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/addselectlist.php index 5d12460a..fb668478 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/addselectlist.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/addselectlist.php @@ -1,47 +1,47 @@ -attributes('is_object'); - $is_a_array = $node->attributes('is_array'); - $separator = $node->attributes('separator'); - - if(!$separator) - $separator = ','; //default to a comma separated list - - if(empty($value)) - { - $value = array(); - foreach($node->children()as $option) - { - if($option->name() == 'option') - $value[] = $option->attributes('value'); - } - } - $value = implode($separator,$value); - - if($is_a_object) - $value = '{'.$value.'}'; - - if($is_a_array) - $value = '['.$value.']'; - - $options .= "\"$key='".$value."'\","; - - return $options; - } +attributes('is_object'); + $is_a_array = $node->attributes('is_array'); + $separator = $node->attributes('separator'); + + if(!$separator) + $separator = ','; //default to a comma separated list + + if(empty($value)) + { + $value = array(); + foreach($node->children()as $option) + { + if($option->name() == 'option') + $value[] = $option->attributes('value'); + } + } + $value = implode($separator,$value); + + if($is_a_object) + $value = '{'.$value.'}'; + + if($is_a_array) + $value = '['.$value.']'; + + $options .= "\"$key='".$value."'\","; + + return $options; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/documenttypelist.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/documenttypelist.php index fa8f074e..2f69892d 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/documenttypelist.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/documenttypelist.php @@ -1,23 +1,23 @@ -attributes('is_object'); - $is_a_array = $node->attributes('is_array'); - $separator = $node->attributes('separator'); - - if(!$separator) - $separator = ','; //default to a comma separated list - - if(empty($value)) - { - $value = array(); - foreach($node->children()as $option) - { - if($option->name() != 'option') - continue; - - $tmp = $option->data(); - $tmp .= '/'. $option->attributes('value'); - $value[] = $tmp; - } - } - else - { - $texts = $params->get($key.'_text'); - - foreach($value as $k=>$v) - { - $tmp = $texts[$k]; - $tmp .= '/'.$v; - $value[$k] = $tmp; - } - - } - - $value = implode($separator,$value); - - if($is_a_object) - $value = '{'.$value.'}'; - - if($is_a_array) - $value = '['.$value.']'; - - $options .= "\"$key='".$value."'\","; - - return $options; - } +attributes('is_object'); + $is_a_array = $node->attributes('is_array'); + $separator = $node->attributes('separator'); + + if(!$separator) + $separator = ','; //default to a comma separated list + + if(empty($value)) + { + $value = array(); + foreach($node->children()as $option) + { + if($option->name() != 'option') + continue; + + $tmp = $option->data(); + $tmp .= '/'. $option->attributes('value'); + $value[] = $tmp; + } + } + else + { + $texts = $params->get($key.'_text'); + + foreach($value as $k=>$v) + { + $tmp = $texts[$k]; + $tmp .= '/'.$v; + $value[$k] = $tmp; + } + + } + + $value = implode($separator,$value); + + if($is_a_object) + $value = '{'.$value.'}'; + + if($is_a_array) + $value = '['.$value.']'; + + $options .= "\"$key='".$value."'\","; + + return $options; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/dualaddselectlist.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/dualaddselectlist.php index ba50f804..6059f5e7 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/dualaddselectlist.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/dualaddselectlist.php @@ -1,64 +1,64 @@ -attributes('is_object'); - $is_a_array = $node->attributes('is_array'); - $separator = $node->attributes('separator'); - - if(!$separator) - $separator = ','; //default to a comma separated list - - if(empty($value)) - { - $value = array(); - foreach($node->children()as $option) - { - if($option->name() != 'option') - continue; - - $tmp = $option->data(); - $tmp .= '/'. $option->attributes('value'); - $value[] = $tmp; - } - } - else - { - $texts = $params->get($key.'_text'); - - foreach($value as $k=>$v) - { - $tmp = $texts[$k]; - $tmp .= '/'.$v; - $value[$k] = $tmp; - } - - } - - $value = implode($separator,$value); - - if($is_a_object) - $value = '{'.$value.'}'; - - if($is_a_array) - $value = '['.$value.']'; - - $options .= "\"$key='".$value."'\","; - - return $options; - } -} +attributes('is_object'); + $is_a_array = $node->attributes('is_array'); + $separator = $node->attributes('separator'); + + if(!$separator) + $separator = ','; //default to a comma separated list + + if(empty($value)) + { + $value = array(); + foreach($node->children()as $option) + { + if($option->name() != 'option') + continue; + + $tmp = $option->data(); + $tmp .= '/'. $option->attributes('value'); + $value[] = $tmp; + } + } + else + { + $texts = $params->get($key.'_text'); + + foreach($value as $k=>$v) + { + $tmp = $texts[$k]; + $tmp .= '/'.$v; + $value[$k] = $tmp; + } + + } + + $value = implode($separator,$value); + + if($is_a_object) + $value = '{'.$value.'}'; + + if($is_a_array) + $value = '['.$value.']'; + + $options .= "\"$key='".$value."'\","; + + return $options; + } +} diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/filebrowsers.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/filebrowsers.php index 95ae2bfb..318a995e 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/filebrowsers.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/filebrowsers.php @@ -1,92 +1,92 @@ -browseUrl)); - $browseUrl = (string) $manifest->browseUrl; - - - - if(isset($manifest->imageBrowseUrl)) - $imageBrowseUrl = $manifest->imageBrowseUrl; - - if(isset($manifest->flashBrowseUrl)) - $flashBrowseUrl = $manifest->flashBrowseUrl; - - - if(!$browseUrl && $value == 'jckexplorer') - { - $browseUrl = 'index.php?editor=ckeditor'; - $imageBrowseUrl = 'index.php?editor=ckeditor&filter=image'; - $flashBrowseUrl = 'index.php?editor=ckeditor&filter=flash'; - } - - if(!$browseUrl) - return false; - - $pluginName = ucfirst($pluginName); - - if($pluginName == 'Image' && $imageBrowseUrl) - $options .= "\"filebrowserImageBrowseUrl='".JURI::root()."plugins/editors/jckeditor/plugins/".$value."/".$imageBrowseUrl."'\","; - elseif(($pluginName == 'Flash' || $pluginName == 'Jflash') && $flashBrowseUrl) - $options .= "\"filebrowserFlashBrowseUrl='".JURI::root()."plugins/editors/jckeditor/plugins/".$value."/".$flashBrowseUrl."'\","; - else - $options .= "\"filebrowser".$pluginName."BrowseUrl='".JURI::root()."plugins/editors/jckeditor/plugins/".$value."/".$browseUrl."'\","; - - return $options; - } -} - - - - - - - - - - - - - - - - - - - +browseUrl)); + $browseUrl = (string) $manifest->browseUrl; + + + + if(isset($manifest->imageBrowseUrl)) + $imageBrowseUrl = $manifest->imageBrowseUrl; + + if(isset($manifest->flashBrowseUrl)) + $flashBrowseUrl = $manifest->flashBrowseUrl; + + + if(!$browseUrl && $value == 'jckexplorer') + { + $browseUrl = 'index.php?editor=ckeditor'; + $imageBrowseUrl = 'index.php?editor=ckeditor&filter=image'; + $flashBrowseUrl = 'index.php?editor=ckeditor&filter=flash'; + } + + if(!$browseUrl) + return false; + + $pluginName = ucfirst($pluginName); + + if($pluginName == 'Image' && $imageBrowseUrl) + $options .= "\"filebrowserImageBrowseUrl='".JURI::root()."plugins/editors/jckeditor/plugins/".$value."/".$imageBrowseUrl."'\","; + elseif(($pluginName == 'Flash' || $pluginName == 'Jflash') && $flashBrowseUrl) + $options .= "\"filebrowserFlashBrowseUrl='".JURI::root()."plugins/editors/jckeditor/plugins/".$value."/".$flashBrowseUrl."'\","; + else + $options .= "\"filebrowser".$pluginName."BrowseUrl='".JURI::root()."plugins/editors/jckeditor/plugins/".$value."/".$browseUrl."'\","; + + return $options; + } +} + + + + + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/resizeradio.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/resizeradio.php index 25d62711..bb6642bb 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/resizeradio.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/resizeradio.php @@ -1,31 +1,31 @@ -attributes('is_object'); - $is_a_array = $node->attributes('is_array'); - $separator = $node->attributes('separator'); - - if(!$separator) - $separator = ','; //default to a comma separated list - - if(strpos($value,'|')) - str_replace('|',chr(13),$value); - - $value = str_replace(chr(13),$separator,$value); - - if($is_a_object) - $value = '{'.$value.'}'; - - if($is_a_array) - $value = '['.$value.']'; - - $options .= "\"$key='".$value."'\","; - - return $options; - } +attributes('is_object'); + $is_a_array = $node->attributes('is_array'); + $separator = $node->attributes('separator'); + + if(!$separator) + $separator = ','; //default to a comma separated list + + if(strpos($value,'|')) + str_replace('|',chr(13),$value); + + $value = str_replace(chr(13),$separator,$value); + + if($is_a_object) + $value = '{'.$value.'}'; + + if($is_a_array) + $value = '['.$value.']'; + + $options .= "\"$key='".$value."'\","; + + return $options; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/config/handlers/windowfeatureslist.php b/deployed/jckman/administrator/components/com_jckman/config/handlers/windowfeatureslist.php index 7b29246b..99d8890c 100644 --- a/deployed/jckman/administrator/components/com_jckman/config/handlers/windowfeatureslist.php +++ b/deployed/jckman/administrator/components/com_jckman/config/handlers/windowfeatureslist.php @@ -1,35 +1,35 @@ -canDo = JCKHelper::getActions(); - } - - function check() - { - $this->display(); - } - - function sync() - { - if( !$this->canDo->get('jckman.sync') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SYNC' ), 'error' ); - return false; - } - - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel' ) ); - } - - function export() - { - } +canDo = JCKHelper::getActions(); + } + + function check() + { + $this->display(); + } + + function sync() + { + if( !$this->canDo->get('jckman.sync') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SYNC' ), 'error' ); + return false; + } + + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel' ) ); + } + + function export() + { + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/controllers/import.php b/deployed/jckman/administrator/components/com_jckman/controllers/import.php index 07d3508a..bca5d22f 100644 --- a/deployed/jckman/administrator/components/com_jckman/controllers/import.php +++ b/deployed/jckman/administrator/components/com_jckman/controllers/import.php @@ -1,80 +1,80 @@ -load( 'com_installer', JPATH_ADMINISTRATOR ); - -jimport('joomla.client.helper'); - -class JCKManControllerImport extends JControllerLegacy -{ - /** - * Method to display a view. - * - * @param boolean If true, the view output will be cached - * @param array An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}. - * - * @return JController This object to support chaining. - * @since 1.5 - */ - public function display($cachable = false, $urlparams = false) - { - - // Get the document object. - $document = JFactory::getDocument(); - - // Set the default view name and format from the Request. - $vName = JRequest::getCmd('view', 'import'); - $vFormat = $document->getType(); - $lName = JRequest::getCmd('layout', 'default'); - - // Get and render the view. - if ($view = $this->getView($vName, $vFormat)) { - $ftp = JClientHelper::setCredentialsFromRequest('ftp'); - $view->assignRef('ftp', $ftp); - - // Get the model for the view. - $model = $this->getModel($vName); - - // Push the model into the view (as default). - $view->setModel($model, true); - $view->setLayout($lName); - - // Push document object into the view. - $view->assignRef('document', $document); - $view->display(); - } - - return $this; - } - - public function import() - { - // Check for request forgeries - JRequest::checkToken() or jexit(JText::_('JINVALID_TOKEN')); - - $model = $this->getModel('import'); - if ($model->import()) { - $cache = JFactory::getCache('mod_menu'); - $cache->clean(); - } - //now updated editor - jckimport( 'event.observable.editor' ); - $obs = new JCKEditorObservable( 'cpanel' ); - $handle = $obs->getEventHandler(); - $handle->onSync(); - $this->display(); - } - - - -} +load( 'com_installer', JPATH_ADMINISTRATOR ); + +jimport('joomla.client.helper'); + +class JCKManControllerImport extends JControllerLegacy +{ + /** + * Method to display a view. + * + * @param boolean If true, the view output will be cached + * @param array An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}. + * + * @return JController This object to support chaining. + * @since 1.5 + */ + public function display($cachable = false, $urlparams = false) + { + + // Get the document object. + $document = JFactory::getDocument(); + + // Set the default view name and format from the Request. + $vName = JRequest::getCmd('view', 'import'); + $vFormat = $document->getType(); + $lName = JRequest::getCmd('layout', 'default'); + + // Get and render the view. + if ($view = $this->getView($vName, $vFormat)) { + $ftp = JClientHelper::setCredentialsFromRequest('ftp'); + $view->assignRef('ftp', $ftp); + + // Get the model for the view. + $model = $this->getModel($vName); + + // Push the model into the view (as default). + $view->setModel($model, true); + $view->setLayout($lName); + + // Push document object into the view. + $view->assignRef('document', $document); + $view->display(); + } + + return $this; + } + + public function import() + { + // Check for request forgeries + JRequest::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + + $model = $this->getModel('import'); + if ($model->import()) { + $cache = JFactory::getCache('mod_menu'); + $cache->clean(); + } + //now updated editor + jckimport( 'event.observable.editor' ); + $obs = new JCKEditorObservable( 'cpanel' ); + $handle = $obs->getEventHandler(); + $handle->onSync(); + $this->display(); + } + + + +} diff --git a/deployed/jckman/administrator/components/com_jckman/controllers/install.php b/deployed/jckman/administrator/components/com_jckman/controllers/install.php index cd78e724..499696f1 100644 --- a/deployed/jckman/administrator/components/com_jckman/controllers/install.php +++ b/deployed/jckman/administrator/components/com_jckman/controllers/install.php @@ -1,16 +1,16 @@ -load( 'com_installer', JPATH_ADMINISTRATOR ); -require_once( JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_installer' .DS. 'controller.php' ); -require_once( JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_installer' .DS. 'controllers'. DS. 'install.php' ); +load( 'com_installer', JPATH_ADMINISTRATOR ); +require_once( JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_installer' .DS. 'controller.php' ); +require_once( JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_installer' .DS. 'controllers'. DS. 'install.php' ); diff --git a/deployed/jckman/administrator/components/com_jckman/controllers/list.php b/deployed/jckman/administrator/components/com_jckman/controllers/list.php index 4cec9087..2894163a 100644 --- a/deployed/jckman/administrator/components/com_jckman/controllers/list.php +++ b/deployed/jckman/administrator/components/com_jckman/controllers/list.php @@ -1,225 +1,225 @@ -canDo = JCKHelper::getActions(); - - $this->registerTask( 'apply', 'save'); - $this->registerTask( 'unpublish', 'publish'); - $this->registerTask( 'edit', 'display' ); - $this->registerTask( 'add', 'display' ); - $this->registerTask( 'orderup', 'order' ); - $this->registerTask( 'orderdown', 'order' ); - } - - function display($cachable = false, $urlparams = false ) - { - switch($this->getTask()) - { - case 'add' : - case 'edit' : - { - JRequest::setVar( 'hidemainmenu', 1 ); - JRequest::setVar( 'layout', 'form' ); - JRequest::setVar( 'view', 'editplugin' ); - } - } - - parent::display($cachable, $urlparams); - } - - function save() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - if( !$this->canDo->get('core.edit') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); - return false; - } - - $app = JFactory::getApplication(); - $db = JFactory::getDBO(); - $row = JCKHelper::getTable('plugin'); - $task = $this->getTask(); - $post = $app->input->get('jform', array(), 'array'); - $params = $app->input->get('params', array(), 'array'); - // $params = ( array_key_exists( 'params', $post ) ) ? $post['params'] : array(); - $groups = ( array_key_exists( 'groups', $post ) ) ? $post['groups'] : array(); - - $post['params'] = $params; - - JArrayHelper::toInteger($groups); - - if (!$row->bind($post)) { - JCKHelper::error( $row->getError() ); - } - - $row->acl = json_encode($groups); //AW - - if (!$row->check()) { - JCKHelper::error( $row->getError() ); - } - - if (!$row->store()) { - JCKHelper::error( $row->getError() ); - } - - $row->checkin(); - - //$row->reorder( 'type = '.$db->Quote($row->type).' AND ordering > -10000 AND ordering < 10000'); - - //update toolbar selections so set args for event - $selections = ( array_key_exists( 'selections', $post ) ) ? $post['selections'] : array(); - $this->event_args = array('plugin' => $row,'pluginToolbarnames'=>$selections ); - - switch ( $task ) - { - case 'apply': - $msg = JText::sprintf( 'COM_JCKMAN_PLUGIN_SAVE_CHANGES', ( $row->title ?: $row->name ) ); - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&task=list.edit&cid[]='. $row->id, false ), $msg ); - break; - - case 'jcksave': - default: - $msg = JText::sprintf( 'COM_JCKMAN_PLUGIN_SAVE', ( $row->title ?: $row->name ) ); - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), $msg ); - break; - } - } - - function publish() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - $lang = JFactory::getLanguage(); - $app = JFactory::getApplication(); - $db = JFactory::getDBO(); - $user = JFactory::getUser(); - - if( !$this->canDo->get('core.edit.state') ) - { - $app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_STATE' ), 'error' ); - } - - $cid = $app->input->get( 'cid', array(), 'array' ); - JArrayHelper::toInteger($cid, array(0)); - $publish = ( $this->getTask() == 'publish' ? 1 : 0 ); - $action = $publish ? JText::_( 'JPUBLISHED' ) : JText::_( 'JUNPUBLISHED' ); - $lang->load( 'com_plugins' ); - - if( count( $cid ) < 1 ) - { - JCKHelper::error( JText::_( 'COM_PLUGINS_NO_ITEM_SELECTED' ) ); - - $app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); - } - - $cids = implode( ',', $cid ); - $sql = $db->getQuery( true ); - $sql->update( '#__jckplugins' ) - ->set( 'published = '.(int) $publish ) - ->where( 'id IN ( '.$cids.' )' ) - ->where( '( checked_out = 0 OR ( checked_out = '.(int) $user->get('id').' ))' ); - - if(!$db->setQuery( $sql )->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - - $this->event_args = array('cid' => $cid,'value'=>$publish ); - $plural = ( count( $cid ) > 1 ) ? '(s)' : ''; - - JCKHelper::error( (int)count( $cid ) . chr( 32 ) . 'plugin' . $plural . chr( 32 ) . $action, 'message' ); - - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); - } - - function cancel() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - $app = JFactory::getApplication(); - $form = $app->input->get( 'jform', array(), 'array' ); - $row = JCKHelper::getTable('plugin'); - $row->bind( $form ); - $row->checkin(); - - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); - } - - function order() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); - } - - function saveorder() - { - //Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), $msg ); - } - - function checkin() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - if( !$this->canDo->get('core.edit.state') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_CHECK' ), 'error' ); - return false; - }//end if - - $db = JFactory::getDBO(); - $user = JFactory::getUser(); - $cid = JRequest::getVar( 'cid', array(0), 'post', 'array' ); - $sql = $db->getQuery( true ); - JArrayHelper::toInteger($cid, array(0)); - - if( count( $cid ) < 1 ) - { - JCKHelper::error( JText::_( 'COM_JCKMAN_PLUGIN_NO_CHECKIN' ) ); - }//end if - - $cids = implode( ',', $cid ); - $sql->update( '#__jckplugins' ) - ->set( array( 'checked_out = 0', 'checked_out_time = "0000-00-00 00:00:00"' ) ) - ->where( 'id IN ( ' . $cids . ' )' ) - ->where( 'checked_out = ' . (int)$user->get('id') ); - $db->setQuery( $sql ); - - if( !$db->query() ) - { - JCKHelper::error( $db->getErrorMsg() ); - }//end if - - $this->event_args = array('cid' => $cid,'value'=> true ); - $plural = ( count( $cid ) > 1 ) ? '(s)' : ''; - - JCKHelper::error( JText::sprintf( 'COM_JCKMAN_PLUGIN_CHECKIN', (int)count( $cid ), $plural ), 'message' ); - - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); - }//end function +canDo = JCKHelper::getActions(); + + $this->registerTask( 'apply', 'save'); + $this->registerTask( 'unpublish', 'publish'); + $this->registerTask( 'edit', 'display' ); + $this->registerTask( 'add', 'display' ); + $this->registerTask( 'orderup', 'order' ); + $this->registerTask( 'orderdown', 'order' ); + } + + function display($cachable = false, $urlparams = false ) + { + switch($this->getTask()) + { + case 'add' : + case 'edit' : + { + JRequest::setVar( 'hidemainmenu', 1 ); + JRequest::setVar( 'layout', 'form' ); + JRequest::setVar( 'view', 'editplugin' ); + } + } + + parent::display($cachable, $urlparams); + } + + function save() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + if( !$this->canDo->get('core.edit') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); + return false; + } + + $app = JFactory::getApplication(); + $db = JFactory::getDBO(); + $row = JCKHelper::getTable('plugin'); + $task = $this->getTask(); + $post = $app->input->get('jform', array(), 'array'); + $params = $app->input->get('params', array(), 'array'); + // $params = ( array_key_exists( 'params', $post ) ) ? $post['params'] : array(); + $groups = ( array_key_exists( 'groups', $post ) ) ? $post['groups'] : array(); + + $post['params'] = $params; + + JArrayHelper::toInteger($groups); + + if (!$row->bind($post)) { + JCKHelper::error( $row->getError() ); + } + + $row->acl = json_encode($groups); //AW + + if (!$row->check()) { + JCKHelper::error( $row->getError() ); + } + + if (!$row->store()) { + JCKHelper::error( $row->getError() ); + } + + $row->checkin(); + + //$row->reorder( 'type = '.$db->Quote($row->type).' AND ordering > -10000 AND ordering < 10000'); + + //update toolbar selections so set args for event + $selections = ( array_key_exists( 'selections', $post ) ) ? $post['selections'] : array(); + $this->event_args = array('plugin' => $row,'pluginToolbarnames'=>$selections ); + + switch ( $task ) + { + case 'apply': + $msg = JText::sprintf( 'COM_JCKMAN_PLUGIN_SAVE_CHANGES', ( $row->title ?: $row->name ) ); + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&task=list.edit&cid[]='. $row->id, false ), $msg ); + break; + + case 'jcksave': + default: + $msg = JText::sprintf( 'COM_JCKMAN_PLUGIN_SAVE', ( $row->title ?: $row->name ) ); + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), $msg ); + break; + } + } + + function publish() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + $lang = JFactory::getLanguage(); + $app = JFactory::getApplication(); + $db = JFactory::getDBO(); + $user = JFactory::getUser(); + + if( !$this->canDo->get('core.edit.state') ) + { + $app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_STATE' ), 'error' ); + } + + $cid = $app->input->get( 'cid', array(), 'array' ); + JArrayHelper::toInteger($cid, array(0)); + $publish = ( $this->getTask() == 'publish' ? 1 : 0 ); + $action = $publish ? JText::_( 'JPUBLISHED' ) : JText::_( 'JUNPUBLISHED' ); + $lang->load( 'com_plugins' ); + + if( count( $cid ) < 1 ) + { + JCKHelper::error( JText::_( 'COM_PLUGINS_NO_ITEM_SELECTED' ) ); + + $app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); + } + + $cids = implode( ',', $cid ); + $sql = $db->getQuery( true ); + $sql->update( '#__jckplugins' ) + ->set( 'published = '.(int) $publish ) + ->where( 'id IN ( '.$cids.' )' ) + ->where( '( checked_out = 0 OR ( checked_out = '.(int) $user->get('id').' ))' ); + + if(!$db->setQuery( $sql )->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + + $this->event_args = array('cid' => $cid,'value'=>$publish ); + $plural = ( count( $cid ) > 1 ) ? '(s)' : ''; + + JCKHelper::error( (int)count( $cid ) . chr( 32 ) . 'plugin' . $plural . chr( 32 ) . $action, 'message' ); + + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); + } + + function cancel() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + $app = JFactory::getApplication(); + $form = $app->input->get( 'jform', array(), 'array' ); + $row = JCKHelper::getTable('plugin'); + $row->bind( $form ); + $row->checkin(); + + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); + } + + function order() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); + } + + function saveorder() + { + //Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), $msg ); + } + + function checkin() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + if( !$this->canDo->get('core.edit.state') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_CHECK' ), 'error' ); + return false; + }//end if + + $db = JFactory::getDBO(); + $user = JFactory::getUser(); + $cid = JRequest::getVar( 'cid', array(0), 'post', 'array' ); + $sql = $db->getQuery( true ); + JArrayHelper::toInteger($cid, array(0)); + + if( count( $cid ) < 1 ) + { + JCKHelper::error( JText::_( 'COM_JCKMAN_PLUGIN_NO_CHECKIN' ) ); + }//end if + + $cids = implode( ',', $cid ); + $sql->update( '#__jckplugins' ) + ->set( array( 'checked_out = 0', 'checked_out_time = "0000-00-00 00:00:00"' ) ) + ->where( 'id IN ( ' . $cids . ' )' ) + ->where( 'checked_out = ' . (int)$user->get('id') ); + $db->setQuery( $sql ); + + if( !$db->query() ) + { + JCKHelper::error( $db->getErrorMsg() ); + }//end if + + $this->event_args = array('cid' => $cid,'value'=> true ); + $plural = ( count( $cid ) > 1 ) ? '(s)' : ''; + + JCKHelper::error( JText::sprintf( 'COM_JCKMAN_PLUGIN_CHECKIN', (int)count( $cid ), $plural ), 'message' ); + + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ) ); + }//end function }//end class \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/controllers/manage.php b/deployed/jckman/administrator/components/com_jckman/controllers/manage.php index 657afe1c..78526fc5 100644 --- a/deployed/jckman/administrator/components/com_jckman/controllers/manage.php +++ b/deployed/jckman/administrator/components/com_jckman/controllers/manage.php @@ -1,52 +1,52 @@ -input->get( 'cid', array(), 'array' ); - $model = $this->getModel( 'Manage' ); - JArrayHelper::toInteger( $cid, array() ); - $result = $model->remove( $cid ); - - $redirect = 'index.php?option=com_jckman&view=extension'; - $view = $app->input->get('view',false); - - if($view && $view != 'plugin') - $redirect .= '&tab='.$view; - - $this->setRedirect( JRoute::_($redirect , false ) ); - } +input->get( 'cid', array(), 'array' ); + $model = $this->getModel( 'Manage' ); + JArrayHelper::toInteger( $cid, array() ); + $result = $model->remove( $cid ); + + $redirect = 'index.php?option=com_jckman&view=extension'; + $view = $app->input->get('view',false); + + if($view && $view != 'plugin') + $redirect .= '&tab='.$view; + + $this->setRedirect( JRoute::_($redirect , false ) ); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/controllers/toolbars.php b/deployed/jckman/administrator/components/com_jckman/controllers/toolbars.php index aab366db..7227f13e 100644 --- a/deployed/jckman/administrator/components/com_jckman/controllers/toolbars.php +++ b/deployed/jckman/administrator/components/com_jckman/controllers/toolbars.php @@ -1,423 +1,423 @@ -canDo = JCKHelper::getActions(); - - $this->registerTask( 'apply', 'save'); - $this->registerTask( 'edit', 'display' ); - $this->registerTask( 'add', 'display' ); - $this->registerTask( 'trash', 'remove' ); // drop-down menu - $this->registerTask( 'remove', 'remove' ); - } - - function display($cachable = false, $urlparams = false ) - { - switch($this->getTask()) - { - case 'add' : - case 'edit' : - { - JRequest::setVar( 'hidemainmenu', 1 ); - JRequest::setVar( 'layout', 'form' ); - JRequest::setVar( 'view', 'toolbar' ); - } break; - case 'preview' : - { - JRequest::setVar( 'view', 'toolbar' ); - JRequest::setVar( 'layout', 'popup' ); - } - } - - parent::display($cachable, $urlparams); - } - - /** - * Compiles information to add or edit a toolbar - * @param string The current GET/POST option - * @param integer The unique id of the record to edit - */ - function copy() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - if( !$this->canDo->get('core.create') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_COPY' ), 'error' ); - return false; - } - - // Initialize some variables - $db = JFactory::getDBO(); - $app = JFactory::getApplication(); - $cid = $app->input->get( 'cid', array(), 'array' ); - $n = count( $cid ); - - if ($n == 0) { - return JCKHelper::error( JText::_( 'JERROR_NO_ITEMS_SELECTED' ) ); - } - - $row =& JCKHelper::getTable('toolbar'); - $toolbarpugins = array(); - - $i = 1; - - $ncid = array(); - - foreach ($cid as $id) - { - // load the row from the db table - $row->load( (int) $id ); - $row->title = 'Copy of ' . $row->title; - $row->id = 0; - $row->iscore = 0; - $row->published = 1; - $sql = $db->getQuery( true ); - $sql->select( 'count(1)' ) - ->from( '#__jcktoolbars' ) - ->where( 'title = "'. $row->title . '"' ); - - //get offset for name of copy - $offset = $db->setQuery( $sql )->loadResult(); - $row->name = $row->name . ($offset +1); - - if (!$row->check()) { - return JCKHelper::error( $row->getError() ); - } - if (!$row->store()) { - return JCKHelper::error( $row->getError() ); - } - - $row->checkin(); - - $ncid[] = $row->id; - $sql = $db->getQuery( true ); - $sql->select( 'pluginid,row,ordering,state' ) - ->from( '#__jcktoolbarplugins' ) - ->where( 'toolbarid = '. (int) $id ); - $rows = $db->setQuery( $sql )->loadObjectList(); - - foreach ($rows as $toolbar_plugin_row) { - $toolbarpugins[] = '('.(int) $row->id. ',' .(int) $toolbar_plugin_row->pluginid. ',' .(int) $toolbar_plugin_row->row. ',' - .(int) $toolbar_plugin_row->ordering. ','.(int) $toolbar_plugin_row->state.')'; - } - - } - - $this->event_args = array('cid' => $ncid); - - if (!empty( $toolbarpugins )) - { - // Toolbar-Plugin Mapping: Do it in one query - $query = 'INSERT INTO #__jcktoolbarplugins (toolbarid,pluginid,row,ordering,state) VALUES '.implode( ',', $toolbarpugins ); - $db->setQuery( $query ); - if (!$db->query()) { - return JCKHelper::error( $row->getError() ); - } - } - - $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_COPY', $n ); - $this->setRedirect( 'index.php?option=com_jckman&view=toolbars', $msg ); - } - - function save() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - if( !$this->canDo->get('core.edit') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); - return false; - } - - $app = JFactory::getApplication(); - - $db = JFactory::getDBO(); - $row =& JCKHelper::getTable('toolbar'); - $task = $this->getTask(); - $form = $app->input->get( 'jform', array(), 'array' ); - $form['rows'] = $app->input->get( 'rows', array(), 'array' ); - $components = $app->input->get( 'components', array(), 'array' ); - $params = array(); - $params['components'] = $components; - $form['params'] = $params; - - $id = $form['id']; - - $oldname = ''; - $isNew = false; - - if(!$id) - { - $isNew = true; - $name = $form['name']; - $form['name'] = str_replace(array(' ','-'),array('','_'),$name); - } - else - { - $row->load((int)$id); - $oldname = $row->name; - } - - if (!$row->bind($form)) { - JCKHelper::error( $row->getError() ); - } - if (!$row->check()) { - JCKHelper::error( $row->getError() ); - } - if (!$row->store()) { - JCKHelper::error( $row->getError() ); - } - $row->checkin(); - - //code to add plugins from layout - $rows = JRequest::getVar( 'rows', '', 'post'); - $rows = str_replace( ',/,,/,', ',/,', $rows ); - $rows = explode('/',$rows); - - if($rows[count($rows) -1] == ',') - array_pop($rows); - - for($i = 0;$i < count($rows); $i++) $rows[$i] = explode(',',$rows[$i]); - - $values = array(); - $k = 1; - $j = 1; - $l = 1; - - $rowcount = count($rows ); - foreach($rows as $toolbar) - { - if(empty($toolbar)) - continue; - - foreach($toolbar as $icon) - { - if($icon =='') - continue; - - if($icon ==';') - { - $k++; - $j = 1; - } - else - { - $pluginid = str_replace('icon','',$icon); - $values[] = '('.(int)$row->id.','.(int)$pluginid.','.$k.','.$j.',1)'; - $j++; - } - } - $breakid = $l * -1; - if($l < $rowcount) - $values[] = '('.(int)$row->id.','.$breakid.','.$k.','.$j.',1)'; - $l++; - } - - //first delete dependencies - $query = 'DELETE FROM #__jcktoolbarplugins' - . ' WHERE toolbarid = '.$row->id; - - $db->setQuery( $query ); - if (!$db->query()) { - JCKHelper::error( $db->getErrorMsg() ); - } - - if(!empty($values)) - { - $query = 'INSERT INTO `#__jcktoolbarplugins` (toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->ErrorMsg() ); - } - } - - //arguments for onSave Event - $this->event_args = array('id' => $row->id,'name'=>$row->name,'oldname'=>$oldname,'title'=>$row->title,'isNew'=>$isNew); - - switch ( $task ) - { - case 'apply': - $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_APPLY', $row->title ); - $this->setRedirect( 'index.php?option=com_jckman&task=toolbars.edit&cid[]='. $row->id, $msg ); - break; - - case 'save': - default: - $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_SAVE', $row->title ); - $this->setRedirect( 'index.php?option=com_jckman&view=toolbars', $msg ); - break; - } - } - - function cancel() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - $app = JFactory::getApplication(); - $row = JCKHelper::getTable('toolbar'); - $form = $app->input->get( 'jform', array(), 'array' ); - $row->bind($form); - $row->checkin(); - $this->setRedirect( 'index.php?option=com_jckman&view=toolbars'); - } - - function remove() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - if( !$this->canDo->get('core.delete') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); - return false; - } - - $db = JFactory::getDBO(); - $app = JFactory::getApplication(); - $cid = $app->input->get( 'cid', array(0), 'array' ); - JArrayHelper::toInteger($cid, array(0)); - - if (count( $cid ) < 1) { - JCKHelper::error( JText::_( 'JWARNING_DELETE_MUST_SELECT' ) ); - } - - if (empty( $cid )) { - return JCKHelper::error( JText::_( 'JGLOBAL_NO_ITEM_SELECTED' ) ); - } - - $cids = implode( ',', $cid ); - - $editor = JPluginHelper::getPlugin('editors','jckeditor'); - $params = new JRegistry($editor->params); - $defaults = array(strtolower($params->get('toolbar','full')),strtolower($params->get('toolbar_ft','full')) ); - - $sql = $db->getQuery( true ); - $sql->select( 'count(1)' ) - ->from( '#__jcktoolbars' ) - ->where( 'id IN ('.$cids.')' ) - ->where( 'LOWER(name) IN ("' . implode('","',$defaults) .'")' ); - $total = $db->setQuery( $sql )->loadResult(); - if($msg = $db->getErrorMsg()) - { - return JCKHelper::error( $msg); - } - - if($total > 0){ - $this->setRedirect( 'index.php?option=com_jckman&view=toolbars'); - return JCKHelper::error( JText::_( 'COM_JCKMAN_TOOLBAR_NO_DEL_DEFAULT' ) ); - } - - - $sql = $db->getQuery( true ); - $sql->select( 'count(1)' ) - ->from( '#__jcktoolbars' ) - ->where( 'id IN ('.$cids.')' ) - ->where( 'iscore = 1' ); - $total = $db->setQuery( $sql )->loadResult(); - if($msg = $db->getErrorMsg()) - { - return JCKHelper::error( $msg); - } - - if($total > 0){ - $this->setRedirect( 'index.php?option=com_jckman&view=toolbars'); - return JCKHelper::error( JText::_( 'COM_JCKMAN_TOOLBAR_NO_DEL_CORE' ) ); - } - - $sql = $db->getQuery( true ); - $sql->select( 'name' ) - ->from( '#__jcktoolbars' ) - ->where( 'id IN ('.$cids.')' ); - $rows = $db->setQuery( $sql )->loadColumn(); - - if (!$db->query()) { - return JCKHelper::error( $db->getErrorMsg() ); - } - - $this->event_args = array('names' => $rows); - - //first delete dependencies - $sql = $db->getQuery( true ); - $sql->delete( '#__jcktoolbarplugins' ) - ->where( 'toolbarid IN ('.$cids.')' ); - $db->setQuery( $sql ); - if (!$db->query()) { - JCKHelper::error( $db->getErrorMsg() ); - } - - //delete toolbars - $sql = $db->getQuery( true ); - $sql->delete( '#__jcktoolbars' ) - ->where( 'id IN ('.$cids.')' ); - $db->setQuery( $sql ); - if (!$db->query()) { - JCKHelper::error( $db->getErrorMsg() ); - } - - $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_DELETE', implode(',',$rows) ); - $this->setRedirect( 'index.php?option=com_jckman&view=toolbars',$msg ); - } - - function checkin() - { - // Check for request forgeries - JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); - - if( !$this->canDo->get('core.edit.state') ) - { - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_CHECK' ), 'error' ); - return false; - } - - $db = JFactory::getDBO(); - $user = JFactory::getUser(); - $app = JFactory::getApplication(); - $cid = $app->input->get( 'cid', array(0), 'array' ); - $sql = $db->getQuery( true ); - JArrayHelper::toInteger($cid, array(0)); - - if(count( $cid ) < 1) - { - JCKHelper::error( JText::_( 'COM_JCKMAN_TOOLBAR_NO_CHECKIN' ) ); - } - - $cids = implode( ',', $cid ); - $sql->update( '#__jcktoolbars' ) - ->set( array( 'checked_out = 0', 'checked_out_time = "0000-00-00 00:00:00"' ) ) - ->where( 'id IN ( ' . $cids . ' )' ) - ->where( 'checked_out = ' . (int)$user->get('id') ); - $db->setQuery( $sql ); - - if( !$db->query() ) - { - JCKHelper::error( $db->getErrorMsg() ); - } - - $this->event_args = array('cid' => $cid,'value'=> true ); - $plural = ( count( $cid ) > 1 ) ? '(s)' : ''; - - JCKHelper::error( JText::sprintf( 'COM_JCKMAN_TOOLBAR_CHECKIN', (int)count( $cid ), $plural ), 'message' ); - - $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=' . $app->input->get( 'view', 'toolbars' ), false ) ); - } +canDo = JCKHelper::getActions(); + + $this->registerTask( 'apply', 'save'); + $this->registerTask( 'edit', 'display' ); + $this->registerTask( 'add', 'display' ); + $this->registerTask( 'trash', 'remove' ); // drop-down menu + $this->registerTask( 'remove', 'remove' ); + } + + function display($cachable = false, $urlparams = false ) + { + switch($this->getTask()) + { + case 'add' : + case 'edit' : + { + JRequest::setVar( 'hidemainmenu', 1 ); + JRequest::setVar( 'layout', 'form' ); + JRequest::setVar( 'view', 'toolbar' ); + } break; + case 'preview' : + { + JRequest::setVar( 'view', 'toolbar' ); + JRequest::setVar( 'layout', 'popup' ); + } + } + + parent::display($cachable, $urlparams); + } + + /** + * Compiles information to add or edit a toolbar + * @param string The current GET/POST option + * @param integer The unique id of the record to edit + */ + function copy() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + if( !$this->canDo->get('core.create') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_COPY' ), 'error' ); + return false; + } + + // Initialize some variables + $db = JFactory::getDBO(); + $app = JFactory::getApplication(); + $cid = $app->input->get( 'cid', array(), 'array' ); + $n = count( $cid ); + + if ($n == 0) { + return JCKHelper::error( JText::_( 'JERROR_NO_ITEMS_SELECTED' ) ); + } + + $row =& JCKHelper::getTable('toolbar'); + $toolbarpugins = array(); + + $i = 1; + + $ncid = array(); + + foreach ($cid as $id) + { + // load the row from the db table + $row->load( (int) $id ); + $row->title = 'Copy of ' . $row->title; + $row->id = 0; + $row->iscore = 0; + $row->published = 1; + $sql = $db->getQuery( true ); + $sql->select( 'count(1)' ) + ->from( '#__jcktoolbars' ) + ->where( 'title = "'. $row->title . '"' ); + + //get offset for name of copy + $offset = $db->setQuery( $sql )->loadResult(); + $row->name = $row->name . ($offset +1); + + if (!$row->check()) { + return JCKHelper::error( $row->getError() ); + } + if (!$row->store()) { + return JCKHelper::error( $row->getError() ); + } + + $row->checkin(); + + $ncid[] = $row->id; + $sql = $db->getQuery( true ); + $sql->select( 'pluginid,row,ordering,state' ) + ->from( '#__jcktoolbarplugins' ) + ->where( 'toolbarid = '. (int) $id ); + $rows = $db->setQuery( $sql )->loadObjectList(); + + foreach ($rows as $toolbar_plugin_row) { + $toolbarpugins[] = '('.(int) $row->id. ',' .(int) $toolbar_plugin_row->pluginid. ',' .(int) $toolbar_plugin_row->row. ',' + .(int) $toolbar_plugin_row->ordering. ','.(int) $toolbar_plugin_row->state.')'; + } + + } + + $this->event_args = array('cid' => $ncid); + + if (!empty( $toolbarpugins )) + { + // Toolbar-Plugin Mapping: Do it in one query + $query = 'INSERT INTO #__jcktoolbarplugins (toolbarid,pluginid,row,ordering,state) VALUES '.implode( ',', $toolbarpugins ); + $db->setQuery( $query ); + if (!$db->query()) { + return JCKHelper::error( $row->getError() ); + } + } + + $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_COPY', $n ); + $this->setRedirect( 'index.php?option=com_jckman&view=toolbars', $msg ); + } + + function save() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + if( !$this->canDo->get('core.edit') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); + return false; + } + + $app = JFactory::getApplication(); + + $db = JFactory::getDBO(); + $row =& JCKHelper::getTable('toolbar'); + $task = $this->getTask(); + $form = $app->input->get( 'jform', array(), 'array' ); + $form['rows'] = $app->input->get( 'rows', array(), 'array' ); + $components = $app->input->get( 'components', array(), 'array' ); + $params = array(); + $params['components'] = $components; + $form['params'] = $params; + + $id = $form['id']; + + $oldname = ''; + $isNew = false; + + if(!$id) + { + $isNew = true; + $name = $form['name']; + $form['name'] = str_replace(array(' ','-'),array('','_'),$name); + } + else + { + $row->load((int)$id); + $oldname = $row->name; + } + + if (!$row->bind($form)) { + JCKHelper::error( $row->getError() ); + } + if (!$row->check()) { + JCKHelper::error( $row->getError() ); + } + if (!$row->store()) { + JCKHelper::error( $row->getError() ); + } + $row->checkin(); + + //code to add plugins from layout + $rows = JRequest::getVar( 'rows', '', 'post'); + $rows = str_replace( ',/,,/,', ',/,', $rows ); + $rows = explode('/',$rows); + + if($rows[count($rows) -1] == ',') + array_pop($rows); + + for($i = 0;$i < count($rows); $i++) $rows[$i] = explode(',',$rows[$i]); + + $values = array(); + $k = 1; + $j = 1; + $l = 1; + + $rowcount = count($rows ); + foreach($rows as $toolbar) + { + if(empty($toolbar)) + continue; + + foreach($toolbar as $icon) + { + if($icon =='') + continue; + + if($icon ==';') + { + $k++; + $j = 1; + } + else + { + $pluginid = str_replace('icon','',$icon); + $values[] = '('.(int)$row->id.','.(int)$pluginid.','.$k.','.$j.',1)'; + $j++; + } + } + $breakid = $l * -1; + if($l < $rowcount) + $values[] = '('.(int)$row->id.','.$breakid.','.$k.','.$j.',1)'; + $l++; + } + + //first delete dependencies + $query = 'DELETE FROM #__jcktoolbarplugins' + . ' WHERE toolbarid = '.$row->id; + + $db->setQuery( $query ); + if (!$db->query()) { + JCKHelper::error( $db->getErrorMsg() ); + } + + if(!empty($values)) + { + $query = 'INSERT INTO `#__jcktoolbarplugins` (toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->ErrorMsg() ); + } + } + + //arguments for onSave Event + $this->event_args = array('id' => $row->id,'name'=>$row->name,'oldname'=>$oldname,'title'=>$row->title,'isNew'=>$isNew); + + switch ( $task ) + { + case 'apply': + $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_APPLY', $row->title ); + $this->setRedirect( 'index.php?option=com_jckman&task=toolbars.edit&cid[]='. $row->id, $msg ); + break; + + case 'save': + default: + $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_SAVE', $row->title ); + $this->setRedirect( 'index.php?option=com_jckman&view=toolbars', $msg ); + break; + } + } + + function cancel() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + $app = JFactory::getApplication(); + $row = JCKHelper::getTable('toolbar'); + $form = $app->input->get( 'jform', array(), 'array' ); + $row->bind($form); + $row->checkin(); + $this->setRedirect( 'index.php?option=com_jckman&view=toolbars'); + } + + function remove() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + if( !$this->canDo->get('core.delete') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); + return false; + } + + $db = JFactory::getDBO(); + $app = JFactory::getApplication(); + $cid = $app->input->get( 'cid', array(0), 'array' ); + JArrayHelper::toInteger($cid, array(0)); + + if (count( $cid ) < 1) { + JCKHelper::error( JText::_( 'JWARNING_DELETE_MUST_SELECT' ) ); + } + + if (empty( $cid )) { + return JCKHelper::error( JText::_( 'JGLOBAL_NO_ITEM_SELECTED' ) ); + } + + $cids = implode( ',', $cid ); + + $editor = JPluginHelper::getPlugin('editors','jckeditor'); + $params = new JRegistry($editor->params); + $defaults = array(strtolower($params->get('toolbar','full')),strtolower($params->get('toolbar_ft','full')) ); + + $sql = $db->getQuery( true ); + $sql->select( 'count(1)' ) + ->from( '#__jcktoolbars' ) + ->where( 'id IN ('.$cids.')' ) + ->where( 'LOWER(name) IN ("' . implode('","',$defaults) .'")' ); + $total = $db->setQuery( $sql )->loadResult(); + if($msg = $db->getErrorMsg()) + { + return JCKHelper::error( $msg); + } + + if($total > 0){ + $this->setRedirect( 'index.php?option=com_jckman&view=toolbars'); + return JCKHelper::error( JText::_( 'COM_JCKMAN_TOOLBAR_NO_DEL_DEFAULT' ) ); + } + + + $sql = $db->getQuery( true ); + $sql->select( 'count(1)' ) + ->from( '#__jcktoolbars' ) + ->where( 'id IN ('.$cids.')' ) + ->where( 'iscore = 1' ); + $total = $db->setQuery( $sql )->loadResult(); + if($msg = $db->getErrorMsg()) + { + return JCKHelper::error( $msg); + } + + if($total > 0){ + $this->setRedirect( 'index.php?option=com_jckman&view=toolbars'); + return JCKHelper::error( JText::_( 'COM_JCKMAN_TOOLBAR_NO_DEL_CORE' ) ); + } + + $sql = $db->getQuery( true ); + $sql->select( 'name' ) + ->from( '#__jcktoolbars' ) + ->where( 'id IN ('.$cids.')' ); + $rows = $db->setQuery( $sql )->loadColumn(); + + if (!$db->query()) { + return JCKHelper::error( $db->getErrorMsg() ); + } + + $this->event_args = array('names' => $rows); + + //first delete dependencies + $sql = $db->getQuery( true ); + $sql->delete( '#__jcktoolbarplugins' ) + ->where( 'toolbarid IN ('.$cids.')' ); + $db->setQuery( $sql ); + if (!$db->query()) { + JCKHelper::error( $db->getErrorMsg() ); + } + + //delete toolbars + $sql = $db->getQuery( true ); + $sql->delete( '#__jcktoolbars' ) + ->where( 'id IN ('.$cids.')' ); + $db->setQuery( $sql ); + if (!$db->query()) { + JCKHelper::error( $db->getErrorMsg() ); + } + + $msg = JText::sprintf( 'COM_JCKMAN_TOOLBAR_DELETE', implode(',',$rows) ); + $this->setRedirect( 'index.php?option=com_jckman&view=toolbars',$msg ); + } + + function checkin() + { + // Check for request forgeries + JRequest::checkToken() or die( JText::_( 'JINVALID_TOKEN' ) ); + + if( !$this->canDo->get('core.edit.state') ) + { + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_CHECK' ), 'error' ); + return false; + } + + $db = JFactory::getDBO(); + $user = JFactory::getUser(); + $app = JFactory::getApplication(); + $cid = $app->input->get( 'cid', array(0), 'array' ); + $sql = $db->getQuery( true ); + JArrayHelper::toInteger($cid, array(0)); + + if(count( $cid ) < 1) + { + JCKHelper::error( JText::_( 'COM_JCKMAN_TOOLBAR_NO_CHECKIN' ) ); + } + + $cids = implode( ',', $cid ); + $sql->update( '#__jcktoolbars' ) + ->set( array( 'checked_out = 0', 'checked_out_time = "0000-00-00 00:00:00"' ) ) + ->where( 'id IN ( ' . $cids . ' )' ) + ->where( 'checked_out = ' . (int)$user->get('id') ); + $db->setQuery( $sql ); + + if( !$db->query() ) + { + JCKHelper::error( $db->getErrorMsg() ); + } + + $this->event_args = array('cid' => $cid,'value'=> true ); + $plural = ( count( $cid ) > 1 ) ? '(s)' : ''; + + JCKHelper::error( JText::sprintf( 'COM_JCKMAN_TOOLBAR_CHECKIN', (int)count( $cid ), $plural ), 'message' ); + + $this->setRedirect( JRoute::_( 'index.php?option=com_jckman&view=' . $app->input->get( 'view', 'toolbars' ), false ) ); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/css/header.css b/deployed/jckman/administrator/components/com_jckman/css/header.css index fe69bc8b..5d23942d 100644 --- a/deployed/jckman/administrator/components/com_jckman/css/header.css +++ b/deployed/jckman/administrator/components/com_jckman/css/header.css @@ -1,219 +1,219 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ -/*===============> */ -/*==========> J3.0 */ -/*===============> */ -/* TOOLBAR BUTTONS */ -.icon-cpanel:before -{ - content : "7"; - color : #333333; -} - -.icon-export:before -{ - content : "R"; - color : #51A351; -} - -/* SUBMENU BUTTONS */ -#sidebar #submenu a[href*='com_jckman&view=cpanel']:before -{ - font-family : 'IcoMoon'; - content : "7 "; -} - -#sidebar #submenu a[href*='com_jckman&view=list']:before -{ - font-family : 'IcoMoon'; - content : "4 "; -} - -#sidebar #submenu a[href*='com_jckman&view=install']:before -{ - font-family : 'IcoMoon'; - content : "3 "; -} - -#sidebar #submenu a[href*='com_jckman&view=extension']:before -{ - font-family : 'IcoMoon'; - content : "L "; -} - -#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=system']:before -{ - font-family : 'IcoMoon'; - content : "j "; -} - -#sidebar #submenu a[href*='com_jckman&view=toolbars']:before -{ - font-family : 'IcoMoon'; - content : "1 "; -} - -#sidebar #submenu a[href*='com_jckman&view=import']:before -{ - font-family : 'IcoMoon'; - content : "l "; -} - -#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=export']:before -{ - font-family : 'IcoMoon'; - content : "R "; -} - -#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=sync']:before -{ - font-family : 'IcoMoon'; - content : "f "; -} - -#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=editor']:before -{ - font-family : 'IcoMoon'; - content : "2 "; -} - -#sidebar #submenu a[href*='com_installer'] -{ - display : none; -} - -/* J3.0 STYLE FIXES */ -.nav-tabs a:focus -{ - outline : 0px none; -} - -.sidebar-nav .nav-list a.nolink, -.sidebar-nav .nav-list a.nolink:hover, -.sidebar-nav .nav-list li.active a.nolink, -.sidebar-nav .nav-list li.active a.nolink:hover -{ - color : #888888; - background-color : transparent; - text-shadow : none; -} - -/* MOBILE STYLE FIXES */ -#filter-bar .btn-group > .btn -{ - max-width : 50%; -} - -.jckbreak -{ - word-break : break-word; -} - -/* ACCESSIBILITY TMPL FIXES */ -/* installer */ -body#minwidth-body .nav-tabs > li -{ - float : left; - list-style : none outside none; -} - -body#minwidth-body #main-container > div -{ - padding : 20px; - clear : both; -} - -body#minwidth-body #jform_selections_chzn -{ - min-width : 200px; -} - -/* installer tabs fix */ -body#minwidth-body #main-container .nav li -{ - margin : 3px 5px; - padding : 5px; - - border : 1px solid #C7C8B2; - background-color : #F9FADE; -} - -/* root tabs fix */ -body#minwidth-body #submenu -{ - padding-bottom : 31px; -} - -body#minwidth-body #submenu li -{ - margin-top : 5px; -} - -body#minwidth-body .jckman_install #submenu li:nth-child(1), -body#minwidth-body .jckman_install #submenu li:nth-child(2), -body#minwidth-body .jckman_install #submenu li:nth-child(3), -body#minwidth-body .jckman_install #submenu li:nth-child(4), -body#minwidth-body .jckman_install #submenu li:nth-child(5), -body#minwidth-body .jckman_install #submenu li:nth-child(6), -body#minwidth-body .jckman_install #submenu li:nth-child(7) -{ - display : none; -} - -/*==========> END J3.0! */ - -.icon-48-cpanel { - background-image:url("../icons/icon-48-cpanel.png") !important; -} -.icon-32-cpanel { - background-image:url("../icons/icon-32-cpanel.png") !important; -} -.pane-sliders .content { - background:none repeat scroll 0 0 #FFFFFF !important; -} -.icon-48-plugin { -background-image:url("../icons/icon-48-plugin.png") !important; -} -.icon-48-layout { -background-image:url("../icons/icon-48-layout.png") !important; -} -.icon-48-installer { -background-image:url("../icons/icon-48-installer.png") !important; -} -.icon-48-import { -background-image:url("../icons/icon-48-import.png") !important; -} -.message small -{ - font-size:inherit !important; -} - -/*J!1.6 StyleFixes - PF*/ -fieldset.adminform input, fieldset.adminform textarea, fieldset.adminform select, fieldset.adminform img, fieldset.adminform button { - float: none !important; -} -fieldset.adminform label, fieldset.adminform span.faux-label { - float: none !important; display: inline !important; -} -div.width-60 { - float: left; -} -div.width-40 { - float: right; -} -div#element-box div.m { - padding: 0 10px !important; -} -table.adminform td { - padding: 15px !important; font-size: 11px !important; -} -#content-pane {margin: 0 !important; -} -input.button { - margin-top: 2px; +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ +/*===============> */ +/*==========> J3.0 */ +/*===============> */ +/* TOOLBAR BUTTONS */ +.icon-cpanel:before +{ + content : "7"; + color : #333333; +} + +.icon-export:before +{ + content : "R"; + color : #51A351; +} + +/* SUBMENU BUTTONS */ +#sidebar #submenu a[href*='com_jckman&view=cpanel']:before +{ + font-family : 'IcoMoon'; + content : "7 "; +} + +#sidebar #submenu a[href*='com_jckman&view=list']:before +{ + font-family : 'IcoMoon'; + content : "4 "; +} + +#sidebar #submenu a[href*='com_jckman&view=install']:before +{ + font-family : 'IcoMoon'; + content : "3 "; +} + +#sidebar #submenu a[href*='com_jckman&view=extension']:before +{ + font-family : 'IcoMoon'; + content : "L "; +} + +#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=system']:before +{ + font-family : 'IcoMoon'; + content : "j "; +} + +#sidebar #submenu a[href*='com_jckman&view=toolbars']:before +{ + font-family : 'IcoMoon'; + content : "1 "; +} + +#sidebar #submenu a[href*='com_jckman&view=import']:before +{ + font-family : 'IcoMoon'; + content : "l "; +} + +#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=export']:before +{ + font-family : 'IcoMoon'; + content : "R "; +} + +#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=sync']:before +{ + font-family : 'IcoMoon'; + content : "f "; +} + +#sidebar #submenu a[href*='com_jckman&view=cpanel&taskbtn=editor']:before +{ + font-family : 'IcoMoon'; + content : "2 "; +} + +#sidebar #submenu a[href*='com_installer'] +{ + display : none; +} + +/* J3.0 STYLE FIXES */ +.nav-tabs a:focus +{ + outline : 0px none; +} + +.sidebar-nav .nav-list a.nolink, +.sidebar-nav .nav-list a.nolink:hover, +.sidebar-nav .nav-list li.active a.nolink, +.sidebar-nav .nav-list li.active a.nolink:hover +{ + color : #888888; + background-color : transparent; + text-shadow : none; +} + +/* MOBILE STYLE FIXES */ +#filter-bar .btn-group > .btn +{ + max-width : 50%; +} + +.jckbreak +{ + word-break : break-word; +} + +/* ACCESSIBILITY TMPL FIXES */ +/* installer */ +body#minwidth-body .nav-tabs > li +{ + float : left; + list-style : none outside none; +} + +body#minwidth-body #main-container > div +{ + padding : 20px; + clear : both; +} + +body#minwidth-body #jform_selections_chzn +{ + min-width : 200px; +} + +/* installer tabs fix */ +body#minwidth-body #main-container .nav li +{ + margin : 3px 5px; + padding : 5px; + + border : 1px solid #C7C8B2; + background-color : #F9FADE; +} + +/* root tabs fix */ +body#minwidth-body #submenu +{ + padding-bottom : 31px; +} + +body#minwidth-body #submenu li +{ + margin-top : 5px; +} + +body#minwidth-body .jckman_install #submenu li:nth-child(1), +body#minwidth-body .jckman_install #submenu li:nth-child(2), +body#minwidth-body .jckman_install #submenu li:nth-child(3), +body#minwidth-body .jckman_install #submenu li:nth-child(4), +body#minwidth-body .jckman_install #submenu li:nth-child(5), +body#minwidth-body .jckman_install #submenu li:nth-child(6), +body#minwidth-body .jckman_install #submenu li:nth-child(7) +{ + display : none; +} + +/*==========> END J3.0! */ + +.icon-48-cpanel { + background-image:url("../icons/icon-48-cpanel.png") !important; +} +.icon-32-cpanel { + background-image:url("../icons/icon-32-cpanel.png") !important; +} +.pane-sliders .content { + background:none repeat scroll 0 0 #FFFFFF !important; +} +.icon-48-plugin { +background-image:url("../icons/icon-48-plugin.png") !important; +} +.icon-48-layout { +background-image:url("../icons/icon-48-layout.png") !important; +} +.icon-48-installer { +background-image:url("../icons/icon-48-installer.png") !important; +} +.icon-48-import { +background-image:url("../icons/icon-48-import.png") !important; +} +.message small +{ + font-size:inherit !important; +} + +/*J!1.6 StyleFixes - PF*/ +fieldset.adminform input, fieldset.adminform textarea, fieldset.adminform select, fieldset.adminform img, fieldset.adminform button { + float: none !important; +} +fieldset.adminform label, fieldset.adminform span.faux-label { + float: none !important; display: inline !important; +} +div.width-60 { + float: left; +} +div.width-40 { + float: right; +} +div#element-box div.m { + padding: 0 10px !important; +} +table.adminform td { + padding: 15px !important; font-size: 11px !important; +} +#content-pane {margin: 0 !important; +} +input.button { + margin-top: 2px; } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/css/icons.css b/deployed/jckman/administrator/components/com_jckman/css/icons.css index f1616707..360c402d 100644 --- a/deployed/jckman/administrator/components/com_jckman/css/icons.css +++ b/deployed/jckman/administrator/components/com_jckman/css/icons.css @@ -1,17 +1,17 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -.cke_icon { -background-image:url(../icons/icons.png); -background-position:100px 50%; -background-repeat:no-repeat; -display:inline-block; -height:16px; -margin-top:1px; -width:16px; -} +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +.cke_icon { +background-image:url(../icons/icons.png); +background-position:100px 50%; +background-repeat:no-repeat; +display:inline-block; +height:16px; +margin-top:1px; +width:16px; +} diff --git a/deployed/jckman/administrator/components/com_jckman/editor/acl.php b/deployed/jckman/administrator/components/com_jckman/editor/acl.php index 0cf4c8c6..5e6606a0 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/acl.php +++ b/deployed/jckman/administrator/components/com_jckman/editor/acl.php @@ -1,135 +1,135 @@ -authorise('core.admin')) - return; - - $query = 'SELECT id,name,acl,parentid FROM #__jckplugins WHERE published = 1'; - - $db->setQuery( $query ); - $plugins = $db->loadObjectList(); - - if (!is_array($plugins)) { - JCKHelper::error( $db->getErrorMsg() ); - } - - if(empty($plugins)) - return; - - $groups = $user->getAuthorisedGroups(); - - - $js = ''; - - $deniedPlugins = array(); - $removePlugins = array(); - - foreach($plugins as $plugin) - { - - if(is_null($plugin->acl)) - continue; - - - - $acl = json_decode($plugin->acl); - - $allow = true; - - - - if(empty($acl)) - { - $allow = false; - $deniedPlugins[] = $plugin->id; - $removePlugins[] = $plugin->name; - } - else - { - - if( $groups ) - { - $allow = false; - for( $n=0, $i=count($groups); $n<$i; $n++ ) - { - if( in_array( $groups[$n], $acl) ) - { - $allow = true; - break; - }//end if - - }//end for loop - if(!$allow) - { - $deniedPlugins[] = $plugin->id; - $removePlugins[] = $plugin->name; - } - }//end if - - // check to see if parent plugin access view level is denied. If is then parent settings override - if($allow && in_array( $plugin->parentid, $deniedPlugins)) - { - $deniedPlugins[] = $plugin->id; - $removePlugins[] = $plugin->name; - } - } - - } - - //var_dump($removePlugins); - - if(empty($removePlugins)) - return; - - //lets create JS object - $javascript = new JCKJavascript(); - - $plugs = implode(',',$removePlugins); - - $javascript->addScriptDeclaration( - "editor.on( 'configLoaded', function() - { - if(editor.config.removePlugins) - editor.config.removePlugins += ',".$plugs."'; - else - editor.config.removePlugins += '".$plugs."'; - });" - ); - - return $javascript->toRaw(); - - } - - - +authorise('core.admin')) + return; + + $query = 'SELECT id,name,acl,parentid FROM #__jckplugins WHERE published = 1'; + + $db->setQuery( $query ); + $plugins = $db->loadObjectList(); + + if (!is_array($plugins)) { + JCKHelper::error( $db->getErrorMsg() ); + } + + if(empty($plugins)) + return; + + $groups = $user->getAuthorisedGroups(); + + + $js = ''; + + $deniedPlugins = array(); + $removePlugins = array(); + + foreach($plugins as $plugin) + { + + if(is_null($plugin->acl)) + continue; + + + + $acl = json_decode($plugin->acl); + + $allow = true; + + + + if(empty($acl)) + { + $allow = false; + $deniedPlugins[] = $plugin->id; + $removePlugins[] = $plugin->name; + } + else + { + + if( $groups ) + { + $allow = false; + for( $n=0, $i=count($groups); $n<$i; $n++ ) + { + if( in_array( $groups[$n], $acl) ) + { + $allow = true; + break; + }//end if + + }//end for loop + if(!$allow) + { + $deniedPlugins[] = $plugin->id; + $removePlugins[] = $plugin->name; + } + }//end if + + // check to see if parent plugin access view level is denied. If is then parent settings override + if($allow && in_array( $plugin->parentid, $deniedPlugins)) + { + $deniedPlugins[] = $plugin->id; + $removePlugins[] = $plugin->name; + } + } + + } + + //var_dump($removePlugins); + + if(empty($removePlugins)) + return; + + //lets create JS object + $javascript = new JCKJavascript(); + + $plugs = implode(',',$removePlugins); + + $javascript->addScriptDeclaration( + "editor.on( 'configLoaded', function() + { + if(editor.config.removePlugins) + editor.config.removePlugins += ',".$plugs."'; + else + editor.config.removePlugins += '".$plugs."'; + });" + ); + + return $javascript->toRaw(); + + } + + + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/components.php b/deployed/jckman/administrator/components/com_jckman/editor/components.php index e767bc53..63bcd6c7 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/components.php +++ b/deployed/jckman/administrator/components/com_jckman/editor/components.php @@ -1,63 +1,63 @@ -get('toolbar','full')),strtolower($params->get('toolbar_ft','full')) ); - - $db = JFactory::getDBO(); - $query = $db->getQuery(true); - $query->select('name,params') - ->from('#__jcktoolbars') - ->where('published = 1') - ->where('LOWER(name) NOT IN("'. implode('","',$defaults).'")') - ->order('id DESC'); - $db->setQuery($query); - $toolbars = $db->loadObjectList(); - - if(empty($toolbars)) - return; - - $component = JFactory::getApplication()->input->get('option',''); - - foreach($toolbars as $toolbar) - { - $tparams = new JRegistry($toolbar->params); - $components = $tparams->get('components',array(0)); - - if(in_array($component,$components,true)) - { - $name = ucfirst($toolbar->name); - $params->set('toolbar',$name); - $params->set('toolbar_ft',$name); - break; - } - - } - return; - } - +get('toolbar','full')),strtolower($params->get('toolbar_ft','full')) ); + + $db = JFactory::getDBO(); + $query = $db->getQuery(true); + $query->select('name,params') + ->from('#__jcktoolbars') + ->where('published = 1') + ->where('LOWER(name) NOT IN("'. implode('","',$defaults).'")') + ->order('id DESC'); + $db->setQuery($query); + $toolbars = $db->loadObjectList(); + + if(empty($toolbars)) + return; + + $component = JFactory::getApplication()->input->get('option',''); + + foreach($toolbars as $toolbar) + { + $tparams = new JRegistry($toolbar->params); + $components = $tparams->get('components',array(0)); + + if(in_array($component,$components,true)) + { + $name = ucfirst($toolbar->name); + $params->set('toolbar',$name); + $params->set('toolbar_ft',$name); + break; + } + + } + return; + } + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/editor.css b/deployed/jckman/administrator/components/com_jckman/editor/editor.css index fd71f46b..fed51ac5 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/editor.css +++ b/deployed/jckman/administrator/components/com_jckman/editor/editor.css @@ -1,8 +1,8 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2010 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2010 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ .cke_skin_office2007 *,.cke_skin_office2007 a:hover,.cke_skin_office2007 a:link,.cke_skin_office2007 a:visited,.cke_skin_office2007 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;.height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000; font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_skin_office2007 .cke_rtl *,.cke_skin_office2007 .cke_rtl a:hover,.cke_skin_office2007 .cke_rtl a:link,.cke_skin_office2007 .cke_rtl a:visited,.cke_skin_office2007 .cke_rtl a:active,.cke_rtl .cke_skin_office2007 *,.cke_rtl .cke_skin_office2007 a:hover,.cke_rtl .cke_skin_office2007 a:link,.cke_rtl .cke_skin_office2007 a:visited,.cke_rtl .cke_skin_office2007 a:active{text-align:right}.cke_skin_office2007 textarea{white-space:pre}.cke_skin_office2007 .cke_browser_gecko textarea{cursor:text}.cke_skin_office2007 .cke_browser_gecko textarea[disabled]{cursor:default}.cke_skin_office2007 input[type="text"],.cke_skin_office2007 input[type="password"]{cursor:text}.cke_skin_office2007 input[type="text"][disabled],.cke_skin_office2007 input[type="password"][disabled]{cursor:default}.cke_skin_office2007 .cke_editor{display:inline-table;width:100%}.cke_skin_office2007 span.cke_browser_webkit,.cke_skin_office2007 span.cke_browser_gecko18{display:block}.cke_skin_office2007,.cke_skin_office2007 .cke_wrapper{display:block}.cke_skin_office2007 .cke_top,.cke_skin_office2007 .cke_bottom, .cke_shared .cke_skin_office2007{background-color:#D6E6F4}.cke_skin_office2007 span.cke_wrapper.cke_ltr{background-image:url(images/bg_top.png);background-position:0 0;background-repeat:repeat-x;background-color:#D6E6F4;border-top:1px none #666;cursor:default;padding-top:19px;background-position:left top}.cke_skin_office2007 .cke_editor tbody tr td.cke_top{background-image:url(images/bg_bot.png);.background-image:url(images/bg_bot-ie6.png);background-position:left bottom;background-repeat:repeat-x;padding-bottom:25px}.cke_skin_office2007 .cke_rtl .cke_top{ border-left:solid 1px #696969; border-right:solid 1px #fafaf5}.cke_skin_office2007 .cke_bottom{background:transparent url(images/bg_bot.png) repeat-x scroll left -107px; border-left:1px solid silver; border-right:1px solid silver; border-bottom:1px solid silver;margin:0;padding:0}.cke_skin_office2007 .cke_contents{border:1px solid silver;background-color:white}.cke_skin_office2007 .cke_focus{outline:auto 5px -webkit-focus-ring-color}.cke_skin_office2007 textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;white-space:pre;background-color:#fff}.cke_skin_office2007 .cke_resizer{width:12px;height:12px;margin-top:16px;display:block;float:right;background-image:url(images/sprites.png);background-position:0 -1088px;background-repeat:no-repeat;cursor:se-resize}.cke_skin_office2007 .cke_maximized .cke_resizer{display:none}.cke_skin_office2007 .cke_rtl .cke_resizer{cursor:sw-resize;background-position:0 -1115px;float:left}.cke_skin_office2007 .cke_browser_ie6 .cke_contents textarea,.cke_skin_office2007 .cke_browser_ie7 .cke_contents textarea{position:absolute} .cke_skin_office2007 .cke_panel{ border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_skin_office2007 .cke_panel iframe{width:100%;height:100%}html.cke_skin_office2007_container{overflow:auto;overflow-x:hidden}body.cke_panel_frame{overflow:auto;overflow-x:hidden}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0px; white-space:nowrap}li.cke_panel_listItem{margin:0px}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit;text-decoration:none;overflow:hidden; text-overflow:ellipsis}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff}.cke_panel_grouptitle{ font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold; white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0px;padding:3px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px}.cke_skin_office2007 .cke_button_textcolor_panel,.cke_skin_office2007 .cke_button_bgcolor_panel{width:150px;height:135px}.cke_colorblock{padding:3px; font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px; border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{ border:#fff 1px solid; padding:2px; float:left}.cke_rtl a.cke_colorbox{ float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{ border:#316ac5 1px solid; background-color:#dff1ff}a.cke_colorauto,a.cke_colormore{ border:#fff 1px solid; padding:2px; display:block}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{ border:#316ac5 1px solid; background-color:#dff1ff}@media print{.cke_skin_office2007 .cke_toolbox{display:none}}.cke_skin_office2007 .cke_toolbox{margin-right:20px;clear:both;border-bottom:1px solid transparent;.border-bottom:none} .cke_skin_office2007{border:none}.cke_skin_office2007 .cke_browser_webkit .cke_toolbox,.cke_skin_office2007 .cke_browser_webkit .cke_toolbox >span{white-space:normal}.cke_skin_office2007 a.cke_toolbox_collapser,.cke_skin_office2007 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);background-position:-1px -1027px;background-repeat:no-repeat;cursor:pointer;float:right;height:11px;position:relative;top:42px;.top:40px;width:11px;right:2px}.cke_skin_office2007 .cke_rtl a.cke_toolbox_collapser,.cke_skin_office2007 .cke_rtl a:hover.cke_toolbox_collapser{float:left}.cke_skin_office2007 a.cke_toolbox_collapser_min,.cke_skin_office2007 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);background-position:4px -1047px;background-repeat:no-repeat;margin:2px;position:relative;top:24px;right:2px}.cke_skin_office2007 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_office2007 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1068px}.cke_skin_office2007 .cke_toolbar{float:left;height:28px}span.cke_button{background-image:url(images/sprites.png);background-position:0 -962px;background-repeat:repeat-x;display:inline-block;height:27px}.cke_skin_office2007 .cke_rtl .cke_toolbar{float:right}.cke_skin_office2007 .cke_toolgroup{display:inline-block;float:left;height:28px}.cke_skin_office2007 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolgroup{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none}.cke_skin_office2007 .cke_separator{display:inline-block;float:left;height:16px}.cke_skin_office2007 .cke_browser_ie .cke_separator{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_separator{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_separator{#float:none}.cke_skin_office2007 .cke_break{clear:left}.cke_skin_office2007 .cke_rtl .cke_break{clear:right}.cke_skin_office2007 .cke_toolbar_start{display:inline-block;background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-27px -765px;width:7px;height:28px;float:left}.cke_skin_office2007 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolbar_start{ background-position:-27px -816px; float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none}.cke_skin_office2007 .cke_toolbar_end{display:inline-block;background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-31px -861px;width:4px;height:28px;float:left}.cke_skin_office2007 .cke_rcombo{background-image:url(images/sprites.png);background-position:0 -964px;background-repeat:repeat-x;height:27px;padding-left:2px;padding-right:2px;padding-top:2px}.cke_skin_office2007 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolbar_end{ background-position:-29px -907px; float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none}.cke_skin_office2007 .cke_button a,.cke_skin_office2007 .cke_button a:hover,.cke_skin_office2007 .cke_button a:focus,.cke_skin_office2007 .cke_button a:active,.cke_skin_office2007 .cke_button a.cke_off{border:solid 1px transparent;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;margin-top:2px;height:18px;vertical-align:top;_border:none;_margin:3px 1px 1px 1px;cursor:default;display:inline-block}.cke_skin_office2007 .cke_button a,.cke_skin_office2007 .cke_button a.cke_off{filter:alpha(opacity=70);opacity:0.70;-moz-border-radius:3px;-webkit-border-radius:3px}.cke_skin_office2007 .cke_hc .cke_button a,.cke_skin_office2007 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100)}.cke_skin_office2007 .cke_button a.cke_on{border:solid 1px #0B55C4;background-color:transparent;background-image:url(images/button_mask.png);filter:none !important;opacity:1;_margin:2px 0 0 0}.cke_skin_office2007 .cke_hc .cke_button a.cke_on{padding:0 2px !important;border-width:3px}.cke_skin_office2007 .cke_button a.cke_disabled,.cke_skin_office2007 .cke_button a:hover.cke_disabled,.cke_skin_office2007 .cke_button a:focus.cke_disabled,.cke_skin_office2007 .cke_button a:active.cke_disabled{border:solid 1px transparent;filter:alpha(opacity=30);opacity:0.3;vertical-align:top;_border:none;_margin:3px 1px 1px 1px}.cke_skin_office2007 .cke_hc .cke_button a.cke_disabled,.cke_skin_office2007 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled{filter:alpha(opacity=60);opacity:0.6}.cke_skin_office2007 .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_button a:active.cke_on,.cke_skin_office2007 .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_button a:active.cke_off{border:solid 1px #0B55C4;background-color:transparent;background-image:url(images/button_mask-hover.png);filter:none !important;opacity:1;vertical-align:top;_margin:2px 0 0 0;padding:2px 4px}.cke_skin_office2007 .cke_hc .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:active.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_hc .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_hc .cke_button a:active.cke_off{padding:0 2px !important;border-width:3px}.cke_skin_office2007 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block}.cke_skin_office2007 .cke_button .cke_label{display:none;padding-left:3px;vertical-align:middle;cursor:default;_background-position:0 -970px;_background-repeat:repeat-x}.cke_skin_office2007 .cke_button a:hover .cke_label{_background-color:#dff1ff;_background-image:none}.cke_skin_office2007 .cke_button a.cke_on .cke_label{_background-color:#c1d2ee;_background-image:none}.cke_skin_office2007 .cke_hc .cke_button .cke_label{padding:0;display:inline-block}.cke_skin_office2007 .cke_hc .cke_button .cke_icon{display:none}.cke_skin_office2007 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden}.cke_skin_office2007 .cke_button .cke_buttonarrow{display:inline-block;height:18px;width:8px;background-position:2px -1004px;background-image:url(images/sprites.png);background-repeat:no-repeat}.cke_skin_office2007 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -1004px}.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar,.cke_skin_office2007 .cke_browser_gecko18 .cke_button a,.cke_skin_office2007 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_office2007 .cke_browser_gecko18 .cke_separator,.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar_start,.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar_end{display:block;float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar_end{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_break{float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_break{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_separator{margin-top:4px}.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none}.cke_skin_office2007 .cke_browser_ie8 .cke_toolbar,.cke_skin_office2007 .cke_browser_ie8 .cke_toolgroup{vertical-align:top}.cke_skin_office2007 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_office2007 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline}.cke_skin_office2007 .cke_browser_iequirks .cke_separator{vertical-align:text-bottom}.cke_skin_office2007 .cke_browser_ie .cke_rcombo,.cke_skin_office2007 .cke_browser_ie .cke_rcombo *{cursor:default}.cke_skin_office2007 .cke_contextmenu{padding:2px}.cke_skin_office2007 .cke_menuitem a{display:block}.cke_skin_office2007 .cke_menuitem span{cursor:default}.cke_skin_office2007 .cke_menuitem a:hover,.cke_skin_office2007 .cke_menuitem a:focus,.cke_skin_office2007 .cke_menuitem a:active{background-color:#8db1ff;display:block}.cke_skin_office2007 .cke_menuitem a.cke_disabled:hover,.cke_skin_office2007 .cke_menuitem a.cke_disabled:focus,.cke_skin_office2007 .cke_menuitem a.cke_disabled:active{background-color:transparent !important}.cke_skin_office2007 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left}.cke_skin_office2007 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_menuitem .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:0.70}.cke_rtl .cke_skin_office2007 .cke_menuitem .cke_icon_wrapper{float:right}.cke_skin_office2007 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd}.cke_skin_office2007 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff} .cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label {filter:alpha(opacity=70);opacity:0.70}.cke_rtl .cke_skin_office2007 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px}.cke_skin_office2007 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:0.30}.cke_skin_office2007 .cke_menuitem a:hover .cke_label,.cke_skin_office2007 .cke_menuitem a:focus .cke_label,.cke_skin_office2007 .cke_menuitem a:active .cke_label{background-color:#8db1ff}.cke_skin_office2007 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_office2007 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_office2007 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent}.cke_skin_office2007 .cke_menuseparator{background-color:#f7f8fd;height:2px;filter:alpha(opacity=70);opacity:0.70;_font-size:0}.cke_skin_office2007 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1071px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px}.cke_rtl .cke_skin_office2007 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -1050px}.cke_browser_ie.cke_ltr .cke_skin_office2007 .cke_menuarrow{position:absolute;right:2px}.cke_browser_ie.cke_rtl .cke_skin_office2007 .cke_menuarrow{position:absolute;left:2px}.cke_skin_office2007 .cke_rcombo{display:inline-block;position:relative;top:2px;vertical-align:top;float:left}.cke_skin_office2007 .cke_browser_ie .cke_rcombo{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_rcombo{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rcombo{#float:none}.cke_skin_office2007 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.cke_skin_office2007 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_rtl .cke_rcombo a{float:right}.cke_skin_office2007 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0}.cke_skin_office2007 .cke_rcombo .cke_label{display:inline-block;float:left;line-height:20px;height:24px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:0.70;_background-image:url(images/sprites.png);_background-repeat:repeat-x}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0}.cke_skin_office2007 .cke_rcombo .cke_inline_label{color:#fff}.cke_skin_office2007 .cke_rcombo .cke_text{background-color:#FFF;border:1px solid silver;display:inline-block;height:14px;margin-top:1px;overflow:hidden;padding:2px 5px 1px;vertical-align:top;width:60px}.cke_skin_office2007 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.cke_skin_office2007 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px}.cke_skin_office2007 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -1003px;background-image:url(images/sprites.png);background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;border-top:1px solid silver;border-bottom:1px solid silver;width:14px;height:17px;margin-top:1px}.cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton{ border-right:1px solid silver;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_openbutton{ border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.cke_skin_office2007 .cke_rcombo .cke_off a:hover,.cke_skin_office2007 .cke_rcombo .cke_off a:focus,.cke_skin_office2007 .cke_rcombo .cke_off a:active,.cke_skin_office2007 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1}.cke_skin_office2007 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_office2007 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_office2007 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_office2007 .cke_rcombo .cke_on .cke_text{border-color:#316ac5}.cke_skin_office2007 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff}.cke_skin_office2007 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;border-bottom-left-radius:0px}.cke_skin_office2007 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;border-bottom-right-radius:0px}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:0.3}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:0.7}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:0.5}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:0.8}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_text{color:#fff}.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none}@media print{.cke_path{display:none}}.cke_skin_office2007 .cke_path{padding:6px 6px 3px 27px;display:inline-block;float:left;background-image:url(images/inspector.png);background-repeat:no-repeat;background-position:7px 7px}.cke_skin_office2007 .cke_rtl .cke_path{float:right}.cke_skin_office2007 .cke_path a,.cke_skin_office2007 .cke_path .cke_empty{display:inline-block;float:left;border:1px solid transparent;.border:none;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;cursor:pointer}.cke_skin_office2007 .cke_path .cke_empty{visibility:hidden}.cke_skin_office2007 .cke_rtl .cke_path a,.cke_skin_office2007 .cke_rtl .cke_path cke_empty{float:right}.cke_skin_office2007 .cke_path a:hover,.cke_skin_office2007 .cke_path a:focus,.cke_skin_office2007 .cke_path a:active{border:1px solid silver;background-color:#F6F6F6;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none}.cke_skin_office2007 .cke_button_source .cke_icon{background-position:0 0}.cke_skin_office2007 .cke_button_newpage .cke_icon{background-position:0 -48px}.cke_skin_office2007 .cke_button_preview .cke_icon{background-position:0 -64px}.cke_skin_office2007 .cke_button_cut .cke_icon{background-position:0 -96px}.cke_skin_office2007 .cke_button_copy .cke_icon{background-position:0 -112px}.cke_skin_office2007 .cke_button_paste .cke_icon{background-position:0 -128px}.cke_skin_office2007 .cke_button_pastetext .cke_icon{background-position:0 -144px}.cke_skin_office2007 .cke_button_find .cke_icon{background-position:0 -240px}.cke_skin_office2007 .cke_button_replace .cke_icon{background-position:0 -256px}.cke_skin_office2007 .cke_button_selectAll .cke_icon{background-position:0 -272px}.cke_skin_office2007 .cke_button_removeFormat .cke_icon{background-position:0 -288px}.cke_skin_office2007 .cke_button_bold .cke_icon{background-position:0 -304px}.cke_skin_office2007 .cke_button_italic .cke_icon{background-position:0 -320px}.cke_skin_office2007 .cke_button_underline .cke_icon{background-position:0 -336px}.cke_skin_office2007 .cke_button_strike .cke_icon{background-position:0 -352px}.cke_skin_office2007 .cke_button_subscript .cke_icon{background-position:0 -368px}.cke_skin_office2007 .cke_button_superscript .cke_icon{background-position:0 -384px}.cke_skin_office2007 .cke_button_table .cke_icon{background-position:0 -608px}.cke_skin_office2007 .cke_button_horizontalrule .cke_icon{background-position:0 -624px}.cke_skin_office2007 .cke_button_smiley .cke_icon{background-position:0 -640px}.cke_skin_office2007 .cke_button_link .cke_icon{background-position:0 -528px}.cke_skin_office2007 .cke_button_unlink .cke_icon{background-position:0 -544px}.cke_skin_office2007 .cke_button_anchor .cke_icon{background-position:0 -560px}.cke_skin_office2007 .cke_button_image .cke_icon{background-position:0 -576px}.cke_skin_office2007 .cke_button_flash .cke_icon{background-position:0 -592px}.cke_skin_office2007 .cke_button_specialchar .cke_icon{background-position:0 -656px}.cke_skin_office2007 .cke_button_pagebreak .cke_icon{background-position:0 -672px}.cke_skin_office2007 .cke_button_print .cke_icon{background-position:0 -176px}.cke_skin_office2007 .cke_button_checkspell .cke_icon,.cke_skin_office2007 .cke_button_scayt .cke_icon{background-position:0 -192px}.cke_skin_office2007 .cke_button_pagebreak .cke_icon{background-position:0 -672px}.cke_skin_office2007 .cke_button_textcolor .cke_icon{background-position:0 -704px}.cke_skin_office2007 .cke_button_bgcolor .cke_icon{background-position:0 -720px}.cke_skin_office2007 .cke_button_form .cke_icon{background-position:0 -752px}.cke_skin_office2007 .cke_button_checkbox .cke_icon{background-position:0 -768px}.cke_skin_office2007 .cke_button_radio .cke_icon{background-position:0 -784px}.cke_skin_office2007 .cke_button_textfield .cke_icon{background-position:0 -800px}.cke_skin_office2007 .cke_button_textarea .cke_icon{background-position:0 -816px}.cke_skin_office2007 .cke_button_showblocks .cke_icon{background-position:0 -1136px}.cke_skin_office2007 .cke_button_select .cke_icon{background-position:0 -832px}.cke_skin_office2007 .cke_button_button .cke_icon{background-position:0 -848px}.cke_skin_office2007 .cke_button_imagebutton .cke_icon{background-position:0 -864px}.cke_skin_office2007 .cke_button_hiddenfield .cke_icon{background-position:0 -880px}.cke_skin_office2007 .cke_button_undo .cke_icon{background-position:0 -208px}.cke_skin_office2007 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px}.cke_skin_office2007 .cke_button_redo .cke_icon{background-position:0 -224px}.cke_skin_office2007 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px}.cke_skin_office2007 .cke_button_templates .cke_icon{background-position:0 -80px}.cke_skin_office2007 .cke_button_numberedlist .cke_icon{background-position:0 -400px}.cke_skin_office2007 .cke_button_bulletedlist .cke_icon{background-position:0 -416px}.cke_skin_office2007 .cke_button_outdent .cke_icon{background-position:0 -432px}.cke_skin_office2007 .cke_button_indent .cke_icon{background-position:0 -448px}.cke_skin_office2007 .cke_button_justifyleft .cke_icon{background-position:0 -464px}.cke_skin_office2007 .cke_button_justifycenter .cke_icon{background-position:0 -480px}.cke_skin_office2007 .cke_button_justifyright .cke_icon{background-position:0 -496px}.cke_skin_office2007 .cke_button_justifyblock .cke_icon{background-position:0 -512px}.cke_skin_office2007 .cke_button_blockquote .cke_icon{background-position:0 -1152px}.cke_skin_office2007 .cke_button_flash .cke_icon{background-position:0 -592px}.cke_skin_office2007 .cke_button_pastefromword .cke_icon{background-position:0 -160px}.cke_skin_office2007 .cke_button_save .cke_icon{background-position:0 -32px}.cke_skin_office2007 .cke_button_about .cke_icon{background-position:0 -736px}.cke_skin_office2007 .cke_button_maximize .cke_icon{background-position:0 -1040px}.cke_skin_office2007 .cke_button_creatediv .cke_icon{background-position:0 -1168px}.cke_skin_office2007 .cke_button_editdiv .cke_icon{background-position:0 -1184px}.cke_skin_office2007 .cke_button_removediv .cke_icon{background-position:0 -1200px}.cke_skin_office2007 .cke_button_source .cke_label{display:inline}.cke_skin_office2007 .cke_styles_panel{width:150px;height:170px}.cke_skin_office2007 .cke_format_panel{width:150px;height:170px}.cke_skin_office2007 .cke_font_panel{width:150px;height:170px}.cke_skin_office2007 .cke_fontSize_panel{height:170px}.cke_skin_office2007 .cke_fontSize .cke_text{width:20px}.cke_skin_office2007 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px} html .cke_skin_office2007{visibility: inherit;} html.cke_skin_office2007_container{visibility: visible;} .cke_skin_office2007 .cke_path .cke_label {display:none;} .cke_skin_office2007 .cke_voice_label {display:none;} /*fixes*/ .cke_skin_office2007 iframe{vertical-align:inherit; width:100%;} \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/import.xml b/deployed/jckman/administrator/components/com_jckman/editor/import.xml index fb19ded3..96305ed1 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/import.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/import.xml @@ -1,21 +1,21 @@ - - 0.1 - Mar 2012 - - GNU/GPL - Andrew Williams - andrew@joomlackedior.com - http://www.joomlackedior.com - 2012 - 2013 WebxSolutions Ltd - - - - - plugins/sql.sql - - - - plugins - toolbar - + + 0.1 + Mar 2012 + + GNU/GPL + Andrew Williams + andrew@joomlackedior.com + http://www.joomlackedior.com + 2012 - 2013 WebxSolutions Ltd + + + + + plugins/sql.sql + + + + plugins + toolbar + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/includes.php b/deployed/jckman/administrator/components/com_jckman/editor/includes.php index 2fb645a3..c3c4025b 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/includes.php +++ b/deployed/jckman/administrator/components/com_jckman/editor/includes.php @@ -1,89 +1,89 @@ -loadObject($config); - -//set session -jckimport('ckeditor.user.user'); -$session =& JCKUser::getSession(); - -// system events trigger events -jckimport('ckeditor.plugins.helper'); - -//load CK System plugins -JCKPluginsHelper::storePlugins('default'); - -$dispatcher =& JDispatcher::getInstance(); - -$plugin =& JPluginHelper::getPlugin('editors','jckeditor'); -$params = new JParameter($plugin->params); - -//import System plugin first -JCKPluginsHelper::importPlugin('default'); - -$dispatcher->trigger('intialize',array(&$params)); - -$plugin->params = $params->toString(); +loadObject($config); + +//set session +jckimport('ckeditor.user.user'); +$session =& JCKUser::getSession(); + +// system events trigger events +jckimport('ckeditor.plugins.helper'); + +//load CK System plugins +JCKPluginsHelper::storePlugins('default'); + +$dispatcher =& JDispatcher::getInstance(); + +$plugin =& JPluginHelper::getPlugin('editors','jckeditor'); +$params = new JParameter($plugin->params); + +//import System plugin first +JCKPluginsHelper::importPlugin('default'); + +$dispatcher->trigger('intialize',array(&$params)); + +$plugin->params = $params->toString(); diff --git a/deployed/jckman/administrator/components/com_jckman/editor/languageoverrides.php b/deployed/jckman/administrator/components/com_jckman/editor/languageoverrides.php index 06370aae..b02af604 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/languageoverrides.php +++ b/deployed/jckman/administrator/components/com_jckman/editor/languageoverrides.php @@ -1,69 +1,69 @@ -get("joomlaLang","en"); - - foreach($languages as $language) - { - $content = file_get_contents($language); - $content = preg_replace("/\/\*.*?\*\//s","",$content); - - $content = str_replace('"',"'",$content); - $language = str_replace("\\","/",$language); - $parts = explode("/",$language); - $lang = preg_replace("/\.js$/","",array_pop($parts)); - $plugin = array_pop($parts); - if(($lang != $default && $lang != 'en' ) || $plugin == 'lang' ) //make sure we always load in default english file - continue; - - $content = preg_replace("/\)$/",");",trim($content)); - - if($plugin == 'jflash') - $plug = 'flash'; - else - $plug = $plugin; - $js .= "CKEDITOR.on('".$plugin."PluginLoaded', function(evt) - { - editor.lang.".$plug." = null; - evt.data.lang = ['".$default."']; - ".$content." - });"; - } - - //lets create JS object - $javascript = new JCKJavascript(); - $javascript->addScriptDeclaration($js); - return $javascript->toRaw(); - } - +get("joomlaLang","en"); + + foreach($languages as $language) + { + $content = file_get_contents($language); + $content = preg_replace("/\/\*.*?\*\//s","",$content); + + $content = str_replace('"',"'",$content); + $language = str_replace("\\","/",$language); + $parts = explode("/",$language); + $lang = preg_replace("/\.js$/","",array_pop($parts)); + $plugin = array_pop($parts); + if(($lang != $default && $lang != 'en' ) || $plugin == 'lang' ) //make sure we always load in default english file + continue; + + $content = preg_replace("/\)$/",");",trim($content)); + + if($plugin == 'jflash') + $plug = 'flash'; + else + $plug = $plugin; + $js .= "CKEDITOR.on('".$plugin."PluginLoaded', function(evt) + { + editor.lang.".$plug." = null; + evt.data.lang = ['".$default."']; + ".$content." + });"; + } + + //lets create JS object + $javascript = new JCKJavascript(); + $javascript->addScriptDeclaration($js); + return $javascript->toRaw(); + } + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/pluginoverrides.php b/deployed/jckman/administrator/components/com_jckman/editor/pluginoverrides.php index fa2cdfdb..2fb9de20 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/pluginoverrides.php +++ b/deployed/jckman/administrator/components/com_jckman/editor/pluginoverrides.php @@ -1,261 +1,261 @@ -setQuery( $query ); - $plugins = $db->loadObjectList(); - - if (!is_array($plugins)) { - JCKHelper::error( $db->getErrorMsg() ); - } - - if(empty($plugins)) - return; - - //lets create JS object - $javascript = new JCKJavascript(); - $script = "CKEDITOR.jckplugins = {"; - - foreach($plugins as $plugin) - { - if(empty($plugin->params) || $plugin->params == '{}' ) - continue; - - if($plugin->iscore) - $params = new JCKParameter(trim($plugin->params),JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$plugin->name.'.xml'); - else - $params = new JCKParameter(trim($plugin->params),JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$plugin->name.DS.$plugin->name.'.xml'); - $name = $plugin->name; - - $dialogName = $params->get('dialogname',''); - $title = $params->get('dialogtitle',''); - $height = $params->get('height',''); - $width = $params->get('width',''); - $resizable = $params->get('resizable',''); - - if($dialogName) - $name = $dialogName; // overrwite plugin name with dialogname - - //lets get plugin Joomla configurable options - - if(trim((strtolower($title)) == 'default')) - $title = ''; - - $options = ''; - $optionsXML = $params->getXML(); - - if (isset($optionsXML['options'])) - { - foreach ($optionsXML['options']->children() as $node) - { - $key = $node->attributes('name'); - $default = $node->attributes('default'); - $value = $params->get($key,$default); - - $handler = JCKConfigHandler::getInstance($node->attributes('type')); - $options.= $handler->getOptions($key,$value,$default,$node,$params,$name); - } - } - - if($options) - { - $options = substr($options, 0, -1); - $options = '[' . $options . ']'; - } - else - $options = 'false'; - - $script .= "$name:{'title':'$title','height':'$height','width':'$width','resizable':'$resizable','options': $options},"; - - } - if($script != "CKEDITOR.jckplugins = {") - $script = substr($script, 0, -1); - $script .= "};" . chr(13); - - $actionscript = " - - CKEDITOR.tools.removeSlashes = function(val) - { - val = val.replace(/(\\\"|\\\')/g,''); - return val; - } - - CKEDITOR.on( 'dialogDefinition', function( ev ) - { - // Take the dialog name and its definition from the event - // data. - var dialogName = ev.data.name; - var dialogDefinition = ev.data.definition; - - if(CKEDITOR.jckplugins[dialogName ]) - { - var jckplugin = CKEDITOR.jckplugins[dialogName ]; - - if(jckplugin.title) dialogDefinition.title = jckplugin.title; - if(jckplugin.height) dialogDefinition.minHeight = jckplugin.height; - if(jckplugin.width) dialogDefinition.minWidth = jckplugin.width; - if(jckplugin.resizable) dialogDefinition.resizable = jckplugin.resizable; - - if(jckplugin.options) - { - for(var k = 0; k < jckplugin.options.length;k++) - { - eval('CKEDITOR.config.' + CKEDITOR.tools.removeSlashes(jckplugin.options[k])); - } - } - } - }); - - for(var m in CKEDITOR.jckplugins) - { - var jckplugin = CKEDITOR.jckplugins[m]; - - if(jckplugin.options) - { - for(var n = 0; n < jckplugin.options.length;n++) - { - eval('editor.config.' + CKEDITOR.tools.removeSlashes(jckplugin.options[n])); - } - } - } - "; - - $javascript->addScriptDeclaration($script.$actionscript); - return $javascript->toRaw(); - } - - function afterLoad(&$params) - { - $javascript = new JCKJavascript(); - - $script = "for(var m in CKEDITOR.jckplugins) - { - var jckplugin = CKEDITOR.jckplugins[m]; - - if(jckplugin.options) - { - - for(var n = 0; n < jckplugin.options.length;n++) - { - eval('editor.config.' + CKEDITOR.tools.removeSlashes(jckplugin.options[n])); - } - - } - }"; - - $javascript->addScriptDeclaration($script); - return $javascript->toRaw(); - - } - -} - -class JCKParameter extends JRegistry -{ - protected $_elementPath = array(); - protected $_raw = false; - protected $_xml = false; - - public function __construct($data = '', $path = '') - { - parent::__construct('_default'); - - // Set base path. - $this->_elementPath[] = dirname(__FILE__) . '/parameter/element'; - - if (!empty($data) && is_string($data)) - { - $this->loadString($data); - } - - if ($path) - { - $this->loadSetupFile($path); - } - - $this->_raw = $data; - } - - public function getXML() - { - return $this->_xml; - } - - public function setXML(&$xml) - { - if (is_object($xml)) - { - if ($group = $xml->attributes('group')) - { - $this->_xml[$group] = $xml; - } - else - { - $this->_xml['_default'] = $xml; - } - - if ($dir = $xml->attributes('addpath')) - { - $this->addElementPath(JPATH_ROOT . str_replace('/', DS, $dir)); - } - } - } - - public function loadSetupFile($path) - { - $result = false; - - if ($path) - { - $xml = JCKHelper::getXMLParser('Simple'); - - if ($xml->loadFile($path)) - { - if ($params = $xml->document->params) - { - foreach ($params as $param) - { - $this->setXML($param); - $result = true; - } - } - } - } - else - { - $result = true; - } - - return $result; - } +setQuery( $query ); + $plugins = $db->loadObjectList(); + + if (!is_array($plugins)) { + JCKHelper::error( $db->getErrorMsg() ); + } + + if(empty($plugins)) + return; + + //lets create JS object + $javascript = new JCKJavascript(); + $script = "CKEDITOR.jckplugins = {"; + + foreach($plugins as $plugin) + { + if(empty($plugin->params) || $plugin->params == '{}' ) + continue; + + if($plugin->iscore) + $params = new JCKParameter(trim($plugin->params),JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$plugin->name.'.xml'); + else + $params = new JCKParameter(trim($plugin->params),JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$plugin->name.DS.$plugin->name.'.xml'); + $name = $plugin->name; + + $dialogName = $params->get('dialogname',''); + $title = $params->get('dialogtitle',''); + $height = $params->get('height',''); + $width = $params->get('width',''); + $resizable = $params->get('resizable',''); + + if($dialogName) + $name = $dialogName; // overrwite plugin name with dialogname + + //lets get plugin Joomla configurable options + + if(trim((strtolower($title)) == 'default')) + $title = ''; + + $options = ''; + $optionsXML = $params->getXML(); + + if (isset($optionsXML['options'])) + { + foreach ($optionsXML['options']->children() as $node) + { + $key = $node->attributes('name'); + $default = $node->attributes('default'); + $value = $params->get($key,$default); + + $handler = JCKConfigHandler::getInstance($node->attributes('type')); + $options.= $handler->getOptions($key,$value,$default,$node,$params,$name); + } + } + + if($options) + { + $options = substr($options, 0, -1); + $options = '[' . $options . ']'; + } + else + $options = 'false'; + + $script .= "$name:{'title':'$title','height':'$height','width':'$width','resizable':'$resizable','options': $options},"; + + } + if($script != "CKEDITOR.jckplugins = {") + $script = substr($script, 0, -1); + $script .= "};" . chr(13); + + $actionscript = " + + CKEDITOR.tools.removeSlashes = function(val) + { + val = val.replace(/(\\\"|\\\')/g,''); + return val; + } + + CKEDITOR.on( 'dialogDefinition', function( ev ) + { + // Take the dialog name and its definition from the event + // data. + var dialogName = ev.data.name; + var dialogDefinition = ev.data.definition; + + if(CKEDITOR.jckplugins[dialogName ]) + { + var jckplugin = CKEDITOR.jckplugins[dialogName ]; + + if(jckplugin.title) dialogDefinition.title = jckplugin.title; + if(jckplugin.height) dialogDefinition.minHeight = jckplugin.height; + if(jckplugin.width) dialogDefinition.minWidth = jckplugin.width; + if(jckplugin.resizable) dialogDefinition.resizable = jckplugin.resizable; + + if(jckplugin.options) + { + for(var k = 0; k < jckplugin.options.length;k++) + { + eval('CKEDITOR.config.' + CKEDITOR.tools.removeSlashes(jckplugin.options[k])); + } + } + } + }); + + for(var m in CKEDITOR.jckplugins) + { + var jckplugin = CKEDITOR.jckplugins[m]; + + if(jckplugin.options) + { + for(var n = 0; n < jckplugin.options.length;n++) + { + eval('editor.config.' + CKEDITOR.tools.removeSlashes(jckplugin.options[n])); + } + } + } + "; + + $javascript->addScriptDeclaration($script.$actionscript); + return $javascript->toRaw(); + } + + function afterLoad(&$params) + { + $javascript = new JCKJavascript(); + + $script = "for(var m in CKEDITOR.jckplugins) + { + var jckplugin = CKEDITOR.jckplugins[m]; + + if(jckplugin.options) + { + + for(var n = 0; n < jckplugin.options.length;n++) + { + eval('editor.config.' + CKEDITOR.tools.removeSlashes(jckplugin.options[n])); + } + + } + }"; + + $javascript->addScriptDeclaration($script); + return $javascript->toRaw(); + + } + +} + +class JCKParameter extends JRegistry +{ + protected $_elementPath = array(); + protected $_raw = false; + protected $_xml = false; + + public function __construct($data = '', $path = '') + { + parent::__construct('_default'); + + // Set base path. + $this->_elementPath[] = dirname(__FILE__) . '/parameter/element'; + + if (!empty($data) && is_string($data)) + { + $this->loadString($data); + } + + if ($path) + { + $this->loadSetupFile($path); + } + + $this->_raw = $data; + } + + public function getXML() + { + return $this->_xml; + } + + public function setXML(&$xml) + { + if (is_object($xml)) + { + if ($group = $xml->attributes('group')) + { + $this->_xml[$group] = $xml; + } + else + { + $this->_xml['_default'] = $xml; + } + + if ($dir = $xml->attributes('addpath')) + { + $this->addElementPath(JPATH_ROOT . str_replace('/', DS, $dir)); + } + } + } + + public function loadSetupFile($path) + { + $result = false; + + if ($path) + { + $xml = JCKHelper::getXMLParser('Simple'); + + if ($xml->loadFile($path)) + { + if ($params = $xml->document->params) + { + foreach ($params as $param) + { + $this->setXML($param); + $result = true; + } + } + } + } + else + { + $result = true; + } + + return $result; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins.php b/deployed/jckman/administrator/components/com_jckman/editor/plugins.php index 232e70ff..09629fe4 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins.php +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins.php @@ -1,56 +1,56 @@ - $v) - { - if (is_array($v) || is_object($v) || is_null($k)) { - continue; - } - if ($k[0] == '_') { // internal field - continue; - } - - if(is_numeric($v) && $v == 0) - $this->_removePlugins .= "$k,"; - - if(is_numeric($v) && $v == 1) - $this->_extraPlugins .= "$k,"; - - } - - if (substr($this->_removePlugins, -1) == ',') - $this->_removePlugins = substr($this->_removePlugins, 0, -1); - - if (substr($this->_extraPlugins, -1) == ',') - $this->_extraPlugins = substr($this->_extraPlugins, 0, -1); - } - - function getExtraPlugins() - { - return $this->_extraPlugins; - } - - function getRemovedPlugins() - { - return $this->_removePlugins; - } + $v) + { + if (is_array($v) || is_object($v) || is_null($k)) { + continue; + } + if ($k[0] == '_') { // internal field + continue; + } + + if(is_numeric($v) && $v == 0) + $this->_removePlugins .= "$k,"; + + if(is_numeric($v) && $v == 1) + $this->_extraPlugins .= "$k,"; + + } + + if (substr($this->_removePlugins, -1) == ',') + $this->_removePlugins = substr($this->_removePlugins, 0, -1); + + if (substr($this->_extraPlugins, -1) == ',') + $this->_extraPlugins = substr($this->_extraPlugins, 0, -1); + } + + function getExtraPlugins() + { + return $this->_extraPlugins; + } + + function getRemovedPlugins() + { + return $this->_removePlugins; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/audio.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/audio.xml index de5b989e..a9a776e8 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/audio.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/audio.xml @@ -1,20 +1,20 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/autogrow.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/autogrow.xml index 257cc4e2..ba453da9 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/autogrow.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/autogrow.xml @@ -1,34 +1,34 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/colorbutton.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/colorbutton.xml index 081d7a66..2a5964af 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/colorbutton.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/colorbutton.xml @@ -1,60 +1,60 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/colordialog.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/colordialog.xml index 639cf10a..76de9606 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/colordialog.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/colordialog.xml @@ -1,20 +1,20 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/contextmenu.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/contextmenu.xml index f8a6f391..03cc9639 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/contextmenu.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/contextmenu.xml @@ -1,17 +1,17 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/dialog.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/dialog.xml index a7fc4ace..624da927 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/dialog.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/dialog.xml @@ -1,36 +1,36 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/editingblock.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/editingblock.xml index f23fcefc..6a61931e 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/editingblock.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/editingblock.xml @@ -1,25 +1,25 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/enterkey.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/enterkey.xml index f5072780..5d313594 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/enterkey.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/enterkey.xml @@ -1,17 +1,17 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/find.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/find.xml index 7f38fbf3..c3684cba 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/find.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/find.xml @@ -1,20 +1,20 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/font.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/font.xml index d3f51d7a..b88d2666 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/font.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/font.xml @@ -1,42 +1,42 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/image.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/image.xml index 02d5f63e..0df9263c 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/image.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/image.xml @@ -1,27 +1,27 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/imagedragndrop.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/imagedragndrop.xml index 9859f3cf..eee1d97d 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/imagedragndrop.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/imagedragndrop.xml @@ -1,15 +1,15 @@ - - - 0.1 - DEC 2011 - WebxSolution Ltd - http://www.webxsolution.com - Copyright (C) 2011 - 2012 WebxSolution Ltd - GNU/GPLv2 - PLG_JCK_DESC - - - - plugin.js - + + + 0.1 + DEC 2011 + WebxSolution Ltd + http://www.webxsolution.com + Copyright (C) 2011 - 2012 WebxSolution Ltd + GNU/GPLv2 + PLG_JCK_DESC + + + + plugin.js + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/indent.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/indent.xml index 6f07b97e..f2c8b4c1 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/indent.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/indent.xml @@ -1,42 +1,42 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jabout.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jabout.xml index d9e24dd3..f8867db1 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jabout.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jabout.xml @@ -1,21 +1,21 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jfilebrowser.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jfilebrowser.xml index d0ccdaf0..0f832da3 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jfilebrowser.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jfilebrowser.xml @@ -1,29 +1,29 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - core/connector/php/connector.php - core/connector/php/connector.php?type=Images - core/connector/php/connector.php?type=Flash - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + core/connector/php/connector.php + core/connector/php/connector.php?type=Images + core/connector/php/connector.php?type=Flash + + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jflash.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jflash.xml index d1b4a6ab..31e89dca 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jflash.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jflash.xml @@ -1,24 +1,24 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jtreelink.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jtreelink.xml index cf4d0f3e..20ae28a5 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/jtreelink.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/jtreelink.xml @@ -1,29 +1,29 @@ - - - JTreeLink - 1.1 - MARCH 2011 - WebxSolution Ltd - http://www.webxsolution.com - Copyright (C) 2011 - 2013 WebxSolution Ltd - GNU/GPLv2 - PLG_JCK_DESC - - - images/jtreelink.png - - plugin.js - dialogs - images - lang - - - - - - - - - - + + + JTreeLink + 1.1 + MARCH 2011 + WebxSolution Ltd + http://www.webxsolution.com + Copyright (C) 2011 - 2013 WebxSolution Ltd + GNU/GPLv2 + PLG_JCK_DESC + + + images/jtreelink.png + + plugin.js + dialogs + images + lang + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/link.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/link.xml index ec39f550..08adcd74 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/link.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/link.xml @@ -1,27 +1,27 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastefromword.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastefromword.xml index dadcb1ef..b5f2af73 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastefromword.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastefromword.xml @@ -1,26 +1,26 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastetext.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastetext.xml index 79ff7256..8e89ab93 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastetext.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/pastetext.xml @@ -1,26 +1,26 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/removeformat.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/removeformat.xml index 9d2b844e..1ebb4c86 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/removeformat.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/removeformat.xml @@ -1,45 +1,45 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/replace.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/replace.xml index f6de5984..9826913a 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/replace.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/replace.xml @@ -1,20 +1,20 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/scayt.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/scayt.xml index 14d4aea2..8e3c3527 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/scayt.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/scayt.xml @@ -1,28 +1,28 @@ - - - 0.1 - June2010 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - plugin.js - dialogs - - - - - - - - - - - - - - + + + 0.1 + June2010 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + plugin.js + dialogs + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/showblocks.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/showblocks.xml index 88ea4aa1..ab5a8f16 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/showblocks.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/showblocks.xml @@ -1,17 +1,17 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/showborders.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/showborders.xml index 006a5b38..7d3a8580 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/showborders.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/showborders.xml @@ -1,17 +1,17 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/smiley.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/smiley.xml index e08509a8..6c7d6b93 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/smiley.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/smiley.xml @@ -1,23 +1,23 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/sourcearea.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/sourcearea.xml index 442f4f93..fddd638b 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/sourcearea.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/sourcearea.xml @@ -1,17 +1,17 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/tab.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/tab.xml index 4398ec07..590ee9a4 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/tab.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/tab.xml @@ -1,20 +1,20 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/templates.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/templates.xml index af25403b..e399854a 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/templates.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/templates.xml @@ -1,18 +1,18 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/toolbar.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/toolbar.xml index 0f83db30..313cf509 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/toolbar.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/toolbar.xml @@ -1,31 +1,31 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/undo.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/undo.xml index eaae84a2..7850f4f9 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/undo.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/undo.xml @@ -1,35 +1,35 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/video.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/video.xml index 269b0f48..9aabc3b7 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/video.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/video.xml @@ -1,20 +1,20 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + diff --git a/deployed/jckman/administrator/components/com_jckman/editor/plugins/wysiwygarea.xml b/deployed/jckman/administrator/components/com_jckman/editor/plugins/wysiwygarea.xml index 88690e07..bfc0aaf0 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/plugins/wysiwygarea.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/plugins/wysiwygarea.xml @@ -1,76 +1,76 @@ - - - 0.1 - Feb 2012 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - PLG_JCK_DESC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 0.1 + Feb 2012 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + PLG_JCK_DESC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/editor/scayt.xml b/deployed/jckman/administrator/components/com_jckman/editor/scayt.xml index dcad9d56..01c6c384 100644 --- a/deployed/jckman/administrator/components/com_jckman/editor/scayt.xml +++ b/deployed/jckman/administrator/components/com_jckman/editor/scayt.xml @@ -1,31 +1,31 @@ - - - 0.1 - June2010 - CKSource.com - http://cksource.com/ - GNU/GPLv2 - Spell check as you type - - - - plugin.js - dialogs - - - - - - - - - - - - - - + + + 0.1 + June2010 + CKSource.com + http://cksource.com/ + GNU/GPLv2 + Spell check as you type + + + + plugin.js + dialogs + + + + + + + + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/event/cpanel.php b/deployed/jckman/administrator/components/com_jckman/event/cpanel.php index 8480ed44..38a1b53f 100644 --- a/deployed/jckman/administrator/components/com_jckman/event/cpanel.php +++ b/deployed/jckman/administrator/components/com_jckman/event/cpanel.php @@ -1,514 +1,514 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - } - - /** - * A JParameter object holding the parameters for the plugin - * - * @var A JParameter object - * @access public - * @since 1.5 - */ - public function onCheck() - { - //Check System requirements for the editor - define('JCK_BASE',JPATH_CONFIGURATION .DS.'plugins'.DS.'editors'.DS.'jckeditor'); - - if(!JFolder::exists(JCK_BASE)) - return; - - $perms = fileperms(JPATH_CONFIGURATION.DS.'index.php'); - $perms = (decoct($perms & 0777)); - - $default_fperms = '0644'; - $default_dperms = '0755'; - - if($perms == 777 || $perms == 666) - { - $default_fperms = '0666'; - $default_dperms = '0777'; - } - - $fperms = JCK_BASE.DS.'config.js'; - - if(!stristr(PHP_OS,'WIN') && JPath::canChmod(JCK_BASE) && $perms != decoct(fileperms($fperms) & 0777)) - { - - $path = JCK_BASE.DS.'plugins'; - - if(!JPath::setPermissions($path,$default_fperms,$default_dperms)) - { - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_AUTO_CORRECTION_FAILED_INCORRECT_FILE_PERMISSION'),'error' ); - } - } - - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_SYSTEM_CHECKED_AND_UPDATED')); - - }//end function - - public function onSync() - { - if( !$this->canDo->get('jckman.sync') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SYNC' ), 'error' ); - return false; - } - - jimport('joomla.filesystem.file'); - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'pluginoverrides.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'pluginoverrides.php'; - - if( !JFile::copy( $src, $dest) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_PLUGINOVERRIDES_PLUGIN') ); - } - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'acl.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'acl.php'; - - if( !JFile::copy( $src, $dest) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_ACL_PLUGIN') ); - } - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'components.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'toolbar'.DS. 'components.php'; - - if( !JFile::copy( $src, $dest) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_COMPONENTS_PLUGIN') ); - } - - $src = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman' .DS. 'editor'.DS.'plugins.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins.php'; - - if( !JFile::copy( $src, $dest) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_BASE_PLUGIN') ); - } - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'scayt.xml'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.'scayt'.DS. 'scayt.xml'; - - if( !JFile::copy( $src, $dest) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_SCAYT_PLUGIN') ); - } - - //Lets try and restore broken or removed plugins from backup - require_once( JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'helpers' .DS.'restorer.php' ); - $restorer = JCKRestorer::getInstance(); - - $srcBase = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS.'plugins'.DS; - $destBase = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS; - - $folders = JFolder::folders($srcBase); - - foreach($folders as $folder) - { - $src = $srcBase.$folder; - - if (!$restorer->install($src)) - { - $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_UNABLE_RESTORE_FOLDER',$folder), 'error' ); - } - else - { - $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_FOLDER',$folder)); - } - } - - //check whether plugin is not a core plugin - //if its not iterate through and see if there are files missing - //then delete the plugin if there are - $db = JFactory::getDBO(); - $query = 'SELECT p.id, p.name FROM `#__jckplugins` p WHERE p.iscore = 0'; - $results = $db->setQuery( $query )->loadObjectList(); - - if(!empty($results)) - { - for($i = 0; $i < count($results);$i++) - { - if(!JFolder::exists(JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$results[$i]->name)) - { - $query = 'DELETE FROM #__jcktoolbarplugins - WHERE pluginid ='. $results[$i]->id; - $db->setQuery( $query )->query(); - - $query = 'DELETE FROM #__jckplugins - WHERE id ='. $results[$i]->id; - $db->setQuery( $query )->query(); - } - }//end for loop - } - - //check for plugins that have not been added to layout -- legacy check - $query = 'SELECT id,name FROM `#__jcktoolbars`'; - $toolbars = $db->setQuery( $query )->loadObjectList(); - - $JCKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - - $values = array(); - - if(!empty($toolbars)) - { - require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); - - //update core plugins layout if needed - foreach($toolbars as $row) - { - // get the total number of core plugin records - $sql = $db->getQuery( true ); - $sql->select( 'COUNT(*)' ) - ->from( '#__jcktoolbarplugins tp' ) - ->join( 'INNER', '#__jckplugins p ON tp.pluginid = p.id' ) - ->where( 'tp.toolbarid ='.(int) $row->id ) - ->where( 'p.iscore = 1' ); - $totalRows = $db->setQuery( $sql )->loadResult(); - - if(!$totalRows) //lets get plugins from class file - { - $filename = $JCKfolder.DS.$row->name.'.php'; - require_once($filename); - $classname = 'JCK'. ucfirst($row->name); - $toolbar = new $classname(); - - $sql = $db->getQuery( true ); - $sql->select( 'p.id, p.title' ) - ->from( '#__jckplugins p' ) - ->join( 'LEFT', '#__jckplugins parent ON parent.id = p.parentid AND parent.published = 1' ) - ->where( 'p.title != ""' ) - ->where( 'p.published = 1' ) - ->where( 'p.iscore = 1' ) - ->where( '(p.parentid IS NULL OR parent.published = 1)' ); - $allplugins = $db->setQuery( $sql )->loadObjectList(); - - $values = array(); - //fix toolbar values or they will get wiped out - $l = 1; - $n = 1; - $j = 1; - - foreach (get_object_vars( $toolbar ) as $k => $v) - { - if($v) - { - $n = ($n > $v ? $n : $v); - } - if($l < $n) - { - $l = $n; - $j = 1; - } - - for($m = 0; $m< count($allplugins); $m++) - { - if($k == $allplugins[$m]->title) - { - $values[] = '('.(int)$row->id.','.(int)$allplugins[$m]->id.','.$n.','.$j.',1)'; - break; - } - - if(strpos($k,'brk_') !== false) - { - $id = preg_match('/[0-9]+$/',$k); - $id = $id * -1; - $values[] = '('.(int)$row->id.','.$id.','.$n.','.$j.',1)'; - $n++; - break; - } - } - $j++; - } - - if(!empty($values)) - { - $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - } - } - } - - //update non core plugins layout - $values = array(); - - foreach($toolbars as $row) - { - $query = 'SELECT id,title FROM `#__jckplugins` p WHERE p.title != "" AND p.iscore = 0 AND p.published = 1' - .' AND NOT EXISTS(SELECT 1 FROM #__jcktoolbarplugins tp WHERE tp.pluginid = p.id AND tp.toolbarid = ' .$row->id. ')'; - $plugins = $db->setQuery( $query )->loadObjectList(); - - $tmpfilename = $JCKfolder.DS.$row->name.'.php'; - - if(!file_exists($tmpfilename)) - continue; //skip - - require_once($tmpfilename); - - $classname = 'JCK'. ucfirst($row->name); - - $toolbar = new $classname(); - - $rowDetail = JCKHelper::getNextLayoutRow($row->id); - - foreach (get_object_vars( $toolbar ) as $k => $v) - { - foreach($plugins as $plugin) - { - if($plugin->title == $k) - { - $values[] = '('.$row->id.','. $plugin->id.','.$rowDetail->rowid.','.$rowDetail->rowordering.',1)'; - $rowDetail->rowordering++; - } - } - } - } - } - - //Now add plugins to layouts - if(!empty($values)) - { - $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values) - .' ON DUPLICATE KEY UPDATE toolbarid = VALUES(toolbarid),pluginid = VALUES(pluginid)'; - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - } - - //Reload Toolbar if editor is re-installed - jckimport( 'event.observable.editor' ); - - $obs = new JCKEditorObservable( 'toolbars' ); - $handle = $obs->getEventHandler(); - - $query = 'SELECT * FROM `#__jcktoolbars` t WHERE exists(SELECT 1 FROM #__jcktoolbarplugins tp WHERE tp.toolbarid = t.id)'; - $rowresults = $db->setQuery( $query )->loadObjectList(); - - foreach($rowresults as $row) - { - $id = $row->id; - $name = $row->name; - $title = $row->title; - - switch( $name ) - { - case 'publisher' : - case 'full': - case 'basic' : - case 'blog' : - case 'image' : - case 'mobile': - $isNew = false; - break; - default : - $isNew = true; - break; - }//end switch - - $handle->onSave( $id, $name, $name, $title, $isNew ); - } - - //restore state of published/unpublished plugins - $obs = new JCKEditorObservable( 'list' ); - $handle = $obs->getEventHandler(); - - $where = array(); - $where[] = ' WHERE p.published = 1'; - $where[] = ' WHERE p.published = 0'; - $state = array(1,0); - $count = count($where); - $db = JFactory::getDBO(); - - for( $i = 0; $i < $count; $i++ ) - { - $query = 'SELECT id FROM `#__jckplugins` p' . $where[$i] . ' AND p.iscore = 1 AND type="plugin"'; - $results = $db->setQuery( $query )->loadColumn(); - - $handle->onPublish($results, $state[$i]); - } - - //restore language overrides - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'overrides'; - $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'language'.DS.'overrides'; - - - $files = JFolder::files($src); - - foreach($files as $file) - { - - if($file == 'index.html') - continue; - - $source = $src .'/'. $file; - $path = $dest.'/'.$file; - - - if(JFile::exists($file)) - { - $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_LANGUAGE_EXISTS',$file), 'warning' ); - } - elseif(!JFile::copy($source,$path)) - { - $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_UNABLE_RESTORE_LANGUAGE',$file), 'error' ); - - } - else - { - $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_LANGUAGE',$file)); - } - } - - - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_EDITOR_SYNCHRONIZED')); - - }//end function - - public function onImport() - { - }//end function - - public function onExport() - { - ini_set('max_execution_time', 5000); - - //require(JPATH_COMPONENT.'/helpers/archive.php'); - require(JPATH_COMPONENT.'/helpers/archivefactory.php'); - - //copy XML file - jimport('joomla.filesystem.file'); - - $src = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor.xml'; - $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'plugins'.DS.'jckeditor.xml'; - - if( !JFile::copy( $src, $dest) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_TO_COPY_MANIFEST') ); - } - - $src = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'toolbar'; - $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'toolbar'; - - if( !JFolder::copy( $src, $dest,'',true) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_TO_COPY_TOOLBARS') ); - } - - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'language'.DS.'overrides'; - $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'overrides'; - - if( !JFolder::copy( $src, $dest,'',true) ){ - $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_TO_COPY_TOOLBARS') ); - } - - - - - //process SQL - if($this->_createSQL()) - { - - // Create a new gzip file test.tgz in htdocs/test - $backup_file_name = 'bak_jckeditor'.date('dmyHis'); - /* - $tgz = new gzip_file($backup_file_name); - $tgz->set_options(array('basedir' => JPATH_COMPONENT."/editor", 'overwrite' =>1,'inmemory'=>1,level=>5)); - $tgz->add_files('import.xml'); - $tgz->add_files('toolbar'); - $tgz->add_files('plugins'); - $tgz->create_archive(); - $tgz->download_file(); - exit; - */ - $tgz = new ArchiveFactory(JPATH_COMPONENT."/editor",$backup_file_name); - $tgz->downloadFile(); - } - else - { - JCKHelper::error( JText::_("COM_JCKMAN_CPANEL_COULD_NOT_CREATE_SQL")); - } - }//end function - - private function _createSQL() - { - $tables = array('#__jckplugins','#__jcktoolbars','#__jcktoolbarplugins','#__jcklanguages'); - $db = JFactory::getDBO(); - $sql = array(); - - foreach($tables as $table) - { - $sql[] = 'DROP TABLE IF EXISTS '. $table.';'.chr(13); - $query = 'SHOW CREATE TABLE '. $table; - $db->setQuery($query); - $row = $db->loadRow(); - $struct = str_replace($db->getPrefix(),'#__',$row[1]); - $sql[] = $struct.';'.chr(13); - $query = 'SELECT * FROM '. $table; - $db->setQuery($query); - $rows = $db-> loadRowList(); - - if(!empty($rows)) - { - $sql[] = 'INSERT INTO '. $table. ' VALUES '; - - $fieldcount = count($rows[0]); - $rowcount = count($rows); - $fieldcount--; - $rowcount--; - foreach($rows as $k=>$row) - { - if(!$row[$fieldcount]) - $row[$fieldcount] = 'NULL'; - if(!$row[$fieldcount-2]) - $row[$fieldcount-2] = 'NULL'; - - if($k < $rowcount) - $tupples = "('".implode("','",$row)."'),"; - else - $tupples = "('".implode("','",$row)."');"; - $tupples = str_replace("'NULL'","NULL",$tupples); - $sql[] = $tupples; - } - $sql[] = chr(13); - } - } - - $query = "SELECT params FROM #__extensions WHERE folder='editors' AND element = 'jckeditor'"; - $db->setQuery($query); - $result = $db-> loadResult(); - - $sql[] = "UPDATE #__extensions"; - $sql[] = "SET params = '".$db->escape($result)."'"; - $sql[] = "WHERE folder='editors' AND element = 'jckeditor'"; - $sql[] = chr(13); - - $buffer = implode(chr(13),$sql); - $file = JPATH_COMPONENT.'/editor/plugins/sql.sql'; - return JFile::write($file, $buffer); - }//end function +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + } + + /** + * A JParameter object holding the parameters for the plugin + * + * @var A JParameter object + * @access public + * @since 1.5 + */ + public function onCheck() + { + //Check System requirements for the editor + define('JCK_BASE',JPATH_CONFIGURATION .DS.'plugins'.DS.'editors'.DS.'jckeditor'); + + if(!JFolder::exists(JCK_BASE)) + return; + + $perms = fileperms(JPATH_CONFIGURATION.DS.'index.php'); + $perms = (decoct($perms & 0777)); + + $default_fperms = '0644'; + $default_dperms = '0755'; + + if($perms == 777 || $perms == 666) + { + $default_fperms = '0666'; + $default_dperms = '0777'; + } + + $fperms = JCK_BASE.DS.'config.js'; + + if(!stristr(PHP_OS,'WIN') && JPath::canChmod(JCK_BASE) && $perms != decoct(fileperms($fperms) & 0777)) + { + + $path = JCK_BASE.DS.'plugins'; + + if(!JPath::setPermissions($path,$default_fperms,$default_dperms)) + { + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_AUTO_CORRECTION_FAILED_INCORRECT_FILE_PERMISSION'),'error' ); + } + } + + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_SYSTEM_CHECKED_AND_UPDATED')); + + }//end function + + public function onSync() + { + if( !$this->canDo->get('jckman.sync') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SYNC' ), 'error' ); + return false; + } + + jimport('joomla.filesystem.file'); + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'pluginoverrides.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'pluginoverrides.php'; + + if( !JFile::copy( $src, $dest) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_PLUGINOVERRIDES_PLUGIN') ); + } + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'acl.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'acl.php'; + + if( !JFile::copy( $src, $dest) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_ACL_PLUGIN') ); + } + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'components.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'toolbar'.DS. 'components.php'; + + if( !JFile::copy( $src, $dest) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_COMPONENTS_PLUGIN') ); + } + + $src = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman' .DS. 'editor'.DS.'plugins.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins.php'; + + if( !JFile::copy( $src, $dest) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_BASE_PLUGIN') ); + } + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'scayt.xml'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.'scayt'.DS. 'scayt.xml'; + + if( !JFile::copy( $src, $dest) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_MOVE_SCAYT_PLUGIN') ); + } + + //Lets try and restore broken or removed plugins from backup + require_once( JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'helpers' .DS.'restorer.php' ); + $restorer = JCKRestorer::getInstance(); + + $srcBase = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS.'plugins'.DS; + $destBase = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS; + + $folders = JFolder::folders($srcBase); + + foreach($folders as $folder) + { + $src = $srcBase.$folder; + + if (!$restorer->install($src)) + { + $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_UNABLE_RESTORE_FOLDER',$folder), 'error' ); + } + else + { + $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_FOLDER',$folder)); + } + } + + //check whether plugin is not a core plugin + //if its not iterate through and see if there are files missing + //then delete the plugin if there are + $db = JFactory::getDBO(); + $query = 'SELECT p.id, p.name FROM `#__jckplugins` p WHERE p.iscore = 0'; + $results = $db->setQuery( $query )->loadObjectList(); + + if(!empty($results)) + { + for($i = 0; $i < count($results);$i++) + { + if(!JFolder::exists(JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$results[$i]->name)) + { + $query = 'DELETE FROM #__jcktoolbarplugins + WHERE pluginid ='. $results[$i]->id; + $db->setQuery( $query )->query(); + + $query = 'DELETE FROM #__jckplugins + WHERE id ='. $results[$i]->id; + $db->setQuery( $query )->query(); + } + }//end for loop + } + + //check for plugins that have not been added to layout -- legacy check + $query = 'SELECT id,name FROM `#__jcktoolbars`'; + $toolbars = $db->setQuery( $query )->loadObjectList(); + + $JCKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + + $values = array(); + + if(!empty($toolbars)) + { + require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); + + //update core plugins layout if needed + foreach($toolbars as $row) + { + // get the total number of core plugin records + $sql = $db->getQuery( true ); + $sql->select( 'COUNT(*)' ) + ->from( '#__jcktoolbarplugins tp' ) + ->join( 'INNER', '#__jckplugins p ON tp.pluginid = p.id' ) + ->where( 'tp.toolbarid ='.(int) $row->id ) + ->where( 'p.iscore = 1' ); + $totalRows = $db->setQuery( $sql )->loadResult(); + + if(!$totalRows) //lets get plugins from class file + { + $filename = $JCKfolder.DS.$row->name.'.php'; + require_once($filename); + $classname = 'JCK'. ucfirst($row->name); + $toolbar = new $classname(); + + $sql = $db->getQuery( true ); + $sql->select( 'p.id, p.title' ) + ->from( '#__jckplugins p' ) + ->join( 'LEFT', '#__jckplugins parent ON parent.id = p.parentid AND parent.published = 1' ) + ->where( 'p.title != ""' ) + ->where( 'p.published = 1' ) + ->where( 'p.iscore = 1' ) + ->where( '(p.parentid IS NULL OR parent.published = 1)' ); + $allplugins = $db->setQuery( $sql )->loadObjectList(); + + $values = array(); + //fix toolbar values or they will get wiped out + $l = 1; + $n = 1; + $j = 1; + + foreach (get_object_vars( $toolbar ) as $k => $v) + { + if($v) + { + $n = ($n > $v ? $n : $v); + } + if($l < $n) + { + $l = $n; + $j = 1; + } + + for($m = 0; $m< count($allplugins); $m++) + { + if($k == $allplugins[$m]->title) + { + $values[] = '('.(int)$row->id.','.(int)$allplugins[$m]->id.','.$n.','.$j.',1)'; + break; + } + + if(strpos($k,'brk_') !== false) + { + $id = preg_match('/[0-9]+$/',$k); + $id = $id * -1; + $values[] = '('.(int)$row->id.','.$id.','.$n.','.$j.',1)'; + $n++; + break; + } + } + $j++; + } + + if(!empty($values)) + { + $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + } + } + } + + //update non core plugins layout + $values = array(); + + foreach($toolbars as $row) + { + $query = 'SELECT id,title FROM `#__jckplugins` p WHERE p.title != "" AND p.iscore = 0 AND p.published = 1' + .' AND NOT EXISTS(SELECT 1 FROM #__jcktoolbarplugins tp WHERE tp.pluginid = p.id AND tp.toolbarid = ' .$row->id. ')'; + $plugins = $db->setQuery( $query )->loadObjectList(); + + $tmpfilename = $JCKfolder.DS.$row->name.'.php'; + + if(!file_exists($tmpfilename)) + continue; //skip + + require_once($tmpfilename); + + $classname = 'JCK'. ucfirst($row->name); + + $toolbar = new $classname(); + + $rowDetail = JCKHelper::getNextLayoutRow($row->id); + + foreach (get_object_vars( $toolbar ) as $k => $v) + { + foreach($plugins as $plugin) + { + if($plugin->title == $k) + { + $values[] = '('.$row->id.','. $plugin->id.','.$rowDetail->rowid.','.$rowDetail->rowordering.',1)'; + $rowDetail->rowordering++; + } + } + } + } + } + + //Now add plugins to layouts + if(!empty($values)) + { + $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values) + .' ON DUPLICATE KEY UPDATE toolbarid = VALUES(toolbarid),pluginid = VALUES(pluginid)'; + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + } + + //Reload Toolbar if editor is re-installed + jckimport( 'event.observable.editor' ); + + $obs = new JCKEditorObservable( 'toolbars' ); + $handle = $obs->getEventHandler(); + + $query = 'SELECT * FROM `#__jcktoolbars` t WHERE exists(SELECT 1 FROM #__jcktoolbarplugins tp WHERE tp.toolbarid = t.id)'; + $rowresults = $db->setQuery( $query )->loadObjectList(); + + foreach($rowresults as $row) + { + $id = $row->id; + $name = $row->name; + $title = $row->title; + + switch( $name ) + { + case 'publisher' : + case 'full': + case 'basic' : + case 'blog' : + case 'image' : + case 'mobile': + $isNew = false; + break; + default : + $isNew = true; + break; + }//end switch + + $handle->onSave( $id, $name, $name, $title, $isNew ); + } + + //restore state of published/unpublished plugins + $obs = new JCKEditorObservable( 'list' ); + $handle = $obs->getEventHandler(); + + $where = array(); + $where[] = ' WHERE p.published = 1'; + $where[] = ' WHERE p.published = 0'; + $state = array(1,0); + $count = count($where); + $db = JFactory::getDBO(); + + for( $i = 0; $i < $count; $i++ ) + { + $query = 'SELECT id FROM `#__jckplugins` p' . $where[$i] . ' AND p.iscore = 1 AND type="plugin"'; + $results = $db->setQuery( $query )->loadColumn(); + + $handle->onPublish($results, $state[$i]); + } + + //restore language overrides + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'overrides'; + $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'language'.DS.'overrides'; + + + $files = JFolder::files($src); + + foreach($files as $file) + { + + if($file == 'index.html') + continue; + + $source = $src .'/'. $file; + $path = $dest.'/'.$file; + + + if(JFile::exists($file)) + { + $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_LANGUAGE_EXISTS',$file), 'warning' ); + } + elseif(!JFile::copy($source,$path)) + { + $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_UNABLE_RESTORE_LANGUAGE',$file), 'error' ); + + } + else + { + $this->app->enqueueMessage(JText::sprintf('COM_JCKMAN_CPANEL_SUCESSFULLY_RESTORE_LANGUAGE',$file)); + } + } + + + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_EDITOR_SYNCHRONIZED')); + + }//end function + + public function onImport() + { + }//end function + + public function onExport() + { + ini_set('max_execution_time', 5000); + + //require(JPATH_COMPONENT.'/helpers/archive.php'); + require(JPATH_COMPONENT.'/helpers/archivefactory.php'); + + //copy XML file + jimport('joomla.filesystem.file'); + + $src = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor.xml'; + $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'plugins'.DS.'jckeditor.xml'; + + if( !JFile::copy( $src, $dest) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_TO_COPY_MANIFEST') ); + } + + $src = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'toolbar'; + $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'toolbar'; + + if( !JFolder::copy( $src, $dest,'',true) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_TO_COPY_TOOLBARS') ); + } + + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'language'.DS.'overrides'; + $dest = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'overrides'; + + if( !JFolder::copy( $src, $dest,'',true) ){ + $this->app->enqueueMessage( JText::_('COM_JCKMAN_CPANEL_UNABLE_TO_COPY_TOOLBARS') ); + } + + + + + //process SQL + if($this->_createSQL()) + { + + // Create a new gzip file test.tgz in htdocs/test + $backup_file_name = 'bak_jckeditor'.date('dmyHis'); + /* + $tgz = new gzip_file($backup_file_name); + $tgz->set_options(array('basedir' => JPATH_COMPONENT."/editor", 'overwrite' =>1,'inmemory'=>1,level=>5)); + $tgz->add_files('import.xml'); + $tgz->add_files('toolbar'); + $tgz->add_files('plugins'); + $tgz->create_archive(); + $tgz->download_file(); + exit; + */ + $tgz = new ArchiveFactory(JPATH_COMPONENT."/editor",$backup_file_name); + $tgz->downloadFile(); + } + else + { + JCKHelper::error( JText::_("COM_JCKMAN_CPANEL_COULD_NOT_CREATE_SQL")); + } + }//end function + + private function _createSQL() + { + $tables = array('#__jckplugins','#__jcktoolbars','#__jcktoolbarplugins','#__jcklanguages'); + $db = JFactory::getDBO(); + $sql = array(); + + foreach($tables as $table) + { + $sql[] = 'DROP TABLE IF EXISTS '. $table.';'.chr(13); + $query = 'SHOW CREATE TABLE '. $table; + $db->setQuery($query); + $row = $db->loadRow(); + $struct = str_replace($db->getPrefix(),'#__',$row[1]); + $sql[] = $struct.';'.chr(13); + $query = 'SELECT * FROM '. $table; + $db->setQuery($query); + $rows = $db-> loadRowList(); + + if(!empty($rows)) + { + $sql[] = 'INSERT INTO '. $table. ' VALUES '; + + $fieldcount = count($rows[0]); + $rowcount = count($rows); + $fieldcount--; + $rowcount--; + foreach($rows as $k=>$row) + { + if(!$row[$fieldcount]) + $row[$fieldcount] = 'NULL'; + if(!$row[$fieldcount-2]) + $row[$fieldcount-2] = 'NULL'; + + if($k < $rowcount) + $tupples = "('".implode("','",$row)."'),"; + else + $tupples = "('".implode("','",$row)."');"; + $tupples = str_replace("'NULL'","NULL",$tupples); + $sql[] = $tupples; + } + $sql[] = chr(13); + } + } + + $query = "SELECT params FROM #__extensions WHERE folder='editors' AND element = 'jckeditor'"; + $db->setQuery($query); + $result = $db-> loadResult(); + + $sql[] = "UPDATE #__extensions"; + $sql[] = "SET params = '".$db->escape($result)."'"; + $sql[] = "WHERE folder='editors' AND element = 'jckeditor'"; + $sql[] = chr(13); + + $buffer = implode(chr(13),$sql); + $file = JPATH_COMPONENT.'/editor/plugins/sql.sql'; + return JFile::write($file, $buffer); + }//end function }//end class \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/event/list.php b/deployed/jckman/administrator/components/com_jckman/event/list.php index 868d5aa3..a777ecb0 100644 --- a/deployed/jckman/administrator/components/com_jckman/event/list.php +++ b/deployed/jckman/administrator/components/com_jckman/event/list.php @@ -1,213 +1,213 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - } - - /** - * A JParameter object holding the parameters for the plugin - * - * @var A JParameter object - * @access public - * @since 1.5 - */ - function onSave($plugin,$pluginToolbarnames) - { - if( !$this->canDo->get('core.edit') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); - return false; - } - - require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); - - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - - jckimport('helper'); - $toolbarnames = JCKHelper::getEditorToolbars(); - - if(!empty( $toolbarnames)) - { - foreach($toolbarnames as $toolbarname) - { - $tmpfilename = $CKfolder.DS.$toolbarname.'.php'; - - require($tmpfilename); - - $classname = 'JCK'. ucfirst($toolbarname); - - $toolbar = new $classname(); - - if(!$plugin->title) - { - //publish or unpblish plugin - $this->onPublish(array($plugin->id),$plugin->published); - return; - } - - $pluginTitle = str_replace(' ','',$plugin->title); - $pluginTitle = $pluginTitle; - - //fix toolbar values or they will get wiped out - foreach (get_object_vars( $toolbar ) as $k => $v) - { - if(is_null($v)) - { - $toolbar->$k = ''; - } - if($k[0] == '_') - $toolbar->$k = NULL; - } - - $toolbar->$pluginTitle = NULL; - - if(!empty($pluginToolbarnames) && in_array($toolbarname,$pluginToolbarnames)) - $toolbar->$pluginTitle = ''; - - $toolbarConfig = new JRegistry('toolbar'); - - $toolbarConfig->loadObject($toolbar); - - // Get the config registry in PHP class format and write it to file - if (!JFile::write($tmpfilename, $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')))) { - - JCKHelper::error(JText::sprintf('COM_JCK_PLUGIN_LIST_FAILED_TO_MODIFY_TOOLBAR',$pname,$classname)); - } - } - - //layout stuff - $cids = array(0); - - $db = JFactory::getDBO(); - - if(!empty($pluginToolbarnames)) - { - $values = array(); - foreach($pluginToolbarnames as $plugintoolbarname) - { - - $query = 'SELECT id' - . ' FROM #__jcktoolbars' - . ' WHERE name = "'. $plugintoolbarname .'"'; - $db->setQuery( $query ); - $toolbarid = $db->loadResult(); - - if($toolbarid) - { - - $rowDetail = JCKHelper::getNextLayoutRow($toolbarid); - - $values[] = '('.$toolbarid.','. $plugin->id.','.$rowDetail->rowid.','.$rowDetail->rowordering.',1)'; - - $cids[] = $toolbarid; - } - } - } - - //First remove plugin from every layout that has not been selected - $query = 'DELETE FROM #__jcktoolbarplugins' - . ' WHERE pluginid ='. $plugin->id - . ' AND toolbarid NOT IN (' . implode(',',$cids).')'; - $db->setQuery( $query ); - if (!$db->query()) { - JCKHelper::error( $db->getErrorMsg() ); - } - - //Now add plugin to selected layouts - if(!empty($values)) - { - $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values) - .' ON DUPLICATE KEY UPDATE toolbarid = VALUES(toolbarid),pluginid = VALUES(pluginid)'; - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - } - } - //publish or unpblish plugin - $this->onPublish(array($plugin->id),$plugin->published); - } - - function onPublish($cid,$value) - { - if( !$this->canDo->get('core.edit.state') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_PUB' ), 'error' ); - return false; - } - - $db = JFactory::getDBO(); - $user = JFactory::getUser(); - $cids = implode( ',', $cid ); - - $query = 'SELECT name FROM #__jckplugins' - . ' WHERE id IN ( '.$cids.' )' - . ' AND ( checked_out = 0 OR ( checked_out = '.(int) $user->get('id').' ))' - ; - $db->setQuery( $query ); - $pluginnames = $db->loadColumn(); - if (!$pluginnames) { - JCKHelper::error( $db->getErrorMsg() ); - } - - jckimport('helper'); - - $config = JCKHelper::getEditorPluginConfig(); - - foreach($pluginnames as $pname) - $config->set($pname,$value); - - $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; - - // Get the toolbar registry in PHP class format and write it to file - $buffer = $config->toString('PHP', array('class' => 'JCKToolbarPlugins extends JCKPlugins')); - if (!JFile::write($cfgFile,$buffer)) { - $modify = ($value ? 'publish ' : 'unpublish '); - JCKHelper::error(JText::sprintf('COM_JCK_PLUGIN_LIST_FAILED_TO_PUBLISH_UNPUBLISH_PLUGINS',$modify)); - } - } - - function onApply($plugin,$pluginToolbarnames) - { - if( !$this->canDo->get('core.edit') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); - return false; - } - - $this->onSave($plugin,$pluginToolbarnames); - } - - function onUnpublish($cid,$value) - { - if( !$this->canDo->get('core.edit.state') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_UNPUB' ), 'error' ); - return false; - } - - $this->onPublish($cid,$value); - } +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + } + + /** + * A JParameter object holding the parameters for the plugin + * + * @var A JParameter object + * @access public + * @since 1.5 + */ + function onSave($plugin,$pluginToolbarnames) + { + if( !$this->canDo->get('core.edit') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); + return false; + } + + require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); + + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + + jckimport('helper'); + $toolbarnames = JCKHelper::getEditorToolbars(); + + if(!empty( $toolbarnames)) + { + foreach($toolbarnames as $toolbarname) + { + $tmpfilename = $CKfolder.DS.$toolbarname.'.php'; + + require($tmpfilename); + + $classname = 'JCK'. ucfirst($toolbarname); + + $toolbar = new $classname(); + + if(!$plugin->title) + { + //publish or unpblish plugin + $this->onPublish(array($plugin->id),$plugin->published); + return; + } + + $pluginTitle = str_replace(' ','',$plugin->title); + $pluginTitle = $pluginTitle; + + //fix toolbar values or they will get wiped out + foreach (get_object_vars( $toolbar ) as $k => $v) + { + if(is_null($v)) + { + $toolbar->$k = ''; + } + if($k[0] == '_') + $toolbar->$k = NULL; + } + + $toolbar->$pluginTitle = NULL; + + if(!empty($pluginToolbarnames) && in_array($toolbarname,$pluginToolbarnames)) + $toolbar->$pluginTitle = ''; + + $toolbarConfig = new JRegistry('toolbar'); + + $toolbarConfig->loadObject($toolbar); + + // Get the config registry in PHP class format and write it to file + if (!JFile::write($tmpfilename, $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')))) { + + JCKHelper::error(JText::sprintf('COM_JCK_PLUGIN_LIST_FAILED_TO_MODIFY_TOOLBAR',$pname,$classname)); + } + } + + //layout stuff + $cids = array(0); + + $db = JFactory::getDBO(); + + if(!empty($pluginToolbarnames)) + { + $values = array(); + foreach($pluginToolbarnames as $plugintoolbarname) + { + + $query = 'SELECT id' + . ' FROM #__jcktoolbars' + . ' WHERE name = "'. $plugintoolbarname .'"'; + $db->setQuery( $query ); + $toolbarid = $db->loadResult(); + + if($toolbarid) + { + + $rowDetail = JCKHelper::getNextLayoutRow($toolbarid); + + $values[] = '('.$toolbarid.','. $plugin->id.','.$rowDetail->rowid.','.$rowDetail->rowordering.',1)'; + + $cids[] = $toolbarid; + } + } + } + + //First remove plugin from every layout that has not been selected + $query = 'DELETE FROM #__jcktoolbarplugins' + . ' WHERE pluginid ='. $plugin->id + . ' AND toolbarid NOT IN (' . implode(',',$cids).')'; + $db->setQuery( $query ); + if (!$db->query()) { + JCKHelper::error( $db->getErrorMsg() ); + } + + //Now add plugin to selected layouts + if(!empty($values)) + { + $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values) + .' ON DUPLICATE KEY UPDATE toolbarid = VALUES(toolbarid),pluginid = VALUES(pluginid)'; + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + } + } + //publish or unpblish plugin + $this->onPublish(array($plugin->id),$plugin->published); + } + + function onPublish($cid,$value) + { + if( !$this->canDo->get('core.edit.state') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_PUB' ), 'error' ); + return false; + } + + $db = JFactory::getDBO(); + $user = JFactory::getUser(); + $cids = implode( ',', $cid ); + + $query = 'SELECT name FROM #__jckplugins' + . ' WHERE id IN ( '.$cids.' )' + . ' AND ( checked_out = 0 OR ( checked_out = '.(int) $user->get('id').' ))' + ; + $db->setQuery( $query ); + $pluginnames = $db->loadColumn(); + if (!$pluginnames) { + JCKHelper::error( $db->getErrorMsg() ); + } + + jckimport('helper'); + + $config = JCKHelper::getEditorPluginConfig(); + + foreach($pluginnames as $pname) + $config->set($pname,$value); + + $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; + + // Get the toolbar registry in PHP class format and write it to file + $buffer = $config->toString('PHP', array('class' => 'JCKToolbarPlugins extends JCKPlugins')); + if (!JFile::write($cfgFile,$buffer)) { + $modify = ($value ? 'publish ' : 'unpublish '); + JCKHelper::error(JText::sprintf('COM_JCK_PLUGIN_LIST_FAILED_TO_PUBLISH_UNPUBLISH_PLUGINS',$modify)); + } + } + + function onApply($plugin,$pluginToolbarnames) + { + if( !$this->canDo->get('core.edit') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_SAVE' ), 'error' ); + return false; + } + + $this->onSave($plugin,$pluginToolbarnames); + } + + function onUnpublish($cid,$value) + { + if( !$this->canDo->get('core.edit.state') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_UNPUB' ), 'error' ); + return false; + } + + $this->onPublish($cid,$value); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/event/observable/editor.php b/deployed/jckman/administrator/components/com_jckman/event/observable/editor.php index 4e6a86a7..955b1f42 100644 --- a/deployed/jckman/administrator/components/com_jckman/event/observable/editor.php +++ b/deployed/jckman/administrator/components/com_jckman/event/observable/editor.php @@ -1,77 +1,77 @@ -_eventHandler = new $eventListenerClassName($this); - - } - else - { - JCKHelper::error('No Event listener ' . $eventListenerClassName .' class found.'); - - } - } - - /** - * Update Editor - * - * @param string event - *@param array arguments for function call of event handller - */ - function update($event, $args ) - { - - $args['event'] = $event; - - $this->_eventHandler->update($args); - } - - /** - * Reload Toolbar - * - * Used to restore toolbar if editor is re-installed - */ - function getEventHandler() - { - return $this->_eventHandler; - }//end function getEventHandler +_eventHandler = new $eventListenerClassName($this); + + } + else + { + JCKHelper::error('No Event listener ' . $eventListenerClassName .' class found.'); + + } + } + + /** + * Update Editor + * + * @param string event + *@param array arguments for function call of event handller + */ + function update($event, $args ) + { + + $args['event'] = $event; + + $this->_eventHandler->update($args); + } + + /** + * Reload Toolbar + * + * Used to restore toolbar if editor is re-installed + */ + function getEventHandler() + { + return $this->_eventHandler; + }//end function getEventHandler } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/event/toolbars.php b/deployed/jckman/administrator/components/com_jckman/event/toolbars.php index faf0b0e0..d8b4be40 100644 --- a/deployed/jckman/administrator/components/com_jckman/event/toolbars.php +++ b/deployed/jckman/administrator/components/com_jckman/event/toolbars.php @@ -1,314 +1,314 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - } - - /** - * A JParameter object holding the parameters for the plugin - * - * @var A JParameter object - * @access public - * @since 1.5 - */ - function onCopy($cid) - { - if( !$this->canDo->get('core.create') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_COPY' ), 'error' ); - return false; - } - - $db = JFactory::getDBO(); - $sql = $db->getQuery( true ); - $sql->select( 'id,name,title' ) - ->from( '#__jcktoolbars' ) - ->where( 'id IN ('. implode($cid) .')' ); - $toolbars = $db->setQuery( $sql )->loadObjectList(); - - $this->_createEditorToolbarOption($toolbars); - } - - - function onSave($id,$name,$oldname,$title,$isNew) - { - $toolbar = new stdclass; - $toolbar->id = $id; - $toolbar->oldname = $oldname; - $toolbar->name = $name; - $toolbar->title = $title; - - $folder = CKEDITOR_LIBRARY.DS.'toolbar'; - $newfile = $folder.DS.$name.'.php'; - - if(!$isNew || JFile::exists($newfile)) // Also check to see if toolbar file already exists. If so then it is just a simple update - { - $this->_createEditorToolbar($id,$name,$oldname); - $this->_updateEditorToolbarOption(array($toolbar)); - } - else - { - $this->_createEditorToolbarOption(array($toolbar)); - } - } - - function onRemove($names) - { - if( !$this->canDo->get('core.delete') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_DELETE' ), 'error' ); - return false; - } - - //delete toolbar files - $paths = array_map(create_function('$name','return CKEDITOR_LIBRARY.DS."toolbar".DS.$name.".php";'),$names); - //JFile::delete($paths); - //update Editor Manifest - $this->_deleteEditorToolbarOption($names); - } - - - - function _createEditorToolbarOption($toolbars) - { - // get editor installfile - $JCKManifestFile = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' .DS . 'jckeditor.xml'; - - $jckeditorXML = JCKHelper::getXMLParser('Simple'); - if(!$jckeditorXML->loadFile($JCKManifestFile)) - { - JCKHelper::error( 'Editor Install: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST')); - return; - } - - $JCKManifest = $jckeditorXML->document; - - $paramsElement = $JCKManifest->config[0]->fields[0]->fieldset[0]; - - foreach($toolbars as $toolbar) - { - $this->_createEditorToolbar($toolbar->id,$toolbar->name,$toolbar->name); //Write to toolbar file - foreach ($paramsElement->children() as $param) - { - - if($param->attributes('name') == 'toolbar') - { - $child = $param->AddChild('option',array('value' => $toolbar->name)); - $child->setData($toolbar->title); - } - if($param->attributes('name') == 'toolbar_ft') - { - $child = $param->AddChild('option',array('value' => $toolbar->name)); - $child->setData($toolbar->title); - break; - } - } - } - - $JCKOutputXMl = $JCKManifest->toString(); - - if(!JFile::write($JCKManifestFile,$JCKOutputXMl)) //Write to editor manifest file - { - JCKHelper::error( 'Toolbar Copy: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST')); - } - } - - function _deleteEditorToolbarOption($names) - { - // get editor installfile - $JCKManifestFile = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' . DS . 'jckeditor.xml'; - - $jckeditorXML = JCKHelper::getXMLParser('Simple'); - if(!$jckeditorXML->loadFile($JCKManifestFile)) - { - JCKHelper::error( 'Editor Install: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST')); - return; - } - - $JCKManifest = $jckeditorXML->document; - - $paramsElement = $JCKManifest->config[0]->fields[0]->fieldset[0]; - - foreach($names as $name) - { - foreach ($paramsElement->children() as $param) - { - if($param->attributes('name') == 'toolbar') - { - foreach($param->children() as $child) - { - if($child->attributes('value') == $name) - { - $param->removeChild($child); - break; - } - } - } - if($param->attributes('name') == 'toolbar_ft') - { - foreach($param->children() as $child) - { - if($child->attributes('value') == $name) - { - $param->removeChild($child); - break; - } - } - break; - } - } - } - - $JCKOutputXMl = $JCKManifest->toString(); - - if(!JFile::write($JCKManifestFile,$JCKOutputXMl)) //Write to editor manifest file - { - JCKHelper::error( 'Toolbar Delete: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST')); - } - } - - function _updateEditorToolbarOption($toolbars) - { - // get editor installfile - $JCKManifestFile = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' . DS . 'jckeditor.xml'; - - $jckeditorXML = JCKHelper::getXMLParser('Simple'); - if(!$jckeditorXML->loadFile($JCKManifestFile)) - { - JCKHelper::error( 'Editor Install: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST')); - return; - } - - $JCKManifest = $jckeditorXML->document; - - $paramsElement = $JCKManifest->config[0]->fields[0]->fieldset[0]; - - foreach($toolbars as $toolbar) - { - foreach ($paramsElement->children() as $param) - { - if($param->attributes('name') == 'toolbar') - { - foreach($param->children() as $child) - { - if($child->attributes('value') == $toolbar->oldname) - { - $child->removeAttribute('value'); - $child->addAttribute('value',$toolbar->name); - $child->setData($toolbar->title); - break; - } - } - } - if($param->attributes('name') == 'toolbar_ft') - { - foreach($param->children() as $child) - { - if($child->attributes('value') == $toolbar->oldname) - { - $child->removeAttribute('value'); - $child->addAttribute('value',$toolbar->name); - $child->setData($toolbar->title); - break; - } - } - break; - } - } - } - - $JCKOutputXMl = $JCKManifest->toString(); - - if(!JFile::write($JCKManifestFile,$JCKOutputXMl)) //Write to editor manifest file - { - JCKHelper::error( 'Toolbar Update: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST')); - } - } - - function _createEditorToolbar($id,$name,$oldname) - { - require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); - - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - - $newfilename = $CKfolder.DS.$name.'.php'; - $oldfilename = $CKfolder.DS.$oldname.'.php'; - - $classname = 'JCK'. ucfirst($name); - $toolbar = new stdclass; - - - - $toolbarConfig = new JRegistry('toolbar'); - - $db = JFactory::getDBO(); - - $query = 'SELECT tp.pluginid AS id,p.title,tp.row' - . ' FROM #__jcktoolbarplugins tp' - . ' LEFT JOIN #__jckplugins p ON p.id = tp.pluginid' - . ' WHERE tp.state = 1' - . ' AND tp.toolbarid = '.$id - . ' ORDER BY tp.row ASC,tp.ordering ASC'; - $db->setQuery( $query ); - $toolbarplugins = $db->loadObjectList(); - - if($toolbarplugins) - { - foreach($toolbarplugins as $plugin) - { - if($plugin->id < 0) // we have a break - { - $property = 'brk_' .($plugin->id*-1); - $toolbar->$property = $plugin->row; - } - else - { - $property = $plugin->title; - $toolbar->$property = $plugin->row; - } - } - } - - $toolbarConfig->loadObject($toolbar); - - // Get the config registry in PHP class format and write it to file - $buffer = $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')); - - if (!JFile::write($oldfilename,$buffer)) { - JCKHelper::error( JText::sprintf('COM_JCKMAN_LAYOUT_MANAGER_FAILED_WRITE_FILE',$classname)); - } - - if($newfilename != $oldfilename) - { - if( !JFile::move($oldfilename, $newfilename) ){ - JCKHelper::error(JText::sprintf('COM_JCKMAN_LAYOUT_MANAGER_FAILED_WRITE_FILE',$classname)); - } - } - } - - function onApply($id,$name,$oldname,$title,$isNew) - { - $this->onSave($id,$name,$oldname,$title,$isNew); - } +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + } + + /** + * A JParameter object holding the parameters for the plugin + * + * @var A JParameter object + * @access public + * @since 1.5 + */ + function onCopy($cid) + { + if( !$this->canDo->get('core.create') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_COPY' ), 'error' ); + return false; + } + + $db = JFactory::getDBO(); + $sql = $db->getQuery( true ); + $sql->select( 'id,name,title' ) + ->from( '#__jcktoolbars' ) + ->where( 'id IN ('. implode($cid) .')' ); + $toolbars = $db->setQuery( $sql )->loadObjectList(); + + $this->_createEditorToolbarOption($toolbars); + } + + + function onSave($id,$name,$oldname,$title,$isNew) + { + $toolbar = new stdclass; + $toolbar->id = $id; + $toolbar->oldname = $oldname; + $toolbar->name = $name; + $toolbar->title = $title; + + $folder = CKEDITOR_LIBRARY.DS.'toolbar'; + $newfile = $folder.DS.$name.'.php'; + + if(!$isNew || JFile::exists($newfile)) // Also check to see if toolbar file already exists. If so then it is just a simple update + { + $this->_createEditorToolbar($id,$name,$oldname); + $this->_updateEditorToolbarOption(array($toolbar)); + } + else + { + $this->_createEditorToolbarOption(array($toolbar)); + } + } + + function onRemove($names) + { + if( !$this->canDo->get('core.delete') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_DELETE' ), 'error' ); + return false; + } + + //delete toolbar files + $paths = array_map(create_function('$name','return CKEDITOR_LIBRARY.DS."toolbar".DS.$name.".php";'),$names); + //JFile::delete($paths); + //update Editor Manifest + $this->_deleteEditorToolbarOption($names); + } + + + + function _createEditorToolbarOption($toolbars) + { + // get editor installfile + $JCKManifestFile = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' .DS . 'jckeditor.xml'; + + $jckeditorXML = JCKHelper::getXMLParser('Simple'); + if(!$jckeditorXML->loadFile($JCKManifestFile)) + { + JCKHelper::error( 'Editor Install: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST')); + return; + } + + $JCKManifest = $jckeditorXML->document; + + $paramsElement = $JCKManifest->config[0]->fields[0]->fieldset[0]; + + foreach($toolbars as $toolbar) + { + $this->_createEditorToolbar($toolbar->id,$toolbar->name,$toolbar->name); //Write to toolbar file + foreach ($paramsElement->children() as $param) + { + + if($param->attributes('name') == 'toolbar') + { + $child = $param->AddChild('option',array('value' => $toolbar->name)); + $child->setData($toolbar->title); + } + if($param->attributes('name') == 'toolbar_ft') + { + $child = $param->AddChild('option',array('value' => $toolbar->name)); + $child->setData($toolbar->title); + break; + } + } + } + + $JCKOutputXMl = $JCKManifest->toString(); + + if(!JFile::write($JCKManifestFile,$JCKOutputXMl)) //Write to editor manifest file + { + JCKHelper::error( 'Toolbar Copy: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST')); + } + } + + function _deleteEditorToolbarOption($names) + { + // get editor installfile + $JCKManifestFile = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' . DS . 'jckeditor.xml'; + + $jckeditorXML = JCKHelper::getXMLParser('Simple'); + if(!$jckeditorXML->loadFile($JCKManifestFile)) + { + JCKHelper::error( 'Editor Install: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST')); + return; + } + + $JCKManifest = $jckeditorXML->document; + + $paramsElement = $JCKManifest->config[0]->fields[0]->fieldset[0]; + + foreach($names as $name) + { + foreach ($paramsElement->children() as $param) + { + if($param->attributes('name') == 'toolbar') + { + foreach($param->children() as $child) + { + if($child->attributes('value') == $name) + { + $param->removeChild($child); + break; + } + } + } + if($param->attributes('name') == 'toolbar_ft') + { + foreach($param->children() as $child) + { + if($child->attributes('value') == $name) + { + $param->removeChild($child); + break; + } + } + break; + } + } + } + + $JCKOutputXMl = $JCKManifest->toString(); + + if(!JFile::write($JCKManifestFile,$JCKOutputXMl)) //Write to editor manifest file + { + JCKHelper::error( 'Toolbar Delete: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST')); + } + } + + function _updateEditorToolbarOption($toolbars) + { + // get editor installfile + $JCKManifestFile = JPATH_PLUGINS . DS . 'editors' . DS . 'jckeditor' . DS . 'jckeditor.xml'; + + $jckeditorXML = JCKHelper::getXMLParser('Simple'); + if(!$jckeditorXML->loadFile($JCKManifestFile)) + { + JCKHelper::error( 'Editor Install: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_LOAD_JCK_MANIFEST')); + return; + } + + $JCKManifest = $jckeditorXML->document; + + $paramsElement = $JCKManifest->config[0]->fields[0]->fieldset[0]; + + foreach($toolbars as $toolbar) + { + foreach ($paramsElement->children() as $param) + { + if($param->attributes('name') == 'toolbar') + { + foreach($param->children() as $child) + { + if($child->attributes('value') == $toolbar->oldname) + { + $child->removeAttribute('value'); + $child->addAttribute('value',$toolbar->name); + $child->setData($toolbar->title); + break; + } + } + } + if($param->attributes('name') == 'toolbar_ft') + { + foreach($param->children() as $child) + { + if($child->attributes('value') == $toolbar->oldname) + { + $child->removeAttribute('value'); + $child->addAttribute('value',$toolbar->name); + $child->setData($toolbar->title); + break; + } + } + break; + } + } + } + + $JCKOutputXMl = $JCKManifest->toString(); + + if(!JFile::write($JCKManifestFile,$JCKOutputXMl)) //Write to editor manifest file + { + JCKHelper::error( 'Toolbar Update: '.JText::_('COM_JCK_LAYOUT_MANAGER_NOT_WRITE_JCK_MANIFEST')); + } + } + + function _createEditorToolbar($id,$name,$oldname) + { + require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); + + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + + $newfilename = $CKfolder.DS.$name.'.php'; + $oldfilename = $CKfolder.DS.$oldname.'.php'; + + $classname = 'JCK'. ucfirst($name); + $toolbar = new stdclass; + + + + $toolbarConfig = new JRegistry('toolbar'); + + $db = JFactory::getDBO(); + + $query = 'SELECT tp.pluginid AS id,p.title,tp.row' + . ' FROM #__jcktoolbarplugins tp' + . ' LEFT JOIN #__jckplugins p ON p.id = tp.pluginid' + . ' WHERE tp.state = 1' + . ' AND tp.toolbarid = '.$id + . ' ORDER BY tp.row ASC,tp.ordering ASC'; + $db->setQuery( $query ); + $toolbarplugins = $db->loadObjectList(); + + if($toolbarplugins) + { + foreach($toolbarplugins as $plugin) + { + if($plugin->id < 0) // we have a break + { + $property = 'brk_' .($plugin->id*-1); + $toolbar->$property = $plugin->row; + } + else + { + $property = $plugin->title; + $toolbar->$property = $plugin->row; + } + } + } + + $toolbarConfig->loadObject($toolbar); + + // Get the config registry in PHP class format and write it to file + $buffer = $toolbarConfig->toString('PHP', array('class' => $classname . ' extends JCKToolbar')); + + if (!JFile::write($oldfilename,$buffer)) { + JCKHelper::error( JText::sprintf('COM_JCKMAN_LAYOUT_MANAGER_FAILED_WRITE_FILE',$classname)); + } + + if($newfilename != $oldfilename) + { + if( !JFile::move($oldfilename, $newfilename) ){ + JCKHelper::error(JText::sprintf('COM_JCKMAN_LAYOUT_MANAGER_FAILED_WRITE_FILE',$classname)); + } + } + } + + function onApply($id,$name,$oldname,$title,$isNew) + { + $this->onSave($id,$name,$oldname,$title,$isNew); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/help/en-GB/editplugin.html b/deployed/jckman/administrator/components/com_jckman/help/en-GB/editplugin.html index e5cc33ef..3a6cce8d 100644 --- a/deployed/jckman/administrator/components/com_jckman/help/en-GB/editplugin.html +++ b/deployed/jckman/administrator/components/com_jckman/help/en-GB/editplugin.html @@ -1,3 +1,3 @@ -
                          - +
                          +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/help/en-GB/list.html b/deployed/jckman/administrator/components/com_jckman/help/en-GB/list.html index 80f5c56c..1bf1645c 100644 --- a/deployed/jckman/administrator/components/com_jckman/help/en-GB/list.html +++ b/deployed/jckman/administrator/components/com_jckman/help/en-GB/list.html @@ -1,6 +1,6 @@ -
                          -The Plugin Manager controls what buttons are displayed in the editor's interface. It allows plugins to be published, unpublished, and assigned to specific tool-bars with the ability to setup user permissions. -
                          -
                          -In addition to these great features the Plugin Manager will also allow you to define three default parameters for the dialog popup screens: Height, Title and Width. And if this was not enough you can add further customizable options for your JCK plugins as parameters are just like any standard Joomla extensions! +
                          +The Plugin Manager controls what buttons are displayed in the editor's interface. It allows plugins to be published, unpublished, and assigned to specific tool-bars with the ability to setup user permissions. +
                          +
                          +In addition to these great features the Plugin Manager will also allow you to define three default parameters for the dialog popup screens: Height, Title and Width. And if this was not enough you can add further customizable options for your JCK plugins as parameters are just like any standard Joomla extensions!
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/help/en-GB/toolbars.html b/deployed/jckman/administrator/components/com_jckman/help/en-GB/toolbars.html index 024e8843..f62dac37 100644 --- a/deployed/jckman/administrator/components/com_jckman/help/en-GB/toolbars.html +++ b/deployed/jckman/administrator/components/com_jckman/help/en-GB/toolbars.html @@ -1,3 +1,3 @@ -
                          -It allows complete control over the editor's layout. You can create your own bespoke toolbars, position plugins, create new toolbars, publish and unpublish toolbars! It's surprisingly easy do thanks to its simple drag-and-drop interface. +
                          +It allows complete control over the editor's layout. You can create your own bespoke toolbars, position plugins, create new toolbars, publish and unpublish toolbars! It's surprisingly easy do thanks to its simple drag-and-drop interface.
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/helper.php b/deployed/jckman/administrator/components/com_jckman/helper.php index 151d3c27..af7fcde4 100644 --- a/deployed/jckman/administrator/components/com_jckman/helper.php +++ b/deployed/jckman/administrator/components/com_jckman/helper.php @@ -1,885 +1,885 @@ -msg ); - * - * $message = (string) The message to throw - * $type = (string) The type of error - * $location = (string) How to throw the error. Currently - 'database', 'echo', 'formattedtext', 'messagequeue', 'syslog', 'w3c' - */ - public static function error( $message = false, $type = 'error', $location = 'messagequeue' ) - { - if( !$message || in_array( $message, self::$errors ) ) return false; - - // Prevent throwing the same error multiple times - self::$errors[] = $message; - - switch( $type ) - { - default : - case 'warning' : // Can't throw warning thanks to Joomla - case 'error' : - $level = JLog::ERROR; - break; - case 'notice' : - $level = JLog::NOTICE; - break; - case 'message' : - case 'info' : - $level = JLog::INFO; - break; - }//end switch - - // Generate unique ID to avoid Joomla bug of throwing Joomla depreciated messages as well - $id = time() . chr( 95 ) . base_convert( mt_rand( 0x19A100, 0x39AA3FF ), 10, 36 ); - - //JLog::addLogger( array( 'logger' => $location, 'com_jckman' => $id ), $level ); - JLog::add( $message, $level ); - - return true; - }//end function - - public static function addSubmenu( $vName = false ) - { - $canDo = JCKHelper::getActions(); - $subMenus = array( - 'COM_JCKMAN_SUBMENU_CPANEL_NAME' => array( 'extension' => 'cpanel', 'permission' => '', 'hideinmob' => false, 'hideinipad' => false ), - 'COM_JCKMAN_SUBMENU_PLUGIN_NAME' => array( 'extension' => 'list', 'permission' => '', 'hideinmob' => false, 'hideinipad' => false ), - 'COM_JCKMAN_SUBMENU_INSTALL_NAME' => array( 'extension' => 'install', 'permission' => 'jckman.install', 'hideinmob' => false, 'hideinipad' => false ), - 'COM_JCKMAN_SUBMENU_UNINSTALL_NAME' => array( 'extension' => 'extension', 'permission' => 'jckman.uninstall', 'hideinmob' => false, 'hideinipad' => false ), - 'COM_JCKMAN_SUBMENU_SYSTEMCHECK_NAME' => array( 'extension' => 'cpanel&taskbtn=system', 'permission' => 'core.edit', 'hideinmob' => true, 'hideinipad' => true ), - 'COM_JCKMAN_SUBMENU_LAYOUT_NAME' => array( 'extension' => 'toolbars', 'permission' => '', 'hideinmob' => true, 'hideinipad' => true ), - 'COM_JCKMAN_SUBMENU_IMPORT_NAME' => array( 'extension' => 'import', 'permission' => 'core.edit', 'hideinmob' => true, 'hideinipad' => true ), - 'COM_JCKMAN_SUBMENU_BACKUP_NAME' => array( 'extension' => 'cpanel&taskbtn=export', 'permission' => '', 'hideinmob' => true, 'hideinipad' => true ), - 'COM_JCKMAN_SUBMENU_SYNC_NAME' => array( 'extension' => 'cpanel&taskbtn=sync', 'permission' => 'jckman.sync', 'hideinmob' => false, 'hideinipad' => false ), - 'COM_JCKMAN_SUBMENU_JCKEDITOR_NAME' => array( 'extension' => 'cpanel&taskbtn=editor', 'permission' => '', 'hideinmob' => false, 'hideinipad' => false ) - ); - - foreach( $subMenus as $name => $params ) - { - // hide in iPad - if( !$params['hideinipad'] || ( $params['hideinipad'] && !self::isiPad() ) ) - { - // hide in mobile - if( !$params['hideinmob'] || ( $params['hideinmob'] && !self::isMobile() ) ) - { - // perform any permissions - if( !$params['permission'] || $canDo->get($params['permission']) ) - { - JHtmlSidebar::addEntry(JText::_( $name ), 'index.php?option=com_jckman&view='.$params['extension'], ($params['extension'] == $vName)); - } - } - } - } - }//end function - - public static function isiPad() - { - $browser = JBrowser::getInstance(); - - return ( stripos( $browser->getAgentString(), 'iPad' ) === false ) ? false : true; - }//end function - - public static function isMobile() - { - $browser = JBrowser::getInstance(); - $isMob = false; - $isMob = ( $browser->isMobile() ) ? true : $isMob; - $isMob = ( stripos( $browser->getAgentString(), 'iPhone' ) === false ) ? $isMob : true; - //$isMob = ( stripos( $browser->getAgentString(), 'YOUR_PHONE_HERE' ) === false ) ? $isMob : true; - - return $isMob; - }//end function - - public static function fixBug() - { - // FIX JOOMLA BUG! - NONE OF THEIR DISABLED LEFT HAND MENU's HAVE CLOSING TAGS SO STOP OUR PAGE DISTORTING HERE - // TODO: TELL JOOMLA & REMOVE BELOW LINE - echo ''; - }//end function - - static function & getTable( $name, $prefix = 'JCKTable', $config = array()) - { - - $path = JPATH_COMPONENT.DS.'tables'; - JTable::addIncludePath($path); - - // Clean the name - $prefix = preg_replace( '/[^A-Z0-9_]/i', '', $prefix ); - - //Make sure we are returning a DBO object - if (!array_key_exists('dbo', $config)) { - $config['dbo'] = JFactory::getDBO(); - } - - $instance =@ JTable::getInstance($name, $prefix, $config ); - return $instance; - } - - static function & geTtoolbarParams($editor,$args = array()) - { - - if( count($args) > 1) - { - $row = $args[1]; - } - - - if(is_a($args[0] ,'JParameter')) - { - $params = $args[0]; - } - else - { if( $row) - { - $params = new JParameter($row->params); - } - else - { - $row = & JCKHelper::getTable('toolbar'); - // load the row from the db table - $row->load( $args[0]); - //get toolbar parameter - $params = new JParameter($row->params); - } - } - - $editor_params = new JParameter($editor->params); - $toolbar = $params->get('toolbar',$row->name); - $skins = $params->get('skin', $editor_params->def( 'skin','office2003')); - $width = $params->get('wwidth', $editor_params->def( 'wwidth','100%')); - - - $editor_params->set( 'toolbar',$toolbar); - $editor_params->set( 'skin', $skins ); - $editor_params->set( 'wwidth', $width); - $editor_params->Set( 'hheight',300); - return $editor_params; - } - - - - static function & getEditorPluginConfig($namspace = 'config') - { - static $config; - - if(!isset($config)) - { - $path = CKEDITOR_LIBRARY; - - require_once($path.DS.'plugins.php'); - require_once($path.DS.'plugins'.DS.'toolbarplugins.php'); - - $config = new JRegistry(); - - $pluginConfig = new JCKToolbarPlugins(); - - $config->loadObject($pluginConfig); - $data = $config->toObject(); - $properties = get_object_vars($data); - - foreach($properties as $key=>$value) - { - if(strpos('p'.$key,'_')) - unset($data->$key); - } - - //Forcibly remove the save plugin due to it causing the icon - //to disappear in editor version 6.0.4+ - unset( $data->save ); - - return $config; - } - - return $config; - } - - static function & getEditorToolbars() - { - $path = CKEDITOR_LIBRARY.DS.'toolbar'; - - $files = JFolder::files($path); - - $toolbars = array(); - - foreach($files as $file) - { - if(strpos($file,"index") === false && strpos(strrev($file), 'php.') === 0) - { - $toolbars[] = preg_replace('/\.php$/','',$file); - } - } - return $toolbars; - } - - static function getNextAvailablePluginRowId() - { - $db = JFactory::getDBO(); - - $db->setQuery('SELECT `row` AS id,count(`row`) AS total FROM `#__jckplugins`'. - ' GROUP BY row'. - ' HAVING `row` > 2 ORDER BY `row` DESC LIMIT 1'); - $row = $db->loadObject(); - - if(!$row && is_null($row)) - { - $row = new stdclass; - $row->id = 4; - $row->order = 1; - } - - $id = $row->id; - if($row->total = 26) - $id++; - - return $id; - } - - static function getNextLayoutRow($toolbarid) - { - $db = JFactory::getDBO(); - - $db->setQuery('SELECT `row` AS rowid,MAX(`ordering`) +1 AS rowordering FROM `#__jcktoolbarplugins`' - .' WHERE `toolbarid`='.(int) $toolbarid - .' GROUP BY `row`' - .' ORDER BY `row` DESC LIMIT 1'); - $row = $db->loadObject(); - - if(!$row && is_null($row)) - { - $row = new stdclass; - $row->rowid = 4; - $row->rowordering = 1; - } - - return $row; - } - - /** - * List of plugins to be hidden in list & edit views - */ - public static function getHiddenPlugins( $asString = false ) - { - $hide = array( 'about', 'save', 'flash' ); - - return ( $asString ) ? '"' . implode( '","', $hide ) . '"' : $hide; - }//end function - - /** - * Gets a list of the actions that can be performed. - * - * @return JObject - */ - public static function getActions() - { - $user = JFactory::getUser(); - $result = new JObject; - - $actions = JAccess::getActions('com_jckman'); - - foreach ($actions as $action) - { - $result->set($action->name, $user->authorise($action->name, 'com_jckman')); - } - - return $result; - }//end function - - /** - * Get a list of filter options for the state of a module. - * - * @return array An array of JHtmlOption elements. - */ - public static function getStateOptions() - { - // Build the filter options. - $options = array(); - $options[] = JHtml::_('select.option', '1', JText::_('JPUBLISHED')); - $options[] = JHtml::_('select.option', '0', JText::_('JUNPUBLISHED')); - //$options[] = JHtml::_('select.option', '-2', JText::_('JTRASHED')); - return $options; - } - - /** - * Get an XML document - * - * @param string $type The type of XML parser needed 'DOM', 'RSS' or 'Simple' - * @param array $options ['rssUrl'] the rss url to parse when using "RSS", ['cache_time'] with ' - * RSS' - feed cache time. If not defined defaults to 3600 sec - * - * @return object Parsed XML document object - * - * @deprecated 12.1 Use JXMLElement instead. - * @see JXMLElement - */ - public static function getXMLParser($type = '', $options = array()) - { - $doc = null; - - switch (strtolower($type)) - { - case 'simple': - require_once( dirname( __FILE__ ) . DS . 'helpers' . DS . 'simplexml.php' ); - $doc = new JSimpleXML; - break; - - case 'dom': - JCKHelper::error( JText::_('JLIB_UTIL_ERROR_DOMIT') ); - $doc = null; - break; - - default: - $doc = null; - } - - return $doc; - } - - /** - * Reads a XML file. - * - * @param string $data Full path and file name. - * @param boolean $isFile true to load a file or false to load a string. - * - * @return mixed JXMLElement on success or false on error. - * - * @see JXMLElement - * @since 11.1 - * @todo This may go in a separate class - error reporting may be improved. - */ - public static function getXML($data, $isFile = true) - { - require_once( dirname( __FILE__ ) . DS . 'helpers' . DS . 'xmlelement.php' ); - - // Disable libxml errors and allow to fetch error information as needed - libxml_use_internal_errors(true); - - if ($isFile) - { - // Try to load the XML file - $xml = simplexml_load_file($data, 'JXMLElement'); - } - else - { - // Try to load the XML string - $xml = simplexml_load_string($data, 'JXMLElement'); - } - - if (empty($xml)) - { - // There was an error - JCKHelper::error( JText::_('JLIB_UTIL_ERROR_XML_LOAD') ); - - if ($isFile) - { - JCKHelper::error( $data ); - } - - foreach (libxml_get_errors() as $error) - { - JCKHelper::error( 'XML: ' . $error->message ); - } - } - - return $xml; - } - - /** - * Parse a XML install manifest file. - * - * XML Root tag should be 'install' except for languages which use meta file. - * - * @param string $path Full path to XML file. - * - * @return array XML metadata. - * - * @since 12.1 - */ - public static function parseXMLInstallFile($path) - { - // Read the file to see if it's a valid component XML file - $xml = simplexml_load_file($path); - if (!$xml) - { - return false; - } - - // Check for a valid XML root tag. - - // Extensions use 'extension' as the root tag. Languages use 'metafile' instead - - if ($xml->getName() != 'extension' && $xml->getName() != 'install' && $xml->getName() != 'metafile') - { - unset($xml); - return false; - } - - $data = array(); - - $data['name'] = (string) $xml->name; - - // Check if we're a language. If so use metafile. - $data['type'] = $xml->getName() == 'metafile' ? 'language' : (string) $xml->attributes()->type; - - $data['plugin'] = ($xml->attributes->plugin ? (string) $xml->attributes()->plugin : ''); - - $data['creationDate'] = ( $xml->creationDate ? (string) $xml->creationDate : JText::_('Unknown')); - $data['author'] = ( $xml->author ? (string) $xml->author : JText::_('Unknown')); - - $data['copyright'] = (string) $xml->copyright; - $data['authorEmail'] = (string) $xml->authorEmail; - $data['authorUrl'] = (string) $xml->authorUrl; - $data['version'] = (string) $xml->version; - $data['description'] = (string) $xml->description; - $data['group'] = (string) $xml->group; - - return $data; - } - - public static function getLanguage() - { - if (!self::$language) - { - self::$language = JCKLanguage::getInstance('en-GB'); - $lang = Jfactory::getLanguage(); - self::$language->merge($lang); - } - return self::$language; - } -}//end class - -jimport('joomla.application.component.helper'); - -abstract class JCKModuleHelper extends JModuleHelper -{ - public static function &getModules($position) - { - $app = JFactory::getApplication(); - $position = strtolower($position); - $result = array(); - - $modules = self::_load(); - - $total = count($modules); - for ($i = 0; $i < $total; $i++) - { - if ($modules[$i]->position == $position) { - $result[] = &$modules[$i]; - } - } - if (count($result) == 0) - { - if (JRequest::getBool('tp') && JComponentHelper::getParams('com_templates')->get('template_positions_display')) - { - $result[0] = self::getModule('mod_'.$position); - $result[0]->title = $position; - $result[0]->content = $position; - $result[0]->position = $position; - } - } - - return $result; - } - - /* Load published modules - * - * @return array - */ - protected static function &_load() - { - static $clean; - - if (isset($clean)) { - return $clean; - } - - $Itemid = JRequest::getInt('Itemid'); - $app = JFactory::getApplication(); - $user = JFactory::getUser(); - $groups = implode(',', $user->getAuthorisedViewLevels()); - $lang = JFactory::getLanguage()->getTag(); - $clientId = (int) $app->getClientId(); - - $cache = JFactory::getCache ('com_modules', ''); - $cacheid = md5(serialize(array('com_jckman', $groups, $clientId, $lang))); - - - if (!($clean = $cache->get($cacheid))) { - $db = JFactory::getDbo(); - - $query = $db->getQuery(true); //new JDatabaseQuery; - $query->select('id, title, module, position, content, showtitle, params, mm.menuid'); - $query->from('#__modules AS m'); - $query->join('LEFT','#__modules_menu AS mm ON mm.moduleid = m.id'); - $query->where('m.published = 1'); - - $date = JFactory::getDate(); - $now = $date->toSQL(); - $nullDate = $db->getNullDate(); - $query->where('(m.publish_up = '.$db->Quote($nullDate).' OR m.publish_up <= '.$db->Quote($now).')'); - $query->where('(m.publish_down = '.$db->Quote($nullDate).' OR m.publish_down >= '.$db->Quote($now).')'); - - $query->where('m.access IN ('.$groups.')'); - $query->where('m.client_id = '. $clientId); - $query->where('(mm.menuid = '. (int) $Itemid .' OR (mm.menuid <= 0 OR mm.menuid IS NULL))'); //fix as this is suppose to be a LEFT JOIN!!! - - // Filter by language - if ($app->isSite() && $app->getLanguageFilter()) { - $query->where('m.language IN (' . $db->Quote($lang) . ',' . $db->Quote('*') . ')'); - } - - $query->order('position, ordering'); - - // Set the query - $db->setQuery($query); - if (!($modules = $db->loadObjectList())) { - JCKHelper::error( JText::sprintf('JLIB_APPLICATION_ERROR_MODULE_LOAD', $db->getErrorMsg()) ); - return false; - } - - // Apply negative selections and eliminate duplicates - $negId = $Itemid ? -(int)$Itemid : false; - $dupes = array(); - $clean = array(); - for ($i = 0, $n = count($modules); $i < $n; $i++) - { - $module = &$modules[$i]; - - // The module is excluded if there is an explicit prohibition, or if - // the Itemid is missing or zero and the module is in exclude mode. - $negHit = ($negId === (int) $module->menuid) - || (!$negId && (int)$module->menuid < 0); - - if (isset($dupes[$module->id])) - { - // If this item has been excluded, keep the duplicate flag set, - // but remove any item from the cleaned array. - if ($negHit) { - unset($clean[$module->id]); - } - continue; - } - $dupes[$module->id] = true; - - // Only accept modules without explicit exclusions. - if (!$negHit) - { - //determine if this is a custom module - $file = $module->module; - $custom = substr($file, 0, 4) == 'mod_' ? 0 : 1; - $module->user = $custom; - // Custom module name is given by the title field, otherwise strip off "com_" - $module->name = $custom ? $module->title : substr($file, 4); - $module->style = null; - $module->position = strtolower($module->position); - $clean[$module->id] = $module; - } - } - unset($dupes); - // Return to simple indexing that matches the query order. - $clean = array_values($clean); - - $cache->store($clean, $cacheid); - } - - return $clean; - } -} - -jimport( 'joomla.form.form' ); -class JCKForm extends JForm -{ - /** - * Method to get an instance of a form. - * - * @param string $name The name of the form. - * @param string $data The name of an XML file or string to load as the form definition. - * @param array $options An array of form options. - * @param string $replace Flag to toggle whether form fields should be replaced if a field - * already exists with the same group/name. - * @param string $xpath An optional xpath to search for the fields. - * - * @return object JForm instance. - * @throws Exception if an error occurs. - * @since 1.6 - */ - public static function getInstance($name, $data = null, $options = array(), $replace = true, $xpath = false) - { - // Reference to array with form instances - $forms = &self::$forms; - - // Only instantiate the form if it does not already exist. - if (!isset($forms[$name])) - { - $data = trim($data); - - if (empty($data)) - { - throw new InvalidArgumentException(sprintf('JForm::getInstance(name, *%s*)', gettype($data))); - } - - // Instantiate the form. - $forms[$name] = new JCKForm($name, $options); - - // Load the data. - if (substr(trim($data), 0, 1) == '<') - { - if ($forms[$name]->load($data, $replace, $xpath) == false) - { - throw new RuntimeException('JForm::getInstance could not load form'); - } - } - else - { - if ($forms[$name]->loadFile($data, $replace, $xpath) == false) - { - throw new RuntimeException('JForm::getInstance could not load file'); - } - } - } - - return $forms[$name]; - } - - /** - * Method to get a form field represented as an XML element object. - * - * @param string $name The name of the form field. - * @param string $group The optional dot-separated form group path on which to find the field. - * - * @return mixed The XML element object for the field or boolean false on error. - * @since 1.6 - */ - protected function findField($name, $group = null) - { - $element = false; - $fields = array(); - - // Make sure there is a valid JForm XML document. - if (!($this->xml instanceof SimpleXMLElement)) - { - return false; - } - - // Let's get the appropriate field element based on the method arguments. - if ($group) - { - - // Get the fields elements for a given group. - $elements = &$this->findGroup($group); - - // Get all of the field elements with the correct name for the fields elements. - foreach ($elements as $element) - { - // If there are matching field elements add them to the fields array. - if ($tmp = $element->xpath('descendant::field[@name="' . $name . '"]')) - { - $fields = array_merge($fields, $tmp); - } - } - - // Make sure something was found. - if (!$fields) - { - return false; - } - - // Use the first correct match in the given group. - $groupNames = explode('.', $group); - foreach ($fields as &$field) - { - // Get the group names as strings for ancestor fields elements. - $attrs = $field->xpath('ancestor::fields[@name]/@name'); - $names = array_map('strval', $attrs ? $attrs : array()); - - // If the field is in the exact group use it and break out of the loop. - if ($names == (array) $groupNames) - { - $element = &$field; - break; - } - } - } - else - { - // Get an array of fields with the correct name. - $fields = $this->xml->xpath('//field[@name="' . $name . '"]'); - - // Make sure something was found. - if (!$fields) - { - return false; - } - - // Search through the fields for the right one. - foreach ($fields as &$field) - { - // -PC- exact copy of JForm findField except their ancestor lookup was blocking the bind for our plugins - // If we find an ancestor fields element with a group name then it isn't what we want. - if ($field->xpath('ancestor::fields[@name="params"]')) - { - $element = &$field; - break; - } - } - } - - return $element; - } - - /** - * Method to get the value of a field. - * - * @param string $name The name of the field for which to get the value. - * @param string $group The optional dot-separated form group path on which to get the value. - * @param mixed $default The optional default value of the field value is empty. - * - * @return mixed The value of the field or the default value if empty. - * @since 1.6 - */ - public function getValue($name, $group = null, $default = null) - { - $return = $this->data->get($name, $default); - return $return; - } -}//end class JCKForm - - -class JCKLanguage extends JLanguage -{ - - public static function getInstance($lang, $debug = false) - { - if (!isset(self::$languages[$lang . $debug])) - { - self::$languages[$lang . $debug] = new static($lang, $debug); - } - - return self::$languages[$lang . $debug]; - } - - public function merge (Jlanguage $language) - { - - $lang = $language->getTag(); - - $this->setLanguage($lang); - $this->setDebug($language->getDebug()); - $this->setDefault($language->getDefault()); - $paths = $language->getPaths(); - $this->paths = array_merge($this->paths,$paths); - foreach($paths as $extension=>$path) - { - $keys = array_keys($path); - $this->loadLanguage($keys[0],$extension); //rebuild strings array - } - - $filename = JPATH_BASE . "/language/overrides/$lang.override.ini"; - - if (file_exists($filename) && $contents = $this->parse($filename)) - { - if (is_array($contents)) - { - // Sort the underlying heap by key values to optimize merging - ksort($contents, SORT_STRING); - $this->override = $contents; - } - unset($contents); - } - - // Look for a language specific localise class - $class = str_replace('-', '_', $lang . 'Localise'); - $paths = array(); - - if (defined('JPATH_ADMINISTRATOR')) - { - // Note: Manual indexing to enforce load order. - $paths[1] = JPATH_ADMINISTRATOR . "/language/overrides/$lang.localise.php"; - $paths[3] = JPATH_ADMINISTRATOR . "/language/$lang/$lang.localise.php"; - } - - ksort($paths); - $path = reset($paths); - - while (!class_exists($class) && $path) - { - if (file_exists($path)) - { - require_once $path; - } - $path = next($paths); - } - - if (class_exists($class)) - { - /* Class exists. Try to find - * -a transliterate method, - * -a getPluralSuffixes method, - * -a getIgnoredSearchWords method - * -a getLowerLimitSearchWord method - * -a getUpperLimitSearchWord method - * -a getSearchDisplayCharactersNumber method - */ - if (method_exists($class, 'transliterate')) - { - $this->transliterator = array($class, 'transliterate'); - } - - if (method_exists($class, 'getPluralSuffixes')) - { - $this->pluralSuffixesCallback = array($class, 'getPluralSuffixes'); - } - - if (method_exists($class, 'getIgnoredSearchWords')) - { - $this->ignoredSearchWordsCallback = array($class, 'getIgnoredSearchWords'); - } - - if (method_exists($class, 'getLowerLimitSearchWord')) - { - $this->lowerLimitSearchWordCallback = array($class, 'getLowerLimitSearchWord'); - } - - if (method_exists($class, 'getUpperLimitSearchWord')) - { - $this->upperLimitSearchWordCallback = array($class, 'getUpperLimitSearchWord'); - } - - if (method_exists($class, 'getSearchDisplayedCharactersNumber')) - { - $this->searchDisplayedCharactersNumberCallback = array($class, 'getSearchDisplayedCharactersNumber'); - } - } - - $this->load(); - } - - public function loadFile($filename, $extension) - { - if(isset($this->paths[$extension][$filename])) - return $this->paths[$extension][$filename]; - - return $this->loadLanguage($filename, $extension); - } - +msg ); + * + * $message = (string) The message to throw + * $type = (string) The type of error + * $location = (string) How to throw the error. Currently - 'database', 'echo', 'formattedtext', 'messagequeue', 'syslog', 'w3c' + */ + public static function error( $message = false, $type = 'error', $location = 'messagequeue' ) + { + if( !$message || in_array( $message, self::$errors ) ) return false; + + // Prevent throwing the same error multiple times + self::$errors[] = $message; + + switch( $type ) + { + default : + case 'warning' : // Can't throw warning thanks to Joomla + case 'error' : + $level = JLog::ERROR; + break; + case 'notice' : + $level = JLog::NOTICE; + break; + case 'message' : + case 'info' : + $level = JLog::INFO; + break; + }//end switch + + // Generate unique ID to avoid Joomla bug of throwing Joomla depreciated messages as well + $id = time() . chr( 95 ) . base_convert( mt_rand( 0x19A100, 0x39AA3FF ), 10, 36 ); + + //JLog::addLogger( array( 'logger' => $location, 'com_jckman' => $id ), $level ); + JLog::add( $message, $level ); + + return true; + }//end function + + public static function addSubmenu( $vName = false ) + { + $canDo = JCKHelper::getActions(); + $subMenus = array( + 'COM_JCKMAN_SUBMENU_CPANEL_NAME' => array( 'extension' => 'cpanel', 'permission' => '', 'hideinmob' => false, 'hideinipad' => false ), + 'COM_JCKMAN_SUBMENU_PLUGIN_NAME' => array( 'extension' => 'list', 'permission' => '', 'hideinmob' => false, 'hideinipad' => false ), + 'COM_JCKMAN_SUBMENU_INSTALL_NAME' => array( 'extension' => 'install', 'permission' => 'jckman.install', 'hideinmob' => false, 'hideinipad' => false ), + 'COM_JCKMAN_SUBMENU_UNINSTALL_NAME' => array( 'extension' => 'extension', 'permission' => 'jckman.uninstall', 'hideinmob' => false, 'hideinipad' => false ), + 'COM_JCKMAN_SUBMENU_SYSTEMCHECK_NAME' => array( 'extension' => 'cpanel&taskbtn=system', 'permission' => 'core.edit', 'hideinmob' => true, 'hideinipad' => true ), + 'COM_JCKMAN_SUBMENU_LAYOUT_NAME' => array( 'extension' => 'toolbars', 'permission' => '', 'hideinmob' => true, 'hideinipad' => true ), + 'COM_JCKMAN_SUBMENU_IMPORT_NAME' => array( 'extension' => 'import', 'permission' => 'core.edit', 'hideinmob' => true, 'hideinipad' => true ), + 'COM_JCKMAN_SUBMENU_BACKUP_NAME' => array( 'extension' => 'cpanel&taskbtn=export', 'permission' => '', 'hideinmob' => true, 'hideinipad' => true ), + 'COM_JCKMAN_SUBMENU_SYNC_NAME' => array( 'extension' => 'cpanel&taskbtn=sync', 'permission' => 'jckman.sync', 'hideinmob' => false, 'hideinipad' => false ), + 'COM_JCKMAN_SUBMENU_JCKEDITOR_NAME' => array( 'extension' => 'cpanel&taskbtn=editor', 'permission' => '', 'hideinmob' => false, 'hideinipad' => false ) + ); + + foreach( $subMenus as $name => $params ) + { + // hide in iPad + if( !$params['hideinipad'] || ( $params['hideinipad'] && !self::isiPad() ) ) + { + // hide in mobile + if( !$params['hideinmob'] || ( $params['hideinmob'] && !self::isMobile() ) ) + { + // perform any permissions + if( !$params['permission'] || $canDo->get($params['permission']) ) + { + JHtmlSidebar::addEntry(JText::_( $name ), 'index.php?option=com_jckman&view='.$params['extension'], ($params['extension'] == $vName)); + } + } + } + } + }//end function + + public static function isiPad() + { + $browser = JBrowser::getInstance(); + + return ( stripos( $browser->getAgentString(), 'iPad' ) === false ) ? false : true; + }//end function + + public static function isMobile() + { + $browser = JBrowser::getInstance(); + $isMob = false; + $isMob = ( $browser->isMobile() ) ? true : $isMob; + $isMob = ( stripos( $browser->getAgentString(), 'iPhone' ) === false ) ? $isMob : true; + //$isMob = ( stripos( $browser->getAgentString(), 'YOUR_PHONE_HERE' ) === false ) ? $isMob : true; + + return $isMob; + }//end function + + public static function fixBug() + { + // FIX JOOMLA BUG! - NONE OF THEIR DISABLED LEFT HAND MENU's HAVE CLOSING TAGS SO STOP OUR PAGE DISTORTING HERE + // TODO: TELL JOOMLA & REMOVE BELOW LINE + echo ''; + }//end function + + static function & getTable( $name, $prefix = 'JCKTable', $config = array()) + { + + $path = JPATH_COMPONENT.DS.'tables'; + JTable::addIncludePath($path); + + // Clean the name + $prefix = preg_replace( '/[^A-Z0-9_]/i', '', $prefix ); + + //Make sure we are returning a DBO object + if (!array_key_exists('dbo', $config)) { + $config['dbo'] = JFactory::getDBO(); + } + + $instance =@ JTable::getInstance($name, $prefix, $config ); + return $instance; + } + + static function & geTtoolbarParams($editor,$args = array()) + { + + if( count($args) > 1) + { + $row = $args[1]; + } + + + if(is_a($args[0] ,'JParameter')) + { + $params = $args[0]; + } + else + { if( $row) + { + $params = new JParameter($row->params); + } + else + { + $row = & JCKHelper::getTable('toolbar'); + // load the row from the db table + $row->load( $args[0]); + //get toolbar parameter + $params = new JParameter($row->params); + } + } + + $editor_params = new JParameter($editor->params); + $toolbar = $params->get('toolbar',$row->name); + $skins = $params->get('skin', $editor_params->def( 'skin','office2003')); + $width = $params->get('wwidth', $editor_params->def( 'wwidth','100%')); + + + $editor_params->set( 'toolbar',$toolbar); + $editor_params->set( 'skin', $skins ); + $editor_params->set( 'wwidth', $width); + $editor_params->Set( 'hheight',300); + return $editor_params; + } + + + + static function & getEditorPluginConfig($namspace = 'config') + { + static $config; + + if(!isset($config)) + { + $path = CKEDITOR_LIBRARY; + + require_once($path.DS.'plugins.php'); + require_once($path.DS.'plugins'.DS.'toolbarplugins.php'); + + $config = new JRegistry(); + + $pluginConfig = new JCKToolbarPlugins(); + + $config->loadObject($pluginConfig); + $data = $config->toObject(); + $properties = get_object_vars($data); + + foreach($properties as $key=>$value) + { + if(strpos('p'.$key,'_')) + unset($data->$key); + } + + //Forcibly remove the save plugin due to it causing the icon + //to disappear in editor version 6.0.4+ + unset( $data->save ); + + return $config; + } + + return $config; + } + + static function & getEditorToolbars() + { + $path = CKEDITOR_LIBRARY.DS.'toolbar'; + + $files = JFolder::files($path); + + $toolbars = array(); + + foreach($files as $file) + { + if(strpos($file,"index") === false && strpos(strrev($file), 'php.') === 0) + { + $toolbars[] = preg_replace('/\.php$/','',$file); + } + } + return $toolbars; + } + + static function getNextAvailablePluginRowId() + { + $db = JFactory::getDBO(); + + $db->setQuery('SELECT `row` AS id,count(`row`) AS total FROM `#__jckplugins`'. + ' GROUP BY row'. + ' HAVING `row` > 2 ORDER BY `row` DESC LIMIT 1'); + $row = $db->loadObject(); + + if(!$row && is_null($row)) + { + $row = new stdclass; + $row->id = 4; + $row->order = 1; + } + + $id = $row->id; + if($row->total = 26) + $id++; + + return $id; + } + + static function getNextLayoutRow($toolbarid) + { + $db = JFactory::getDBO(); + + $db->setQuery('SELECT `row` AS rowid,MAX(`ordering`) +1 AS rowordering FROM `#__jcktoolbarplugins`' + .' WHERE `toolbarid`='.(int) $toolbarid + .' GROUP BY `row`' + .' ORDER BY `row` DESC LIMIT 1'); + $row = $db->loadObject(); + + if(!$row && is_null($row)) + { + $row = new stdclass; + $row->rowid = 4; + $row->rowordering = 1; + } + + return $row; + } + + /** + * List of plugins to be hidden in list & edit views + */ + public static function getHiddenPlugins( $asString = false ) + { + $hide = array( 'about', 'save', 'flash' ); + + return ( $asString ) ? '"' . implode( '","', $hide ) . '"' : $hide; + }//end function + + /** + * Gets a list of the actions that can be performed. + * + * @return JObject + */ + public static function getActions() + { + $user = JFactory::getUser(); + $result = new JObject; + + $actions = JAccess::getActions('com_jckman'); + + foreach ($actions as $action) + { + $result->set($action->name, $user->authorise($action->name, 'com_jckman')); + } + + return $result; + }//end function + + /** + * Get a list of filter options for the state of a module. + * + * @return array An array of JHtmlOption elements. + */ + public static function getStateOptions() + { + // Build the filter options. + $options = array(); + $options[] = JHtml::_('select.option', '1', JText::_('JPUBLISHED')); + $options[] = JHtml::_('select.option', '0', JText::_('JUNPUBLISHED')); + //$options[] = JHtml::_('select.option', '-2', JText::_('JTRASHED')); + return $options; + } + + /** + * Get an XML document + * + * @param string $type The type of XML parser needed 'DOM', 'RSS' or 'Simple' + * @param array $options ['rssUrl'] the rss url to parse when using "RSS", ['cache_time'] with ' + * RSS' - feed cache time. If not defined defaults to 3600 sec + * + * @return object Parsed XML document object + * + * @deprecated 12.1 Use JXMLElement instead. + * @see JXMLElement + */ + public static function getXMLParser($type = '', $options = array()) + { + $doc = null; + + switch (strtolower($type)) + { + case 'simple': + require_once( dirname( __FILE__ ) . DS . 'helpers' . DS . 'simplexml.php' ); + $doc = new JSimpleXML; + break; + + case 'dom': + JCKHelper::error( JText::_('JLIB_UTIL_ERROR_DOMIT') ); + $doc = null; + break; + + default: + $doc = null; + } + + return $doc; + } + + /** + * Reads a XML file. + * + * @param string $data Full path and file name. + * @param boolean $isFile true to load a file or false to load a string. + * + * @return mixed JXMLElement on success or false on error. + * + * @see JXMLElement + * @since 11.1 + * @todo This may go in a separate class - error reporting may be improved. + */ + public static function getXML($data, $isFile = true) + { + require_once( dirname( __FILE__ ) . DS . 'helpers' . DS . 'xmlelement.php' ); + + // Disable libxml errors and allow to fetch error information as needed + libxml_use_internal_errors(true); + + if ($isFile) + { + // Try to load the XML file + $xml = simplexml_load_file($data, 'JXMLElement'); + } + else + { + // Try to load the XML string + $xml = simplexml_load_string($data, 'JXMLElement'); + } + + if (empty($xml)) + { + // There was an error + JCKHelper::error( JText::_('JLIB_UTIL_ERROR_XML_LOAD') ); + + if ($isFile) + { + JCKHelper::error( $data ); + } + + foreach (libxml_get_errors() as $error) + { + JCKHelper::error( 'XML: ' . $error->message ); + } + } + + return $xml; + } + + /** + * Parse a XML install manifest file. + * + * XML Root tag should be 'install' except for languages which use meta file. + * + * @param string $path Full path to XML file. + * + * @return array XML metadata. + * + * @since 12.1 + */ + public static function parseXMLInstallFile($path) + { + // Read the file to see if it's a valid component XML file + $xml = simplexml_load_file($path); + if (!$xml) + { + return false; + } + + // Check for a valid XML root tag. + + // Extensions use 'extension' as the root tag. Languages use 'metafile' instead + + if ($xml->getName() != 'extension' && $xml->getName() != 'install' && $xml->getName() != 'metafile') + { + unset($xml); + return false; + } + + $data = array(); + + $data['name'] = (string) $xml->name; + + // Check if we're a language. If so use metafile. + $data['type'] = $xml->getName() == 'metafile' ? 'language' : (string) $xml->attributes()->type; + + $data['plugin'] = ($xml->attributes->plugin ? (string) $xml->attributes()->plugin : ''); + + $data['creationDate'] = ( $xml->creationDate ? (string) $xml->creationDate : JText::_('Unknown')); + $data['author'] = ( $xml->author ? (string) $xml->author : JText::_('Unknown')); + + $data['copyright'] = (string) $xml->copyright; + $data['authorEmail'] = (string) $xml->authorEmail; + $data['authorUrl'] = (string) $xml->authorUrl; + $data['version'] = (string) $xml->version; + $data['description'] = (string) $xml->description; + $data['group'] = (string) $xml->group; + + return $data; + } + + public static function getLanguage() + { + if (!self::$language) + { + self::$language = JCKLanguage::getInstance('en-GB'); + $lang = Jfactory::getLanguage(); + self::$language->merge($lang); + } + return self::$language; + } +}//end class + +jimport('joomla.application.component.helper'); + +abstract class JCKModuleHelper extends JModuleHelper +{ + public static function &getModules($position) + { + $app = JFactory::getApplication(); + $position = strtolower($position); + $result = array(); + + $modules = self::_load(); + + $total = count($modules); + for ($i = 0; $i < $total; $i++) + { + if ($modules[$i]->position == $position) { + $result[] = &$modules[$i]; + } + } + if (count($result) == 0) + { + if (JRequest::getBool('tp') && JComponentHelper::getParams('com_templates')->get('template_positions_display')) + { + $result[0] = self::getModule('mod_'.$position); + $result[0]->title = $position; + $result[0]->content = $position; + $result[0]->position = $position; + } + } + + return $result; + } + + /* Load published modules + * + * @return array + */ + protected static function &_load() + { + static $clean; + + if (isset($clean)) { + return $clean; + } + + $Itemid = JRequest::getInt('Itemid'); + $app = JFactory::getApplication(); + $user = JFactory::getUser(); + $groups = implode(',', $user->getAuthorisedViewLevels()); + $lang = JFactory::getLanguage()->getTag(); + $clientId = (int) $app->getClientId(); + + $cache = JFactory::getCache ('com_modules', ''); + $cacheid = md5(serialize(array('com_jckman', $groups, $clientId, $lang))); + + + if (!($clean = $cache->get($cacheid))) { + $db = JFactory::getDbo(); + + $query = $db->getQuery(true); //new JDatabaseQuery; + $query->select('id, title, module, position, content, showtitle, params, mm.menuid'); + $query->from('#__modules AS m'); + $query->join('LEFT','#__modules_menu AS mm ON mm.moduleid = m.id'); + $query->where('m.published = 1'); + + $date = JFactory::getDate(); + $now = $date->toSQL(); + $nullDate = $db->getNullDate(); + $query->where('(m.publish_up = '.$db->Quote($nullDate).' OR m.publish_up <= '.$db->Quote($now).')'); + $query->where('(m.publish_down = '.$db->Quote($nullDate).' OR m.publish_down >= '.$db->Quote($now).')'); + + $query->where('m.access IN ('.$groups.')'); + $query->where('m.client_id = '. $clientId); + $query->where('(mm.menuid = '. (int) $Itemid .' OR (mm.menuid <= 0 OR mm.menuid IS NULL))'); //fix as this is suppose to be a LEFT JOIN!!! + + // Filter by language + if ($app->isSite() && $app->getLanguageFilter()) { + $query->where('m.language IN (' . $db->Quote($lang) . ',' . $db->Quote('*') . ')'); + } + + $query->order('position, ordering'); + + // Set the query + $db->setQuery($query); + if (!($modules = $db->loadObjectList())) { + JCKHelper::error( JText::sprintf('JLIB_APPLICATION_ERROR_MODULE_LOAD', $db->getErrorMsg()) ); + return false; + } + + // Apply negative selections and eliminate duplicates + $negId = $Itemid ? -(int)$Itemid : false; + $dupes = array(); + $clean = array(); + for ($i = 0, $n = count($modules); $i < $n; $i++) + { + $module = &$modules[$i]; + + // The module is excluded if there is an explicit prohibition, or if + // the Itemid is missing or zero and the module is in exclude mode. + $negHit = ($negId === (int) $module->menuid) + || (!$negId && (int)$module->menuid < 0); + + if (isset($dupes[$module->id])) + { + // If this item has been excluded, keep the duplicate flag set, + // but remove any item from the cleaned array. + if ($negHit) { + unset($clean[$module->id]); + } + continue; + } + $dupes[$module->id] = true; + + // Only accept modules without explicit exclusions. + if (!$negHit) + { + //determine if this is a custom module + $file = $module->module; + $custom = substr($file, 0, 4) == 'mod_' ? 0 : 1; + $module->user = $custom; + // Custom module name is given by the title field, otherwise strip off "com_" + $module->name = $custom ? $module->title : substr($file, 4); + $module->style = null; + $module->position = strtolower($module->position); + $clean[$module->id] = $module; + } + } + unset($dupes); + // Return to simple indexing that matches the query order. + $clean = array_values($clean); + + $cache->store($clean, $cacheid); + } + + return $clean; + } +} + +jimport( 'joomla.form.form' ); +class JCKForm extends JForm +{ + /** + * Method to get an instance of a form. + * + * @param string $name The name of the form. + * @param string $data The name of an XML file or string to load as the form definition. + * @param array $options An array of form options. + * @param string $replace Flag to toggle whether form fields should be replaced if a field + * already exists with the same group/name. + * @param string $xpath An optional xpath to search for the fields. + * + * @return object JForm instance. + * @throws Exception if an error occurs. + * @since 1.6 + */ + public static function getInstance($name, $data = null, $options = array(), $replace = true, $xpath = false) + { + // Reference to array with form instances + $forms = &self::$forms; + + // Only instantiate the form if it does not already exist. + if (!isset($forms[$name])) + { + $data = trim($data); + + if (empty($data)) + { + throw new InvalidArgumentException(sprintf('JForm::getInstance(name, *%s*)', gettype($data))); + } + + // Instantiate the form. + $forms[$name] = new JCKForm($name, $options); + + // Load the data. + if (substr(trim($data), 0, 1) == '<') + { + if ($forms[$name]->load($data, $replace, $xpath) == false) + { + throw new RuntimeException('JForm::getInstance could not load form'); + } + } + else + { + if ($forms[$name]->loadFile($data, $replace, $xpath) == false) + { + throw new RuntimeException('JForm::getInstance could not load file'); + } + } + } + + return $forms[$name]; + } + + /** + * Method to get a form field represented as an XML element object. + * + * @param string $name The name of the form field. + * @param string $group The optional dot-separated form group path on which to find the field. + * + * @return mixed The XML element object for the field or boolean false on error. + * @since 1.6 + */ + protected function findField($name, $group = null) + { + $element = false; + $fields = array(); + + // Make sure there is a valid JForm XML document. + if (!($this->xml instanceof SimpleXMLElement)) + { + return false; + } + + // Let's get the appropriate field element based on the method arguments. + if ($group) + { + + // Get the fields elements for a given group. + $elements = &$this->findGroup($group); + + // Get all of the field elements with the correct name for the fields elements. + foreach ($elements as $element) + { + // If there are matching field elements add them to the fields array. + if ($tmp = $element->xpath('descendant::field[@name="' . $name . '"]')) + { + $fields = array_merge($fields, $tmp); + } + } + + // Make sure something was found. + if (!$fields) + { + return false; + } + + // Use the first correct match in the given group. + $groupNames = explode('.', $group); + foreach ($fields as &$field) + { + // Get the group names as strings for ancestor fields elements. + $attrs = $field->xpath('ancestor::fields[@name]/@name'); + $names = array_map('strval', $attrs ? $attrs : array()); + + // If the field is in the exact group use it and break out of the loop. + if ($names == (array) $groupNames) + { + $element = &$field; + break; + } + } + } + else + { + // Get an array of fields with the correct name. + $fields = $this->xml->xpath('//field[@name="' . $name . '"]'); + + // Make sure something was found. + if (!$fields) + { + return false; + } + + // Search through the fields for the right one. + foreach ($fields as &$field) + { + // -PC- exact copy of JForm findField except their ancestor lookup was blocking the bind for our plugins + // If we find an ancestor fields element with a group name then it isn't what we want. + if ($field->xpath('ancestor::fields[@name="params"]')) + { + $element = &$field; + break; + } + } + } + + return $element; + } + + /** + * Method to get the value of a field. + * + * @param string $name The name of the field for which to get the value. + * @param string $group The optional dot-separated form group path on which to get the value. + * @param mixed $default The optional default value of the field value is empty. + * + * @return mixed The value of the field or the default value if empty. + * @since 1.6 + */ + public function getValue($name, $group = null, $default = null) + { + $return = $this->data->get($name, $default); + return $return; + } +}//end class JCKForm + + +class JCKLanguage extends JLanguage +{ + + public static function getInstance($lang, $debug = false) + { + if (!isset(self::$languages[$lang . $debug])) + { + self::$languages[$lang . $debug] = new static($lang, $debug); + } + + return self::$languages[$lang . $debug]; + } + + public function merge (Jlanguage $language) + { + + $lang = $language->getTag(); + + $this->setLanguage($lang); + $this->setDebug($language->getDebug()); + $this->setDefault($language->getDefault()); + $paths = $language->getPaths(); + $this->paths = array_merge($this->paths,$paths); + foreach($paths as $extension=>$path) + { + $keys = array_keys($path); + $this->loadLanguage($keys[0],$extension); //rebuild strings array + } + + $filename = JPATH_BASE . "/language/overrides/$lang.override.ini"; + + if (file_exists($filename) && $contents = $this->parse($filename)) + { + if (is_array($contents)) + { + // Sort the underlying heap by key values to optimize merging + ksort($contents, SORT_STRING); + $this->override = $contents; + } + unset($contents); + } + + // Look for a language specific localise class + $class = str_replace('-', '_', $lang . 'Localise'); + $paths = array(); + + if (defined('JPATH_ADMINISTRATOR')) + { + // Note: Manual indexing to enforce load order. + $paths[1] = JPATH_ADMINISTRATOR . "/language/overrides/$lang.localise.php"; + $paths[3] = JPATH_ADMINISTRATOR . "/language/$lang/$lang.localise.php"; + } + + ksort($paths); + $path = reset($paths); + + while (!class_exists($class) && $path) + { + if (file_exists($path)) + { + require_once $path; + } + $path = next($paths); + } + + if (class_exists($class)) + { + /* Class exists. Try to find + * -a transliterate method, + * -a getPluralSuffixes method, + * -a getIgnoredSearchWords method + * -a getLowerLimitSearchWord method + * -a getUpperLimitSearchWord method + * -a getSearchDisplayCharactersNumber method + */ + if (method_exists($class, 'transliterate')) + { + $this->transliterator = array($class, 'transliterate'); + } + + if (method_exists($class, 'getPluralSuffixes')) + { + $this->pluralSuffixesCallback = array($class, 'getPluralSuffixes'); + } + + if (method_exists($class, 'getIgnoredSearchWords')) + { + $this->ignoredSearchWordsCallback = array($class, 'getIgnoredSearchWords'); + } + + if (method_exists($class, 'getLowerLimitSearchWord')) + { + $this->lowerLimitSearchWordCallback = array($class, 'getLowerLimitSearchWord'); + } + + if (method_exists($class, 'getUpperLimitSearchWord')) + { + $this->upperLimitSearchWordCallback = array($class, 'getUpperLimitSearchWord'); + } + + if (method_exists($class, 'getSearchDisplayedCharactersNumber')) + { + $this->searchDisplayedCharactersNumberCallback = array($class, 'getSearchDisplayedCharactersNumber'); + } + } + + $this->load(); + } + + public function loadFile($filename, $extension) + { + if(isset($this->paths[$extension][$filename])) + return $this->paths[$extension][$filename]; + + return $this->loadLanguage($filename, $extension); + } + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/helpers/archive.php b/deployed/jckman/administrator/components/com_jckman/helpers/archive.php index ca3f7f6f..9d058806 100644 --- a/deployed/jckman/administrator/components/com_jckman/helpers/archive.php +++ b/deployed/jckman/administrator/components/com_jckman/helpers/archive.php @@ -1,667 +1,667 @@ -options = array ( - 'basedir' => ".", - 'name' => $name, - 'prepend' => "", - 'inmemory' => 0, - 'overwrite' => 0, - 'recurse' => 1, - 'storepaths' => 1, - 'followlinks' => 0, - 'level' => 3, - 'method' => 1, - 'sfx' => "", - 'type' => "", - 'comment' => "" - ); - $this->files = array (); - $this->exclude = array (); - $this->storeonly = array (); - $this->error = array (); - } - - function set_options($options) - { - foreach ($options as $key => $value) - $this->options[$key] = $value; - if (!empty ($this->options['basedir'])) - { - $this->options['basedir'] = str_replace("\\", "/", $this->options['basedir']); - $this->options['basedir'] = preg_replace("/\/+/", "/", $this->options['basedir']); - $this->options['basedir'] = preg_replace("/\/$/", "", $this->options['basedir']); - } - if (!empty ($this->options['name'])) - { - $this->options['name'] = str_replace("\\", "/", $this->options['name']); - $this->options['name'] = preg_replace("/\/+/", "/", $this->options['name']); - } - if (!empty ($this->options['prepend'])) - { - $this->options['prepend'] = str_replace("\\", "/", $this->options['prepend']); - $this->options['prepend'] = preg_replace("/^(\.*\/+)+/", "", $this->options['prepend']); - $this->options['prepend'] = preg_replace("/\/+/", "/", $this->options['prepend']); - $this->options['prepend'] = preg_replace("/\/$/", "", $this->options['prepend']) . "/"; - } - } - - function create_archive() - { - $this->make_list(); - - if ($this->options['inmemory'] == 0) - { - $pwd = getcwd(); - chdir($this->options['basedir']); - if ($this->options['overwrite'] == 0 && file_exists($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip" ? ".tmp" : ""))) - { - $this->error[] = "File {$this->options['name']} already exists."; - chdir($pwd); - return 0; - } - else if ($this->archive = @fopen($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip" ? ".tmp" : ""), "wb+")) - chdir($pwd); - else - { - $this->error[] = "Could not open {$this->options['name']} for writing."; - chdir($pwd); - return 0; - } - } - else - $this->archive = ""; - - switch ($this->options['type']) - { - case "zip": - if (!$this->create_zip()) - { - $this->error[] = "Could not create zip file."; - return 0; - } - break; - case "bzip": - if (!$this->create_tar()) - { - $this->error[] = "Could not create tar file."; - return 0; - } - if (!$this->create_bzip()) - { - $this->error[] = "Could not create bzip2 file."; - return 0; - } - break; - case "gzip": - if (!$this->create_tar()) - { - $this->error[] = "Could not create tar file."; - return 0; - } - if (!$this->create_gzip()) - { - $this->error[] = "Could not create gzip file."; - return 0; - } - break; - case "tar": - if (!$this->create_tar()) - { - $this->error[] = "Could not create tar file."; - return 0; - } - } - - if ($this->options['inmemory'] == 0) - { - fclose($this->archive); - if ($this->options['type'] == "gzip" || $this->options['type'] == "bzip") - unlink($this->options['basedir'] . "/" . $this->options['name'] . ".tmp"); - } - } - - function add_data($data) - { - if ($this->options['inmemory'] == 0) - fwrite($this->archive, $data); - else - $this->archive .= $data; - } - - function make_list() - { - if (!empty ($this->exclude)) - foreach ($this->files as $key => $value) - foreach ($this->exclude as $current) - if ($value['name'] == $current['name']) - unset ($this->files[$key]); - if (!empty ($this->storeonly)) - foreach ($this->files as $key => $value) - foreach ($this->storeonly as $current) - if ($value['name'] == $current['name']) - $this->files[$key]['method'] = 0; - unset ($this->exclude, $this->storeonly); - } - - function add_files($list) - { - $temp = $this->list_files($list); - foreach ($temp as $current) - $this->files[] = $current; - } - - function exclude_files($list) - { - $temp = $this->list_files($list); - foreach ($temp as $current) - $this->exclude[] = $current; - } - - function store_files($list) - { - $temp = $this->list_files($list); - foreach ($temp as $current) - $this->storeonly[] = $current; - } - - function list_files($list) - { - if (!is_array ($list)) - { - $temp = $list; - $list = array ($temp); - unset ($temp); - } - - $files = array (); - - $pwd = getcwd(); - chdir($this->options['basedir']); - - foreach ($list as $current) - { - $current = str_replace("\\", "/", $current); - $current = preg_replace("/\/+/", "/", $current); - $current = preg_replace("/\/$/", "", $current); - if (strstr($current, "*")) - { - $regex = preg_replace("/([\\\^\$\.\[\]\|\(\)\?\+\{\}\/])/", "\\\\\\1", $current); - $regex = str_replace("*", ".*", $regex); - $dir = strstr($current, "/") ? substr($current, 0, strrpos($current, "/")) : "."; - $temp = $this->parse_dir($dir); - foreach ($temp as $current2) - if (preg_match("/^{$regex}$/i", $current2['name'])) - $files[] = $current2; - unset ($regex, $dir, $temp, $current); - } - else if (@is_dir($current)) - { - $temp = $this->parse_dir($current); - foreach ($temp as $file) - $files[] = $file; - unset ($temp, $file); - } - else if (@file_exists($current)) - $files[] = array ('name' => $current, 'name2' => $this->options['prepend'] . - preg_replace("/(\.+\/+)+/", "", ($this->options['storepaths'] == 0 && strstr($current, "/")) ? - substr($current, strrpos($current, "/") + 1) : $current), - 'type' => @is_link($current) && $this->options['followlinks'] == 0 ? 2 : 0, - 'ext' => substr($current, strrpos($current, ".")), 'stat' => stat($current)); - } - - chdir($pwd); - - unset ($current, $pwd); - - usort($files, array ("archive", "sort_files")); - - return $files; - } - - function parse_dir($dirname) - { - if ($this->options['storepaths'] == 1 && !preg_match("/^(\.+\/*)+$/", $dirname)) - $files = array (array ('name' => $dirname, 'name2' => $this->options['prepend'] . - preg_replace("/(\.+\/+)+/", "", ($this->options['storepaths'] == 0 && strstr($dirname, "/")) ? - substr($dirname, strrpos($dirname, "/") + 1) : $dirname), 'type' => 5, 'stat' => stat($dirname))); - else - $files = array (); - $dir = @opendir($dirname); - - while ($file = @readdir($dir)) - { - $fullname = $dirname . "/" . $file; - if ($file == "." || $file == "..") - continue; - else if (@is_dir($fullname)) - { - if (empty ($this->options['recurse'])) - continue; - $temp = $this->parse_dir($fullname); - foreach ($temp as $file2) - $files[] = $file2; - } - else if (@file_exists($fullname)) - $files[] = array ('name' => $fullname, 'name2' => $this->options['prepend'] . - preg_replace("/(\.+\/+)+/", "", ($this->options['storepaths'] == 0 && strstr($fullname, "/")) ? - substr($fullname, strrpos($fullname, "/") + 1) : $fullname), - 'type' => @is_link($fullname) && $this->options['followlinks'] == 0 ? 2 : 0, - 'ext' => substr($file, strrpos($file, ".")), 'stat' => stat($fullname)); - } - - @closedir($dir); - - return $files; - } - - function sort_files($a, $b) - { - if ($a['type'] != $b['type']) - if ($a['type'] == 5 || $b['type'] == 2) - return -1; - else if ($a['type'] == 2 || $b['type'] == 5) - return 1; - else if ($a['type'] == 5) - return strcmp(strtolower($a['name']), strtolower($b['name'])); - else if ($a['ext'] != $b['ext']) - return strcmp($a['ext'], $b['ext']); - else if ($a['stat'][7] != $b['stat'][7]) - return $a['stat'][7] > $b['stat'][7] ? -1 : 1; - else - return strcmp(strtolower($a['name']), strtolower($b['name'])); - return 0; - } - - function download_file() - { - if ($this->options['inmemory'] == 0) - { - $this->error[] = "Can only use download_file() if archive is in memory. Redirect to file otherwise, it is faster."; - return; - } - switch ($this->options['type']) - { - case "zip": - header("Content-Type: application/zip"); - break; - case "bzip": - header("Content-Type: application/x-bzip2"); - break; - case "gzip": - header("Content-Type: application/x-gzip"); - break; - case "tar": - header("Content-Type: application/x-tar"); - } - $header = "Content-Disposition: attachment; filename=\""; - $header .= strstr($this->options['name'], "/") ? substr($this->options['name'], strrpos($this->options['name'], "/") + 1) : $this->options['name']; - $header .= "\""; - header($header); - header("Content-Length: " . strlen($this->archive)); - header("Content-Transfer-Encoding: binary"); - header("Cache-Control: no-cache, must-revalidate, max-age=60"); - header("Expires: Sat, 01 Jan 2000 12:00:00 GMT"); - print($this->archive); - } -} - -class tar_file extends archive -{ - function tar_file($name) - { - $this->archive($name); - $this->options['type'] = "tar"; - } - - function create_tar() - { - $pwd = getcwd(); - chdir($this->options['basedir']); - - foreach ($this->files as $current) - { - if ($current['name'] == $this->options['name']) - continue; - if (strlen($current['name2']) > 99) - { - $path = substr($current['name2'], 0, strpos($current['name2'], "/", strlen($current['name2']) - 100) + 1); - $current['name2'] = substr($current['name2'], strlen($path)); - if (strlen($path) > 154 || strlen($current['name2']) > 99) - { - $this->error[] = "Could not add {$path}{$current['name2']} to archive because the filename is too long."; - continue; - } - } - $block = pack("a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155a12", $current['name2'], sprintf("%07o", - $current['stat'][2]), sprintf("%07o", $current['stat'][4]), sprintf("%07o", $current['stat'][5]), - sprintf("%011o", $current['type'] == 2 ? 0 : $current['stat'][7]), sprintf("%011o", $current['stat'][9]), - " ", $current['type'], $current['type'] == 2 ? @readlink($current['name']) : "", "ustar ", " ", - "Unknown", "Unknown", "", "", !empty ($path) ? $path : "", ""); - - $checksum = 0; - for ($i = 0; $i < 512; $i++) - $checksum += ord(substr($block, $i, 1)); - $checksum = pack("a8", sprintf("%07o", $checksum)); - $block = substr_replace($block, $checksum, 148, 8); - - if ($current['type'] == 2 || $current['stat'][7] == 0) - $this->add_data($block); - else if ($fp = @fopen($current['name'], "rb")) - { - $this->add_data($block); - while ($temp = fread($fp, 1048576)) - $this->add_data($temp); - if ($current['stat'][7] % 512 > 0) - { - $temp = ""; - for ($i = 0; $i < 512 - $current['stat'][7] % 512; $i++) - $temp .= "\0"; - $this->add_data($temp); - } - fclose($fp); - } - else - $this->error[] = "Could not open file {$current['name']} for reading. It was not added."; - } - - $this->add_data(pack("a1024", "")); - - chdir($pwd); - - return 1; - } - - function extract_files() - { - $pwd = getcwd(); - chdir($this->options['basedir']); - - if ($fp = $this->open_archive()) - { - if ($this->options['inmemory'] == 1) - $this->files = array (); - - while ($block = fread($fp, 512)) - { - $temp = unpack("a100name/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1type/a100symlink/a6magic/a2temp/a32temp/a32temp/a8temp/a8temp/a155prefix/a12temp", $block); - $file = array ( - 'name' => $temp['prefix'] . $temp['name'], - 'stat' => array ( - 2 => $temp['mode'], - 4 => octdec($temp['uid']), - 5 => octdec($temp['gid']), - 7 => octdec($temp['size']), - 9 => octdec($temp['mtime']), - ), - 'checksum' => octdec($temp['checksum']), - 'type' => $temp['type'], - 'magic' => $temp['magic'], - ); - if ($file['checksum'] == 0x00000000) - break; - else if (substr($file['magic'], 0, 5) != "ustar") - { - $this->error[] = "This script does not support extracting this type of tar file."; - break; - } - $block = substr_replace($block, " ", 148, 8); - $checksum = 0; - for ($i = 0; $i < 512; $i++) - $checksum += ord(substr($block, $i, 1)); - if ($file['checksum'] != $checksum) - $this->error[] = "Could not extract from {$this->options['name']}, it is corrupt."; - - if ($this->options['inmemory'] == 1) - { - $file['data'] = fread($fp, $file['stat'][7]); - fread($fp, (512 - $file['stat'][7] % 512) == 512 ? 0 : (512 - $file['stat'][7] % 512)); - unset ($file['checksum'], $file['magic']); - $this->files[] = $file; - } - else if ($file['type'] == 5) - { - if (!is_dir($file['name'])) - mkdir($file['name'], $file['stat'][2]); - } - else if ($this->options['overwrite'] == 0 && file_exists($file['name'])) - { - $this->error[] = "{$file['name']} already exists."; - continue; - } - else if ($file['type'] == 2) - { - symlink($temp['symlink'], $file['name']); - chmod($file['name'], $file['stat'][2]); - } - else if ($new = @fopen($file['name'], "wb")) - { - fwrite($new, fread($fp, $file['stat'][7])); - fread($fp, (512 - $file['stat'][7] % 512) == 512 ? 0 : (512 - $file['stat'][7] % 512)); - fclose($new); - chmod($file['name'], $file['stat'][2]); - } - else - { - $this->error[] = "Could not open {$file['name']} for writing."; - continue; - } - chown($file['name'], $file['stat'][4]); - chgrp($file['name'], $file['stat'][5]); - touch($file['name'], $file['stat'][9]); - unset ($file); - } - } - else - $this->error[] = "Could not open file {$this->options['name']}"; - - chdir($pwd); - } - - function open_archive() - { - return @fopen($this->options['name'], "rb"); - } -} - -class gzip_file extends tar_file -{ - function gzip_file($name) - { - $this->tar_file($name); - $this->options['type'] = "gzip"; - } - - function create_gzip() - { - if ($this->options['inmemory'] == 0) - { - $pwd = getcwd(); - chdir($this->options['basedir']); - if ($fp = gzopen($this->options['name'], "wb{$this->options['level']}")) - { - fseek($this->archive, 0); - while ($temp = fread($this->archive, 1048576)) - gzwrite($fp, $temp); - gzclose($fp); - chdir($pwd); - } - else - { - $this->error[] = "Could not open {$this->options['name']} for writing."; - chdir($pwd); - return 0; - } - } - else - $this->archive = gzencode($this->archive, $this->options['level']); - - return 1; - } - - function open_archive() - { - return @gzopen($this->options['name'], "rb"); - } -} - -class bzip_file extends tar_file -{ - function bzip_file($name) - { - $this->tar_file($name); - $this->options['type'] = "bzip"; - } - - function create_bzip() - { - if ($this->options['inmemory'] == 0) - { - $pwd = getcwd(); - chdir($this->options['basedir']); - if ($fp = bzopen($this->options['name'], "wb")) - { - fseek($this->archive, 0); - while ($temp = fread($this->archive, 1048576)) - bzwrite($fp, $temp); - bzclose($fp); - chdir($pwd); - } - else - { - $this->error[] = "Could not open {$this->options['name']} for writing."; - chdir($pwd); - return 0; - } - } - else - $this->archive = bzcompress($this->archive, $this->options['level']); - - return 1; - } - - function open_archive() - { - return @bzopen($this->options['name'], "rb"); - } -} - -class zip_file extends archive -{ - function zip_file($name) - { - $this->archive($name); - $this->options['type'] = "zip"; - } - - function create_zip() - { - $files = 0; - $offset = 0; - $central = ""; - - if (!empty ($this->options['sfx'])) - if ($fp = @fopen($this->options['sfx'], "rb")) - { - $temp = fread($fp, filesize($this->options['sfx'])); - fclose($fp); - $this->add_data($temp); - $offset += strlen($temp); - unset ($temp); - } - else - $this->error[] = "Could not open sfx module from {$this->options['sfx']}."; - - $pwd = getcwd(); - chdir($this->options['basedir']); - - foreach ($this->files as $current) - { - if ($current['name'] == $this->options['name']) - continue; - - $timedate = explode(" ", date("Y n j G i s", $current['stat'][9])); - $timedate = ($timedate[0] - 1980 << 25) | ($timedate[1] << 21) | ($timedate[2] << 16) | - ($timedate[3] << 11) | ($timedate[4] << 5) | ($timedate[5]); - - $block = pack("VvvvV", 0x04034b50, 0x000A, 0x0000, (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate); - - if ($current['stat'][7] == 0 && $current['type'] == 5) - { - $block .= pack("VVVvv", 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']) + 1, 0x0000); - $block .= $current['name2'] . "/"; - $this->add_data($block); - $central .= pack("VvvvvVVVVvvvvvVV", 0x02014b50, 0x0014, $this->options['method'] == 0 ? 0x0000 : 0x000A, 0x0000, - (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate, - 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']) + 1, 0x0000, 0x0000, 0x0000, 0x0000, $current['type'] == 5 ? 0x00000010 : 0x00000000, $offset); - $central .= $current['name2'] . "/"; - $files++; - $offset += (31 + strlen($current['name2'])); - } - else if ($current['stat'][7] == 0) - { - $block .= pack("VVVvv", 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']), 0x0000); - $block .= $current['name2']; - $this->add_data($block); - $central .= pack("VvvvvVVVVvvvvvVV", 0x02014b50, 0x0014, $this->options['method'] == 0 ? 0x0000 : 0x000A, 0x0000, - (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate, - 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']), 0x0000, 0x0000, 0x0000, 0x0000, $current['type'] == 5 ? 0x00000010 : 0x00000000, $offset); - $central .= $current['name2']; - $files++; - $offset += (30 + strlen($current['name2'])); - } - else if ($fp = @fopen($current['name'], "rb")) - { - $temp = fread($fp, $current['stat'][7]); - fclose($fp); - $crc32 = crc32($temp); - if (!isset($current['method']) && $this->options['method'] == 1) - { - $temp = gzcompress($temp, $this->options['level']); - $size = strlen($temp) - 6; - $temp = substr($temp, 2, $size); - } - else - $size = strlen($temp); - $block .= pack("VVVvv", $crc32, $size, $current['stat'][7], strlen($current['name2']), 0x0000); - $block .= $current['name2']; - $this->add_data($block); - $this->add_data($temp); - unset ($temp); - $central .= pack("VvvvvVVVVvvvvvVV", 0x02014b50, 0x0014, $this->options['method'] == 0 ? 0x0000 : 0x000A, 0x0000, - (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate, - $crc32, $size, $current['stat'][7], strlen($current['name2']), 0x0000, 0x0000, 0x0000, 0x0000, 0x00000000, $offset); - $central .= $current['name2']; - $files++; - $offset += (30 + strlen($current['name2']) + $size); - } - else - $this->error[] = "Could not open file {$current['name']} for reading. It was not added."; - } - - $this->add_data($central); - - $this->add_data(pack("VvvvvVVv", 0x06054b50, 0x0000, 0x0000, $files, $files, strlen($central), $offset, - !empty ($this->options['comment']) ? strlen($this->options['comment']) : 0x0000)); - - if (!empty ($this->options['comment'])) - $this->add_data($this->options['comment']); - - chdir($pwd); - - return 1; - } +options = array ( + 'basedir' => ".", + 'name' => $name, + 'prepend' => "", + 'inmemory' => 0, + 'overwrite' => 0, + 'recurse' => 1, + 'storepaths' => 1, + 'followlinks' => 0, + 'level' => 3, + 'method' => 1, + 'sfx' => "", + 'type' => "", + 'comment' => "" + ); + $this->files = array (); + $this->exclude = array (); + $this->storeonly = array (); + $this->error = array (); + } + + function set_options($options) + { + foreach ($options as $key => $value) + $this->options[$key] = $value; + if (!empty ($this->options['basedir'])) + { + $this->options['basedir'] = str_replace("\\", "/", $this->options['basedir']); + $this->options['basedir'] = preg_replace("/\/+/", "/", $this->options['basedir']); + $this->options['basedir'] = preg_replace("/\/$/", "", $this->options['basedir']); + } + if (!empty ($this->options['name'])) + { + $this->options['name'] = str_replace("\\", "/", $this->options['name']); + $this->options['name'] = preg_replace("/\/+/", "/", $this->options['name']); + } + if (!empty ($this->options['prepend'])) + { + $this->options['prepend'] = str_replace("\\", "/", $this->options['prepend']); + $this->options['prepend'] = preg_replace("/^(\.*\/+)+/", "", $this->options['prepend']); + $this->options['prepend'] = preg_replace("/\/+/", "/", $this->options['prepend']); + $this->options['prepend'] = preg_replace("/\/$/", "", $this->options['prepend']) . "/"; + } + } + + function create_archive() + { + $this->make_list(); + + if ($this->options['inmemory'] == 0) + { + $pwd = getcwd(); + chdir($this->options['basedir']); + if ($this->options['overwrite'] == 0 && file_exists($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip" ? ".tmp" : ""))) + { + $this->error[] = "File {$this->options['name']} already exists."; + chdir($pwd); + return 0; + } + else if ($this->archive = @fopen($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip" ? ".tmp" : ""), "wb+")) + chdir($pwd); + else + { + $this->error[] = "Could not open {$this->options['name']} for writing."; + chdir($pwd); + return 0; + } + } + else + $this->archive = ""; + + switch ($this->options['type']) + { + case "zip": + if (!$this->create_zip()) + { + $this->error[] = "Could not create zip file."; + return 0; + } + break; + case "bzip": + if (!$this->create_tar()) + { + $this->error[] = "Could not create tar file."; + return 0; + } + if (!$this->create_bzip()) + { + $this->error[] = "Could not create bzip2 file."; + return 0; + } + break; + case "gzip": + if (!$this->create_tar()) + { + $this->error[] = "Could not create tar file."; + return 0; + } + if (!$this->create_gzip()) + { + $this->error[] = "Could not create gzip file."; + return 0; + } + break; + case "tar": + if (!$this->create_tar()) + { + $this->error[] = "Could not create tar file."; + return 0; + } + } + + if ($this->options['inmemory'] == 0) + { + fclose($this->archive); + if ($this->options['type'] == "gzip" || $this->options['type'] == "bzip") + unlink($this->options['basedir'] . "/" . $this->options['name'] . ".tmp"); + } + } + + function add_data($data) + { + if ($this->options['inmemory'] == 0) + fwrite($this->archive, $data); + else + $this->archive .= $data; + } + + function make_list() + { + if (!empty ($this->exclude)) + foreach ($this->files as $key => $value) + foreach ($this->exclude as $current) + if ($value['name'] == $current['name']) + unset ($this->files[$key]); + if (!empty ($this->storeonly)) + foreach ($this->files as $key => $value) + foreach ($this->storeonly as $current) + if ($value['name'] == $current['name']) + $this->files[$key]['method'] = 0; + unset ($this->exclude, $this->storeonly); + } + + function add_files($list) + { + $temp = $this->list_files($list); + foreach ($temp as $current) + $this->files[] = $current; + } + + function exclude_files($list) + { + $temp = $this->list_files($list); + foreach ($temp as $current) + $this->exclude[] = $current; + } + + function store_files($list) + { + $temp = $this->list_files($list); + foreach ($temp as $current) + $this->storeonly[] = $current; + } + + function list_files($list) + { + if (!is_array ($list)) + { + $temp = $list; + $list = array ($temp); + unset ($temp); + } + + $files = array (); + + $pwd = getcwd(); + chdir($this->options['basedir']); + + foreach ($list as $current) + { + $current = str_replace("\\", "/", $current); + $current = preg_replace("/\/+/", "/", $current); + $current = preg_replace("/\/$/", "", $current); + if (strstr($current, "*")) + { + $regex = preg_replace("/([\\\^\$\.\[\]\|\(\)\?\+\{\}\/])/", "\\\\\\1", $current); + $regex = str_replace("*", ".*", $regex); + $dir = strstr($current, "/") ? substr($current, 0, strrpos($current, "/")) : "."; + $temp = $this->parse_dir($dir); + foreach ($temp as $current2) + if (preg_match("/^{$regex}$/i", $current2['name'])) + $files[] = $current2; + unset ($regex, $dir, $temp, $current); + } + else if (@is_dir($current)) + { + $temp = $this->parse_dir($current); + foreach ($temp as $file) + $files[] = $file; + unset ($temp, $file); + } + else if (@file_exists($current)) + $files[] = array ('name' => $current, 'name2' => $this->options['prepend'] . + preg_replace("/(\.+\/+)+/", "", ($this->options['storepaths'] == 0 && strstr($current, "/")) ? + substr($current, strrpos($current, "/") + 1) : $current), + 'type' => @is_link($current) && $this->options['followlinks'] == 0 ? 2 : 0, + 'ext' => substr($current, strrpos($current, ".")), 'stat' => stat($current)); + } + + chdir($pwd); + + unset ($current, $pwd); + + usort($files, array ("archive", "sort_files")); + + return $files; + } + + function parse_dir($dirname) + { + if ($this->options['storepaths'] == 1 && !preg_match("/^(\.+\/*)+$/", $dirname)) + $files = array (array ('name' => $dirname, 'name2' => $this->options['prepend'] . + preg_replace("/(\.+\/+)+/", "", ($this->options['storepaths'] == 0 && strstr($dirname, "/")) ? + substr($dirname, strrpos($dirname, "/") + 1) : $dirname), 'type' => 5, 'stat' => stat($dirname))); + else + $files = array (); + $dir = @opendir($dirname); + + while ($file = @readdir($dir)) + { + $fullname = $dirname . "/" . $file; + if ($file == "." || $file == "..") + continue; + else if (@is_dir($fullname)) + { + if (empty ($this->options['recurse'])) + continue; + $temp = $this->parse_dir($fullname); + foreach ($temp as $file2) + $files[] = $file2; + } + else if (@file_exists($fullname)) + $files[] = array ('name' => $fullname, 'name2' => $this->options['prepend'] . + preg_replace("/(\.+\/+)+/", "", ($this->options['storepaths'] == 0 && strstr($fullname, "/")) ? + substr($fullname, strrpos($fullname, "/") + 1) : $fullname), + 'type' => @is_link($fullname) && $this->options['followlinks'] == 0 ? 2 : 0, + 'ext' => substr($file, strrpos($file, ".")), 'stat' => stat($fullname)); + } + + @closedir($dir); + + return $files; + } + + function sort_files($a, $b) + { + if ($a['type'] != $b['type']) + if ($a['type'] == 5 || $b['type'] == 2) + return -1; + else if ($a['type'] == 2 || $b['type'] == 5) + return 1; + else if ($a['type'] == 5) + return strcmp(strtolower($a['name']), strtolower($b['name'])); + else if ($a['ext'] != $b['ext']) + return strcmp($a['ext'], $b['ext']); + else if ($a['stat'][7] != $b['stat'][7]) + return $a['stat'][7] > $b['stat'][7] ? -1 : 1; + else + return strcmp(strtolower($a['name']), strtolower($b['name'])); + return 0; + } + + function download_file() + { + if ($this->options['inmemory'] == 0) + { + $this->error[] = "Can only use download_file() if archive is in memory. Redirect to file otherwise, it is faster."; + return; + } + switch ($this->options['type']) + { + case "zip": + header("Content-Type: application/zip"); + break; + case "bzip": + header("Content-Type: application/x-bzip2"); + break; + case "gzip": + header("Content-Type: application/x-gzip"); + break; + case "tar": + header("Content-Type: application/x-tar"); + } + $header = "Content-Disposition: attachment; filename=\""; + $header .= strstr($this->options['name'], "/") ? substr($this->options['name'], strrpos($this->options['name'], "/") + 1) : $this->options['name']; + $header .= "\""; + header($header); + header("Content-Length: " . strlen($this->archive)); + header("Content-Transfer-Encoding: binary"); + header("Cache-Control: no-cache, must-revalidate, max-age=60"); + header("Expires: Sat, 01 Jan 2000 12:00:00 GMT"); + print($this->archive); + } +} + +class tar_file extends archive +{ + function tar_file($name) + { + $this->archive($name); + $this->options['type'] = "tar"; + } + + function create_tar() + { + $pwd = getcwd(); + chdir($this->options['basedir']); + + foreach ($this->files as $current) + { + if ($current['name'] == $this->options['name']) + continue; + if (strlen($current['name2']) > 99) + { + $path = substr($current['name2'], 0, strpos($current['name2'], "/", strlen($current['name2']) - 100) + 1); + $current['name2'] = substr($current['name2'], strlen($path)); + if (strlen($path) > 154 || strlen($current['name2']) > 99) + { + $this->error[] = "Could not add {$path}{$current['name2']} to archive because the filename is too long."; + continue; + } + } + $block = pack("a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155a12", $current['name2'], sprintf("%07o", + $current['stat'][2]), sprintf("%07o", $current['stat'][4]), sprintf("%07o", $current['stat'][5]), + sprintf("%011o", $current['type'] == 2 ? 0 : $current['stat'][7]), sprintf("%011o", $current['stat'][9]), + " ", $current['type'], $current['type'] == 2 ? @readlink($current['name']) : "", "ustar ", " ", + "Unknown", "Unknown", "", "", !empty ($path) ? $path : "", ""); + + $checksum = 0; + for ($i = 0; $i < 512; $i++) + $checksum += ord(substr($block, $i, 1)); + $checksum = pack("a8", sprintf("%07o", $checksum)); + $block = substr_replace($block, $checksum, 148, 8); + + if ($current['type'] == 2 || $current['stat'][7] == 0) + $this->add_data($block); + else if ($fp = @fopen($current['name'], "rb")) + { + $this->add_data($block); + while ($temp = fread($fp, 1048576)) + $this->add_data($temp); + if ($current['stat'][7] % 512 > 0) + { + $temp = ""; + for ($i = 0; $i < 512 - $current['stat'][7] % 512; $i++) + $temp .= "\0"; + $this->add_data($temp); + } + fclose($fp); + } + else + $this->error[] = "Could not open file {$current['name']} for reading. It was not added."; + } + + $this->add_data(pack("a1024", "")); + + chdir($pwd); + + return 1; + } + + function extract_files() + { + $pwd = getcwd(); + chdir($this->options['basedir']); + + if ($fp = $this->open_archive()) + { + if ($this->options['inmemory'] == 1) + $this->files = array (); + + while ($block = fread($fp, 512)) + { + $temp = unpack("a100name/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1type/a100symlink/a6magic/a2temp/a32temp/a32temp/a8temp/a8temp/a155prefix/a12temp", $block); + $file = array ( + 'name' => $temp['prefix'] . $temp['name'], + 'stat' => array ( + 2 => $temp['mode'], + 4 => octdec($temp['uid']), + 5 => octdec($temp['gid']), + 7 => octdec($temp['size']), + 9 => octdec($temp['mtime']), + ), + 'checksum' => octdec($temp['checksum']), + 'type' => $temp['type'], + 'magic' => $temp['magic'], + ); + if ($file['checksum'] == 0x00000000) + break; + else if (substr($file['magic'], 0, 5) != "ustar") + { + $this->error[] = "This script does not support extracting this type of tar file."; + break; + } + $block = substr_replace($block, " ", 148, 8); + $checksum = 0; + for ($i = 0; $i < 512; $i++) + $checksum += ord(substr($block, $i, 1)); + if ($file['checksum'] != $checksum) + $this->error[] = "Could not extract from {$this->options['name']}, it is corrupt."; + + if ($this->options['inmemory'] == 1) + { + $file['data'] = fread($fp, $file['stat'][7]); + fread($fp, (512 - $file['stat'][7] % 512) == 512 ? 0 : (512 - $file['stat'][7] % 512)); + unset ($file['checksum'], $file['magic']); + $this->files[] = $file; + } + else if ($file['type'] == 5) + { + if (!is_dir($file['name'])) + mkdir($file['name'], $file['stat'][2]); + } + else if ($this->options['overwrite'] == 0 && file_exists($file['name'])) + { + $this->error[] = "{$file['name']} already exists."; + continue; + } + else if ($file['type'] == 2) + { + symlink($temp['symlink'], $file['name']); + chmod($file['name'], $file['stat'][2]); + } + else if ($new = @fopen($file['name'], "wb")) + { + fwrite($new, fread($fp, $file['stat'][7])); + fread($fp, (512 - $file['stat'][7] % 512) == 512 ? 0 : (512 - $file['stat'][7] % 512)); + fclose($new); + chmod($file['name'], $file['stat'][2]); + } + else + { + $this->error[] = "Could not open {$file['name']} for writing."; + continue; + } + chown($file['name'], $file['stat'][4]); + chgrp($file['name'], $file['stat'][5]); + touch($file['name'], $file['stat'][9]); + unset ($file); + } + } + else + $this->error[] = "Could not open file {$this->options['name']}"; + + chdir($pwd); + } + + function open_archive() + { + return @fopen($this->options['name'], "rb"); + } +} + +class gzip_file extends tar_file +{ + function gzip_file($name) + { + $this->tar_file($name); + $this->options['type'] = "gzip"; + } + + function create_gzip() + { + if ($this->options['inmemory'] == 0) + { + $pwd = getcwd(); + chdir($this->options['basedir']); + if ($fp = gzopen($this->options['name'], "wb{$this->options['level']}")) + { + fseek($this->archive, 0); + while ($temp = fread($this->archive, 1048576)) + gzwrite($fp, $temp); + gzclose($fp); + chdir($pwd); + } + else + { + $this->error[] = "Could not open {$this->options['name']} for writing."; + chdir($pwd); + return 0; + } + } + else + $this->archive = gzencode($this->archive, $this->options['level']); + + return 1; + } + + function open_archive() + { + return @gzopen($this->options['name'], "rb"); + } +} + +class bzip_file extends tar_file +{ + function bzip_file($name) + { + $this->tar_file($name); + $this->options['type'] = "bzip"; + } + + function create_bzip() + { + if ($this->options['inmemory'] == 0) + { + $pwd = getcwd(); + chdir($this->options['basedir']); + if ($fp = bzopen($this->options['name'], "wb")) + { + fseek($this->archive, 0); + while ($temp = fread($this->archive, 1048576)) + bzwrite($fp, $temp); + bzclose($fp); + chdir($pwd); + } + else + { + $this->error[] = "Could not open {$this->options['name']} for writing."; + chdir($pwd); + return 0; + } + } + else + $this->archive = bzcompress($this->archive, $this->options['level']); + + return 1; + } + + function open_archive() + { + return @bzopen($this->options['name'], "rb"); + } +} + +class zip_file extends archive +{ + function zip_file($name) + { + $this->archive($name); + $this->options['type'] = "zip"; + } + + function create_zip() + { + $files = 0; + $offset = 0; + $central = ""; + + if (!empty ($this->options['sfx'])) + if ($fp = @fopen($this->options['sfx'], "rb")) + { + $temp = fread($fp, filesize($this->options['sfx'])); + fclose($fp); + $this->add_data($temp); + $offset += strlen($temp); + unset ($temp); + } + else + $this->error[] = "Could not open sfx module from {$this->options['sfx']}."; + + $pwd = getcwd(); + chdir($this->options['basedir']); + + foreach ($this->files as $current) + { + if ($current['name'] == $this->options['name']) + continue; + + $timedate = explode(" ", date("Y n j G i s", $current['stat'][9])); + $timedate = ($timedate[0] - 1980 << 25) | ($timedate[1] << 21) | ($timedate[2] << 16) | + ($timedate[3] << 11) | ($timedate[4] << 5) | ($timedate[5]); + + $block = pack("VvvvV", 0x04034b50, 0x000A, 0x0000, (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate); + + if ($current['stat'][7] == 0 && $current['type'] == 5) + { + $block .= pack("VVVvv", 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']) + 1, 0x0000); + $block .= $current['name2'] . "/"; + $this->add_data($block); + $central .= pack("VvvvvVVVVvvvvvVV", 0x02014b50, 0x0014, $this->options['method'] == 0 ? 0x0000 : 0x000A, 0x0000, + (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate, + 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']) + 1, 0x0000, 0x0000, 0x0000, 0x0000, $current['type'] == 5 ? 0x00000010 : 0x00000000, $offset); + $central .= $current['name2'] . "/"; + $files++; + $offset += (31 + strlen($current['name2'])); + } + else if ($current['stat'][7] == 0) + { + $block .= pack("VVVvv", 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']), 0x0000); + $block .= $current['name2']; + $this->add_data($block); + $central .= pack("VvvvvVVVVvvvvvVV", 0x02014b50, 0x0014, $this->options['method'] == 0 ? 0x0000 : 0x000A, 0x0000, + (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate, + 0x00000000, 0x00000000, 0x00000000, strlen($current['name2']), 0x0000, 0x0000, 0x0000, 0x0000, $current['type'] == 5 ? 0x00000010 : 0x00000000, $offset); + $central .= $current['name2']; + $files++; + $offset += (30 + strlen($current['name2'])); + } + else if ($fp = @fopen($current['name'], "rb")) + { + $temp = fread($fp, $current['stat'][7]); + fclose($fp); + $crc32 = crc32($temp); + if (!isset($current['method']) && $this->options['method'] == 1) + { + $temp = gzcompress($temp, $this->options['level']); + $size = strlen($temp) - 6; + $temp = substr($temp, 2, $size); + } + else + $size = strlen($temp); + $block .= pack("VVVvv", $crc32, $size, $current['stat'][7], strlen($current['name2']), 0x0000); + $block .= $current['name2']; + $this->add_data($block); + $this->add_data($temp); + unset ($temp); + $central .= pack("VvvvvVVVVvvvvvVV", 0x02014b50, 0x0014, $this->options['method'] == 0 ? 0x0000 : 0x000A, 0x0000, + (isset($current['method']) || $this->options['method'] == 0) ? 0x0000 : 0x0008, $timedate, + $crc32, $size, $current['stat'][7], strlen($current['name2']), 0x0000, 0x0000, 0x0000, 0x0000, 0x00000000, $offset); + $central .= $current['name2']; + $files++; + $offset += (30 + strlen($current['name2']) + $size); + } + else + $this->error[] = "Could not open file {$current['name']} for reading. It was not added."; + } + + $this->add_data($central); + + $this->add_data(pack("VvvvvVVv", 0x06054b50, 0x0000, 0x0000, $files, $files, strlen($central), $offset, + !empty ($this->options['comment']) ? strlen($this->options['comment']) : 0x0000)); + + if (!empty ($this->options['comment'])) + $this->add_data($this->options['comment']); + + chdir($pwd); + + return 1; + } } ?> \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/helpers/archivefactory.php b/deployed/jckman/administrator/components/com_jckman/helpers/archivefactory.php index 988816f4..bd6641d8 100644 --- a/deployed/jckman/administrator/components/com_jckman/helpers/archivefactory.php +++ b/deployed/jckman/administrator/components/com_jckman/helpers/archivefactory.php @@ -1,106 +1,106 @@ -baseDir = $baseDir; - $this->name = $name; - } - - private function build() - { - if(class_exists('PharData')) - $this->pharBuild(); - else - $this->zipBuild(); - } - - private function pharBuild() - { - $this->type = $type = 'tar.gz'; - $this->phar = new PharData($this->name.'.tar'); - $this->phar->buildFromDirectory($this->baseDir); - $this->phar->convertToData(Phar::TAR,Phar::GZ,'.'.$this->type); - unset( $this->phar ); // remove any references to this file! - unlink($this->name .'.tar'); - $this->archive = file_get_contents($this->name.'.'.$this->type); - unlink($this->name. '.'.$this->type); - - } - - - private function zipBuild() - { - $this->type = $type = 'zip'; - - $zip = new ZipArchive(); - // open archive - - $name = $this->name.'.zip'; - if ($zip->open($name, ZIPARCHIVE::CREATE) !== TRUE) - throw new Exception ("Could not open archive"); - - $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->baseDir,FilesystemIterator::SKIP_DOTS)); - - foreach ($iterator as $key=>$value) - { - $filterKey = str_replace($this->baseDir.'/','',$key); - - if(!$zip->addFile(realpath($key),$filterKey)) - throw new Exception('ERROR: Could not add file: '.$filterKey); - } - $zip->close(); - $this->archive = file_get_contents($name); - unlink($name); - } - - - public function downloadFile() - { - $this->build(); - - switch ($this->type) - { - case "tar.gz": - case "tgz": - header("Content-Type: application/x-gzip"); - break; - case "bzip": - header("Content-Type: application/x-bzip2"); - break; - case "zip": - header("Content-Type: application/zip"); - break; - case "tar": - header("Content-Type: application/x-tar"); - } - $name = $this->name. '.'. $this->type; - - $header = "Content-Disposition: attachment; filename=\""; - $header .= $name; - $header .= "\""; - header($header); - header("Content-Length: " . strlen($this->archive)); - header("Content-Transfer-Encoding: binary"); - header("Cache-Control: no-cache, must-revalidate, max-age=60"); - header("Expires: Sat, 01 Jan 2000 12:00:00 GMT"); - echo $this->archive; - exit; - } +baseDir = $baseDir; + $this->name = $name; + } + + private function build() + { + if(class_exists('PharData')) + $this->pharBuild(); + else + $this->zipBuild(); + } + + private function pharBuild() + { + $this->type = $type = 'tar.gz'; + $this->phar = new PharData($this->name.'.tar'); + $this->phar->buildFromDirectory($this->baseDir); + $this->phar->convertToData(Phar::TAR,Phar::GZ,'.'.$this->type); + unset( $this->phar ); // remove any references to this file! + unlink($this->name .'.tar'); + $this->archive = file_get_contents($this->name.'.'.$this->type); + unlink($this->name. '.'.$this->type); + + } + + + private function zipBuild() + { + $this->type = $type = 'zip'; + + $zip = new ZipArchive(); + // open archive + + $name = $this->name.'.zip'; + if ($zip->open($name, ZIPARCHIVE::CREATE) !== TRUE) + throw new Exception ("Could not open archive"); + + $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->baseDir,FilesystemIterator::SKIP_DOTS)); + + foreach ($iterator as $key=>$value) + { + $filterKey = str_replace($this->baseDir.'/','',$key); + + if(!$zip->addFile(realpath($key),$filterKey)) + throw new Exception('ERROR: Could not add file: '.$filterKey); + } + $zip->close(); + $this->archive = file_get_contents($name); + unlink($name); + } + + + public function downloadFile() + { + $this->build(); + + switch ($this->type) + { + case "tar.gz": + case "tgz": + header("Content-Type: application/x-gzip"); + break; + case "bzip": + header("Content-Type: application/x-bzip2"); + break; + case "zip": + header("Content-Type: application/zip"); + break; + case "tar": + header("Content-Type: application/x-tar"); + } + $name = $this->name. '.'. $this->type; + + $header = "Content-Disposition: attachment; filename=\""; + $header .= $name; + $header .= "\""; + header($header); + header("Content-Length: " . strlen($this->archive)); + header("Content-Transfer-Encoding: binary"); + header("Cache-Control: no-cache, must-revalidate, max-age=60"); + header("Expires: Sat, 01 Jan 2000 12:00:00 GMT"); + echo $this->archive; + exit; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/helpers/installer.php b/deployed/jckman/administrator/components/com_jckman/helpers/installer.php index 5c0f6273..6fe7d4f2 100644 --- a/deployed/jckman/administrator/components/com_jckman/helpers/installer.php +++ b/deployed/jckman/administrator/components/com_jckman/helpers/installer.php @@ -1,211 +1,211 @@ -parent =& $this; - } - $this->_adapters[$name] = $adapter; - return true; - }else{ - $this->abort(JText::_('Incorrect version!')); - } - } - - public function loadAdapter($adapter, $options = array()) - { - $class = 'JCKInstaller' . ucfirst($adapter); - - if( !($adapter == 'plugin' || $adapter == 'language')) - { - throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); - } - - if (!class_exists($class)) - { - // @deprecated 4.0 - The adapter should be autoloaded or manually included by the caller - $path = dirname(__FILE__) . '/../adapters/' . $adapter . '.php'; - - // Try to load the adapter object - if (!file_exists($path)) - { - throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); - } - - // Try once more to find the class - require_once $path; - - if (!class_exists($class)) - { - throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); - } - } - - // Ensure the adapter type is part of the options array - $options['type'] = $adapter; - - return new $class($this, $this->getDBO(), $options); - } - - - - /** - * Is the XML file a valid Joomla installation manifest file. - * - * @param string $file An xmlfile path to check - * - * @return mixed A JXMLElement, or null if the file failed to parse - * - * @since 11.1 - */ - public function isManifest($file) - { - // Initialise variables. - $xml = JFactory::getXML($file); - - // If we cannot load the XML file return null - if (!$xml) - { - return null; - } - - // Check for a valid XML root tag. - // @todo: Remove backwards compatibility in a future version - // Should be 'extension', but for backward compatibility we will accept 'extension' or 'install'. - - // 1.5 uses 'install' - // 1.6 uses 'extension' - if ($xml->getName() != 'install' && $xml->getName() != 'extension') - { - return null; - } - - // Valid manifest file return the object - return $xml; - } - - /** - * Tries to find the package manifest file - * - * @return boolean True on success, False on error - * - * @since 11.1 - */ - public function findManifest() - { - // Get an array of all the XML files from the installation directory - $xmlfiles = JFolder::files($this->getPath('source'), '.xml$', 1, true); - - // If at least one XML file exists - if (!empty($xmlfiles)) - { - - foreach ($xmlfiles as $file) - { - // Is it a valid Joomla installation manifest file? - $manifest = $this->isManifest($file); - - if (!is_null($manifest)) - { - // If the root method attribute is set to upgrade, allow file overwrite - if ((string) $manifest->attributes()->method == 'upgrade') - { - $this->upgrade = true; - $this->overwrite = true; - } - - // If the overwrite option is set, allow file overwriting - if ((string) $manifest->attributes()->overwrite == 'true') - { - $this->overwrite = true; - } - - // Set the manifest object and path - $this->manifest = $manifest; - $this->setPath('manifest', $file); - - // Set the installation source path to that of the manifest file - $this->setPath('source', dirname($file)); - - return true; - } - } - - // None of the XML files found were valid install files - JCKHelper::error(JText::_('JLIB_INSTALLER_ERROR_NOTFINDJOOMLAXMLSETUPFILE')); - - return false; - } - else - { - // No XML files were found in the install folder - JCKHelper::error(JText::_('JLIB_INSTALLER_ERROR_NOTFINDXMLSETUPFILE')); - return false; - } - } -} - -//dummy class that does nothing -class InstallerHelper -{ - /** - * Configure the Linkbar. - * - * @param string The name of the active view. - */ - public static function addSubmenu($vName = 'install') - { - - } -} +parent =& $this; + } + $this->_adapters[$name] = $adapter; + return true; + }else{ + $this->abort(JText::_('Incorrect version!')); + } + } + + public function loadAdapter($adapter, $options = array()) + { + $class = 'JCKInstaller' . ucfirst($adapter); + + if( !($adapter == 'plugin' || $adapter == 'language')) + { + throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); + } + + if (!class_exists($class)) + { + // @deprecated 4.0 - The adapter should be autoloaded or manually included by the caller + $path = dirname(__FILE__) . '/../adapters/' . $adapter . '.php'; + + // Try to load the adapter object + if (!file_exists($path)) + { + throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); + } + + // Try once more to find the class + require_once $path; + + if (!class_exists($class)) + { + throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); + } + } + + // Ensure the adapter type is part of the options array + $options['type'] = $adapter; + + return new $class($this, $this->getDBO(), $options); + } + + + + /** + * Is the XML file a valid Joomla installation manifest file. + * + * @param string $file An xmlfile path to check + * + * @return mixed A JXMLElement, or null if the file failed to parse + * + * @since 11.1 + */ + public function isManifest($file) + { + // Initialise variables. + $xml = JFactory::getXML($file); + + // If we cannot load the XML file return null + if (!$xml) + { + return null; + } + + // Check for a valid XML root tag. + // @todo: Remove backwards compatibility in a future version + // Should be 'extension', but for backward compatibility we will accept 'extension' or 'install'. + + // 1.5 uses 'install' + // 1.6 uses 'extension' + if ($xml->getName() != 'install' && $xml->getName() != 'extension') + { + return null; + } + + // Valid manifest file return the object + return $xml; + } + + /** + * Tries to find the package manifest file + * + * @return boolean True on success, False on error + * + * @since 11.1 + */ + public function findManifest() + { + // Get an array of all the XML files from the installation directory + $xmlfiles = JFolder::files($this->getPath('source'), '.xml$', 1, true); + + // If at least one XML file exists + if (!empty($xmlfiles)) + { + + foreach ($xmlfiles as $file) + { + // Is it a valid Joomla installation manifest file? + $manifest = $this->isManifest($file); + + if (!is_null($manifest)) + { + // If the root method attribute is set to upgrade, allow file overwrite + if ((string) $manifest->attributes()->method == 'upgrade') + { + $this->upgrade = true; + $this->overwrite = true; + } + + // If the overwrite option is set, allow file overwriting + if ((string) $manifest->attributes()->overwrite == 'true') + { + $this->overwrite = true; + } + + // Set the manifest object and path + $this->manifest = $manifest; + $this->setPath('manifest', $file); + + // Set the installation source path to that of the manifest file + $this->setPath('source', dirname($file)); + + return true; + } + } + + // None of the XML files found were valid install files + JCKHelper::error(JText::_('JLIB_INSTALLER_ERROR_NOTFINDJOOMLAXMLSETUPFILE')); + + return false; + } + else + { + // No XML files were found in the install folder + JCKHelper::error(JText::_('JLIB_INSTALLER_ERROR_NOTFINDXMLSETUPFILE')); + return false; + } + } +} + +//dummy class that does nothing +class InstallerHelper +{ + /** + * Configure the Linkbar. + * + * @param string The name of the active view. + */ + public static function addSubmenu($vName = 'install') + { + + } +} diff --git a/deployed/jckman/administrator/components/com_jckman/helpers/restorer.php b/deployed/jckman/administrator/components/com_jckman/helpers/restorer.php index ebb98cf8..60b5e455 100644 --- a/deployed/jckman/administrator/components/com_jckman/helpers/restorer.php +++ b/deployed/jckman/administrator/components/com_jckman/helpers/restorer.php @@ -1,134 +1,134 @@ -parent =& $this; - } - $this->_adapters[$name] = $adapter; - return true; - }else{ - $this->abort(JText::_('Incorrect version!')); - } - } - - public function loadAdapter($adapter, $options = array()) - { - $class = 'JCKRestorer' . ucfirst($adapter); - - if( !($adapter == 'plugin' || $adapter == 'backup')) - { - throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); - } - - - - if (!class_exists($class)) - { - // @deprecated 4.0 - The adapter should be autoloaded or manually included by the caller - $path = dirname(__FILE__) . '/../restorers/' . $adapter . '.php'; - - // Try to load the adapter object - if (!file_exists($path)) - { - throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); - } - - // Try once more to find the class - require_once $path; - - if (!class_exists($class)) - { - throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); - } - } - - // Ensure the adapter type is part of the options array - $options['type'] = $adapter; - - return new $class($this, $this->getDBO(), $options); - } - - /** - * Is the XML file a valid Joomla installation manifest file. - * - * @param string $file An xmlfile path to check - * - * @return mixed A SimpleXMLElement, or null if the file failed to parse - * - * @since 11.1 - */ - public function isManifest($file) - { - $xml = simplexml_load_file($file); - - // If we cannot load the XML file return null - if (!$xml) - { - return null; - } - - // Check for a valid XML root tag. - if ($xml->getName() != 'extension' && $xml->getName() != 'install') - { - return null; - } - - // Valid manifest file return the object - return $xml; - } - +parent =& $this; + } + $this->_adapters[$name] = $adapter; + return true; + }else{ + $this->abort(JText::_('Incorrect version!')); + } + } + + public function loadAdapter($adapter, $options = array()) + { + $class = 'JCKRestorer' . ucfirst($adapter); + + if( !($adapter == 'plugin' || $adapter == 'backup')) + { + throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); + } + + + + if (!class_exists($class)) + { + // @deprecated 4.0 - The adapter should be autoloaded or manually included by the caller + $path = dirname(__FILE__) . '/../restorers/' . $adapter . '.php'; + + // Try to load the adapter object + if (!file_exists($path)) + { + throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); + } + + // Try once more to find the class + require_once $path; + + if (!class_exists($class)) + { + throw new InvalidArgumentException(sprintf('The %s install adapter does not exist.', $adapter)); + } + } + + // Ensure the adapter type is part of the options array + $options['type'] = $adapter; + + return new $class($this, $this->getDBO(), $options); + } + + /** + * Is the XML file a valid Joomla installation manifest file. + * + * @param string $file An xmlfile path to check + * + * @return mixed A SimpleXMLElement, or null if the file failed to parse + * + * @since 11.1 + */ + public function isManifest($file) + { + $xml = simplexml_load_file($file); + + // If we cannot load the XML file return null + if (!$xml) + { + return null; + } + + // Check for a valid XML root tag. + if ($xml->getName() != 'extension' && $xml->getName() != 'install') + { + return null; + } + + // Valid manifest file return the object + return $xml; + } + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/html/editor.php b/deployed/jckman/administrator/components/com_jckman/html/editor.php index d1ceb9b2..b05d959c 100644 --- a/deployed/jckman/administrator/components/com_jckman/html/editor.php +++ b/deployed/jckman/administrator/components/com_jckman/html/editor.php @@ -1,88 +1,88 @@ - $editor = &JEditor::getInstance([$editor); - * - * @access public - * @param string $editor The editor to use. - * @return JEditor The Editor object. - */ - function &getInstance($editor = 'jckeditor') - { - static $instances; - - if (!isset ($instances)) { - $instances = array (); - } - - $signature = serialize($editor); - - if (empty ($instances[$signature])) { - $instances[$signature] = new JCKEditor($editor); - } - - return $instances[$signature]; - } - - /** - * Load the editor - * - * @access private - * @param array Associative array of editor config paramaters - * @since 1.5 - */ - function _loadEditor($config = array()) - { - //check if editor is already loaded - if(!is_null(($this->_editor))) { - return; - } - - jimport('joomla.filesystem.file'); - - // Build the path to the needed editor plugin - $name = JFilterInput::clean($this->_name, 'cmd'); - $path = JPATH_SITE.DS.'plugins'.DS.'editors'.DS.$name.'.php'; - - if ( ! JFile::exists($path) ) - { - $message = JText::_('Cannot load the editor'); - JCKHelper::error( $message ); - return false; - } - - // Require plugin file - require_once $path; - - // Build editor plugin classname - $name = 'plgEditor'.$this->_name; - - if($this->_editor = new $name ($this, $config)) - { - // load plugin parameters - $this->initialise(); - JPluginHelper::importPlugin('editors-xtd'); - } - } - - - + $editor = &JEditor::getInstance([$editor); + * + * @access public + * @param string $editor The editor to use. + * @return JEditor The Editor object. + */ + function &getInstance($editor = 'jckeditor') + { + static $instances; + + if (!isset ($instances)) { + $instances = array (); + } + + $signature = serialize($editor); + + if (empty ($instances[$signature])) { + $instances[$signature] = new JCKEditor($editor); + } + + return $instances[$signature]; + } + + /** + * Load the editor + * + * @access private + * @param array Associative array of editor config paramaters + * @since 1.5 + */ + function _loadEditor($config = array()) + { + //check if editor is already loaded + if(!is_null(($this->_editor))) { + return; + } + + jimport('joomla.filesystem.file'); + + // Build the path to the needed editor plugin + $name = JFilterInput::clean($this->_name, 'cmd'); + $path = JPATH_SITE.DS.'plugins'.DS.'editors'.DS.$name.'.php'; + + if ( ! JFile::exists($path) ) + { + $message = JText::_('Cannot load the editor'); + JCKHelper::error( $message ); + return false; + } + + // Require plugin file + require_once $path; + + // Build editor plugin classname + $name = 'plgEditor'.$this->_name; + + if($this->_editor = new $name ($this, $config)) + { + // load plugin parameters + $this->initialise(); + JPluginHelper::importPlugin('editors-xtd'); + } + } + + + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/html/html.php b/deployed/jckman/administrator/components/com_jckman/html/html.php index e11f2452..24aa1921 100644 --- a/deployed/jckman/administrator/components/com_jckman/html/html.php +++ b/deployed/jckman/administrator/components/com_jckman/html/html.php @@ -1,71 +1,71 @@ -setQuery( $query ); - $plugins = $db->loadObjectList(); - - // Code that adds menu name to Display of Page(s) - - $items = array(); - $lastType = null; - $tmpType = null; - foreach ($plugins as $plugin) - { - if ($plugin->type != $lastType) - { - if ($tmpType) { - $items[] = JHTML::_('select.option', '' ); - } - $items[] = JHTML::_('select.option', '', $plugin->type ); - $lastType = $plugin->type; - $tmpType = $plugin->type; - } - - $items[] = JHTML::_('select.option', $plugin->id, $plugin->title ); - } - if ($lastType !== null) { - $items[] = JHTML::_('select.option', '' ); - } - - return $items; - } - -} +setQuery( $query ); + $plugins = $db->loadObjectList(); + + // Code that adds menu name to Display of Page(s) + + $items = array(); + $lastType = null; + $tmpType = null; + foreach ($plugins as $plugin) + { + if ($plugin->type != $lastType) + { + if ($tmpType) { + $items[] = JHTML::_('select.option', '' ); + } + $items[] = JHTML::_('select.option', '', $plugin->type ); + $lastType = $plugin->type; + $tmpType = $plugin->type; + } + + $items[] = JHTML::_('select.option', $plugin->id, $plugin->title ); + } + if ($lastType !== null) { + $items[] = JHTML::_('select.option', '' ); + } + + return $items; + } + +} diff --git a/deployed/jckman/administrator/components/com_jckman/install.php b/deployed/jckman/administrator/components/com_jckman/install.php index 7d4e980f..36698b28 100644 --- a/deployed/jckman/administrator/components/com_jckman/install.php +++ b/deployed/jckman/administrator/components/com_jckman/install.php @@ -1,445 +1,445 @@ -release = $parent->get( "manifest" )->version; - - // If fresh install, lang file can't be loaded yet so use the tmp dir one. - $lang = JFactory::getLanguage(); - $lang->load( 'com_jckman' , dirname(__FILE__) ); - $lang->load( 'com_jckman.sys' , dirname(__FILE__) ); - - // Manifest file minimum Joomla version - $this->minimum_joomla_release = $parent->get( "manifest" )->attributes()->version; - - if( version_compare( $jversion->getShortVersion(), $this->minimum_joomla_release, 'lt' ) ) - { - JError::raiseWarning(null, JText::sprintf( 'COM_JCKMAN_CUSTOM_INSTALL_NOT_JOOMLA_PRIOR', $this->minimum_joomla_release ) ); - return false; - } - - //Workaround I shouldn't have to do - - $app = JFactory::getApplication(); - $db = JFactory::getDBO(); - - $sql = $db->getQuery( true ); - $sql->select( '1' ) - ->from('#__extensions') - ->where( '`name` = "com_jckman"' ); - if( !$db->setQuery( $sql )->loadResult() ) - { - $sql = $db->getQuery( true ); - $sql->delete( '#__assets' ) - ->where( '`title` like "%JCK%MAN%"' ); - $db->setQuery( $sql )->query(); - } - - } - - function install($parent) - { - $version = '6.4.4'; - $mainframe = JFactory::getApplication(); - $db = JFactory::getDBO(); - - $query = "SELECT count(1) FROM #__modules" - ." WHERE module = 'mod_jckquickicon'"; - $db->setQuery( $query ); - $count = $db->loadResult(); - if($count) $this->uninstall($parent); - - jimport('joomla.filesystem.folder'); - - $src = 'components' .DS. 'com_jckman' .DS. 'modules' .DS. 'mod_jckquickicon'; - $dest = 'modules' .DS. 'mod_jckquickicon'; - - if( !JFolder::copy( $src, $dest, JPATH_ADMINISTRATOR, true ) ){ - $mainframe->enqueueMessage( JText::sprintf( 'COM_JCKMAN_CUSTOM_INSTALL', 'control panel icon module!' ) ); - } - - /*===========================================================> */ - /*==============================================> LEFT MODULES */ - /*===========================================================> */ - $row = JTable::getInstance('module'); - $row->position = 'jck_icon'; - $row->published = 1; - $row->showtitle = 1; - $row->access = 1; - $row->client_id = 1; - $row->params = ''; - - $row->id = 0; - $row->title = 'JCK Manager'; - $row->content = ''; - $row->ordering = $row->getNextOrder( "position='jck_icon'" ); - $row->module = 'mod_custom'; - $row->params = '{"prepare_content":0}'; - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - $row->id = 0; - $row->title = 'Dashboard'; - $row->module = 'mod_jckquickicon'; - $row->params = ''; - $row->ordering = $row->getNextOrder( "position='jck_icon'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','Control Panel icon Module data!') ); - } - - $row->id = 0; - $row->title = 'JCK Manager v' . $version; - $row->module = 'mod_custom'; - $row->content = - ' - - - - - - - - - - - - - - - - - - - - -
                          Version:' . $version . '
                          Author:www.joomlackeditor.com
                          Copyright:© WebxSolution Ltd, All rights reserved.
                          License:GPLv2.0
                          More info:http://joomlackeditor.com/terms-of-use
                          '; - $row->ordering = $row->getNextOrder( "position='jck_icon'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - /*===========================================================> */ - /*============================================> CPANEL MODULES */ - /*===========================================================> */ - $row = JTable::getInstance('module'); - $row->module = ''; - $row->position = 'jck_cpanel'; - $row->published = 1; - $row->showtitle = 1; - $row->access = 1; - $row->client_id = 1; - $row->params = '{}'; - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_MANAGER_LABEL'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_MANAGER_HTML'; - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_PLUGIN_LABEL'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_PLUGIN_HTML'; - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_LABEL'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_HTML'; - - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER_HTML'; - - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL_HTML'; - ; - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTAL','custom Module data!') ); - } - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_RESTORE_LABEL'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_RESTORE_HTML'; - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - $row->id = 0; - $row->title = 'COM_JCKMAN_CPANEL_SLIDER_SYNC_LABEL'; - $row->content = 'COM_JCKMAN_CPANEL_SLIDER_SYNC_HTML'; - $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); - if (!$row->store()) { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); - } - - jimport('joomla.filesystem.file'); - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'pluginoverrides.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'pluginoverrides.php'; - - if( !JFile::copy( $src, $dest) ){ - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','pluginoverrides JCK plugin!') ); - } - - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'languageoverrides.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'languageoverrides.php'; - - if( !JFile::copy( $src, $dest) ){ - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','languageoverrides JCK plugin!') ); - } - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'acl.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'acl.php'; - - - if( !JFile::copy( $src, $dest) ){ - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF',' ACL JCK plugin!') ); - } - - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'components.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'toolbar'.DS. 'components.php'; - - if( !JFile::copy( $src, $dest) ){ - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','JCK toolbar plugin!') ); - } - - $src = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman' .DS. 'editor'.DS.'plugins.php'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins.php'; - - if( !JFile::copy( $src, $dest) ){ - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','base plugins file to JCK library!') ); - } - - //$src = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman' .DS. 'editor'.DS.'includes.php'; - //$dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'includes.php'; - - /* - if( !JFile::copy( $src, $dest) ){ - $mainframe->enqueueMessage( JText::_('Unable to move updated includes file to JCK plugin!') ); - } - */ - - unset( $row ); - - //Check System requirements for the editor - define('JCK_BASE',JPATH_CONFIGURATION .DS.'plugins'.DS.'editors'.DS.'jckeditor'); - - if(!JFolder::exists(JCK_BASE)) - { - $mainframe->enqueueMessage( JText::_('COM_JCKMAN_CUSTOM_INSTALL_SYSTEM_DETECTED_EDITOR_NOT_INSTALLED') ); - return; - } - - $perms = fileperms(JPATH_CONFIGURATION.DS.'index.php'); - $perms = (decoct($perms & 0777)); - - $default_fperms = '0644'; - $default_dperms = '0755'; - - if($perms == 777 || $perms == 666) - { - $default_fperms = '0666'; - $default_dperms = '0777'; - } - - $fperms = JCK_BASE.DS.'config.js'; - - if(!stristr(PHP_OS,'WIN') && JPath::canChmod(JCK_BASE) && $perms != decoct(fileperms($fperms) & 0777)) - { - - $path = JCK_BASE.DS.'plugins'; - - if(!JPath::setPermissions($path,$default_fperms,$default_dperms)) - { - $mainframe->enqueueMessage( JText::_('COM_JCKMAN_CUSTOM_INSTALL_SYSTEM_DETECTED_INCORRECT_FILE_PERMISSONS_FOR_EDITOR') ); - } - } - - // clear explorer cache to avoid breaking the export feature (filename too long) - // This code is also run of install/upgrade of the jckexplorer plugin - $cache = JCK_BASE . '/plugins/jckexplorer/cache'; - - if( JFolder::exists( $cache ) ) - { - // Delete cache folders - foreach( JFolder::folders( $cache ) as $folder ) - { - JFolder::delete( $cache . DS . $folder ); - }//end foreach - - // Delete cache files - foreach( JFolder::files( $cache ) as $file ) - { - if( $file != 'index.html' ) - { - JFile::delete( $cache . DS . $file ); - }//end if - }//end foreach - }//end if - - //for upgrade - $query = 'SELECT p.name FROM `#__jckplugins` p WHERE p.iscore = 0'; - $db->setQuery( $query ); - $results = $db->loadObjectList(); - - if(!empty($results)) - { - for($i = 0; $i < count($results);$i++) - { - if(JFolder::exists(JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$results[$i]->name) && - !JFolder::exists(JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman'.DS.'editor'.DS.'plugins'.DS.$results[$i]->name) - ) - { - $src = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$results[$i]->name; - $dest = JPATH_ADMINISTRATOR.DS .'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$results[$i]->name; - - if( !JFolder::copy( $src, $dest) ) - { - $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','base plugin .'.$results[$i]->name.' to JCK backup folder!') ); - } - } - }//end for loop - } - - //fix remove component install file from the editor's folder - $file = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman'.DS.'editor'.DS.'com_jckman.xml'; - if(JFile::exists($file)) - JFile::delete($file); - - } - - - - - - function update($parent) - { - $this->install($parent); - - $db = JFactory::getDBO(); - - if(method_exists($parent, 'extension_root')) { - $sqlfile = $parent->getPath('extension_root').DS.'sql'.DS.'install.sql'; - } else { - $sqlfile = $parent->getParent()->getPath('extension_root').DS.'sql'.DS.'install.sql'; - } - - // Don't modify below this line - $buffer = file_get_contents($sqlfile); - - if ($buffer !== false) { - jimport('joomla.installer.helper'); - $queries = JInstallerHelper::splitSql($buffer); - - if (count($queries) != 0) { - foreach ($queries as $query) - { - $query = trim($query); - if ($query != '' && $query{0} != '#') { - $db->setQuery($query); - if (!$db->query()) { - if( !class_exists( 'JCKHelper' ) ) require_once( JPATH_COMPONENT_ADMINISTRATOR . DS . 'helper.php' ); - - JCKHelper::error( JText::sprintf('JLIB_INSTALLER_ERROR_SQL_ERROR', $db->stderr(true))); - return false; - } - } - } - } - } - } - - function uninstall($parent) - { - $app = JFactory::getApplication(); - $db = JFactory::getDBO(); - $path = JPATH_ADMINISTRATOR .DS. 'modules' .DS. 'mod_jckquickicon'; - jimport('joomla.filesystem.folder'); - - if( JFolder::exists( $path ) && !JFolder::delete( $path ) ){ - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','control panel icon module!') ); - } - - $sql = $db->getQuery( true ); - $sql->delete( '#__modules' ) - ->where( 'position IN ( "jck_cpanel", "jck_icon" )' ); - if( !$db->setQuery( $sql )->query() ) - { - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','PlugMan modules data!') ); - } - - $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'pluginoverrides.php'; - - if(JFile::exists($file) && !JFile::delete($file)) { - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','pluginoverrides JCK plugin!') ); - } - - $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'languageoverrides.php'; - - if(JFile::exists($file) && !JFile::delete($file)) { - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','languageoverrides JCK plugin!') ); - } - - $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'acl.php'; - - if(JFile::exists($file) && !JFile::delete($file)) { - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','ACL JCK plugin!') ); - } - - $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'toolbar'.DS. 'components.php'; - - if(JFile::exists($file) && !JFile::delete($file)) { - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','components JCK toolbar plugin!') ); - } - - // For some reason we need to remove the row from the asset table?! - $sql = $db->getQuery( true ); - $sql->delete( '#__assets' ) - ->where( 'name = "com_jckman"' ); - if( !$db->setQuery( $sql )->query() ) - { - $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','Unable to remove JCKMan asset record!') ); - } - - $sql = $db->getQuery( true ); - $sql->delete( '#__assets' ) - ->where( '`title` like "%JCK%MAN%"' ); - $db->setQuery( $sql )->query(); - - } +release = $parent->get( "manifest" )->version; + + // If fresh install, lang file can't be loaded yet so use the tmp dir one. + $lang = JFactory::getLanguage(); + $lang->load( 'com_jckman' , dirname(__FILE__) ); + $lang->load( 'com_jckman.sys' , dirname(__FILE__) ); + + // Manifest file minimum Joomla version + $this->minimum_joomla_release = $parent->get( "manifest" )->attributes()->version; + + if( version_compare( $jversion->getShortVersion(), $this->minimum_joomla_release, 'lt' ) ) + { + JError::raiseWarning(null, JText::sprintf( 'COM_JCKMAN_CUSTOM_INSTALL_NOT_JOOMLA_PRIOR', $this->minimum_joomla_release ) ); + return false; + } + + //Workaround I shouldn't have to do + + $app = JFactory::getApplication(); + $db = JFactory::getDBO(); + + $sql = $db->getQuery( true ); + $sql->select( '1' ) + ->from('#__extensions') + ->where( '`name` = "com_jckman"' ); + if( !$db->setQuery( $sql )->loadResult() ) + { + $sql = $db->getQuery( true ); + $sql->delete( '#__assets' ) + ->where( '`title` like "%JCK%MAN%"' ); + $db->setQuery( $sql )->query(); + } + + } + + function install($parent) + { + $version = '6.4.4'; + $mainframe = JFactory::getApplication(); + $db = JFactory::getDBO(); + + $query = "SELECT count(1) FROM #__modules" + ." WHERE module = 'mod_jckquickicon'"; + $db->setQuery( $query ); + $count = $db->loadResult(); + if($count) $this->uninstall($parent); + + jimport('joomla.filesystem.folder'); + + $src = 'components' .DS. 'com_jckman' .DS. 'modules' .DS. 'mod_jckquickicon'; + $dest = 'modules' .DS. 'mod_jckquickicon'; + + if( !JFolder::copy( $src, $dest, JPATH_ADMINISTRATOR, true ) ){ + $mainframe->enqueueMessage( JText::sprintf( 'COM_JCKMAN_CUSTOM_INSTALL', 'control panel icon module!' ) ); + } + + /*===========================================================> */ + /*==============================================> LEFT MODULES */ + /*===========================================================> */ + $row = JTable::getInstance('module'); + $row->position = 'jck_icon'; + $row->published = 1; + $row->showtitle = 1; + $row->access = 1; + $row->client_id = 1; + $row->params = ''; + + $row->id = 0; + $row->title = 'JCK Manager'; + $row->content = ''; + $row->ordering = $row->getNextOrder( "position='jck_icon'" ); + $row->module = 'mod_custom'; + $row->params = '{"prepare_content":0}'; + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + $row->id = 0; + $row->title = 'Dashboard'; + $row->module = 'mod_jckquickicon'; + $row->params = ''; + $row->ordering = $row->getNextOrder( "position='jck_icon'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','Control Panel icon Module data!') ); + } + + $row->id = 0; + $row->title = 'JCK Manager v' . $version; + $row->module = 'mod_custom'; + $row->content = + ' + + + + + + + + + + + + + + + + + + + + +
                          Version:' . $version . '
                          Author:www.joomlackeditor.com
                          Copyright:© WebxSolution Ltd, All rights reserved.
                          License:GPLv2.0
                          More info:http://joomlackeditor.com/terms-of-use
                          '; + $row->ordering = $row->getNextOrder( "position='jck_icon'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + /*===========================================================> */ + /*============================================> CPANEL MODULES */ + /*===========================================================> */ + $row = JTable::getInstance('module'); + $row->module = ''; + $row->position = 'jck_cpanel'; + $row->published = 1; + $row->showtitle = 1; + $row->access = 1; + $row->client_id = 1; + $row->params = '{}'; + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_MANAGER_LABEL'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_MANAGER_HTML'; + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_PLUGIN_LABEL'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_PLUGIN_HTML'; + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_LABEL'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_CHECK_HTML'; + + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_SYSTEM_LAYOUT_MANAGER_HTML'; + + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_BACKUP_LABEL_HTML'; + ; + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTAL','custom Module data!') ); + } + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_RESTORE_LABEL'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_RESTORE_HTML'; + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + $row->id = 0; + $row->title = 'COM_JCKMAN_CPANEL_SLIDER_SYNC_LABEL'; + $row->content = 'COM_JCKMAN_CPANEL_SLIDER_SYNC_HTML'; + $row->ordering = $row->getNextOrder( "position='jck_cpanel'" ); + if (!$row->store()) { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL','JCK PlugMan custom Module data!') ); + } + + jimport('joomla.filesystem.file'); + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'pluginoverrides.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'pluginoverrides.php'; + + if( !JFile::copy( $src, $dest) ){ + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','pluginoverrides JCK plugin!') ); + } + + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'languageoverrides.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'languageoverrides.php'; + + if( !JFile::copy( $src, $dest) ){ + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','languageoverrides JCK plugin!') ); + } + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'acl.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'acl.php'; + + + if( !JFile::copy( $src, $dest) ){ + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF',' ACL JCK plugin!') ); + } + + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor' .DS. 'components.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'toolbar'.DS. 'components.php'; + + if( !JFile::copy( $src, $dest) ){ + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','JCK toolbar plugin!') ); + } + + $src = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman' .DS. 'editor'.DS.'plugins.php'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins.php'; + + if( !JFile::copy( $src, $dest) ){ + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','base plugins file to JCK library!') ); + } + + //$src = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman' .DS. 'editor'.DS.'includes.php'; + //$dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'includes.php'; + + /* + if( !JFile::copy( $src, $dest) ){ + $mainframe->enqueueMessage( JText::_('Unable to move updated includes file to JCK plugin!') ); + } + */ + + unset( $row ); + + //Check System requirements for the editor + define('JCK_BASE',JPATH_CONFIGURATION .DS.'plugins'.DS.'editors'.DS.'jckeditor'); + + if(!JFolder::exists(JCK_BASE)) + { + $mainframe->enqueueMessage( JText::_('COM_JCKMAN_CUSTOM_INSTALL_SYSTEM_DETECTED_EDITOR_NOT_INSTALLED') ); + return; + } + + $perms = fileperms(JPATH_CONFIGURATION.DS.'index.php'); + $perms = (decoct($perms & 0777)); + + $default_fperms = '0644'; + $default_dperms = '0755'; + + if($perms == 777 || $perms == 666) + { + $default_fperms = '0666'; + $default_dperms = '0777'; + } + + $fperms = JCK_BASE.DS.'config.js'; + + if(!stristr(PHP_OS,'WIN') && JPath::canChmod(JCK_BASE) && $perms != decoct(fileperms($fperms) & 0777)) + { + + $path = JCK_BASE.DS.'plugins'; + + if(!JPath::setPermissions($path,$default_fperms,$default_dperms)) + { + $mainframe->enqueueMessage( JText::_('COM_JCKMAN_CUSTOM_INSTALL_SYSTEM_DETECTED_INCORRECT_FILE_PERMISSONS_FOR_EDITOR') ); + } + } + + // clear explorer cache to avoid breaking the export feature (filename too long) + // This code is also run of install/upgrade of the jckexplorer plugin + $cache = JCK_BASE . '/plugins/jckexplorer/cache'; + + if( JFolder::exists( $cache ) ) + { + // Delete cache folders + foreach( JFolder::folders( $cache ) as $folder ) + { + JFolder::delete( $cache . DS . $folder ); + }//end foreach + + // Delete cache files + foreach( JFolder::files( $cache ) as $file ) + { + if( $file != 'index.html' ) + { + JFile::delete( $cache . DS . $file ); + }//end if + }//end foreach + }//end if + + //for upgrade + $query = 'SELECT p.name FROM `#__jckplugins` p WHERE p.iscore = 0'; + $db->setQuery( $query ); + $results = $db->loadObjectList(); + + if(!empty($results)) + { + for($i = 0; $i < count($results);$i++) + { + if(JFolder::exists(JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$results[$i]->name) && + !JFolder::exists(JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman'.DS.'editor'.DS.'plugins'.DS.$results[$i]->name) + ) + { + $src = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$results[$i]->name; + $dest = JPATH_ADMINISTRATOR.DS .'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.$results[$i]->name; + + if( !JFolder::copy( $src, $dest) ) + { + $mainframe->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_INSTALL_UNABLE_TO_MOVE_SPRINTF','base plugin .'.$results[$i]->name.' to JCK backup folder!') ); + } + } + }//end for loop + } + + //fix remove component install file from the editor's folder + $file = JPATH_ADMINISTRATOR.DS .'components' .DS. 'com_jckman'.DS.'editor'.DS.'com_jckman.xml'; + if(JFile::exists($file)) + JFile::delete($file); + + } + + + + + + function update($parent) + { + $this->install($parent); + + $db = JFactory::getDBO(); + + if(method_exists($parent, 'extension_root')) { + $sqlfile = $parent->getPath('extension_root').DS.'sql'.DS.'install.sql'; + } else { + $sqlfile = $parent->getParent()->getPath('extension_root').DS.'sql'.DS.'install.sql'; + } + + // Don't modify below this line + $buffer = file_get_contents($sqlfile); + + if ($buffer !== false) { + jimport('joomla.installer.helper'); + $queries = JInstallerHelper::splitSql($buffer); + + if (count($queries) != 0) { + foreach ($queries as $query) + { + $query = trim($query); + if ($query != '' && $query{0} != '#') { + $db->setQuery($query); + if (!$db->query()) { + if( !class_exists( 'JCKHelper' ) ) require_once( JPATH_COMPONENT_ADMINISTRATOR . DS . 'helper.php' ); + + JCKHelper::error( JText::sprintf('JLIB_INSTALLER_ERROR_SQL_ERROR', $db->stderr(true))); + return false; + } + } + } + } + } + } + + function uninstall($parent) + { + $app = JFactory::getApplication(); + $db = JFactory::getDBO(); + $path = JPATH_ADMINISTRATOR .DS. 'modules' .DS. 'mod_jckquickicon'; + jimport('joomla.filesystem.folder'); + + if( JFolder::exists( $path ) && !JFolder::delete( $path ) ){ + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','control panel icon module!') ); + } + + $sql = $db->getQuery( true ); + $sql->delete( '#__modules' ) + ->where( 'position IN ( "jck_cpanel", "jck_icon" )' ); + if( !$db->setQuery( $sql )->query() ) + { + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','PlugMan modules data!') ); + } + + $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'pluginoverrides.php'; + + if(JFile::exists($file) && !JFile::delete($file)) { + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','pluginoverrides JCK plugin!') ); + } + + $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'languageoverrides.php'; + + if(JFile::exists($file) && !JFile::delete($file)) { + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','languageoverrides JCK plugin!') ); + } + + $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'editor'.DS. 'acl.php'; + + if(JFile::exists($file) && !JFile::delete($file)) { + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','ACL JCK plugin!') ); + } + + $file = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'plugins'.DS.'toolbar'.DS. 'components.php'; + + if(JFile::exists($file) && !JFile::delete($file)) { + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','components JCK toolbar plugin!') ); + } + + // For some reason we need to remove the row from the asset table?! + $sql = $db->getQuery( true ); + $sql->delete( '#__assets' ) + ->where( 'name = "com_jckman"' ); + if( !$db->setQuery( $sql )->query() ) + { + $app->enqueueMessage( JText::sprintf('COM_JCKMAN_CUSTOM_UNINSTALL','Unable to remove JCKMan asset record!') ); + } + + $sql = $db->getQuery( true ); + $sql->delete( '#__assets' ) + ->where( '`title` like "%JCK%MAN%"' ); + $db->setQuery( $sql )->query(); + + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/jckman.php b/deployed/jckman/administrator/components/com_jckman/jckman.php index 24861517..93d96e12 100644 --- a/deployed/jckman/administrator/components/com_jckman/jckman.php +++ b/deployed/jckman/administrator/components/com_jckman/jckman.php @@ -1,104 +1,104 @@ -addStyleSheet( JCK_COMPONENT . '/css/header.css', 'text/css' ); - -jckimport('base.controller'); -//now load in JBrowser class as it is now needed -jimport('joomla.environment.browser'); - -//register all event listeners -JCKRegisterAllEventlisetners(); -$app = JFactory::getApplication(); - -$controllername = ''; - -$task = $app->input->get('task','' ); - -if(strpos($task,'.')) - list($controllername,$task) = explode('.',$task); - -if($controllername) - $app->input->set('controller',$controllername); - - -//Make sure we load in system language file for component - -$lang = JFactory::getLanguage(); -$component = 'com_jckman.sys'; -$lang->load($component, JPATH_ADMINISTRATOR); - - -if(is_dir(CKEDITOR_LIBRARY)) -{ - require_once('helper.php'); - $view = $app->input->get('view','cpanel' ); -} -else -{ - require_once('helper.php'); - $view = 'cpanel'; - $app->enqueueMessage("COM_JCKMAN_NO_DETECT_EDITOR_MSG"); -} - -// Require specific controller if requested -jckimport('controllers.' . $view ); - -if($view == "install") -{ - require_once (JPATH_COMPONENT.DS.'controllers'.DS. 'install.php'); - - //load language file, - $lang = JFactory::getLanguage(); - $lang->load('com_installer',JPATH_ADMINISTRATOR); - - // Create the controller - jimport('joomla.client.helper'); - $controller = JControllerLegacy::getInstance('Installer',array( - 'base_path' => dirname( __FILE__ ))); - - if(!is_a($controller,'InstallerController')) - { - $app->setUserState('com_installer.redirect_url', 'index.php?option=com_jckman&view=install'); - } - - $controller->execute($app->input->get( 'task' )); - $controller->redirect(); -} -else -{ - // main helper class - jckimport('helper'); - // global include classes - jckimport('parameter.parameter'); - jckimport('html.html'); - - $controller = JControllerLegacy::getInstance('JCKMan'); - $controller->execute($app->input->get( 'task' )); - $controller->redirect(); +addStyleSheet( JCK_COMPONENT . '/css/header.css', 'text/css' ); + +jckimport('base.controller'); +//now load in JBrowser class as it is now needed +jimport('joomla.environment.browser'); + +//register all event listeners +JCKRegisterAllEventlisetners(); +$app = JFactory::getApplication(); + +$controllername = ''; + +$task = $app->input->get('task','' ); + +if(strpos($task,'.')) + list($controllername,$task) = explode('.',$task); + +if($controllername) + $app->input->set('controller',$controllername); + + +//Make sure we load in system language file for component + +$lang = JFactory::getLanguage(); +$component = 'com_jckman.sys'; +$lang->load($component, JPATH_ADMINISTRATOR); + + +if(is_dir(CKEDITOR_LIBRARY)) +{ + require_once('helper.php'); + $view = $app->input->get('view','cpanel' ); +} +else +{ + require_once('helper.php'); + $view = 'cpanel'; + $app->enqueueMessage("COM_JCKMAN_NO_DETECT_EDITOR_MSG"); +} + +// Require specific controller if requested +jckimport('controllers.' . $view ); + +if($view == "install") +{ + require_once (JPATH_COMPONENT.DS.'controllers'.DS. 'install.php'); + + //load language file, + $lang = JFactory::getLanguage(); + $lang->load('com_installer',JPATH_ADMINISTRATOR); + + // Create the controller + jimport('joomla.client.helper'); + $controller = JControllerLegacy::getInstance('Installer',array( + 'base_path' => dirname( __FILE__ ))); + + if(!is_a($controller,'InstallerController')) + { + $app->setUserState('com_installer.redirect_url', 'index.php?option=com_jckman&view=install'); + } + + $controller->execute($app->input->get( 'task' )); + $controller->redirect(); +} +else +{ + // main helper class + jckimport('helper'); + // global include classes + jckimport('parameter.parameter'); + jckimport('html.html'); + + $controller = JControllerLegacy::getInstance('JCKMan'); + $controller->execute($app->input->get( 'task' )); + $controller->redirect(); } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/js/groups.j25.js b/deployed/jckman/administrator/components/com_jckman/js/groups.j25.js index a165e475..8b03c5ee 100644 --- a/deployed/jckman/administrator/components/com_jckman/js/groups.j25.js +++ b/deployed/jckman/administrator/components/com_jckman/js/groups.j25.js @@ -1,49 +1,49 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -// File not in use - -function getGroups() -{ - return document.getElementById('jform_groups'); -} - -function allgroups() -{ - var e = getGroups(); - e.disabled = false; - var i = 0; - var n = e.options.length; - for (i = 0; i < n; i++) { - e.options[i].disabled = false; - e.options[i].selected = true; - } -} - -function disablegroups() -{ - var e = getGroups(); - e.disabled = true; - var i = 0; - var n = e.options.length; - for (i = 0; i < n; i++) { - e.options[i].disabled = true; - e.options[i].selected = false; - } -} - -function enablegroups() -{ - var e = getGroups(); - e.disabled = false; - var i = 0; - var n = e.options.length; - for (i = 0; i < n; i++) { - e.options[i].disabled = false; - } +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +// File not in use + +function getGroups() +{ + return document.getElementById('jform_groups'); +} + +function allgroups() +{ + var e = getGroups(); + e.disabled = false; + var i = 0; + var n = e.options.length; + for (i = 0; i < n; i++) { + e.options[i].disabled = false; + e.options[i].selected = true; + } +} + +function disablegroups() +{ + var e = getGroups(); + e.disabled = true; + var i = 0; + var n = e.options.length; + for (i = 0; i < n; i++) { + e.options[i].disabled = true; + e.options[i].selected = false; + } +} + +function enablegroups() +{ + var e = getGroups(); + e.disabled = false; + var i = 0; + var n = e.options.length; + for (i = 0; i < n; i++) { + e.options[i].disabled = false; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/js/groups.js b/deployed/jckman/administrator/components/com_jckman/js/groups.js index ee01ebda..95db80b0 100644 --- a/deployed/jckman/administrator/components/com_jckman/js/groups.js +++ b/deployed/jckman/administrator/components/com_jckman/js/groups.js @@ -1,41 +1,41 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -function getGroups() -{ - return jQuery( '#jform_groups' ); -} - -function allgroups() -{ - var e = getGroups(); - - e.attr( 'disabled', false ); - e.find( 'option' ).attr( 'disabled', false ); - e.find( 'option' ).attr( 'selected', true ); - e.trigger( 'liszt:updated' ); -} - -function disablegroups() -{ - var e = getGroups(); - - e.attr( 'disabled', true ); - e.find( 'option' ).attr( 'disabled', true ); - e.find( 'option' ).attr( 'selected', false ); - e.trigger( 'liszt:updated' ); -} - -function enablegroups() -{ - var e = getGroups(); - - e.attr( 'disabled', false ); - e.find( 'option' ).attr( 'disabled', false ); - e.trigger( 'liszt:updated' ); +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +function getGroups() +{ + return jQuery( '#jform_groups' ); +} + +function allgroups() +{ + var e = getGroups(); + + e.attr( 'disabled', false ); + e.find( 'option' ).attr( 'disabled', false ); + e.find( 'option' ).attr( 'selected', true ); + e.trigger( 'liszt:updated' ); +} + +function disablegroups() +{ + var e = getGroups(); + + e.attr( 'disabled', true ); + e.find( 'option' ).attr( 'disabled', true ); + e.find( 'option' ).attr( 'selected', false ); + e.trigger( 'liszt:updated' ); +} + +function enablegroups() +{ + var e = getGroups(); + + e.attr( 'disabled', false ); + e.find( 'option' ).attr( 'disabled', false ); + e.trigger( 'liszt:updated' ); } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/js/toolbars.j25.js b/deployed/jckman/administrator/components/com_jckman/js/toolbars.j25.js index 802807d3..16263cbf 100644 --- a/deployed/jckman/administrator/components/com_jckman/js/toolbars.j25.js +++ b/deployed/jckman/administrator/components/com_jckman/js/toolbars.j25.js @@ -1,49 +1,49 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -// File not in use - -function getSelections() -{ - return document.getElementById('jform_selections'); -} - -function allselections() -{ - var e = getSelections(); - e.disabled = false; - var i = 0; - var n = e.options.length; - for (i = 0; i < n; i++) { - e.options[i].disabled = false; - e.options[i].selected = true; - } -} - -function disableselections() -{ - var e = getSelections(); - e.disabled = true; - var i = 0; - var n = e.options.length; - for (i = 0; i < n; i++) { - e.options[i].disabled = true; - e.options[i].selected = false; - } -} - -function enableselections() -{ - var e = getSelections(); - e.disabled = false; - var i = 0; - var n = e.options.length; - for (i = 0; i < n; i++) { - e.options[i].disabled = false; - } +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +// File not in use + +function getSelections() +{ + return document.getElementById('jform_selections'); +} + +function allselections() +{ + var e = getSelections(); + e.disabled = false; + var i = 0; + var n = e.options.length; + for (i = 0; i < n; i++) { + e.options[i].disabled = false; + e.options[i].selected = true; + } +} + +function disableselections() +{ + var e = getSelections(); + e.disabled = true; + var i = 0; + var n = e.options.length; + for (i = 0; i < n; i++) { + e.options[i].disabled = true; + e.options[i].selected = false; + } +} + +function enableselections() +{ + var e = getSelections(); + e.disabled = false; + var i = 0; + var n = e.options.length; + for (i = 0; i < n; i++) { + e.options[i].disabled = false; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/js/toolbars.js b/deployed/jckman/administrator/components/com_jckman/js/toolbars.js index 82caf431..9c1c4364 100644 --- a/deployed/jckman/administrator/components/com_jckman/js/toolbars.js +++ b/deployed/jckman/administrator/components/com_jckman/js/toolbars.js @@ -1,41 +1,41 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -function getSelections() -{ - return jQuery( '#jform_selections' ); -} - -function allselections() -{ - var e = getSelections(); - - e.attr( 'disabled', false ); - e.find( 'option' ).attr( 'disabled', false ); - e.find( 'option' ).attr( 'selected', true ); - e.trigger( 'liszt:updated' ); -} - -function disableselections() -{ - var e = getSelections(); - - e.attr( 'disabled', true ); - e.find( 'option' ).attr( 'disabled', true ); - e.find( 'option' ).attr( 'selected', false ); - e.trigger( 'liszt:updated' ); -} - -function enableselections() -{ - var e = getSelections(); - - e.attr( 'disabled', false ); - e.find( 'option' ).attr( 'disabled', false ); - e.trigger( 'liszt:updated' ); +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +function getSelections() +{ + return jQuery( '#jform_selections' ); +} + +function allselections() +{ + var e = getSelections(); + + e.attr( 'disabled', false ); + e.find( 'option' ).attr( 'disabled', false ); + e.find( 'option' ).attr( 'selected', true ); + e.trigger( 'liszt:updated' ); +} + +function disableselections() +{ + var e = getSelections(); + + e.attr( 'disabled', true ); + e.find( 'option' ).attr( 'disabled', true ); + e.find( 'option' ).attr( 'selected', false ); + e.trigger( 'liszt:updated' ); +} + +function enableselections() +{ + var e = getSelections(); + + e.attr( 'disabled', false ); + e.find( 'option' ).attr( 'disabled', false ); + e.trigger( 'liszt:updated' ); } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/de-DE/de-DE.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/de-DE/de-DE.plg_jckjtreelink.ini index 8dbf9e5e..bc830890 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/de-DE/de-DE.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/de-DE/de-DE.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Kern JTreeLink plugin" -PLG_JCK_DIALOG_TITLESHWN="Select Dialog Title" -PLG_JCK_DIALOG_TITLESHWN_DESC="Der Titel im Dialogfeld für dieses Plugin" -PLG_JCK_DIALOG_TITLEENT="Dialog Title" -PLG_JCK_DIALOG_TITLEENT_DESC="Geben Sie den Titel, um im Dialog für dieses Plugin für" -PLG_JCK_DIALOG_HEIGHT="Dialog Höhe" -PLG_JCK_DIALOG_HEIGHT_DESC="Die Höhe der Dialog" -PLG_JCK_DIALOG_WIDTH="Dialog Breite" +PLG_JCK_DESC="Kern JTreeLink plugin" +PLG_JCK_DIALOG_TITLESHWN="Select Dialog Title" +PLG_JCK_DIALOG_TITLESHWN_DESC="Der Titel im Dialogfeld für dieses Plugin" +PLG_JCK_DIALOG_TITLEENT="Dialog Title" +PLG_JCK_DIALOG_TITLEENT_DESC="Geben Sie den Titel, um im Dialog für dieses Plugin für" +PLG_JCK_DIALOG_HEIGHT="Dialog Höhe" +PLG_JCK_DIALOG_HEIGHT_DESC="Die Höhe der Dialog" +PLG_JCK_DIALOG_WIDTH="Dialog Breite" PLG_JCK_DIALOG_WIDTH_DESC="Die Breite der Dialog" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckautogrow.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckautogrow.ini index eb57f522..7da4ec96 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckautogrow.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckautogrow.ini @@ -1,7 +1,7 @@ -PLG_JCK_DESC="Core Autogrow plugin" -PLG_JCK_AUTOGROW_MAX_HEIGHT="AutoGrow Max Height" -PLG_JCK_AUTOGROW_MAX_HEIGHT_DESC="The maximum editor height, in pixels, the editor can reach using the AutoGrow feature" -PLG_JCK_AUTOGROW_MIN_HEIGHT="AutoGrow Min Height" -PLG_JCK_AUTOGROW_MIN_HEIGHT_DESC="The minimum editor height, in pixels, the editor can reach using the AutoGrow feature" -PLG_JCK_ENABLE_AUTO_GROW_ON_STARTUP="Enable Auto Grow on Startup" +PLG_JCK_DESC="Core Autogrow plugin" +PLG_JCK_AUTOGROW_MAX_HEIGHT="AutoGrow Max Height" +PLG_JCK_AUTOGROW_MAX_HEIGHT_DESC="The maximum editor height, in pixels, the editor can reach using the AutoGrow feature" +PLG_JCK_AUTOGROW_MIN_HEIGHT="AutoGrow Min Height" +PLG_JCK_AUTOGROW_MIN_HEIGHT_DESC="The minimum editor height, in pixels, the editor can reach using the AutoGrow feature" +PLG_JCK_ENABLE_AUTO_GROW_ON_STARTUP="Enable Auto Grow on Startup" PLG_JCK_ENABLE_AUTO_GROW_ON_STARTUP_DESC="Sets whether to have the autogrow happen on editor creation" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolorbutton.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolorbutton.ini index 61fb48e8..58c5caa0 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolorbutton.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolorbutton.ini @@ -1,5 +1,5 @@ -PLG_JCK_DESC="Core ColorButton plugin" -PLG_JCK_COLOR_LIST="Color List" -PLG_JCK_COLOR_LIST_DESC="Defines the colors to be displayed in the color selectors. This is a string containing hexadecimal notation for HTML colors, without the '#' prefix. A color abel is defined by entering text in the 'Text' input box next to the 'Value' input box. For example, 'FontColor1' can be used for the label and 'FF9900' could be used for the color." -PLG_JCK_ENABLE_MORE_COLORS="Enable More Colors" +PLG_JCK_DESC="Core ColorButton plugin" +PLG_JCK_COLOR_LIST="Color List" +PLG_JCK_COLOR_LIST_DESC="Defines the colors to be displayed in the color selectors. This is a string containing hexadecimal notation for HTML colors, without the '#' prefix. A color abel is defined by entering text in the 'Text' input box next to the 'Value' input box. For example, 'FontColor1' can be used for the label and 'FF9900' could be used for the color." +PLG_JCK_ENABLE_MORE_COLORS="Enable More Colors" PLG_JCK_ENABLE_MORE_COLORS_DESC="Determines whether to enable the 'More Colors' button in the color selectors" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolordialog.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolordialog.ini index cc872844..2d967998 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolordialog.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcolordialog.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Core ColorDialog plugin" -PLG_JCK_DIALOG_TITLESHWN="Select Dialog Title" -PLG_JCK_DIALOG_TITLESHWN_DESC="The Title shown in the dialog for this plugin" -PLG_JCK_DIALOG_TITLEENT="Dialog Title" -PLG_JCK_DIALOG_TITLEENT_DESC="Enter the title to show in the dialog for this plugin" -PLG_JCK_DIALOG_HEIGHT="Dialog height" -PLG_JCK_DIALOG_HEIGHT_DESC="The height of dialog" -PLG_JCK_DIALOG_WIDTH="Dialog width" -PLG_JCK_DIALOG_WIDTH_DESC="The width of dialog" +PLG_JCK_DESC="Core ColorDialog plugin" +PLG_JCK_DIALOG_TITLESHWN="Select Dialog Title" +PLG_JCK_DIALOG_TITLESHWN_DESC="The Title shown in the dialog for this plugin" +PLG_JCK_DIALOG_TITLEENT="Dialog Title" +PLG_JCK_DIALOG_TITLEENT_DESC="Enter the title to show in the dialog for this plugin" +PLG_JCK_DIALOG_HEIGHT="Dialog height" +PLG_JCK_DIALOG_HEIGHT_DESC="The height of dialog" +PLG_JCK_DIALOG_WIDTH="Dialog width" +PLG_JCK_DIALOG_WIDTH_DESC="The width of dialog" diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcontextmenu.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcontextmenu.ini index 3d5e7df2..6c5517d6 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcontextmenu.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckcontextmenu.ini @@ -1,3 +1,3 @@ -PLG_JCK_DESC="Core Contextmenu plugin" -PLG_JCK_SHOW_BROWSER _CONTEXT_MENU_ON_CTRL_KEY="Show Browser Context Menu on Ctrl Key" +PLG_JCK_DESC="Core Contextmenu plugin" +PLG_JCK_SHOW_BROWSER _CONTEXT_MENU_ON_CTRL_KEY="Show Browser Context Menu on Ctrl Key" PLG_JCK_SHOW_BROWSER _CONTEXT_MENU_ON_CTRL_KEY_DESC="Determines whether to show the browser native context menu when the Ctrl or Meta (Mac) key is pressed on opening the context menu with the right mouse button click or the Menu key" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckdialog.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckdialog.ini index 829eba73..a049d5a5 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckdialog.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckdialog.ini @@ -1,11 +1,11 @@ -PLG_JCK_DESC="Core Dialog plugin" -PLG_JCK_DIALOG_FLOAT_INDEX="Dialog Float Index" -PLG_JCK_DIALOG_FLOAT_INDEX_DESC="The base Z-index for floating dialog windows and popups" -PLG_JCK_DIALOG_BACKGROUND_COVER_COLOR="Dialog Background Cover Color" -PLG_JCK_DIALOG_BACKGROUND_COVER_COLOR_DESC="The color of the dialog background cover. It should be a valid CSS color string" -PLG_JCK_DIALOG_INDENT_OFFSET="Indent Offset" -PLG_JCK_DIALOG_INDENT_OFFSET_DESC="Size of each indentation step" -PLG_JCK_DIALOG_BUTTON_ORDER="Dialog Button Order" -PLG_JCK_DIALOG_BUTTON_ORDER_DESC="The guideline to follow when generating the dialog buttons. There are 3 possible options: 'Operatig System' - the buttons will be displayed in the default order of the user's OS, Left to Right , Right to Left" -PLG_JCK_DIALOG_STARTUP_FOCUS _TAB="Dialog Startup Focus Tab" +PLG_JCK_DESC="Core Dialog plugin" +PLG_JCK_DIALOG_FLOAT_INDEX="Dialog Float Index" +PLG_JCK_DIALOG_FLOAT_INDEX_DESC="The base Z-index for floating dialog windows and popups" +PLG_JCK_DIALOG_BACKGROUND_COVER_COLOR="Dialog Background Cover Color" +PLG_JCK_DIALOG_BACKGROUND_COVER_COLOR_DESC="The color of the dialog background cover. It should be a valid CSS color string" +PLG_JCK_DIALOG_INDENT_OFFSET="Indent Offset" +PLG_JCK_DIALOG_INDENT_OFFSET_DESC="Size of each indentation step" +PLG_JCK_DIALOG_BUTTON_ORDER="Dialog Button Order" +PLG_JCK_DIALOG_BUTTON_ORDER_DESC="The guideline to follow when generating the dialog buttons. There are 3 possible options: 'Operatig System' - the buttons will be displayed in the default order of the user's OS, Left to Right , Right to Left" +PLG_JCK_DIALOG_STARTUP_FOCUS _TAB="Dialog Startup Focus Tab" PLG_JCK_DIALOG_STARTUP_FOCUS _TAB_DESC="If the dialog has more than one tab, put focus into the first tab as soon as dialog is opened" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckeditingblock.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckeditingblock.ini index 9d93c7d4..260a5799 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckeditingblock.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckeditingblock.ini @@ -1,7 +1,7 @@ -PLG_JCK_DESC="Core Editingblock plugin" -PLG_JCK_AUTO_PARAGRAH="Auto Paragrah" -PLG_JCK_AUTO_PARAGRAH_DESC="Determines whether automatically create wrapping blocks around inline contents inside document body, this helps to ensure the integrality of the block enter mode. Note: Changing the default value might introduce unpredictable usability issues" -PLG_JCK_STARTUP_MODE="StartUp Mode" -PLG_JCK_STARTUP_MODE_DESC="The mode to load at the editor startup. It depends on the plugins loaded. By default, the 'wysiwyg' and 'source' modes are available" -PLG_JCK_USE_COMPUTED_STATE="Use Computed State" +PLG_JCK_DESC="Core Editingblock plugin" +PLG_JCK_AUTO_PARAGRAH="Auto Paragrah" +PLG_JCK_AUTO_PARAGRAH_DESC="Determines whether automatically create wrapping blocks around inline contents inside document body, this helps to ensure the integrality of the block enter mode. Note: Changing the default value might introduce unpredictable usability issues" +PLG_JCK_STARTUP_MODE="StartUp Mode" +PLG_JCK_STARTUP_MODE_DESC="The mode to load at the editor startup. It depends on the plugins loaded. By default, the 'wysiwyg' and 'source' modes are available" +PLG_JCK_USE_COMPUTED_STATE="Use Computed State" PLG_JCK_USE_COMPUTED_STATE_DESC="Determines whether automatically create wrapping blocks around inline contents inside document body, this helps to ensure the integrality of the block enter mode. Note: Changing the default value might introduce unpredictable usability issues" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckenterkey.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckenterkey.ini index 5bc78f93..de065c72 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckenterkey.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckenterkey.ini @@ -1,3 +1,3 @@ -PLG_JCK_DESC="Core EnteyKey plugin" -PLG_JCK_FORCE_ENTER_MODE="Force Enter Mode" +PLG_JCK_DESC="Core EnteyKey plugin" +PLG_JCK_FORCE_ENTER_MODE="Force Enter Mode" PLG_JCK_FORCE_ENTER_MODE_DESC="Force the use of the enterMode option as line breaks regardless of the context. If, for example the enterMode option is set to <P>, pressing the Enter key inside a <div> element will create a new paragraph with <p> instead of a <div>" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckjtreelink.ini index 1da981b9..982d05cc 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/en-GB/en-GB.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Core JTreeLink plugin" -PLG_JCK_DIALOG_TITLESHWN="Select Dialog Title" -PLG_JCK_DIALOG_TITLESHWN_DESC="The Title shown in the dialog for this plugin" -PLG_JCK_DIALOG_TITLEENT="Dialog Title" -PLG_JCK_DIALOG_TITLEENT_DESC="Enter the title to show in the dialog for this plugin" -PLG_JCK_DIALOG_HEIGHT="Dialog height" -PLG_JCK_DIALOG_HEIGHT_DESC="The height of dialog" -PLG_JCK_DIALOG_WIDTH="Dialog width" +PLG_JCK_DESC="Core JTreeLink plugin" +PLG_JCK_DIALOG_TITLESHWN="Select Dialog Title" +PLG_JCK_DIALOG_TITLESHWN_DESC="The Title shown in the dialog for this plugin" +PLG_JCK_DIALOG_TITLEENT="Dialog Title" +PLG_JCK_DIALOG_TITLEENT_DESC="Enter the title to show in the dialog for this plugin" +PLG_JCK_DIALOG_HEIGHT="Dialog height" +PLG_JCK_DIALOG_HEIGHT_DESC="The height of dialog" +PLG_JCK_DIALOG_WIDTH="Dialog width" PLG_JCK_DIALOG_WIDTH_DESC="The width of dialog" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/es-ES/es-ES.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/es-ES/es-ES.plg_jckjtreelink.ini index 9e667c60..695480c1 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/es-ES/es-ES.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/es-ES/es-ES.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Núcleo JTreeLink plugin" -PLG_JCK_DIALOG_TITLESHWN="Select Título Dialog" -PLG_JCK_DIALOG_TITLESHWN_DESC="El título muestra en el cuadro de diálogo para este plugin" -PLG_JCK_DIALOG_TITLEENT="Título de diálogo" -PLG_JCK_DIALOG_TITLEENT_DESC="Introduzca el título para mostrar en el cuadro de diálogo para este plugin" -PLG_JCK_DIALOG_HEIGHT="Altura de diálogo" -PLG_JCK_DIALOG_HEIGHT_DESC="La altura de diálogo" -PLG_JCK_DIALOG_WIDTH="Ancho de diálogo" +PLG_JCK_DESC="Núcleo JTreeLink plugin" +PLG_JCK_DIALOG_TITLESHWN="Select Título Dialog" +PLG_JCK_DIALOG_TITLESHWN_DESC="El título muestra en el cuadro de diálogo para este plugin" +PLG_JCK_DIALOG_TITLEENT="Título de diálogo" +PLG_JCK_DIALOG_TITLEENT_DESC="Introduzca el título para mostrar en el cuadro de diálogo para este plugin" +PLG_JCK_DIALOG_HEIGHT="Altura de diálogo" +PLG_JCK_DIALOG_HEIGHT_DESC="La altura de diálogo" +PLG_JCK_DIALOG_WIDTH="Ancho de diálogo" PLG_JCK_DIALOG_WIDTH_DESC="El ancho de diálogo" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/fi-FI/fi-FI.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/fi-FI/fi-FI.plg_jckjtreelink.ini index 72ad0f8e..6f80052c 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/fi-FI/fi-FI.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/fi-FI/fi-FI.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Core JTreeLink plugin" -PLG_JCK_DIALOG_TITLESHWN="Valitse Dialog Otsikko" -PLG_JCK_DIALOG_TITLESHWN_DESC="Otsikko ikkunassa näkyvään tämän plugin" -PLG_JCK_DIALOG_TITLEENT="Dialog Otsikko" -PLG_JCK_DIALOG_TITLEENT_DESC="Kirjoita otsikko dialogi tämän plugin" -PLG_JCK_DIALOG_HEIGHT="Dialog korkeus" -PLG_JCK_DIALOG_HEIGHT_DESC="korkeus dialogi" -PLG_JCK_DIALOG_WIDTH="Dialog leveys" +PLG_JCK_DESC="Core JTreeLink plugin" +PLG_JCK_DIALOG_TITLESHWN="Valitse Dialog Otsikko" +PLG_JCK_DIALOG_TITLESHWN_DESC="Otsikko ikkunassa näkyvään tämän plugin" +PLG_JCK_DIALOG_TITLEENT="Dialog Otsikko" +PLG_JCK_DIALOG_TITLEENT_DESC="Kirjoita otsikko dialogi tämän plugin" +PLG_JCK_DIALOG_HEIGHT="Dialog korkeus" +PLG_JCK_DIALOG_HEIGHT_DESC="korkeus dialogi" +PLG_JCK_DIALOG_WIDTH="Dialog leveys" PLG_JCK_DIALOG_WIDTH_DESC="leveys dialogi" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/fr-FR/fr-FR.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/fr-FR/fr-FR.plg_jckjtreelink.ini index 1942a901..865cf146 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/fr-FR/fr-FR.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/fr-FR/fr-FR.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Noyau JTreeLink plug-in" -PLG_JCK_DIALOG_TITLESHWN="Sélection Titre" -PLG_JCK_DIALOG_TITLESHWN_DESC="Le titre affiché dans la boîte de dialogue pour ce plugin" -PLG_JCK_DIALOG_TITLEENT="Titre de dialogue" -PLG_JCK_DIALOG_TITLEENT_DESC="Entrez le titre à afficher dans la boîte de dialogue pour ce plugin" -PLG_JCK_DIALOG_HEIGHT="Hauteur de dialogue" -PLG_JCK_DIALOG_HEIGHT_DESC="La hauteur de dialogue" -PLG_JCK_DIALOG_WIDTH="Largeur de dialogue" +PLG_JCK_DESC="Noyau JTreeLink plug-in" +PLG_JCK_DIALOG_TITLESHWN="Sélection Titre" +PLG_JCK_DIALOG_TITLESHWN_DESC="Le titre affiché dans la boîte de dialogue pour ce plugin" +PLG_JCK_DIALOG_TITLEENT="Titre de dialogue" +PLG_JCK_DIALOG_TITLEENT_DESC="Entrez le titre à afficher dans la boîte de dialogue pour ce plugin" +PLG_JCK_DIALOG_HEIGHT="Hauteur de dialogue" +PLG_JCK_DIALOG_HEIGHT_DESC="La hauteur de dialogue" +PLG_JCK_DIALOG_WIDTH="Largeur de dialogue" PLG_JCK_DIALOG_WIDTH_DESC="La largeur de dialogue" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/it-IT/it-IT.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/it-IT/it-IT.plg_jckjtreelink.ini index d9d70305..352880f1 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/it-IT/it-IT.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/it-IT/it-IT.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC = "Nucleo JTreeLink plugin" -PLG_JCK_DIALOG_TITLESHWN = "Finestra di dialogo Seleziona titolo" -PLG_JCK_DIALOG_TITLESHWN_DESC = "Il titolo indicato nel dialogo per questo plugin" -PLG_JCK_DIALOG_TITLEENT = "Dialog Titolo" -PLG_JCK_DIALOG_TITLEENT_DESC = "Inserire il titolo da visualizzare nella finestra di dialogo per questo plugin" -PLG_JCK_DIALOG_HEIGHT = "Altezza Dialog" -PLG_JCK_DIALOG_HEIGHT_DESC = "L'altezza della finestra di dialogo" -PLG_JCK_DIALOG_WIDTH = "Larghezza Dialog" +PLG_JCK_DESC = "Nucleo JTreeLink plugin" +PLG_JCK_DIALOG_TITLESHWN = "Finestra di dialogo Seleziona titolo" +PLG_JCK_DIALOG_TITLESHWN_DESC = "Il titolo indicato nel dialogo per questo plugin" +PLG_JCK_DIALOG_TITLEENT = "Dialog Titolo" +PLG_JCK_DIALOG_TITLEENT_DESC = "Inserire il titolo da visualizzare nella finestra di dialogo per questo plugin" +PLG_JCK_DIALOG_HEIGHT = "Altezza Dialog" +PLG_JCK_DIALOG_HEIGHT_DESC = "L'altezza della finestra di dialogo" +PLG_JCK_DIALOG_WIDTH = "Larghezza Dialog" PLG_JCK_DIALOG_WIDTH_DESC = "La larghezza della finestra di dialogo" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/nl-NL/nl-NL.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/nl-NL/nl-NL.plg_jckjtreelink.ini index 6584beaf..e550ab6b 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/nl-NL/nl-NL.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/nl-NL/nl-NL.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC="Kern JTreeLink plugin" -PLG_JCK_DIALOG_TITLESHWN="Select Dialog titel" -PLG_JCK_DIALOG_TITLESHWN_DESC="De titel in het dialoogvenster voor deze plugin" -PLG_JCK_DIALOG_TITLEENT="Dialog titel" -PLG_JCK_DIALOG_TITLEENT_DESC="Voer de titel aan te tonen in het dialoogvenster voor deze plugin" -PLG_JCK_DIALOG_HEIGHT="Dialoogvenster Hoogte" -PLG_JCK_DIALOG_HEIGHT_DESC="De hoogte van het dialoogvenster" -PLG_JCK_DIALOG_WIDTH="Dialoogvenster Breedte" +PLG_JCK_DESC="Kern JTreeLink plugin" +PLG_JCK_DIALOG_TITLESHWN="Select Dialog titel" +PLG_JCK_DIALOG_TITLESHWN_DESC="De titel in het dialoogvenster voor deze plugin" +PLG_JCK_DIALOG_TITLEENT="Dialog titel" +PLG_JCK_DIALOG_TITLEENT_DESC="Voer de titel aan te tonen in het dialoogvenster voor deze plugin" +PLG_JCK_DIALOG_HEIGHT="Dialoogvenster Hoogte" +PLG_JCK_DIALOG_HEIGHT_DESC="De hoogte van het dialoogvenster" +PLG_JCK_DIALOG_WIDTH="Dialoogvenster Breedte" PLG_JCK_DIALOG_WIDTH_DESC="De Breedte van het dialoogvenster" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/language/ru-RU/ru-RU.plg_jckjtreelink.ini b/deployed/jckman/administrator/components/com_jckman/language/ru-RU/ru-RU.plg_jckjtreelink.ini index 6d00d360..293bf8d2 100644 --- a/deployed/jckman/administrator/components/com_jckman/language/ru-RU/ru-RU.plg_jckjtreelink.ini +++ b/deployed/jckman/administrator/components/com_jckman/language/ru-RU/ru-RU.plg_jckjtreelink.ini @@ -1,9 +1,9 @@ -PLG_JCK_DESC = "ядро JTreeLink плагин" -PLG_JCK_DIALOG_TITLESHWN = "Выберите заголовок диалогового окна" -PLG_JCK_DIALOG_TITLESHWN_DESC = "Заголовок, отображаемый в диалоговом окне для этого плагина" -PLG_JCK_DIALOG_TITLEENT = "заголовок диалога" -PLG_JCK_DIALOG_TITLEENT_DESC = "Введите заголовок для отображения в диалоговом окне для этого плагина" -PLG_JCK_DIALOG_HEIGHT = "Диалог высоте" -PLG_JCK_DIALOG_HEIGHT_DESC = "Высота диалогового окна" -PLG_JCK_DIALOG_WIDTH = "Диалог ширины" +PLG_JCK_DESC = "ядро JTreeLink плагин" +PLG_JCK_DIALOG_TITLESHWN = "Выберите заголовок диалогового окна" +PLG_JCK_DIALOG_TITLESHWN_DESC = "Заголовок, отображаемый в диалоговом окне для этого плагина" +PLG_JCK_DIALOG_TITLEENT = "заголовок диалога" +PLG_JCK_DIALOG_TITLEENT_DESC = "Введите заголовок для отображения в диалоговом окне для этого плагина" +PLG_JCK_DIALOG_HEIGHT = "Диалог высоте" +PLG_JCK_DIALOG_HEIGHT_DESC = "Высота диалогового окна" +PLG_JCK_DIALOG_WIDTH = "Диалог ширины" PLG_JCK_DIALOG_WIDTH_DESC = "Ширина диалогового окна" \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/models/extension.php b/deployed/jckman/administrator/components/com_jckman/models/extension.php index 036d8481..2d3103a6 100644 --- a/deployed/jckman/administrator/components/com_jckman/models/extension.php +++ b/deployed/jckman/administrator/components/com_jckman/models/extension.php @@ -1,140 +1,140 @@ -setState('pagination.limit', $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int')); - $this->setState('pagination.offset',$mainframe->getUserStateFromRequest('com_installer.limitstart.'.$this->_type, 'limitstart', 0, 'int')); - $this->setState('pagination.total', 0); - } - - function &getItems() - { - if (empty($this->_items)) { - // Load the items - $this->_loadItems(); - } - return $this->_items; - } - - function &getPagination() - { - if (empty($this->_pagination)) { - // Make sure items are loaded for a proper total - if (empty($this->_items)) { - // Load the items - $this->_loadItems(); - } - // Load the pagination object - jimport('joomla.html.pagination'); - $this->_pagination = new JPagination($this->state->get('pagination.total'), $this->state->get('pagination.offset'), $this->state->get('pagination.limit')); - } - return $this->_pagination; - } - - /** - * Remove (uninstall) an extension - * - * @static - * @param array An array of identifiers - * @return boolean True on success - * @since 1.0 - */ - function remove($eid=array()) - { - $mainframe =& JFactory::getApplication(); - - // Initialize variables - $failed = array (); - - /* - * Ensure eid is an array of extension ids in the form id => client_id - * TODO: If it isn't an array do we want to set an error and fail? - */ - if (!is_array($eid)) { - $eid = array($eid => 0); - } - - // Get a database connector - $db = JFactory::getDBO(); - - // Get an installer object for the extension type - //jimport('joomla.installer.installer'); - //$installer = & JInstaller::getInstance(); - require_once( JPATH_COMPONENT .DS. 'installer.php' ); - - $installer = JCKInstaller::getInstance(); - - // Uninstall the chosen extensions - foreach ($eid as $id => $clientId) - { - $id = trim( $id ); - $result = $installer->uninstall($this->_type, $id, $clientId ); - - // Build an array of extensions that failed to uninstall - if ($result === false) { - $failed[] = $id; - } - } - - if (count($failed)) { - // There was an error in uninstalling the package - $msg = JText::sprintf('UNINSTALLEXT', JText::_($this->_type), JText::_('Error')); - $result = false; - } else { - // Package uninstalled sucessfully - $msg = JText::sprintf('UNINSTALLEXT', JText::_($this->_type), JText::_('Success')); - $result = true; - } - - $mainframe->enqueueMessage($msg); - $this->setState('action', 'remove'); - $this->setState('name', $installer->get('name')); - $this->setState('message', $installer->message); - $this->setState('extension.message', $installer->get('extension.message')); - - return $result; - } - - function _loadItems() - { - return JCKHelper::error( JText::_('Method Not Implemented')); - } -} - -class JCKManModelExtension extends JCKManModelInstaller -{ - +setState('pagination.limit', $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int')); + $this->setState('pagination.offset',$mainframe->getUserStateFromRequest('com_installer.limitstart.'.$this->_type, 'limitstart', 0, 'int')); + $this->setState('pagination.total', 0); + } + + function &getItems() + { + if (empty($this->_items)) { + // Load the items + $this->_loadItems(); + } + return $this->_items; + } + + function &getPagination() + { + if (empty($this->_pagination)) { + // Make sure items are loaded for a proper total + if (empty($this->_items)) { + // Load the items + $this->_loadItems(); + } + // Load the pagination object + jimport('joomla.html.pagination'); + $this->_pagination = new JPagination($this->state->get('pagination.total'), $this->state->get('pagination.offset'), $this->state->get('pagination.limit')); + } + return $this->_pagination; + } + + /** + * Remove (uninstall) an extension + * + * @static + * @param array An array of identifiers + * @return boolean True on success + * @since 1.0 + */ + function remove($eid=array()) + { + $mainframe =& JFactory::getApplication(); + + // Initialize variables + $failed = array (); + + /* + * Ensure eid is an array of extension ids in the form id => client_id + * TODO: If it isn't an array do we want to set an error and fail? + */ + if (!is_array($eid)) { + $eid = array($eid => 0); + } + + // Get a database connector + $db = JFactory::getDBO(); + + // Get an installer object for the extension type + //jimport('joomla.installer.installer'); + //$installer = & JInstaller::getInstance(); + require_once( JPATH_COMPONENT .DS. 'installer.php' ); + + $installer = JCKInstaller::getInstance(); + + // Uninstall the chosen extensions + foreach ($eid as $id => $clientId) + { + $id = trim( $id ); + $result = $installer->uninstall($this->_type, $id, $clientId ); + + // Build an array of extensions that failed to uninstall + if ($result === false) { + $failed[] = $id; + } + } + + if (count($failed)) { + // There was an error in uninstalling the package + $msg = JText::sprintf('UNINSTALLEXT', JText::_($this->_type), JText::_('Error')); + $result = false; + } else { + // Package uninstalled sucessfully + $msg = JText::sprintf('UNINSTALLEXT', JText::_($this->_type), JText::_('Success')); + $result = true; + } + + $mainframe->enqueueMessage($msg); + $this->setState('action', 'remove'); + $this->setState('name', $installer->get('name')); + $this->setState('message', $installer->message); + $this->setState('extension.message', $installer->get('extension.message')); + + return $result; + } + + function _loadItems() + { + return JCKHelper::error( JText::_('Method Not Implemented')); + } +} + +class JCKManModelExtension extends JCKManModelInstaller +{ + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/models/fields/addcolorlist.php b/deployed/jckman/administrator/components/com_jckman/models/fields/addcolorlist.php index 2001fc1c..6eb5fe9d 100644 --- a/deployed/jckman/administrator/components/com_jckman/models/fields/addcolorlist.php +++ b/deployed/jckman/administrator/components/com_jckman/models/fields/addcolorlist.php @@ -1,182 +1,182 @@ -addScript( $jsUrl ); - - $JElementAddSelectListJSWritten = TRUE; - } - - if (!$JElementJSColorJSWritten) - { - $jsFile = dirname(__FILE__) . DS . "jscolor" . DS . "jscolor.js"; - $jsUrl = str_replace(JPATH_ROOT, JURI::root(true), $jsFile); - $jsUrl = str_replace(DS, "/", $jsUrl); - - $document = JFactory::getDocument(); - $document->addScript( $jsUrl ); - - $JElementJSColorJSWritten = TRUE; - } - - // Initialize variables. - $html = array(); - $attr = ''; - - $name = $this->name; - $id = $this->id; - - // Initialize some field attributes. - $attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : ''; - - // To avoid user's confusion, readonly="true" should imply disabled="true". - if ((string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true') - { - $attr .= ' disabled="disabled"'; - } - - $attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : ' size="12"'; - $attr .= ' multiple="multiple"'; - - // Initialize JavaScript field attributes. - $attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : ' onchange="updateOption(this,document.adminForm.'.$id.'_inputvalue);"' ; - $attr .= ' style="width:150px"'; - - // Get the field options. - $options = (array) $this->getOptions(); - $html[] = JHtml::_('select.genericlist', $options, $this->name.'[]', trim($attr), 'value', 'text', '', $this->id); - - return - ' - - - - - - - - - - - -
                          Value
                          - -
                          - -
                          - '.implode($html).' - - -

                          - -

                          - -
                          - -
                          - '; - } - - /** - * Method to get the field options. - * - * @return array The field option objects. - * - * @since 11.1 - */ - protected function getOptions() - { - // Initialize variables. - $options = array(); - - if(empty($this->value)) - { - foreach ($this->element->children() as $option) - { - // Only add
                          '; +getTemplate(); + + if( !$path ) + { + $path = 'templates/'. $template .'/images/header/'; + }//end if + + $modalref = ($modalclass ? ' class="'.$modalclass.'" rel="{handler: \'iframe\' , size: {x:571, y:400}}"' : ''); + + if($modalref) + { + if(!defined('ADD_MODAL_CLASS')) //only do this once + { + $doc = JFactory::getDocument(); + $doc->addScriptDeclaration( + "window.addEvent('domready', function() + { + $$('a.modal').each(function(el) + { + el.addEvent('click', function() + { + (function() + { + SqueezeBox.overlay.removeEvent('click',SqueezeBox.bound.close); + }).delay(250); + }); + }); + });"); + define('ADD_MODAL_CLASS',1); + } + } + // RENDER BTN + // the id is for auto firing of the buttons + ?> + > + +
                          +
                          + '; + + $size = '64'; + $base = 'index.php?option=com_jckman'; + $view = '&view='; + $task = '&task='; + $path = 'administrator/components/com_jckman/icons/'; + $canDo = JCKHelper::getActions(); + $isMobile = JCKHelper::isMobile(); + $isIOS = (JCKHelper::isMobile() || JCKHelper::isiPad()); + + quickiconButton( $base . $view . 'list', 'icon-' . $size . '-plugin.png', JText::_( 'COM_JCKMAN_QUICKICON_PLUGIN_NAME' ), 'list', $path ); + + if( $canDo->get('jckman.install') ) + { + quickiconButton( $base . $view . 'install', 'icon-' . $size . '-installer.png', JText::_( 'COM_JCKMAN_QUICKICON_INSTALL_NAME' ), 'install', $path ); + } + + if( $canDo->get('jckman.uninstall') ) + { + quickiconButton( $base . $view . 'extension', 'icon-' . $size . '-uninstaller.png', JText::_( 'COM_JCKMAN_QUICKICON_UNINSTALL_NAME' ), 'plugin', $path ); + } + + $jckinstallerpath = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'install'.DS; + + if( $canDo->get('core.edit') ) + { + if(is_dir($jckinstallerpath)) + { + $link = JURI::root() . 'plugins/editors/jckeditor/install/index.php?task=permissions'; + quickiconButton( $link, 'icon-' . $size . '-systemcheck.png', JText::_( 'COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME' ), 'system', $path, 'modal'); + } + else + { + quickiconButton( $base . $task . 'cpanel.check', 'icon-' . $size . '-systemcheck.png', JText::_( 'COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME' ), 'system', $path ); + } + } + if(!$isIOS) + quickiconButton( $base . $view . 'toolbars', 'icon-' . $size . '-layout.png', JText::_( 'COM_JCKMAN_QUICKICON_LAYOUT_NAME' ), 'toolbars', $path ); + + if( $canDo->get('core.edit') ) + { + if(!$isIOS) + quickiconButton( $base . $view . 'import', 'icon-' . $size . '-import.png', JText::_( 'COM_JCKMAN_QUICKICON_IMPORT_NAME' ), 'import', $path ); + } + + if(!$isIOS) + quickiconButton( $base . $task . 'cpanel.export', 'icon-' . $size . '-export.png', JText::_( 'COM_JCKMAN_QUICKICON_BACKUP_NAME' ), 'export', $path ); + + $db = JFactory::getDBO(); + $db->setQuery('SELECT extension_id FROM #__extensions WHERE type = "plugin" AND folder= "editors" AND element = "jckeditor"'); + $result = $db->loadresult(); + + if($result) + { + if( $canDo->get('jckman.sync') ) + { + quickiconButton( $base . $task . 'cpanel.sync', 'icon-' . $size . '-sync.png', JText::_( 'COM_JCKMAN_QUICKICON_SYNC_NAME' ), 'sync', $path ); + } + + $link = 'index.php?option=com_plugins&task=plugin.edit&extension_id='.$result; + quickiconButton( $link, 'icon-' . $size . '-editor.png', JText::_( 'COM_JCKMAN_QUICKICON_JCKEDITOR_NAME' ), 'editor', $path ); + } + + echo '
                          '; } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/modules/mod_jckquickicon/mod_jckquickicon.xml b/deployed/jckman/administrator/components/com_jckman/modules/mod_jckquickicon/mod_jckquickicon.xml index 3eb4ee97..b2eb854f 100644 --- a/deployed/jckman/administrator/components/com_jckman/modules/mod_jckquickicon/mod_jckquickicon.xml +++ b/deployed/jckman/administrator/components/com_jckman/modules/mod_jckquickicon/mod_jckquickicon.xml @@ -1,22 +1,22 @@ - - - JoomlaCK Pugin Manager Control Panel - Andrew Williams - June 2010 - 2009 - 2010 WebxSolutions Ltd. - GNU/GPLv2 - andrew@joomlafckedior.com - http://www.joomlackedior.com - 1.0.0 DEVELOPMENT - JoomlCK Pugin ManagerControl Panel Icons based on Quick Icons Module - - mod_jckquickicon.php - index.html - - - - - - - + + + JoomlaCK Pugin Manager Control Panel + Andrew Williams + June 2010 + 2009 - 2010 WebxSolutions Ltd. + GNU/GPLv2 + andrew@joomlafckedior.com + http://www.joomlackedior.com + 1.0.0 DEVELOPMENT + JoomlCK Pugin ManagerControl Panel Icons based on Quick Icons Module + + mod_jckquickicon.php + index.html + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/restorers/backup.php b/deployed/jckman/administrator/components/com_jckman/restorers/backup.php index 505708c1..ebc7271c 100644 --- a/deployed/jckman/administrator/components/com_jckman/restorers/backup.php +++ b/deployed/jckman/administrator/components/com_jckman/restorers/backup.php @@ -1,168 +1,168 @@ -parent = $parent; - } - - /** - * Custom install method - * - * @access public - * @return boolean True on success - * @since 1.5 - * Minor alteration - see below - */ - function install() - { - // Get a database connector object - $db = $this->parent->getDBO(); - - // Get the extension manifest object - - $manifest = $this->parent->getManifest(); - $this->manifest = $manifest;//$manifest->document; - - /** - * --------------------------------------------------------------------------------------------- - * Manifest Document Setup Section - * --------------------------------------------------------------------------------------------- - */ - // Set the component name - $this->set('name',''); - - // Get the component description - $description = & $this->manifest->description; - $this->parent->set('message', '' ); - - $element = $this->manifest->files; - - $this->parent->setPath('extension_root', JCKPATH_COMPONENT.'/editor'); - - /** - * --------------------------------------------------------------------------------------------- - * Filesystem Processing Section - * --------------------------------------------------------------------------------------------- - */ - // If the extension directory does not exist, lets create it - $created = false; - if (!file_exists($this->parent->getPath('extension_root'))) { - if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { - $this->parent->abort('Plugin Install: '.JText::_('Failed to create directory').': "'.$this->parent->getPath('extension_root').'"'); - return false; - } - } - - /* - * If we created the extension directory and will want to remove it if we - * have to roll back the installation, lets add it to the installation - * step stack - */ - if ($created) { - $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); - } - - // Copy all necessary files - if ($this->parent->parseFiles($element, -1) === false) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - /** - * --------------------------------------------------------------------------------------------- - * Database Processing Section - * --------------------------------------------------------------------------------------------- - */ - - /* - * Let's run the install queries for the component - * If Joomla 1.5 compatible, with discreet sql files - execute appropriate - * file for utf-8 support or non-utf-8 support - */ - // Try for Joomla 1.5 type queries - // Second argument is the utf compatible version attribute - if (isset($this->manifest->install->sql)) - { - $utfresult = $this->parent->parseSQLFiles($this->manifest->install->sql); - - if ($utfresult === false) - { - // Install failed, rollback changes - $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT_COMP_INSTALL_SQL_ERROR', $db->stderr(true))); - - return false; - } - } - - // Parse optional tags -- language files for plugins - $this->parent->parseLanguages($this->manifest->languages, 0); - - /** - * --------------------------------------------------------------------------------------------- - * Finalization and Cleanup Section - * --------------------------------------------------------------------------------------------- - */ - - //Copy JCK Editor's Manifest backup file to the Editor - jimport('joomla.filesystem.file'); - - $src = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.'jckeditor.xml'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor.xml'; - - if( !JFile::copy( $src, $dest) ){ - $this->parent->abort( JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_MANIFEST') ); - } - - //copy toolbar to Editor - $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'toolbar'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'toolbar'; - - if( !JFolder::copy( $src, $dest,'',true) ){ - $mainframe->enqueueMessage( JText::_('COM_JCKMAN_ADAPTER_UNABLE_TO_COPY_TOOLBARS') ); - } - - // Lastly, we will copy the manifest file to its appropriate place. - if (!$this->parent->copyManifest(-1)) { - // Install failed, rollback changes - $this->parent->abort('Import: '.JText::_('COM_JCKMAN_ADAPTER_NOT_COPY_SETUP_FILE')); - return false; - } - - return true; - } - - /** - * Custom rollback method - * - Roll back the plugin item - * - * @access public - * @param array $arg Installation step to rollback - * @return boolean True on success - * @since 1.5 - * Minor changes to the db query - */ - function _rollback_plugin($arg) - { - return true; - } +parent = $parent; + } + + /** + * Custom install method + * + * @access public + * @return boolean True on success + * @since 1.5 + * Minor alteration - see below + */ + function install() + { + // Get a database connector object + $db = $this->parent->getDBO(); + + // Get the extension manifest object + + $manifest = $this->parent->getManifest(); + $this->manifest = $manifest;//$manifest->document; + + /** + * --------------------------------------------------------------------------------------------- + * Manifest Document Setup Section + * --------------------------------------------------------------------------------------------- + */ + // Set the component name + $this->set('name',''); + + // Get the component description + $description = & $this->manifest->description; + $this->parent->set('message', '' ); + + $element = $this->manifest->files; + + $this->parent->setPath('extension_root', JCKPATH_COMPONENT.'/editor'); + + /** + * --------------------------------------------------------------------------------------------- + * Filesystem Processing Section + * --------------------------------------------------------------------------------------------- + */ + // If the extension directory does not exist, lets create it + $created = false; + if (!file_exists($this->parent->getPath('extension_root'))) { + if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { + $this->parent->abort('Plugin Install: '.JText::_('Failed to create directory').': "'.$this->parent->getPath('extension_root').'"'); + return false; + } + } + + /* + * If we created the extension directory and will want to remove it if we + * have to roll back the installation, lets add it to the installation + * step stack + */ + if ($created) { + $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); + } + + // Copy all necessary files + if ($this->parent->parseFiles($element, -1) === false) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + /** + * --------------------------------------------------------------------------------------------- + * Database Processing Section + * --------------------------------------------------------------------------------------------- + */ + + /* + * Let's run the install queries for the component + * If Joomla 1.5 compatible, with discreet sql files - execute appropriate + * file for utf-8 support or non-utf-8 support + */ + // Try for Joomla 1.5 type queries + // Second argument is the utf compatible version attribute + if (isset($this->manifest->install->sql)) + { + $utfresult = $this->parent->parseSQLFiles($this->manifest->install->sql); + + if ($utfresult === false) + { + // Install failed, rollback changes + $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT_COMP_INSTALL_SQL_ERROR', $db->stderr(true))); + + return false; + } + } + + // Parse optional tags -- language files for plugins + $this->parent->parseLanguages($this->manifest->languages, 0); + + /** + * --------------------------------------------------------------------------------------------- + * Finalization and Cleanup Section + * --------------------------------------------------------------------------------------------- + */ + + //Copy JCK Editor's Manifest backup file to the Editor + jimport('joomla.filesystem.file'); + + $src = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.'jckeditor.xml'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor.xml'; + + if( !JFile::copy( $src, $dest) ){ + $this->parent->abort( JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_MANIFEST') ); + } + + //copy toolbar to Editor + $src = JPATH_ADMINISTRATOR.DS.'components' .DS. 'com_jckman' .DS. 'editor'.DS.'toolbar'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor'.DS.'includes'.DS.'ckeditor'.DS.'toolbar'; + + if( !JFolder::copy( $src, $dest,'',true) ){ + $mainframe->enqueueMessage( JText::_('COM_JCKMAN_ADAPTER_UNABLE_TO_COPY_TOOLBARS') ); + } + + // Lastly, we will copy the manifest file to its appropriate place. + if (!$this->parent->copyManifest(-1)) { + // Install failed, rollback changes + $this->parent->abort('Import: '.JText::_('COM_JCKMAN_ADAPTER_NOT_COPY_SETUP_FILE')); + return false; + } + + return true; + } + + /** + * Custom rollback method + * - Roll back the plugin item + * + * @access public + * @param array $arg Installation step to rollback + * @return boolean True on success + * @since 1.5 + * Minor changes to the db query + */ + function _rollback_plugin($arg) + { + return true; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/restorers/backup.php.old b/deployed/jckman/administrator/components/com_jckman/restorers/backup.php.old index 999431f5..9258f89a 100644 --- a/deployed/jckman/administrator/components/com_jckman/restorers/backup.php.old +++ b/deployed/jckman/administrator/components/com_jckman/restorers/backup.php.old @@ -1,184 +1,184 @@ -parent =& $parent; - } - - /** - * Custom install method - * - * @access public - * @return boolean True on success - * @since 1.5 - * Minor alteration - see below - */ - function install() - { - - // Get a database connector object - $db =& $this->parent->getDBO(); - - // Get the extension manifest object - - $manifest =& $this->parent->getManifest(); - $this->manifest =& $manifest;//$manifest->document; - - /** - * --------------------------------------------------------------------------------------------- - * Manifest Document Setup Section - * --------------------------------------------------------------------------------------------- - */ - - - // Set the component name - - $this->set('name',''); - - // Get the component description - $description = & $this->manifest->description; - $this->parent->set('message', '' ); - - $element =& $this->manifest->files; - - $this->parent->setPath('extension_root', JCKPATH_COMPONENT.'/editor'); - - - /** - * --------------------------------------------------------------------------------------------- - * Filesystem Processing Section - * --------------------------------------------------------------------------------------------- - */ - - // If the extension directory does not exist, lets create it - $created = false; - if (!file_exists($this->parent->getPath('extension_root'))) { - if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { - $this->parent->abort('Plugin Install: '.JText::_('Failed to create directory').': "'.$this->parent->getPath('extension_root').'"'); - return false; - } - } - - /* - * If we created the extension directory and will want to remove it if we - * have to roll back the installation, lets add it to the installation - * step stack - */ - - if ($created) { - $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); - } - - // Copy all necessary files - if ($this->parent->parseFiles($element, -1) === false) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - /** - * --------------------------------------------------------------------------------------------- - * Database Processing Section - * --------------------------------------------------------------------------------------------- - */ - - /* - * Let's run the install queries for the component - * If Joomla 1.5 compatible, with discreet sql files - execute appropriate - * file for utf-8 support or non-utf-8 support - */ - // Try for Joomla 1.5 type queries - // Second argument is the utf compatible version attribute - if (isset($this->manifest->install->sql)) - { - $utfresult = $this->parent->parseSQLFiles($this->manifest->install->sql); - - if ($utfresult === false) - { - // Install failed, rollback changes - $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT_COMP_INSTALL_SQL_ERROR', $db->stderr(true))); - - return false; - } - } - - // Parse optional tags -- language files for plugins - $this->parent->parseLanguages($this->manifest->languages, 0); - - /** - * --------------------------------------------------------------------------------------------- - * Finalization and Cleanup Section - * --------------------------------------------------------------------------------------------- - */ - - //Copy JCK Editor's Manifest backup file to the Editor - jimport('joomla.filesystem.file'); - - $src = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.'jckeditor.xml'; - $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor.xml'; - - - if( !JFile::copy( $src, $dest) ){ - $this->parent->abort( JText::_('Unable to copy JCK Editor\'s Manifest file') ); - } - - // Lastly, we will copy the manifest file to its appropriate place. - if (!$this->parent->copyManifest(-1)) { - // Install failed, rollback changes - $this->parent->abort('Import: '.JText::_('Could not copy setup file')); - return false; - } - - return true; - } - - /** - * Custom rollback method - * - Roll back the plugin item - * - * @access public - * @param array $arg Installation step to rollback - * @return boolean True on success - * @since 1.5 - * Minor changes to the db query - */ - function _rollback_plugin($arg) - { - return true; - } +parent =& $parent; + } + + /** + * Custom install method + * + * @access public + * @return boolean True on success + * @since 1.5 + * Minor alteration - see below + */ + function install() + { + + // Get a database connector object + $db =& $this->parent->getDBO(); + + // Get the extension manifest object + + $manifest =& $this->parent->getManifest(); + $this->manifest =& $manifest;//$manifest->document; + + /** + * --------------------------------------------------------------------------------------------- + * Manifest Document Setup Section + * --------------------------------------------------------------------------------------------- + */ + + + // Set the component name + + $this->set('name',''); + + // Get the component description + $description = & $this->manifest->description; + $this->parent->set('message', '' ); + + $element =& $this->manifest->files; + + $this->parent->setPath('extension_root', JCKPATH_COMPONENT.'/editor'); + + + /** + * --------------------------------------------------------------------------------------------- + * Filesystem Processing Section + * --------------------------------------------------------------------------------------------- + */ + + // If the extension directory does not exist, lets create it + $created = false; + if (!file_exists($this->parent->getPath('extension_root'))) { + if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { + $this->parent->abort('Plugin Install: '.JText::_('Failed to create directory').': "'.$this->parent->getPath('extension_root').'"'); + return false; + } + } + + /* + * If we created the extension directory and will want to remove it if we + * have to roll back the installation, lets add it to the installation + * step stack + */ + + if ($created) { + $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); + } + + // Copy all necessary files + if ($this->parent->parseFiles($element, -1) === false) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + /** + * --------------------------------------------------------------------------------------------- + * Database Processing Section + * --------------------------------------------------------------------------------------------- + */ + + /* + * Let's run the install queries for the component + * If Joomla 1.5 compatible, with discreet sql files - execute appropriate + * file for utf-8 support or non-utf-8 support + */ + // Try for Joomla 1.5 type queries + // Second argument is the utf compatible version attribute + if (isset($this->manifest->install->sql)) + { + $utfresult = $this->parent->parseSQLFiles($this->manifest->install->sql); + + if ($utfresult === false) + { + // Install failed, rollback changes + $this->parent->abort(JText::sprintf('JLIB_INSTALLER_ABORT_COMP_INSTALL_SQL_ERROR', $db->stderr(true))); + + return false; + } + } + + // Parse optional tags -- language files for plugins + $this->parent->parseLanguages($this->manifest->languages, 0); + + /** + * --------------------------------------------------------------------------------------------- + * Finalization and Cleanup Section + * --------------------------------------------------------------------------------------------- + */ + + //Copy JCK Editor's Manifest backup file to the Editor + jimport('joomla.filesystem.file'); + + $src = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_jckman'.DS.'editor'.DS.'plugins'.DS.'jckeditor.xml'; + $dest = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'jckeditor.xml'; + + + if( !JFile::copy( $src, $dest) ){ + $this->parent->abort( JText::_('Unable to copy JCK Editor\'s Manifest file') ); + } + + // Lastly, we will copy the manifest file to its appropriate place. + if (!$this->parent->copyManifest(-1)) { + // Install failed, rollback changes + $this->parent->abort('Import: '.JText::_('Could not copy setup file')); + return false; + } + + return true; + } + + /** + * Custom rollback method + * - Roll back the plugin item + * + * @access public + * @param array $arg Installation step to rollback + * @return boolean True on success + * @since 1.5 + * Minor changes to the db query + */ + function _rollback_plugin($arg) + { + return true; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/restorers/plugin.php b/deployed/jckman/administrator/components/com_jckman/restorers/plugin.php index e6a12d91..9b40d321 100644 --- a/deployed/jckman/administrator/components/com_jckman/restorers/plugin.php +++ b/deployed/jckman/administrator/components/com_jckman/restorers/plugin.php @@ -1,436 +1,436 @@ -parent = $parent; - } - - /** - * Custom install method - * - * @access public - * @return boolean True on success - * @since 1.5 - * Minor alteration - see below - */ - function install() - { - // Get a database connector object - $db = $this->parent->getDBO(); - - // Get the extension manifest object - - $manifest = $this->parent->getManifest(); - $this->manifest = $manifest;//$manifest->document; - - /** - * --------------------------------------------------------------------------------------------- - * Manifest Document Setup Section - * --------------------------------------------------------------------------------------------- - */ - // Set the component name - $name = ''; - - if($this->manifest->name) - { - $name = (string) $this->manifest->name; - $this->set('name', $name); - } - else - $this->set('name',''); - - // Get the component description - $description = (string) $this->manifest->description; - if (is_a($description, 'JXMLElement')) { - $this->parent->set('message', $description); - } else { - $this->parent->set('message', '' ); - } - - $element = $this->manifest->files; - - // Plugin name is specified - $pname = (string) $this->manifest->attributes()->plugin; - - if (!empty ($pname)) { - // ^ Use JCK_PLUGINS defined path - $this->parent->setPath('extension_root', JCK_PLUGINS .DS. $pname); - } else { - $this->parent->abort('Extension Install: '.JText::_('COM_JCKMAN_ADAPTER_NO_PLUGIN_SPECIFIED')); - return false; - } - - if ((string)$manifest->scriptfile) - { - $manifestScript = (string)$manifest->scriptfile; - $manifestScriptFile = $this->parent->getPath('source').DS.$manifestScript; - if (is_file($manifestScriptFile)) - { - // load the file - include_once $manifestScriptFile; - } - // Set the class name - $classname = 'plgJCK'.$pname.'InstallerScript'; - - if (class_exists($classname)) - { - // create a new instance - $this->parent->manifestClass = new $classname($this); - // and set this so we can copy it later - $this->set('manifest_script', $manifestScript); - // Note: if we don't find the class, don't bother to copy the file - } - - // run preflight if possible - ob_start(); - ob_implicit_flush(false); - if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'preflight')) - { - if($this->parent->manifestClass->preflight('install', $this) === false) - { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_CUSTOM_ABORT')); - return false; - } - } - ob_end_clean(); - } - - /** - * --------------------------------------------------------------------------------------------- - * Filesystem Processing Section - * --------------------------------------------------------------------------------------------- - */ - // If the extension directory does not exist, lets create it - $created = false; - if (!file_exists($this->parent->getPath('extension_root'))) { - if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { - $this->parent->abort(JText::sprintf('COM_JCKMAN_ADAPTER_PLUGIN_FAILED_CREATE_DIRECTORY',$this->parent->getPath('extension_root'))); - return false; - } - } - - /* - * If we created the extension directory and will want to remove it if we - * have to roll back the installation, lets add it to the installation - * step stack - */ - if ($created) { - $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); - } - - // Copy all necessary files - if ($this->parent->parseFiles($element, -1) === false) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - // Parse optional tags -- language files for plugins - if ($this->_parseLanguages( $this->manifest->languages) === false) { - // Install failed, roll back changes - $this->parent->abort(); - return false; - } - - // If there is an install file, lets copy it. - $installScriptElement = (string) $this->manifest->installfile; - if (is_a($installScriptElement, 'JXMLElement')) { - // Make sure it hasn't already been copied (this would be an error in the xml install file) - if (!file_exists($this->parent->getPath('extension_root').DS.$installScriptElement)) - { - $path['src'] = $this->parent->getPath('source').DS.$installScriptElement; - $path['dest'] = $this->parent->getPath('extension_root').DS.$installScriptElement; - if (!$this->parent->copyFiles(array ($path))) { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); - return false; - } - } - $this->set('install.script', $installScriptElement); - } - - // If there is an uninstall file, lets copy it. - $uninstallScriptElement = (string) $this->manifest->uninstallfile; - if (is_a($uninstallScriptElement, 'JXMLElement')) { - // Make sure it hasn't already been copied (this would be an error in the xml install file) - if (!file_exists($this->parent->getPath('extension_root').DS.$uninstallScriptElement)) - { - $path['src'] = $this->parent->getPath('source').DS.$uninstallScriptElpement; - $path['dest'] = $this->parent->getPath('extension_root').DS.$uninstallScriptElement; - if (!$this->parent->copyFiles(array ($path))) { - // Install failed, rollback changes - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); - return false; - } - } - } - - /** - * --------------------------------------------------------------------------------------------- - * Database Processing Section - * --------------------------------------------------------------------------------------------- - */ - - // Check to see if a plugin by the same name is already installed - // ^ Altered db query for #__JCK_PLUGINS - $query = 'SELECT `id`' . - ' FROM `#__jckplugins`' . - ' WHERE name = '.$db->Quote($pname); - $db->setQuery($query); - if (!$db->Query()) { - // Install failed, roll back changes - $this->parent->abort('Plugin Install: '.$db->stderr(true)); - return false; - } - $id = $db->loadResult(); - - // Was there a module already installed with the same name? - if ($id) { - - $row = JTable::getInstance('plugin', 'JCKTable'); - $row->load($id); - - } else { - - $icon = $this->manifest->icon; - - // ^ Changes to plugin parameters. Use JCK Plugins Table class. - $row = JTable::getInstance('plugin', 'JCKTable'); - $row->title = $this->get('name'); - $row->name = $pname; - $row->type = 'plugin'; - $row->row = 4; - $row->published = 1; - $row->editable = 1; - $row->icon = ($icon ? (string) $icon : ''); - $row->iscore = 0; - $row->params = $this->parent->getParams(); - - if($this->manifest->attributes()->parent) - { - $parentName = (string) $this->manifest->attributes()->parent; - $row->setParent($parentName); - } - - if (!$row->store()) { - // Install failed, roll back changes - $this->parent->abort('Plugin Install: '.$db->stderr(true)); - return false; - } - - // Since we have created a plugin item, we add it to the installation step stack - // so that if we have to rollback the changes we can undo it. - $this->parent->pushStep(array ('type' => 'plugin', 'id' => $row->id)); - } - - /* ------------------------------------------------------------------------------------------- - * update editor plugin config file AW - * ------------------------------------------------------------------------------------------- - */ - $config = JCKHelper::getEditorPluginConfig(); - - if($config->get($pname,false) === false) - { - $config->set($pname,1); - - $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; - - // Get the config registry in PHP class format and write it to configuation.php - if (!JFile::write($cfgFile, $config->toString('PHP',array('class' => 'JCKToolbarPlugins extends JCKPlugins')))) - { - JCKHelper::error('Failed to publish '. $pname. ' jckeditor plugin'); - } - - $config = JCKHelper::getEditorPluginConfig(); - } - - /** - * --------------------------------------------------------------------------------------------- - * Custom Installation Script Section - * --------------------------------------------------------------------------------------------- - */ - - /* - * If we have an install script, lets include it, execute the custom - * install method, and append the return value from the custom install - * method to the installation message. - */ - if ($this->get('install.script')) { - if (is_file($this->parent->getPath('extension_root').DS.$this->get('install.script'))) { - ob_start(); - ob_implicit_flush(false); - require_once ($this->parent->getPath('extension_root').DS.$this->get('install.script')); - if (function_exists('com_install')) { - if (com_install() === false) { - $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_PLUGIN_CUSTOM_INSTALL_ROUTINE_FAILURE')); - return false; - } - } - $msg = ob_get_contents(); - ob_end_clean(); - if ($msg != '') { - $this->parent->set('extension.message', $msg); - } - } - } - /** - * --------------------------------------------------------------------------------------------- - * Finalization and Cleanup Section - * --------------------------------------------------------------------------------------------- - */ - - // Lastly, we will copy the manifest file to its appropriate place. - if (!$this->parent->copyManifest(-1)) { - // Install failed, rollback changes - $this->parent->abort('Plugin Install: '.JText::_('COM_JCKMAN_ADAPTER_NOT_COPY_SETUP_FILE')); - return false; - } - - // And now we run the postflight - ob_start(); - ob_implicit_flush(false); - if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'postflight')) - { - $this->parent->manifestClass->postflight('install', $this); - } - ob_end_clean(); - - return true; - } - - function _parseLanguages($element) - { - // Get the array of file nodes to process; we checked whether this had children above. - - if (!$element || !count($element->children())) - { - // Either the tag does not exist or has no children (hence no files to process) therefore we return zero files processed. - return 0; - } - - $copyfiles = array(); - - $destination = JPATH_COMPONENT.'/language'; - - /* - * Here we set the folder we are going to copy the files from. - * - * Does the element have a folder attribute? - * - * If so this indicates that the files are in a subdirectory of the source - * folder and we should append the folder attribute to the source path when - * copying files. - */ - - - - $folder = (string) $element->attributes()->folder; - - if ($folder && file_exists($this->getPath('source') . '/' . $folder)) - { - $source = $this->getPath('source') . '/' . $folder; - } - else - { - $source = $this->getPath('source'); - } - - $path = array(); - - - // Process each file in the $files array (children of $tagName). - foreach ($element->children() as $file) - { - /* - * Language files go in a subfolder based on the language code, ie. - * en-US.mycomponent.ini - * would go in the en-US subdirectory of the language folder. - */ - - // We will only install language files where a core language pack - // already exists. - - if ((string) $file->attributes()->tag != '') - { - $path['src'] = $source . '/' . $file; - $path['dest'] = $destination . '/' . $file->attributes()->tag . '/' . basename((string) $file); - } - else - { - $path['src'] = $source . '/' . $file; - $path['dest'] = $destination . '/' . $file; - } - - /* - * Before we can add a file to the copyfiles array we need to ensure - * that the folder we are copying our file to exits and if it doesn't, - * we need to create it. - */ - - if (basename($path['dest']) != $path['dest']) - { - $newdir = dirname($path['dest']); - - if (!JFolder::create($newdir)) - { - JLog::add(JText::sprintf('JLIB_INSTALLER_ERROR_CREATE_DIRECTORY', $newdir), JLog::WARNING, 'jerror'); - - return false; - } - } - - // Add the file to the copyfiles array - $copyfiles[] = $path; - } - - return $this->parent->copyFiles($copyfiles); - } - - /** - * Custom rollback method - * - Roll back the plugin item - * - * @access public - * @param array $arg Installation step to rollback - * @return boolean True on success - * @since 1.5 - * Minor changes to the db query - */ - function _rollback_plugin($arg) - { - // Get database connector object - $db = $this->parent->getDBO(); - - // Remove the entry from the #__JCK_PLUGINS table - $sql = $db->getQuery( true ); - $sql->delete( '#__jckplugins' ) - ->where( 'id='.(int)$arg['id'] ); - return ($db->setQuery($sql)->query() !== false); - } +parent = $parent; + } + + /** + * Custom install method + * + * @access public + * @return boolean True on success + * @since 1.5 + * Minor alteration - see below + */ + function install() + { + // Get a database connector object + $db = $this->parent->getDBO(); + + // Get the extension manifest object + + $manifest = $this->parent->getManifest(); + $this->manifest = $manifest;//$manifest->document; + + /** + * --------------------------------------------------------------------------------------------- + * Manifest Document Setup Section + * --------------------------------------------------------------------------------------------- + */ + // Set the component name + $name = ''; + + if($this->manifest->name) + { + $name = (string) $this->manifest->name; + $this->set('name', $name); + } + else + $this->set('name',''); + + // Get the component description + $description = (string) $this->manifest->description; + if (is_a($description, 'JXMLElement')) { + $this->parent->set('message', $description); + } else { + $this->parent->set('message', '' ); + } + + $element = $this->manifest->files; + + // Plugin name is specified + $pname = (string) $this->manifest->attributes()->plugin; + + if (!empty ($pname)) { + // ^ Use JCK_PLUGINS defined path + $this->parent->setPath('extension_root', JCK_PLUGINS .DS. $pname); + } else { + $this->parent->abort('Extension Install: '.JText::_('COM_JCKMAN_ADAPTER_NO_PLUGIN_SPECIFIED')); + return false; + } + + if ((string)$manifest->scriptfile) + { + $manifestScript = (string)$manifest->scriptfile; + $manifestScriptFile = $this->parent->getPath('source').DS.$manifestScript; + if (is_file($manifestScriptFile)) + { + // load the file + include_once $manifestScriptFile; + } + // Set the class name + $classname = 'plgJCK'.$pname.'InstallerScript'; + + if (class_exists($classname)) + { + // create a new instance + $this->parent->manifestClass = new $classname($this); + // and set this so we can copy it later + $this->set('manifest_script', $manifestScript); + // Note: if we don't find the class, don't bother to copy the file + } + + // run preflight if possible + ob_start(); + ob_implicit_flush(false); + if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'preflight')) + { + if($this->parent->manifestClass->preflight('install', $this) === false) + { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_CUSTOM_ABORT')); + return false; + } + } + ob_end_clean(); + } + + /** + * --------------------------------------------------------------------------------------------- + * Filesystem Processing Section + * --------------------------------------------------------------------------------------------- + */ + // If the extension directory does not exist, lets create it + $created = false; + if (!file_exists($this->parent->getPath('extension_root'))) { + if (!$created = JFolder::create($this->parent->getPath('extension_root'))) { + $this->parent->abort(JText::sprintf('COM_JCKMAN_ADAPTER_PLUGIN_FAILED_CREATE_DIRECTORY',$this->parent->getPath('extension_root'))); + return false; + } + } + + /* + * If we created the extension directory and will want to remove it if we + * have to roll back the installation, lets add it to the installation + * step stack + */ + if ($created) { + $this->parent->pushStep(array ('type' => 'folder', 'path' => $this->parent->getPath('extension_root'))); + } + + // Copy all necessary files + if ($this->parent->parseFiles($element, -1) === false) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + // Parse optional tags -- language files for plugins + if ($this->_parseLanguages( $this->manifest->languages) === false) { + // Install failed, roll back changes + $this->parent->abort(); + return false; + } + + // If there is an install file, lets copy it. + $installScriptElement = (string) $this->manifest->installfile; + if (is_a($installScriptElement, 'JXMLElement')) { + // Make sure it hasn't already been copied (this would be an error in the xml install file) + if (!file_exists($this->parent->getPath('extension_root').DS.$installScriptElement)) + { + $path['src'] = $this->parent->getPath('source').DS.$installScriptElement; + $path['dest'] = $this->parent->getPath('extension_root').DS.$installScriptElement; + if (!$this->parent->copyFiles(array ($path))) { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); + return false; + } + } + $this->set('install.script', $installScriptElement); + } + + // If there is an uninstall file, lets copy it. + $uninstallScriptElement = (string) $this->manifest->uninstallfile; + if (is_a($uninstallScriptElement, 'JXMLElement')) { + // Make sure it hasn't already been copied (this would be an error in the xml install file) + if (!file_exists($this->parent->getPath('extension_root').DS.$uninstallScriptElement)) + { + $path['src'] = $this->parent->getPath('source').DS.$uninstallScriptElpement; + $path['dest'] = $this->parent->getPath('extension_root').DS.$uninstallScriptElement; + if (!$this->parent->copyFiles(array ($path))) { + // Install failed, rollback changes + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_COMPONENT').' '.JText::_('COM_JCKMAN_ADAPTER_INSTALL').': '.JText::_('COM_JCKMAN_ADAPTER_COULD_NOT_COPY_INSTALL_FILE')); + return false; + } + } + } + + /** + * --------------------------------------------------------------------------------------------- + * Database Processing Section + * --------------------------------------------------------------------------------------------- + */ + + // Check to see if a plugin by the same name is already installed + // ^ Altered db query for #__JCK_PLUGINS + $query = 'SELECT `id`' . + ' FROM `#__jckplugins`' . + ' WHERE name = '.$db->Quote($pname); + $db->setQuery($query); + if (!$db->Query()) { + // Install failed, roll back changes + $this->parent->abort('Plugin Install: '.$db->stderr(true)); + return false; + } + $id = $db->loadResult(); + + // Was there a module already installed with the same name? + if ($id) { + + $row = JTable::getInstance('plugin', 'JCKTable'); + $row->load($id); + + } else { + + $icon = $this->manifest->icon; + + // ^ Changes to plugin parameters. Use JCK Plugins Table class. + $row = JTable::getInstance('plugin', 'JCKTable'); + $row->title = $this->get('name'); + $row->name = $pname; + $row->type = 'plugin'; + $row->row = 4; + $row->published = 1; + $row->editable = 1; + $row->icon = ($icon ? (string) $icon : ''); + $row->iscore = 0; + $row->params = $this->parent->getParams(); + + if($this->manifest->attributes()->parent) + { + $parentName = (string) $this->manifest->attributes()->parent; + $row->setParent($parentName); + } + + if (!$row->store()) { + // Install failed, roll back changes + $this->parent->abort('Plugin Install: '.$db->stderr(true)); + return false; + } + + // Since we have created a plugin item, we add it to the installation step stack + // so that if we have to rollback the changes we can undo it. + $this->parent->pushStep(array ('type' => 'plugin', 'id' => $row->id)); + } + + /* ------------------------------------------------------------------------------------------- + * update editor plugin config file AW + * ------------------------------------------------------------------------------------------- + */ + $config = JCKHelper::getEditorPluginConfig(); + + if($config->get($pname,false) === false) + { + $config->set($pname,1); + + $cfgFile = CKEDITOR_LIBRARY.DS . 'plugins' . DS . 'toolbarplugins.php'; + + // Get the config registry in PHP class format and write it to configuation.php + if (!JFile::write($cfgFile, $config->toString('PHP',array('class' => 'JCKToolbarPlugins extends JCKPlugins')))) + { + JCKHelper::error('Failed to publish '. $pname. ' jckeditor plugin'); + } + + $config = JCKHelper::getEditorPluginConfig(); + } + + /** + * --------------------------------------------------------------------------------------------- + * Custom Installation Script Section + * --------------------------------------------------------------------------------------------- + */ + + /* + * If we have an install script, lets include it, execute the custom + * install method, and append the return value from the custom install + * method to the installation message. + */ + if ($this->get('install.script')) { + if (is_file($this->parent->getPath('extension_root').DS.$this->get('install.script'))) { + ob_start(); + ob_implicit_flush(false); + require_once ($this->parent->getPath('extension_root').DS.$this->get('install.script')); + if (function_exists('com_install')) { + if (com_install() === false) { + $this->parent->abort(JText::_('COM_JCKMAN_ADAPTER_PLUGIN_CUSTOM_INSTALL_ROUTINE_FAILURE')); + return false; + } + } + $msg = ob_get_contents(); + ob_end_clean(); + if ($msg != '') { + $this->parent->set('extension.message', $msg); + } + } + } + /** + * --------------------------------------------------------------------------------------------- + * Finalization and Cleanup Section + * --------------------------------------------------------------------------------------------- + */ + + // Lastly, we will copy the manifest file to its appropriate place. + if (!$this->parent->copyManifest(-1)) { + // Install failed, rollback changes + $this->parent->abort('Plugin Install: '.JText::_('COM_JCKMAN_ADAPTER_NOT_COPY_SETUP_FILE')); + return false; + } + + // And now we run the postflight + ob_start(); + ob_implicit_flush(false); + if ($this->parent->manifestClass && method_exists($this->parent->manifestClass,'postflight')) + { + $this->parent->manifestClass->postflight('install', $this); + } + ob_end_clean(); + + return true; + } + + function _parseLanguages($element) + { + // Get the array of file nodes to process; we checked whether this had children above. + + if (!$element || !count($element->children())) + { + // Either the tag does not exist or has no children (hence no files to process) therefore we return zero files processed. + return 0; + } + + $copyfiles = array(); + + $destination = JPATH_COMPONENT.'/language'; + + /* + * Here we set the folder we are going to copy the files from. + * + * Does the element have a folder attribute? + * + * If so this indicates that the files are in a subdirectory of the source + * folder and we should append the folder attribute to the source path when + * copying files. + */ + + + + $folder = (string) $element->attributes()->folder; + + if ($folder && file_exists($this->getPath('source') . '/' . $folder)) + { + $source = $this->getPath('source') . '/' . $folder; + } + else + { + $source = $this->getPath('source'); + } + + $path = array(); + + + // Process each file in the $files array (children of $tagName). + foreach ($element->children() as $file) + { + /* + * Language files go in a subfolder based on the language code, ie. + * en-US.mycomponent.ini + * would go in the en-US subdirectory of the language folder. + */ + + // We will only install language files where a core language pack + // already exists. + + if ((string) $file->attributes()->tag != '') + { + $path['src'] = $source . '/' . $file; + $path['dest'] = $destination . '/' . $file->attributes()->tag . '/' . basename((string) $file); + } + else + { + $path['src'] = $source . '/' . $file; + $path['dest'] = $destination . '/' . $file; + } + + /* + * Before we can add a file to the copyfiles array we need to ensure + * that the folder we are copying our file to exits and if it doesn't, + * we need to create it. + */ + + if (basename($path['dest']) != $path['dest']) + { + $newdir = dirname($path['dest']); + + if (!JFolder::create($newdir)) + { + JLog::add(JText::sprintf('JLIB_INSTALLER_ERROR_CREATE_DIRECTORY', $newdir), JLog::WARNING, 'jerror'); + + return false; + } + } + + // Add the file to the copyfiles array + $copyfiles[] = $path; + } + + return $this->parent->copyFiles($copyfiles); + } + + /** + * Custom rollback method + * - Roll back the plugin item + * + * @access public + * @param array $arg Installation step to rollback + * @return boolean True on success + * @since 1.5 + * Minor changes to the db query + */ + function _rollback_plugin($arg) + { + // Get database connector object + $db = $this->parent->getDBO(); + + // Remove the entry from the #__JCK_PLUGINS table + $sql = $db->getQuery( true ); + $sql->delete( '#__jckplugins' ) + ->where( 'id='.(int)$arg['id'] ); + return ($db->setQuery($sql)->query() !== false); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/sql/install.sql b/deployed/jckman/administrator/components/com_jckman/sql/install.sql index d4999387..012a5540 100644 --- a/deployed/jckman/administrator/components/com_jckman/sql/install.sql +++ b/deployed/jckman/administrator/components/com_jckman/sql/install.sql @@ -1,226 +1,226 @@ -CREATE TABLE IF NOT EXISTS `#__jckplugins`( - `id` int(11) NOT NULL auto_increment, - `title` varchar(100) NOT NULL default '', - `name` varchar(100) NOT NULL, - `type` varchar(100) NOT NULL default 'command', - `row` tinyint NOT NULL default '0', - `icon` varchar(255) NOT NULL default '', - `published` tinyint(3) NOT NULL default '0', - `editable` tinyint(3) NOT NULL default '0', - `checked_out` int(11) NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `iscore` tinyint(3) NOT NULL default '0', - `acl` text NULL, - `params` text NOT NULL, - `parentid` int(11) NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `plugin` (`name`) -); - -CREATE TABLE IF NOT EXISTS `#__update_jckplugins` ( - `id` int(11) NOT NULL auto_increment, - `title` varchar(100) NOT NULL default '', - `name` varchar(100) NOT NULL, - `type` varchar(100) NOT NULL default 'command', - `row` tinyint NOT NULL default '0', - `icon` varchar(255) NOT NULL default '', - `published` tinyint(3) NOT NULL default '0', - `editable` tinyint(3) NOT NULL default '0', - `checked_out` int(11) NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `iscore` tinyint(3) NOT NULL default '0', - `acl` text NULL, - `params` text NOT NULL, - `parentid` int(11) NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `plugin` (`name`) -) ; - -insert into #__update_jckplugins (`id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`) -select `id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params` from `#__jckplugins`; - -update #__update_jckplugins -set id = id + 94 -where iscore = 0 AND id < 94; - -Drop table #__jckplugins; - -alter table #__update_jckplugins -RENAME TO `#__jckplugins`; - -INSERT INTO `#__jckplugins`(`id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`, `parentid`) -VALUES (1,'Scayt','scayt','plugin',1,1,1,'-192',1,'',82), -(2,'','sourcearea','plugin',0,1,1,'',1,'',NULL), -(3,'Source','source','command',1,1,1,'0',1,'',2), -(4,'Preview','preview','plugin',1,1,1,'-64',1,'',NULL), -(5,'Cut','cut','command',1,1,1,'-96',1,'',60), -(6,'Copy','copy','command',1,1,1,'-112',1,'',60), -(7,'Paste','paste','command',1,1,1,'-128',1,'',60), -(8,'PasteText','pastetext','plugin',1,1,1,'-144',1,'',NULL), -(9,'Find','find','plugin',1,1,1,'-240',1,'',NULL), -(10,'Replace','replace','command',1,1,1,'-256',1,'',9), -(11,'SelectAll','selectall','command',1,1,1,'-272',1,'',61), -(12,'RemoveFormat','removeformat','plugin',1,1,1,'-288',1,'',NULL), -(13,'Bold','bold','command',2,1,1,'-304',1,'',58), -(14,'Italic','italic','command',2,1,1,'-320',1,'',58), -(15,'Strike','strike','command',2,1,1,'-352',1,'',58), -(16,'Subscript','subscript','command',2,1,1,'-368',1,'',58), -(17,'Superscript','superscript','command',2,1,1,'-384',1,'',58), -(18,'Underline','underline','command',2,1,1,'-336',1,'',58), -(19,'Smiley','smiley','plugin',2,1,1,'-640',1,'',NULL), -(20,'Link','link','plugin',2,1,1,'-528',1,'',NULL), -(21,'Image','image','plugin',2,1,1,'-576',1,'',NULL), -(22,'Flash','flash','plugin',2,0,1,'-592',1,'',NULL), -(23,'SpecialChar','specialchar','plugin',2,1,1,'-656',1,'',NULL), -(24,'PageBreak','pagebreak','plugin',2,1,1,'-672',1,'',NULL), -(25,'SpellChecker','checkspell','command',1,1,1,'-192',1,'',82), -(26,'','tableresize','plugin',2,1,1,'',1,'',82), -(27,'','tabletools','plugin',0,1,1,'',1,'',82), -(28,'TextColor','textcolor','command',3,1,1,'-704',1,'',62), -(29,'BGColor','bgcolor','command',3,1,1,'-720',1,'',62), -(30,'Form','form','command',1,1,1,'-752',1,'',75), -(31,'Radio','radio','command',1,1,1,'-784',1,'',75), -(32,'TextField','textfield','command',1,1,1,'-800',1,'',75), -(33,'Textarea','textarea','command',1,1,1,'-816',1,'',75), -(34,'ShowBlocks','showblocks','plugin',3,1,1,'-1136',1,'',NULL), -(35,'Select','select','command',1,1,1,'-832',1,'',75), -(36,'ImageButton','imagebutton','command',1,1,1,'-864',1,'',75), -(37,'HiddenField','hiddenfield','command',1,1,1,'-880',1,'',75), -(38,'Checkbox','checkbox','command',1,1,1,'-768',1,'',75), -(39,'Button','button','command',1,1,1,'-848',1,'',75), -(40,'NumberedList','numberedlist','command',2,1,1,'-400',1,'',90), -(41,'BulletedList','bulletedlist','command',2,1,1,'-416',1,'',90), -(42,'Indent','indent','plugin',2,1,1,'-448',1,'',NULL), -(43,'Outdent','outdent','command',2,1,1,'-432',1,'',42), -(44,'JustifyLeft','justifyleft','command',2,1,1,'-464',1,'',55), -(45,'JustifyCenter','justifycenter','command',2,1,1,'-480',1,'',55), -(46,'JustifyBlock','justifyblock','command',2,1,1,'-512',1,'',55), -(47,'JustifyRight','justifyright','command',2,1,1,'-496',1,'',55), -(48,'Blockquote','blockquote','plugin',2,1,1,'-1152',1,'',NULL), -(49,'About','about','plugin',3,0,1,'-736',1,'',NULL), -(50,'Maximize','maximize','plugin',3,1,1,'-1040',1,'',NULL), -(51,'','div','plugin',0,1,1,'',1,'',NULL), -(52,'CreateDiv','creatediv','command',2,1,1,'-1168',1,'',51), -(53,'','editdiv','command',0,1,1,'-1184',1,'',51), -(54,'','removediv','command',0,1,1,'-1200',1,'',51), -(55,'','justify','plugin',0,1,1,'',1,'',NULL), -(56,'','a11yhelp','plugin',0,1,1,'',1,'',NULL), -(58,'','basicstyles','plugin',0,1,1,'',1,'',NULL), -(59,'Table','table','plugin',2,1,1,'-608',1,'',NULL), -(60,'','clipboard','plugin',0,1,1,'',1,'',NULL), -(61,'','selection','plugin',0,1,1,'',1,'',NULL), -(62,'','colorbutton','plugin',0,1,1,'',1,'',NULL), -(63,'Unlink','unlink','command',2,1,1,'-544',1,'',20), -(64,'Anchor','anchor','command',2,1,1,'-560',1,'',20), -(65,'','contextmenu','plugin',0,1,1,'',1,'',NULL), -(66,'','editingblock','plugin',0,1,1,'',1,'',NULL), -(67,'','elementspath','plugin',0,1,1,'',1,'',NULL), -(68,'','enterkey','plugin',0,1,1,'',1,'',NULL), -(69,'','entities','plugin',0,1,1,'',1,'',NULL), -(70,'','toolbar','plugin',0,1,1,'',1,'',NULL), -(71,'','jfilebrowser','filebrowser',0,1,1,'',1,'',NULL), -(72,'Styles','stylescombo','plugin',3,1,1,'',1,'',NULL), -(73,'Font','font','plugin',3,1,1,'',1,'',NULL), -(74,'Format','format','plugin',3,1,1,'',1,'',NULL), -(75,'','forms','plugin',0,1,1,'',1,'',NULL), -(76,'About','jabout','plugin',3,1,1,'-736',1,'',NULL), -(77,'Flash','jflash','plugin',2,1,1,'-592',1,'',NULL), -(78,'Save','jsave','plugin',1,1,1,'-32',1,'',NULL), -(79,'JTreeLink','jtreelink','plugin',2,1,1,'images/jtreelink.png',1,'',NULL), -(80,'HorizontalRule','horizontalrule','plugin',2,1,1,'-624',1,'',NULL), -(81,'Print','print','plugin',1,1,1,'-176',1,'',NULL), -(82,'','wsc','plugin',0,1,1,'',1,'',NULL), -(83,'','showborders','plugin',0,1,1,'',1,'',NULL), -(84,'','tab','plugin',0,1,1,'',1,'',NULL), -(85,'Undo','undo','plugin',1,1,1,'-208',1,'',NULL), -(86,'Redo','redo','command',1,1,1,'-224',1,'',86), -(87,'','resize','plugin',0,1,1,'',1,'',NULL), -(88,'Templates','templates','plugin',1,1,1,'-80',1,'',NULL), -(89,'','wysiwygarea','plugin',0,1,1,'',1,'',NULL), -(90,'','list','plugin',0,1,1,'',1,'',NULL), -(92,'FontSize','fontsize','command',3,1,1,'',1,'',73), -(93,'PasteFromWord','pastefromword','plugin',1,1,1,'-160',1,'',NULL), -(94,'Mobileimage','mobileimage','plugin',1,1,1,'icon.png',1,'',NULL) - -ON DUPLICATE KEY UPDATE `name`= VALUES(`name`),`title`= VALUES(`title`),`row` = VALUES(`row`), `icon` = VALUES(`icon`), `parentid` = VALUES(`parentid`), `type` = VALUES(`type`); - -DELETE FROM `#__jckplugins` WHERE id = 91; - -INSERT INTO `#__jckplugins`(`id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`, `parentid`) -VALUES (57,'','autogrow','plugin',0,0,1,'',1,'',NULL) -ON DUPLICATE KEY UPDATE `name`= VALUES(`name`),`title`= VALUES(`title`),`row` = VALUES(`row`), `icon` = VALUES(`icon`), `parentid` = VALUES(`parentid`), `type` = VALUES(`type`),`published` = VALUES(`published`); - -INSERT INTO `#__jckplugins`( `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`, `parentid`) -SELECT '','html5support','plugin',0,1,1,'',1,'', NULL -FROM #__jckplugins -WHERE (SELECT count(1) from #__jckplugins WHERE name='html5support') = 0 -UNION -SELECT 'Video', 'video','plugin',3,1,1,'images/icon.png',1,'', NULL -FROM #__jckplugins -WHERE (SELECT count(1) from #__jckplugins WHERE name='video') = 0 -UNION -SELECT 'Audio','audio','plugin',3,1,1,'images/icon.png',1,'',NULL -FROM #__jckplugins -WHERE (SELECT count(1) from #__jckplugins WHERE name='audio') = 0 -UNION -SELECT 'UIColor','uicolor','plugin',3,1,1,'uicolor.gif',1,'',NULL -FROM #__jckplugins -WHERE (SELECT count(1) from #__jckplugins WHERE name='uicolor') = 0 -UNION -SELECT '','imagedragndrop','plugin',0,1,1,'',1,'',NULL -FROM #__jckplugins -WHERE (SELECT count(1) from #__jckplugins WHERE name='imagedragndrop') = 0 -UNION -SELECT '','ie9selectionoverride','plugin',0,1,1,'',1,'',NULL -FROM #__jckplugins -WHERE (SELECT count(1) from #__jckplugins WHERE name='ie9selectionoverride') = 0; - -SET @pluginid = (SELECT id from #__jckplugins WHERE name='html5support'); - -UPDATE #__jckplugins -SET parentid = @pluginid -WHERE name in('video','audio'); - -UPDATE #__jckplugins -SET acl = NULL -WHERE acl='*'; - -CREATE TABLE IF NOT EXISTS `#__jcktoolbars` ( - `id` int(11) NOT NULL auto_increment, - `title` varchar(100) NOT NULL default '', - `name` varchar(100) NOT NULL, - `published` tinyint(3) NOT NULL default '0', - `checked_out` int(11) NOT NULL default '0', - `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', - `iscore` tinyint(3) NOT NULL default '0', - `params` text NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `toolbar` (`name`) -) ; - -INSERT INTO `#__jcktoolbars` (`id`,`title`,`name`,`published`,`checked_out`,`checked_out_time`,`iscore`,`params`) VALUES -(1,'Full','full',1,0,'0000-00-00 00:00:00',1,''), -(2,'Publisher','publisher',1,0,'0000-00-00 00:00:00',1,''), -(3,'Basic','basic',1,0,'0000-00-00 00:00:00',1,''), -(4,'Blog','blog',1,0,'0000-00-00 00:00:00',1,''), -(5,'Image','image',1,0,'0000-00-00 00:00:00',1,''), -(6,'Mobile','mobile',1,0,'0000-00-00 00:00:00',1,'') -ON DUPLICATE KEY UPDATE `name`= VALUES(`name`); - -CREATE TABLE IF NOT EXISTS `#__jcktoolbarplugins` ( - `toolbarid` int(11) NOT NULL, - `pluginid` int(11) NOT NULL, - `row` int(11) NOT NULL default '0', - `ordering` int(11) NOT NULL default '0', - `state` tinyint(3) NOT NULL default '0', - PRIMARY KEY (`toolbarid`,`pluginid`) -) ; - - -CREATE TABLE IF NOT EXISTS `#__jcklanguages` ( - `id` int(11) NOT NULL auto_increment, - tag varchar(5), - filename varchar (100), - PRIMARY KEY (`id`) -); - +CREATE TABLE IF NOT EXISTS `#__jckplugins`( + `id` int(11) NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `name` varchar(100) NOT NULL, + `type` varchar(100) NOT NULL default 'command', + `row` tinyint NOT NULL default '0', + `icon` varchar(255) NOT NULL default '', + `published` tinyint(3) NOT NULL default '0', + `editable` tinyint(3) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `iscore` tinyint(3) NOT NULL default '0', + `acl` text NULL, + `params` text NOT NULL, + `parentid` int(11) NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `plugin` (`name`) +); + +CREATE TABLE IF NOT EXISTS `#__update_jckplugins` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `name` varchar(100) NOT NULL, + `type` varchar(100) NOT NULL default 'command', + `row` tinyint NOT NULL default '0', + `icon` varchar(255) NOT NULL default '', + `published` tinyint(3) NOT NULL default '0', + `editable` tinyint(3) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `iscore` tinyint(3) NOT NULL default '0', + `acl` text NULL, + `params` text NOT NULL, + `parentid` int(11) NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `plugin` (`name`) +) ; + +insert into #__update_jckplugins (`id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`) +select `id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params` from `#__jckplugins`; + +update #__update_jckplugins +set id = id + 94 +where iscore = 0 AND id < 94; + +Drop table #__jckplugins; + +alter table #__update_jckplugins +RENAME TO `#__jckplugins`; + +INSERT INTO `#__jckplugins`(`id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`, `parentid`) +VALUES (1,'Scayt','scayt','plugin',1,1,1,'-192',1,'',82), +(2,'','sourcearea','plugin',0,1,1,'',1,'',NULL), +(3,'Source','source','command',1,1,1,'0',1,'',2), +(4,'Preview','preview','plugin',1,1,1,'-64',1,'',NULL), +(5,'Cut','cut','command',1,1,1,'-96',1,'',60), +(6,'Copy','copy','command',1,1,1,'-112',1,'',60), +(7,'Paste','paste','command',1,1,1,'-128',1,'',60), +(8,'PasteText','pastetext','plugin',1,1,1,'-144',1,'',NULL), +(9,'Find','find','plugin',1,1,1,'-240',1,'',NULL), +(10,'Replace','replace','command',1,1,1,'-256',1,'',9), +(11,'SelectAll','selectall','command',1,1,1,'-272',1,'',61), +(12,'RemoveFormat','removeformat','plugin',1,1,1,'-288',1,'',NULL), +(13,'Bold','bold','command',2,1,1,'-304',1,'',58), +(14,'Italic','italic','command',2,1,1,'-320',1,'',58), +(15,'Strike','strike','command',2,1,1,'-352',1,'',58), +(16,'Subscript','subscript','command',2,1,1,'-368',1,'',58), +(17,'Superscript','superscript','command',2,1,1,'-384',1,'',58), +(18,'Underline','underline','command',2,1,1,'-336',1,'',58), +(19,'Smiley','smiley','plugin',2,1,1,'-640',1,'',NULL), +(20,'Link','link','plugin',2,1,1,'-528',1,'',NULL), +(21,'Image','image','plugin',2,1,1,'-576',1,'',NULL), +(22,'Flash','flash','plugin',2,0,1,'-592',1,'',NULL), +(23,'SpecialChar','specialchar','plugin',2,1,1,'-656',1,'',NULL), +(24,'PageBreak','pagebreak','plugin',2,1,1,'-672',1,'',NULL), +(25,'SpellChecker','checkspell','command',1,1,1,'-192',1,'',82), +(26,'','tableresize','plugin',2,1,1,'',1,'',82), +(27,'','tabletools','plugin',0,1,1,'',1,'',82), +(28,'TextColor','textcolor','command',3,1,1,'-704',1,'',62), +(29,'BGColor','bgcolor','command',3,1,1,'-720',1,'',62), +(30,'Form','form','command',1,1,1,'-752',1,'',75), +(31,'Radio','radio','command',1,1,1,'-784',1,'',75), +(32,'TextField','textfield','command',1,1,1,'-800',1,'',75), +(33,'Textarea','textarea','command',1,1,1,'-816',1,'',75), +(34,'ShowBlocks','showblocks','plugin',3,1,1,'-1136',1,'',NULL), +(35,'Select','select','command',1,1,1,'-832',1,'',75), +(36,'ImageButton','imagebutton','command',1,1,1,'-864',1,'',75), +(37,'HiddenField','hiddenfield','command',1,1,1,'-880',1,'',75), +(38,'Checkbox','checkbox','command',1,1,1,'-768',1,'',75), +(39,'Button','button','command',1,1,1,'-848',1,'',75), +(40,'NumberedList','numberedlist','command',2,1,1,'-400',1,'',90), +(41,'BulletedList','bulletedlist','command',2,1,1,'-416',1,'',90), +(42,'Indent','indent','plugin',2,1,1,'-448',1,'',NULL), +(43,'Outdent','outdent','command',2,1,1,'-432',1,'',42), +(44,'JustifyLeft','justifyleft','command',2,1,1,'-464',1,'',55), +(45,'JustifyCenter','justifycenter','command',2,1,1,'-480',1,'',55), +(46,'JustifyBlock','justifyblock','command',2,1,1,'-512',1,'',55), +(47,'JustifyRight','justifyright','command',2,1,1,'-496',1,'',55), +(48,'Blockquote','blockquote','plugin',2,1,1,'-1152',1,'',NULL), +(49,'About','about','plugin',3,0,1,'-736',1,'',NULL), +(50,'Maximize','maximize','plugin',3,1,1,'-1040',1,'',NULL), +(51,'','div','plugin',0,1,1,'',1,'',NULL), +(52,'CreateDiv','creatediv','command',2,1,1,'-1168',1,'',51), +(53,'','editdiv','command',0,1,1,'-1184',1,'',51), +(54,'','removediv','command',0,1,1,'-1200',1,'',51), +(55,'','justify','plugin',0,1,1,'',1,'',NULL), +(56,'','a11yhelp','plugin',0,1,1,'',1,'',NULL), +(58,'','basicstyles','plugin',0,1,1,'',1,'',NULL), +(59,'Table','table','plugin',2,1,1,'-608',1,'',NULL), +(60,'','clipboard','plugin',0,1,1,'',1,'',NULL), +(61,'','selection','plugin',0,1,1,'',1,'',NULL), +(62,'','colorbutton','plugin',0,1,1,'',1,'',NULL), +(63,'Unlink','unlink','command',2,1,1,'-544',1,'',20), +(64,'Anchor','anchor','command',2,1,1,'-560',1,'',20), +(65,'','contextmenu','plugin',0,1,1,'',1,'',NULL), +(66,'','editingblock','plugin',0,1,1,'',1,'',NULL), +(67,'','elementspath','plugin',0,1,1,'',1,'',NULL), +(68,'','enterkey','plugin',0,1,1,'',1,'',NULL), +(69,'','entities','plugin',0,1,1,'',1,'',NULL), +(70,'','toolbar','plugin',0,1,1,'',1,'',NULL), +(71,'','jfilebrowser','filebrowser',0,1,1,'',1,'',NULL), +(72,'Styles','stylescombo','plugin',3,1,1,'',1,'',NULL), +(73,'Font','font','plugin',3,1,1,'',1,'',NULL), +(74,'Format','format','plugin',3,1,1,'',1,'',NULL), +(75,'','forms','plugin',0,1,1,'',1,'',NULL), +(76,'About','jabout','plugin',3,1,1,'-736',1,'',NULL), +(77,'Flash','jflash','plugin',2,1,1,'-592',1,'',NULL), +(78,'Save','jsave','plugin',1,1,1,'-32',1,'',NULL), +(79,'JTreeLink','jtreelink','plugin',2,1,1,'images/jtreelink.png',1,'',NULL), +(80,'HorizontalRule','horizontalrule','plugin',2,1,1,'-624',1,'',NULL), +(81,'Print','print','plugin',1,1,1,'-176',1,'',NULL), +(82,'','wsc','plugin',0,1,1,'',1,'',NULL), +(83,'','showborders','plugin',0,1,1,'',1,'',NULL), +(84,'','tab','plugin',0,1,1,'',1,'',NULL), +(85,'Undo','undo','plugin',1,1,1,'-208',1,'',NULL), +(86,'Redo','redo','command',1,1,1,'-224',1,'',86), +(87,'','resize','plugin',0,1,1,'',1,'',NULL), +(88,'Templates','templates','plugin',1,1,1,'-80',1,'',NULL), +(89,'','wysiwygarea','plugin',0,1,1,'',1,'',NULL), +(90,'','list','plugin',0,1,1,'',1,'',NULL), +(92,'FontSize','fontsize','command',3,1,1,'',1,'',73), +(93,'PasteFromWord','pastefromword','plugin',1,1,1,'-160',1,'',NULL), +(94,'Mobileimage','mobileimage','plugin',1,1,1,'icon.png',1,'',NULL) + +ON DUPLICATE KEY UPDATE `name`= VALUES(`name`),`title`= VALUES(`title`),`row` = VALUES(`row`), `icon` = VALUES(`icon`), `parentid` = VALUES(`parentid`), `type` = VALUES(`type`); + +DELETE FROM `#__jckplugins` WHERE id = 91; + +INSERT INTO `#__jckplugins`(`id`, `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`, `parentid`) +VALUES (57,'','autogrow','plugin',0,0,1,'',1,'',NULL) +ON DUPLICATE KEY UPDATE `name`= VALUES(`name`),`title`= VALUES(`title`),`row` = VALUES(`row`), `icon` = VALUES(`icon`), `parentid` = VALUES(`parentid`), `type` = VALUES(`type`),`published` = VALUES(`published`); + +INSERT INTO `#__jckplugins`( `title`,`name`,`type`,`row`,`published`,`editable`,`icon`,`iscore`,`params`, `parentid`) +SELECT '','html5support','plugin',0,1,1,'',1,'', NULL +FROM #__jckplugins +WHERE (SELECT count(1) from #__jckplugins WHERE name='html5support') = 0 +UNION +SELECT 'Video', 'video','plugin',3,1,1,'images/icon.png',1,'', NULL +FROM #__jckplugins +WHERE (SELECT count(1) from #__jckplugins WHERE name='video') = 0 +UNION +SELECT 'Audio','audio','plugin',3,1,1,'images/icon.png',1,'',NULL +FROM #__jckplugins +WHERE (SELECT count(1) from #__jckplugins WHERE name='audio') = 0 +UNION +SELECT 'UIColor','uicolor','plugin',3,1,1,'uicolor.gif',1,'',NULL +FROM #__jckplugins +WHERE (SELECT count(1) from #__jckplugins WHERE name='uicolor') = 0 +UNION +SELECT '','imagedragndrop','plugin',0,1,1,'',1,'',NULL +FROM #__jckplugins +WHERE (SELECT count(1) from #__jckplugins WHERE name='imagedragndrop') = 0 +UNION +SELECT '','ie9selectionoverride','plugin',0,1,1,'',1,'',NULL +FROM #__jckplugins +WHERE (SELECT count(1) from #__jckplugins WHERE name='ie9selectionoverride') = 0; + +SET @pluginid = (SELECT id from #__jckplugins WHERE name='html5support'); + +UPDATE #__jckplugins +SET parentid = @pluginid +WHERE name in('video','audio'); + +UPDATE #__jckplugins +SET acl = NULL +WHERE acl='*'; + +CREATE TABLE IF NOT EXISTS `#__jcktoolbars` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `name` varchar(100) NOT NULL, + `published` tinyint(3) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `iscore` tinyint(3) NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `toolbar` (`name`) +) ; + +INSERT INTO `#__jcktoolbars` (`id`,`title`,`name`,`published`,`checked_out`,`checked_out_time`,`iscore`,`params`) VALUES +(1,'Full','full',1,0,'0000-00-00 00:00:00',1,''), +(2,'Publisher','publisher',1,0,'0000-00-00 00:00:00',1,''), +(3,'Basic','basic',1,0,'0000-00-00 00:00:00',1,''), +(4,'Blog','blog',1,0,'0000-00-00 00:00:00',1,''), +(5,'Image','image',1,0,'0000-00-00 00:00:00',1,''), +(6,'Mobile','mobile',1,0,'0000-00-00 00:00:00',1,'') +ON DUPLICATE KEY UPDATE `name`= VALUES(`name`); + +CREATE TABLE IF NOT EXISTS `#__jcktoolbarplugins` ( + `toolbarid` int(11) NOT NULL, + `pluginid` int(11) NOT NULL, + `row` int(11) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `state` tinyint(3) NOT NULL default '0', + PRIMARY KEY (`toolbarid`,`pluginid`) +) ; + + +CREATE TABLE IF NOT EXISTS `#__jcklanguages` ( + `id` int(11) NOT NULL auto_increment, + tag varchar(5), + filename varchar (100), + PRIMARY KEY (`id`) +); + diff --git a/deployed/jckman/administrator/components/com_jckman/sql/uninstall.sql b/deployed/jckman/administrator/components/com_jckman/sql/uninstall.sql index 3b8f24fd..bda03df9 100644 --- a/deployed/jckman/administrator/components/com_jckman/sql/uninstall.sql +++ b/deployed/jckman/administrator/components/com_jckman/sql/uninstall.sql @@ -1,4 +1,4 @@ -DROP TABLE IF EXISTS `#__jckplugins`; -DROP TABLE IF EXISTS `#__jcktoolbars`; -DROP TABLE IF EXISTS `#__jcktoolbarplugins`; +DROP TABLE IF EXISTS `#__jckplugins`; +DROP TABLE IF EXISTS `#__jcktoolbars`; +DROP TABLE IF EXISTS `#__jcktoolbarplugins`; DROP TABLE IF EXISTS `#__jcklanguages`; \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/tables/language.php b/deployed/jckman/administrator/components/com_jckman/tables/language.php index 83a4c743..5f44ba23 100644 --- a/deployed/jckman/administrator/components/com_jckman/tables/language.php +++ b/deployed/jckman/administrator/components/com_jckman/tables/language.php @@ -1,37 +1,37 @@ -_db->getQuery(true); - $sql->select('id') - ->from('#__jckplugins') - ->where('name = "'.$pluginName. '"'); - - $id = $this->_db->setQuery($sql)->loadResult(); - - // Return the asset id. - if($id) - { - $this->parentid = $id; - } - } - } - - function bind($array, $ignore = '') - { - if (isset( $array['params'] ) && is_array($array['params'])) - { - $registry = new JRegistry(); - $registry->loadArray($array['params']); - $array['params'] = (string) $registry; - } - return parent::bind($array, $ignore); - } +_db->getQuery(true); + $sql->select('id') + ->from('#__jckplugins') + ->where('name = "'.$pluginName. '"'); + + $id = $this->_db->setQuery($sql)->loadResult(); + + // Return the asset id. + if($id) + { + $this->parentid = $id; + } + } + } + + function bind($array, $ignore = '') + { + if (isset( $array['params'] ) && is_array($array['params'])) + { + $registry = new JRegistry(); + $registry->loadArray($array['params']); + $array['params'] = (string) $registry; + } + return parent::bind($array, $ignore); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/tables/toolbar.php b/deployed/jckman/administrator/components/com_jckman/tables/toolbar.php index 4058ac3f..6e06a7e3 100644 --- a/deployed/jckman/administrator/components/com_jckman/tables/toolbar.php +++ b/deployed/jckman/administrator/components/com_jckman/tables/toolbar.php @@ -1,104 +1,104 @@ -loadArray($array['params']); - $array['params'] = (string) $registry; - } - - return parent::bind($array, $ignore); - } - - -} +loadArray($array['params']); + $array['params'] = (string) $registry; + } + + return parent::bind($array, $ignore); + } + + +} ?> \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/cpanel/css/cpanel.css b/deployed/jckman/administrator/components/com_jckman/views/cpanel/css/cpanel.css index 9df17ff4..39e418fb 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/cpanel/css/cpanel.css +++ b/deployed/jckman/administrator/components/com_jckman/views/cpanel/css/cpanel.css @@ -1,97 +1,97 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -div#submenu-box { display: none;} -#sbox-btn-close { display:none;} -#sbox-window{ background-color : #000000;} - -/* STYLE SLIDERS */ -#JCKSliders .accordion-group, -#JCKSliders .accordion-inner -{ - border : 0px none; -} - -/* FIX JOOMLA OUTLINE ISSUE */ -#JCKSliders a -{ - outline : 0px none; -} - -#JCKSliders .accordion-toggle -{ - padding : 0px; -} - -#JCKSliders .accordion-toggle span -{ - color : #333333; - font-size : 80%; -} - -/* STYLE CPANEL */ -.well > div -{ - overflow : hidden; -} - -.well .table -{ - word-wrap : break-word; -} - -#sidebar -{ - padding-bottom : 15px; /* for mobiles benefit */ -} - -#jckcpanel -{ - min-height : 150px; - padding-top : 12px; - overflow : hidden; - clear : both; -} - -#jckcpanel a -{ - display : block; - float : left; - width : 80px; - height : 100px; - padding : 15px 4%; - - text-align :center; -} - -#jckcpanel a img -{ - padding-top : 0px; - - transition : padding-top 0.1s; - -moz-transition : padding-top 0.1s; - -webkit-transition : padding-top 0.1s; - -o-transition : padding-top 0.1s; - -ms-transition : padding-top 0.1s; -} - -#jckcpanel a:hover img -{ - padding-top : 4px; - - transition : padding-top 0.2s; - -moz-transition : padding-top 0.2s; - -webkit-transition : padding-top 0.2s; - -o-transition : padding-top 0.2s; - -ms-transition : padding-top 0.2s; -} - -#jckcpanel a div -{ - word-wrap : break-word; +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +div#submenu-box { display: none;} +#sbox-btn-close { display:none;} +#sbox-window{ background-color : #000000;} + +/* STYLE SLIDERS */ +#JCKSliders .accordion-group, +#JCKSliders .accordion-inner +{ + border : 0px none; +} + +/* FIX JOOMLA OUTLINE ISSUE */ +#JCKSliders a +{ + outline : 0px none; +} + +#JCKSliders .accordion-toggle +{ + padding : 0px; +} + +#JCKSliders .accordion-toggle span +{ + color : #333333; + font-size : 80%; +} + +/* STYLE CPANEL */ +.well > div +{ + overflow : hidden; +} + +.well .table +{ + word-wrap : break-word; +} + +#sidebar +{ + padding-bottom : 15px; /* for mobiles benefit */ +} + +#jckcpanel +{ + min-height : 150px; + padding-top : 12px; + overflow : hidden; + clear : both; +} + +#jckcpanel a +{ + display : block; + float : left; + width : 80px; + height : 100px; + padding : 15px 4%; + + text-align :center; +} + +#jckcpanel a img +{ + padding-top : 0px; + + transition : padding-top 0.1s; + -moz-transition : padding-top 0.1s; + -webkit-transition : padding-top 0.1s; + -o-transition : padding-top 0.1s; + -ms-transition : padding-top 0.1s; +} + +#jckcpanel a:hover img +{ + padding-top : 4px; + + transition : padding-top 0.2s; + -moz-transition : padding-top 0.2s; + -webkit-transition : padding-top 0.2s; + -o-transition : padding-top 0.2s; + -ms-transition : padding-top 0.2s; +} + +#jckcpanel a div +{ + word-wrap : break-word; } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/cpanel/tmpl/default.php b/deployed/jckman/administrator/components/com_jckman/views/cpanel/tmpl/default.php index 9fccc881..52f0287e 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/cpanel/tmpl/default.php +++ b/deployed/jckman/administrator/components/com_jckman/views/cpanel/tmpl/default.php @@ -1,106 +1,106 @@ -addStyleSheet( JCK_COMPONENT_VIEW . '/css/cpanel.css', 'text/css' ); - -$task = $this->app->input->get( 'taskbtn', false ); - -if( $task ) -{ - // Manually fire off a button (safari/chrome do not support .click() ) - $js = 'window.addEvent( "load", function( ev ) - { - var x = document.id( "jcktaskbtn_' . $task . '" ); - - if( x && x.click ) - { - x.click(); - } - else if( x ) - { - fireTheEvent( x, "click"); - } - }) - - function fireTheEvent(element,event) - { - if (document.createEventObject) - { - // dispatch for IE - var evt = document.createEventObject(); - return element.fireEvent("on"+event,evt) - } - else - { - var evt = document.createEvent("HTMLEvents"); - evt.initEvent(event, true, true ); // event type,bubbling,cancelable - return !element.dispatchEvent(evt); - } - } - '; - $document->addScriptDeclaration( $js ); -}//end if -?> -sidebar)): ?> - -
                          - -
                          - -
                          - icons as $i => $module) - { - $title = ( $i ) ? '' : ''; - $class = ( $module->module == 'mod_jckquickicon' ) ? 'row-striped' : ''; - echo '
                          '; - echo $title; - echo '
                          '; - echo JCKModuleHelper::renderModule( $module ); - echo '
                          '; - echo '
                          '; - } - ?> -
                          -
                          - -
                          - modules ); - echo JHtml::_( 'bootstrap.startAccordion', 'JCKSliders', array( 'active' => 'slider-' . $first->id ) ); - - foreach ($this->modules as $i => $module) - { - $title = JText::_($module->title); - $module->content = JText::_($module->content); - $subtitle = chr( 32 ) . 'FAQs'; - echo '
                          '; - echo JHtml::_( 'bootstrap.addSlide', 'JCKSliders', $title . $subtitle, 'slider-' . $module->id ); - echo JCKModuleHelper::renderModule( $module ); - echo JHtml::_( 'bootstrap.endSlide' ); - echo '
                          '; - } - - echo JHtml::_( 'bootstrap.endAccordion' ); - ?> -
                          -
                          +addStyleSheet( JCK_COMPONENT_VIEW . '/css/cpanel.css', 'text/css' ); + +$task = $this->app->input->get( 'taskbtn', false ); + +if( $task ) +{ + // Manually fire off a button (safari/chrome do not support .click() ) + $js = 'window.addEvent( "load", function( ev ) + { + var x = document.id( "jcktaskbtn_' . $task . '" ); + + if( x && x.click ) + { + x.click(); + } + else if( x ) + { + fireTheEvent( x, "click"); + } + }) + + function fireTheEvent(element,event) + { + if (document.createEventObject) + { + // dispatch for IE + var evt = document.createEventObject(); + return element.fireEvent("on"+event,evt) + } + else + { + var evt = document.createEvent("HTMLEvents"); + evt.initEvent(event, true, true ); // event type,bubbling,cancelable + return !element.dispatchEvent(evt); + } + } + '; + $document->addScriptDeclaration( $js ); +}//end if +?> +sidebar)): ?> + +
                          + +
                          + +
                          + icons as $i => $module) + { + $title = ( $i ) ? '' : ''; + $class = ( $module->module == 'mod_jckquickicon' ) ? 'row-striped' : ''; + echo '
                          '; + echo $title; + echo '
                          '; + echo JCKModuleHelper::renderModule( $module ); + echo '
                          '; + echo '
                          '; + } + ?> +
                          +
                          + +
                          + modules ); + echo JHtml::_( 'bootstrap.startAccordion', 'JCKSliders', array( 'active' => 'slider-' . $first->id ) ); + + foreach ($this->modules as $i => $module) + { + $title = JText::_($module->title); + $module->content = JText::_($module->content); + $subtitle = chr( 32 ) . 'FAQs'; + echo '
                          '; + echo JHtml::_( 'bootstrap.addSlide', 'JCKSliders', $title . $subtitle, 'slider-' . $module->id ); + echo JCKModuleHelper::renderModule( $module ); + echo JHtml::_( 'bootstrap.endSlide' ); + echo '
                          '; + } + + echo JHtml::_( 'bootstrap.endAccordion' ); + ?> +
                          +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/cpanel/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/cpanel/view.html.php index d9300623..d903d901 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/cpanel/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/cpanel/view.html.php @@ -1,50 +1,50 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - $lang = JFactory::getLanguage(); - $this->icons = JCKModuleHelper::getModules('jck_icon'); - $this->modules = JCKModuleHelper::getModules('jck_cpanel'); - - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $bar = JToolBar::getInstance('toolbar'); - - JToolBarHelper::title( JText::_( 'JCK Manager' ), 'cpanel.png' ); - - if ($this->canDo->get('core.admin')) - { - JToolbarHelper::preferences('com_jckman'); - } - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + $lang = JFactory::getLanguage(); + $this->icons = JCKModuleHelper::getModules('jck_icon'); + $this->modules = JCKModuleHelper::getModules('jck_cpanel'); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $bar = JToolBar::getInstance('toolbar'); + + JToolBarHelper::title( JText::_( 'JCK Manager' ), 'cpanel.png' ); + + if ($this->canDo->get('core.admin')) + { + JToolbarHelper::preferences('com_jckman'); + } + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_ftp.php b/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_ftp.php index 78448139..8657afd7 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_ftp.php +++ b/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_ftp.php @@ -1,44 +1,44 @@ - -
                          - - - - - ftp)): ?> -

                          ftp->message); ?>

                          - - - - - - - - - - - - - -
                          - - - -
                          - - - -
                          - + +
                          + + + + + ftp)): ?> +

                          ftp->message); ?>

                          + + + + + + + + + + + + + +
                          + + + +
                          + + + +
                          +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_message.php b/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_message.php index 8fd229a9..34a988cb 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_message.php +++ b/deployed/jckman/administrator/components/com_jckman/views/default/tmpl/default_message.php @@ -1,30 +1,30 @@ -get('State'); - $message1 = $state->get('message'); - $message2 = $state->get('extension.message'); -?> - - - - - - - - - - - - - -
                          +get('State'); + $message1 = $state->get('message'); + $message2 = $state->get('extension.message'); +?> + + + + + + + + + + + + + +
                          diff --git a/deployed/jckman/administrator/components/com_jckman/views/default/view.php b/deployed/jckman/administrator/components/com_jckman/views/default/view.php index fa9d3dac..97d8c630 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/default/view.php +++ b/deployed/jckman/administrator/components/com_jckman/views/default/view.php @@ -1,63 +1,63 @@ - JPATH_COMPONENT - )); - - $this->_addPath('template', $this->_basePath.DS.'views'.DS.'default'.DS.'tmpl'); - } - - function display($tpl=null) - { - /* - * Set toolbar items for the page - */ - JToolBarHelper::title( JText::_( 'JCK Plugin Installer'), 'installer.png' ); - - - // Document - $document = JFactory::getDocument(); - $document->setTitle(JText::_('JCK Plugin Installer').' : '.JText::_( $this->getName() )); - - // Get data from the model - $state = $this->get('State'); - - // Are there messages to display ? - $showMessage = false; - if ( is_object($state) ) - { - $message1 = $state->get('message'); - $message2 = $state->get('extension.message'); - $showMessage = ( $message1 || $message2 ); - } - - $this->assign('showMessage', $showMessage); - $this->assignRef('state', $state); - - JHTML::_('behavior.tooltip'); - parent::display($tpl); - } - - /** - * Should be overloaded by extending view - * - * @param int $index - */ - function loadItem($index=0) - { - } + JPATH_COMPONENT + )); + + $this->_addPath('template', $this->_basePath.DS.'views'.DS.'default'.DS.'tmpl'); + } + + function display($tpl=null) + { + /* + * Set toolbar items for the page + */ + JToolBarHelper::title( JText::_( 'JCK Plugin Installer'), 'installer.png' ); + + + // Document + $document = JFactory::getDocument(); + $document->setTitle(JText::_('JCK Plugin Installer').' : '.JText::_( $this->getName() )); + + // Get data from the model + $state = $this->get('State'); + + // Are there messages to display ? + $showMessage = false; + if ( is_object($state) ) + { + $message1 = $state->get('message'); + $message2 = $state->get('extension.message'); + $showMessage = ( $message1 || $message2 ); + } + + $this->assign('showMessage', $showMessage); + $this->assignRef('state', $state); + + JHTML::_('behavior.tooltip'); + parent::display($tpl); + } + + /** + * Should be overloaded by extending view + * + * @param int $index + */ + function loadItem($index=0) + { + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form.php b/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form.php index eda1a609..50c7acfe 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form.php +++ b/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form.php @@ -1,86 +1,86 @@ -app->input->get( 'option', 'com_jckman' ) . DS . 'js' . DS . 'toolbars.js' ); -JHtml::script( JURI::root() . 'administrator' . DS . 'components' . DS . $this->app->input->get( 'option', 'com_jckman' ) . DS . 'js' . DS . 'groups.js' ); - -?> - -
                          -sidebar)): ?> - -
                          - -
                          - -
                          - -
                          -
                          - form->getFieldset('general') as $field) : ?> -
                          -
                          - label; ?> -
                          -
                          - input; ?> -
                          -
                          - -
                          -
                          - loadTemplate('editor'); ?> -
                          -
                          - loadTemplate('options'); ?> -
                          -
                          -
                          -
                          - - +app->input->get( 'option', 'com_jckman' ) . DS . 'js' . DS . 'toolbars.js' ); +JHtml::script( JURI::root() . 'administrator' . DS . 'components' . DS . $this->app->input->get( 'option', 'com_jckman' ) . DS . 'js' . DS . 'groups.js' ); + +?> + + +sidebar)): ?> + +
                          + +
                          + +
                          + +
                          +
                          + form->getFieldset('general') as $field) : ?> +
                          +
                          + label; ?> +
                          +
                          + input; ?> +
                          +
                          + +
                          +
                          + loadTemplate('editor'); ?> +
                          +
                          + loadTemplate('options'); ?> +
                          +
                          +
                          +
                          + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_editor.php b/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_editor.php index c7694aa3..82690cd3 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_editor.php +++ b/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_editor.php @@ -1,39 +1,39 @@ - -
                          - - form->getFieldset('toolbars') as $field) : ?> -
                          -
                          - label; ?> -
                          -
                          - input; ?> -
                          -
                          - -
                          -
                          - - form->getFieldset('usergroup') as $field) : ?> -
                          -
                          - label; ?> -
                          -
                          - input; ?> -
                          -
                          - + +
                          + + form->getFieldset('toolbars') as $field) : ?> +
                          +
                          + label; ?> +
                          +
                          + input; ?> +
                          +
                          + +
                          +
                          + + form->getFieldset('usergroup') as $field) : ?> +
                          +
                          + label; ?> +
                          +
                          + input; ?> +
                          +
                          +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_options.php b/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_options.php index 340f7736..1aa52b93 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_options.php +++ b/deployed/jckman/administrator/components/com_jckman/views/editplugin/tmpl/form_options.php @@ -1,34 +1,34 @@ - -params->getFieldsets('params') as $name => $fieldset) : ?> -
                          - label ) ?: JText::_('COM_PLUGINS_'.$name.'_FIELDSET_LABEL'); ?> - params->getFieldset($name) as $field) : ?> -
                          - hidden) : ?> -
                          - label; ?> -
                          -
                          - input; ?> -
                          - -
                          - input; ?> -
                          - -
                          - -
                          + +params->getFieldsets('params') as $name => $fieldset) : ?> +
                          + label ) ?: JText::_('COM_PLUGINS_'.$name.'_FIELDSET_LABEL'); ?> + params->getFieldset($name) as $field) : ?> +
                          + hidden) : ?> +
                          + label; ?> +
                          +
                          + input; ?> +
                          + +
                          + input; ?> +
                          + +
                          + +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/editplugin/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/editplugin/view.html.php index b4b82df5..51c436f7 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/editplugin/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/editplugin/view.html.php @@ -1,164 +1,164 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - $this->user = JFactory::getUser(); - $this->state = $this->get('State'); - $this->item = $this->get('Item'); - $this->form = $this->get('Form'); - $this->params = $this->prepareForm($this->item); - - if(!$this->canDo->get('core.edit')) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_EDIT' ), 'error' ); - return false; - }//end if - - //language - $lang = JCKHelper::getLanguage(); - $tag = $lang->getTag(); - JFactory::$language = $lang; //override Joomla default language class - - $name = $this->item->name; - - - $plugin = 'plg_jck'.$name; - - $pluginOverideFile = JPATH_COMPONENT.'/language/overrides/'.$tag.'.'.$plugin.'.ini'; - $pluginLangFile = JPATH_COMPONENT.'/language/'.$tag.'/'.$tag.'.'.$plugin. '.ini'; - - if(JFile::exists($pluginOverideFile)) //check in language overrides to see if user has installed an override language file - $lang->loadFile($pluginOverideFile, $plugin); - else if(JFile::exists($pluginLangFile)) //load core language file if it exists - $lang->load($plugin, JPATH_COMPONENT); - else - { - //load english default languge - if(JFile::exists( JPATH_COMPONENT.'/language/en-GB/en-GB.plg_jck'. $name.'.ini')) //This should exist! - { - $lang->load($plugin, JPATH_COMPONENT,'en-GB'); - } - } - $this->item->description = JText::_($this->item->description); - - - $this->form->bind($this->item); - - // Check for errors. - if(count($errors = $this->get('Errors'))) - { - JCKHelper::error( implode("\n", $errors)); - return false; - } - - - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $this->app->input->set('hidemainmenu', true); - - $bar = JToolBar::getInstance('toolbar'); - $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $this->user->get('id')); - - JToolBarHelper::title( JText::_( 'JCK Plugin' ) .':' . chr( 32 ) . JText::_($this->item->name), 'plugin.png' ); - - if( $this->canDo->get('core.create') && !$checkedOut ) - { - JToolBarHelper::apply( 'list.apply' ); - JToolBarHelper::save( 'list.save' ); - }//end if - - JToolBarHelper::cancel( 'list.cancel', 'JTOOLBAR_CLOSE' ); - //JToolBarHelper::help( $this->app->input->get( 'view' ), true ); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function - - function prepareForm(&$item) - { - if($item->iscore) - @$data = file_get_contents( JPATH_COMPONENT.DS.'editor'.DS.'plugins'.DS.$item->name.'.xml' ); - else - @$data = file_get_contents( JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$item->name.DS.$item->name.'.xml' ); - - if($data ) - { - $data = preg_replace( array('/\/i','/\/i','/\/is'), array('','',''), $data ); - $data = str_replace( array( 'xpath( '//field[@type="radio" or @type="resizeradio"]' ); - - foreach( $nodes as $node ) - { - $radio = 'btn-group'; - $class = ( (string)$node->attributes()->class ) ? (string)$node->attributes()->class . chr( 32 ) . $radio : $radio; - - if( $node->attributes()->class ) - { - $node->attributes()->class = $class; - } - else - { - $node->addAttribute( 'class', $class ); - } - } - - $data = $xml->asXML(); - } else - { - $data = 'dummy data'; - }//end if - - JCKForm::addFieldPath(JPATH_COMPONENT . DS . 'models' . DS . 'fields'); - $form = JCKForm::getInstance( 'com_jckman.plugin', $data,array(),true,'//config'); - //$model = $this->getModel(); - //$form = $model->getPluginForm($data); - - //load plugins language file - $lang = JFactory::getLanguage(); - $lang->load('com_plugins', JPATH_ADMINISTRATOR, null, false, false); - - JPluginHelper::importPlugin('content'); - - $dispatcher = JDispatcher::getInstance(); - - // Trigger the form preparation event. - $jpara = new JRegistry( $item->params ); - $data = $jpara->toArray(); - $results = $dispatcher->trigger('onContentPrepareForm', array($form, $data)); - - $form->bind($data); - - return $form; - } +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + $this->user = JFactory::getUser(); + $this->state = $this->get('State'); + $this->item = $this->get('Item'); + $this->form = $this->get('Form'); + $this->params = $this->prepareForm($this->item); + + if(!$this->canDo->get('core.edit')) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=list', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_EDIT' ), 'error' ); + return false; + }//end if + + //language + $lang = JCKHelper::getLanguage(); + $tag = $lang->getTag(); + JFactory::$language = $lang; //override Joomla default language class + + $name = $this->item->name; + + + $plugin = 'plg_jck'.$name; + + $pluginOverideFile = JPATH_COMPONENT.'/language/overrides/'.$tag.'.'.$plugin.'.ini'; + $pluginLangFile = JPATH_COMPONENT.'/language/'.$tag.'/'.$tag.'.'.$plugin. '.ini'; + + if(JFile::exists($pluginOverideFile)) //check in language overrides to see if user has installed an override language file + $lang->loadFile($pluginOverideFile, $plugin); + else if(JFile::exists($pluginLangFile)) //load core language file if it exists + $lang->load($plugin, JPATH_COMPONENT); + else + { + //load english default languge + if(JFile::exists( JPATH_COMPONENT.'/language/en-GB/en-GB.plg_jck'. $name.'.ini')) //This should exist! + { + $lang->load($plugin, JPATH_COMPONENT,'en-GB'); + } + } + $this->item->description = JText::_($this->item->description); + + + $this->form->bind($this->item); + + // Check for errors. + if(count($errors = $this->get('Errors'))) + { + JCKHelper::error( implode("\n", $errors)); + return false; + } + + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $this->app->input->set('hidemainmenu', true); + + $bar = JToolBar::getInstance('toolbar'); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $this->user->get('id')); + + JToolBarHelper::title( JText::_( 'JCK Plugin' ) .':' . chr( 32 ) . JText::_($this->item->name), 'plugin.png' ); + + if( $this->canDo->get('core.create') && !$checkedOut ) + { + JToolBarHelper::apply( 'list.apply' ); + JToolBarHelper::save( 'list.save' ); + }//end if + + JToolBarHelper::cancel( 'list.cancel', 'JTOOLBAR_CLOSE' ); + //JToolBarHelper::help( $this->app->input->get( 'view' ), true ); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function + + function prepareForm(&$item) + { + if($item->iscore) + @$data = file_get_contents( JPATH_COMPONENT.DS.'editor'.DS.'plugins'.DS.$item->name.'.xml' ); + else + @$data = file_get_contents( JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'plugins'.DS.$item->name.DS.$item->name.'.xml' ); + + if($data ) + { + $data = preg_replace( array('/\/i','/\/i','/\/is'), array('','',''), $data ); + $data = str_replace( array( 'xpath( '//field[@type="radio" or @type="resizeradio"]' ); + + foreach( $nodes as $node ) + { + $radio = 'btn-group'; + $class = ( (string)$node->attributes()->class ) ? (string)$node->attributes()->class . chr( 32 ) . $radio : $radio; + + if( $node->attributes()->class ) + { + $node->attributes()->class = $class; + } + else + { + $node->addAttribute( 'class', $class ); + } + } + + $data = $xml->asXML(); + } else + { + $data = '
                          dummy data
                          '; + }//end if + + JCKForm::addFieldPath(JPATH_COMPONENT . DS . 'models' . DS . 'fields'); + $form = JCKForm::getInstance( 'com_jckman.plugin', $data,array(),true,'//config'); + //$model = $this->getModel(); + //$form = $model->getPluginForm($data); + + //load plugins language file + $lang = JFactory::getLanguage(); + $lang->load('com_plugins', JPATH_ADMINISTRATOR, null, false, false); + + JPluginHelper::importPlugin('content'); + + $dispatcher = JDispatcher::getInstance(); + + // Trigger the form preparation event. + $jpara = new JRegistry( $item->params ); + $data = $jpara->toArray(); + $results = $dispatcher->trigger('onContentPrepareForm', array($form, $data)); + + $form->bind($data); + + return $form; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default.php b/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default.php index 06b2e333..0db531cb 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default.php +++ b/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default.php @@ -1,158 +1,158 @@ - - - -
                          -sidebar)): ?> - -
                          - -
                          - - -
                          -
                          - items)) : ?> - - - - - - - - - - - - - - - - - - items as $i => $item ) : ?> - loadItem($i); - echo $this->loadTemplate('item'); - ?> - - -
                          - -
                          pagination->getListFooter(); ?>
                          - - - - - -
                          - -
                          -
                          - languages)) : ?> - - - - - - - - - - - - - - - - - - - - languages as $i => $language ) : ?> - loadLanguage($i); - echo $this->loadTemplate('language'); - ?> - - -
                          - -
                          langPagination->getListFooter(); ?>
                          - - - - - -
                          - - -
                          -
                          - - - - - -
                          + + + + +sidebar)): ?> + +
                          + +
                          + + +
                          +
                          + items)) : ?> + + + + + + + + + + + + + + + + + + items as $i => $item ) : ?> + loadItem($i); + echo $this->loadTemplate('item'); + ?> + + +
                          + +
                          pagination->getListFooter(); ?>
                          + + + + + +
                          + +
                          +
                          + languages)) : ?> + + + + + + + + + + + + + + + + + + + + languages as $i => $language ) : ?> + loadLanguage($i); + echo $this->loadTemplate('language'); + ?> + + +
                          + +
                          langPagination->getListFooter(); ?>
                          + + + + + +
                          + + +
                          +
                          + + + + + +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_item.php b/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_item.php index 1d683295..e1c87cb2 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_item.php +++ b/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_item.php @@ -1,35 +1,35 @@ - - - - pagination->getRowOffset( $this->item->index ); ?> - - - item->index , $this->item->id); ?> - - - item->name;?> - - - item->version ? $this->item->version : '--'; ?> - - - item->creationDate ? $this->item->creationDate : '--'; ?> - - - - item->author ? $this->item->author : '--'; ?> - - + + + + pagination->getRowOffset( $this->item->index ); ?> + + + item->index , $this->item->id); ?> + + + item->name;?> + + + item->version ? $this->item->version : '--'; ?> + + + item->creationDate ? $this->item->creationDate : '--'; ?> + + + + item->author ? $this->item->author : '--'; ?> + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_language.php b/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_language.php index 1e2650ad..8ae1bb9f 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_language.php +++ b/deployed/jckman/administrator/components/com_jckman/views/extension/tmpl/default_language.php @@ -1,41 +1,41 @@ - - - - langPagination->getRowOffset( $this->language->index ); ?> - - - language->index, $this->language->id); ?> - - - language->name; ?> - - - language->tag;?> - - - language->plugin;?> - - - language->version ? $this->language->version : '--'; ?> - - - language->creationDate ? $this->language->creationDate : '--'; ?> - - - - language->author ? $this->language->author : '--'; ?> - - + + + + langPagination->getRowOffset( $this->language->index ); ?> + + + language->index, $this->language->id); ?> + + + language->name; ?> + + + language->tag;?> + + + language->plugin;?> + + + language->version ? $this->language->version : '--'; ?> + + + language->creationDate ? $this->language->creationDate : '--'; ?> + + + + language->author ? $this->language->author : '--'; ?> + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/extension/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/extension/view.html.php index 9314d683..27b6379a 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/extension/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/extension/view.html.php @@ -1,83 +1,83 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - $model = JModelLegacy::getInstance('Plugin','JCKManModel'); - $this->items = $model->getItems(); - $this->pagination = $model->getPagination(); - $langModel = JModelLegacy::getInstance('Language','JCKManModel'); - $this->languages = $langModel->getItems(); - $this->langPagination = $langModel->getPagination(); - - if(!$this->canDo->get('jckman.uninstall')) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_INSTALL' ), 'error' ); - return false; - }//end if - - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $bar = JToolBar::getInstance('toolbar'); - - JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_UNINSTALL_NAME' ), 'plugin.png' ); - - if($this->canDo->get('core.edit.state')) - { - JToolBarHelper::deleteList( '', 'manage.remove', JText::_( 'JTOOLBAR_UNINSTALL' ) ); - }//end if - - $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function - - /** - * Pass row item to item tmpl - */ - function loadItem($index=0) - { - $item = $this->items[$index]; - $item->index = $index; - $item->author_info = @$item->authorEmail .'
                          '. @$item->authorUrl; - $this->item = $item; - } - - /** - * Pass row item to item tmpl - */ - function loadLanguage($index=0) - { - $language = $this->languages[$index]; - $language->index = $index; - $language->author_info = @$language->authorEmail .'
                          '. @$language->authorUrl; - $this->language = $language; - } - - +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + $model = JModelLegacy::getInstance('Plugin','JCKManModel'); + $this->items = $model->getItems(); + $this->pagination = $model->getPagination(); + $langModel = JModelLegacy::getInstance('Language','JCKManModel'); + $this->languages = $langModel->getItems(); + $this->langPagination = $langModel->getPagination(); + + if(!$this->canDo->get('jckman.uninstall')) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_INSTALL' ), 'error' ); + return false; + }//end if + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $bar = JToolBar::getInstance('toolbar'); + + JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_UNINSTALL_NAME' ), 'plugin.png' ); + + if($this->canDo->get('core.edit.state')) + { + JToolBarHelper::deleteList( '', 'manage.remove', JText::_( 'JTOOLBAR_UNINSTALL' ) ); + }//end if + + $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function + + /** + * Pass row item to item tmpl + */ + function loadItem($index=0) + { + $item = $this->items[$index]; + $item->index = $index; + $item->author_info = @$item->authorEmail .'
                          '. @$item->authorUrl; + $this->item = $item; + } + + /** + * Pass row item to item tmpl + */ + function loadLanguage($index=0) + { + $language = $this->languages[$index]; + $language->index = $index; + $language->author_info = @$language->authorEmail .'
                          '. @$language->authorUrl; + $this->language = $language; + } + + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default.php b/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default.php index c168e8f1..d025ef07 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default.php +++ b/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default.php @@ -1,20 +1,20 @@ -load( 'com_installer' ); - -?> -showMessage) : ?> -loadTemplate('message'); ?> - -loadTemplate('form'); ?> +load( 'com_installer' ); + +?> +showMessage) : ?> +loadTemplate('message'); ?> + +loadTemplate('form'); ?> diff --git a/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default_form.php b/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default_form.php index d85c3477..b71b9d93 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default_form.php +++ b/deployed/jckman/administrator/components/com_jckman/views/import/tmpl/default_form.php @@ -1,99 +1,99 @@ - - -
                          -sidebar)): ?> - -
                          - -
                          - - -
                          -
                          - -
                          - -
                          - -
                          -
                          -
                          - -
                          -
                          -
                          - -
                          - -
                          - -
                          -
                          -
                          - -
                          -
                          - ftp) : ?> -
                          - loadTemplate('ftp'); ?> -
                          - -
                          -
                          - - - - - - - + + + +sidebar)): ?> + +
                          + +
                          + + +
                          +
                          + +
                          + +
                          + +
                          +
                          +
                          + +
                          +
                          +
                          + +
                          + +
                          + +
                          +
                          +
                          + +
                          +
                          + ftp) : ?> +
                          + loadTemplate('ftp'); ?> +
                          + +
                          +
                          + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/import/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/import/view.html.php index 62b872e9..5f75b1d2 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/import/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/import/view.html.php @@ -1,63 +1,63 @@ -first = ''; - - $this->app = JFactory::getApplication(); - $this->form = $this->get('Form'); - $this->state = $this->get('State'); - $this->paths = $paths; - - // Check for errors. - if(count($errors = $this->get('Errors'))) - { - JCKHelper::error( implode("\n", $errors)); - return false; - } - - $this->addToolbar(); - - JHTML::_('behavior.tooltip'); - parent::display($tpl); - } - - protected function addToolbar() - { - $bar = JToolBar::getInstance('toolbar'); - $canDo = JCKHelper::getActions(); - - JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_IMPORT_NAME' ), 'plugin.png' ); - - if( !JCKHelper::isMobile() && !JCKHelper::isiPad() ) - { - $bar->appendButton( 'Link', 'export', JText::_( 'JTOOLBAR_EXPORT' ),'index.php?option=com_jckman&task=cpanel.export'); - } - - $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); - JToolBarHelper::help( $this->app->input->get( 'view' ), false, 'http://www.joomlackeditor.com/installation-guide?start=20#restore'); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function +first = ''; + + $this->app = JFactory::getApplication(); + $this->form = $this->get('Form'); + $this->state = $this->get('State'); + $this->paths = $paths; + + // Check for errors. + if(count($errors = $this->get('Errors'))) + { + JCKHelper::error( implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + + JHTML::_('behavior.tooltip'); + parent::display($tpl); + } + + protected function addToolbar() + { + $bar = JToolBar::getInstance('toolbar'); + $canDo = JCKHelper::getActions(); + + JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_IMPORT_NAME' ), 'plugin.png' ); + + if( !JCKHelper::isMobile() && !JCKHelper::isiPad() ) + { + $bar->appendButton( 'Link', 'export', JText::_( 'JTOOLBAR_EXPORT' ),'index.php?option=com_jckman&task=cpanel.export'); + } + + $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); + JToolBarHelper::help( $this->app->input->get( 'view' ), false, 'http://www.joomlackeditor.com/installation-guide?start=20#restore'); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default.php b/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default.php index 111400ea..796d504e 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default.php +++ b/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default.php @@ -1,16 +1,16 @@ - -showMessage) : ?> -loadTemplate('message'); ?> - -loadTemplate('form'); ?> + +showMessage) : ?> +loadTemplate('message'); ?> + +loadTemplate('form'); ?> diff --git a/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default_form.php b/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default_form.php index 5b40f012..8aafebb0 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default_form.php +++ b/deployed/jckman/administrator/components/com_jckman/views/install/tmpl/default_form.php @@ -1,148 +1,148 @@ -app->input->get( 'option', 'com_jckman' ) . DS . 'js' . DS . 'toolbars.js' ); - -?> - -
                          -sidebar)): ?> - -
                          - -
                          - - -
                          -
                          - -
                          - -
                          - -
                          -
                          -
                          - -
                          -
                          -
                          - -
                          - -
                          - -
                          -
                          -
                          - -
                          -
                          -
                          - -
                          - -
                          - -
                          -
                          -
                          - -
                          -
                          - ftp) : ?> -
                          - loadTemplate('ftp'); ?> -
                          - -
                          -
                          - - form->getFieldset('toolbars') as $field) : ?> -
                          -
                          - label; ?> -
                          -
                          - input; ?> -
                          -
                          - -
                          -
                          - - - - - - - +app->input->get( 'option', 'com_jckman' ) . DS . 'js' . DS . 'toolbars.js' ); + +?> + + +sidebar)): ?> + +
                          + +
                          + + +
                          +
                          + +
                          + +
                          + +
                          +
                          +
                          + +
                          +
                          +
                          + +
                          + +
                          + +
                          +
                          +
                          + +
                          +
                          +
                          + +
                          + +
                          + +
                          +
                          +
                          + +
                          +
                          + ftp) : ?> +
                          + loadTemplate('ftp'); ?> +
                          + +
                          +
                          + + form->getFieldset('toolbars') as $field) : ?> +
                          +
                          + label; ?> +
                          +
                          + input; ?> +
                          +
                          + +
                          +
                          + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/install/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/install/view.html.php index aa66abca..74d1ddc3 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/install/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/install/view.html.php @@ -1,66 +1,66 @@ -first = ''; - - $this->canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - $this->form = $this->get('Form'); - $this->state = $this->get('State'); - $this->paths = $paths; - - if(!$this->canDo->get('jckman.install')) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_INSTALL' ), 'error' ); - return false; - }//end if - - // Check for errors. - if(count($errors = $this->get('Errors'))) - { - JCKHelper::error( implode("\n", $errors)); - return false; - } - - JHTML::_('behavior.tooltip'); - - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $bar = JToolBar::getInstance('toolbar'); - - JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_INSTALL_NAME' ), 'plugin.png' ); - - // Add a Link button for Control Panel - $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); - JToolBarHelper::help( $this->app->input->get( 'view' ), false,'http://www.joomlackeditor.com/installation-guide?start=16#installer_help'); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function +first = ''; + + $this->canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + $this->form = $this->get('Form'); + $this->state = $this->get('State'); + $this->paths = $paths; + + if(!$this->canDo->get('jckman.install')) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_INSTALL' ), 'error' ); + return false; + }//end if + + // Check for errors. + if(count($errors = $this->get('Errors'))) + { + JCKHelper::error( implode("\n", $errors)); + return false; + } + + JHTML::_('behavior.tooltip'); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $bar = JToolBar::getInstance('toolbar'); + + JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_INSTALL_NAME' ), 'plugin.png' ); + + // Add a Link button for Control Panel + $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); + JToolBarHelper::help( $this->app->input->get( 'view' ), false,'http://www.joomlackeditor.com/installation-guide?start=16#installer_help'); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/list/css/plugins.css b/deployed/jckman/administrator/components/com_jckman/views/list/css/plugins.css index 8bc4e24b..b829977e 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/list/css/plugins.css +++ b/deployed/jckman/administrator/components/com_jckman/views/list/css/plugins.css @@ -1,12 +1,12 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -.img_icon { -width:16px; -height:16px; +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +.img_icon { +width:16px; +height:16px; } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/list/tmpl/default.php b/deployed/jckman/administrator/components/com_jckman/views/list/tmpl/default.php index 6ee83970..a93aefb8 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/list/tmpl/default.php +++ b/deployed/jckman/administrator/components/com_jckman/views/list/tmpl/default.php @@ -1,206 +1,206 @@ -escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); -$sortFields = $this->getSortFields(); - -//load style sheet -$document = JFactory::getDocument(); -$document->addStyleSheet( JCK_COMPONENT . '/css/icons.css', 'text/css' ); -$document->addStyleSheet( JCK_COMPONENT_VIEW . '/css/plugins.css', 'text/css' ); - -?> - -
                          -sidebar)): ?> - -
                          - -
                          - -
                          - -
                          - - -
                          -
                          - - pagination->getLimitBox(); ?> -
                          -
                          - - -
                          -
                          - - -
                          -
                          -
                           
                          - - - - - - - - - - - - - - - - - - - items as $i => $item) : - $ordering = ($listOrder == 'p.type'); - $canCreate = $this->user->authorise('core.create', 'com_jckman'); - $canEdit = $this->user->authorise('core.edit', 'com_jckman') && $item->editable; - $canCheckin = $this->user->authorise('core.manage', 'com_checkin') || $item->checked_out == $this->user->get('id')|| $item->checked_out == 0; - $canChange = $this->user->authorise('core.edit.state', 'com_jckman') && $canCheckin; - $title = ( $item->title ) ? $item->title : $item->name; - ?> - - - - - - - - - - - -
                          - - - - - - - - - - - - - -
                          - pagination->getListFooter(); ?> -
                          - pagination->getRowOffset( $i ); ?> - - id); ?> - - published, $i, 'list.', $canChange, 'cb'); ?> - -
                          - checked_out) : ?> - editor, $item->checked_out_time, 'list.', $canCheckin); ?> - - - - escape($title); ?> - - escape($title); ?> - -
                          Core Plugin: iscore) ? JText::_( 'JYES' ) : JText::_( 'JNO' ); ?>
                          -
                          -
                          - id . '&cid[]=' . $item->id, 'list.'); - JHtml::_('dropdown.divider'); - endif; - - if( $canChange ) : - if ($item->published) : - JHtml::_('dropdown.unpublish', 'cb' . $i, 'list.'); - else : - JHtml::_('dropdown.publish', 'cb' . $i, 'list.'); - endif; - endif; - - if ($item->checked_out && $canCheckin) : - JHtml::_('dropdown.divider'); - JHtml::_('dropdown.checkin', 'cb' . $i, 'list.'); - endif; - - // Render dropdown list - echo JHtml::_('dropdown.render'); - ?> -
                          -
                          - name;?> - - icon && is_numeric($item->icon)) - { - echo '' . $item->name .''; - } - elseif($item->icon) - { - echo ''. $item->name .''; - } - else - { - echo $item->name; - } - ?> - - id; ?> -
                          - - - - - - - -
                          +escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$sortFields = $this->getSortFields(); + +//load style sheet +$document = JFactory::getDocument(); +$document->addStyleSheet( JCK_COMPONENT . '/css/icons.css', 'text/css' ); +$document->addStyleSheet( JCK_COMPONENT_VIEW . '/css/plugins.css', 'text/css' ); + +?> + + +sidebar)): ?> + +
                          + +
                          + +
                          + +
                          + + +
                          +
                          + + pagination->getLimitBox(); ?> +
                          +
                          + + +
                          +
                          + + +
                          +
                          +
                           
                          + + + + + + + + + + + + + + + + + + + items as $i => $item) : + $ordering = ($listOrder == 'p.type'); + $canCreate = $this->user->authorise('core.create', 'com_jckman'); + $canEdit = $this->user->authorise('core.edit', 'com_jckman') && $item->editable; + $canCheckin = $this->user->authorise('core.manage', 'com_checkin') || $item->checked_out == $this->user->get('id')|| $item->checked_out == 0; + $canChange = $this->user->authorise('core.edit.state', 'com_jckman') && $canCheckin; + $title = ( $item->title ) ? $item->title : $item->name; + ?> + + + + + + + + + + + +
                          + + + + + + + + + + + + + +
                          + pagination->getListFooter(); ?> +
                          + pagination->getRowOffset( $i ); ?> + + id); ?> + + published, $i, 'list.', $canChange, 'cb'); ?> + +
                          + checked_out) : ?> + editor, $item->checked_out_time, 'list.', $canCheckin); ?> + + + + escape($title); ?> + + escape($title); ?> + +
                          Core Plugin: iscore) ? JText::_( 'JYES' ) : JText::_( 'JNO' ); ?>
                          +
                          +
                          + id . '&cid[]=' . $item->id, 'list.'); + JHtml::_('dropdown.divider'); + endif; + + if( $canChange ) : + if ($item->published) : + JHtml::_('dropdown.unpublish', 'cb' . $i, 'list.'); + else : + JHtml::_('dropdown.publish', 'cb' . $i, 'list.'); + endif; + endif; + + if ($item->checked_out && $canCheckin) : + JHtml::_('dropdown.divider'); + JHtml::_('dropdown.checkin', 'cb' . $i, 'list.'); + endif; + + // Render dropdown list + echo JHtml::_('dropdown.render'); + ?> +
                          +
                          + name;?> + + icon && is_numeric($item->icon)) + { + echo '' . $item->name .''; + } + elseif($item->icon) + { + echo ''. $item->name .''; + } + else + { + echo $item->name; + } + ?> + + id; ?> +
                          + + + + + + + +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/list/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/list/view.html.php index e103a075..69460900 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/list/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/list/view.html.php @@ -1,106 +1,106 @@ -app = JFactory::getApplication(); - $this->user = JFactory::getUser(); - $this->state = $this->get('State'); - $this->items = $this->get('Items'); - $this->pagination = $this->get('Pagination'); - - // Check for errors. - if(count($errors = $this->get('Errors'))) - { - JCKHelper::error( implode("\n", $errors)); - return false; - } - - // Check if there are no matching items - if(!count($this->items)) - { - JCKHelper::error( JText::_('COM_JCK_PLUGIN_NO_PLUGINS_FOUND') ); - } - - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $bar = JToolBar::getInstance('toolbar'); - $canDo = JCKHelper::getActions(); - - JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_PLUGIN_NAME' ), 'plugin.png' ); - - if($canDo->get('core.edit')) - { - JToolBarHelper::editList('list.edit'); - }//end if - - if($canDo->get('core.edit.state')) - { - JToolBarHelper::publishList('list.publish'); - JToolBarHelper::unpublishList('list.unpublish'); - JToolbarHelper::checkin('list.checkin'); - }//end if - - // Add a Link button for Control Panel - $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); - JToolBarHelper::help( $this->app->input->get( 'view' ), false, 'http://www.joomlackeditor.com/installation-guide?start=14#plugin_man_help' ); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - JHtmlSidebar::setAction('index.php?option=com_jckman&view=list'); - - // FILTERS - JHtmlSidebar::addFilter( - JText::_('JOPTION_SELECT_PUBLISHED'), - 'filter_state', - JHtml::_('select.options', JCKHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.state')) - ); - - JHtmlSidebar::addFilter( - JText::_('- Select Core Type -'), - 'filter_iscore', - JHtml::_('select.options', array( JHtml::_('select.option', '1', 'Core Plugins'), JHtml::_('select.option', '0', 'Not Core Plugins') ), 'value', 'text', $this->state->get('filter.iscore')) - ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function - - /** - * Returns an array of fields the table can be sorted by - * - * @return array Array containing the field name to sort by as the key and display text as value - * - * @since 3.0 - */ - protected function getSortFields() - { - return array( - 'p.title' => JText::_('JGLOBAL_TITLE'), - 'p.published' => JText::_('JSTATUS'), - 'p.name' => JText::_('COM_JCKMAN_PLUGIN_LIST_NAME'), - 'p.icon' => JText::_('COM_JCKMAN_PLUGIN_LIST_ICON'), - 'p.id' => JText::_('JGRID_HEADING_ID') - ); - } -}//end class +app = JFactory::getApplication(); + $this->user = JFactory::getUser(); + $this->state = $this->get('State'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + + // Check for errors. + if(count($errors = $this->get('Errors'))) + { + JCKHelper::error( implode("\n", $errors)); + return false; + } + + // Check if there are no matching items + if(!count($this->items)) + { + JCKHelper::error( JText::_('COM_JCK_PLUGIN_NO_PLUGINS_FOUND') ); + } + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $bar = JToolBar::getInstance('toolbar'); + $canDo = JCKHelper::getActions(); + + JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_PLUGIN_NAME' ), 'plugin.png' ); + + if($canDo->get('core.edit')) + { + JToolBarHelper::editList('list.edit'); + }//end if + + if($canDo->get('core.edit.state')) + { + JToolBarHelper::publishList('list.publish'); + JToolBarHelper::unpublishList('list.unpublish'); + JToolbarHelper::checkin('list.checkin'); + }//end if + + // Add a Link button for Control Panel + $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); + JToolBarHelper::help( $this->app->input->get( 'view' ), false, 'http://www.joomlackeditor.com/installation-guide?start=14#plugin_man_help' ); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + JHtmlSidebar::setAction('index.php?option=com_jckman&view=list'); + + // FILTERS + JHtmlSidebar::addFilter( + JText::_('JOPTION_SELECT_PUBLISHED'), + 'filter_state', + JHtml::_('select.options', JCKHelper::getStateOptions(), 'value', 'text', $this->state->get('filter.state')) + ); + + JHtmlSidebar::addFilter( + JText::_('- Select Core Type -'), + 'filter_iscore', + JHtml::_('select.options', array( JHtml::_('select.option', '1', 'Core Plugins'), JHtml::_('select.option', '0', 'Not Core Plugins') ), 'value', 'text', $this->state->get('filter.iscore')) + ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function + + /** + * Returns an array of fields the table can be sorted by + * + * @return array Array containing the field name to sort by as the key and display text as value + * + * @since 3.0 + */ + protected function getSortFields() + { + return array( + 'p.title' => JText::_('JGLOBAL_TITLE'), + 'p.published' => JText::_('JSTATUS'), + 'p.name' => JText::_('COM_JCKMAN_PLUGIN_LIST_NAME'), + 'p.icon' => JText::_('COM_JCKMAN_PLUGIN_LIST_ICON'), + 'p.id' => JText::_('JGRID_HEADING_ID') + ); + } +}//end class diff --git a/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_ftp.php b/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_ftp.php index 78448139..8657afd7 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_ftp.php +++ b/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_ftp.php @@ -1,44 +1,44 @@ - -
                          - - - - - ftp)): ?> -

                          ftp->message); ?>

                          - - - - - - - - - - - - - -
                          - - - -
                          - - - -
                          - + +
                          + + + + + ftp)): ?> +

                          ftp->message); ?>

                          + + + + + + + + + + + + + +
                          + + + +
                          + + + +
                          +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_message.php b/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_message.php index 8fd229a9..34a988cb 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_message.php +++ b/deployed/jckman/administrator/components/com_jckman/views/restore/tmpl/default_message.php @@ -1,30 +1,30 @@ -get('State'); - $message1 = $state->get('message'); - $message2 = $state->get('extension.message'); -?> - - - - - - - - - - - - - -
                          +get('State'); + $message1 = $state->get('message'); + $message2 = $state->get('extension.message'); +?> + + + + + + + + + + + + + +
                          diff --git a/deployed/jckman/administrator/components/com_jckman/views/restore/view.php b/deployed/jckman/administrator/components/com_jckman/views/restore/view.php index b30cc476..e5e210a0 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/restore/view.php +++ b/deployed/jckman/administrator/components/com_jckman/views/restore/view.php @@ -1,63 +1,63 @@ - JPATH_COMPONENT - )); - - $this->_addPath('template', $this->_basePath.DS.'views'.DS.'default'.DS.'tmpl'); - } - - function display($tpl=null) - { - /* - * Set toolbar items for the page - */ - JToolBarHelper::title( JText::_( 'JCK Restore'), 'import.png' ); - - - // Document - $document = JFactory::getDocument(); - $document->setTitle(JText::_('JCK Restore').' : '.JText::_( $this->getName() )); - - // Get data from the model - $state = $this->get('State'); - - // Are there messages to display ? - $showMessage = false; - if ( is_object($state) ) - { - $message1 = $state->get('message'); - $message2 = $state->get('extension.message'); - $showMessage = ( $message1 || $message2 ); - } - - $this->assign('showMessage', $showMessage); - $this->assignRef('state', $state); - - JHTML::_('behavior.tooltip'); - parent::display($tpl); - } - - /** - * Should be overloaded by extending view - * - * @param int $index - */ - function loadItem($index=0) - { - } + JPATH_COMPONENT + )); + + $this->_addPath('template', $this->_basePath.DS.'views'.DS.'default'.DS.'tmpl'); + } + + function display($tpl=null) + { + /* + * Set toolbar items for the page + */ + JToolBarHelper::title( JText::_( 'JCK Restore'), 'import.png' ); + + + // Document + $document = JFactory::getDocument(); + $document->setTitle(JText::_('JCK Restore').' : '.JText::_( $this->getName() )); + + // Get data from the model + $state = $this->get('State'); + + // Are there messages to display ? + $showMessage = false; + if ( is_object($state) ) + { + $message1 = $state->get('message'); + $message2 = $state->get('extension.message'); + $showMessage = ( $message1 || $message2 ); + } + + $this->assign('showMessage', $showMessage); + $this->assignRef('state', $state); + + JHTML::_('behavior.tooltip'); + parent::display($tpl); + } + + /** + * Should be overloaded by extending view + * + * @param int $index + */ + function loadItem($index=0) + { + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables.css b/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables.css index beafe678..4300cf25 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables.css +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables.css @@ -1,9 +1,9 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + div.sortableList{ cursor:row-resize}div.widthMarker{ height:20px; border-top:1px dashed #CCC; margin:10px 0px 0px 1px; padding-left:1px; text-align:center}div.sortableList.group{ margin:20px 0px 0px 0px}div.sortableList div.sortableListDiv{ background-color:#D6E6F4; min-height:30px; margin-bottom:1px; width:700px}div.sortableList div.sortableListDiv span.sortableListSpan{ min-height:31px; display:block; -moz-border-radius:3px 3px 3px 3px}div.sortableList div.sortableListDiv span.sortableListSpan ul{ width:696px; white-space:normal; list-style:none; margin:0px; padding:0 0 0 3px; min-height:30px; border-color:#C5CED6 #0B55C4 #C5CED6 #C5CED6; border-style:dotted solid dotted dotted; border-width:1px 2px 1px 1px; -webkit-border-top-right-radius:6px; -webkit-border-bottom-right-radius:6px; -moz-border-radius-topright:6px; -moz-border-radius-bottomright:6px; border-top-right-radius:6px; border-bottom-right-radius:6px}div.sortableList div.sortableListDiv span.sortableListSpan ul li{ list-style:none; cursor:move; height:18px; min-width:18px; padding:3px 2px 2px 4px; margin:3px 1px 3px 0px}div.sortableList div.sortableListDiv span.sortableListSpan ul li.spacer{ min-width:5px; padding-left:2px}div.sortableList div.sortableListDiv span.sortableListSpan ul li img{ border:0; padding:0; margin:0}li.sortableItem{ position:relative; display:inline-block; margin:3px 1px 1px 0px; border:1px solid #FFF; background:url("../images/icon-bg.png"); -webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px}fieldset div.cke_top{padding-top:19px;background-color:#D6E6F4;background-image:url("../images/bg_top.png");background-position:left top;background-repeat:repeat-x;margin-bottom:1px}fieldset div.cke_bot{background-color:#D6E6F4;background-image:url("../images/bg_bot.png"); background-position:left bottom; background-repeat:repeat-x; padding-bottom:25px;position:relative;top:0px}#icon72,#icon73,#icon74,#icon92{position:relative;top:2px} div#groupLayout{min-height:30px;} \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables_ie7.css b/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables_ie7.css index afeea36c..cfe5de06 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables_ie7.css +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbar/css/sorttables_ie7.css @@ -1,9 +1,9 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + div.sortableList{ cursor:row-resize}div.widthMarker{ height:20px; border-top:1px dashed #CCC; margin:10px 0px 0px 1px; padding-left:1px; text-align:center}div.sortableList.group{ margin:20px 0px 0px 0px}div.sortableList div.sortableListDiv{ background-color:#D6E6F4; min-height:30px; margin-bottom:1px; width:700px}div.sortableList div.sortableListDiv span.sortableListSpan{ min-height:31px; display:block; -moz-border-radius:0 6px 6px 0}div.sortableList div.sortableListDiv span.sortableListSpan ul{ width:696px; white-space:normal; list-style:none; margin:0px; padding:0 0 1px 3px; min-height:30px;border-color:#C5CED6 #0B55C4 #C5CED6 #C5CED6;border-style:dotted solid dotted dotted;border-width:1px 2px 1px 1px}div.sortableList div.sortableListDiv span.sortableListSpan ul li{ list-style:none; cursor:move; height:18px; min-width:18px; padding:3px 2px 2px 4px; margin:3px 1px 3px 0px}div.sortableList div.sortableListDiv span.sortableListSpan ul li.spacer{ min-width:5px; padding-left:2px}div.sortableList div.sortableListDiv span.sortableListSpan ul li img{ border:0; padding:0; margin:0}li.sortableItem{ position:relative;float:left; display:inline; margin:3px 1px 1px 0px; border:1px solid #FFF; background:url("../images/icon-bg.png"); -moz-border-radius:3px 3px 3px 3px}fieldset div.cke_top{padding-top:19px;background-color:#D6E6F4;background-image:url("../images/bg_top.png");background-position:left top;background-repeat:repeat-x; margin-bottom:1px}fieldset div.cke_bot{background-color:#D6E6F4;background-image:url("../images/bg_bot.png"); background-position:left bottom; background-repeat:repeat-x; padding-bottom:25px;position:relative;top:0px}#icon72,#icon73,#icon74,#icon92{position:relative;top:0px} \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form.php b/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form.php index 6290b7a1..16f293c6 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form.php +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form.php @@ -1,309 +1,309 @@ -getBrowser(); -$version = $browser->getMajor(); - -if($name == 'msie' && $version == 7) -{ - JHTML::stylesheet(JCK_COMPONENT_VIEW .'/css/sorttables_ie7.css'); -} - -JFilterOutput::objectHTMLSafe( $this->toolbar, ENT_QUOTES, '' ); - -?> - -toolbar->iscore ? ' readonly="readonly"' :''; -?> -
                          -sidebar)): ?> - -
                          - -
                          - -
                          - -
                          -
                          - - - - - - - - -
                          - - - /> -
                          - - - /> -
                          -
                          - total > 0) : ?> - - - - -
                          -
                          - - -
                           
                          - -
                          - toolbarplugins); - - for( $i=0; $i< $totalRows+1; $i++){?> -
                          - -
                            - toolbarplugins[$i]; - $many = count($toolbarplugins); - - for( $x=0; $x< $many; $x++ ) - { - $icon = $toolbarplugins[$x]; - - if( $icon) { - - if($icon->title == "spacer" && !$icon->id){?> -
                          • <?php echo JText::_('Spacer');?>
                          • - title != "spacer" && $icon->id) - { - - $extraAttr = ""; - - if($icon->icon != "") - { - if(is_numeric($icon->icon)) - { - $path = JCK_COMPONENT_VIEW .'/images/spacer.gif'; - $extraAttr = ' class="cke_icon" style="background-position:0px '.$icon->icon.'px;"'; - } - else - { - $path = '../plugins/editors/jckeditor/plugins/'.$icon->name.'/'.$icon->icon; - if(!file_exists($path)) - continue; - } - } - else - { - $path = JCK_COMPONENT .'/icons/'.$icon->name.'.png'; - } - - ?> -
                          • <?php echo $icon->title;?>/>
                          • - -
                          -
                          -
                          - -
                          - -
                           
                          - -
                          -
                          - - -
                           
                          - -
                          - -
                          - -
                            - -
                          • <?php echo JText::_('Spacer');?>
                          • - plugins)) { - - foreach( $this->plugins as $icon ){ - - $extraAttr = ""; - - if( $icon->row == $i ){ - if($icon->icon != "") - { - if(is_numeric($icon->icon)) - { - $path = JCK_COMPONENT_VIEW .'/images/spacer.gif'; - $extraAttr = ' class="cke_icon" style="background-position:0px '.$icon->icon.'px;"'; - } - else - { - $path = '../plugins/editors/jckeditor/plugins/'.$icon->name.'/'.$icon->icon; - } - } - else - { - $path = JCK_COMPONENT .'/icons/'.$icon->name.'.png'; - } - ?> -
                          • <?php echo $icon->title;?> />
                          • - -
                          -
                          -
                          - -
                          -
                           
                          -
                          -
                          - -
                          - toolbar->default): ?> -
                          - loadTemplate('editor'); ?> -
                          - -
                          -
                          -
                          - - - - - - - +getBrowser(); +$version = $browser->getMajor(); + +if($name == 'msie' && $version == 7) +{ + JHTML::stylesheet(JCK_COMPONENT_VIEW .'/css/sorttables_ie7.css'); +} + +JFilterOutput::objectHTMLSafe( $this->toolbar, ENT_QUOTES, '' ); + +?> + +toolbar->iscore ? ' readonly="readonly"' :''; +?> + +sidebar)): ?> + +
                          + +
                          + +
                          + +
                          +
                          + + + + + + + + +
                          + + + /> +
                          + + + /> +
                          +
                          + total > 0) : ?> + + + + +
                          +
                          + + +
                           
                          + +
                          + toolbarplugins); + + for( $i=0; $i< $totalRows+1; $i++){?> +
                          + +
                            + toolbarplugins[$i]; + $many = count($toolbarplugins); + + for( $x=0; $x< $many; $x++ ) + { + $icon = $toolbarplugins[$x]; + + if( $icon) { + + if($icon->title == "spacer" && !$icon->id){?> +
                          • <?php echo JText::_('Spacer');?>
                          • + title != "spacer" && $icon->id) + { + + $extraAttr = ""; + + if($icon->icon != "") + { + if(is_numeric($icon->icon)) + { + $path = JCK_COMPONENT_VIEW .'/images/spacer.gif'; + $extraAttr = ' class="cke_icon" style="background-position:0px '.$icon->icon.'px;"'; + } + else + { + $path = '../plugins/editors/jckeditor/plugins/'.$icon->name.'/'.$icon->icon; + if(!file_exists($path)) + continue; + } + } + else + { + $path = JCK_COMPONENT .'/icons/'.$icon->name.'.png'; + } + + ?> +
                          • <?php echo $icon->title;?>/>
                          • + +
                          +
                          +
                          + +
                          + +
                           
                          + +
                          +
                          + + +
                           
                          + +
                          + +
                          + +
                            + +
                          • <?php echo JText::_('Spacer');?>
                          • + plugins)) { + + foreach( $this->plugins as $icon ){ + + $extraAttr = ""; + + if( $icon->row == $i ){ + if($icon->icon != "") + { + if(is_numeric($icon->icon)) + { + $path = JCK_COMPONENT_VIEW .'/images/spacer.gif'; + $extraAttr = ' class="cke_icon" style="background-position:0px '.$icon->icon.'px;"'; + } + else + { + $path = '../plugins/editors/jckeditor/plugins/'.$icon->name.'/'.$icon->icon; + } + } + else + { + $path = JCK_COMPONENT .'/icons/'.$icon->name.'.png'; + } + ?> +
                          • <?php echo $icon->title;?> />
                          • + +
                          +
                          +
                          + +
                          +
                           
                          +
                          +
                          + +
                          + toolbar->default): ?> +
                          + loadTemplate('editor'); ?> +
                          + +
                          +
                          +
                          + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form_editor.php b/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form_editor.php index 3fc8fc36..bd2e6fd9 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form_editor.php +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbar/tmpl/form_editor.php @@ -1,23 +1,23 @@ - -
                          -
                          -
                          - -
                          -
                          - lists['components']; ?> -
                          -
                          -
                          + +
                          +
                          +
                          + +
                          +
                          + lists['components']; ?> +
                          +
                          +
                          diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php index 300915ac..77be02f9 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php @@ -1,296 +1,296 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - $this->user = JFactory::getUser(); - $this->item = ''; - - $cid = $this->app->input->get( 'cid', array(), 'array' ); - JArrayHelper::toInteger($cid, array(0)); - - if( !count( $cid ) && !$this->canDo->get('core.create') ) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_CREATE' ), 'error' ); - return false; - } - elseif(!$this->canDo->get('core.edit')) - { - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_EDIT' ), 'error' ); - return false; - }//end if - - - $lists = array(); - $this->item = JCKHelper::getTable('toolbar'); - - // load the row from the db table - $this->item->load( (isset($cid[0]) ? $cid[0] : 0) ); - - // fail if checked out not by 'me' - if ($this->item->isCheckedOut( $this->user->get('id') )) - { - $msg = JText::sprintf( 'COM_JCKMAN_MSG_BEING_EDITED', JText::_( 'The toolbar' ), $this->item->title ); - $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), $msg, 'error' ); - return false; - } - - if (isset($cid[0])) - { - $this->item->checkout( $this->user->get('id') ); - - //now lets get default toolbars - $editor = JPluginHelper::getPlugin('editors','jckeditor'); - $params = new JRegistry($editor->params); - $this->default = $params->get('toolbar','full'); - $this->defaultFT = $params->get('toolbar_ft','full'); - - if(strtolower($this->item->name) == strtolower($this->default) || strtolower($this->item->name) == strtolower($this->defaultFT)) - $this->item->default = true; - else - $this->item->default = false; - } - else { - $this->item->params = ''; - $this->item->default = false; - - } - - $db = JFactory::getDBO(); - - //set the default total number of plugin records - $total = 0; - $totalRows = 0; - - if ( isset($cid[0]) ) - { - $total = 1; - - $sql = $db->getQuery( true ); - $sql->select( 'p.id,p.name,p.title,p.icon,tp.row' ) - ->from( '#__jckplugins p' ) - ->join( 'INNER', '#__jcktoolbarplugins tp ON tp.pluginid = p.id' ) - ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) - ->where( 'tp.state = 1' ) - ->where( 'tp.toolbarid = '.(int) $this->item->id ) - ->where( 'p.published = 1' ) - ->where( '(p.parentid IS NULL OR parent.published = 1)' ) - ->order( 'tp.toolbarid ASC,tp.row ASC,tp.ordering ASC' ); - $toolbarplugins = $db->setQuery( $sql )->loadObjectList(); - - // get the total number of core plugin records - $sql = $db->getQuery( true ); - $sql->select( 'COUNT(*)' ) - ->from( '#__jcktoolbarplugins tp' ) - ->join( 'INNER', '#__jckplugins p ON tp.pluginid = p.id' ) - ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) - ->where( 'tp.toolbarid ='.(int) $this->item->id ) - ->where( 'p.iscore = 1' ); - $totalRows = $db->setQuery( $sql )->loadResult(); - - if(!$totalRows) //lets get plugins from class file - { - require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - $filename = $CKfolder.DS.$this->item->name.'.php'; - require($filename); - $classname = 'JCK'. ucfirst($this->item->name); - $toolbar = new $classname(); - - $sql = $db->getQuery( true ); - $sql->select( 'p.id, p.title' ) - ->from( '#__jckplugins p' ) - ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) - ->where( 'p.title != ""' ) - ->where( 'p.published = 1' ) - ->where( 'p.iscore = 1' ) - ->where( '(p.parentid IS NULL OR parent.published = 1)' ); - $allplugins = $db->setQuery( $sql )->loadObjectList(); - - $values = array(); - //fix toolbar values or they will get wiped out - $l = 1; - $n = 1; - $j = 1; - - foreach (get_object_vars( $toolbar ) as $k => $v) - { - if($v) - { - $n = ($n > $v ? $n : $v); - } - if($l < $n) - { - $l = $n; - $j = 1; - } - - for($m = 0; $m < count($allplugins); $m++) - { - if($k == $allplugins[$m]->title) - { - $values[] = '('.(int)$this->item->id.','.(int)$allplugins[$m]->id.','.$n.','.$j.',1)'; - break; - } - - if(strpos($k,'brk_') !== false) - { - $id = preg_match('/[0-9]+$/',$k); - $id = $id * -1; - $values[] = '('.(int)$this->item->id.','.$id.','.$n.','.$j.',1)'; - $n++; - break; - } - } - $j++; - } - - if(!empty($values)) - { - $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->getErrorMsg() ); - } - } - } - - $sql = $db->getQuery( true ); - $sql->select( 'p.id,p.name,p.title,p.icon,p.row' ) - ->from( '#__jckplugins p' ) - ->join( 'LEFT', '#__jcktoolbarplugins tp ON tp.pluginid = p.id AND tp.toolbarid = '.(int) $this->item->id ) - ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) - ->where( 'tp.pluginid is null' ) - ->where( 'p.published = 1' ) - ->where( 'p.title != ""' ) - ->where( 'p.iscore = 1' ) - ->where( '(p.parentid IS NULL OR parent.published = 1)' ) - ->order( 'p.row ASC, p.id ASC' ); - $plugins = $db->setQuery( $sql )->loadObjectList(); - - $sql = $db->getQuery( true ); - $sql->select( 'tp.pluginid AS id,p.name,p.title,p.icon,tp.row' ) - ->from( '#__jcktoolbarplugins tp' ) - ->join( 'LEFT', '#__jckplugins p ON tp.pluginid = p.id AND p.published = 1' ) - ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid AND parent.published = 1' ) - ->where( 'tp.state = 1' ) - ->where( 'tp.toolbarid = '.(int)$this->item->id ) - ->where( '(p.parentid IS NULL OR parent.published = 1)' ) - ->order( 'tp.toolbarid ASC,tp.row ASC,tp.ordering ASC' ); - $toolbarplugins = $db->setQuery( $sql )->loadObjectList(); - $toolbarplugins = $this->_getSortRowToolbars($toolbarplugins); - - $this->assignRef('toolbarplugins', $toolbarplugins); - $this->assignRef('plugins', $plugins ); - } - - - // - $params = new JRegistry($this->item->params); - - $components = $params->get('components',array()); - - $db->setQuery("SELECT element as value, REPLACE(element,'com_','') as text FROM #__extensions WHERE type = 'component' ORDER BY element ASC"); - $allcomponents = $db->loadObjectList(); - $lists['components'] = JHTML::_('select.genericlist', $allcomponents, 'components[]', ' size="10" multiple', 'value', 'text', $components); - - $this->assignRef('lists', $lists); - $this->assignRef('toolbar', $this->item); - $this->assignRef('total', $total); - - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $this->app->input->set('hidemainmenu', true); - - $bar = JToolBar::getInstance('toolbar'); - $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $this->user->get('id')); - - JToolBarHelper::title( JText::_( 'Layout Manager' ) .':' . chr( 32 ) . JText::_($this->item->name), 'plugin.png' ); - - if( $this->canDo->get('core.create') && !$checkedOut ) - { - JToolBarHelper::apply( 'toolbars.apply' ); - JToolBarHelper::save( 'toolbars.save' ); - }//end if - - JToolBarHelper::cancel( 'toolbars.cancel', 'JTOOLBAR_CLOSE' ); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function - - function _getSortRowToolbars($toolbars) - { - $out = array(); - $count = 0; - $outToolbars = array(); - $results = array(); - - for($i = 0; $i < count($toolbars);$i++) - { - if($toolbars[$i]->id >= 0 ) - { - $out[] = $toolbars[$i]; - } - - if($toolbars[$i]->id < 0) - { - $outToolbars[] = $out; - $out = array(); - } - } - - if(!empty($out)) - $outToolbars[] = $out; - - $results = $outToolbars; - - //lets add spacer to each row - $spacer = new stdclass; - $spacer->title = 'spacer'; - $spacer->name = 'spacer'; - $spacer->id = 0; - - for($n= 0; $n < count($results);$n++) - { - $result = $results[$n]; - $out = array(); - $rowNumber = $results[$n][0]->row; - foreach($result as $icon) - { - if($icon->row > $rowNumber) - $out[] = $spacer; - $out[] = $icon; - $rowNumber = $icon->row; - } - $results[$n] = $out; - } - - return $results; - } +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + $this->user = JFactory::getUser(); + $this->item = ''; + + $cid = $this->app->input->get( 'cid', array(), 'array' ); + JArrayHelper::toInteger($cid, array(0)); + + if( !count( $cid ) && !$this->canDo->get('core.create') ) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_CREATE' ), 'error' ); + return false; + } + elseif(!$this->canDo->get('core.edit')) + { + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=cpanel', false ), JText::_( 'COM_JCKMAN_PLUGIN_PERM_NO_EDIT' ), 'error' ); + return false; + }//end if + + + $lists = array(); + $this->item = JCKHelper::getTable('toolbar'); + + // load the row from the db table + $this->item->load( (isset($cid[0]) ? $cid[0] : 0) ); + + // fail if checked out not by 'me' + if ($this->item->isCheckedOut( $this->user->get('id') )) + { + $msg = JText::sprintf( 'COM_JCKMAN_MSG_BEING_EDITED', JText::_( 'The toolbar' ), $this->item->title ); + $this->app->redirect( JRoute::_( 'index.php?option=com_jckman&view=toolbars', false ), $msg, 'error' ); + return false; + } + + if (isset($cid[0])) + { + $this->item->checkout( $this->user->get('id') ); + + //now lets get default toolbars + $editor = JPluginHelper::getPlugin('editors','jckeditor'); + $params = new JRegistry($editor->params); + $this->default = $params->get('toolbar','full'); + $this->defaultFT = $params->get('toolbar_ft','full'); + + if(strtolower($this->item->name) == strtolower($this->default) || strtolower($this->item->name) == strtolower($this->defaultFT)) + $this->item->default = true; + else + $this->item->default = false; + } + else { + $this->item->params = ''; + $this->item->default = false; + + } + + $db = JFactory::getDBO(); + + //set the default total number of plugin records + $total = 0; + $totalRows = 0; + + if ( isset($cid[0]) ) + { + $total = 1; + + $sql = $db->getQuery( true ); + $sql->select( 'p.id,p.name,p.title,p.icon,tp.row' ) + ->from( '#__jckplugins p' ) + ->join( 'INNER', '#__jcktoolbarplugins tp ON tp.pluginid = p.id' ) + ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) + ->where( 'tp.state = 1' ) + ->where( 'tp.toolbarid = '.(int) $this->item->id ) + ->where( 'p.published = 1' ) + ->where( '(p.parentid IS NULL OR parent.published = 1)' ) + ->order( 'tp.toolbarid ASC,tp.row ASC,tp.ordering ASC' ); + $toolbarplugins = $db->setQuery( $sql )->loadObjectList(); + + // get the total number of core plugin records + $sql = $db->getQuery( true ); + $sql->select( 'COUNT(*)' ) + ->from( '#__jcktoolbarplugins tp' ) + ->join( 'INNER', '#__jckplugins p ON tp.pluginid = p.id' ) + ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) + ->where( 'tp.toolbarid ='.(int) $this->item->id ) + ->where( 'p.iscore = 1' ); + $totalRows = $db->setQuery( $sql )->loadResult(); + + if(!$totalRows) //lets get plugins from class file + { + require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + $filename = $CKfolder.DS.$this->item->name.'.php'; + require($filename); + $classname = 'JCK'. ucfirst($this->item->name); + $toolbar = new $classname(); + + $sql = $db->getQuery( true ); + $sql->select( 'p.id, p.title' ) + ->from( '#__jckplugins p' ) + ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) + ->where( 'p.title != ""' ) + ->where( 'p.published = 1' ) + ->where( 'p.iscore = 1' ) + ->where( '(p.parentid IS NULL OR parent.published = 1)' ); + $allplugins = $db->setQuery( $sql )->loadObjectList(); + + $values = array(); + //fix toolbar values or they will get wiped out + $l = 1; + $n = 1; + $j = 1; + + foreach (get_object_vars( $toolbar ) as $k => $v) + { + if($v) + { + $n = ($n > $v ? $n : $v); + } + if($l < $n) + { + $l = $n; + $j = 1; + } + + for($m = 0; $m < count($allplugins); $m++) + { + if($k == $allplugins[$m]->title) + { + $values[] = '('.(int)$this->item->id.','.(int)$allplugins[$m]->id.','.$n.','.$j.',1)'; + break; + } + + if(strpos($k,'brk_') !== false) + { + $id = preg_match('/[0-9]+$/',$k); + $id = $id * -1; + $values[] = '('.(int)$this->item->id.','.$id.','.$n.','.$j.',1)'; + $n++; + break; + } + } + $j++; + } + + if(!empty($values)) + { + $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->getErrorMsg() ); + } + } + } + + $sql = $db->getQuery( true ); + $sql->select( 'p.id,p.name,p.title,p.icon,p.row' ) + ->from( '#__jckplugins p' ) + ->join( 'LEFT', '#__jcktoolbarplugins tp ON tp.pluginid = p.id AND tp.toolbarid = '.(int) $this->item->id ) + ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid' ) + ->where( 'tp.pluginid is null' ) + ->where( 'p.published = 1' ) + ->where( 'p.title != ""' ) + ->where( 'p.iscore = 1' ) + ->where( '(p.parentid IS NULL OR parent.published = 1)' ) + ->order( 'p.row ASC, p.id ASC' ); + $plugins = $db->setQuery( $sql )->loadObjectList(); + + $sql = $db->getQuery( true ); + $sql->select( 'tp.pluginid AS id,p.name,p.title,p.icon,tp.row' ) + ->from( '#__jcktoolbarplugins tp' ) + ->join( 'LEFT', '#__jckplugins p ON tp.pluginid = p.id AND p.published = 1' ) + ->join( 'LEFT', '#__jckplugins parent on parent.id = p.parentid AND parent.published = 1' ) + ->where( 'tp.state = 1' ) + ->where( 'tp.toolbarid = '.(int)$this->item->id ) + ->where( '(p.parentid IS NULL OR parent.published = 1)' ) + ->order( 'tp.toolbarid ASC,tp.row ASC,tp.ordering ASC' ); + $toolbarplugins = $db->setQuery( $sql )->loadObjectList(); + $toolbarplugins = $this->_getSortRowToolbars($toolbarplugins); + + $this->assignRef('toolbarplugins', $toolbarplugins); + $this->assignRef('plugins', $plugins ); + } + + + // + $params = new JRegistry($this->item->params); + + $components = $params->get('components',array()); + + $db->setQuery("SELECT element as value, REPLACE(element,'com_','') as text FROM #__extensions WHERE type = 'component' ORDER BY element ASC"); + $allcomponents = $db->loadObjectList(); + $lists['components'] = JHTML::_('select.genericlist', $allcomponents, 'components[]', ' size="10" multiple', 'value', 'text', $components); + + $this->assignRef('lists', $lists); + $this->assignRef('toolbar', $this->item); + $this->assignRef('total', $total); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $this->app->input->set('hidemainmenu', true); + + $bar = JToolBar::getInstance('toolbar'); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $this->user->get('id')); + + JToolBarHelper::title( JText::_( 'Layout Manager' ) .':' . chr( 32 ) . JText::_($this->item->name), 'plugin.png' ); + + if( $this->canDo->get('core.create') && !$checkedOut ) + { + JToolBarHelper::apply( 'toolbars.apply' ); + JToolBarHelper::save( 'toolbars.save' ); + }//end if + + JToolBarHelper::cancel( 'toolbars.cancel', 'JTOOLBAR_CLOSE' ); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function + + function _getSortRowToolbars($toolbars) + { + $out = array(); + $count = 0; + $outToolbars = array(); + $results = array(); + + for($i = 0; $i < count($toolbars);$i++) + { + if($toolbars[$i]->id >= 0 ) + { + $out[] = $toolbars[$i]; + } + + if($toolbars[$i]->id < 0) + { + $outToolbars[] = $out; + $out = array(); + } + } + + if(!empty($out)) + $outToolbars[] = $out; + + $results = $outToolbars; + + //lets add spacer to each row + $spacer = new stdclass; + $spacer->title = 'spacer'; + $spacer->name = 'spacer'; + $spacer->id = 0; + + for($n= 0; $n < count($results);$n++) + { + $result = $results[$n]; + $out = array(); + $rowNumber = $results[$n][0]->row; + foreach($result as $icon) + { + if($icon->row > $rowNumber) + $out[] = $spacer; + $out[] = $icon; + $rowNumber = $icon->row; + } + $results[$n] = $out; + } + + return $results; + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php.new b/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php.new index e57dd33f..563f154e 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php.new +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbar/view.html.php.new @@ -1,382 +1,382 @@ -[' .JText::_('Edit'). ']', 'layout.png' ); - JToolBarHelper::save(); - JToolBarHelper::apply(); - JToolBarHelper::cancel( 'cancelEdit', 'Close' ); - - $cid = JRequest::getVar( 'cid', array(0), '', 'array' ); - JArrayHelper::toInteger($cid, array(0)); - - $lists = array(); - $user =& JFactory::getUser(); - $row =& JCKHelper::getTable('toolbar'); - - // load the row from the db table - $row->load( $cid[0] ); - - // fail if checked out not by 'me' - - if ($row->isCheckedOut( $user->get('id') )) - { - $msg = JText::sprintf( 'DESCBEINGEDITTED', JText::_( 'The toolbar' ), $row->title ); - $this->setRedirect( 'index.php?option='. $option .'&view=Toolbars', $msg, 'error' ); - return false; - } - - if ($cid[0]) - { - $row->checkout( $user->get('id') ); - } - else { - $row->params = ''; - } - - $db =& JFactory::getDBO(); - - //set the default total number of plugin records - $total = 0; - $totalRows = 0; - - if ( $cid[0] ) { - - - $total = 1; - - $query = 'SELECT p.id,p.name,p.title,p.icon,tp.row' - . ' FROM #__jckplugins p' - . ' JOIN #__jcktoolbarplugins tp ON tp.pluginid = p.id' - . ' WHERE tp.state = 1' - . ' AND tp.toolbarid = '.(int) $row->id - . ' AND p.published = 1' - . ' ORDER BY tp.toolbarid ASC,tp.row ASC,tp.ordering ASC'; - $db->setQuery( $query ); - $toolbarplugins = $db->loadObjectList(); - - - // get the total number of plugin records - $query = 'SELECT COUNT(*)' - . ' FROM #__jcktoolbarplugins' - . ' WHERE toolbarid ='.(int) $row->id; - $db->setQuery( $query ); - $totalRows = $db->loadResult(); - - - if(!$totalRows) //lets get plugins from class file - { - require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - $filename = $CKfolder.DS.$row->name.'.php'; - require($filename); - $classname = 'JCK'. ucfirst($row->name); - $toolbar = new $classname(); - - $query = 'SELECT id,title' - . ' FROM #__jckplugins' - . ' WHERE title != ""' - . ' AND published = 1' - ; - $db->setQuery( $query ); - $allplugins = $db->loadObjectList(); - - - $values = array(); - //fix toolbar values or they will get wiped out - $l = 1; - $n = 1; - $j = 1; - - foreach (get_object_vars( $toolbar ) as $k => $v) - { - - if($v) $n = ($n > $v ? $n : $v); - - if($l < $n) - { - $l = $n; - $j = 1; - } - - for($m = 0; $m< count($allplugins); $m++) - { - - if($k == $allplugins[$m]->title) - { - $values[] = '('.(int)$row->id.','.(int)$allplugins[$m]->id.','.$n.','.$j.',1)'; - break; - } - - if(strpos($k,'brk_') !== false) - { - $id = preg_match('/[0-9]+$/',$k); - $id = $id * -1; - $values[] = '('.(int)$row->id.','.$id.','.$n.','.$j.',1)'; - $n++; - break; - } - } - $j++; - } - - - if(!empty($values)) - { - $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); - $db->setQuery( $query ); - if(!$db->query()) - { - JCKHelper::error( $db->ErrorMsg() ); - } - } - } - - - - $query = 'SELECT p.id,p.name,p.title,p.icon,p.row,p.iscore' - . ' FROM #__jckplugins p' - . ' LEFT JOIN #__jcktoolbarplugins tp ON tp.pluginid = p.id' - . ' AND tp.toolbarid = '.(int) $row->id - . ' WHERE tp.pluginid is null' - . ' AND p.published = 1' - . ' AND p.title != ""' - .' ORDER by p.row ASC, p.id ASC'; - $db->setQuery( $query ); - $plugins = $db->loadObjectList(); - - if(!empty($plugins)) - { - - /* - require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); - $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; - $filename = $CKfolder.DS.$row->name.'.php'; - require($filename); - $classname = 'JCK'. ucfirst($row->name); - $toolbar = new $classname(); - - $values = array(); - - foreach($plugins as $plugin) - { - if($plugin->iscore) - continue; - - $values[] = '('.(int)$row->id.','.(int)$plugin->id.','.$n.','.$j.',1)'; - - } - */ - } - - $query = 'SELECT tp.pluginid AS id,p.name,p.title,p.icon,tp.row' - . ' FROM #__jcktoolbarplugins tp' - . ' LEFT JOIN #__jckplugins p ON tp.pluginid = p.id' - . ' AND p.published = 1' - . ' WHERE tp.state = 1' - . ' AND tp.toolbarid = '.(int) $row->id - - . ' ORDER BY tp.toolbarid ASC,tp.row ASC,tp.ordering ASC'; - $db->setQuery( $query ); - $toolbarplugins = $db->loadObjectList(); - - - $toolbarplugins = $this->_getSortRowToolbars($toolbarplugins); - - $this->assignRef('toolbarplugins', $toolbarplugins); - $this->assignRef('plugins', $plugins ); - - } - - - $this->assignRef('toolbar', $row); - $this->assignRef('total', $total); - - - parent::display($tpl); - } - - function _getSortRowToolbars($toolbars) - { - $chunkSize1 = 24; - $chunkSize2 = 10; - $out = array(); - $count = 0; - $outToolbars = array(); - $results = array(); - - - /* - $spacer = new stdclass; - $spacer->title = 'spacer'; - $spacer->name = 'spacer'; - $spacer->id = 0; - - $rowNumber = 1; - foreach($toolbars as $icon) - { - - if($icon->row > $rowNumber) - $out[] = $spacer; - $out[] = $icon; - $rowNumber = $icon->row; - } - $toolbars = $out; - - - $out = array(); - */ - $j = 0; - - $richTextCombos = array ('stylescombo','font','format','fontsize'); - - $chunkSize = $chunkSize1; - - $autoformat = true; - - $breaks = 0; - for($i = 0; $i < count($toolbars);$i++) - { - - if($toolbars[$i]->id >= 0 ) - { - $out[] = $toolbars[$i]; - } - - if($toolbars[$i]->id < 0) - { - $outToolbars[] = $out; - $breaks++; - $out = array(); - $autoformat = false; - } - } - - - if($breaks == 1) - $autoformat = true; - - if($autoformat) - { - $out = array(); - $outToolbars = array(); - - for($i = 0; $i < count($toolbars);$i++) - { - - if(in_array($toolbars[$i]->name,$richTextCombos)) - $chunkSize = $chunkSize2; - - - if($j < $chunkSize) - { - $out[] = $toolbars[$i]; - $j++; - } - - if($j == $chunkSize) - { - $outToolbars[] = $out; - $out = array(); - $j = 0; - $chunkSize = $chunkSize1; - } - } - } - - - - - if(!empty($out)) - $outToolbars[] = $out; - - - $results = $outToolbars; - - - - - /* - - $richTextCombos = array ('stylescombo','font','format','fontsize'); - - for($k= 0; $k < count($outToolbars);$k++) - { - $chunkSize = $chunkSize1; - $icons = $outToolbars[$k]; - for($j = 0;$j < count($icons);$j++) - { - if(in_array($icons[$j]->name,$richTextCombos)) - { - $chunkSize = $chunkSize2; - break; - } - } - - $chunks = array_chunk($outToolbars[$k],$chunkSize); - foreach($chunks as $chunk) - { - $results[] = $chunk; - } - } - */ - //lets add spacer to each row - - - $spacer = new stdclass; - $spacer->title = 'spacer'; - $spacer->name = 'spacer'; - $spacer->id = 0; - - - for($n= 0; $n < count($results);$n++) - { - $result = $results[$n]; - $out = array(); - $rowNumber = $results[$n][0]->row; - foreach($result as $icon) - { - - if($icon->row > $rowNumber) - $out[] = $spacer; - $out[] = $icon; - $rowNumber = $icon->row; - } - $results[$n] = $out; - } - - return $results; - - } - +[' .JText::_('Edit'). ']', 'layout.png' ); + JToolBarHelper::save(); + JToolBarHelper::apply(); + JToolBarHelper::cancel( 'cancelEdit', 'Close' ); + + $cid = JRequest::getVar( 'cid', array(0), '', 'array' ); + JArrayHelper::toInteger($cid, array(0)); + + $lists = array(); + $user =& JFactory::getUser(); + $row =& JCKHelper::getTable('toolbar'); + + // load the row from the db table + $row->load( $cid[0] ); + + // fail if checked out not by 'me' + + if ($row->isCheckedOut( $user->get('id') )) + { + $msg = JText::sprintf( 'DESCBEINGEDITTED', JText::_( 'The toolbar' ), $row->title ); + $this->setRedirect( 'index.php?option='. $option .'&view=Toolbars', $msg, 'error' ); + return false; + } + + if ($cid[0]) + { + $row->checkout( $user->get('id') ); + } + else { + $row->params = ''; + } + + $db =& JFactory::getDBO(); + + //set the default total number of plugin records + $total = 0; + $totalRows = 0; + + if ( $cid[0] ) { + + + $total = 1; + + $query = 'SELECT p.id,p.name,p.title,p.icon,tp.row' + . ' FROM #__jckplugins p' + . ' JOIN #__jcktoolbarplugins tp ON tp.pluginid = p.id' + . ' WHERE tp.state = 1' + . ' AND tp.toolbarid = '.(int) $row->id + . ' AND p.published = 1' + . ' ORDER BY tp.toolbarid ASC,tp.row ASC,tp.ordering ASC'; + $db->setQuery( $query ); + $toolbarplugins = $db->loadObjectList(); + + + // get the total number of plugin records + $query = 'SELECT COUNT(*)' + . ' FROM #__jcktoolbarplugins' + . ' WHERE toolbarid ='.(int) $row->id; + $db->setQuery( $query ); + $totalRows = $db->loadResult(); + + + if(!$totalRows) //lets get plugins from class file + { + require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + $filename = $CKfolder.DS.$row->name.'.php'; + require($filename); + $classname = 'JCK'. ucfirst($row->name); + $toolbar = new $classname(); + + $query = 'SELECT id,title' + . ' FROM #__jckplugins' + . ' WHERE title != ""' + . ' AND published = 1' + ; + $db->setQuery( $query ); + $allplugins = $db->loadObjectList(); + + + $values = array(); + //fix toolbar values or they will get wiped out + $l = 1; + $n = 1; + $j = 1; + + foreach (get_object_vars( $toolbar ) as $k => $v) + { + + if($v) $n = ($n > $v ? $n : $v); + + if($l < $n) + { + $l = $n; + $j = 1; + } + + for($m = 0; $m< count($allplugins); $m++) + { + + if($k == $allplugins[$m]->title) + { + $values[] = '('.(int)$row->id.','.(int)$allplugins[$m]->id.','.$n.','.$j.',1)'; + break; + } + + if(strpos($k,'brk_') !== false) + { + $id = preg_match('/[0-9]+$/',$k); + $id = $id * -1; + $values[] = '('.(int)$row->id.','.$id.','.$n.','.$j.',1)'; + $n++; + break; + } + } + $j++; + } + + + if(!empty($values)) + { + $query = 'INSERT INTO #__jcktoolbarplugins(toolbarid,pluginid,row,ordering,state) VALUES ' . implode(',',$values); + $db->setQuery( $query ); + if(!$db->query()) + { + JCKHelper::error( $db->ErrorMsg() ); + } + } + } + + + + $query = 'SELECT p.id,p.name,p.title,p.icon,p.row,p.iscore' + . ' FROM #__jckplugins p' + . ' LEFT JOIN #__jcktoolbarplugins tp ON tp.pluginid = p.id' + . ' AND tp.toolbarid = '.(int) $row->id + . ' WHERE tp.pluginid is null' + . ' AND p.published = 1' + . ' AND p.title != ""' + .' ORDER by p.row ASC, p.id ASC'; + $db->setQuery( $query ); + $plugins = $db->loadObjectList(); + + if(!empty($plugins)) + { + + /* + require_once(CKEDITOR_LIBRARY.DS . 'toolbar.php'); + $CKfolder = CKEDITOR_LIBRARY.DS . 'toolbar'; + $filename = $CKfolder.DS.$row->name.'.php'; + require($filename); + $classname = 'JCK'. ucfirst($row->name); + $toolbar = new $classname(); + + $values = array(); + + foreach($plugins as $plugin) + { + if($plugin->iscore) + continue; + + $values[] = '('.(int)$row->id.','.(int)$plugin->id.','.$n.','.$j.',1)'; + + } + */ + } + + $query = 'SELECT tp.pluginid AS id,p.name,p.title,p.icon,tp.row' + . ' FROM #__jcktoolbarplugins tp' + . ' LEFT JOIN #__jckplugins p ON tp.pluginid = p.id' + . ' AND p.published = 1' + . ' WHERE tp.state = 1' + . ' AND tp.toolbarid = '.(int) $row->id + + . ' ORDER BY tp.toolbarid ASC,tp.row ASC,tp.ordering ASC'; + $db->setQuery( $query ); + $toolbarplugins = $db->loadObjectList(); + + + $toolbarplugins = $this->_getSortRowToolbars($toolbarplugins); + + $this->assignRef('toolbarplugins', $toolbarplugins); + $this->assignRef('plugins', $plugins ); + + } + + + $this->assignRef('toolbar', $row); + $this->assignRef('total', $total); + + + parent::display($tpl); + } + + function _getSortRowToolbars($toolbars) + { + $chunkSize1 = 24; + $chunkSize2 = 10; + $out = array(); + $count = 0; + $outToolbars = array(); + $results = array(); + + + /* + $spacer = new stdclass; + $spacer->title = 'spacer'; + $spacer->name = 'spacer'; + $spacer->id = 0; + + $rowNumber = 1; + foreach($toolbars as $icon) + { + + if($icon->row > $rowNumber) + $out[] = $spacer; + $out[] = $icon; + $rowNumber = $icon->row; + } + $toolbars = $out; + + + $out = array(); + */ + $j = 0; + + $richTextCombos = array ('stylescombo','font','format','fontsize'); + + $chunkSize = $chunkSize1; + + $autoformat = true; + + $breaks = 0; + for($i = 0; $i < count($toolbars);$i++) + { + + if($toolbars[$i]->id >= 0 ) + { + $out[] = $toolbars[$i]; + } + + if($toolbars[$i]->id < 0) + { + $outToolbars[] = $out; + $breaks++; + $out = array(); + $autoformat = false; + } + } + + + if($breaks == 1) + $autoformat = true; + + if($autoformat) + { + $out = array(); + $outToolbars = array(); + + for($i = 0; $i < count($toolbars);$i++) + { + + if(in_array($toolbars[$i]->name,$richTextCombos)) + $chunkSize = $chunkSize2; + + + if($j < $chunkSize) + { + $out[] = $toolbars[$i]; + $j++; + } + + if($j == $chunkSize) + { + $outToolbars[] = $out; + $out = array(); + $j = 0; + $chunkSize = $chunkSize1; + } + } + } + + + + + if(!empty($out)) + $outToolbars[] = $out; + + + $results = $outToolbars; + + + + + /* + + $richTextCombos = array ('stylescombo','font','format','fontsize'); + + for($k= 0; $k < count($outToolbars);$k++) + { + $chunkSize = $chunkSize1; + $icons = $outToolbars[$k]; + for($j = 0;$j < count($icons);$j++) + { + if(in_array($icons[$j]->name,$richTextCombos)) + { + $chunkSize = $chunkSize2; + break; + } + } + + $chunks = array_chunk($outToolbars[$k],$chunkSize); + foreach($chunks as $chunk) + { + $results[] = $chunk; + } + } + */ + //lets add spacer to each row + + + $spacer = new stdclass; + $spacer->title = 'spacer'; + $spacer->name = 'spacer'; + $spacer->id = 0; + + + for($n= 0; $n < count($results);$n++) + { + $result = $results[$n]; + $out = array(); + $rowNumber = $results[$n][0]->row; + foreach($result as $icon) + { + + if($icon->row > $rowNumber) + $out[] = $spacer; + $out[] = $icon; + $rowNumber = $icon->row; + } + $results[$n] = $out; + } + + return $results; + + } + } \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbars/tmpl/default.php b/deployed/jckman/administrator/components/com_jckman/views/toolbars/tmpl/default.php index 43322c4b..9504a22c 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbars/tmpl/default.php +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbars/tmpl/default.php @@ -1,187 +1,187 @@ -escape($this->state->get('list.ordering')); -$listDirn = $this->escape($this->state->get('list.direction')); -$sortFields = $this->getSortFields(); - -?> - -
                          -sidebar)): ?> - -
                          - -
                          - -
                          - -
                          - - -
                          -
                          - - pagination->getLimitBox(); ?> -
                          -
                          - - -
                          -
                          - - -
                          -
                          -
                           
                          - - - - - - - - - - - - - - - - - - items as $i => $item) : - $ordering = ($listOrder == 'p.id'); - $canCreate = $this->user->authorise('core.create', 'com_jckman'); - $canEdit = $this->user->authorise('core.edit', 'com_jckman'); - $canDelete = $this->user->authorise('core.delete', 'com_jckman'); - $canCheckin = $this->user->authorise('core.manage', 'com_checkin') || $item->checked_out == $this->user->get('id')|| $item->checked_out == 0; - $canChange = $this->user->authorise('core.edit.state', 'com_jckman') && $canCheckin; - $title = ( $item->title ) ? $item->title : $item->name; - ?> - - - - - - - - - - -
                          - - - - - - - - - - - -
                          - pagination->getListFooter(); ?> -
                          - pagination->getRowOffset( $i ); ?> - - id); ?> - -
                          - checked_out) : ?> - editor, $item->checked_out_time, 'toolbars.', $canCheckin); ?> - - - - escape($title); ?> - - escape($title); ?> - - name) == strtolower($this->default)) : ?> -
                          Default: Administrator
                          - name) == strtolower($this->defaultFT)) : ?> -
                          Default: Site
                          - -
                          -
                          - id . '&cid[]=' . $item->id, 'toolbars.'); - JHtml::_('dropdown.divider'); - endif; - - if ($canDelete) : - JHtml::_('dropdown.trash', 'cb' . $i, 'toolbars.'); - endif; - - if ($item->checked_out && $canCheckin) : - JHtml::_('dropdown.divider'); - JHtml::_('dropdown.checkin', 'cb' . $i, 'toolbars.'); - endif; - - // Render dropdown list - echo JHtml::_('dropdown.render'); - ?> -
                          -
                          - name) == strtolower($this->default) || strtolower($item->name) == strtolower($this->defaultFT)) : ?> - - - - - - name;?> - - id; ?> -
                          - - - - - - - -
                          +escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$sortFields = $this->getSortFields(); + +?> + + +sidebar)): ?> + +
                          + +
                          + +
                          + +
                          + + +
                          +
                          + + pagination->getLimitBox(); ?> +
                          +
                          + + +
                          +
                          + + +
                          +
                          +
                           
                          + + + + + + + + + + + + + + + + + + items as $i => $item) : + $ordering = ($listOrder == 'p.id'); + $canCreate = $this->user->authorise('core.create', 'com_jckman'); + $canEdit = $this->user->authorise('core.edit', 'com_jckman'); + $canDelete = $this->user->authorise('core.delete', 'com_jckman'); + $canCheckin = $this->user->authorise('core.manage', 'com_checkin') || $item->checked_out == $this->user->get('id')|| $item->checked_out == 0; + $canChange = $this->user->authorise('core.edit.state', 'com_jckman') && $canCheckin; + $title = ( $item->title ) ? $item->title : $item->name; + ?> + + + + + + + + + + +
                          + + + + + + + + + + + +
                          + pagination->getListFooter(); ?> +
                          + pagination->getRowOffset( $i ); ?> + + id); ?> + +
                          + checked_out) : ?> + editor, $item->checked_out_time, 'toolbars.', $canCheckin); ?> + + + + escape($title); ?> + + escape($title); ?> + + name) == strtolower($this->default)) : ?> +
                          Default: Administrator
                          + name) == strtolower($this->defaultFT)) : ?> +
                          Default: Site
                          + +
                          +
                          + id . '&cid[]=' . $item->id, 'toolbars.'); + JHtml::_('dropdown.divider'); + endif; + + if ($canDelete) : + JHtml::_('dropdown.trash', 'cb' . $i, 'toolbars.'); + endif; + + if ($item->checked_out && $canCheckin) : + JHtml::_('dropdown.divider'); + JHtml::_('dropdown.checkin', 'cb' . $i, 'toolbars.'); + endif; + + // Render dropdown list + echo JHtml::_('dropdown.render'); + ?> +
                          +
                          + name) == strtolower($this->default) || strtolower($item->name) == strtolower($this->defaultFT)) : ?> + + + + + + name;?> + + id; ?> +
                          + + + + + + + +
                          \ No newline at end of file diff --git a/deployed/jckman/administrator/components/com_jckman/views/toolbars/view.html.php b/deployed/jckman/administrator/components/com_jckman/views/toolbars/view.html.php index 3e9d8453..24a5e242 100644 --- a/deployed/jckman/administrator/components/com_jckman/views/toolbars/view.html.php +++ b/deployed/jckman/administrator/components/com_jckman/views/toolbars/view.html.php @@ -1,111 +1,111 @@ -canDo = JCKHelper::getActions(); - $this->app = JFactory::getApplication(); - $this->user = JFactory::getUser(); - $this->state = $this->get('State'); - $this->items = $this->get('Items'); - $this->pagination = $this->get('Pagination'); - - // Check for errors. - if(count($errors = $this->get('Errors'))) - { - JCKHelper::error( implode("\n", $errors)); - return false; - } - - // Check if there are no matching items - if(!count($this->items)) - { - JCKHelper::error( JText::_('COM_JCK_LAYOUT_MANAGER_NO_TOOLBARS_FOUND') ); - } - - //now lets get default toolbars - $editor = JPluginHelper::getPlugin('editors','jckeditor'); - $params = new JRegistry($editor->params); - $this->default = $params->get('toolbar','Publisher'); - $this->defaultFT = $params->get('toolbar_ft','Basic'); - $this->addToolbar(); - parent::display($tpl); - } - - protected function addToolbar() - { - $bar = JToolBar::getInstance('toolbar'); - - JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_LAYOUT_NAME' ), 'layout.png' ); - - if($this->canDo->get('core.create')) - { - JToolBarHelper::addNew( 'toolbars.add' ); - } - - if($this->canDo->get('core.edit')) - { - JToolBarHelper::editList( 'toolbars.edit' ); - } - - if($this->canDo->get('core.create')) - { - JToolBarHelper::custom( 'toolbars.copy', 'copy', 'copy', JText::_( 'JLIB_HTML_BATCH_COPY' ), true ); - } - - if($this->canDo->get('core.delete')) - { - JToolBarHelper::deleteList( '', 'toolbars.remove' ); - } - - if($this->canDo->get('core.edit.state')) - { - JToolbarHelper::checkin('toolbars.checkin'); - } - - // Add a Link button for Control Panel - $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); - JToolBarHelper::help( $this->app->input->get( 'view' ), false,'http://www.joomlackeditor.com/installation-guide?start=17#layout_man' ); - - - JHtmlSidebar::setAction('index.php?option=com_jckman&view=' . JFactory::getApplication()->input->get( 'view', 'toolbars' ) ); - - JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); - - $this->sidebar = JHtmlSidebar::render(); - }//end function - - /** - * Returns an array of fields the table can be sorted by - * - * @return array Array containing the field name to sort by as the key and display text as value - * - * @since 3.0 - */ - protected function getSortFields() - { - return array( - 't.title' => JText::_('JGLOBAL_TITLE'), - 't.name' => JText::_('COM_JCK_LAYOUT_MANAGER_NAME'), - 't.id' => JText::_('JGRID_HEADING_ID') - ); - } +canDo = JCKHelper::getActions(); + $this->app = JFactory::getApplication(); + $this->user = JFactory::getUser(); + $this->state = $this->get('State'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + + // Check for errors. + if(count($errors = $this->get('Errors'))) + { + JCKHelper::error( implode("\n", $errors)); + return false; + } + + // Check if there are no matching items + if(!count($this->items)) + { + JCKHelper::error( JText::_('COM_JCK_LAYOUT_MANAGER_NO_TOOLBARS_FOUND') ); + } + + //now lets get default toolbars + $editor = JPluginHelper::getPlugin('editors','jckeditor'); + $params = new JRegistry($editor->params); + $this->default = $params->get('toolbar','Publisher'); + $this->defaultFT = $params->get('toolbar_ft','Basic'); + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() + { + $bar = JToolBar::getInstance('toolbar'); + + JToolBarHelper::title( JText::_( 'COM_JCKMAN_SUBMENU_LAYOUT_NAME' ), 'layout.png' ); + + if($this->canDo->get('core.create')) + { + JToolBarHelper::addNew( 'toolbars.add' ); + } + + if($this->canDo->get('core.edit')) + { + JToolBarHelper::editList( 'toolbars.edit' ); + } + + if($this->canDo->get('core.create')) + { + JToolBarHelper::custom( 'toolbars.copy', 'copy', 'copy', JText::_( 'JLIB_HTML_BATCH_COPY' ), true ); + } + + if($this->canDo->get('core.delete')) + { + JToolBarHelper::deleteList( '', 'toolbars.remove' ); + } + + if($this->canDo->get('core.edit.state')) + { + JToolbarHelper::checkin('toolbars.checkin'); + } + + // Add a Link button for Control Panel + $bar->appendButton( 'Link', 'cpanel', JText::_( 'COM_JCKMAN_SUBMENU_CPANEL_NAME' ), 'index.php?option=com_jckman&view=cpanel'); + JToolBarHelper::help( $this->app->input->get( 'view' ), false,'http://www.joomlackeditor.com/installation-guide?start=17#layout_man' ); + + + JHtmlSidebar::setAction('index.php?option=com_jckman&view=' . JFactory::getApplication()->input->get( 'view', 'toolbars' ) ); + + JCKHelper::addSubmenu( $this->app->input->get( 'view' ) ); + + $this->sidebar = JHtmlSidebar::render(); + }//end function + + /** + * Returns an array of fields the table can be sorted by + * + * @return array Array containing the field name to sort by as the key and display text as value + * + * @since 3.0 + */ + protected function getSortFields() + { + return array( + 't.title' => JText::_('JGLOBAL_TITLE'), + 't.name' => JText::_('COM_JCK_LAYOUT_MANAGER_NAME'), + 't.id' => JText::_('JGRID_HEADING_ID') + ); + } } \ No newline at end of file diff --git a/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.php b/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.php index cb6e40b9..b551deec 100644 --- a/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.php +++ b/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.php @@ -1,129 +1,129 @@ -getTemplate(); - - if( !$path ) - { - $path = 'templates/'. $template .'/images/header/'; - }//end if - - $modalref = ($modalclass ? ' class="'.$modalclass.'" rel="{handler: \'iframe\' , size: {x:571, y:400}}"' : ''); - - if($modalref) - { - if(!defined('ADD_MODAL_CLASS')) //only do this once - { - $doc = JFactory::getDocument(); - $doc->addScriptDeclaration( - "window.addEvent('domready', function() - { - $$('a.modal').each(function(el) - { - el.addEvent('click', function() - { - (function() - { - SqueezeBox.overlay.removeEvent('click',SqueezeBox.bound.close); - }).delay(250); - }); - }); - });"); - define('ADD_MODAL_CLASS',1); - } - } - // RENDER BTN - // the id is for auto firing of the buttons - ?> - > - -
                          -
                          - '; - - $size = '64'; - $base = 'index.php?option=com_jckman'; - $view = '&view='; - $task = '&task='; - $path = 'administrator/components/com_jckman/icons/'; - $canDo = JCKHelper::getActions(); - $isMobile = JCKHelper::isMobile(); - $isIOS = (JCKHelper::isMobile() || JCKHelper::isiPad()); - - quickiconButton( $base . $view . 'list', 'icon-' . $size . '-plugin.png', JText::_( 'COM_JCKMAN_QUICKICON_PLUGIN_NAME' ), 'list', $path ); - - if( $canDo->get('jckman.install') ) - { - quickiconButton( $base . $view . 'install', 'icon-' . $size . '-installer.png', JText::_( 'COM_JCKMAN_QUICKICON_INSTALL_NAME' ), 'install', $path ); - } - - if( $canDo->get('jckman.uninstall') ) - { - quickiconButton( $base . $view . 'extension', 'icon-' . $size . '-uninstaller.png', JText::_( 'COM_JCKMAN_QUICKICON_UNINSTALL_NAME' ), 'plugin', $path ); - } - - $jckinstallerpath = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'install'.DS; - - if( $canDo->get('core.edit') ) - { - if(is_dir($jckinstallerpath)) - { - $link = JURI::root() . 'plugins/editors/jckeditor/install/index.php?task=permissions'; - quickiconButton( $link, 'icon-' . $size . '-systemcheck.png', JText::_( 'COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME' ), 'system', $path, 'modal'); - } - else - { - quickiconButton( $base . $task . 'cpanel.check', 'icon-' . $size . '-systemcheck.png', JText::_( 'COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME' ), 'system', $path ); - } - } - if(!$isIOS) - quickiconButton( $base . $view . 'toolbars', 'icon-' . $size . '-layout.png', JText::_( 'COM_JCKMAN_QUICKICON_LAYOUT_NAME' ), 'toolbars', $path ); - - if( $canDo->get('core.edit') ) - { - if(!$isIOS) - quickiconButton( $base . $view . 'import', 'icon-' . $size . '-import.png', JText::_( 'COM_JCKMAN_QUICKICON_IMPORT_NAME' ), 'import', $path ); - } - - if(!$isIOS) - quickiconButton( $base . $task . 'cpanel.export', 'icon-' . $size . '-export.png', JText::_( 'COM_JCKMAN_QUICKICON_BACKUP_NAME' ), 'export', $path ); - - $db = JFactory::getDBO(); - $db->setQuery('SELECT extension_id FROM #__extensions WHERE type = "plugin" AND folder= "editors" AND element = "jckeditor"'); - $result = $db->loadresult(); - - if($result) - { - if( $canDo->get('jckman.sync') ) - { - quickiconButton( $base . $task . 'cpanel.sync', 'icon-' . $size . '-sync.png', JText::_( 'COM_JCKMAN_QUICKICON_SYNC_NAME' ), 'sync', $path ); - } - - $link = 'index.php?option=com_plugins&task=plugin.edit&extension_id='.$result; - quickiconButton( $link, 'icon-' . $size . '-editor.png', JText::_( 'COM_JCKMAN_QUICKICON_JCKEDITOR_NAME' ), 'editor', $path ); - } - - echo '
                          '; +getTemplate(); + + if( !$path ) + { + $path = 'templates/'. $template .'/images/header/'; + }//end if + + $modalref = ($modalclass ? ' class="'.$modalclass.'" rel="{handler: \'iframe\' , size: {x:571, y:400}}"' : ''); + + if($modalref) + { + if(!defined('ADD_MODAL_CLASS')) //only do this once + { + $doc = JFactory::getDocument(); + $doc->addScriptDeclaration( + "window.addEvent('domready', function() + { + $$('a.modal').each(function(el) + { + el.addEvent('click', function() + { + (function() + { + SqueezeBox.overlay.removeEvent('click',SqueezeBox.bound.close); + }).delay(250); + }); + }); + });"); + define('ADD_MODAL_CLASS',1); + } + } + // RENDER BTN + // the id is for auto firing of the buttons + ?> + > + +
                          +
                          + '; + + $size = '64'; + $base = 'index.php?option=com_jckman'; + $view = '&view='; + $task = '&task='; + $path = 'administrator/components/com_jckman/icons/'; + $canDo = JCKHelper::getActions(); + $isMobile = JCKHelper::isMobile(); + $isIOS = (JCKHelper::isMobile() || JCKHelper::isiPad()); + + quickiconButton( $base . $view . 'list', 'icon-' . $size . '-plugin.png', JText::_( 'COM_JCKMAN_QUICKICON_PLUGIN_NAME' ), 'list', $path ); + + if( $canDo->get('jckman.install') ) + { + quickiconButton( $base . $view . 'install', 'icon-' . $size . '-installer.png', JText::_( 'COM_JCKMAN_QUICKICON_INSTALL_NAME' ), 'install', $path ); + } + + if( $canDo->get('jckman.uninstall') ) + { + quickiconButton( $base . $view . 'extension', 'icon-' . $size . '-uninstaller.png', JText::_( 'COM_JCKMAN_QUICKICON_UNINSTALL_NAME' ), 'plugin', $path ); + } + + $jckinstallerpath = JPATH_PLUGINS.DS.'editors'.DS.'jckeditor'.DS.'install'.DS; + + if( $canDo->get('core.edit') ) + { + if(is_dir($jckinstallerpath)) + { + $link = JURI::root() . 'plugins/editors/jckeditor/install/index.php?task=permissions'; + quickiconButton( $link, 'icon-' . $size . '-systemcheck.png', JText::_( 'COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME' ), 'system', $path, 'modal'); + } + else + { + quickiconButton( $base . $task . 'cpanel.check', 'icon-' . $size . '-systemcheck.png', JText::_( 'COM_JCKMAN_QUICKICON_SYSTEMCHECK_NAME' ), 'system', $path ); + } + } + if(!$isIOS) + quickiconButton( $base . $view . 'toolbars', 'icon-' . $size . '-layout.png', JText::_( 'COM_JCKMAN_QUICKICON_LAYOUT_NAME' ), 'toolbars', $path ); + + if( $canDo->get('core.edit') ) + { + if(!$isIOS) + quickiconButton( $base . $view . 'import', 'icon-' . $size . '-import.png', JText::_( 'COM_JCKMAN_QUICKICON_IMPORT_NAME' ), 'import', $path ); + } + + if(!$isIOS) + quickiconButton( $base . $task . 'cpanel.export', 'icon-' . $size . '-export.png', JText::_( 'COM_JCKMAN_QUICKICON_BACKUP_NAME' ), 'export', $path ); + + $db = JFactory::getDBO(); + $db->setQuery('SELECT extension_id FROM #__extensions WHERE type = "plugin" AND folder= "editors" AND element = "jckeditor"'); + $result = $db->loadresult(); + + if($result) + { + if( $canDo->get('jckman.sync') ) + { + quickiconButton( $base . $task . 'cpanel.sync', 'icon-' . $size . '-sync.png', JText::_( 'COM_JCKMAN_QUICKICON_SYNC_NAME' ), 'sync', $path ); + } + + $link = 'index.php?option=com_plugins&task=plugin.edit&extension_id='.$result; + quickiconButton( $link, 'icon-' . $size . '-editor.png', JText::_( 'COM_JCKMAN_QUICKICON_JCKEDITOR_NAME' ), 'editor', $path ); + } + + echo '
                          '; } \ No newline at end of file diff --git a/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.xml b/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.xml index 3eb4ee97..b2eb854f 100644 --- a/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.xml +++ b/deployed/jckman/administrator/modules/mod_jckquickicon/mod_jckquickicon.xml @@ -1,22 +1,22 @@ - - - JoomlaCK Pugin Manager Control Panel - Andrew Williams - June 2010 - 2009 - 2010 WebxSolutions Ltd. - GNU/GPLv2 - andrew@joomlafckedior.com - http://www.joomlackedior.com - 1.0.0 DEVELOPMENT - JoomlCK Pugin ManagerControl Panel Icons based on Quick Icons Module - - mod_jckquickicon.php - index.html - - - - - - - + + + JoomlaCK Pugin Manager Control Panel + Andrew Williams + June 2010 + 2009 - 2010 WebxSolutions Ltd. + GNU/GPLv2 + andrew@joomlafckedior.com + http://www.joomlackedior.com + 1.0.0 DEVELOPMENT + JoomlCK Pugin ManagerControl Panel Icons based on Quick Icons Module + + mod_jckquickicon.php + index.html + + + + + + + \ No newline at end of file diff --git a/deployed/jckman/plugins/editors/jckeditor/adapters/jquery.js b/deployed/jckman/plugins/editors/jckeditor/adapters/jquery.js index 013f3838..ba398696 100644 --- a/deployed/jckman/plugins/editors/jckeditor/adapters/jquery.js +++ b/deployed/jckman/plugins/editors/jckeditor/adapters/jquery.js @@ -1,6 +1,6 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -(function(){CKEDITOR.config.jqueryOverrideVal=typeof CKEDITOR.config.jqueryOverrideVal=='undefined'?true:CKEDITOR.config.jqueryOverrideVal;var a=window.jQuery;if(typeof a=='undefined')return;a.extend(a.fn,{ckeditorGet:function(){var b=this.eq(0).data('ckeditorInstance');if(!b)throw 'CKEditor not yet initialized, use ckeditor() with callback.';return b;},ckeditor:function(b,c){if(!CKEDITOR.env.isCompatible)return this;if(!a.isFunction(b)){var d=c;c=b;b=d;}c=c||{};this.filter('textarea, div, p').each(function(){var e=a(this),f=e.data('ckeditorInstance'),g=e.data('_ckeditorInstanceLock'),h=this;if(f&&!g){if(b)b.apply(f,[this]);}else if(!g){if(c.autoUpdateElement||typeof c.autoUpdateElement=='undefined'&&CKEDITOR.config.autoUpdateElement)c.autoUpdateElementJquery=true;c.autoUpdateElement=false;e.data('_ckeditorInstanceLock',true);f=CKEDITOR.replace(h,c);e.data('ckeditorInstance',f);f.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}i.removeListener('instanceReady',this.callee);j.on('dataReady',function(){e.trigger('setData.ckeditor',[j]);});j.on('getData',function(l){e.trigger('getData.ckeditor',[j,l.data]);},999);j.on('destroy',function(){e.trigger('destroy.ckeditor',[j]);});if(j.config.autoUpdateElementJquery&&e.is('textarea')&&e.parents('form').length){var k=function(){e.ckeditor(function(){j.updateElement();});};e.parents('form').submit(k);e.parents('form').bind('form-pre-serialize',k);e.bind('destroy.ckeditor',function(){e.parents('form').unbind('submit',k);e.parents('form').unbind('form-pre-serialize',k);});}j.on('destroy',function(){e.data('ckeditorInstance',null);});e.data('_ckeditorInstanceLock',null);e.trigger('instanceReady.ckeditor',[j]);if(b)b.apply(j,[h]);},0);},null,null,9999);}else CKEDITOR.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}if(j.element.$==h)if(b)b.apply(j,[h]);},0);},null,null,9999);});return this;}});if(CKEDITOR.config.jqueryOverrideVal)a.fn.val=CKEDITOR.tools.override(a.fn.val,function(b){return function(c,d){var e=typeof c!='undefined',f;this.each(function(){var g=a(this),h=g.data('ckeditorInstance');if(!d&&g.is('textarea')&&h){if(e)h.setData(c);else{f=h.getData();return null;}}else if(e)b.call(g,c);else{f=b.call(g);return null;}return true;});return e?this:f;};});})(); +/* +Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +(function(){CKEDITOR.config.jqueryOverrideVal=typeof CKEDITOR.config.jqueryOverrideVal=='undefined'?true:CKEDITOR.config.jqueryOverrideVal;var a=window.jQuery;if(typeof a=='undefined')return;a.extend(a.fn,{ckeditorGet:function(){var b=this.eq(0).data('ckeditorInstance');if(!b)throw 'CKEditor not yet initialized, use ckeditor() with callback.';return b;},ckeditor:function(b,c){if(!CKEDITOR.env.isCompatible)return this;if(!a.isFunction(b)){var d=c;c=b;b=d;}c=c||{};this.filter('textarea, div, p').each(function(){var e=a(this),f=e.data('ckeditorInstance'),g=e.data('_ckeditorInstanceLock'),h=this;if(f&&!g){if(b)b.apply(f,[this]);}else if(!g){if(c.autoUpdateElement||typeof c.autoUpdateElement=='undefined'&&CKEDITOR.config.autoUpdateElement)c.autoUpdateElementJquery=true;c.autoUpdateElement=false;e.data('_ckeditorInstanceLock',true);f=CKEDITOR.replace(h,c);e.data('ckeditorInstance',f);f.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}i.removeListener('instanceReady',this.callee);j.on('dataReady',function(){e.trigger('setData.ckeditor',[j]);});j.on('getData',function(l){e.trigger('getData.ckeditor',[j,l.data]);},999);j.on('destroy',function(){e.trigger('destroy.ckeditor',[j]);});if(j.config.autoUpdateElementJquery&&e.is('textarea')&&e.parents('form').length){var k=function(){e.ckeditor(function(){j.updateElement();});};e.parents('form').submit(k);e.parents('form').bind('form-pre-serialize',k);e.bind('destroy.ckeditor',function(){e.parents('form').unbind('submit',k);e.parents('form').unbind('form-pre-serialize',k);});}j.on('destroy',function(){e.data('ckeditorInstance',null);});e.data('_ckeditorInstanceLock',null);e.trigger('instanceReady.ckeditor',[j]);if(b)b.apply(j,[h]);},0);},null,null,9999);}else CKEDITOR.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}if(j.element.$==h)if(b)b.apply(j,[h]);},0);},null,null,9999);});return this;}});if(CKEDITOR.config.jqueryOverrideVal)a.fn.val=CKEDITOR.tools.override(a.fn.val,function(b){return function(c,d){var e=typeof c!='undefined',f;this.each(function(){var g=a(this),h=g.data('ckeditorInstance');if(!d&&g.is('textarea')&&h){if(e)h.setData(c);else{f=h.getData();return null;}}else if(e)b.call(g,c);else{f=b.call(g);return null;}return true;});return e?this:f;};});})(); diff --git a/deployed/jckman/plugins/editors/jckeditor/ckeditor.js b/deployed/jckman/plugins/editors/jckeditor/ckeditor.js index b165d2ab..1214b115 100644 --- a/deployed/jckman/plugins/editors/jckeditor/ckeditor.js +++ b/deployed/jckman/plugins/editors/jckeditor/ckeditor.js @@ -1,145 +1,145 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'ACT09M9',version:'6.6.2',revision:'6237',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b){var c=a.event.prototype;for(var d in c){if(b[d]==undefined)b[d]=c[d];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d]; -return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?document.documentMode:'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks'; -}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=1;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=1;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f=200&&i.status<300||i.status==304||i.status===0||i.status==1223);},f=function(i){if(e(i))return i.responseText;return null;},g=function(i){if(e(i)){var j=i.responseXML;return new a.xml(j&&j.firstChild?j:i.responseText);}return null;},h=function(i,j,k){var l=!!j,m=d();if(!m)return null;m.open('GET',i,l);if(l)m.onreadystatechange=function(){if(m.readyState==4){j(k(m));m=null;}};m.send(null);return l?'':k(m);};return{load:function(i,j){return h(i,j,f);},loadXml:function(i,j){return h(i,j,g);}};})();a.dom={};var d=a.dom;(function(){var e=[];a.on('reset',function(){e=[];});a.tools={arrayCompare:function(f,g){if(!f&&!g)return true;if(!f||!g||f.length!=g.length)return false;for(var h=0;h'+g+'');else h.push('');}return h.join('');},htmlEncode:function(f){var g=function(k){var l=new d.element('span');l.setText(k);return l.getHtml();},h=g('\n').toLowerCase()=='
                          '?function(k){return g(k).replace(/
                          /gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'>');}:h,j=g(' ')=='  '?function(k){return i(k).replace(/ /g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'"').replace(//g,'>');},getNextNumber:(function(){var f=0;return function(){return++f;};})(),getNextId:function(){return 'cke_'+this.getNextNumber();},override:function(f,g){return g(f);},setTimeout:function(f,g,h,i,j){if(!j)j=window;if(!h)h=j;return j.setTimeout(function(){if(i)f.apply(h,[].concat(i));else f.apply(h);},g||0);},trim:(function(){var f=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(g){return g.replace(f,'');};})(),ltrim:(function(){var f=/^[ \t\n\r]+/g;return function(g){return g.replace(f,'');};})(),rtrim:(function(){var f=/[ \t\n\r]+$/g;return function(g){return g.replace(f,'');};})(),indexOf:Array.prototype.indexOf?function(f,g){return f.indexOf(g);}:function(f,g){for(var h=0,i=f.length;h8))&&i)h=i+':'+h;return new d.nodeList(this.$.getElementsByTagName(h));},getHead:function(){var h=this.$.getElementsByTagName('head')[0];h=new d.element(h);return(this.getHead=function(){return h;})();},getBody:function(){var h=new d.element(this.$.body);return(this.getBody=function(){return h;})();},getDocumentElement:function(){var h=new d.element(this.$.documentElement);return(this.getDocumentElement=function(){return h;})();},getWindow:function(){var h=new d.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return h;})();}});d.node=function(h){if(h){switch(h.nodeType){case 9:return new g(h);case 1:return new d.element(h);case 3:return new d.text(h); -}d.domObject.call(this,h);}return this;};d.node.prototype=new d.domObject();a.NODE_ELEMENT=1;a.NODE_DOCUMENT=9;a.NODE_TEXT=3;a.NODE_COMMENT=8;a.NODE_DOCUMENT_FRAGMENT=11;a.POSITION_IDENTICAL=0;a.POSITION_DISCONNECTED=1;a.POSITION_FOLLOWING=2;a.POSITION_PRECEDING=4;a.POSITION_IS_CONTAINED=8;a.POSITION_CONTAINS=16;e.extend(d.node.prototype,{appendTo:function(h,i){h.append(this,i);return h;},clone:function(h,i){var j=this.$.cloneNode(h);if(!i){var k=function(l){if(l.nodeType!=1)return;l.removeAttribute('id',false);l.removeAttribute('_cke_expando',false);var m=l.childNodes;for(var n=0;n]*>/g,''):i;},getOuterHtml:function(){var j=this;if(j.$.outerHTML)return j.$.outerHTML.replace(/<\?[^>]*>/,'');var i=j.$.ownerDocument.createElement('div');i.appendChild(j.$.cloneNode(true));return i.innerHTML;},setHtml:function(i){return this.$.innerHTML=i;},setText:function(i){h.prototype.setText=this.$.innerText!=undefined?function(j){return this.$.innerText=j;}:function(j){return this.$.textContent=j;};return this.setText(i);},getAttribute:(function(){var i=function(j){return this.$.getAttribute(j,2);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){var n=this;switch(j){case 'class':j='className';break;case 'tabindex':var k=i.call(n,j);if(k!==0&&n.$.tabIndex===0)k=null;return k;break;case 'checked':var l=n.$.attributes.getNamedItem(j),m=l.specified?l.nodeValue:n.$.checked;return m?'checked':null;case 'hspace':return n.$.hspace;case 'style':return n.$.style.cssText;}return i.call(n,j);};else return i;})(),getChildren:function(){return new d.nodeList(this.$.childNodes);},getComputedStyle:c?function(i){return this.$.currentStyle[e.cssStyleToDomStyle(i)];}:function(i){return this.getWindow().$.getComputedStyle(this.$,'').getPropertyValue(i);},getDtd:function(){var i=f[this.getName()];this.getDtd=function(){return i;};return i;},getElementsByTag:g.prototype.getElementsByTag,getTabIndex:c?function(){var i=this.$.tabIndex;if(i===0&&!f.$tabIndex[this.getName()]&&parseInt(this.getAttribute('tabindex'),10)!==0)i=-1;return i;}:b.webkit?function(){var i=this.$.tabIndex;if(i==undefined){i=parseInt(this.getAttribute('tabindex'),10);if(isNaN(i))i=-1;}return i;}:function(){return this.$.tabIndex;},getText:function(){return this.$.textContent||this.$.innerText||'';},getWindow:function(){return this.getDocument().getWindow();},getId:function(){return this.$.id||null;},getNameAtt:function(){return this.$.name||null;},getName:function(){var i=this.$.nodeName.toLowerCase();if(c&&!(document.documentMode>8)){var j=this.$.scopeName;if(j!='HTML')i=j.toLowerCase()+':'+i;}return(this.getName=function(){return i;})();},getValue:function(){return this.$.value;},getFirst:function(i){var j=this.$.firstChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getNext(i);return k;},getLast:function(i){var j=this.$.lastChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getPrevious(i); -return k;},getStyle:function(i){return this.$.style[e.cssStyleToDomStyle(i)];},is:function(){var i=this.getName();for(var j=0;j0&&(j>2||!k[i[0].nodeName]||j==2&&!k[i[1].nodeName]);},hasAttribute:function(i){var j=this.$.attributes.getNamedItem(i);return!!(j&&j.specified);},hide:function(){this.setStyle('display','none');},moveChildren:function(i,j){var k=this.$;i=i.$;if(k==i)return;var l;if(j)while(l=k.lastChild)i.insertBefore(k.removeChild(l),i.firstChild);else while(l=k.firstChild)i.appendChild(k.removeChild(l));},mergeSiblings:(function(){function i(j,k,l){if(k&&k.type==1){var m=[];while(k.getAttribute('_cke_bookmark')||k.isEmptyInlineRemoveable()){m.push(k);k=l?k.getNext():k.getPrevious();if(!k||k.type!=1)return;}if(j.isIdentical(k)){var n=l?j.getLast():j.getFirst();while(m.length)m.shift().move(j,!l);k.moveChildren(j,!l);k.remove();if(n&&n.type==1)n.mergeSiblings();}}};return function(){var j=this;if(!(f.$removeEmpty[j.getName()]||j.is('a')))return;i(j,j.getNext(),true);i(j,j.getPrevious()); -};})(),show:function(){this.setStyles({display:'',visibility:''});},setAttribute:(function(){var i=function(j,k){this.$.setAttribute(j,k);return this;};if(c&&(b.ie7Compat||b.ie6Compat))return function(j,k){var l=this;if(j=='class')l.$.className=k;else if(j=='style')l.$.style.cssText=k;else if(j=='tabindex')l.$.tabIndex=k;else if(j=='checked')l.$.checked=k;else i.apply(l,arguments);return l;};else return i;})(),setAttributes:function(i){for(var j in i)this.setAttribute(j,i[j]);return this;},setValue:function(i){this.$.value=i;return this;},removeAttribute:(function(){var i=function(j){this.$.removeAttribute(j);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){if(j=='class')j='className';else if(j=='tabindex')j='tabIndex';i.call(this,j);};else return i;})(),removeAttributes:function(i){if(e.isArray(i))for(var j=0;j=100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+i+')');}else this.setStyle('opacity',i);},unselectable:b.gecko?function(){this.$.style.MozUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:b.webkit?function(){this.$.style.KhtmlUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:function(){if(c||b.opera){var i=this.$,j,k=0;i.unselectable='on';while(j=i.all[k++])switch(j.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break;default:j.unselectable='on';}}},getPositionedAncestor:function(){var i=this;while(i.getName()!='html'){if(i.getComputedStyle('position')!='static')return i;i=i.getParent();}return null;},getDocumentPosition:function(i){var D=this;var j=0,k=0,l=D.getDocument().getBody(),m=D.getDocument().$.compatMode=='BackCompat',n=D.getDocument();if(document.documentElement.getBoundingClientRect){var o=D.$.getBoundingClientRect(),p=n.$,q=p.documentElement,r=q.clientTop||l.$.clientTop||0,s=q.clientLeft||l.$.clientLeft||0,t=true;if(c){var u=n.getDocumentElement().contains(D),v=n.getBody().contains(D);t=m&&v||!m&&u;}if(t){j=o.left+(!m&&q.scrollLeft||l.$.scrollLeft); -j-=s;k=o.top+(!m&&q.scrollTop||l.$.scrollTop);k-=r;}}else{var w=D,x=null,y;while(w&&!(w.getName()=='body'||w.getName()=='html')){j+=w.$.offsetLeft-w.$.scrollLeft;k+=w.$.offsetTop-w.$.scrollTop;if(!w.equals(D)){j+=w.$.clientLeft||0;k+=w.$.clientTop||0;}var z=x;while(z&&!z.equals(w)){j-=z.$.scrollLeft;k-=z.$.scrollTop;z=z.getParent();}x=w;w=(y=w.$.offsetParent)?new h(y):null;}}if(i){var A=D.getWindow(),B=i.getWindow();if(!A.equals(B)&&A.$.frameElement){var C=new h(A.$.frameElement).getDocumentPosition(i);j+=C.x;k+=C.y;}}if(!document.documentElement.getBoundingClientRect)if(b.gecko&&!m){j+=D.$.clientLeft?1:0;k+=D.$.clientTop?1:0;}return{x:j,y:k};},scrollIntoView:function(i){var o=this;var j=o.getWindow(),k=j.getViewPaneSize().height,l=k*-1;if(i)l+=k;else{l+=o.$.offsetHeight||0;l+=parseInt(o.getComputedStyle('marginBottom')||0,10)||0;}var m=o.getDocumentPosition();l+=m.y;l=l<0?0:l;var n=j.getScrollPosition().y;if(l>n||lwindow.setTimeout(function(){window.close();},50);")');}return i&&new g(i.contentWindow.document);},copyAttributes:function(i,j){var p=this;var k=p.$.attributes;j=j||{};for(var l=0;l0&&j)j=j.childNodes[i.shift()];return j?new d.node(j):null;},getChildCount:function(){return this.$.childNodes.length;},disableContextMenu:function(){this.on('contextmenu',function(i){if(!i.data.getTarget().hasClass('cke_enable_context_menu'))i.data.preventDefault(); -});},setSize:(function(){var i={width:['border-left-width','border-right-width','padding-left','padding-right'],height:['border-top-width','border-bottom-width','padding-top','padding-bottom']};return function(j,k,l){if(typeof k=='number'){if(l&&!(c&&b.quirks)){var m=0;for(var n=0,o=i[j].length;n',bodyId:'',bodyClass:'',fullPage:false,height:200,plugins:'about,a11yhelp,basicstyles,bidi,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,dialogadvtab,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,smiley,showblocks,showborders,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',extraPlugins:'',removePlugins:'',protectedSource:[],tabIndex:0,theme:'default',skin:'kama',width:'',baseFloatZIndex:10000};var i=a.config;a.focusManager=function(j){if(j.focusManager)return j.focusManager;this.hasFocus=false;this._={editor:j};return this;};a.focusManager.prototype={focus:function(){var k=this; -if(k._.timer)clearTimeout(k._.timer);if(!k.hasFocus){if(a.currentInstance)a.currentInstance.focusManager.forceBlur();var j=k._.editor;j.container.getChild(1).addClass('cke_focus');k.hasFocus=true;j.fire('focus');}},blur:function(){var j=this;if(j._.timer)clearTimeout(j._.timer);j._.timer=setTimeout(function(){delete j._.timer;j.forceBlur();},100);},forceBlur:function(){if(this.hasFocus){var j=this._.editor;j.container.getChild(1).removeClass('cke_focus');this.hasFocus=false;j.fire('blur');}}};(function(){var j={};a.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,'en-au':1,'en-ca':1,'en-gb':1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,'fr-ca':1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,km:1,ko:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,'pt-br':1,pt:1,ro:1,ru:1,sk:1,sl:1,'sr-latn':1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,'zh-cn':1,zh:1},load:function(k,l,m){if(!k||!a.lang.languages[k])k=this.detect(l,k);if(!this[k])a.scriptLoader.load(a.getUrl('lang/'+k+'.js'),function(){m(k,this[k]);},this);else m(k,this[k]);},detect:function(k,l){var m=this.languages;l=l||navigator.userLanguage||navigator.language;var n=l.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),o=n[1],p=n[2];if(m[o+'-'+p])o=o+'-'+p;else if(!m[o])o=null;a.lang.detect=o?function(){return o;}:function(q){return q;};return o||k;}};})();a.scriptLoader=(function(){var j={},k={};return{load:function(l,m,n,o,p){var q=typeof l=='string';if(q)l=[l];if(!n)n=a;var r=l.length,s=[],t=[],u=function(z){if(m)if(q)m.call(n,z);else m.call(n,s,t);};if(r===0){u(true);return;}var v=function(z,A){(A?s:t).push(z);if(--r<=0){p&&a.document.getDocumentElement().removeStyle('cursor');u(A);}},w=function(z,A){j[z]=1;var B=k[z];delete k[z];for(var C=0;C1)return;var B=new h('script');B.setAttributes({type:'text/javascript',src:z});if(m)if(c)B.$.onreadystatechange=function(){if(B.$.readyState=='loaded'||B.$.readyState=='complete'){B.$.onreadystatechange=null;w(z,true);}};else{B.$.onload=function(){setTimeout(function(){w(z,true);},0);};B.$.onerror=function(){w(z,false);};}B.appendTo(a.document.getHead());};p&&a.document.getDocumentElement().setStyle('cursor','wait');for(var y=0;y0){if(!l[p]){t(v);l[p]=a.imageCacher.load(v);}if(!l[p].finished){l[p].on('loaded',function(){n(o,p,q,r);});return;}}q=s[q];var w=!q||!!q._isLoaded;if(w)r&&r();else{var x=q._pending||(q._pending=[]);x.push(r);if(x.length>1)return;var y=!q.css||!q.css.length,z=!q.js||!q.js.length,A=function(){if(y&&z){q._isLoaded=1;for(var D=0;D=0?x.langCode:J[0];if(!I.lang[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.lang[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit'];for(var N=0;N]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:[^\"'>]+)|(?:\"[^\"]*\")|(?:'[^']*'))*)\\/?>))",'g')};};(function(){var l=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,m={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};a.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(n){var A=this; -var o,p,q=0,r;while(o=A._.htmlPartsRegex.exec(n)){var s=o.index;if(s>q){var t=n.substring(q,s);if(r)r.push(t);else A.onText(t);}q=A._.htmlPartsRegex.lastIndex;if(p=o[1]){p=p.toLowerCase();if(r&&f.$cdata[p]){A.onCDATA(r.join(''));r=null;}if(!r){A.onTagClose(p);continue;}}if(r){r.push(o[0]);continue;}if(p=o[3]){p=p.toLowerCase();if(/="/.test(p))continue;var u={},v,w=o[4],x=!!(w&&w.charAt(w.length-1)=='/');if(w)while(v=l.exec(w)){var y=v[1].toLowerCase(),z=v[2]||v[3]||v[4]||'';if(!z&&m[y])u[y]=y;else u[y]=z;}A.onTagOpen(p,u,x);if(!r&&f.$cdata[p])r=[];continue;}if(p=o[2])A.onComment(p);}if(n.length>q)A.onText(n.substring(q,n.length));}};})();a.htmlParser.comment=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.comment.prototype={type:8,writeHtml:function(l,m){var n=this.value;if(m){if(!(n=m.onComment(n,this)))return;if(typeof n!='string'){n.parent=this.parent;n.writeHtml(l,m);return;}}l.comment(n);}};(function(){var l=/[\t\r\n ]{2,}|[\t\r\n]/g;a.htmlParser.text=function(m){this.value=m;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(m,n){var o=this.value;if(n&&!(o=n.onText(o,this)))return;m.text(o);}};})();(function(){a.htmlParser.cdata=function(l){this.value=l;};a.htmlParser.cdata.prototype={type:3,writeHtml:function(l){l.write(this.value);}};})();a.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false};};(function(){var l={colgroup:1,dd:1,dt:1,li:1,option:1,p:1,td:1,tfoot:1,th:1,thead:1,tr:1},m=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),n=f.$list,o=f.$listItem;a.htmlParser.fragment.fromHtml=function(p,q){var r=new a.htmlParser(),s=[],t=new a.htmlParser.fragment(),u=[],v=[],w=t,x=false,y;function z(E){var F;if(u.length>0)for(var G=0;G0)w.add(v.shift());};function B(E,F,G){F=F||w||t;if(q&&!F.type){var H,I;if(E.attributes&&(I=E.attributes._cke_real_element_type))H=I;else H=E.name;if(H&&!(H in f.$body)&&!(H in f.$nonBodyContent)){var J=w;w=F;r.onTagOpen(q,{});F=w;if(G)w=J;}}if(E._.isBlockLike&&E.name!='pre'){var K=E.children.length,L=E.children[K-1],M;if(L&&L.type==3)if(!(M=e.rtrim(L.value)))E.children.length=K-1;else L.value=M;}F.add(E);if(E.returnPoint){w=E.returnPoint;delete E.returnPoint;}};r.onTagOpen=function(E,F,G){var H=new a.htmlParser.element(E,F); -if(H.isUnknown&&G)H.isEmpty=true;if(f.$removeEmpty[E]){u.push(H);return;}else if(E=='pre')x=true;else if(E=='br'&&x){w.add(new a.htmlParser.text('\n'));return;}if(E=='br'){v.push(H);return;}var I=w.name,J=I&&(f[I]||(w._.isBlockLike?f.div:f.span));if(J&&!H.isUnknown&&!w.isUnknown&&!J[E]){var K=false,L;if(E in n&&I in n){var M=w.children,N=M[M.length-1];if(!(N&&N.name in o))B(N=new a.htmlParser.element('li'),w);y=w,L=N;}else if(E==I)B(w,w.parent);else if(E in f.$listItem){r.onTagOpen('ul',{});L=w;K=true;}else{if(m[I]){if(!y)y=w;}else{B(w,w.parent,true);if(!l[I])u.unshift(w);}K=true;}if(L)w=L;else w=w.returnPoint||w.parent;if(K){r.onTagOpen.apply(this,arguments);return;}}z(E);A();H.parent=w;H.returnPoint=y;y=0;if(H.isEmpty)B(H);else w=H;};r.onTagClose=function(E){for(var F=u.length-1;F>=0;F--){if(E==u[F].name){u.splice(F,1);return;}}var G=[],H=[],I=w;while(I.type&&I.name!=E){if(!I._.isBlockLike)H.unshift(I);G.push(I);I=I.parent;}if(I.type){for(F=0;F0&&s.children[q-1]||null;if(r){if(p._.isBlockLike&&r.type==3){r.value=e.rtrim(r.value);if(r.value.length===0){s.children.pop();s.add(p);return;}}r.next=p;}p.previous=r;p.parent=s;s.children.push(p);s._.hasInlineStarted=p.type==3||p.type==1&&!p._.isBlockLike;},writeHtml:function(p,q){var r;this.filterChildren=function(){var s=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,s,q,true);var t=s.getHtml();this.children=new a.htmlParser.fragment.fromHtml(t).children;r=1;};!this.name&&q&&q.onFragment(this);this.writeChildrenHtml(p,r?null:q);},writeChildrenHtml:function(p,q){for(var r=0;rn?1:0;};a.htmlParser.element.prototype={type:1,add:a.htmlParser.fragment.prototype.add,clone:function(){return new a.htmlParser.element(this.name,this.attributes);},writeHtml:function(m,n){var o=this.attributes,p=this,q=p.name,r,s,t,u;p.filterChildren=function(){if(!u){var z=new a.htmlParser.basicWriter();a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,z,n);p.children=new a.htmlParser.fragment.fromHtml(z.getHtml()).children;u=1;}};if(n){for(;;){if(!(q=n.onElementName(q)))return;p.name=q;if(!(p=n.onElement(p)))return;p.parent=this.parent;if(p.name==q)break;if(p.type!=1){p.writeHtml(m,n);return;}q=p.name;if(!q){this.writeChildrenHtml.call(p,m,u?null:n);return;}}o=p.attributes;}m.openTag(q,o);var v=[];for(var w=0;w<2;w++)for(r in o){s=r;t=o[r];if(w==1)v.push([r,t]);else if(n){for(;;){if(!(s=n.onAttributeName(r))){delete o[r];break;}else if(s!=r){delete o[r];r=s;continue;}else break;}if(s)if((t=n.onAttribute(p,s,t))===false)delete o[s];else o[s]=t;}}if(m.sortAttributes)v.sort(l);var x=v.length;for(w=0;w=0;u--){var x=r[u];if(x){x.pri=s;q.splice(t,0,x);}}}};function n(q,r,s){if(r)for(var t in r){var u=q[t];q[t]=o(u,r[t],s);if(!u)q.$length++;}};function o(q,r,s){if(r){r.pri=s;if(q){if(!q.splice){if(q.pri>s)q=[r,q];else q=[q,r];q.filter=p;}else m(q,r,s);return q;}else{r.filter=r;return r;}}};function p(q){var r=q.type||q instanceof a.htmlParser.fragment;for(var s=0;s');else this._.output.push('>');},attribute:function(l,m){if(typeof m=='string')m=e.htmlEncodeAttr(m);this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){this._.output.push('');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('');},write:function(l){this._.output.push(l);},reset:function(){this._.output=[];this._.indent=false;},getHtml:function(l){var m=this._.output.join('');if(l)this.reset();return m;}}});delete a.loadFullCore;a.instances={};a.document=new g(document);a.add=function(l){a.instances[l.name]=l;l.on('focus',function(){if(a.currentInstance!=l){a.currentInstance=l;a.fire('currentInstance');}});l.on('blur',function(){if(a.currentInstance==l){a.currentInstance=null;a.fire('currentInstance');}});};a.remove=function(l){delete a.instances[l.name];};a.on('instanceDestroyed',function(){if(e.isEmpty(this.instances))a.fire('reset');});a.TRISTATE_ON=1;a.TRISTATE_OFF=2;a.TRISTATE_DISABLED=0;d.comment=e.createClass({base:d.node,$:function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);this.base(l);},proto:{type:8,getOuterHtml:function(){return '';}}});(function(){var l={address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,dd:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,caption:1,form:1},n=function(o){var p=o.getChildren(); -for(var q=0,r=p.count();q0&&C.getChild(v.startOffset-1);this._.guardRTL=function(F,G){return(!G|| C && !C.equals(F))&&(!D||!F.equals(D))&&(F.type!=1||!G||F.getName()!='body');};}var E=s?this._.guardRTL:this._.guardLTR; -if(x)w=function(F,G){if(E(F,G)===false)return false;return x(F,G);};else w=E;if(this.current)u=this.current[z](false,y,w);else if(s){u=v.endContainer;if(v.endOffset>0){u=u.getChild(v.endOffset-1);if(w(u)===false)u=null;}else u=w(u,true)===false?null:u.getPreviousSourceNode(true,y,w);}else{u=v.startContainer;u=u.getChild(v.startOffset);if(u){if(w(u)===false)u=null;}else u=w(v.startContainer,true)===false?null:v.startContainer.getNextSourceNode(true,y,w);}while(u&&!this._.end){this.current=u;if(!this.evaluator||this.evaluator(u)!==false){if(!t)return u;}else if(t&&this.evaluator)return false;u=u[z](false,y,w);}this.end();return this.current=null;};function m(s){var t,u=null;while(t=l.call(this,s))u=t;return u;};d.walker=e.createClass({$:function(s){this.range=s;this._={};},proto:{end:function(){this._.end=1;},next:function(){return l.call(this);},previous:function(){return l.call(this,1);},checkForward:function(){return l.call(this,0,1)!==false;},checkBackward:function(){return l.call(this,1,1)!==false;},lastForward:function(){return m.call(this);},lastBackward:function(){return m.call(this,1);},reset:function(){delete this.current;this._={};}}});var n={block:1,'list-item':1,table:1,'table-row-group':1,'table-header-group':1,'table-footer-group':1,'table-row':1,'table-column-group':1,'table-column':1,'table-cell':1,'table-caption':1};h.prototype.isBlockBoundary=function(s){var t=e.extend({},f.$block,s||{});return this.getComputedStyle('float')=='none'&&n[this.getComputedStyle('display')]||t[this.getName()];};d.walker.blockBoundary=function(s){return function(t,u){return!(t.type==1&&t.isBlockBoundary(s));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(s,t){function u(v){return v&&v.getName&&v.getName()=='span'&&v.hasAttribute('_cke_bookmark');};return function(v){var w,x;w=v&&!v.getName&&(x=v.getParent())&&u(x);w=s?w:w||u(v);return!!(t^w);};};d.walker.whitespaces=function(s){return function(t){var u=t&&t.type==3&&!e.trim(t.getText());return!!(s^u);};};d.walker.invisible=function(s){var t=d.walker.whitespaces();return function(u){var v=t(u)||u.is&&!u.$.offsetHeight;return!!(s^v);};};var o=/^[\t\r\n ]*(?: |\xa0)$/,p=d.walker.whitespaces(1),q=d.walker.bookmark(0,1),r=function(s){return q(s)&&p(s);};h.prototype.getBogus=function(){var s=this.getLast(r);if(s&&(!c?s.is&&s.is('br'):s.getText&&o.test(s.getText())))return s;return false;};})();d.range=function(l){var m=this;m.startContainer=null;m.startOffset=null; -m.endContainer=null;m.endOffset=null;m.collapsed=true;m.document=l;};(function(){var l=function(t){t.collapsed=t.startContainer&&t.endContainer&&t.startContainer.equals(t.endContainer)&&t.startOffset==t.endOffset;},m=function(t,u,v){t.optimizeBookmark();var w=t.startContainer,x=t.endContainer,y=t.startOffset,z=t.endOffset,A,B;if(x.type==3)x=x.split(z);else if(x.getChildCount()>0)if(z>=x.getChildCount()){x=x.append(t.document.createText(''));B=true;}else x=x.getChild(z);if(w.type==3){w.split(y);if(w.equals(x))x=w.getNext();}else if(!y){w=w.getFirst().insertBeforeMe(t.document.createText(''));A=true;}else if(y>=w.getChildCount()){w=w.append(t.document.createText(''));A=true;}else w=w.getChild(y).getPrevious();var C=w.getParents(),D=x.getParents(),E,F,G;for(E=0;E0&&!I.equals(x))J=H.append(I.clone());if(!C[N]||I.$.parentNode!=C[N].$.parentNode){K=I.getPrevious();while(K){if(K.equals(C[N])||K.equals(w))break;L=K.getPrevious();if(u==2)H.$.insertBefore(K.$.cloneNode(true),H.$.firstChild);else{K.remove();if(u==1)H.$.insertBefore(K.$,H.$.firstChild);}K=L;}}if(H)H=J;}if(u==2){var O=t.startContainer;if(O.type==3){O.$.data+=O.$.nextSibling.data;O.$.parentNode.removeChild(O.$.nextSibling);}var P=t.endContainer;if(P.type==3&&P.$.nextSibling){P.$.data+=P.$.nextSibling.data;P.$.parentNode.removeChild(P.$.nextSibling);}}else{if(F&&G&&(w.$.parentNode!=F.$.parentNode||x.$.parentNode!=G.$.parentNode)){var Q=G.getIndex();if(A&&G.$.parentNode==w.$.parentNode)Q--;t.setStart(G.getParent(),Q);}t.collapse(true);}if(A)w.remove();if(B&&x.$.parentNode)x.remove();},n={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1};function o(t){var u=false,v=d.walker.bookmark(true);return function(w){if(v(w))return true;if(w.type==3){if(e.trim(w.getText()).length)return false;}else if(w.type==1)if(!n[w.getName()])if(!t&&!c&&w.getName()=='br'&&!u)u=true;else return false;return true;};};function p(t){return t.type!=3&&t.getName() in f.$removeEmpty||!e.trim(t.getText())||t.getParent().hasAttribute('_cke_bookmark');};var q=new d.walker.whitespaces(),r=new d.walker.bookmark(); -function s(t){return!q(t)&&!r(t);};d.range.prototype={clone:function(){var u=this;var t=new d.range(u.document);t.startContainer=u.startContainer;t.startOffset=u.startOffset;t.endContainer=u.endContainer;t.endOffset=u.endOffset;t.collapsed=u.collapsed;return t;},collapse:function(t){var u=this;if(t){u.endContainer=u.startContainer;u.endOffset=u.startOffset;}else{u.startContainer=u.endContainer;u.startOffset=u.endOffset;}u.collapsed=true;},cloneContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,t);return t;},deleteContents:function(){if(this.collapsed)return;m(this,0);},extractContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,t);return t;},createBookmark:function(t){var z=this;var u,v,w,x,y=z.collapsed;u=z.document.createElement('span');u.setAttribute('_cke_bookmark',1);u.setStyle('display','none');u.setHtml(' ');if(t){w='cke_bm_'+e.getNextNumber();u.setAttribute('id',w+'S');}if(!y){v=u.clone();v.setHtml(' ');if(t)v.setAttribute('id',w+'E');x=z.clone();x.collapse();x.insertNode(v);}x=z.clone();x.collapse(true);x.insertNode(u);if(v){z.setStartAfter(u);z.setEndBefore(v);}else z.moveToPosition(u,4);return{startNode:t?w+'S':u,endNode:t?w+'E':v,serializable:t,collapsed:y};},createBookmark2:function(t){var B=this;var u=B.startContainer,v=B.endContainer,w=B.startOffset,x=B.endOffset,y=B.collapsed,z,A;if(!u||!v)return{start:0,end:0};if(t){if(u.type==1){z=u.getChild(w);if(z&&z.type==3&&w>0&&z.getPrevious().type==3){u=z;w=0;}}while(u.type==3&&(A=u.getPrevious())&&A.type==3){u=A;w+=A.getLength();}if(!y){if(v.type==1){z=v.getChild(x);if(z&&z.type==3&&x>0&&z.getPrevious().type==3){v=z;x=0;}}while(v.type==3&&(A=v.getPrevious())&&A.type==3){v=A;x+=A.getLength();}}}return{start:u.getAddress(t),end:y?null:v.getAddress(t),startOffset:w,endOffset:x,normalized:t,collapsed:y,is2:true};},moveToBookmark:function(t){var B=this;if(t.is2){var u=B.document.getByAddress(t.start,t.normalized),v=t.startOffset,w=t.end&&B.document.getByAddress(t.end,t.normalized),x=t.endOffset;B.setStart(u,v);if(w)B.setEnd(w,x);else B.collapse(true);}else{var y=t.serializable,z=y?B.document.getById(t.startNode):t.startNode,A=y?B.document.getById(t.endNode):t.endNode;B.setStartBefore(z);z.remove();if(A){B.setEndBefore(A);A.remove();}else B.collapse(true);}},getBoundaryNodes:function(){var y=this;var t=y.startContainer,u=y.endContainer,v=y.startOffset,w=y.endOffset,x;if(t.type==1){x=t.getChildCount();if(x>v)t=t.getChild(v); -else if(x<1)t=t.getPreviousSourceNode();else{t=t.$;while(t.lastChild)t=t.lastChild;t=new d.node(t);t=t.getNextSourceNode()||t;}}if(u.type==1){x=u.getChildCount();if(x>w)u=u.getChild(w).getPreviousSourceNode(true);else if(x<1)u=u.getPreviousSourceNode();else{u=u.$;while(u.lastChild)u=u.lastChild;u=new d.node(u);}}if(t.getPosition(u)&2)t=u;return{startNode:t,endNode:u};},getCommonAncestor:function(t,u){var y=this;var v=y.startContainer,w=y.endContainer,x;if(v.equals(w)){if(t&&v.type==1&&y.startOffset==y.endOffset-1)x=v.getChild(y.startOffset);else x=v;}else x=v.getCommonAncestor(w);return u&&!x.is?x.getParent():x;},optimize:function(){var v=this;var t=v.startContainer,u=v.startOffset;if(t.type!=1)if(!u)v.setStartBefore(t);else if(u>=t.getLength())v.setStartAfter(t);t=v.endContainer;u=v.endOffset;if(t.type!=1)if(!u)v.setEndBefore(t);else if(u>=t.getLength())v.setEndAfter(t);},optimizeBookmark:function(){var v=this;var t=v.startContainer,u=v.endContainer;if(t.is&&t.is('span')&&t.hasAttribute('_cke_bookmark'))v.setStartAt(t,3);if(u&&u.is&&u.is('span')&&u.hasAttribute('_cke_bookmark'))v.setEndAt(u,4);},trim:function(t,u){var B=this;var v=B.startContainer,w=B.startOffset,x=B.collapsed;if((!t||x)&&v&&v.type==3){if(!w){w=v.getIndex();v=v.getParent();}else if(w>=v.getLength()){w=v.getIndex()+1;v=v.getParent();}else{var y=v.split(w);w=v.getIndex()+1;v=v.getParent();if(B.startContainer.equals(B.endContainer))B.setEnd(y,B.endOffset-B.startOffset);else if(v.equals(B.endContainer))B.endOffset+=1;}B.setStart(v,w);if(x){B.collapse(true);return;}}var z=B.endContainer,A=B.endOffset;if(!(u||x)&&z&&z.type==3){if(!A){A=z.getIndex();z=z.getParent();}else if(A>=z.getLength()){A=z.getIndex()+1;z=z.getParent();}else{z.split(A);A=z.getIndex()+1;z=z.getParent();}B.setEnd(z,A);}},enlarge:function(t){switch(t){case 1:if(this.collapsed)return;var u=this.getCommonAncestor(),v=this.document.getBody(),w,x,y,z,A,B=false,C,D,E=this.startContainer,F=this.startOffset;if(E.type==3){if(F){E=!e.trim(E.substring(0,F)).length&&E;B=!!E;}if(E)if(!(z=E.getPrevious()))y=E.getParent();}else{if(F)z=E.getChild(F-1)||E.getLast();if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)w=y;else this.setStartBefore(y);}z=y.getPrevious();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/[\s\ufeff]$/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText(); -if(/[^\s\ufeff]/.test(D))z=null;else{var G=z.$.all||z.$.getElementsByTagName('*');for(var H=0,I;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B){if(A)w=y;else if(y)this.setStartBefore(y);}else B=true;if(z){var J=z.getPrevious();if(!y&&!J){y=z;z=null;break;}z=J;}else y=null;}if(y)y=y.getParent();}E=this.endContainer;F=this.endOffset;y=z=null;A=B=false;if(E.type==3){E=!e.trim(E.substring(F)).length&&E;B=!(E&&E.getLength());if(E)if(!(z=E.getNext()))y=E.getParent();}else{z=E.getChild(F);if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)x=y;else if(y)this.setEndAfter(y);}z=y.getNext();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/^[\s\ufeff]/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;else{G=z.$.all||z.$.getElementsByTagName('*');for(H=0;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B)if(A)x=y;else this.setEndAfter(y);if(z){J=z.getNext();if(!y&&!J){y=z;z=null;break;}z=J;}else y=null;}if(y)y=y.getParent();}if(w&&x){u=w.contains(x)?x:w;this.setStartBefore(u);this.setEndAfter(u);}break;case 2:case 3:var K=new d.range(this.document);v=this.document.getBody();K.setStartAt(v,1);K.setEnd(this.startContainer,this.startOffset);var L=new d.walker(K),M,N,O=d.walker.blockBoundary(t==3?{br:1}:null),P=function(R){var S=O(R);if(!S)M=R;return S;},Q=function(R){var S=P(R);if(!S&&R.is&&R.is('br'))N=R;return S;};L.guard=P;y=L.lastBackward();M=M||v;this.setStartAt(M,!M.is('br')&&(!y&&this.checkStartOfBlock()||y&&M.contains(y))?1:4);K=this.clone();K.collapse();K.setEndAt(v,2);L=new d.walker(K);L.guard=t==3?Q:P;M=null;y=L.lastForward();M=M||v;this.setEndAt(M,!y&&this.checkEndOfBlock()||y&&M.contains(y)?2:3);if(N)this.setEndAfter(N);}},shrink:function(t,u){if(!this.collapsed){t=t||2;var v=this.clone(),w=this.startContainer,x=this.endContainer,y=this.startOffset,z=this.endOffset,A=this.collapsed,B=1,C=1;if(w&&w.type==3)if(!y)v.setStartBefore(w);else if(y>=w.getLength())v.setStartAfter(w);else{v.setStartBefore(w);B=0;}if(x&&x.type==3)if(!z)v.setEndBefore(x);else if(z>=x.getLength())v.setEndAfter(x);else{v.setEndAfter(x);C=0;}var D=new d.walker(v),E=d.walker.bookmark();D.evaluator=function(I){return I.type==(t==1?1:3);};var F; -D.guard=function(I,J){if(E(I))return true;if(t==1&&I.type==3)return false;if(J&&I.equals(F))return false;if(!J&&I.type==1)F=I;return true;};if(B){var G=D[t==1?'lastForward':'next']();G&&this.setStartAt(G,u?1:3);}if(C){D.reset();var H=D[t==1?'lastBackward':'previous']();H&&this.setEndAt(H,u?2:4);}return!!(B||C);}},insertNode:function(t){var x=this;x.optimizeBookmark();x.trim(false,true);var u=x.startContainer,v=x.startOffset,w=u.getChild(v);if(w)t.insertBefore(w);else u.append(t);if(t.getParent().equals(x.endContainer))x.endOffset++;x.setStartBefore(t);},moveToPosition:function(t,u){this.setStartAt(t,u);this.collapse(true);},selectNodeContents:function(t){this.setStart(t,0);this.setEnd(t,t.type==3?t.getLength():t.getChildCount());},setStart:function(t,u){var v=this;if(t && t.type==1&&f.$empty[t.getName()])u=t.getIndex(),t=t.getParent();v.startContainer=t;v.startOffset=u;if(!v.endContainer){v.endContainer=t;v.endOffset=u;}l(v);},setEnd:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])u=t.getIndex()+1,t=t.getParent();v.endContainer=t;v.endOffset=u;if(!v.startContainer){v.startContainer=t;v.startOffset=u;}l(v);},setStartAfter:function(t){this.setStart(t.getParent(),t.getIndex()+1);},setStartBefore:function(t){this.setStart(t.getParent(),t.getIndex());},setEndAfter:function(t){this.setEnd(t.getParent(),t.getIndex()+1);},setEndBefore:function(t){this.setEnd(t.getParent(),t.getIndex());},setStartAt:function(t,u){var v=this;switch(u){case 1:v.setStart(t,0);break;case 2:if(t.type==3)v.setStart(t,t.getLength());else v.setStart(t,t.getChildCount());break;case 3:v.setStartBefore(t);break;case 4:v.setStartAfter(t);}l(v);},setEndAt:function(t,u){var v=this;switch(u){case 1:v.setEnd(t,0);break;case 2:if(t && t.type==3)v.setEnd(t,t.getLength());else v && v.setEnd(t,t.getChildCount());break;case 3:v.setEndBefore(t);break;case 4:v.setEndAfter(t);}l(v);},fixBlock:function(t,u){var x=this;var v=x.createBookmark(),w=x.document.createElement(u);x.collapse(t);x.enlarge(2);x.extractContents().appendTo(w);w.trim();if(!c)w.appendBogus();x.insertNode(w);x.moveToBookmark(v);return w;},splitBlock:function(t){var D=this;var u=new d.elementPath(D.startContainer),v=new d.elementPath(D.endContainer),w=u.blockLimit,x=v.blockLimit,y=u.block,z=v.block,A=null;if(!w.equals(x))return null;if(t!='br'){if(!y){y=D.fixBlock(true,t);z=new d.elementPath(D.endContainer).block;}if(!z)z=D.fixBlock(false,t);}var B=y&&D.checkStartOfBlock(),C=z&&D.checkEndOfBlock();D.deleteContents();if(y&&y.equals(z))if(C){A=new d.elementPath(D.startContainer); -D.moveToPosition(z,4);z=null;}else if(B){A=new d.elementPath(D.startContainer);D.moveToPosition(y,3);y=null;}else{z=D.splitElement(y);if(!c&&!y.is('ul','ol'))y.appendBogus();}return{previousBlock:y,nextBlock:z,wasStartOfBlock:B,wasEndOfBlock:C,elementPath:A};},splitElement:function(t){var w=this;if(!w.collapsed)return null;w.setEndAt(t,2);var u=w.extractContents(),v=t.clone(false);u.appendTo(v);v.insertAfter(t);w.moveToPosition(t,4);return v;},checkBoundaryOfElement:function(t,u){var v=u==1,w=this.clone();w.collapse(v);w[v?'setStartAt':'setEndAt'](t,v?1:2);var x=new d.walker(w);x.evaluator=p;return x[v?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var z=this;var t=z.startContainer,u=z.startOffset;if(u&&t.type==3){var v=e.ltrim(t.substring(0,u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.startContainer),x=z.clone();x.collapse(true);x.setStartAt(w.block||w.blockLimit,1);var y=new d.walker(x);y.evaluator=o(true);return y.checkBackward();},checkEndOfBlock:function(){var z=this;var t=z.endContainer,u=z.endOffset;if(t.type==3){var v=e.rtrim(t.substring(u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.endContainer),x=z.clone();x.collapse(false);x.setEndAt(w.block||w.blockLimit,2);var y=new d.walker(x);y.evaluator=o(false);return y.checkForward();},moveToElementEditablePosition:function(t,u){var v;if(f.$empty[t.getName()])return false;while(t&&t.type==1){v=t.isEditable();if(v)this.moveToPosition(t,u?2:1);else if(f.$inline[t.getName()]){this.moveToPosition(t,u?4:3);return true;}if(f.$empty[t.getName()])t=t[u?'getPrevious':'getNext'](s);else t=t[u?'getLast':'getFirst'](s);if(t&&t.type==3){this.moveToPosition(t,u?4:3);return true;}}return v;},moveToElementEditStart:function(t){return this.moveToElementEditablePosition(t);},moveToElementEditEnd:function(t){return this.moveToElementEditablePosition(t,true);},getEnclosedNode:function(){var t=this.clone();t.optimize();if(t.startContainer.type!=1||t.endContainer.type!=1)return null;var u=new d.walker(t),v=d.walker.bookmark(true),w=d.walker.whitespaces(true),x=function(z){return w(z)&&v(z);};t.evaluator=x;var y=u.next();u.reset();return y&&y.equals(u.previous())?y:null;},getTouchedStartNode:function(){var t=this.startContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.startOffset)||t;},getTouchedEndNode:function(){var t=this.endContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.endOffset-1)||t;}};})();a.POSITION_AFTER_START=1;a.POSITION_BEFORE_END=2; -a.POSITION_BEFORE_START=3;a.POSITION_AFTER_END=4;a.ENLARGE_ELEMENT=1;a.ENLARGE_BLOCK_CONTENTS=2;a.ENLARGE_LIST_ITEM_CONTENTS=3;a.START=1;a.END=2;a.STARTEND=3;a.SHRINK_ELEMENT=1;a.SHRINK_TEXT=2;(function(){d.rangeList=function(n){if(n instanceof d.rangeList)return n;if(!n)n=[];else if(n instanceof d.range)n=[n];return e.extend(n,l);};var l={createIterator:function(){var n=this,o=d.walker.bookmark(),p=function(s){return!(s.is&&s.is('tr'));},q=[],r;return{getNextRange:function(s){r=r==undefined?0:r+1;var t=n[r];if(t&&n.length>1){if(!r)for(var u=n.length-1;u>=0;u--)q.unshift(n[u].createBookmark(true));if(s){var v=0;while(n[r+v+1]){var w=t.document,x=0,y=w.getById(q[v].endNode),z=w.getById(q[v+1].startNode),A;while(1){A=y.getNextSourceNode(false);if(!z.equals(A)){if(o(A)||A.type==1&&A.isBlockBoundary()){y=A;continue;}}else x=1;break;}if(!x)break;v++;}}t.moveToBookmark(q.shift());var A;while(v--){A=n[++r];A.moveToBookmark(q.shift());t.setEnd(A.endContainer,A.endOffset);}}return t;}};},createBookmarks:function(n){var s=this;var o=[],p;for(var q=0;q
                          ',a.document);o.appendTo(a.document.getHead());try{b.hc=o.getComputedStyle('background-image')=='none';}catch(p){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';o.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0; -m0){z=A.shift();while(!z.getParent().equals(D))z=z.getParent();if(!z.equals(H))E.push(z);H=z;}while(E.length>0){z=E.shift();if(z.getName()=='blockquote'){var I=new d.documentFragment(q.document);while(z.getFirst()){I.append(z.getFirst().remove());A.push(I.getLast());}I.replace(z);}else A.push(z);}var J=q.document.createElement('blockquote');J.insertBefore(A[0]);while(A.length>0){z=A.shift();J.append(z);}}else if(r==1){var K=[],L={};while(z=y.getNextParagraph()){var M=null,N=null;while(z.getParent()){if(z.getParent().getName()=='blockquote'){M=z.getParent();N=z;break;}z=z.getParent();}if(M&&N&&!N.getCustomData('blockquote_moveout')){K.push(N); -h.setMarker(L,N,'blockquote_moveout',true);}}h.clearAllMarkers(L);var O=[],P=[];L={};while(K.length>0){var Q=K.shift();J=Q.getParent();if(!Q.getPrevious())Q.remove().insertBefore(J);else if(!Q.getNext())Q.remove().insertAfter(J);else{Q.breakParent(Q.getParent());P.push(Q.getNext());}if(!J.getCustomData('blockquote_processed')){P.push(J);h.setMarker(L,J,'blockquote_processed',true);}O.push(Q);}h.clearAllMarkers(L);for(F=P.length-1;F>=0;F--){J=P[F];if(o(J))J.remove();}if(q.config.enterMode==2){var R=true;while(O.length){Q=O.shift();if(Q.getName()=='div'){I=new d.documentFragment(q.document);var S=R&&Q.getPrevious()&&!(Q.getPrevious().type==1&&Q.getPrevious().isBlockBoundary());if(S)I.append(q.document.createElement('br'));var T=Q.getNext()&&!(Q.getNext().type==1&&Q.getNext().isBlockBoundary());while(Q.getFirst())Q.getFirst().remove().appendTo(I);if(T)I.append(q.document.createElement('br'));I.replace(Q);R=false;}}}}s.selectBookmarks(u);q.focus();}};j.add('blockquote',{init:function(q){q.addCommand('blockquote',p);q.ui.addButton('Blockquote',{label:q.lang.blockquote,command:'blockquote'});q.on('selectionChange',n);},requires:['domiterator']});})();j.add('button',{beforeInit:function(m){m.ui.addHandler(1,k.button.handler);}});a.UI_BUTTON=1;k.button=function(m){e.extend(this,m,{title:m.label,className:m.className||m.command&&'cke_button_'+m.command||'',click:m.click||(function(n){n.execCommand(m.command);})});this._={};};k.button.handler={create:function(m){return new k.button(m);}};k.button.prototype={canGroup:true,render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s,t;this._.editor=m;var u={id:p,button:this,editor:m,focus:function(){var x=a.document.getById(p);x.focus();},execute:function(){this.button.click(m);}};u.clickFn=s=e.addFunction(u.execute,u);u.index=t=k.button._.instances.push(u)-1;if(this.modes){var v={};m.on('beforeModeUnload',function(){v[m.mode]=this._.state;},this);m.on('mode',function(){var x=m.mode;this.setState(this.modes[x]?v[x]!=undefined?v[x]:2:0);},this);}else if(r){r=m.getCommand(r);if(r){r.on('state',function(){this.setState(r.state);},this);q+='cke_'+(r.state==1?'on':r.state==0?'disabled':'off');}}if(!r)q+='cke_off';if(this.className)q+=' '+this.className;n.push('','=10900&&!o.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+p+'_label"'+(this.hasArrow?' aria-haspopup="true"':'')); -if(o.opera||o.gecko&&o.mac)n.push(' onkeypress="return false;"');if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.ui.button._.keydown(',t,', event);" onfocus="return CKEDITOR.ui.button._.focus(',t,', event);" onclick="CKEDITOR.tools.callFunction(',s,', this); return false;"> ',this.label,'');if(this.hasArrow)n.push(''+(b.hc?'▼':' ')+'');n.push('','');if(this.onRender)this.onRender();return u;},setState:function(m){if(this._.state==m)return false;this._.state=m;var n=a.document.getById(this._.id);if(n){n.setState(m);m==0?n.setAttribute('aria-disabled',true):n.removeAttribute('aria-disabled');m==1?n.setAttribute('aria-pressed',true):n.removeAttribute('aria-pressed');return true;}else return false;}};k.button._={instances:[],keydown:function(m,n){var o=k.button._.instances[m];if(o.onkey){n=new d.event(n);return o.onkey(o,n.getKeystroke())!==false;}},focus:function(m,n){var o=k.button._.instances[m],p;if(o.onfocus)p=o.onfocus(o,new d.event(n))!==false;if(b.gecko&&b.version<10900)n.preventBubble();return p;}};k.prototype.addButton=function(m,n){this.add(m,1,n);};a.on('reset',function(){k.button._.instances=[];});(function(){var m=function(t,u){var v=t.document,w=v.getBody(),x=0,y=function(){x=1;};w.on(u,y);(b.version>7?v.$:v.$.selection.createRange()).execCommand(u);w.removeListener(u,y);return x;},n=c?function(t,u){return m(t,u);}:function(t,u){try{return t.document.$.execCommand(u);}catch(v){return false;}},o=function(t){this.type=t;this.canUndo=this.type=='cut';};o.prototype={exec:function(t,u){this.type=='cut'&&s(t);var v=n(t,this.type);if(!v)alert(t.lang.clipboard[this.type+'Error']);return v;}};var p={canUndo:false,exec:c?function(t){t.focus();if(!t.document.getBody().fire('beforepaste')&&!m(t,'paste')){t.fire('pasteDialog');return false;}}:function(t){try{if(!t.document.getBody().fire('beforepaste')&&!t.document.$.execCommand('Paste',false,null))throw 0;}catch(u){setTimeout(function(){t.fire('pasteDialog');},0);return false;}}},q=function(t){if(this.mode!='wysiwyg')return;switch(t.data.keyCode){case 1000+86:case 2000+45:var u=this.document.getBody();if(!c&&u.fire('beforepaste'))t.cancel();else if(b.opera||b.gecko&&b.version<10900)u.fire('paste'); -return;case 1000+88:case 2000+46:var v=this;this.fire('saveSnapshot');setTimeout(function(){v.fire('saveSnapshot');},0);}};function r(t,u,v){var w=this.document;if(w.getById('cke_pastebin'))return;if(u=='text'&&t.data&&t.data.$.clipboardData){var x=t.data.$.clipboardData.getData('text/plain');if(x){t.data.preventDefault();v(x);return;}}var y=this.getSelection(),z=new d.range(w),A=new h(u=='text'?'textarea':b.webkit?'body':'div',w);A.setAttribute('id','cke_pastebin');b.webkit&&A.append(w.createText('\xa0'));w.getBody().append(A);A.setStyles({position:'absolute',top:y.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});A.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var B=y.createBookmarks();if(u=='text'){if(c){var C=w.getBody().$.createTextRange();C.moveToElementText(A.$);C.execCommand('Paste');t.data.preventDefault();}else{w.$.designMode='off';A.$.focus();}}else{z.setStartAt(A,1);z.setEndAt(A,2);z.select(true);}window.setTimeout(function(){u=='text'&&!c&&(w.$.designMode='on');A.remove();var D;A=b.webkit&&(D=A.getFirst())&&D.is&&D.hasClass('Apple-style-span')?D:A;y.selectBookmarks(B);v(A['get'+(u=='text'?'Value':'Html')]());},0);};function s(t){if(!c||b.quirks)return;var u=t.getSelection(),v;if(u.getType()==3&&(v=u.getSelectedElement())){var w=u.getRanges()[0],x=t.document.createText('');x.insertBefore(v);w.setStartBefore(x);w.setEndAfter(v);u.selectRanges([w]);setTimeout(function(){if(v.getParent()){x.remove();u.selectElement(v);}},0);}};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(t){t.on('paste',function(y){var z=y.data;if(z.html)t.insertHtml(z.html);else if(z.text)t.insertText(z.text);setTimeout(function(){t.fire('afterPaste');},0);},null,null,1000);t.on('pasteDialog',function(y){setTimeout(function(){t.openDialog('paste');},0);});function u(y,z,A,B){var C=t.lang[z];t.addCommand(z,A);t.ui.addButton(y,{label:C,command:z});if(t.addMenuItems)t.addMenuItem(z,{label:C,command:z,group:'clipboard',order:B});};u('Cut','cut',new o('cut'),1);u('Copy','copy',new o('copy'),4);u('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));t.on('key',q,t);var v=t.config.forcePasteAsPlainText?'text':'html';t.on('contentDom',function(){var y=t.document.getBody();y.on(v=='text'&&c||b.webkit?'paste':'beforepaste',function(z){if(w)return;r.call(t,z,v,function(A){if(!e.trim(A.toLowerCase().replace(/]+data-cke-bookmark[^<]*?<\/span>/g,'')))return;var B={}; -B[v]=A;t.fire('paste',B);});});y.on('beforecut',function(){!w&&s(t);});});if(t.contextMenu){var w;function x(y){c&&(w=1);var z=t.document.$.queryCommandEnabled(y)?2:0;w=0;return z;};t.contextMenu.addListener(function(y,z){var A=z.getCommonAncestor().isReadOnly();return{cut:!A&&x('Cut'),copy:x('Copy'),paste:!A&&(b.webkit?2:x('Paste'))};});}}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(m){var n=m.config,o=m.lang.colorButton,p;if(!b.hc){q('TextColor','fore',o.textColorTitle);q('BGColor','back',o.bgColorTitle);}function q(s,t,u){m.ui.add(s,4,{label:u,title:u,className:'cke_button_'+s.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(v,w){w.autoSize=true;w.element.addClass('cke_colorblock');w.element.setHtml(r(v,t));w.element.getDocument().getBody().setStyle('overflow','hidden');var x=w.keys,y=m.lang.dir=='rtl';x[y?37:39]='next';x[40]='next';x[9]='next';x[y?39:37]='prev';x[38]='prev';x[2000+9]='prev';x[32]='click';}});};function r(s,t){var u=[],v=n.colorButton_colors.split(','),w=v.length+(n.colorButton_enableMore?2:1),x=e.addFunction(function(D,E){if(D=='?'){var F=arguments.callee;function G(I){this.removeListener('ok',G);this.removeListener('cancel',G);I.name=='ok'&&F(this.getContentElement('picker','selectedColor').getValue(),E);};m.openDialog('colordialog',function(){this.on('ok',G);this.on('cancel',G);});return;}m.focus();s.hide();m.fire('saveSnapshot');new a.style(n['colorButton_'+E+'Style'],{color:'inherit'}).remove(m.document);if(D){var H=n['colorButton_'+E+'Style'];H.childRule=E=='back'?function(){return false;}:function(I){return I.getName()!='a';};new a.style(H,{color:D}).apply(m.document);}m.fire('saveSnapshot');});u.push('
                          ',o.auto,'
                          ');for(var y=0;y');var z=v[y].split('/'),A=z[0],B=z[1]||A;if(!z[1])A='#'+A.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var C=m.lang.colors[B]||B;u.push(''); -}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)u.push('');u.push('
                          ',o.more,'
                          ');return u.join('');};}});i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};(function(){j.colordialog={init:function(m){m.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);})();j.add('contextmenu',{requires:['menu'],beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.show(m.document.getBody());}});}});j.contextMenu=e.createClass({$:function(m){this.id=e.getNextId();this.editor=m;this._.listeners=[];this._.functionId=e.addFunction(function(n){this._.panel.hide();m.focus();m.execCommand(n);},this);this.definition={panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}};},_:{onMenu:function(m,n,o,p){var q=this._.menu,r=this.editor;if(q){q.hide();q.removeAll();}else{q=this._.menu=new a.menu(r,this.definition);q.onClick=e.bind(function(A){q.hide();if(A.onClick)A.onClick();else if(A.command)r.execCommand(A.command);},this);q.onEscape=function(A){var B=this.parent;if(B){B._.panel.hideChild();var C=B._.panel._.panel._.currentBlock,D=C._.focusIndex;C._.markItem(D);}else if(A==27){this.hide();r.focus();}return false;};}var s=this._.listeners,t=[],u=this.editor.getSelection(),v=u&&u.getStartElement();q.onHide=e.bind(function(){q.onHide=null;if(c){var A=r.getSelection();A&&A.unlock();}this.onHide&&this.onHide();},this);for(var w=0;w ';j.add('elementspath',{requires:['selection'],init:function(o){var p='cke_path_'+o.name,q,r=function(){if(!q)q=a.document.getById(p);return q;},s='cke_elementspath_'+e.getNextNumber()+'_';o._.elementsPath={idBase:s,filters:[]};o.on('themeSpace',function(t){if(t.data.space=='bottom')t.data.html+=''+o.lang.elementsPath.eleLabel+''+'
                          '+n+'
                          ';});o.on('selectionChange',function(t){var u=b,v=t.data.selection,w=v.getStartElement(),x=[],y=t.editor,z=y._.elementsPath.list=[],A=y._.elementsPath.filters; -while(w){var B=0;for(var C=0;C',E,''+G+'','');}if(E=='body')break;w=w.getParent();}r().setHtml(x.join('')+n);});o.on('contentDomUnload',function(){q&&q.setHtml(n);});o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();a._.elementsPath={click:function(m,n){var o=a.instances[m];o.focus();var p=o._.elementsPath.list[n];if(p.is('body')){var q=new d.range(o.document);q.selectNodeContents(p);q.select();}else o.getSelection().selectElement(p);return false;},keydown:function(m,n,o){var p=k.button._.instances[n],q=a.instances[m],r=q._.elementsPath.idBase,s;o=new d.event(o);var t=q.lang.dir=='rtl';switch(o.getKeystroke()){case t?39:37:case 9:s=a.document.getById(r+(n+1));if(!s)s=a.document.getById(r+'0');s.focus();return false;case t?37:39:case 2000+9:s=a.document.getById(r+(n-1));if(!s)s=a.document.getById(r+(q._.elementsPath.list.length-1));s.focus();return false;case 27:q.focus();return false;case 13:case 32:this.click(m,n);return false;}return true;}};(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){var u=t.specialKeys;u[13]=r;u[2000+13]=q;}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document;if(v.checkStartOfBlock()&&v.checkEndOfBlock()){var y=new d.elementPath(v.startContainer),z=y.block;if(z&&(z.is('li')||z.getParent().is('li'))){t.execCommand('outdent');return;}}var A=u==3?'div':'p',B=v.splitBlock(A);if(!B)return;var C=B.previousBlock,D=B.nextBlock,E=B.wasStartOfBlock,F=B.wasEndOfBlock,G;if(D){G=D.getParent();if(G.is('li')){D.breakParent(G);D.move(D.getNext(),1);}}else if(C&&(G=C.getParent())&&G.is('li')){C.breakParent(G);v.moveToElementEditStart(C.getNext());C.move(C.getPrevious());}if(!E&&!F){if(D.is('li')&&(G=D.getFirst(d.walker.invisible(true)))&&G.is&&G.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(G); -if(D)v.moveToElementEditStart(D);}else{var H,I;if(C){if(C.is('li')||!p.test(C.getName()))H=C.clone();}else if(D)H=D.clone();if(!H){H=x.createElement(A);if(C&&(I=C.getDirection()))H.setAttribute('dir',I);}else if(w&&!H.is('li'))H.renameNode(A);var J=B.elementPath;if(J)for(var K=0,L=J.elements.length;K0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt',n='iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,quot,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',o='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',p='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv'; -function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<'};r=r.replace(/\b(nbsp|shy|gt|lt|amp)(?:,|$)/g,function(A,B){var C=s?'&'+B+';':v[B],D=s?v[B]:'&'+B+';';t[C]=D;u.push(C);return '';});if(!s&&r){r=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y'+u+'',u);}},onClick:function(t){m.focus();m.fire('saveSnapshot');q[t].apply(m.document);setTimeout(function(){m.fire('saveSnapshot');},0);},onRender:function(){m.on('selectionChange',function(t){var u=this.getValue(),v=t.data.path;for(var w in q){if(q[w].checkActive(v)){if(w!=u)this.setValue(w,m.lang.format['tag_'+w]);return;}}this.setValue('');},this);}});}});i.format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div';i.format_p={element:'p'};i.format_div={element:'div'};i.format_pre={element:'pre'};i.format_address={element:'address'};i.format_h1={element:'h1'};i.format_h2={element:'h2'};i.format_h3={element:'h3'};i.format_h4={element:'h4'};i.format_h5={element:'h5'};i.format_h6={element:'h6'};j.add('forms',{init:function(m){var n=m.lang;m.addCss('form{border: 1px dotted #FF0000;padding: 2px;}\n');m.addCss('img.cke_hidden{background-image: url('+a.getUrl(this.path+'images/hiddenfield.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 16px !important;'+'height: 16px !important;'+'}'); -var o=function(q,r,s){m.addCommand(r,new a.dialogCommand(r));m.ui.addButton(q,{label:n.common[q.charAt(0).toLowerCase()+q.slice(1)],command:r});a.dialog.add(r,s);},p=this.path+'dialogs/';o('Form','form',p+'form.js');o('Checkbox','checkbox',p+'checkbox.js');o('Radio','radio',p+'radio.js');o('TextField','textfield',p+'textfield.js');o('Textarea','textarea',p+'textarea.js');o('Select','select',p+'select.js');o('Button','button',p+'button.js');o('ImageButton','imagebutton',j.getPath('image')+'dialogs/image.js');o('HiddenField','hiddenfield',p+'hiddenfield.js');if(m.addMenuItems)m.addMenuItems({form:{label:n.form.menu,command:'form',group:'form'},checkbox:{label:n.checkboxAndRadio.checkboxTitle,command:'checkbox',group:'checkbox'},radio:{label:n.checkboxAndRadio.radioTitle,command:'radio',group:'radio'},textfield:{label:n.textfield.title,command:'textfield',group:'textfield'},hiddenfield:{label:n.hidden.title,command:'hiddenfield',group:'hiddenfield'},imagebutton:{label:n.image.titleButton,command:'imagebutton',group:'imagebutton'},button:{label:n.button.title,command:'button',group:'button'},select:{label:n.select.title,command:'select',group:'select'},textarea:{label:n.textarea.title,command:'textarea',group:'textarea'}});if(m.contextMenu){m.contextMenu.addListener(function(q){if(q&&q.hasAscendant('form',true)&&!q.isReadOnly())return{form:2};});m.contextMenu.addListener(function(q){if(q&&!q.isReadOnly()){var r=q.getName();if(r=='select')return{select:2};if(r=='textarea')return{textarea:2};if(r=='input'){var s=q.getAttribute('type');if(s=='text'||s=='password')return{textfield:2};if(s=='button'||s=='submit'||s=='reset')return{button:2};if(s=='checkbox')return{checkbox:2};if(s=='radio')return{radio:2};if(s=='image')return{imagebutton:2};}if(r=='img'&&q.getAttribute('_cke_real_element_type')=='hiddenfield')return{hiddenfield:2};}});}m.on('doubleclick',function(q){var r=q.data.element;if(r.is('form'))q.data.dialog='form';else if(r.is('select'))q.data.dialog='select';else if(r.is('textarea'))q.data.dialog='textarea';else if(r.is('img')&&r.getAttribute('_cke_real_element_type')=='hiddenfield')q.data.dialog='hiddenfield';else if(r.is('input')){var s=r.getAttribute('type');switch(s){case 'text':case 'password':q.data.dialog='textfield';break;case 'button':case 'submit':case 'reset':q.data.dialog='button';break;case 'checkbox':q.data.dialog='checkbox';break;case 'radio':q.data.dialog='radio';break;case 'image':q.data.dialog='imagebutton';break;}}});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.htmlFilter,p=n&&n.dataFilter; -if(c)o&&o.addRules({elements:{input:function(q){var r=q.attributes,s=r.type;if(s=='checkbox'||s=='radio')r.value=='on'&&delete r.value;}}});if(p)p.addRules({elements:{input:function(q){if(q.attributes.type=='hidden')return m.createFakeParserElement(q,'cke_hidden','hiddenfield');}}});},requires:['image','fakeobjects']});if(c)h.prototype.hasAttribute=function(m){var p=this;var n=p.$.attributes.getNamedItem(m);if(p.getName()=='input')switch(m){case 'class':return p.$.className.length>0;case 'checked':return!!p.$.checked;case 'value':var o=p.getAttribute('type');if(o=='checkbox'||o=='radio')return p.$.value!='on';break;default:}return!!(n&&n.specified);};(function(){var m={canUndo:false,exec:function(o){o.insertElement(o.document.createElement('hr'));}},n='horizontalrule';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('HorizontalRule',{label:o.lang.horizontalrule,command:n});}});})();(function(){var m=/^[\t\r\n ]*(?: |\xa0)$/,n='{cke_protected}';function o(T){var U=T.children.length,V=T.children[U-1];while(V&&V.type==3&&!e.trim(V.value))V=T.children[--U];return V;};function p(T,U){var V=T.children,W=o(T);if(W){if((U||!c)&&W.type==1&&W.name=='br')V.pop();if(W.type==3&&m.test(W.value))V.pop();}};function q(T,U){if(U&&c&&(document.documentMode>7||T.name in f.tr||T.name in f.$listItem))return false;var V=o(T);return!V||V.type==1&&V.name=='br'||T.name=='form'&&V.name=='input';};function r(T){p(T,true);if(q(T,true))if(c)T.add(new a.htmlParser.text('\xa0'));else T.add(new a.htmlParser.element('br',{}));};function s(T){p(T);if(q(T))T.add(new a.htmlParser.text('\xa0'));};var t=f,u=e.extend({},t.$block,t.$listItem,t.$tableContent);for(var v in u){if(!('br' in t[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},x={elements:{}};for(v in u)x.elements[v]=r;var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes;if(U){if(U.cke_temp)return false;var V=['name','href','src'],W;for(var X=0;X]+)))([^>]*)>/gi,D=/\s_cke_saved_src\s*=/,E=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,H=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function J(T){return T.replace(C,function(U,V,W,X,Y){if(X=='src'&&D.test(U))return U;else return '<'+V+W+' _cke_saved_'+W+Y+'>';});};function K(T){return T.replace(E,function(U){return ''+encodeURIComponent(U)+'';});};function L(T){return T.replace(F,function(U,V){return decodeURIComponent(V);});};function M(T){return T.replace(G,'$1cke:$2');};function N(T){return T.replace(H,'$1$2');};function O(T){return T.replace(I,'');};function P(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function Q(T){return T.replace(//g,function(U){return '';});};function R(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function S(T,U){var V=[],W=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,X=[//gi,//gi].concat(U);T=T.replace(//g,function(Z){return '';});for(var Y=0;Y'; -});T=T.replace(W,function(Z,aa,ab){return '';});return T;};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);U.htmlFilter.addRules(z);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor.config.protectedSource);T=J(T);T=K(T);T=M(T);T=O(T);T=P(T);var V=new h('div');V.setHtml('a'+T);T=V.getHtml().substr(1);T=N(T);T=L(T);T=R(T);var W=a.htmlParser.fragment.fromHtml(T,U),X=new a.htmlParser.basicWriter();W.writeHtml(X,this.dataFilter);T=X.getHtml(true);T=Q(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset();W.writeHtml(V,this.htmlFilter);return V.getHtml(true);}};})();j.add('image',{init:function(m){var n='image';a.dialog.add(n,this.path+'dialogs/image.js');m.addCommand(n,new a.dialogCommand(n));m.ui.addButton('Image',{label:m.lang.common.image,command:n});m.on('doubleclick',function(o){var p=o.data.element;if(p.is('img')&&!p.getAttribute('_cke_realelement'))o.data.dialog='image';});if(m.addMenuItems)m.addMenuItems({image:{label:m.lang.image.menu,command:'image',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(o,p){if(!o||!o.is('img')||o.getAttribute('_cke_realelement')||o.isReadOnly())return null;return{image:2};});}});i.image_removeLinkByEmptyURL=true;(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true);function p(u,v){u.getCommand(this.name).setState(v);};function q(u){var D=this;var v=u.editor,w=u.data.path,x=w&&w.contains(m);if(x)return p.call(D,v,2);if(!D.useIndentClasses&&D.name=='indent')return p.call(D,v,2);var y=u.data.path,z=y.block||y.blockLimit;if(!z)return p.call(D,v,0);if(D.useIndentClasses){var A=z.$.className.match(D.classNameRegex),B=0;if(A){A=A[1];B=D.indentClassMap[A];}if(D.name=='outdent'&&!B||D.name=='indent'&&B==v.config.indentClasses.length)return p.call(D,v,0);return p.call(D,v,2);}else{var C=parseInt(z.getStyle(s(z)),10);if(isNaN(C))C=0;if(C<=0)return p.call(D,v,0);return p.call(D,v,2);}};function r(u,v){var x=this;x.name=v;x.useIndentClasses=u.config.indentClasses&&u.config.indentClasses.length>0; -if(x.useIndentClasses){x.classNameRegex=new RegExp('(?:^|\\s+)('+u.config.indentClasses.join('|')+')(?=$|\\s)');x.indentClassMap={};for(var w=0;wZ;U++)Y[U].indent+=V;var ab=j.list.arrayToList(Y,w,null,u.config.enterMode,N.getDirection());if(v.name=='outdent'){var ac;if((ac=N.getParent())&&ac.is('li')){var ad=ab.listNode.getChildren(),ae=[],af=ad.count(),ag;for(U=af-1;U>=0;U--){if((ag=ad.getItem(U))&&ag.is&&ag.is('li'))ae.push(ag);}}}if(ab)ab.listNode.replace(N);if(ae&&ae.length)for(U=0;U0)N.addClass(u.config.indentClasses[Q-1]);}else{var R=s(N,O),S=parseInt(N.getStyle(R),10);if(isNaN(S))S=0;var T=u.config.indentOffset||40;S+=(v.name=='indent'?1:-1)*T;if(S<0)return false;S=Math.max(S,0);S=Math.ceil(S/T)*T;N.setStyle(R,S?S+(u.config.indentUnit||'px'):''); -if(N.getAttribute('style')==='')N.removeAttribute('style');}h.setMarker(w,N,'indent_processed',1);return true;};var A=u.getSelection(),B=A.createBookmarks(1),C=A&&A.getRanges(1),D,E=C.createIterator();while(D=E.getNextRange()){var F=D.getCommonAncestor(),G=F;while(G&&!(G.type==1&&m[G.getName()]))G=G.getParent();if(!G){var H=D.getEnclosedNode();if(H&&H.type==1&&H.getName() in m){D.setStartAt(H,1);D.setEndAt(H,2);G=H;}}if(G&&D.startContainer.type==1&&D.startContainer.getName() in m){var I=new d.walker(D);I.evaluator=t;D.startContainer=I.next();}if(G&&D.endContainer.type==1&&D.endContainer.getName() in m){I=new d.walker(D);I.evaluator=t;D.endContainer=I.previous();}if(G){var J=G.getFirst(t),K=!!J.getNext(t),L=D.startContainer,M=J.equals(L)||J.contains(L);if(!(M&&(v.name=='indent'||v.useIndentClasses||parseInt(G.getStyle(s(G)),10))&&z(G,!K&&J.getDirection())))x(G);}else y();}h.clearAllMarkers(w);u.forceNextSelectionCheck();A.selectBookmarks(B);}};j.add('indent',{init:function(u){var v=new r(u,'indent'),w=new r(u,'outdent');u.addCommand('indent',v);u.addCommand('outdent',w);u.ui.addButton('Indent',{label:u.lang.indent,command:'indent'});u.ui.addButton('Outdent',{label:u.lang.outdent,command:'outdent'});u.on('selectionChange',e.bind(q,v));u.on('selectionChange',e.bind(q,w));if(b.ie6Compat||b.ie7Compat)u.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');u.on('dirChanged',function(x){var y=new d.range(u.document);y.setStartBefore(x.data.node);y.setEndAfter(x.data.node);var z=new d.walker(y),A;while(A=z.next()){if(A.type==1){if(!A.equals(x.data.node)&&A.getDirection()){y.setStartAfter(A);z=new d.walker(y);continue;}var B=u.config.indentClasses;if(B){var C=x.data.dir=='ltr'?['_rtl','']:['','_rtl'];for(var D=0;D=0;A--){x=v[A].createIterator();x.enlargeBr=t!=2;while(y=x.getNextParagraph()){y.removeAttribute('align');y.removeStyle('text-align');var B=w&&(y.$.className=e.ltrim(y.$.className.replace(D.cssClassRegex,''))),C=D.state==2&&(!z||n(y,true)!=D.value);if(w){if(C)y.addClass(w);else if(!B)y.removeAttribute('class');}else if(C)y.setStyle('text-align',D.value);}}r.focus();r.forceNextSelectionCheck();s.selectBookmarks(u);}};j.add('justify',{init:function(r){var s=new p(r,'justifyleft','left'),t=new p(r,'justifycenter','center'),u=new p(r,'justifyright','right'),v=new p(r,'justifyblock','justify');r.addCommand('justifyleft',s);r.addCommand('justifycenter',t);r.addCommand('justifyright',u);r.addCommand('justifyblock',v);r.ui.addButton('JustifyLeft',{label:r.lang.justify.left,command:'justifyleft'});r.ui.addButton('JustifyCenter',{label:r.lang.justify.center,command:'justifycenter'});r.ui.addButton('JustifyRight',{label:r.lang.justify.right,command:'justifyright'});r.ui.addButton('JustifyBlock',{label:r.lang.justify.block,command:'justifyblock'});r.on('selectionChange',e.bind(o,s));r.on('selectionChange',e.bind(o,u));r.on('selectionChange',e.bind(o,t));r.on('selectionChange',e.bind(o,v));r.on('dirChanged',q);},requires:['domiterator']}); -})();j.add('keystrokes',{beforeInit:function(m){m.keystrokeHandler=new a.keystrokeHandler(m);m.specialKeys={};},init:function(m){var n=m.config.keystrokes,o=m.config.blockedKeystrokes,p=m.keystrokeHandler.keystrokes,q=m.keystrokeHandler.blockedKeystrokes;for(var r=0;rI[K-1].indent+1){var O=I[K-1].indent+1-I[K].indent,P=I[K].indent;while(I[K]&&I[K].indent>=P){I[K].indent+=O;K++;}K--;}}var Q=j.list.arrayToList(I,H,null,F.config.enterMode,G.root.getAttribute('dir')),R=Q.listNode,S,T;function U(V){if((S=R[V?'getFirst':'getLast']())&&!(S.is&&S.isBlockBoundary())&&(T=G.root[V?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(T.is&&T.isBlockBoundary({br:1})))F.document.createElement('br')[V?'insertBefore':'insertAfter'](S);};U(true);U();R.replace(G.root);};function x(F,G){this.name=F;this.type=G;};x.prototype={exec:function(F){F.focus();var G=F.document,H=F.getSelection(),I=H&&H.getRanges(true);if(!I||I.length<1)return;if(this.state==2){var J=G.getBody();J.trim();if(!J.getFirst()){var K=G.createElement(F.config.enterMode==1?'p':F.config.enterMode==3?'div':'br');K.appendTo(J);I=new d.rangeList([new d.range(G)]);if(K.is('br')){I[0].setStartBefore(K);I[0].setEndAfter(K);}else I[0].selectNodeContents(K);H.selectRanges(I);}else{var L=I.length==1&&I[0],M=L&&L.getEnclosedNode(); -if(M&&M.is&&this.type==M.getName())r.call(this,F,1);}}var N=H.createBookmarks(true),O=[],P={},Q=I.createIterator(),R=0;while((L=Q.getNextRange())&&++R){var S=L.getBoundaryNodes(),T=S.startNode,U=S.endNode;if(T.type==1&&T.getName()=='td')L.setStartAt(S.startNode,1);if(U.type==1&&U.getName()=='td')L.setEndAt(S.endNode,2);var V=L.createIterator(),W;V.forceBrBreak=this.state==2;while(W=V.getNextParagraph()){if(W.getCustomData('list_block'))continue;else h.setMarker(P,W,'list_block',1);var X=new d.elementPath(W),Y=X.elements,Z=Y.length,aa=null,ab=0,ac=X.blockLimit,ad;for(var ae=Z-1;ae>=0&&(ad=Y[ae]);ae--){if(m[ad.getName()]&&ac.contains(ad)){ac.removeCustomData('list_group_object_'+R);var af=ad.getCustomData('list_group_object');if(af)af.contents.push(W);else{af={root:ad,contents:[W]};O.push(af);h.setMarker(P,ad,'list_group_object',af);}ab=1;break;}}if(ab)continue;var ag=ac;if(ag.getCustomData('list_group_object_'+R))ag.getCustomData('list_group_object_'+R).contents.push(W);else{af={root:ag,contents:[W]};h.setMarker(P,ag,'list_group_object_'+R,af);O.push(af);}}}var ah=[];while(O.length>0){af=O.shift();if(this.state==2){if(m[af.root.getName()])t.call(this,F,af,P,ah);else v.call(this,F,af,ah);}else if(this.state==1&&m[af.root.getName()])w.call(this,F,af,P);}for(ae=0;ae0)for(var u=t.length-1;u>=0;u--){var v=t[u][0],w=t[u][1];if(w)v.insertBefore(w);else v.appendTo(s);}};function o(s,t){var u=m(s),v={},w=s.$;if(!t){v['class']=w.className||'';w.className='';}v.inline=w.style.cssText||'';if(!t)w.style.cssText='position: static; overflow: visible';n(u);return v;};function p(s,t){var u=m(s),v=s.$;if('class' in t)v.className=t['class'];if('inline' in t)v.style.cssText=t.inline;n(u);};function q(s){var t=a.instances;for(var u in t){var v=t[u];if(v.mode=='wysiwyg'){var w=v.document.getBody();w.setAttribute('contentEditable',false);w.setAttribute('contentEditable',true);}}if(s.focusManager.hasFocus){s.toolbox.focus();s.focus();}};function r(s){if(!c||b.version>6)return null;var t=h.createFromHtml('');return s.append(t,true);};j.add('maximize',{init:function(s){var t=s.lang,u=a.document,v=u.getWindow(),w,x,y,z; -function A(){var C=v.getViewPaneSize();z&&z.setStyles({width:C.width+'px',height:C.height+'px'});s.resize(C.width,C.height,null,true);};var B=2;s.addCommand('maximize',{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(){var C=s.container.getChild(1),D=s.getThemeSpace('contents');if(s.mode=='wysiwyg'){var E=s.getSelection();w=E&&E.getRanges();x=v.getScrollPosition();}else{var F=s.textarea.$;w=!c&&[F.selectionStart,F.selectionEnd];x=[F.scrollLeft,F.scrollTop];}if(this.state==2){v.on('resize',A);y=v.getScrollPosition();var G=s.container;while(G=G.getParent()){G.setCustomData('maximize_saved_styles',o(G));G.setStyle('z-index',s.config.baseFloatZIndex-1);}D.setCustomData('maximize_saved_styles',o(D,true));C.setCustomData('maximize_saved_styles',o(C,true));var H=v.getViewPaneSize(),I={overflow:'hidden',width:0,height:0};u.getDocumentElement().setStyles(I);!b.gecko&&u.getDocumentElement().setStyle('position','fixed');u.getBody().setStyles(I);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position','absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var J=C.getDocumentPosition();C.setStyles({left:-1*J.x+'px',top:-1*J.y+'px'});b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var K=[D,C];for(var L=0;L 
                          ');o=m.createFakeElement(o,'cke_pagebreak','div');o.setAttribute('alt',n);o.setAttribute('aria-label',n);var p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.width*parseInt(n,10)/100,10);if(typeof o=='string'&&o.length>1&&o.substr(o.length-1,1)=='%')o=parseInt(window.screen.height*parseInt(o,10)/100,10);if(n<640)n=640;if(o<420)o=420;var q=parseInt((window.screen.height-o)/2,10),r=parseInt((window.screen.width-n)/2,10);p=(p||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+n+',height='+o+',top='+q+',left='+r;var s=window.open('',null,p,true);if(!s)return false;try{var ua=navigator.userAgent.toLowerCase(); if(ua.indexOf( ' chrome/' ) == -1){s.moveTo(r,q);s.resizeTo(n,o);}s.focus();s.location.href=m;}catch(t){s=window.open(m,null,p,true);}return true;}});(function(){var m={modes:{wysiwyg:1,source:1},canUndo:false,exec:function(o){var p,q=o.config,r=q.baseHref?'':'',s=b.isCustomDomain(); -if(q.fullPage)p=o.getData().replace(//,'$&'+r).replace(/[^>]*(?=<\/title>)/,o.lang.preview);else{var t=''+''+r+''+o.lang.preview+''+e.buildStyleHtml(o.config.contentsCss)+''+t+o.getData()+'';}var v=640,w=420,x=80;try{var y=window.screen;v=Math.round(y.width*0.8);w=Math.round(y.height*0.7);x=Math.round(y.width*0.1);}catch(B){}var z='';if(s){window._cke_htmlToLoad=p;z='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}var A=window.open(z,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+v+',height='+w+',left='+x);if(!s){A.document.open();A.document.write(p);A.document.close();}}},n='preview';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('Preview',{label:o.lang.preview,command:n});}});})();j.add('print',{init:function(m){var n='print',o=m.addCommand(n,j.print);m.ui.addButton('Print',{label:m.lang.print,command:n});}});j.print={exec:function(m){if(b.opera)return;else if(b.gecko)m.window.$.print();else m.document.$.execCommand('Print');},canUndo:false,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(m){m.addCommand('removeFormat',j.removeformat.commands.removeformat);m.ui.addButton('RemoveFormat',{label:m.lang.removeFormat,command:'removeFormat'});m._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(m){var n=m._.removeFormatRegex||(m._.removeFormatRegex=new RegExp('^(?:'+m.config.removeFormatTags.replace(/,/g,'|')+')$','i')),o=m._.removeAttributes||(m._.removeAttributes=m.config.removeFormatAttributes.split(',')),p=j.removeformat.filter,q=m.getSelection().getRanges(1),r=q.createIterator(),s;while(s=r.getNextRange()){if(s.collapsed)continue;s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w=function(z){var A=new d.elementPath(z),B=A.elements;for(var C=1,D;D=B[C];C++){if(D.equals(A.block)||D.equals(A.blockLimit))break;if(n.test(D.getName())&&p(m,D))z.breakParent(D);}};w(u);w(v);var x=u.getNextSourceNode(true,1);while(x){if(x.equals(v))break;var y=x.getNextSourceNode(false,1);if(!(x.getName()=='img'&&x.getAttribute('_cke_realelement'))&&p(m,x))if(n.test(x.getName()))x.remove(1); -else{x.removeAttributes(o);m.fire('removeFormatCleanup',x);}x=y;}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;pq.width&&(n.resize_minWidth=q.width);n.resize_minHeight>q.height&&(n.resize_minHeight=q.height);a.document.on('mousemove',t);a.document.on('mouseup',u);if(m.document){m.document.on('mousemove',t);m.document.on('mouseup',u);}});m.on('destroy',function(){e.removeFunction(v);});m.on('themeSpace',function(w){if(w.data.space=='bottom'){var x='';if(r&&!s)x=' cke_resizer_horizontal';if(!r&&s)x=' cke_resizer_vertical';w.data.html+='
                          ';}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},exec:function(o){var p=o.element.$.form;if(p)try{p.submit();}catch(q){if(p.submit.click)p.submit.click();}}},n='save';j.add(n,{init:function(o){var p=o.addCommand(n,m);p.modes={wysiwyg:!!o.element.$.form}; -o.ui.addButton('Save',{label:o.lang.save,command:n});}});})();(function(){var m='scaytcheck',n='';function o(t,u){var v=0,w;for(w in u){if(u[w]==t){v=1;break;}}return v;};var p=function(){var t=this,u=function(){var y=t.config,z={};z.srcNodeRef=t.document.getWindow().$.frameElement;z.assocApp='CKEDITOR.'+a.version+'@'+a.revision;z.customerid=y.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';z.customDictionaryIds=y.scayt_customDictionaryIds||'';z.userDictionaryName=y.scayt_userDictionaryName||'';z.sLang=y.scayt_sLang||'en_US';z.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(t.focusManager.hasFocus&&!q.isControlRestored(t))this.focus();};z.onBeforeChange=function(){if(q.getScayt(t)&&!t.checkDirty())setTimeout(function(){t.resetDirty();},0);};var A=window.scayt_custom_params;if(typeof A=='object')for(var B in A)z[B]=A[B];if(q.getControlId(t))z.id=q.getControlId(t);var C=new window.scayt(z);C.afterMarkupRemove.push(function(J){new h(J,C.document).mergeSiblings();});var D=q.instances[t.name];if(D){C.sLang=D.sLang;C.option(D.option());C.paused=D.paused;}q.instances[t.name]=C;var E='scaytButton',F=window.scayt.uiTags,G=[];for(var H=0,I=4;H=0){this.setState(0);q.loadEngine(t);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(t){var u=t.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',v='';u=u.split('|');if(u&&u.length)for(var w=0;w tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');n=o.replace(/%2/g,m).replace(/%1/g,'cke_show_borders ');var p={preserveState:true,editorFocus:false,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_borders');}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(q){var r=q.addCommand('showborders',p);r.canUndo=false;if(q.config.startupShowBorders!==false)r.setState(1);q.addCss(n);q.on('mode',function(){if(r.state!=0)r.refresh(q);},null,null,100);q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});q.on('removeFormatCleanup',function(s){var t=s.data; -if(q.getCommand('showborders').state==1&&t.is('table')&&(!t.hasAttribute('border')||parseInt(t.getAttribute('border'),10)<=0))t.addClass(m);});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter,t=r&&r.htmlFilter;if(s)s.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'],x=parseInt(v.border,10);if(!x||x<=0)v['class']=(w||'')+' '+m;}}});if(t)t.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'];w&&(v['class']=w.replace(m,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(q){var r=q.data.name;if(r=='table'||r=='tableProperties'){var s=q.data.definition,t=s.getContents('info'),u=t.get('txtBorder'),v=u.commit;u.commit=e.override(v,function(y){return function(z,A){y.apply(this,arguments);var B=parseInt(this.getValue(),10);A[!B||B<=0?'addClass':'removeClass'](m);};});var w=s.getContents('advanced'),x=w&&w.get('advCSSClasses');if(x){x.setup=e.override(x.setup,function(y){return function(){y.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});x.commit=e.override(x.commit,function(y){return function(z,A){y.apply(this,arguments);if(!parseInt(A.getAttribute('border'),10))A.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(m){var n=j.sourcearea,o=a.document.getWindow();m.on('editingBlockReady',function(){var p,q;m.addMode('source',{load:function(r,s){if(c&&b.version<8)r.setStyle('position','relative');m.textarea=p=new h('textarea');p.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:m.tabIndex,role:'textbox','aria-label':m.lang.editorTitle.replace('%1',m.name)});p.addClass('cke_source');p.addClass('cke_enable_context_menu');var t={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){q=function(){p.hide();p.setStyle('height',r.$.clientHeight+'px');p.setStyle('width',r.$.clientWidth+'px');p.show();};m.on('resize',q);o.on('resize',q);setTimeout(q,0);}r.setHtml('');r.append(p);p.setStyles(t);m.fire('ariaWidget',p);p.on('blur',function(){m.focusManager.blur();});p.on('focus',function(){m.focusManager.focus();});m.mayBeDirty=true;this.loadData(s);var u=m.keystrokeHandler;if(u)u.attach(p);setTimeout(function(){m.mode='source';m.fire('mode');},b.gecko||b.webkit?100:0);},loadData:function(r){p.setValue(r);m.fire('dataReady');},getData:function(){return p.getValue();},getSnapshotData:function(){return p.getValue();},unload:function(r){p.clearCustomData();m.textarea=p=null; -if(q){m.removeListener('resize',q);o.removeListener('resize',q);}if(c&&b.version<8)r.removeStyle('position');},focus:function(){p.focus();}});});m.addCommand('source',n.commands.source);if(m.ui.addButton)m.ui.addButton('Source',{label:m.lang.source,command:'source'});m.on('mode',function(){m.getCommand('source').setState(m.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(m){if(m.mode=='wysiwyg')m.fire('saveSnapshot');m.getCommand('source').setState(0);m.setMode(m.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(n){var o=n.config,p=n.lang.stylesCombo,q={},r=[];function s(t){n.getStylesSet(function(u){if(!r.length){var v,w;for(var x=0,y=u.length;x0)return;if(T.type==1&&n.test(T.getName())&&!T.getCustomData('selected_cell')){h.setMarker(K,T,'selected_cell',true);J.push(T);}};for(var M=0;M0&&Q.$.rows[L]||Q.$.parentNode);for(N=J.length;N>=0;N--){if(J[N])s(J[N]);}return K;}else if(G instanceof h){Q=G.getAscendant('table'); -if(Q.$.rows.length==1)Q.remove();else G.remove();}return 0;};function t(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.getAscendant('table'),L=J.$.cellIndex;for(var M=0;M1){L=H[J-1]+1;break;}}if(!L)L=H[0]>0?H[0]-1:H[H.length-1]+1;var N=I.$.rows;for(J=0,K=N.length;J=0;J--){if(H[J])v(H[J]);}return I;}else if(G instanceof h){var K=G.getAscendant('table');if(!K)return null;var L=G.$.cellIndex;for(J=K.$.rows.length-1;J>=0;J--){var M=new h(K.$.rows[J]);if(!L&&M.$.cells.length==1){s(M);continue;}if(M.$.cells[L])M.$.removeChild(M.$.cells[L]);}}return null;};function w(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.clone();if(!c)K.appendBogus();if(H)K.insertBefore(J);else K.insertAfter(J);};function x(G){if(G instanceof d.selection){var H=o(G),I=H[0]&&H[0].getAscendant('table'),J=p(H);for(var K=H.length-1;K>=0;K--)x(H[K]);if(J)z(J,true);else if(I)I.remove();}else if(G instanceof h){var L=G.getParent();if(L.getChildCount()==1)L.remove();else G.remove();}};function y(G){var H=G.getBogus();H&&H.remove();G.trim();};function z(G,H){var I=new d.range(G.getDocument());if(!I['moveToElementEdit'+(H?'End':'Start')](G)){I.selectNodeContents(G);I.collapse(H?false:true);}I.select(true);};function A(G,H,I){var J=G[H];if(typeof I=='undefined')return J;for(var K=0;J&&K=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=W;if(W>=P)M.removeAttribute('colSpan');else M.$.colSpan=X;var ai=new d.nodeList(N.$.rows),aj=ai.count();for(aa=aj-1;aa>=0;aa--){var ak=ai.getItem(aa);if(!ak.$.cells.length){ak.remove();aj++;continue;}}return M;}else return W*X==Z;};function D(G,H){var I=o(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.rowSpan,Q,R,S,T;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);T=N+R;var U=new h(L.$.rows[T]),V=A(M,T),W;Q=J.clone();for(var X=0;XO){Q.insertBefore(new h(W));break;}else W=null;}if(!W)U.append(Q,true);}else{S=R=1;U=K.clone();U.insertAfter(K);U.append(Q=J.clone());var Y=A(M,N);for(var Z=0;Z1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.colSpan,Q,R,S;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);}else{S=R=1;var T=B(M,O);for(var U=0;U0?2:0};}},tablecell_insertBefore:{label:H.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:H.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:H.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:H.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:H.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:H.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:H.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:H.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:H.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:H.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2}; -}},tablerow_insertBefore:{label:H.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:H.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:H.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:H.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2};}},tablecolumn_insertBefore:{label:H.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:H.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:H.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(G.contextMenu)G.contextMenu.addListener(function(I,J){if(!I||I.isReadOnly())return null;while(I){if(I.getName() in F)return{tablecell:2,tablerow:2,tablecolumn:2};I=I.getParent();}return null;});},getSelectedCells:o};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;qp&&(!s||!t||vt){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(ut)){s=v;t=u;}}}if(s)s.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(o){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));o.addCommand('templates',new a.dialogCommand('templates'));o.ui.addButton('Templates',{label:o.lang.templates.button,command:'templates'});}});var m={},n={};a.addTemplates=function(o,p){m[o]=p;};a.getTemplates=function(o){return m[o];};a.loadTemplates=function(o,p){var q=[];for(var r=0,s=o.length;r':' style="display:none">');s.push('',o.lang.toolbar,'');var v=o.toolbox.toolbars,w=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var x=0;x');u=0;}if(y==='/'){s.push('
                          ');continue;}s.push('');var B=v.push(A)-1;if(B>0){A.previous=v[B-1];A.previous.next=A;}for(var C=0;C');u=1;}}else if(u){s.push('');u=0;}var F=D.render(o,s);B=A.items.push(F)-1;if(B>0){F.previous=A.items[B-1];F.previous.next=F;}F.toolbar=A;F.onkey=p;F.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(u){s.push('');u=0;}s.push(''); -}s.push('
                          ');if(o.config.toolbarCanCollapse){var G=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(G);});var H=e.getNextId();o.addCommand('toolbarCollapse',{exec:function(I){var J=a.document.getById(H),K=J.getPrevious(),L=I.getThemeSpace('contents'),M=K.getParent(),N=parseInt(L.$.style.height,10),O=M.$.offsetHeight,P=!K.isVisible();if(!P){K.hide();J.addClass('cke_toolbox_collapser_min');J.setAttribute('title',I.lang.toolbarExpand);}else{K.show();J.removeClass('cke_toolbox_collapser_min');J.setAttribute('title',I.lang.toolbarCollapse);}J.getFirst().setText(P?'▲':'◀');var Q=M.$.offsetHeight-O;L.setStyle('height',N-Q+'px');I.fire('resize');},modes:{wysiwyg:1,source:1}});s.push('','','');}q.data.html+=s.join('');}});o.addCommand('toolbarFocus',n.toolbarFocus);}});})();k.separator={render:function(m,n){n.push('');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(s){var t=new o(s),u=s.addCommand('undo',{exec:function(){if(t.undo()){s.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),v=s.addCommand('redo',{exec:function(){if(t.redo()){s.selectionChange();this.fire('afterRedo');}},state:0,canUndo:false});t.onChange=function(){u.setState(t.undoable()?2:0); -v.setState(t.redoable()?2:0);};function w(x){if(t.enabled&&x.data.command.canUndo!==false)t.save();};s.on('beforeCommandExec',w);s.on('afterCommandExec',w);s.on('saveSnapshot',function(){t.save();});s.on('contentDom',function(){s.document.on('keydown',function(x){if(!x.data.$.ctrlKey&&!x.data.$.metaKey)t.type(x);});});s.on('beforeModeUnload',function(){s.mode=='wysiwyg'&&t.save(true);});s.on('mode',function(){t.enabled=s.mode=='wysiwyg';t.onChange();});s.ui.addButton('Undo',{label:s.lang.undo,command:'undo'});s.ui.addButton('Redo',{label:s.lang.redo,command:'redo'});s.resetUndo=function(){t.reset();s.fire('saveSnapshot');};s.on('updateSnapshot',function(){if(t.currentImage&&new m(s).equals(t.currentImage))setTimeout(function(){t.update();},0);});}});j.undo={};var m=j.undo.Image=function(s){this.editor=s;var t=s.getSnapshot(),u=t&&s.getSelection();c&&t&&(t=t.replace(/\s+_cke_expando=".*?"/g,''));this.contents=t;this.bookmarks=u&&u.createBookmarks2(true);},n=/\b(?:href|src|name)="[^"]*?"/gi;m.prototype={equals:function(s,t){var u=this.contents,v=s.contents;if(c&&(b.ie7Compat||b.ie6Compat)){u=u.replace(n,'');v=v.replace(n,'');}if(u!=v)return false;if(t)return true;var w=this.bookmarks,x=s.bookmarks;if(w||x){if(!w||!x||w.length!=x.length)return false;for(var y=0;y25){this.save(false,null,false);this.modifiersCount=1;}}else if(!y){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var s=this;s.lastKeystroke=0;s.snapshots=[];s.index=-1;s.limit=s.editor.config.undoStackSize||20; -s.currentImage=null;s.hasUndo=false;s.hasRedo=false;s.resetType();},resetType:function(){var s=this;s.typing=false;delete s.lastKeystroke;s.typesCount=0;s.modifiersCount=0;},fireChange:function(){var s=this;s.hasUndo=!!s.getNextImage(true);s.hasRedo=!!s.getNextImage(false);s.resetType();s.onChange();},save:function(s,t,u){var w=this;var v=w.snapshots;if(!t)t=new m(w.editor);if(t.contents===false)return false;if(w.currentImage&&t.equals(w.currentImage,s))return false;v.splice(w.index+1,v.length-w.index-1);if(v.length==w.limit)v.shift();w.index=v.push(t)-1;w.currentImage=t;if(u!==false)w.fireChange();return true;},restoreImage:function(s){var u=this;u.editor.loadSnapshot(s.contents);if(s.bookmarks)u.editor.getSelection().selectBookmarks(s.bookmarks);else if(c){var t=u.editor.document.getBody().$.createTextRange();t.collapse(true);t.select();}u.index=s.index;u.update();u.fireChange();},getNextImage:function(s){var x=this;var t=x.snapshots,u=x.currentImage,v,w;if(u)if(s)for(w=x.index-1;w>=0;w--){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}else for(w=x.index+1;w]*>)\s*<(p|div|address|h\d|center)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,o=d.walker.whitespaces(true);function p(C){return C.getName() in m||C.isBlockBoundary()&&f.$empty[C.getName()];};function q(C){if(C.getType()==3)return C.getSelectedElement().isReadOnly();else return C.getCommonAncestor().isReadOnly();};function r(C){if(this.mode=='wysiwyg'){this.focus();var D=this.getSelection();if(q(D))return;var E=C.data;this.fire('saveSnapshot');if(this.dataProcessor)E=this.dataProcessor.toHtml(E);if(c && CKEDITOR.env.version < 11){var F=D.isLocked;if(F)D.unlock();var G=D.getNative();if(G.type=='Control')G.clear();else if(D.getType()==2){var H=D.getRanges()[0],I=H&&H.endContainer;if(I&&I.type==1&&I.getAttribute('contenteditable')=='false'&&H.checkBoundaryOfElement(I,2)){H.setEndAfter(H.endContainer); -H.deleteContents();}}try{G.createRange().pasteHTML(E);}catch(K){}if(F)this.getSelection().lock();}else if(!CKEDITOR.env.ie) this.document.$.execCommand('inserthtml',false,E);if(b.webkit){this.document.$.execCommand('inserthtml',false,'');var J=this.document.getById('cke_paste_marker');J.scrollIntoView();J.remove();J=null;}e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function s(C){if(this.mode=='wysiwyg'){this.focus();var D=this.getSelection();if(q(D))return;this.fire('saveSnapshot');var E=D.getRanges(),F=C.data,G=F.getName(),H=f.$block[G],I=D.isLocked;if(I)D.unlock();var J,K,L,M;for(var N=E.length-1;N>=0;N--){J=E[N];J.deleteContents();K=!N&&F||F.clone(1);var O,P;if(H)while((O=J.getCommonAncestor(0,1))&&(P=f[O.getName()])&&!(P&&P[G])){if(O.getName() in f.span)J.splitElement(O);else if(J.checkStartOfBlock()&&J.checkEndOfBlock()){J.setStartBefore(O);J.collapse(true);O.remove();}else J.splitBlock();}J.insertNode(K);if(!L)L=K;}J.moveToPosition(L,4);if(H){var Q=L.getNext(o),R=Q&&Q.type==1&&Q.getName();if(R&&f.$block[R]&&f[R]['#'])J.moveToElementEditStart(Q);}D.selectRanges([J]);if(I)this.getSelection().lock();e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function t(C){if(!C.checkDirty())setTimeout(function(){C.resetDirty();},0);};var u=d.walker.whitespaces(true),v=d.walker.bookmark(false,true);function w(C){return u(C)&&v(C);};function x(C){return C.type==3&&e.trim(C.getText()).match(/^(?: |\xa0)$/);};function y(C){if(C.isLocked){C.unlock();setTimeout(function(){C.lock();},0);}};function z(C){return C.getOuterHtml().match(n);};u=d.walker.whitespaces(true);function A(C){var D=C.window,E=C.document,F=C.document.getBody(),G=F.getChildren().count();if(!G||G==1&&F.getFirst().hasAttribute&&F.getFirst().hasAttribute('_moz_editor_bogus_node')){t(C);var H=C.element.getDocument(),I=H.getDocumentElement(),J=I.$.scrollTop,K=I.$.scrollLeft,L=E.$.createEvent('KeyEvents');L.initKeyEvent('keypress',true,true,D.$,false,false,false,false,0,32);E.$.dispatchEvent(L);if(J!=I.$.scrollTop||K!=I.$.scrollLeft)H.getWindow().$.scrollTo(K,J);G&&F.getFirst().remove();E.getBody().appendBogus();var M=new d.range(E);M.setStartAt(F,1);M.select();}};function B(C){var D=C.editor,E=C.data.path,F=E.blockLimit,G=C.data.selection,H=G.getRanges()[0],I=D.document.getBody(),J=D.config.enterMode;b.gecko&&A(D);if(J!=2&&H.collapsed&&F.getName()=='body'&&!E.block){D.fire('updateSnapshot');t(D);c&&y(G);var K=H.fixBlock(true,D.config.enterMode==3?'div':'p');if(c){var L=K.getFirst(w); -L&&x(L)&&L.remove();}if(z(K)){var M=K.getNext(u);if(M&&M.type==1&&!p(M)){H.moveToElementEditStart(M);K.remove();}else{M=K.getPrevious(u);if(M&&M.type==1&&!p(M)){H.moveToElementEditEnd(M);K.remove();}}}H.select();if(!c)D.selectionChange();}var N=new d.range(D.document),O=new d.walker(N);N.selectNodeContents(I);O.evaluator=function(Q){return Q.type==1&&Q.getName() in m;};O.guard=function(Q,R){return!(Q.type==3&&u(Q)||R);};if(O.previous()){D.fire('updateSnapshot');t(D);c&&y(G);var P;if(J!=2)P=I.append(new h(J==1?'p':'div'));else P=I;if(!c)P.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(C){var D=C.config.enterMode!=2?C.config.enterMode==3?'div':'p':false,E=C.lang.editorTitle.replace('%1',C.name),F;C.on('editingBlockReady',function(){var L,M,N,O,P,Q,R=b.isCustomDomain(),S=function(V){if(M)M.remove();var W='document.open();'+(R?'document.domain="'+document.domain+'";':'')+'document.close();';M=h.createFromHtml('');if(document.location.protocol=='chrome:')a.event.useCapture=true;M.on('load',function(aa){P=1;aa.removeListener();var ab=M.getFrameDocument().$;ab.open('text/html','replace');ab.write(V);ab.close();});if(document.location.protocol=='chrome:')a.event.useCapture=false;var X=C.element,Y=b.gecko&&!X.isVisible(),Z={};if(Y){X.show();Z={position:X.getStyle('position'),top:X.getStyle('top')};X.setStyles({position:'absolute',top:'-3000px'});}L.append(M);if(Y)setTimeout(function(){X.hide();X.setStyles(Z);},1000);};F=e.addFunction(U);var T='';function U(V){if(!P)return;P=0;C.fire('ariaWidget',M);var W=V.document,X=W.body,Y=W.getElementById('cke_actscrpt');Y.parentNode.removeChild(Y);X.spellcheck=!C.config.disableNativeSpellChecker;if(c){X.hideFocus=true;X.disabled=true;X.contentEditable=true;X.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)W.$.body.contentEditable=true;else if(b.webkit)W.$.body.parentNode.contentEditable=true;else W.$.designMode='on';},0);b.gecko&&e.setTimeout(A,0,null,C);V=C.window=new d.window(V);W=C.document=new g(W);W.on('dblclick',function(ad){var ae=ad.data.getTarget(),af={element:ae,dialog:''}; -C.fire('doubleclick',af);af.dialog&&C.openDialog(af.dialog);});if(!(c||b.opera))W.on('mousedown',function(ad){var ae=ad.data.getTarget();if(ae.is('img','hr','input','textarea','select'))C.getSelection().selectElement(ae);});if(b.gecko)W.on('mouseup',function(ad){if(ad.data.$.button==2){var ae=ad.data.getTarget();if(!ae.getOuterHtml().replace(n,'')){var af=new d.range(W);af.moveToElementEditStart(ae);af.select(true);}}});W.on('click',function(ad){ad=ad.data;if(ad.getTarget().is('a')&&ad.$.button!=2)ad.preventDefault();});if(b.webkit){W.on('mousedown',function(){aa=1;});W.on('click',function(ad){if(ad.data.getTarget().is('input','select'))ad.data.preventDefault();});W.on('mouseup',function(ad){if(ad.data.getTarget().is('input','textarea'))ad.data.preventDefault();});}if(c&&W.$.compatMode=='CSS1Compat'||b.gecko||b.opera){var Z=W.getDocumentElement();Z.on('mousedown',function(ad){if(ad.data.getTarget().equals(Z)){if(b.gecko&&b.version>=10900)J();K.focus();}});}V.on('blur',function(){C.focusManager.blur();});var aa;V.on('focus',function(){var ad=C.document;if(b.gecko&&b.version>=10900)J();else if(b.opera)ad.getBody().focus();else if(b.webkit)if(!aa){C.document.getDocumentElement().focus();aa=1;}C.focusManager.focus();});var ab=C.keystrokeHandler;if(ab)ab.attach(W);if(c){W.getDocumentElement().addClass(W.$.compatMode);W.on('keydown',function(ad){var ae=ad.data.getKeystroke();if(ae in {8:1,46:1}){var af=C.getSelection(),ag=af.getSelectedElement();if(ag){C.fire('saveSnapshot');var ah=af.getRanges()[0].createBookmark();ag.remove();af.selectBookmarks([ah]);C.fire('saveSnapshot');ad.data.preventDefault();}}});if(W.$.compatMode=='CSS1Compat'){var ac={33:1,34:1};W.on('keydown',function(ad){if(ad.data.getKeystroke() in ac)setTimeout(function(){C.getSelection().scrollIntoView();},0);});}}if(C.contextMenu)C.contextMenu.addTarget(W,C.config.browserContextMenuOnCtrl!==false);setTimeout(function(){C.fire('contentDom');if(Q){C.mode='wysiwyg';C.fire('mode');Q=false;}N=false;if(O){C.focus();O=false;}setTimeout(function(){C.fire('dataReady');},0);try{C.document.$.execCommand('enableObjectResizing',false,!C.config.disableObjectResizing);}catch(ad){}try{C.document.$.execCommand('enableInlineTableEditing',false,!C.config.disableNativeTableHandles);}catch(ae){}if(c)setTimeout(function(){if(C.document){var af=C.document.$.body;af.runtimeStyle.marginBottom='0px';af.runtimeStyle.marginBottom='';}},1000);},0);};C.addMode('wysiwyg',{load:function(V,W,X){L=V;if(c&&b.quirks)V.setStyle('position','relative'); -C.mayBeDirty=true;Q=true;if(X)this.loadSnapshotData(W);else this.loadData(W);},loadData:function(V){N=true;var W=C.config,X=W.fullPage,Y=W.docType,Z='';!X&&(Z=e.buildStyleHtml(C.config.contentsCss)+Z);var aa=W.baseHref?'':'';if(X)V=V.replace(/]*>/i,function(ab){C.docType=Y=ab;return '';});if(C.dataProcessor)V=C.dataProcessor.toHtml(V,D);if(X){if(!/]/.test(V))V=''+V;if(!/]/.test(V))V=''+V+'';if(!/]/.test(V))V=V.replace(/]*>/,'$&');else if(!/]/.test(V))V=V.replace(/]*>/,'$&');aa&&(V=V.replace(//,'$&'+aa));V=V.replace(/<\/head\s*>/,Z+'$&');V=Y+V;}else V=W.docType+''+''+''+E+''+aa+Z+''+''+V+'';V+=T;this.onDispose();S(V);},getData:function(){var V=C.config,W=V.fullPage,X=W&&C.docType,Y=M.getFrameDocument(),Z=W?Y.getDocumentElement().getOuterHtml():Y.getBody().getHtml();if(C.dataProcessor)Z=C.dataProcessor.toDataFormat(Z,D);if(V.ignoreEmptyParagraph)Z=Z.replace(n,function(aa,ab){return ab;});if(X)Z=X+'\n'+Z;return Z;},getSnapshotData:function(){return M.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(V){M.getFrameDocument().getBody().setHtml(V);},onDispose:function(){if(!C.document)return;C.document.getDocumentElement().clearCustomData();C.document.getBody().clearCustomData();C.window.clearCustomData();C.document.clearCustomData();M.clearCustomData();M.remove();},unload:function(V){this.onDispose();C.window=C.document=M=L=O=null;C.fire('contentDomUnload');},focus:function(){if(N)O=true;else if(b.opera&&C.document){var V=C.window.$.frameElement;V.blur(),V.focus();C.document.getBody().focus();C.selectionChange();}else if(!b.opera&&C.window){C.window.focus();C.selectionChange();}}});C.on('insertHtml',r,null,null,20);C.on('insertElement',s,null,null,20);C.on('selectionChange',B,null,null,1);});var G;C.on('contentDom',function(){var L=C.document.getElementsByTag('title').getItem(0);L.setAttribute('_cke_title',C.document.$.title);C.document.$.title=E;});if(b.ie8Compat){C.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var H=[];for(var I in f.$removeEmpty)H.push('html.CSS1Compat '+I+'[contenteditable=false]'); -C.addCss(H.join(',')+'{ display:inline-block;}');}else if(b.gecko)C.addCss('html { height: 100% !important; }');function J(L){e.tryThese(function(){C.document.$.designMode='on';setTimeout(function(){C.document.$.designMode='off';if(a.currentInstance==C)C.document.getBody().focus();},50);},function(){C.document.$.designMode='off';var M=C.document.getBody();M.setAttribute('contentEditable',false);M.setAttribute('contentEditable',true);!L&&J(1);});};if(b.gecko||c||b.opera){var K;C.on('uiReady',function(){K=C.container.append(h.createFromHtml(''));K.on('focus',function(){C.focus();});});C.on('destroy',function(){e.removeFunction(F);K.clearCustomData();});}C.on('insertElement',function(L){var M=L.data;if(M.type==1&&(M.is('input')||M.is('textarea')))if(!M.isReadOnly()){M.setAttribute('contentEditable',false);M.setCustomData('_cke_notReadOnly',1);}});}});if(b.gecko)(function(){var C=document.body;if(!C)window.addEventListener('load',arguments.callee,false);else{var D=C.getAttribute('onpageshow');C.setAttribute('onpageshow',(D?D+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(m){var n='checkspell',o=m.addCommand(n,new a.dialogCommand(n));o.modes={wysiwyg:!b.opera&&document.domain==window.location.hostname};m.ui.addButton('SpellChecker',{label:m.lang.spellCheck.toolbar,command:n});a.dialog.add(n,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){var m=e.cssLength;function n(P){return!!this._.tabs[P][0].$.offsetHeight;};function o(){var T=this;var P=T._.currentTabId,Q=T._.tabIdList.length,R=e.indexOf(T._.tabIdList,P)+Q;for(var S=R-1;S>R-Q;S--){if(n.call(T,T._.tabIdList[S%Q]))return T._.tabIdList[S%Q];}return null;};function p(){var T=this;var P=T._.currentTabId,Q=T._.tabIdList.length,R=e.indexOf(T._.tabIdList,P);for(var S=R+1;S1){U._.tabBarMode=true;U._.tabs[U._.currentTabId][0].focus();Y=1;}else if((ah==37||ah==39)&&U._.tabBarMode){ak=ah==(ai?39:37)?o.call(U):p.call(U);U.selectPage(ak);U._.tabs[ak][0].focus();Y=1;}else if((ah==13||ah==32)&&U._.tabBarMode){al.selectPage(al._.currentTabId);al._.tabBarMode=false;al._.currentFocusIndex=-1;X(true);Y=1;}if(Y){ag.stop();ag.data.preventDefault();}};function aa(ag){Y&&ag.data.preventDefault();};var ab=this._.element;this.on('show',function(){ab.on('keydown',Z,this,null,0);if(b.opera||b.gecko&&b.mac)ab.on('keypress',aa,this);});this.on('hide',function(){ab.removeListener('keydown',Z);if(b.opera||b.gecko&&b.mac)ab.removeListener('keypress',aa);});this.on('iframeAdded',function(ag){var ah=new g(ag.data.iframe.$.contentWindow.document);ah.on('keydown',Z,this,null,0);});this.on('show',function(){var ak=this;W();if(P.config.dialog_startupFocusTab&&U._.pageCount>1){U._.tabBarMode=true;U._.tabs[U._.currentTabId][0].focus();}else if(!ak._.hasFocus){ak._.currentFocusIndex=-1;if(R.onFocus){var ag=R.onFocus.call(ak);ag&&ag.focus();}else X(true);if(ak._.editor.mode=='wysiwyg'&&c){var ah=P.document.$.selection,ai=ah.createRange();if(ai)if(ai.parentElement&&ai.parentElement().ownerDocument==P.document.$||ai.item&&ai.item(0).ownerDocument==P.document.$){var aj=document.body.createTextRange();aj.moveToElementText(ak.getElement().getFirst().$);aj.collapse(true);aj.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ag){var ah=this.getElement(),ai=ah.getFirst();ai.remove();ai.appendTo(ah);},this);y(this);z(this);new d.text(R.title,a.document).appendTo(this.parts.title);for(var ac=0;ac0?Q:0)+'px',top:(R>0?R:0)+'px'});};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var P=this._.editor;if(P.mode=='wysiwyg'&&c){var Q=P.getSelection();Q&&Q.lock();}var R=this._.element,S=this.definition;if(!(R.getParent()&&R.getParent().equals(a.document.getBody())))R.appendTo(a.document.getBody());else R.setStyle('display','block');if(b.gecko&&b.version<10900){var T=this.parts.dialog;T.setStyle('position','absolute');setTimeout(function(){T.setStyle('position','fixed');},0);}this.resize(S.minWidth,S.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;D(this._.editor); -R.on('keydown',H);R.on(b.opera?'keypress':'keyup',I);for(var U in {keyup:1,keydown:1,keypress:1})R.on(U,O);}else{this._.parentDialog=a.dialog._.currentTop;var V=this._.parentDialog.getElement().getFirst();V.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}J(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();});this._.hasFocus=false;e.setTimeout(function(){var W=a.document.getWindow().getViewPaneSize(),X=this.getSize();this.move((W.width-S.minWidth)/2,(W.height-X.height)/2);this.parts.dialog.setStyle('visibility','');try{this.fireOnce('load',{});}catch(Y){}this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(Z){Z.setInitValue&&Z.setInitValue();});},100,this);},foreach:function(P){var S=this;for(var Q in S._.contents)for(var R in S._.contents[Q])P(S._.contents[Q][R]);return S;},reset:(function(){var P=function(Q){if(Q.reset)Q.reset(1);};return function(){this.foreach(P);return this;};})(),setupContent:function(){var P=arguments;this.foreach(function(Q){if(Q.setup)Q.setup.apply(Q,P);});},commitContent:function(){var P=arguments;this.foreach(function(Q){if(Q.commit)Q.commit.apply(Q,P);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var P=this._.element;P.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');K(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)E();else{var Q=this._.parentDialog.getElement().getFirst();Q.setStyle('z-index',parseInt(Q.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;P.removeListener('keydown',H);P.removeListener(b.opera?'keypress':'keyup',I);for(var R in {keyup:1,keydown:1,keypress:1})P.removeListener(R,O);var S=this._.editor;S.focus();if(S.mode=='wysiwyg'&&c){var T=S.getSelection();T&&T.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(U){U.resetInitValue&&U.resetInitValue();});},addPage:function(P){var ab=this;var Q=[],R=P.label?' title="'+e.htmlEncode(P.label)+'"':'',S=P.elements,T=a.dialog._.uiElementBuilders.vbox.build(ab,{type:'vbox',className:'cke_dialog_page_contents',children:P.elements,expand:!!P.expand,padding:P.padding,style:P.style||'width: 100%; height: 100%;'},Q),U=h.createFromHtml(Q.join(''));U.setAttribute('role','tabpanel'); -var V=b,W='cke_'+P.id+'_'+e.getNextNumber(),X=h.createFromHtml(['0?' cke_last':'cke_first',R,!!P.hidden?' style="display:none"':'',' id="',W,'"',V.gecko&&V.version>=10900&&!V.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',P.label,''].join(''));U.setAttribute('aria-labelledby',W);ab._.tabs[P.id]=[X,U];ab._.tabIdList.push(P.id);!P.hidden&&ab._.pageCount++;ab._.lastTab=X;ab.updateStyle();var Y=ab._.contents[P.id]={},Z,aa=T.getChild();while(Z=aa.shift()){Y[Z.id]=Z;if(typeof Z.getChild=='function')aa.push.apply(aa,Z.getChild());}U.setAttribute('name',P.id);U.appendTo(ab.parts.contents);X.unselectable();ab.parts.tabs.append(X);if(P.accessKey){J(ab,ab,'CTRL+'+P.accessKey,M,L);ab._.accessKeyMap['CTRL+'+P.accessKey]=P.id;}},selectPage:function(P){if(this._.currentTabId==P)return;if(this.fire('selectPage',{page:P,currentPage:this._.currentTabId})===true)return;for(var Q in this._.tabs){var R=this._.tabs[Q][0],S=this._.tabs[Q][1];if(Q!=P){R.removeClass('cke_dialog_tab_selected');S.hide();}S.setAttribute('aria-hidden',Q!=P);}var T=this._.tabs[P];T[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){q(T[1]);T[1].show();setTimeout(function(){q(T[1],1);},0);}else T[1].show();this._.currentTabId=P;this._.currentTabIndex=e.indexOf(this._.tabIdList,P);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(P){var R=this;var Q=R._.tabs[P]&&R._.tabs[P][0];if(!Q||R._.pageCount==1||!Q.isVisible())return;else if(P==R._.currentTabId)R.selectPage(o.call(R));Q.hide();R._.pageCount--;R.updateStyle();},showPage:function(P){var R=this;var Q=R._.tabs[P]&&R._.tabs[P][0];if(!Q)return;Q.show();R._.pageCount++;R.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(P,Q){var R=this._.contents[P];return R&&R[Q];},getValueOf:function(P,Q){return this.getContentElement(P,Q).getValue();},setValueOf:function(P,Q,R){return this.getContentElement(P,Q).setValue(R);},getButton:function(P){return this._.buttons[P];},click:function(P){return this._.buttons[P].click();},disableButton:function(P){return this._.buttons[P].disable();},enableButton:function(P){return this._.buttons[P].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement(); -},addFocusable:function(P,Q){var S=this;if(typeof Q=='undefined'){Q=S._.focusList.length;S._.focusList.push(new r(S,P,Q));}else{S._.focusList.splice(Q,0,new r(S,P,Q));for(var R=Q+1;Raa.width-Z.width-U)af=aa.width-Z.width+V[1];else af=R.x;if(R.y+V[0]aa.height-Z.height-U)ag=aa.height-Z.height+V[2];else ag=R.y;P.move(af,ag);Y.data.preventDefault();};function X(Y){a.document.removeListener('mousemove',W);a.document.removeListener('mouseup',X);if(b.ie6Compat){var Z=C.getChild(0).getFrameDocument();Z.removeListener('mousemove',W);Z.removeListener('mouseup',X);}};P.parts.title.on('mousedown',function(Y){P._.updateSize=true;Q={x:Y.data.$.screenX,y:Y.data.$.screenY};a.document.on('mousemove',W);a.document.on('mouseup',X);R=P.getPosition();if(b.ie6Compat){var Z=C.getChild(0).getFrameDocument();Z.on('mousemove',W);Z.on('mouseup',X);}Y.data.preventDefault();},P);};function z(P){var Q=P.definition,R=Q.minWidth||0,S=Q.minHeight||0,T=Q.resizable,U=P.getParentEditor().skin.margins||[0,0,0,0];function V(ag,ah){ag.y+=ah;};function W(ag,ah){ag.x2+=ah;};function X(ag,ah){ag.y2+=ah;};function Y(ag,ah){ag.x+=ah;};var Z=null,aa=null,ab=P._.editor.config.magnetDistance,ac=['tl','t','tr','l','r','bl','b','br'];function ad(ag){var ah=ag.listenerData.part,ai=P.getSize();aa=P.getPosition();e.extend(aa,{x2:aa.x+ai.width,y2:aa.y+ai.height});Z={x:ag.data.$.screenX,y:ag.data.$.screenY};a.document.on('mousemove',ae,P,{part:ah});a.document.on('mouseup',af,P,{part:ah});if(b.ie6Compat){var aj=C.getChild(0).getFrameDocument();aj.on('mousemove',ae,P,{part:ah});aj.on('mouseup',af,P,{part:ah});}ag.data.preventDefault();};function ae(ag){var ah=ag.data.$.screenX,ai=ag.data.$.screenY,aj=ah-Z.x,ak=ai-Z.y,al=a.document.getWindow().getViewPaneSize(),am=ag.listenerData.part;if(am.search('t')!=-1)V(aa,ak);if(am.search('l')!=-1)Y(aa,aj);if(am.search('b')!=-1)X(aa,ak);if(am.search('r')!=-1)W(aa,aj);Z={x:ah,y:ai};var an,ao,ap,aq;if(aa.x+U[3]al.width-ab)ap=al.width+U[1];else if(am.search('r')!=-1&&aa.x2-aa.xal.height-ab)aq=al.height+U[2];else if(am.search('b')!=-1&&aa.y2-aa.y'];if(b.ie6Compat){var Y=b.isCustomDomain(),Z="";X.push('');}X.push('
                          ');W=h.createFromHtml(X.join(''));W.setOpacity(T!=undefined?T:0.5);W.appendTo(a.document.getBody());B[V]=W;}else W.show();C=W;var aa=function(){var ad=Q.getViewPaneSize();W.setStyles({width:ad.width+'px',height:ad.height+'px'});},ab=function(){var ad=Q.getScrollPosition(),ae=a.dialog._.currentTop;W.setStyles({left:ad.x+'px',top:ad.y+'px'});do{var af=ae.getPosition();ae.move(af.x,af.y);}while(ae=ae._.parentDialog)};A=aa;Q.on('resize',aa);aa();if(b.ie6Compat){var ac=function(){ab();arguments.callee.prevScrollHandler.apply(this,arguments);};Q.$.setTimeout(function(){ac.prevScrollHandler=window.onscroll||(function(){});window.onscroll=ac;},0);ab();}};function E(){if(!C)return;var P=a.document.getWindow();C.hide();P.removeListener('resize',A);if(b.ie6Compat)P.$.setTimeout(function(){var Q=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=Q||null;},0);A=null;};function F(){for(var P in B)B[P].remove();B={};};var G={},H=function(P){var Q=P.data.$.ctrlKey||P.data.$.metaKey,R=P.data.$.altKey,S=P.data.$.shiftKey,T=String.fromCharCode(P.data.$.keyCode),U=G[(Q?'CTRL+':'')+(R?'ALT+':'')+(S?'SHIFT+':'')+T]; -if(!U||!U.length)return;U=U[U.length-1];U.keydown&&U.keydown.call(U.uiElement,U.dialog,U.key);P.data.preventDefault();},I=function(P){var Q=P.data.$.ctrlKey||P.data.$.metaKey,R=P.data.$.altKey,S=P.data.$.shiftKey,T=String.fromCharCode(P.data.$.keyCode),U=G[(Q?'CTRL+':'')+(R?'ALT+':'')+(S?'SHIFT+':'')+T];if(!U||!U.length)return;U=U[U.length-1];if(U.keyup){U.keyup.call(U.uiElement,U.dialog,U.key);P.data.preventDefault();}},J=function(P,Q,R,S,T){var U=G[R]||(G[R]=[]);U.push({uiElement:P,dialog:Q,key:R,keyup:T||P.accessKeyUp,keydown:S||P.accessKeyDown});},K=function(P){for(var Q in G){var R=G[Q];for(var S=R.length-1;S>=0;S--){if(R[S].dialog==P||R[S].uiElement==P)R.splice(S,1);}if(R.length===0)delete G[Q];}},L=function(P,Q){if(P._.accessKeyMap[Q])P.selectPage(P._.accessKeyMap[Q]);},M=function(P,Q){},N={27:1,13:1},O=function(P){if(P.data.getKeystroke() in N)P.data.stopPropagation();};(function(){k.dialog={uiElement:function(P,Q,R,S,T,U,V){if(arguments.length<4)return;var W=(S.call?S(Q):S)||'div',X=['<',W,' '],Y=(T&&T.call?T(Q):T)||{},Z=(U&&U.call?U(Q):U)||{},aa=(V&&V.call?V.call(this,P,Q):V)||'',ab=this.domId=Z.id||e.getNextId()+'_uiElement',ac=this.id=Q.id,ad;Z.id=ab;var ae={};if(Q.type)ae['cke_dialog_ui_'+Q.type]=1;if(Q.className)ae[Q.className]=1;var af=Z['class']&&Z['class'].split?Z['class'].split(' '):[];for(ad=0;ad=0;ad--){if(ah[ad]==='')ah.splice(ad,1);}if(ah.length>0)Z.style=(Z.style?Z.style+'; ':'')+ah.join('; ');for(ad in Z)X.push(ad+'="'+e.htmlEncode(Z[ad])+'" ');X.push('>',aa,'');R.push(X.join(''));(this._||(this._={})).dialog=P;if(typeof Q.isChanged=='boolean')this.isChanged=function(){return Q.isChanged;};if(typeof Q.isChanged=='function')this.isChanged=Q.isChanged;a.event.implementOn(this);this.registerEvents(Q);if(this.accessKeyUp&&this.accessKeyDown&&Q.accessKey)J(this,P,'CTRL+'+Q.accessKey);var ai=this;P.on('load',function(){if(ai.getInputElement())ai.getInputElement().on('focus',function(){P._.tabBarMode=false;P._.hasFocus=true;ai.fire('focus');},ai);});if(this.keyboardFocusable){this.tabIndex=Q.tabIndex||0;this.focusIndex=P._.focusList.push(this)-1;this.on('focus',function(){P._.currentFocusIndex=ai.focusIndex;});}e.extend(this,Q);},hbox:function(P,Q,R,S,T){if(arguments.length<4)return;this._||(this._={}); -var U=this._.children=Q,V=T&&T.widths||null,W=T&&T.height||null,X={},Y,Z=function(){var ab=[''];for(Y=0;Y0)ab.push('style="'+ad.join('; ')+'" ');ab.push('>',R[Y],'');}ab.push('');return ab.join('');},aa={role:'presentation'};T&&T.align&&(aa.align=T.align);k.dialog.uiElement.call(this,P,T||{type:'hbox'},S,'table',X,aa,Z);},vbox:function(P,Q,R,S,T){if(arguments.length<3)return;this._||(this._={});var U=this._.children=Q,V=T&&T.width||null,W=T&&T.heights||null,X=function(){var Y=['');for(var Z=0;Z');}Y.push('
                          0)Y.push('style="',aa.join('; '),'" ');Y.push(' class="cke_dialog_ui_vbox_child">',R[Z],'
                          ');return Y.join('');};k.dialog.uiElement.call(this,P,T||{type:'vbox'},S,'div',null,{role:'presentation'},X);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(P,Q){this.getInputElement().setValue(P);!Q&&this.fire('change',{value:P});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var S=this;var P=S.getInputElement(),Q=P,R;while((Q=Q.getParent())&&Q.$.className.search('cke_dialog_page_contents')==-1){}if(!Q)return S;R=Q.getAttribute('name');if(S._.dialog._.currentTabId!=R)S._.dialog.selectPage(R);return S;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(P){var Q=/^on([A-Z]\w+)/,R,S=function(U,V,W,X){V.on('load',function(){U.getInputElement().on(W,X,U); -});};for(var T in P){if(!(R=T.match(Q)))continue;if(this.eventProcessors[T])this.eventProcessors[T].call(this,this._.dialog,P[T]);else S(this,this._.dialog,R[1].toLowerCase(),P[T]);}return this;},eventProcessors:{onLoad:function(P,Q){P.on('load',Q,this);},onShow:function(P,Q){P.on('show',Q,this);},onHide:function(P,Q){P.on('hide',Q,this);}},accessKeyDown:function(P,Q){this.focus();},accessKeyUp:function(P,Q){},disable:function(){var P=this.getInputElement();P.setAttribute('disabled','true');P.addClass('cke_disabled');},enable:function(){var P=this.getInputElement();P.removeAttribute('disabled');P.removeClass('cke_disabled');},isEnabled:function(){return!this.getInputElement().getAttribute('disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(P){var Q=this;if(arguments.length<1)return Q._.children.concat();if(!P.splice)P=[P];if(P.length<2)return Q._.children[P[0]];else return Q._.children[P[0]]&&Q._.children[P[0]].getChild?Q._.children[P[0]].getChild(P.slice(1,P.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var P={build:function(Q,R,S){var T=R.children,U,V=[],W=[];for(var X=0;X7||T.name in f.tr||T.name in f.$listItem))return false;var V=o(T);return!V||V.type==1&&V.name=='br'||T.name=='form'&&V.name=='input';};function r(T){p(T,true);if(q(T,true))if(c)T.add(new a.htmlParser.text('\xa0'));else T.add(new a.htmlParser.element('br',{}));};function s(T){p(T);if(q(T))T.add(new a.htmlParser.text('\xa0'));};var t=f,u=e.extend({},t.$block,t.$listItem,t.$tableContent);for(var v in u){if(!('br' in t[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},x={elements:{}};for(v in u)x.elements[v]=r;var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes; -if(U){if(U.cke_temp)return false;var V=['name','href','src'],W;for(var X=0;X]+)))([^>]*)>/gi,D=/\s_cke_saved_src\s*=/,E=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,H=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function J(T){return T.replace(C,function(U,V,W,X,Y){if(X=='src'&&D.test(U))return U;else return '<'+V+W+' _cke_saved_'+W+Y+'>';});};function K(T){return T.replace(E,function(U){return ''+encodeURIComponent(U)+'';});};function L(T){return T.replace(F,function(U,V){return decodeURIComponent(V);});};function M(T){return T.replace(G,'$1cke:$2');};function N(T){return T.replace(H,'$1$2');};function O(T){return T.replace(I,'');};function P(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function Q(T){return T.replace(//g,function(U){return ''; -});};function R(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function S(T,U){var V=[],W=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,X=[//gi,//gi].concat(U);T=T.replace(//g,function(Z){return '';});for(var Y=0;Y';});T=T.replace(W,function(Z,aa,ab){return '';});return T;};j.add('jhtmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);U.htmlFilter.addRules(z);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor.config.protectedSource);T=J(T);T=K(T);T=M(T);T=O(T);T=P(T);T=N(T);T=L(T);T=R(T);var V=a.htmlParser.fragment.fromHtml(T,U),W=new a.htmlParser.basicWriter();V.writeHtml(W,this.dataFilter);T=W.getHtml(true);T=Q(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset();W.writeHtml(V,this.htmlFilter);return V.getHtml(true);}};})();(function(){var m=/\.swf(?:$|\?)/i,n=/^\d+(?:\.\d+)?$/;function o(r){if(n.test(r))return r+'px';return r;};function p(r){var s=r.attributes;return s.type=='application/x-shockwave-flash'||m.test(s.src||'');};function q(r,s){var t=r.createFakeParserElement(s,'cke_flash','flash',true),u=t.attributes.style||'',v=s.attributes.width,w=s.attributes.height;if(typeof v!='undefined')u=t.attributes.style=u+'width:'+o(v)+';';if(typeof w!='undefined')u=t.attributes.style=u+'height:'+o(w)+';';return t;};j.add('jflash',{init:function(r){r.addCommand('flash',new a.dialogCommand('flash'));r.ui.addButton('Flash',{label:r.lang.common.flash,command:'flash'});a.dialog.add('flash',this.path+'dialogs/flash.js');r.addCss('img.cke_flash{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');if(r.addMenuItems)r.addMenuItems({flash:{label:r.lang.flash.properties,command:'flash',group:'flash'}}); -if(r.contextMenu)r.contextMenu.addListener(function(s,t){if(s&&s.is('img')&&s.getAttribute('_cke_real_element_type')=='flash')return{flash:2};});},afterInit:function(r){var s=r.dataProcessor,t=s&&s.dataFilter;if(t)t.addRules({elements:{'cke:object':function(u){var v=u.attributes,w=v.classid&&String(v.classid).toLowerCase();if(!w){for(var x=0;x750)s.push(t?'style="width:750px">':' style="display:none">');}else s.push(t?'>':' style="display:none">');s.push('',o.lang.toolbar,'');var w=o.toolbox.toolbars,x=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var y=0;y');u=0;}if(z==='/'){s.push('
                          ');continue;}s.push('');var C=w.push(B)-1;if(C>0){B.previous=w[C-1];B.previous.next=B;}for(var D=0;D');u=1;}}else if(u){s.push('');u=0;}var G=E.render(o,s);C=B.items.push(G)-1;if(C>0){G.previous=B.items[C-1];G.previous.next=G;}G.toolbar=B;G.onkey=p;G.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(u){s.push('');u=0;}s.push('');}s.push('
                          ');if(o.config.toolbarCanCollapse){var H=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(H);});var I='cke_'+e.getNextNumber();o.addCommand('toolbarCollapse',{exec:function(J){var K=a.document.getById(I),L=K.getPrevious(),M=J.getThemeSpace('contents'),N=L.getParent(),O=parseInt(M.$.style.height,10),P=N.$.offsetHeight,Q=!L.isVisible();if(!Q){L.hide();K.addClass('cke_toolbox_collapser_min');K.setAttribute('title',J.lang.toolbarExpand);}else{L.show();K.removeClass('cke_toolbox_collapser_min');K.setAttribute('title',J.lang.toolbarCollapse);}K.getFirst().setText(Q?'▲':'◀');var R=N.$.offsetHeight-P;M.setStyle('height',O-R+'px');J.fire('resize');},modes:{wysiwyg:1,source:1}});s.push('','','');}q.data.html+=s.join('');}});o.addCommand('toolbarFocus',n.toolbarFocus);}});})();k.separator={render:function(m,n){n.push('');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('jdialogdefinitionlistener',{requires:['dialog'],init:function(n){a.on('dialogDefinition',function(o){if(n.config.toolbar=='Blog')for(var p in o.data.definition.contents){m(o.data.name,o.data.definition,o.data.definition.contents[p].elements);if(!o.data.definition.contents[p].hidden&&o.data.definition.contents[p].filebrowser)o.data.definition.contents[p].hidden=false;}});}});function m(n,o,p){var q;for(var r in p){q=p[r];if(n=='jdialogDefinitionlistener')continue;if(typeof q=='function'||q.type=='undefined')continue;if(q.type&&(q.type=='hbox'||q.type=='vbox'))m(n,o,q.children);if(q.filebrowser)q.hidden=true;}};})();j.add('ajaxoverride',{init:function(m){},afterInit:function(m){var n=a.ajax.load,o=a.ajax.loadXml;a.ajax.load=function(p,q,r){p+=(p.indexOf('?')!=-1?'&':'?')+'client='+m.config.client;return n(p,q,r);};a.ajax.loadXml=function(p,q){p+=(p.indexOf('?')!=-1?'&':'?')+'client='+m.config.client;return o(p,q);};}});j.add('safariroverride',{requires:['dialog'],init:function(m){},afterInit:function(m){k.dialog.file.prototype.reset=function(n){var o=a.document.getById(this._.frameId),p,q=this._.definition,r=this._.buttons;function s(){if(b.webkit)p=new g(o.$.contentDocument);else p=o.getFrameDocument(); -p.$.open();if(b.isCustomDomain())p.$.domain=document.domain;var t='';if(q.size)t=q.size-(c?7:0);p.$.write(['','
                          ','','
                          ',''].join(''));p.$.close();for(var u=0;u',n.name,'');return o.join('');};}});j.add('jabout',{lang:['en'],init:function(m){var n=m.addCommand('about',new a.dialogCommand('about'));n.modes={wysiwyg:1,source:1};n.canUndo=false;m.ui.addButton('About',{label:m.lang.jabout.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});j.add('styles',{requires:['selection']});a.editor.prototype.attachStyleStateChange=function(m,n){var o=this._.styleStateChangeCallbacks;if(!o){o=this._.styleStateChangeCallbacks=[];this.on('selectionChange',function(p){for(var q=0;q',Q.name,'');return R.join('');}};a.style.getStyleText=function(Q){var R=Q._ST;if(R)return R;R=Q.styles;var S=Q.attributes&&Q.attributes.style||'',T='';if(S.length)S=S.replace(o,';');for(var U in R){var V=R[U],W=(U+':'+V).replace(o,';');if(V=='inherit')T+=W;else S+=W;}if(S.length)S=M(S);S+=T;return Q._ST=S;};function p(Q){var ap=this;var R=Q.document;if(Q.collapsed){var S=F(ap,R);Q.insertNode(S);Q.moveToPosition(S,2);return;}var T=ap.element,U=ap._.definition,V,W=f[T]||(V=true,f.span);Q.enlarge(1);Q.trim();var X=Q.createBookmark(),Y=X.startNode,Z=X.endNode,aa=Y,ab;while(aa){var ac=false;if(aa.equals(Z)){aa=null;ac=true;}else{var ad=aa.type,ae=ad==1?aa.getName():null;if(ae&&aa.getAttribute('_cke_bookmark')){aa=aa.getNextSourceNode(true);continue;}if(!ae||W[ae]&&(aa.getPosition(Z)|4|0|8)==4+0+8&&(!U.childRule||U.childRule(aa))){var af=aa.getParent();if(af&&((af.getDtd()||f.span)[T]||V)&&(!U.parentRule||U.parentRule(af))){if(!ab&&(!ae||!f.$removeEmpty[ae]||(aa.getPosition(Z)|4|0|8)==4+0+8)){ab=new d.range(R);ab.setStartBefore(aa);}if(ad==3||ad==1&&!aa.getChildCount()){var ag=aa,ah;while(!ag.$.nextSibling&&(ah=ag.getParent(),W[ah.getName()])&&(ah.getPosition(Y)|2|0|8)==2+0+8&&(!U.childRule||U.childRule(ah)))ag=ah;ab.setEndAfter(ag);if(!ag.$.nextSibling)ac=true;}}else ac=true;}else ac=true; -aa=aa.getNextSourceNode();}if(ac&&ab&&!ab.collapsed){var ai=F(ap,R),aj=ai.hasAttributes(),ak=ab.getCommonAncestor(),al={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},am,an,ao;while(ai&&ak){if(ak.getName()==T){for(am in U.attributes){if(al.blockedAttrs[am]||!(ao=ak.getAttribute(an)))continue;if(ai.getAttribute(am)==ao)al.attrs[am]=1;else al.blockedAttrs[am]=1;}for(an in U.styles){if(al.blockedStyles[an]||!(ao=ak.getStyle(an)))continue;if(ai.getStyle(an)==ao)al.styles[an]=1;else al.blockedStyles[an]=1;}}ak=ak.getParent();}for(am in al.attrs)ai.removeAttribute(am);for(an in al.styles)ai.removeStyle(an);if(aj&&!ai.hasAttributes())ai=null;if(ai){ab.extractContents().appendTo(ai);C(ap,ai);ab.insertNode(ai);ai.mergeSiblings();if(!c)ai.$.normalize();}else{ai=new h('span');ab.extractContents().appendTo(ai);ab.insertNode(ai);C(ap,ai);ai.remove(true);}ab=null;}}Q.moveToBookmark(X);Q.shrink(2);};function q(Q){Q.enlarge(1);var R=Q.createBookmark(),S=R.startNode;if(Q.collapsed){var T=new d.elementPath(S.getParent()),U;for(var V=0,W;V'+S+'';else Q.setHtml(S);R.remove();};function x(Q){var R=/(\S\s*)\n(?:\s|(]+_cke_bookmark.*?\/span>))*\n(?!$)/gi,S=Q.getName(),T=y(Q.getOuterHtml(),R,function(V,W,X){return W+''+X+'
                          ';}),U=[];T.replace(/([\s\S]*?)<\/pre>/gi,function(V,W){U.push(W);});return U;};function y(Q,R,S){var T='',U='';Q=Q.replace(/(^]+_cke_bookmark.*?\/span>)|(]+_cke_bookmark.*?\/span>$)/gi,function(V,W,X){W&&(T=W);X&&(U=X);return '';});return T+Q.replace(R,S)+U;};function z(Q,R){var S=new d.documentFragment(R.getDocument());for(var T=0;T');U=U.replace(/[ \t]{2,}/g,function(W){return e.repeat(' ',W.length-1)+' ';});var V=R.clone();V.setHtml(U);S.append(V);}return S;};function A(Q,R){var S=Q.getHtml();S=y(S,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');S=S.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'$1');S=S.replace(/([ \t\n\r]+| )/g,' ');S=S.replace(/]*>/gi,'\n');if(c){var T=Q.getDocument().createElement('div');T.append(R);R.$.outerHTML='
                          '+S+'
                          ';R=T.getFirst().remove();}else R.setHtml(S);return R;};function B(Q,R){var S=Q._.definition,T=e.extend({},S.attributes,K(Q)[R.getName()]),U=S.styles,V=e.isEmpty(T)&&e.isEmpty(U);for(var W in T){if((W=='class'||Q._.definition.fullMatch)&&R.getAttribute(W)!=L(W,T[W]))continue;V=R.hasAttribute(W);R.removeAttribute(W);}for(var X in U){if(Q._.definition.fullMatch&&R.getStyle(X)!=L(X,U[X],true))continue;V=V||!!R.getStyle(X);R.removeStyle(X);}V&&E(R);};function C(Q,R){var S=Q._.definition,T=S.attributes,U=S.styles,V=K(Q),W=R.getElementsByTag(Q.element); -for(var X=W.count();--X>=0;)B(Q,W.getItem(X));for(var Y in V){if(Y!=Q.element){W=R.getElementsByTag(Y);for(X=W.count()-1;X>=0;X--){var Z=W.getItem(X);D(Z,V[Y]);}}}};function D(Q,R){var S=R&&R.attributes;if(S)for(var T=0;T0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0);H+=4;F.setStyle('width',H+'px'); -v.element.addClass('cke_frameLoaded');var I=v.element.$.scrollHeight;if(c&&b.quirks&&I>0)I+=(F.$.offsetHeight||0)-(F.$.clientHeight||0);F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');var J=u.element,K=J.getWindow(),L=K.getScrollPosition(),M=K.getViewPaneSize(),N={height:J.$.offsetHeight,width:J.$.offsetWidth};if(A?B<0:B+N.width>M.width+L.x)B+=N.width*(A?1:-1);if(C+N.height>M.height+L.y)C-=N.height;if(c){var O=new h(w.$.offsetParent),P=O;if(P.getName()=='html')P=P.getDocument().getBody();if(P.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=O.$.scrollWidth-O.$.clientWidth;}var Q=w.getFirst(),R;if(R=Q.getCustomData('activePanel'))R.onHide&&R.onHide.call(this,1);Q.setCustomData('activePanel',this);w.setStyles({top:C+'px',left:B+'px'});w.setOpacity(1);},this);u.isLoaded?E():u.onLoad=E;e.setTimeout(function(){x.$.contentWindow.focus();this.allowBlur(true);},0,this);},0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(){var p=this;if(p.visible&&(!p.onHide||p.onHide.call(p)!==true)){p.hideChild();p.element.setStyle('display','none');p.visible=0;p.element.getFirst().removeCustomData('activePanel');}},allowBlur:function(p){var q=this._.panel;if(p!=undefined)q.allowBlur=p;return q.allowBlur;},showAsChild:function(p,q,r,s,t,u){if(this._.activeChild==p&&p._.panel._.offsetParentId==r.getId())return;this.hideChild();p.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=p;this._.focused=false;p.showBlock(q,r,s,t,u);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){p.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var p=this._.activeChild;if(p){delete p.onHide;delete this._.activeChild;p.hide();}}}});a.on('instanceDestroyed',function(){var p=e.isEmpty(a.instances);for(var q in m){var r=m[q];if(p)r.destroy();else r.element.hide();}p&&(m={});});})();j.add('menu',{beforeInit:function(m){var n=m.config.menu_groups.split(','),o=m._.menuGroups={},p=m._.menuItems={};for(var q=0;q'],B=r.length,C=B&&r[0].group;for(var D=0;D
                          ');C=E.group;}E.render(this,D,A);}A.push('
                          ');u.setHtml(A.join(''));if(this.parent)this.parent._.panel.showAsChild(t,this.id,n,o,p,q); -else t.showBlock(this.id,n,o,p,q);s.fire('menuShow',[t]);},hide:function(){this._.panel&&this._.panel.hide();}}});function m(n){n.sort(function(o,p){if(o.groupp.group)return 1;return o.orderp.order?1:0;});};})();a.menuItem=e.createClass({$:function(m,n,o){var p=this;e.extend(p,o,{order:0,className:'cke_button_'+n});p.group=m._.menuGroups[p.group];p.editor=m;p.name=n;},proto:{render:function(m,n,o){var v=this;var p=m.id+String(n),q=typeof v.state=='undefined'?2:v.state,r=' cke_'+(q==1?'on':q==0?'disabled':'off'),s=v.label;if(v.className)r+=' '+v.className;var t=v.getItems;o.push(''+'');if(t)o.push('','&#',v.editor.lang.dir=='rtl'?'9668':'9658',';','');o.push(s,'');}}});i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var m=function(o,p){return o._.modes&&o._.modes[p||o.mode];},n;j.add('editingblock',{init:function(o){if(!o.config.editingBlock)return;o.on('themeSpace',function(p){if(p.data.space=='contents')p.data.html+='
                          ';});o.on('themeLoaded',function(){o.fireOnce('editingBlockReady');});o.on('uiReady',function(){o.setMode(o.config.startupMode);});o.on('afterSetData',function(){if(!n){function p(){n=true;m(o).loadData(o.getData());n=false;};if(o.mode)p();else o.on('mode',function(){p();o.removeListener('mode',arguments.callee);});}});o.on('beforeGetData',function(){if(!n&&o.mode){n=true;o.setData(m(o).getData());n=false;}});o.on('getSnapshot',function(p){if(o.mode)p.data=m(o).getSnapshotData(); -});o.on('loadSnapshot',function(p){if(o.mode)m(o).loadSnapshotData(p.data);});o.on('mode',function(p){p.removeListener();b.webkit&&o.container.on('focus',function(){o.focus();});if(o.config.startupFocus)o.focus();setTimeout(function(){o.fireOnce('instanceReady');a.fire('instanceReady',null,o);},0);});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(o,p){p.name=o;(this._.modes||(this._.modes={}))[o]=p;};a.editor.prototype.setMode=function(o){var p,q=this.getThemeSpace('contents'),r=this.checkDirty();if(this.mode){if(o==this.mode)return;this.fire('beforeModeUnload');var s=m(this);p=s.getData();s.unload(q);this.mode='';}q.setHtml('');var t=m(this,o);if(!t)throw '[CKEDITOR.editor.setMode] Unknown mode "'+o+'".';if(!r)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});t.load(q,typeof p!='string'?this.getData():p);};a.editor.prototype.focus=function(){var o=m(this);if(o)o.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var w=this;try{var t=w.getSelection();if(!t||!t.document.getWindow().$)return;var u=t.getStartElement(),v=new d.elementPath(u);if(!v.compare(w._.selectionPreviousPath)){w._.selectionPreviousPath=v;w.fire('selectionChange',{selection:t,path:v,element:u});}}catch(x){}};var n,o;function p(){o=true;if(n)return;q.call(this);n=e.setTimeout(q,200,this);};function q(){n=null;if(o){e.setTimeout(m,0,this);o=false;}};var r={modes:{wysiwyg:1,source:1},exec:function(t){switch(t.mode){case 'wysiwyg':t.document.$.execCommand('SelectAll',false,null);break;case 'source':var u=t.textarea.$;if(c)u.createTextRange().execCommand('SelectAll');else{u.selectionStart=0;u.selectionEnd=u.value.length;}u.focus();}},canUndo:false};j.add('selection',{init:function(t){t.on('contentDom',function(){var u=t.document,v=u.getBody(),w=u.getDocumentElement();if(c){var x,y,z=1;v.on('focusin',function(D){if(D.data.$.srcElement.nodeName!='BODY')return;if(x){var E=u.getCustomData('cke_locked_selection');if(z&&!E)try{x.select();}catch(F){}x=null;}});v.on('focus',function(){y=1;C();});v.on('beforedeactivate',function(D){if(D.data.$.toElement)return;y=0;z=1;});if(c&&b.version<8)t.on('blur',function(D){try{t.document&&t.document.$.selection.empty();}catch(E){}});w.on('mousedown',function(){z=0;});w.on('mouseup',function(){z=1;});if(c&&(b.ie7Compat||b.version<8||b.quirks))w.on('click',function(D){if(D.data.getTarget().getName()=='html')t.getSelection().getRanges()[0].select();});var A;v.on('mousedown',function(D){if(D.data.$.button==2){var E=t.document.$.selection; -if(E.type=='None')A=t.window.getScrollPosition();}B();});v.on('mouseup',function(D){if(D.data.$.button==2&&A){t.document.$.documentElement.scrollLeft=A.x;t.document.$.documentElement.scrollTop=A.y;}A=null;y=1;setTimeout(function(){C(true);},0);});v.on('keydown',B);v.on('keyup',function(){y=1;C();});u.on('selectionchange',C);function B(){y=0;};function C(D){if(y){var E=t.document,F=t.getSelection(),G=F&&F.getNative();if(D&&G&&G.type=='None')if(!E.$.queryCommandEnabled('InsertImage')){e.setTimeout(C,50,this,true);return;}var H;if(G&&G.type&&G.type!='Control'&&(H=G.createRange())&&(H=H.parentElement())&&(H=H.nodeName)&&H.toLowerCase() in {input:1,textarea:1})return;x=G&&F.getRanges()[0];p.call(t);}};}else{u.on('mouseup',p,t);u.on('keyup',p,t);}});t.addCommand('selectAll',r);t.ui.addButton('SelectAll',{label:t.lang.selectAll,command:'selectAll'});t.selectionChange=p;}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var t=new d.selection(this);return!t||t.isInvalid?null:t;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(t){var w=this;var u=t.getCustomData('cke_locked_selection');if(u)return u;w.document=t;w.isLocked=0;w._={cache:{}};if(c){var v=w.getNative().createRange();if(!v||v.item&&v.item(0).ownerDocument!=w.document.$||v.parentElement&&v.parentElement().ownerDocument!=w.document.$)w.isInvalid=true;}return w;};var s={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,th:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var t=this._.cache;if(t.type)return t.type;var u=1;try{var v=this.getNative(),w=v.type;if(w=='Text')u=2;if(w=='Control')u=3;if(v.createRange().parentElement)u=2;}catch(x){}return t.type=u;}:function(){var t=this._.cache;if(t.type)return t.type;var u=2,v=this.getNative();if(!v)u=1;else if(v.rangeCount==1){var w=v.getRangeAt(0),x=w.startContainer;if(x==w.endContainer&&x.nodeType==1&&w.endOffset-w.startOffset==1&&s[x.childNodes[w.startOffset].nodeName.toLowerCase()])u=3;}return t.type=u;},getRanges:(function(){var t=c?(function(){var u=function(v,w){v=v.duplicate(); -v.collapse(w);var x=v.parentElement(),y=x.childNodes,z;for(var A=0;A0)break;else if(!C||D==1&&C==-1)return{container:x,offset:A};else if(!D)return{container:x,offset:A+1};z=null;}}if(!z){z=v.duplicate();z.moveToElementText(x);z.collapse(false);}z.setEndPoint('StartToStart',v);var E=z.text.replace(/(\r\n|\r)/g,'\n').length;try{while(E>0)E-=y[--A].nodeValue.length;}catch(F){E=0;}if(E===0)return{container:x,offset:A};else return{container:y[A],offset:-E};};return function(){var F=this;var v=F.getNative(),w=v&&v.createRange(),x=F.getType(),y;if(!v)return[];if(x==2){y=new d.range(F.document);var z=u(w,true);y.setStart(new d.node(z.container),z.offset);z=u(w);y.setEnd(new d.node(z.container),z.offset);if(y.endContainer.getPosition(y.startContainer)&4&&y.endOffset<=y.startContainer.getIndex())y.collapse();return[y];}else if(x==3){var A=[];for(var B=0;B=A.getLength())E.setStartAfter(A);else E.setStartBefore(A);if(B&&B.type==3)if(!D)E.setEndBefore(B);else E.setEndAfter(B);var G=new d.walker(E);G.evaluator=function(H){if(H.type==1&&H.getAttribute('contenteditable')=='false'){var I=y.clone();y.setEndBefore(H);if(y.collapsed)w.splice(x--,1);if(!(H.getPosition(E.endContainer)&16)){I.setStartAfter(H);if(!I.collapsed)w.splice(x+1,0,I);}return true;}return false;};G.next();}}return v.ranges;};})(),getStartElement:function(){var A=this; -var t=A._.cache;if(t.startElement!==undefined)return t.startElement;var u,v=A.getNative();switch(A.getType()){case 3:return A.getSelectedElement();case 2:var w=A.getRanges()[0];if(w){if(!w.collapsed){w.optimize();while(1){var x=w.startContainer,y=w.startOffset;if(y==(x.getChildCount?x.getChildCount():x.getLength())&&!x.isBlockBoundary())w.setStartAfter(x);else break;}u=w.startContainer;if(u.type!=1)return u.getParent();u=u.getChild(w.startOffset);if(!u||u.type!=1)u=w.startContainer;else{var z=u.getFirst();while(z&&z.type==1){u=z;z=z.getFirst();}}}else{u=w.startContainer;if(u.type!=1)u=u.getParent();}u=u.$;}}return t.startElement=u?new h(u):null;},getSelectedElement:function(){var t=this._.cache;if(t.selectedElement!==undefined)return t.selectedElement;var u=this,v=e.tryThese(function(){return u.getNative().createRange().item(0);},function(){var w=u.getRanges()[0],x,y;for(var z=2;z&&!((x=w.getEnclosedNode())&&x.type==1&&s[x.getName()]&&(y=x));z--)w.shrink(1);return y.$;});return t.selectedElement=v?new h(v):null;},lock:function(){var t=this;t.getRanges();t.getStartElement();t.getSelectedElement();t._.cache.nativeSel={};t.isLocked=1;t.document.setCustomData('cke_locked_selection',t);},unlock:function(t){var y=this;var u=y.document,v=u.getCustomData('cke_locked_selection');if(v){u.setCustomData('cke_locked_selection',null);if(t){var w=v.getSelectedElement(),x=!w&&v.getRanges();y.isLocked=0;y.reset();u.getBody().focus();if(w)y.selectElement(w);else y.selectRanges(x);}}if(!v||!t){y.isLocked=0;y.reset();}},reset:function(){this._.cache={};},selectElement:function(t){var w=this;if(w.isLocked){var u=new d.range(w.document);u.setStartBefore(t);u.setEndAfter(t);w._.cache.selectedElement=t;w._.cache.startElement=t;w._.cache.ranges=new d.rangeList(u);w._.cache.type=3;return;}if(c){w.getNative().empty();try{u=w.document.$.body.createControlRange();u.addElement(t.$);u.select();}catch(x){u=w.document.$.body.createTextRange();u.moveToElementText(t.$);u.select();}finally{w.document.fire('selectionchange');}w.reset();}else{u=w.document.$.createRange();u.selectNode(t.$);var v=w.getNative();v.removeAllRanges();v.addRange(u);w.reset();}},selectRanges:function(t){var D=this;if(D.isLocked){D._.cache.selectedElement=null;D._.cache.startElement=t[0]&&t[0].getTouchedStartNode();D._.cache.ranges=new d.rangeList(t);D._.cache.type=2;return;}if(c){if(t.length>1){var u=t[t.length-1];t[0].setEnd(u.endContainer,u.endOffset);t.length=1;}if(t[0])t[0].select();D.reset();}else{var v=D.getNative(); -if(t.length)v.removeAllRanges();for(var w=0;w=0){s.collapse(true); -q.setEnd(s.endContainer.$,s.endOffset);}else throw t;}var r=s.document.getSelection().getNative();r.removeAllRanges && r.removeAllRanges();r.addRange(q);};})();(function(){var m={elements:{$:function(n){var o=n.attributes,p=o&&o._cke_realelement,q=p&&new a.htmlParser.fragment.fromHtml(decodeURIComponent(p)),r=q&&q.children[0];if(r&&n.attributes._cke_resizable){var s=n.attributes.style;if(s){var t=/(?:^|\s)width\s*:\s*(\d+)/i.exec(s),u=t&&t[1];t=/(?:^|\s)height\s*:\s*(\d+)/i.exec(s);var v=t&&t[1];if(u)r.attributes.width=u;if(v)r.attributes.height=v;}}return r;}}};j.add('fakeobjects',{requires:['htmlwriter'],afterInit:function(n){var o=n.dataProcessor,p=o&&o.htmlFilter;if(p)p.addRules(m);}});})();a.editor.prototype.createFakeElement=function(m,n,o,p){var q=this.lang.fakeobjects,r={'class':n,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(m.getOuterHtml()),_cke_real_node_type:m.type,alt:q[o]||q.unknown,align:m.getAttribute('align')||''};if(o)r._cke_real_element_type=o;if(p)r._cke_resizable=p;return this.document.createElement('img',{attributes:r});};a.editor.prototype.createFakeParserElement=function(m,n,o,p){var q=this.lang.fakeobjects,r,s=new a.htmlParser.basicWriter();m.writeHtml(s);r=s.getHtml();var t={'class':n,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(r),_cke_real_node_type:m.type,alt:q[o]||q.unknown,align:m.attributes.align||''};if(o)t._cke_real_element_type=o;if(p)t._cke_resizable=p;return new a.htmlParser.element('img',t);};a.editor.prototype.restoreRealElement=function(m){if(m.getAttribute('_cke_real_node_type')!=1)return null;return h.createFromHtml(decodeURIComponent(m.getAttribute('_cke_realelement')),this.document);};j.add('richcombo',{requires:['floatpanel','listblock','button'],beforeInit:function(m){m.ui.addHandler(3,k.richCombo.handler);}});a.UI_RICHCOMBO=3;k.richCombo=e.createClass({$:function(m){var o=this;e.extend(o,m,{title:m.label,modes:{wysiwyg:1}});var n=o.panel||{};delete o.panel;o.id=e.getNextNumber();o.document=n&&n.parent&&n.parent.getDocument()||a.document;n.className=(n.className||'')+' cke_rcombopanel';n.block={multiSelect:n.multiSelect,attributes:n.attributes};o._={panelDefinition:n,items:{},state:2};},statics:{handler:{create:function(m){return new k.richCombo(m);}}},proto:{renderHtml:function(m){var n=[];this.render(m,n);return n.join('');},render:function(m,n){var o=b,p='cke_'+this.id,q=e.addFunction(function(t){var w=this;var u=w._;if(u.state==0)return;w.createPanel(m);if(u.on){u.panel.hide();return; -}!u.committed&&w.commit();var v=w.getValue();if(v)u.list.mark(v);else u.list.unmarkAll();u.panel.showBlock(w.id,new h(t),4);},this),r={id:p,combo:this,focus:function(){var t=a.document.getById(p).getChild(1);t.focus();},clickFn:q};m.on('mode',function(){this.setState(this.modes[m.mode]?2:0);},this);var s=e.addFunction(function(t,u){t=new d.event(t);var v=t.getKeystroke();switch(v){case 13:case 32:case 40:e.callFunction(q,u);break;default:r.onkey(r,v);}t.preventDefault();});r.keyDownFn=s;n.push('','','',this.label,'','=10900&&!o.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',p,'_label" aria-describedby="',p,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',s,', event, this );" onclick="CKEDITOR.tools.callFunction(',q,', this); return false;">'+this.label+''+''+''+(b.hc?'':'')+''+''+''+'');if(this.onRender)this.onRender();return r;},createPanel:function(m){if(this._.panel)return;var n=this._.panelDefinition,o=this._.panelDefinition.block,p=n.parent||a.document.getBody(),q=new k.floatPanel(m,p,n),r=q.addListBlock(this.id,o),s=this;q.onShow=function(){if(s.className)this.element.getFirst().addClass(s.className+'_panel');s.setState(1);r.focus(!s.multiSelect&&s.getValue());s._.on=1;if(s.onOpen)s.onOpen();};q.onHide=function(t){if(s.className)this.element.getFirst().removeClass(s.className+'_panel');s.setState(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();s.document.getById('cke_'+s.id).getFirst().getNext().focus();};r.onClick=function(t,u){s.document.getWindow().focus();if(s.onClick)s.onClick.call(s,t,u);if(u)s.setValue(t,s._.items[t]);else s.setValue('');q.hide();};this._.panel=q;this._.list=r;q.getBlock(this.id).onHide=function(){s._.on=0;s.setState(2);};if(this.init)this.init();},setValue:function(m,n){var p=this;p._.value=m;var o=p.document.getById('cke_'+p.id+'_text');if(!(m||n)){n=p.label;o.addClass('cke_inline_label');}else o.removeClass('cke_inline_label'); -o.setHtml(typeof n!='undefined'?n:m);},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(m){this._.list.mark(m);},hideItem:function(m){this._.list.hideItem(m);},hideGroup:function(m){this._.list.hideGroup(m);},showAll:function(){this._.list.showAll();},add:function(m,n,o){this._.items[m]=o||m;this._.list.add(m,n,o);},startGroup:function(m){this._.list.startGroup(m);},commit:function(){this._.list.commit();this._.committed=1;},setState:function(m){var n=this;if(n._.state==m)return;n.document.getById('cke_'+n.id).setState(m);n._.state=m;}}});k.prototype.addRichCombo=function(m,n){this.add(m,3,n);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var o=this;o.base();o.indentationChars='\t';o.selfClosingEnd=' />';o.lineBreakChars='\n';o.forceSimpleAmpersand=0;o.sortAttributes=1;o._.indent=0;o._.indentation='';o._.inPre=0;o._.rules={};var m=f;for(var n in e.extend({},m.$nonBodyContent,m.$block,m.$listItem,m.$tableContent))o.setRules(n,{indent:1,breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:!m[n]['#'],breakAfterClose:1});o.setRules('br',{breakAfterOpen:1});o.setRules('title',{indent:0,breakAfterOpen:0});o.setRules('style',{indent:0,breakBeforeClose:1});o.setRules('pre',{indent:0});},proto:{openTag:function(m,n){var p=this;var o=p._.rules[m];if(p._.indent)p.indentation();else if(o&&o.breakBeforeOpen){p.lineBreak();p.indentation();}p._.output.push('<',m);},openTagClose:function(m,n){var p=this;var o=p._.rules[m];if(n)p._.output.push(p.selfClosingEnd);else{p._.output.push('>');if(o&&o.indent)p._.indentation+=p.indentationChars;}if(o&&o.breakAfterOpen)p.lineBreak();m=='pre'&&(p._.inPre=1);},attribute:function(m,n){if(typeof n=='string'){this.forceSimpleAmpersand&&(n=n.replace(/&/g,'&'));n=e.htmlEncodeAttr(n);}this._.output.push(' ',m,'="',n,'"');},closeTag:function(m){var o=this;var n=o._.rules[m];if(n&&n.indent)o._.indentation=o._.indentation.substr(o.indentationChars.length);if(o._.indent)o.indentation();else if(n&&n.breakBeforeClose){o.lineBreak();o.indentation();}o._.output.push('');m=='pre'&&(o._.inPre=0);if(n&&n.breakAfterClose)o.lineBreak();},text:function(m){var n=this;if(n._.indent){n.indentation();!n._.inPre&&(m=e.ltrim(m));}n._.output.push(m);},comment:function(m){if(this._.indent)this.indentation();this._.output.push('');},lineBreak:function(){var m=this;if(!m._.inPre&&m._.output.length>0)m._.output.push(m.lineBreakChars);m._.indent=1; -},indentation:function(){var m=this;if(!m._.inPre)m._.output.push(m._.indentation);m._.indent=0;},setRules:function(m,n){var o=this._.rules[m];if(o)e.extend(o,n,true);else this._.rules[m]=n;}}});j.add('menubutton',{requires:['button','contextmenu'],beforeInit:function(m){m.ui.addHandler(5,k.menuButton.handler);}});a.UI_MENUBUTTON=5;(function(){var m=function(n){var o=this._;if(o.state===0)return;o.previousState=o.state;var p=o.menu;if(!p){p=o.menu=new j.contextMenu(n);p.definition.panel.attributes['aria-label']=n.lang.common.options;p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},this);if(this.onMenu)p.addListener(this.onMenu);}if(o.on){p.hide();return;}this.setState(1);p.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(n){var o=n.panel;delete n.panel;this.base(n);this.hasArrow=true;this.click=m;},statics:{handler:{create:function(n){return new k.menuButton(n);}}}});})();j.add('dialogui');(function(){var m=function(u){var x=this;x._||(x._={});x._['default']=x._.initValue=u['default']||'';x._.required=u.required||false;var v=[x._];for(var w=1;w',v.label,'','');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'
                          ');return o;},getHolderElement:function(){var m=this._.holder;if(!m){if(this.forceIFrame||this.css.length){var n=this.document.getById(this.id+'_frame'),o=n.getParent(),p=o.getAttribute('dir'),q=o.getParent().getAttribute('class'),r=o.getParent().getAttribute('lang'),s=n.getFrameDocument();s.$.open();if(b.isCustomDomain())s.$.domain=document.domain;var t=e.addFunction(e.bind(function(v){this.isLoaded=true;if(this.onLoad)this.onLoad();},this));s.$.write(''+''+''+''+''+e.buildStyleHtml(this.css)+'');s.$.close();var u=s.getWindow();u.$.CKEDITOR=a;s.on('key'+(b.opera?'press':'down'),function(v){var y=this;var w=v.data.getKeystroke(),x=y.document.getById(y.id).getAttribute('dir');if(y._.onKeyDown&&y._.onKeyDown(w)===false){v.data.preventDefault();return;}if(w==27||w==(x=='rtl'?39:37))if(y.onEscape&&y.onEscape(w)===false)v.data.preventDefault();},this);m=s.getBody();m.unselectable();}else m=this.document.getById(this.id);this._.holder=m;}return m;},addBlock:function(m,n){var o=this;n=o._.blocks[m]=n instanceof k.panel.block?n:new k.panel.block(o.getHolderElement(),n);if(!o._.currentBlock)o.showBlock(m);return n;},getBlock:function(m){return this._.blocks[m];},showBlock:function(m){var n=this._.blocks,o=n[m],p=this._.currentBlock,q=this.forceIFrame?this.document.getById(this.id+'_frame'):this._.holder;q.getParent().getParent().disableContextMenu();if(p){q.removeAttributes(p.attributes);p.hide();}this._.currentBlock=o;q.setAttributes(o.attributes);a.fire('ariaWidget',q);o._.focusIndex=-1;this._.onKeyDown=o.onKeyDown&&e.bind(o.onKeyDown,o);o.onMark=function(r){q.setAttribute('aria-activedescendant',r.getId()+'_option');};o.onUnmark=function(){q.removeAttribute('aria-activedescendant');};o.show();return o;},destroy:function(){this.element&&this.element.remove();}};k.panel.block=e.createClass({$:function(m,n){var o=this; -o.element=m.append(m.getDocument().createElement('div',{attributes:{tabIndex:-1,'class':'cke_panel_block',role:'presentation'},styles:{display:'none'}}));if(n)e.extend(o,n);if(!o.attributes.title)o.attributes.title=o.attributes['aria-label'];o.keys={};o._.focusIndex=-1;o.element.disableContextMenu();},_:{markItem:function(m){var p=this;if(m==-1)return;var n=p.element.getElementsByTag('a'),o=n.getItem(p._.focusIndex=m);if(b.webkit||b.opera)o.getDocument().getWindow().focus();o.focus();p.onMark&&p.onMark(o);}},proto:{show:function(){this.element.setStyle('display','');},hide:function(){var m=this;if(!m.onHide||m.onHide.call(m)!==true)m.element.setStyle('display','none');},onKeyDown:function(m){var r=this;var n=r.keys[m];switch(n){case 'next':var o=r._.focusIndex,p=r.element.getElementsByTag('a'),q;while(q=p.getItem(++o)){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'prev':o=r._.focusIndex;p=r.element.getElementsByTag('a');while(o>0&&(q=p.getItem(--o))){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'click':o=r._.focusIndex;q=o>=0&&r.element.getElementsByTag('a').getItem(o);if(q)q.$.click?q.$.click():q.$.onclick();return false;}return true;}}});j.add('listblock',{requires:['panel'],onLoad:function(){k.panel.prototype.addListBlock=function(m,n){return this.addBlock(m,new k.listBlock(this.getHolderElement(),n));};k.listBlock=e.createClass({base:k.panel.block,$:function(m,n){var q=this;n=n||{};var o=n.attributes||(n.attributes={});(q.multiSelect=!!n.multiSelect)&&(o['aria-multiselectable']=true);!o.role&&(o.role='listbox');q.base.apply(q,arguments);var p=q.keys;p[40]='next';p[9]='next';p[38]='prev';p[2000+9]='prev';p[32]='click';q._.pendingHtml=[];q._.items={};q._.groups={};},_:{close:function(){if(this._.started){this._.pendingHtml.push('
                        ');delete this._.started;}},getClick:function(){if(!this._.click)this._.click=e.addFunction(function(m){var o=this;var n=true;if(o.multiSelect)n=o.toggle(m);else o.mark(m);if(o.onClick)o.onClick(m,n);},this);return this._.click;}},proto:{add:function(m,n,o){var r=this;var p=r._.pendingHtml,q=e.getNextId();if(!r._.started){p.push('
                        ',a.document);o.appendTo(a.document.getHead());try{b.hc=o.getComputedStyle('background-image')=='none';}catch(p){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';o.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0; +m0){z=A.shift();while(!z.getParent().equals(D))z=z.getParent();if(!z.equals(H))E.push(z);H=z;}while(E.length>0){z=E.shift();if(z.getName()=='blockquote'){var I=new d.documentFragment(q.document);while(z.getFirst()){I.append(z.getFirst().remove());A.push(I.getLast());}I.replace(z);}else A.push(z);}var J=q.document.createElement('blockquote');J.insertBefore(A[0]);while(A.length>0){z=A.shift();J.append(z);}}else if(r==1){var K=[],L={};while(z=y.getNextParagraph()){var M=null,N=null;while(z.getParent()){if(z.getParent().getName()=='blockquote'){M=z.getParent();N=z;break;}z=z.getParent();}if(M&&N&&!N.getCustomData('blockquote_moveout')){K.push(N); +h.setMarker(L,N,'blockquote_moveout',true);}}h.clearAllMarkers(L);var O=[],P=[];L={};while(K.length>0){var Q=K.shift();J=Q.getParent();if(!Q.getPrevious())Q.remove().insertBefore(J);else if(!Q.getNext())Q.remove().insertAfter(J);else{Q.breakParent(Q.getParent());P.push(Q.getNext());}if(!J.getCustomData('blockquote_processed')){P.push(J);h.setMarker(L,J,'blockquote_processed',true);}O.push(Q);}h.clearAllMarkers(L);for(F=P.length-1;F>=0;F--){J=P[F];if(o(J))J.remove();}if(q.config.enterMode==2){var R=true;while(O.length){Q=O.shift();if(Q.getName()=='div'){I=new d.documentFragment(q.document);var S=R&&Q.getPrevious()&&!(Q.getPrevious().type==1&&Q.getPrevious().isBlockBoundary());if(S)I.append(q.document.createElement('br'));var T=Q.getNext()&&!(Q.getNext().type==1&&Q.getNext().isBlockBoundary());while(Q.getFirst())Q.getFirst().remove().appendTo(I);if(T)I.append(q.document.createElement('br'));I.replace(Q);R=false;}}}}s.selectBookmarks(u);q.focus();}};j.add('blockquote',{init:function(q){q.addCommand('blockquote',p);q.ui.addButton('Blockquote',{label:q.lang.blockquote,command:'blockquote'});q.on('selectionChange',n);},requires:['domiterator']});})();j.add('button',{beforeInit:function(m){m.ui.addHandler(1,k.button.handler);}});a.UI_BUTTON=1;k.button=function(m){e.extend(this,m,{title:m.label,className:m.className||m.command&&'cke_button_'+m.command||'',click:m.click||(function(n){n.execCommand(m.command);})});this._={};};k.button.handler={create:function(m){return new k.button(m);}};k.button.prototype={canGroup:true,render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s,t;this._.editor=m;var u={id:p,button:this,editor:m,focus:function(){var x=a.document.getById(p);x.focus();},execute:function(){this.button.click(m);}};u.clickFn=s=e.addFunction(u.execute,u);u.index=t=k.button._.instances.push(u)-1;if(this.modes){var v={};m.on('beforeModeUnload',function(){v[m.mode]=this._.state;},this);m.on('mode',function(){var x=m.mode;this.setState(this.modes[x]?v[x]!=undefined?v[x]:2:0);},this);}else if(r){r=m.getCommand(r);if(r){r.on('state',function(){this.setState(r.state);},this);q+='cke_'+(r.state==1?'on':r.state==0?'disabled':'off');}}if(!r)q+='cke_off';if(this.className)q+=' '+this.className;n.push('','=10900&&!o.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+p+'_label"'+(this.hasArrow?' aria-haspopup="true"':'')); +if(o.opera||o.gecko&&o.mac)n.push(' onkeypress="return false;"');if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.ui.button._.keydown(',t,', event);" onfocus="return CKEDITOR.ui.button._.focus(',t,', event);" onclick="CKEDITOR.tools.callFunction(',s,', this); return false;"> ',this.label,'');if(this.hasArrow)n.push(''+(b.hc?'▼':' ')+'');n.push('','');if(this.onRender)this.onRender();return u;},setState:function(m){if(this._.state==m)return false;this._.state=m;var n=a.document.getById(this._.id);if(n){n.setState(m);m==0?n.setAttribute('aria-disabled',true):n.removeAttribute('aria-disabled');m==1?n.setAttribute('aria-pressed',true):n.removeAttribute('aria-pressed');return true;}else return false;}};k.button._={instances:[],keydown:function(m,n){var o=k.button._.instances[m];if(o.onkey){n=new d.event(n);return o.onkey(o,n.getKeystroke())!==false;}},focus:function(m,n){var o=k.button._.instances[m],p;if(o.onfocus)p=o.onfocus(o,new d.event(n))!==false;if(b.gecko&&b.version<10900)n.preventBubble();return p;}};k.prototype.addButton=function(m,n){this.add(m,1,n);};a.on('reset',function(){k.button._.instances=[];});(function(){var m=function(t,u){var v=t.document,w=v.getBody(),x=0,y=function(){x=1;};w.on(u,y);(b.version>7?v.$:v.$.selection.createRange()).execCommand(u);w.removeListener(u,y);return x;},n=c?function(t,u){return m(t,u);}:function(t,u){try{return t.document.$.execCommand(u);}catch(v){return false;}},o=function(t){this.type=t;this.canUndo=this.type=='cut';};o.prototype={exec:function(t,u){this.type=='cut'&&s(t);var v=n(t,this.type);if(!v)alert(t.lang.clipboard[this.type+'Error']);return v;}};var p={canUndo:false,exec:c?function(t){t.focus();if(!t.document.getBody().fire('beforepaste')&&!m(t,'paste')){t.fire('pasteDialog');return false;}}:function(t){try{if(!t.document.getBody().fire('beforepaste')&&!t.document.$.execCommand('Paste',false,null))throw 0;}catch(u){setTimeout(function(){t.fire('pasteDialog');},0);return false;}}},q=function(t){if(this.mode!='wysiwyg')return;switch(t.data.keyCode){case 1000+86:case 2000+45:var u=this.document.getBody();if(!c&&u.fire('beforepaste'))t.cancel();else if(b.opera||b.gecko&&b.version<10900)u.fire('paste'); +return;case 1000+88:case 2000+46:var v=this;this.fire('saveSnapshot');setTimeout(function(){v.fire('saveSnapshot');},0);}};function r(t,u,v){var w=this.document;if(w.getById('cke_pastebin'))return;if(u=='text'&&t.data&&t.data.$.clipboardData){var x=t.data.$.clipboardData.getData('text/plain');if(x){t.data.preventDefault();v(x);return;}}var y=this.getSelection(),z=new d.range(w),A=new h(u=='text'?'textarea':b.webkit?'body':'div',w);A.setAttribute('id','cke_pastebin');b.webkit&&A.append(w.createText('\xa0'));w.getBody().append(A);A.setStyles({position:'absolute',top:y.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});A.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var B=y.createBookmarks();if(u=='text'){if(c){var C=w.getBody().$.createTextRange();C.moveToElementText(A.$);C.execCommand('Paste');t.data.preventDefault();}else{w.$.designMode='off';A.$.focus();}}else{z.setStartAt(A,1);z.setEndAt(A,2);z.select(true);}window.setTimeout(function(){u=='text'&&!c&&(w.$.designMode='on');A.remove();var D;A=b.webkit&&(D=A.getFirst())&&D.is&&D.hasClass('Apple-style-span')?D:A;y.selectBookmarks(B);v(A['get'+(u=='text'?'Value':'Html')]());},0);};function s(t){if(!c||b.quirks)return;var u=t.getSelection(),v;if(u.getType()==3&&(v=u.getSelectedElement())){var w=u.getRanges()[0],x=t.document.createText('');x.insertBefore(v);w.setStartBefore(x);w.setEndAfter(v);u.selectRanges([w]);setTimeout(function(){if(v.getParent()){x.remove();u.selectElement(v);}},0);}};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(t){t.on('paste',function(y){var z=y.data;if(z.html)t.insertHtml(z.html);else if(z.text)t.insertText(z.text);setTimeout(function(){t.fire('afterPaste');},0);},null,null,1000);t.on('pasteDialog',function(y){setTimeout(function(){t.openDialog('paste');},0);});function u(y,z,A,B){var C=t.lang[z];t.addCommand(z,A);t.ui.addButton(y,{label:C,command:z});if(t.addMenuItems)t.addMenuItem(z,{label:C,command:z,group:'clipboard',order:B});};u('Cut','cut',new o('cut'),1);u('Copy','copy',new o('copy'),4);u('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));t.on('key',q,t);var v=t.config.forcePasteAsPlainText?'text':'html';t.on('contentDom',function(){var y=t.document.getBody();y.on(v=='text'&&c||b.webkit?'paste':'beforepaste',function(z){if(w)return;r.call(t,z,v,function(A){if(!e.trim(A.toLowerCase().replace(/]+data-cke-bookmark[^<]*?<\/span>/g,'')))return;var B={}; +B[v]=A;t.fire('paste',B);});});y.on('beforecut',function(){!w&&s(t);});});if(t.contextMenu){var w;function x(y){c&&(w=1);var z=t.document.$.queryCommandEnabled(y)?2:0;w=0;return z;};t.contextMenu.addListener(function(y,z){var A=z.getCommonAncestor().isReadOnly();return{cut:!A&&x('Cut'),copy:x('Copy'),paste:!A&&(b.webkit?2:x('Paste'))};});}}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(m){var n=m.config,o=m.lang.colorButton,p;if(!b.hc){q('TextColor','fore',o.textColorTitle);q('BGColor','back',o.bgColorTitle);}function q(s,t,u){m.ui.add(s,4,{label:u,title:u,className:'cke_button_'+s.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(v,w){w.autoSize=true;w.element.addClass('cke_colorblock');w.element.setHtml(r(v,t));w.element.getDocument().getBody().setStyle('overflow','hidden');var x=w.keys,y=m.lang.dir=='rtl';x[y?37:39]='next';x[40]='next';x[9]='next';x[y?39:37]='prev';x[38]='prev';x[2000+9]='prev';x[32]='click';}});};function r(s,t){var u=[],v=n.colorButton_colors.split(','),w=v.length+(n.colorButton_enableMore?2:1),x=e.addFunction(function(D,E){if(D=='?'){var F=arguments.callee;function G(I){this.removeListener('ok',G);this.removeListener('cancel',G);I.name=='ok'&&F(this.getContentElement('picker','selectedColor').getValue(),E);};m.openDialog('colordialog',function(){this.on('ok',G);this.on('cancel',G);});return;}m.focus();s.hide();m.fire('saveSnapshot');new a.style(n['colorButton_'+E+'Style'],{color:'inherit'}).remove(m.document);if(D){var H=n['colorButton_'+E+'Style'];H.childRule=E=='back'?function(){return false;}:function(I){return I.getName()!='a';};new a.style(H,{color:D}).apply(m.document);}m.fire('saveSnapshot');});u.push('
                        ',o.auto,'
                        ');for(var y=0;y');var z=v[y].split('/'),A=z[0],B=z[1]||A;if(!z[1])A='#'+A.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var C=m.lang.colors[B]||B;u.push(''); +}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)u.push('');u.push('
                        ',o.more,'
                        ');return u.join('');};}});i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};(function(){j.colordialog={init:function(m){m.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);})();j.add('contextmenu',{requires:['menu'],beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.show(m.document.getBody());}});}});j.contextMenu=e.createClass({$:function(m){this.id=e.getNextId();this.editor=m;this._.listeners=[];this._.functionId=e.addFunction(function(n){this._.panel.hide();m.focus();m.execCommand(n);},this);this.definition={panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}};},_:{onMenu:function(m,n,o,p){var q=this._.menu,r=this.editor;if(q){q.hide();q.removeAll();}else{q=this._.menu=new a.menu(r,this.definition);q.onClick=e.bind(function(A){q.hide();if(A.onClick)A.onClick();else if(A.command)r.execCommand(A.command);},this);q.onEscape=function(A){var B=this.parent;if(B){B._.panel.hideChild();var C=B._.panel._.panel._.currentBlock,D=C._.focusIndex;C._.markItem(D);}else if(A==27){this.hide();r.focus();}return false;};}var s=this._.listeners,t=[],u=this.editor.getSelection(),v=u&&u.getStartElement();q.onHide=e.bind(function(){q.onHide=null;if(c){var A=r.getSelection();A&&A.unlock();}this.onHide&&this.onHide();},this);for(var w=0;w ';j.add('elementspath',{requires:['selection'],init:function(o){var p='cke_path_'+o.name,q,r=function(){if(!q)q=a.document.getById(p);return q;},s='cke_elementspath_'+e.getNextNumber()+'_';o._.elementsPath={idBase:s,filters:[]};o.on('themeSpace',function(t){if(t.data.space=='bottom')t.data.html+=''+o.lang.elementsPath.eleLabel+''+'
                        '+n+'
                        ';});o.on('selectionChange',function(t){var u=b,v=t.data.selection,w=v.getStartElement(),x=[],y=t.editor,z=y._.elementsPath.list=[],A=y._.elementsPath.filters; +while(w){var B=0;for(var C=0;C',E,''+G+'','');}if(E=='body')break;w=w.getParent();}r().setHtml(x.join('')+n);});o.on('contentDomUnload',function(){q&&q.setHtml(n);});o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();a._.elementsPath={click:function(m,n){var o=a.instances[m];o.focus();var p=o._.elementsPath.list[n];if(p.is('body')){var q=new d.range(o.document);q.selectNodeContents(p);q.select();}else o.getSelection().selectElement(p);return false;},keydown:function(m,n,o){var p=k.button._.instances[n],q=a.instances[m],r=q._.elementsPath.idBase,s;o=new d.event(o);var t=q.lang.dir=='rtl';switch(o.getKeystroke()){case t?39:37:case 9:s=a.document.getById(r+(n+1));if(!s)s=a.document.getById(r+'0');s.focus();return false;case t?37:39:case 2000+9:s=a.document.getById(r+(n-1));if(!s)s=a.document.getById(r+(q._.elementsPath.list.length-1));s.focus();return false;case 27:q.focus();return false;case 13:case 32:this.click(m,n);return false;}return true;}};(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){var u=t.specialKeys;u[13]=r;u[2000+13]=q;}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document;if(v.checkStartOfBlock()&&v.checkEndOfBlock()){var y=new d.elementPath(v.startContainer),z=y.block;if(z&&(z.is('li')||z.getParent().is('li'))){t.execCommand('outdent');return;}}var A=u==3?'div':'p',B=v.splitBlock(A);if(!B)return;var C=B.previousBlock,D=B.nextBlock,E=B.wasStartOfBlock,F=B.wasEndOfBlock,G;if(D){G=D.getParent();if(G.is('li')){D.breakParent(G);D.move(D.getNext(),1);}}else if(C&&(G=C.getParent())&&G.is('li')){C.breakParent(G);v.moveToElementEditStart(C.getNext());C.move(C.getPrevious());}if(!E&&!F){if(D.is('li')&&(G=D.getFirst(d.walker.invisible(true)))&&G.is&&G.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(G); +if(D)v.moveToElementEditStart(D);}else{var H,I;if(C){if(C.is('li')||!p.test(C.getName()))H=C.clone();}else if(D)H=D.clone();if(!H){H=x.createElement(A);if(C&&(I=C.getDirection()))H.setAttribute('dir',I);}else if(w&&!H.is('li'))H.renameNode(A);var J=B.elementPath;if(J)for(var K=0,L=J.elements.length;K0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt',n='iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,quot,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',o='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',p='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv'; +function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<'};r=r.replace(/\b(nbsp|shy|gt|lt|amp)(?:,|$)/g,function(A,B){var C=s?'&'+B+';':v[B],D=s?v[B]:'&'+B+';';t[C]=D;u.push(C);return '';});if(!s&&r){r=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y'+u+'',u);}},onClick:function(t){m.focus();m.fire('saveSnapshot');q[t].apply(m.document);setTimeout(function(){m.fire('saveSnapshot');},0);},onRender:function(){m.on('selectionChange',function(t){var u=this.getValue(),v=t.data.path;for(var w in q){if(q[w].checkActive(v)){if(w!=u)this.setValue(w,m.lang.format['tag_'+w]);return;}}this.setValue('');},this);}});}});i.format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div';i.format_p={element:'p'};i.format_div={element:'div'};i.format_pre={element:'pre'};i.format_address={element:'address'};i.format_h1={element:'h1'};i.format_h2={element:'h2'};i.format_h3={element:'h3'};i.format_h4={element:'h4'};i.format_h5={element:'h5'};i.format_h6={element:'h6'};j.add('forms',{init:function(m){var n=m.lang;m.addCss('form{border: 1px dotted #FF0000;padding: 2px;}\n');m.addCss('img.cke_hidden{background-image: url('+a.getUrl(this.path+'images/hiddenfield.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 16px !important;'+'height: 16px !important;'+'}'); +var o=function(q,r,s){m.addCommand(r,new a.dialogCommand(r));m.ui.addButton(q,{label:n.common[q.charAt(0).toLowerCase()+q.slice(1)],command:r});a.dialog.add(r,s);},p=this.path+'dialogs/';o('Form','form',p+'form.js');o('Checkbox','checkbox',p+'checkbox.js');o('Radio','radio',p+'radio.js');o('TextField','textfield',p+'textfield.js');o('Textarea','textarea',p+'textarea.js');o('Select','select',p+'select.js');o('Button','button',p+'button.js');o('ImageButton','imagebutton',j.getPath('image')+'dialogs/image.js');o('HiddenField','hiddenfield',p+'hiddenfield.js');if(m.addMenuItems)m.addMenuItems({form:{label:n.form.menu,command:'form',group:'form'},checkbox:{label:n.checkboxAndRadio.checkboxTitle,command:'checkbox',group:'checkbox'},radio:{label:n.checkboxAndRadio.radioTitle,command:'radio',group:'radio'},textfield:{label:n.textfield.title,command:'textfield',group:'textfield'},hiddenfield:{label:n.hidden.title,command:'hiddenfield',group:'hiddenfield'},imagebutton:{label:n.image.titleButton,command:'imagebutton',group:'imagebutton'},button:{label:n.button.title,command:'button',group:'button'},select:{label:n.select.title,command:'select',group:'select'},textarea:{label:n.textarea.title,command:'textarea',group:'textarea'}});if(m.contextMenu){m.contextMenu.addListener(function(q){if(q&&q.hasAscendant('form',true)&&!q.isReadOnly())return{form:2};});m.contextMenu.addListener(function(q){if(q&&!q.isReadOnly()){var r=q.getName();if(r=='select')return{select:2};if(r=='textarea')return{textarea:2};if(r=='input'){var s=q.getAttribute('type');if(s=='text'||s=='password')return{textfield:2};if(s=='button'||s=='submit'||s=='reset')return{button:2};if(s=='checkbox')return{checkbox:2};if(s=='radio')return{radio:2};if(s=='image')return{imagebutton:2};}if(r=='img'&&q.getAttribute('_cke_real_element_type')=='hiddenfield')return{hiddenfield:2};}});}m.on('doubleclick',function(q){var r=q.data.element;if(r.is('form'))q.data.dialog='form';else if(r.is('select'))q.data.dialog='select';else if(r.is('textarea'))q.data.dialog='textarea';else if(r.is('img')&&r.getAttribute('_cke_real_element_type')=='hiddenfield')q.data.dialog='hiddenfield';else if(r.is('input')){var s=r.getAttribute('type');switch(s){case 'text':case 'password':q.data.dialog='textfield';break;case 'button':case 'submit':case 'reset':q.data.dialog='button';break;case 'checkbox':q.data.dialog='checkbox';break;case 'radio':q.data.dialog='radio';break;case 'image':q.data.dialog='imagebutton';break;}}});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.htmlFilter,p=n&&n.dataFilter; +if(c)o&&o.addRules({elements:{input:function(q){var r=q.attributes,s=r.type;if(s=='checkbox'||s=='radio')r.value=='on'&&delete r.value;}}});if(p)p.addRules({elements:{input:function(q){if(q.attributes.type=='hidden')return m.createFakeParserElement(q,'cke_hidden','hiddenfield');}}});},requires:['image','fakeobjects']});if(c)h.prototype.hasAttribute=function(m){var p=this;var n=p.$.attributes.getNamedItem(m);if(p.getName()=='input')switch(m){case 'class':return p.$.className.length>0;case 'checked':return!!p.$.checked;case 'value':var o=p.getAttribute('type');if(o=='checkbox'||o=='radio')return p.$.value!='on';break;default:}return!!(n&&n.specified);};(function(){var m={canUndo:false,exec:function(o){o.insertElement(o.document.createElement('hr'));}},n='horizontalrule';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('HorizontalRule',{label:o.lang.horizontalrule,command:n});}});})();(function(){var m=/^[\t\r\n ]*(?: |\xa0)$/,n='{cke_protected}';function o(T){var U=T.children.length,V=T.children[U-1];while(V&&V.type==3&&!e.trim(V.value))V=T.children[--U];return V;};function p(T,U){var V=T.children,W=o(T);if(W){if((U||!c)&&W.type==1&&W.name=='br')V.pop();if(W.type==3&&m.test(W.value))V.pop();}};function q(T,U){if(U&&c&&(document.documentMode>7||T.name in f.tr||T.name in f.$listItem))return false;var V=o(T);return!V||V.type==1&&V.name=='br'||T.name=='form'&&V.name=='input';};function r(T){p(T,true);if(q(T,true))if(c)T.add(new a.htmlParser.text('\xa0'));else T.add(new a.htmlParser.element('br',{}));};function s(T){p(T);if(q(T))T.add(new a.htmlParser.text('\xa0'));};var t=f,u=e.extend({},t.$block,t.$listItem,t.$tableContent);for(var v in u){if(!('br' in t[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},x={elements:{}};for(v in u)x.elements[v]=r;var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes;if(U){if(U.cke_temp)return false;var V=['name','href','src'],W;for(var X=0;X]+)))([^>]*)>/gi,D=/\s_cke_saved_src\s*=/,E=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,H=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function J(T){return T.replace(C,function(U,V,W,X,Y){if(X=='src'&&D.test(U))return U;else return '<'+V+W+' _cke_saved_'+W+Y+'>';});};function K(T){return T.replace(E,function(U){return ''+encodeURIComponent(U)+'';});};function L(T){return T.replace(F,function(U,V){return decodeURIComponent(V);});};function M(T){return T.replace(G,'$1cke:$2');};function N(T){return T.replace(H,'$1$2');};function O(T){return T.replace(I,'');};function P(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function Q(T){return T.replace(//g,function(U){return '';});};function R(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function S(T,U){var V=[],W=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,X=[//gi,//gi].concat(U);T=T.replace(//g,function(Z){return '';});for(var Y=0;Y'; +});T=T.replace(W,function(Z,aa,ab){return '';});return T;};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);U.htmlFilter.addRules(z);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor.config.protectedSource);T=J(T);T=K(T);T=M(T);T=O(T);T=P(T);var V=new h('div');V.setHtml('a'+T);T=V.getHtml().substr(1);T=N(T);T=L(T);T=R(T);var W=a.htmlParser.fragment.fromHtml(T,U),X=new a.htmlParser.basicWriter();W.writeHtml(X,this.dataFilter);T=X.getHtml(true);T=Q(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset();W.writeHtml(V,this.htmlFilter);return V.getHtml(true);}};})();j.add('image',{init:function(m){var n='image';a.dialog.add(n,this.path+'dialogs/image.js');m.addCommand(n,new a.dialogCommand(n));m.ui.addButton('Image',{label:m.lang.common.image,command:n});m.on('doubleclick',function(o){var p=o.data.element;if(p.is('img')&&!p.getAttribute('_cke_realelement'))o.data.dialog='image';});if(m.addMenuItems)m.addMenuItems({image:{label:m.lang.image.menu,command:'image',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(o,p){if(!o||!o.is('img')||o.getAttribute('_cke_realelement')||o.isReadOnly())return null;return{image:2};});}});i.image_removeLinkByEmptyURL=true;(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true);function p(u,v){u.getCommand(this.name).setState(v);};function q(u){var D=this;var v=u.editor,w=u.data.path,x=w&&w.contains(m);if(x)return p.call(D,v,2);if(!D.useIndentClasses&&D.name=='indent')return p.call(D,v,2);var y=u.data.path,z=y.block||y.blockLimit;if(!z)return p.call(D,v,0);if(D.useIndentClasses){var A=z.$.className.match(D.classNameRegex),B=0;if(A){A=A[1];B=D.indentClassMap[A];}if(D.name=='outdent'&&!B||D.name=='indent'&&B==v.config.indentClasses.length)return p.call(D,v,0);return p.call(D,v,2);}else{var C=parseInt(z.getStyle(s(z)),10);if(isNaN(C))C=0;if(C<=0)return p.call(D,v,0);return p.call(D,v,2);}};function r(u,v){var x=this;x.name=v;x.useIndentClasses=u.config.indentClasses&&u.config.indentClasses.length>0; +if(x.useIndentClasses){x.classNameRegex=new RegExp('(?:^|\\s+)('+u.config.indentClasses.join('|')+')(?=$|\\s)');x.indentClassMap={};for(var w=0;wZ;U++)Y[U].indent+=V;var ab=j.list.arrayToList(Y,w,null,u.config.enterMode,N.getDirection());if(v.name=='outdent'){var ac;if((ac=N.getParent())&&ac.is('li')){var ad=ab.listNode.getChildren(),ae=[],af=ad.count(),ag;for(U=af-1;U>=0;U--){if((ag=ad.getItem(U))&&ag.is&&ag.is('li'))ae.push(ag);}}}if(ab)ab.listNode.replace(N);if(ae&&ae.length)for(U=0;U0)N.addClass(u.config.indentClasses[Q-1]);}else{var R=s(N,O),S=parseInt(N.getStyle(R),10);if(isNaN(S))S=0;var T=u.config.indentOffset||40;S+=(v.name=='indent'?1:-1)*T;if(S<0)return false;S=Math.max(S,0);S=Math.ceil(S/T)*T;N.setStyle(R,S?S+(u.config.indentUnit||'px'):''); +if(N.getAttribute('style')==='')N.removeAttribute('style');}h.setMarker(w,N,'indent_processed',1);return true;};var A=u.getSelection(),B=A.createBookmarks(1),C=A&&A.getRanges(1),D,E=C.createIterator();while(D=E.getNextRange()){var F=D.getCommonAncestor(),G=F;while(G&&!(G.type==1&&m[G.getName()]))G=G.getParent();if(!G){var H=D.getEnclosedNode();if(H&&H.type==1&&H.getName() in m){D.setStartAt(H,1);D.setEndAt(H,2);G=H;}}if(G&&D.startContainer.type==1&&D.startContainer.getName() in m){var I=new d.walker(D);I.evaluator=t;D.startContainer=I.next();}if(G&&D.endContainer.type==1&&D.endContainer.getName() in m){I=new d.walker(D);I.evaluator=t;D.endContainer=I.previous();}if(G){var J=G.getFirst(t),K=!!J.getNext(t),L=D.startContainer,M=J.equals(L)||J.contains(L);if(!(M&&(v.name=='indent'||v.useIndentClasses||parseInt(G.getStyle(s(G)),10))&&z(G,!K&&J.getDirection())))x(G);}else y();}h.clearAllMarkers(w);u.forceNextSelectionCheck();A.selectBookmarks(B);}};j.add('indent',{init:function(u){var v=new r(u,'indent'),w=new r(u,'outdent');u.addCommand('indent',v);u.addCommand('outdent',w);u.ui.addButton('Indent',{label:u.lang.indent,command:'indent'});u.ui.addButton('Outdent',{label:u.lang.outdent,command:'outdent'});u.on('selectionChange',e.bind(q,v));u.on('selectionChange',e.bind(q,w));if(b.ie6Compat||b.ie7Compat)u.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');u.on('dirChanged',function(x){var y=new d.range(u.document);y.setStartBefore(x.data.node);y.setEndAfter(x.data.node);var z=new d.walker(y),A;while(A=z.next()){if(A.type==1){if(!A.equals(x.data.node)&&A.getDirection()){y.setStartAfter(A);z=new d.walker(y);continue;}var B=u.config.indentClasses;if(B){var C=x.data.dir=='ltr'?['_rtl','']:['','_rtl'];for(var D=0;D=0;A--){x=v[A].createIterator();x.enlargeBr=t!=2;while(y=x.getNextParagraph()){y.removeAttribute('align');y.removeStyle('text-align');var B=w&&(y.$.className=e.ltrim(y.$.className.replace(D.cssClassRegex,''))),C=D.state==2&&(!z||n(y,true)!=D.value);if(w){if(C)y.addClass(w);else if(!B)y.removeAttribute('class');}else if(C)y.setStyle('text-align',D.value);}}r.focus();r.forceNextSelectionCheck();s.selectBookmarks(u);}};j.add('justify',{init:function(r){var s=new p(r,'justifyleft','left'),t=new p(r,'justifycenter','center'),u=new p(r,'justifyright','right'),v=new p(r,'justifyblock','justify');r.addCommand('justifyleft',s);r.addCommand('justifycenter',t);r.addCommand('justifyright',u);r.addCommand('justifyblock',v);r.ui.addButton('JustifyLeft',{label:r.lang.justify.left,command:'justifyleft'});r.ui.addButton('JustifyCenter',{label:r.lang.justify.center,command:'justifycenter'});r.ui.addButton('JustifyRight',{label:r.lang.justify.right,command:'justifyright'});r.ui.addButton('JustifyBlock',{label:r.lang.justify.block,command:'justifyblock'});r.on('selectionChange',e.bind(o,s));r.on('selectionChange',e.bind(o,u));r.on('selectionChange',e.bind(o,t));r.on('selectionChange',e.bind(o,v));r.on('dirChanged',q);},requires:['domiterator']}); +})();j.add('keystrokes',{beforeInit:function(m){m.keystrokeHandler=new a.keystrokeHandler(m);m.specialKeys={};},init:function(m){var n=m.config.keystrokes,o=m.config.blockedKeystrokes,p=m.keystrokeHandler.keystrokes,q=m.keystrokeHandler.blockedKeystrokes;for(var r=0;rI[K-1].indent+1){var O=I[K-1].indent+1-I[K].indent,P=I[K].indent;while(I[K]&&I[K].indent>=P){I[K].indent+=O;K++;}K--;}}var Q=j.list.arrayToList(I,H,null,F.config.enterMode,G.root.getAttribute('dir')),R=Q.listNode,S,T;function U(V){if((S=R[V?'getFirst':'getLast']())&&!(S.is&&S.isBlockBoundary())&&(T=G.root[V?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(T.is&&T.isBlockBoundary({br:1})))F.document.createElement('br')[V?'insertBefore':'insertAfter'](S);};U(true);U();R.replace(G.root);};function x(F,G){this.name=F;this.type=G;};x.prototype={exec:function(F){F.focus();var G=F.document,H=F.getSelection(),I=H&&H.getRanges(true);if(!I||I.length<1)return;if(this.state==2){var J=G.getBody();J.trim();if(!J.getFirst()){var K=G.createElement(F.config.enterMode==1?'p':F.config.enterMode==3?'div':'br');K.appendTo(J);I=new d.rangeList([new d.range(G)]);if(K.is('br')){I[0].setStartBefore(K);I[0].setEndAfter(K);}else I[0].selectNodeContents(K);H.selectRanges(I);}else{var L=I.length==1&&I[0],M=L&&L.getEnclosedNode(); +if(M&&M.is&&this.type==M.getName())r.call(this,F,1);}}var N=H.createBookmarks(true),O=[],P={},Q=I.createIterator(),R=0;while((L=Q.getNextRange())&&++R){var S=L.getBoundaryNodes(),T=S.startNode,U=S.endNode;if(T.type==1&&T.getName()=='td')L.setStartAt(S.startNode,1);if(U.type==1&&U.getName()=='td')L.setEndAt(S.endNode,2);var V=L.createIterator(),W;V.forceBrBreak=this.state==2;while(W=V.getNextParagraph()){if(W.getCustomData('list_block'))continue;else h.setMarker(P,W,'list_block',1);var X=new d.elementPath(W),Y=X.elements,Z=Y.length,aa=null,ab=0,ac=X.blockLimit,ad;for(var ae=Z-1;ae>=0&&(ad=Y[ae]);ae--){if(m[ad.getName()]&&ac.contains(ad)){ac.removeCustomData('list_group_object_'+R);var af=ad.getCustomData('list_group_object');if(af)af.contents.push(W);else{af={root:ad,contents:[W]};O.push(af);h.setMarker(P,ad,'list_group_object',af);}ab=1;break;}}if(ab)continue;var ag=ac;if(ag.getCustomData('list_group_object_'+R))ag.getCustomData('list_group_object_'+R).contents.push(W);else{af={root:ag,contents:[W]};h.setMarker(P,ag,'list_group_object_'+R,af);O.push(af);}}}var ah=[];while(O.length>0){af=O.shift();if(this.state==2){if(m[af.root.getName()])t.call(this,F,af,P,ah);else v.call(this,F,af,ah);}else if(this.state==1&&m[af.root.getName()])w.call(this,F,af,P);}for(ae=0;ae0)for(var u=t.length-1;u>=0;u--){var v=t[u][0],w=t[u][1];if(w)v.insertBefore(w);else v.appendTo(s);}};function o(s,t){var u=m(s),v={},w=s.$;if(!t){v['class']=w.className||'';w.className='';}v.inline=w.style.cssText||'';if(!t)w.style.cssText='position: static; overflow: visible';n(u);return v;};function p(s,t){var u=m(s),v=s.$;if('class' in t)v.className=t['class'];if('inline' in t)v.style.cssText=t.inline;n(u);};function q(s){var t=a.instances;for(var u in t){var v=t[u];if(v.mode=='wysiwyg'){var w=v.document.getBody();w.setAttribute('contentEditable',false);w.setAttribute('contentEditable',true);}}if(s.focusManager.hasFocus){s.toolbox.focus();s.focus();}};function r(s){if(!c||b.version>6)return null;var t=h.createFromHtml('');return s.append(t,true);};j.add('maximize',{init:function(s){var t=s.lang,u=a.document,v=u.getWindow(),w,x,y,z; +function A(){var C=v.getViewPaneSize();z&&z.setStyles({width:C.width+'px',height:C.height+'px'});s.resize(C.width,C.height,null,true);};var B=2;s.addCommand('maximize',{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(){var C=s.container.getChild(1),D=s.getThemeSpace('contents');if(s.mode=='wysiwyg'){var E=s.getSelection();w=E&&E.getRanges();x=v.getScrollPosition();}else{var F=s.textarea.$;w=!c&&[F.selectionStart,F.selectionEnd];x=[F.scrollLeft,F.scrollTop];}if(this.state==2){v.on('resize',A);y=v.getScrollPosition();var G=s.container;while(G=G.getParent()){G.setCustomData('maximize_saved_styles',o(G));G.setStyle('z-index',s.config.baseFloatZIndex-1);}D.setCustomData('maximize_saved_styles',o(D,true));C.setCustomData('maximize_saved_styles',o(C,true));var H=v.getViewPaneSize(),I={overflow:'hidden',width:0,height:0};u.getDocumentElement().setStyles(I);!b.gecko&&u.getDocumentElement().setStyle('position','fixed');u.getBody().setStyles(I);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position','absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var J=C.getDocumentPosition();C.setStyles({left:-1*J.x+'px',top:-1*J.y+'px'});b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var K=[D,C];for(var L=0;L 
                    ');o=m.createFakeElement(o,'cke_pagebreak','div');o.setAttribute('alt',n);o.setAttribute('aria-label',n);var p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.width*parseInt(n,10)/100,10);if(typeof o=='string'&&o.length>1&&o.substr(o.length-1,1)=='%')o=parseInt(window.screen.height*parseInt(o,10)/100,10);if(n<640)n=640;if(o<420)o=420;var q=parseInt((window.screen.height-o)/2,10),r=parseInt((window.screen.width-n)/2,10);p=(p||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+n+',height='+o+',top='+q+',left='+r;var s=window.open('',null,p,true);if(!s)return false;try{var ua=navigator.userAgent.toLowerCase(); if(ua.indexOf( ' chrome/' ) == -1){s.moveTo(r,q);s.resizeTo(n,o);}s.focus();s.location.href=m;}catch(t){s=window.open(m,null,p,true);}return true;}});(function(){var m={modes:{wysiwyg:1,source:1},canUndo:false,exec:function(o){var p,q=o.config,r=q.baseHref?'':'',s=b.isCustomDomain(); +if(q.fullPage)p=o.getData().replace(//,'$&'+r).replace(/[^>]*(?=<\/title>)/,o.lang.preview);else{var t=''+''+r+''+o.lang.preview+''+e.buildStyleHtml(o.config.contentsCss)+''+t+o.getData()+'';}var v=640,w=420,x=80;try{var y=window.screen;v=Math.round(y.width*0.8);w=Math.round(y.height*0.7);x=Math.round(y.width*0.1);}catch(B){}var z='';if(s){window._cke_htmlToLoad=p;z='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}var A=window.open(z,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+v+',height='+w+',left='+x);if(!s){A.document.open();A.document.write(p);A.document.close();}}},n='preview';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('Preview',{label:o.lang.preview,command:n});}});})();j.add('print',{init:function(m){var n='print',o=m.addCommand(n,j.print);m.ui.addButton('Print',{label:m.lang.print,command:n});}});j.print={exec:function(m){if(b.opera)return;else if(b.gecko)m.window.$.print();else m.document.$.execCommand('Print');},canUndo:false,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(m){m.addCommand('removeFormat',j.removeformat.commands.removeformat);m.ui.addButton('RemoveFormat',{label:m.lang.removeFormat,command:'removeFormat'});m._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(m){var n=m._.removeFormatRegex||(m._.removeFormatRegex=new RegExp('^(?:'+m.config.removeFormatTags.replace(/,/g,'|')+')$','i')),o=m._.removeAttributes||(m._.removeAttributes=m.config.removeFormatAttributes.split(',')),p=j.removeformat.filter,q=m.getSelection().getRanges(1),r=q.createIterator(),s;while(s=r.getNextRange()){if(s.collapsed)continue;s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w=function(z){var A=new d.elementPath(z),B=A.elements;for(var C=1,D;D=B[C];C++){if(D.equals(A.block)||D.equals(A.blockLimit))break;if(n.test(D.getName())&&p(m,D))z.breakParent(D);}};w(u);w(v);var x=u.getNextSourceNode(true,1);while(x){if(x.equals(v))break;var y=x.getNextSourceNode(false,1);if(!(x.getName()=='img'&&x.getAttribute('_cke_realelement'))&&p(m,x))if(n.test(x.getName()))x.remove(1); +else{x.removeAttributes(o);m.fire('removeFormatCleanup',x);}x=y;}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;pq.width&&(n.resize_minWidth=q.width);n.resize_minHeight>q.height&&(n.resize_minHeight=q.height);a.document.on('mousemove',t);a.document.on('mouseup',u);if(m.document){m.document.on('mousemove',t);m.document.on('mouseup',u);}});m.on('destroy',function(){e.removeFunction(v);});m.on('themeSpace',function(w){if(w.data.space=='bottom'){var x='';if(r&&!s)x=' cke_resizer_horizontal';if(!r&&s)x=' cke_resizer_vertical';w.data.html+='
                    ';}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},exec:function(o){var p=o.element.$.form;if(p)try{p.submit();}catch(q){if(p.submit.click)p.submit.click();}}},n='save';j.add(n,{init:function(o){var p=o.addCommand(n,m);p.modes={wysiwyg:!!o.element.$.form}; +o.ui.addButton('Save',{label:o.lang.save,command:n});}});})();(function(){var m='scaytcheck',n='';function o(t,u){var v=0,w;for(w in u){if(u[w]==t){v=1;break;}}return v;};var p=function(){var t=this,u=function(){var y=t.config,z={};z.srcNodeRef=t.document.getWindow().$.frameElement;z.assocApp='CKEDITOR.'+a.version+'@'+a.revision;z.customerid=y.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';z.customDictionaryIds=y.scayt_customDictionaryIds||'';z.userDictionaryName=y.scayt_userDictionaryName||'';z.sLang=y.scayt_sLang||'en_US';z.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(t.focusManager.hasFocus&&!q.isControlRestored(t))this.focus();};z.onBeforeChange=function(){if(q.getScayt(t)&&!t.checkDirty())setTimeout(function(){t.resetDirty();},0);};var A=window.scayt_custom_params;if(typeof A=='object')for(var B in A)z[B]=A[B];if(q.getControlId(t))z.id=q.getControlId(t);var C=new window.scayt(z);C.afterMarkupRemove.push(function(J){new h(J,C.document).mergeSiblings();});var D=q.instances[t.name];if(D){C.sLang=D.sLang;C.option(D.option());C.paused=D.paused;}q.instances[t.name]=C;var E='scaytButton',F=window.scayt.uiTags,G=[];for(var H=0,I=4;H=0){this.setState(0);q.loadEngine(t);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(t){var u=t.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',v='';u=u.split('|');if(u&&u.length)for(var w=0;w tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');n=o.replace(/%2/g,m).replace(/%1/g,'cke_show_borders ');var p={preserveState:true,editorFocus:false,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_borders');}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(q){var r=q.addCommand('showborders',p);r.canUndo=false;if(q.config.startupShowBorders!==false)r.setState(1);q.addCss(n);q.on('mode',function(){if(r.state!=0)r.refresh(q);},null,null,100);q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});q.on('removeFormatCleanup',function(s){var t=s.data; +if(q.getCommand('showborders').state==1&&t.is('table')&&(!t.hasAttribute('border')||parseInt(t.getAttribute('border'),10)<=0))t.addClass(m);});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter,t=r&&r.htmlFilter;if(s)s.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'],x=parseInt(v.border,10);if(!x||x<=0)v['class']=(w||'')+' '+m;}}});if(t)t.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'];w&&(v['class']=w.replace(m,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(q){var r=q.data.name;if(r=='table'||r=='tableProperties'){var s=q.data.definition,t=s.getContents('info'),u=t.get('txtBorder'),v=u.commit;u.commit=e.override(v,function(y){return function(z,A){y.apply(this,arguments);var B=parseInt(this.getValue(),10);A[!B||B<=0?'addClass':'removeClass'](m);};});var w=s.getContents('advanced'),x=w&&w.get('advCSSClasses');if(x){x.setup=e.override(x.setup,function(y){return function(){y.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});x.commit=e.override(x.commit,function(y){return function(z,A){y.apply(this,arguments);if(!parseInt(A.getAttribute('border'),10))A.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(m){var n=j.sourcearea,o=a.document.getWindow();m.on('editingBlockReady',function(){var p,q;m.addMode('source',{load:function(r,s){if(c&&b.version<8)r.setStyle('position','relative');m.textarea=p=new h('textarea');p.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:m.tabIndex,role:'textbox','aria-label':m.lang.editorTitle.replace('%1',m.name)});p.addClass('cke_source');p.addClass('cke_enable_context_menu');var t={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){q=function(){p.hide();p.setStyle('height',r.$.clientHeight+'px');p.setStyle('width',r.$.clientWidth+'px');p.show();};m.on('resize',q);o.on('resize',q);setTimeout(q,0);}r.setHtml('');r.append(p);p.setStyles(t);m.fire('ariaWidget',p);p.on('blur',function(){m.focusManager.blur();});p.on('focus',function(){m.focusManager.focus();});m.mayBeDirty=true;this.loadData(s);var u=m.keystrokeHandler;if(u)u.attach(p);setTimeout(function(){m.mode='source';m.fire('mode');},b.gecko||b.webkit?100:0);},loadData:function(r){p.setValue(r);m.fire('dataReady');},getData:function(){return p.getValue();},getSnapshotData:function(){return p.getValue();},unload:function(r){p.clearCustomData();m.textarea=p=null; +if(q){m.removeListener('resize',q);o.removeListener('resize',q);}if(c&&b.version<8)r.removeStyle('position');},focus:function(){p.focus();}});});m.addCommand('source',n.commands.source);if(m.ui.addButton)m.ui.addButton('Source',{label:m.lang.source,command:'source'});m.on('mode',function(){m.getCommand('source').setState(m.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(m){if(m.mode=='wysiwyg')m.fire('saveSnapshot');m.getCommand('source').setState(0);m.setMode(m.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(n){var o=n.config,p=n.lang.stylesCombo,q={},r=[];function s(t){n.getStylesSet(function(u){if(!r.length){var v,w;for(var x=0,y=u.length;x0)return;if(T.type==1&&n.test(T.getName())&&!T.getCustomData('selected_cell')){h.setMarker(K,T,'selected_cell',true);J.push(T);}};for(var M=0;M0&&Q.$.rows[L]||Q.$.parentNode);for(N=J.length;N>=0;N--){if(J[N])s(J[N]);}return K;}else if(G instanceof h){Q=G.getAscendant('table'); +if(Q.$.rows.length==1)Q.remove();else G.remove();}return 0;};function t(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.getAscendant('table'),L=J.$.cellIndex;for(var M=0;M1){L=H[J-1]+1;break;}}if(!L)L=H[0]>0?H[0]-1:H[H.length-1]+1;var N=I.$.rows;for(J=0,K=N.length;J=0;J--){if(H[J])v(H[J]);}return I;}else if(G instanceof h){var K=G.getAscendant('table');if(!K)return null;var L=G.$.cellIndex;for(J=K.$.rows.length-1;J>=0;J--){var M=new h(K.$.rows[J]);if(!L&&M.$.cells.length==1){s(M);continue;}if(M.$.cells[L])M.$.removeChild(M.$.cells[L]);}}return null;};function w(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.clone();if(!c)K.appendBogus();if(H)K.insertBefore(J);else K.insertAfter(J);};function x(G){if(G instanceof d.selection){var H=o(G),I=H[0]&&H[0].getAscendant('table'),J=p(H);for(var K=H.length-1;K>=0;K--)x(H[K]);if(J)z(J,true);else if(I)I.remove();}else if(G instanceof h){var L=G.getParent();if(L.getChildCount()==1)L.remove();else G.remove();}};function y(G){var H=G.getBogus();H&&H.remove();G.trim();};function z(G,H){var I=new d.range(G.getDocument());if(!I['moveToElementEdit'+(H?'End':'Start')](G)){I.selectNodeContents(G);I.collapse(H?false:true);}I.select(true);};function A(G,H,I){var J=G[H];if(typeof I=='undefined')return J;for(var K=0;J&&K=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=W;if(W>=P)M.removeAttribute('colSpan');else M.$.colSpan=X;var ai=new d.nodeList(N.$.rows),aj=ai.count();for(aa=aj-1;aa>=0;aa--){var ak=ai.getItem(aa);if(!ak.$.cells.length){ak.remove();aj++;continue;}}return M;}else return W*X==Z;};function D(G,H){var I=o(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.rowSpan,Q,R,S,T;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);T=N+R;var U=new h(L.$.rows[T]),V=A(M,T),W;Q=J.clone();for(var X=0;XO){Q.insertBefore(new h(W));break;}else W=null;}if(!W)U.append(Q,true);}else{S=R=1;U=K.clone();U.insertAfter(K);U.append(Q=J.clone());var Y=A(M,N);for(var Z=0;Z1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.colSpan,Q,R,S;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);}else{S=R=1;var T=B(M,O);for(var U=0;U0?2:0};}},tablecell_insertBefore:{label:H.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:H.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:H.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:H.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:H.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:H.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:H.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:H.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:H.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:H.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2}; +}},tablerow_insertBefore:{label:H.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:H.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:H.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:H.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2};}},tablecolumn_insertBefore:{label:H.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:H.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:H.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(G.contextMenu)G.contextMenu.addListener(function(I,J){if(!I||I.isReadOnly())return null;while(I){if(I.getName() in F)return{tablecell:2,tablerow:2,tablecolumn:2};I=I.getParent();}return null;});},getSelectedCells:o};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;qp&&(!s||!t||vt){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(ut)){s=v;t=u;}}}if(s)s.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(o){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));o.addCommand('templates',new a.dialogCommand('templates'));o.ui.addButton('Templates',{label:o.lang.templates.button,command:'templates'});}});var m={},n={};a.addTemplates=function(o,p){m[o]=p;};a.getTemplates=function(o){return m[o];};a.loadTemplates=function(o,p){var q=[];for(var r=0,s=o.length;r':' style="display:none">');s.push('',o.lang.toolbar,'');var v=o.toolbox.toolbars,w=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var x=0;x');u=0;}if(y==='/'){s.push('
                    ');continue;}s.push('');var B=v.push(A)-1;if(B>0){A.previous=v[B-1];A.previous.next=A;}for(var C=0;C');u=1;}}else if(u){s.push('');u=0;}var F=D.render(o,s);B=A.items.push(F)-1;if(B>0){F.previous=A.items[B-1];F.previous.next=F;}F.toolbar=A;F.onkey=p;F.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(u){s.push('');u=0;}s.push(''); +}s.push('
          ');if(o.config.toolbarCanCollapse){var G=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(G);});var H=e.getNextId();o.addCommand('toolbarCollapse',{exec:function(I){var J=a.document.getById(H),K=J.getPrevious(),L=I.getThemeSpace('contents'),M=K.getParent(),N=parseInt(L.$.style.height,10),O=M.$.offsetHeight,P=!K.isVisible();if(!P){K.hide();J.addClass('cke_toolbox_collapser_min');J.setAttribute('title',I.lang.toolbarExpand);}else{K.show();J.removeClass('cke_toolbox_collapser_min');J.setAttribute('title',I.lang.toolbarCollapse);}J.getFirst().setText(P?'▲':'◀');var Q=M.$.offsetHeight-O;L.setStyle('height',N-Q+'px');I.fire('resize');},modes:{wysiwyg:1,source:1}});s.push('','','');}q.data.html+=s.join('');}});o.addCommand('toolbarFocus',n.toolbarFocus);}});})();k.separator={render:function(m,n){n.push('');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(s){var t=new o(s),u=s.addCommand('undo',{exec:function(){if(t.undo()){s.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),v=s.addCommand('redo',{exec:function(){if(t.redo()){s.selectionChange();this.fire('afterRedo');}},state:0,canUndo:false});t.onChange=function(){u.setState(t.undoable()?2:0); +v.setState(t.redoable()?2:0);};function w(x){if(t.enabled&&x.data.command.canUndo!==false)t.save();};s.on('beforeCommandExec',w);s.on('afterCommandExec',w);s.on('saveSnapshot',function(){t.save();});s.on('contentDom',function(){s.document.on('keydown',function(x){if(!x.data.$.ctrlKey&&!x.data.$.metaKey)t.type(x);});});s.on('beforeModeUnload',function(){s.mode=='wysiwyg'&&t.save(true);});s.on('mode',function(){t.enabled=s.mode=='wysiwyg';t.onChange();});s.ui.addButton('Undo',{label:s.lang.undo,command:'undo'});s.ui.addButton('Redo',{label:s.lang.redo,command:'redo'});s.resetUndo=function(){t.reset();s.fire('saveSnapshot');};s.on('updateSnapshot',function(){if(t.currentImage&&new m(s).equals(t.currentImage))setTimeout(function(){t.update();},0);});}});j.undo={};var m=j.undo.Image=function(s){this.editor=s;var t=s.getSnapshot(),u=t&&s.getSelection();c&&t&&(t=t.replace(/\s+_cke_expando=".*?"/g,''));this.contents=t;this.bookmarks=u&&u.createBookmarks2(true);},n=/\b(?:href|src|name)="[^"]*?"/gi;m.prototype={equals:function(s,t){var u=this.contents,v=s.contents;if(c&&(b.ie7Compat||b.ie6Compat)){u=u.replace(n,'');v=v.replace(n,'');}if(u!=v)return false;if(t)return true;var w=this.bookmarks,x=s.bookmarks;if(w||x){if(!w||!x||w.length!=x.length)return false;for(var y=0;y25){this.save(false,null,false);this.modifiersCount=1;}}else if(!y){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var s=this;s.lastKeystroke=0;s.snapshots=[];s.index=-1;s.limit=s.editor.config.undoStackSize||20; +s.currentImage=null;s.hasUndo=false;s.hasRedo=false;s.resetType();},resetType:function(){var s=this;s.typing=false;delete s.lastKeystroke;s.typesCount=0;s.modifiersCount=0;},fireChange:function(){var s=this;s.hasUndo=!!s.getNextImage(true);s.hasRedo=!!s.getNextImage(false);s.resetType();s.onChange();},save:function(s,t,u){var w=this;var v=w.snapshots;if(!t)t=new m(w.editor);if(t.contents===false)return false;if(w.currentImage&&t.equals(w.currentImage,s))return false;v.splice(w.index+1,v.length-w.index-1);if(v.length==w.limit)v.shift();w.index=v.push(t)-1;w.currentImage=t;if(u!==false)w.fireChange();return true;},restoreImage:function(s){var u=this;u.editor.loadSnapshot(s.contents);if(s.bookmarks)u.editor.getSelection().selectBookmarks(s.bookmarks);else if(c){var t=u.editor.document.getBody().$.createTextRange();t.collapse(true);t.select();}u.index=s.index;u.update();u.fireChange();},getNextImage:function(s){var x=this;var t=x.snapshots,u=x.currentImage,v,w;if(u)if(s)for(w=x.index-1;w>=0;w--){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}else for(w=x.index+1;w]*>)\s*<(p|div|address|h\d|center)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,o=d.walker.whitespaces(true);function p(C){return C.getName() in m||C.isBlockBoundary()&&f.$empty[C.getName()];};function q(C){if(C.getType()==3)return C.getSelectedElement().isReadOnly();else return C.getCommonAncestor().isReadOnly();};function r(C){if(this.mode=='wysiwyg'){this.focus();var D=this.getSelection();if(q(D))return;var E=C.data;this.fire('saveSnapshot');if(this.dataProcessor)E=this.dataProcessor.toHtml(E);if(c && CKEDITOR.env.version < 11){var F=D.isLocked;if(F)D.unlock();var G=D.getNative();if(G.type=='Control')G.clear();else if(D.getType()==2){var H=D.getRanges()[0],I=H&&H.endContainer;if(I&&I.type==1&&I.getAttribute('contenteditable')=='false'&&H.checkBoundaryOfElement(I,2)){H.setEndAfter(H.endContainer); +H.deleteContents();}}try{G.createRange().pasteHTML(E);}catch(K){}if(F)this.getSelection().lock();}else if(!CKEDITOR.env.ie) this.document.$.execCommand('inserthtml',false,E);if(b.webkit){this.document.$.execCommand('inserthtml',false,'');var J=this.document.getById('cke_paste_marker');J.scrollIntoView();J.remove();J=null;}e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function s(C){if(this.mode=='wysiwyg'){this.focus();var D=this.getSelection();if(q(D))return;this.fire('saveSnapshot');var E=D.getRanges(),F=C.data,G=F.getName(),H=f.$block[G],I=D.isLocked;if(I)D.unlock();var J,K,L,M;for(var N=E.length-1;N>=0;N--){J=E[N];J.deleteContents();K=!N&&F||F.clone(1);var O,P;if(H)while((O=J.getCommonAncestor(0,1))&&(P=f[O.getName()])&&!(P&&P[G])){if(O.getName() in f.span)J.splitElement(O);else if(J.checkStartOfBlock()&&J.checkEndOfBlock()){J.setStartBefore(O);J.collapse(true);O.remove();}else J.splitBlock();}J.insertNode(K);if(!L)L=K;}J.moveToPosition(L,4);if(H){var Q=L.getNext(o),R=Q&&Q.type==1&&Q.getName();if(R&&f.$block[R]&&f[R]['#'])J.moveToElementEditStart(Q);}D.selectRanges([J]);if(I)this.getSelection().lock();e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function t(C){if(!C.checkDirty())setTimeout(function(){C.resetDirty();},0);};var u=d.walker.whitespaces(true),v=d.walker.bookmark(false,true);function w(C){return u(C)&&v(C);};function x(C){return C.type==3&&e.trim(C.getText()).match(/^(?: |\xa0)$/);};function y(C){if(C.isLocked){C.unlock();setTimeout(function(){C.lock();},0);}};function z(C){return C.getOuterHtml().match(n);};u=d.walker.whitespaces(true);function A(C){var D=C.window,E=C.document,F=C.document.getBody(),G=F.getChildren().count();if(!G||G==1&&F.getFirst().hasAttribute&&F.getFirst().hasAttribute('_moz_editor_bogus_node')){t(C);var H=C.element.getDocument(),I=H.getDocumentElement(),J=I.$.scrollTop,K=I.$.scrollLeft,L=E.$.createEvent('KeyEvents');L.initKeyEvent('keypress',true,true,D.$,false,false,false,false,0,32);E.$.dispatchEvent(L);if(J!=I.$.scrollTop||K!=I.$.scrollLeft)H.getWindow().$.scrollTo(K,J);G&&F.getFirst().remove();E.getBody().appendBogus();var M=new d.range(E);M.setStartAt(F,1);M.select();}};function B(C){var D=C.editor,E=C.data.path,F=E.blockLimit,G=C.data.selection,H=G.getRanges()[0],I=D.document.getBody(),J=D.config.enterMode;b.gecko&&A(D);if(J!=2&&H.collapsed&&F.getName()=='body'&&!E.block){D.fire('updateSnapshot');t(D);c&&y(G);var K=H.fixBlock(true,D.config.enterMode==3?'div':'p');if(c){var L=K.getFirst(w); +L&&x(L)&&L.remove();}if(z(K)){var M=K.getNext(u);if(M&&M.type==1&&!p(M)){H.moveToElementEditStart(M);K.remove();}else{M=K.getPrevious(u);if(M&&M.type==1&&!p(M)){H.moveToElementEditEnd(M);K.remove();}}}H.select();if(!c)D.selectionChange();}var N=new d.range(D.document),O=new d.walker(N);N.selectNodeContents(I);O.evaluator=function(Q){return Q.type==1&&Q.getName() in m;};O.guard=function(Q,R){return!(Q.type==3&&u(Q)||R);};if(O.previous()){D.fire('updateSnapshot');t(D);c&&y(G);var P;if(J!=2)P=I.append(new h(J==1?'p':'div'));else P=I;if(!c)P.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(C){var D=C.config.enterMode!=2?C.config.enterMode==3?'div':'p':false,E=C.lang.editorTitle.replace('%1',C.name),F;C.on('editingBlockReady',function(){var L,M,N,O,P,Q,R=b.isCustomDomain(),S=function(V){if(M)M.remove();var W='document.open();'+(R?'document.domain="'+document.domain+'";':'')+'document.close();';M=h.createFromHtml('');if(document.location.protocol=='chrome:')a.event.useCapture=true;M.on('load',function(aa){P=1;aa.removeListener();var ab=M.getFrameDocument().$;ab.open('text/html','replace');ab.write(V);ab.close();});if(document.location.protocol=='chrome:')a.event.useCapture=false;var X=C.element,Y=b.gecko&&!X.isVisible(),Z={};if(Y){X.show();Z={position:X.getStyle('position'),top:X.getStyle('top')};X.setStyles({position:'absolute',top:'-3000px'});}L.append(M);if(Y)setTimeout(function(){X.hide();X.setStyles(Z);},1000);};F=e.addFunction(U);var T='';function U(V){if(!P)return;P=0;C.fire('ariaWidget',M);var W=V.document,X=W.body,Y=W.getElementById('cke_actscrpt');Y.parentNode.removeChild(Y);X.spellcheck=!C.config.disableNativeSpellChecker;if(c){X.hideFocus=true;X.disabled=true;X.contentEditable=true;X.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)W.$.body.contentEditable=true;else if(b.webkit)W.$.body.parentNode.contentEditable=true;else W.$.designMode='on';},0);b.gecko&&e.setTimeout(A,0,null,C);V=C.window=new d.window(V);W=C.document=new g(W);W.on('dblclick',function(ad){var ae=ad.data.getTarget(),af={element:ae,dialog:''}; +C.fire('doubleclick',af);af.dialog&&C.openDialog(af.dialog);});if(!(c||b.opera))W.on('mousedown',function(ad){var ae=ad.data.getTarget();if(ae.is('img','hr','input','textarea','select'))C.getSelection().selectElement(ae);});if(b.gecko)W.on('mouseup',function(ad){if(ad.data.$.button==2){var ae=ad.data.getTarget();if(!ae.getOuterHtml().replace(n,'')){var af=new d.range(W);af.moveToElementEditStart(ae);af.select(true);}}});W.on('click',function(ad){ad=ad.data;if(ad.getTarget().is('a')&&ad.$.button!=2)ad.preventDefault();});if(b.webkit){W.on('mousedown',function(){aa=1;});W.on('click',function(ad){if(ad.data.getTarget().is('input','select'))ad.data.preventDefault();});W.on('mouseup',function(ad){if(ad.data.getTarget().is('input','textarea'))ad.data.preventDefault();});}if(c&&W.$.compatMode=='CSS1Compat'||b.gecko||b.opera){var Z=W.getDocumentElement();Z.on('mousedown',function(ad){if(ad.data.getTarget().equals(Z)){if(b.gecko&&b.version>=10900)J();K.focus();}});}V.on('blur',function(){C.focusManager.blur();});var aa;V.on('focus',function(){var ad=C.document;if(b.gecko&&b.version>=10900)J();else if(b.opera)ad.getBody().focus();else if(b.webkit)if(!aa){C.document.getDocumentElement().focus();aa=1;}C.focusManager.focus();});var ab=C.keystrokeHandler;if(ab)ab.attach(W);if(c){W.getDocumentElement().addClass(W.$.compatMode);W.on('keydown',function(ad){var ae=ad.data.getKeystroke();if(ae in {8:1,46:1}){var af=C.getSelection(),ag=af.getSelectedElement();if(ag){C.fire('saveSnapshot');var ah=af.getRanges()[0].createBookmark();ag.remove();af.selectBookmarks([ah]);C.fire('saveSnapshot');ad.data.preventDefault();}}});if(W.$.compatMode=='CSS1Compat'){var ac={33:1,34:1};W.on('keydown',function(ad){if(ad.data.getKeystroke() in ac)setTimeout(function(){C.getSelection().scrollIntoView();},0);});}}if(C.contextMenu)C.contextMenu.addTarget(W,C.config.browserContextMenuOnCtrl!==false);setTimeout(function(){C.fire('contentDom');if(Q){C.mode='wysiwyg';C.fire('mode');Q=false;}N=false;if(O){C.focus();O=false;}setTimeout(function(){C.fire('dataReady');},0);try{C.document.$.execCommand('enableObjectResizing',false,!C.config.disableObjectResizing);}catch(ad){}try{C.document.$.execCommand('enableInlineTableEditing',false,!C.config.disableNativeTableHandles);}catch(ae){}if(c)setTimeout(function(){if(C.document){var af=C.document.$.body;af.runtimeStyle.marginBottom='0px';af.runtimeStyle.marginBottom='';}},1000);},0);};C.addMode('wysiwyg',{load:function(V,W,X){L=V;if(c&&b.quirks)V.setStyle('position','relative'); +C.mayBeDirty=true;Q=true;if(X)this.loadSnapshotData(W);else this.loadData(W);},loadData:function(V){N=true;var W=C.config,X=W.fullPage,Y=W.docType,Z='';!X&&(Z=e.buildStyleHtml(C.config.contentsCss)+Z);var aa=W.baseHref?'':'';if(X)V=V.replace(/]*>/i,function(ab){C.docType=Y=ab;return '';});if(C.dataProcessor)V=C.dataProcessor.toHtml(V,D);if(X){if(!/]/.test(V))V=''+V;if(!/]/.test(V))V=''+V+'';if(!/]/.test(V))V=V.replace(/]*>/,'$&');else if(!/]/.test(V))V=V.replace(/]*>/,'$&');aa&&(V=V.replace(//,'$&'+aa));V=V.replace(/<\/head\s*>/,Z+'$&');V=Y+V;}else V=W.docType+''+''+''+E+''+aa+Z+''+''+V+'';V+=T;this.onDispose();S(V);},getData:function(){var V=C.config,W=V.fullPage,X=W&&C.docType,Y=M.getFrameDocument(),Z=W?Y.getDocumentElement().getOuterHtml():Y.getBody().getHtml();if(C.dataProcessor)Z=C.dataProcessor.toDataFormat(Z,D);if(V.ignoreEmptyParagraph)Z=Z.replace(n,function(aa,ab){return ab;});if(X)Z=X+'\n'+Z;return Z;},getSnapshotData:function(){return M.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(V){M.getFrameDocument().getBody().setHtml(V);},onDispose:function(){if(!C.document)return;C.document.getDocumentElement().clearCustomData();C.document.getBody().clearCustomData();C.window.clearCustomData();C.document.clearCustomData();M.clearCustomData();M.remove();},unload:function(V){this.onDispose();C.window=C.document=M=L=O=null;C.fire('contentDomUnload');},focus:function(){if(N)O=true;else if(b.opera&&C.document){var V=C.window.$.frameElement;V.blur(),V.focus();C.document.getBody().focus();C.selectionChange();}else if(!b.opera&&C.window){C.window.focus();C.selectionChange();}}});C.on('insertHtml',r,null,null,20);C.on('insertElement',s,null,null,20);C.on('selectionChange',B,null,null,1);});var G;C.on('contentDom',function(){var L=C.document.getElementsByTag('title').getItem(0);L.setAttribute('_cke_title',C.document.$.title);C.document.$.title=E;});if(b.ie8Compat){C.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var H=[];for(var I in f.$removeEmpty)H.push('html.CSS1Compat '+I+'[contenteditable=false]'); +C.addCss(H.join(',')+'{ display:inline-block;}');}else if(b.gecko)C.addCss('html { height: 100% !important; }');function J(L){e.tryThese(function(){C.document.$.designMode='on';setTimeout(function(){C.document.$.designMode='off';if(a.currentInstance==C)C.document.getBody().focus();},50);},function(){C.document.$.designMode='off';var M=C.document.getBody();M.setAttribute('contentEditable',false);M.setAttribute('contentEditable',true);!L&&J(1);});};if(b.gecko||c||b.opera){var K;C.on('uiReady',function(){K=C.container.append(h.createFromHtml(''));K.on('focus',function(){C.focus();});});C.on('destroy',function(){e.removeFunction(F);K.clearCustomData();});}C.on('insertElement',function(L){var M=L.data;if(M.type==1&&(M.is('input')||M.is('textarea')))if(!M.isReadOnly()){M.setAttribute('contentEditable',false);M.setCustomData('_cke_notReadOnly',1);}});}});if(b.gecko)(function(){var C=document.body;if(!C)window.addEventListener('load',arguments.callee,false);else{var D=C.getAttribute('onpageshow');C.setAttribute('onpageshow',(D?D+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(m){var n='checkspell',o=m.addCommand(n,new a.dialogCommand(n));o.modes={wysiwyg:!b.opera&&document.domain==window.location.hostname};m.ui.addButton('SpellChecker',{label:m.lang.spellCheck.toolbar,command:n});a.dialog.add(n,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){var m=e.cssLength;function n(P){return!!this._.tabs[P][0].$.offsetHeight;};function o(){var T=this;var P=T._.currentTabId,Q=T._.tabIdList.length,R=e.indexOf(T._.tabIdList,P)+Q;for(var S=R-1;S>R-Q;S--){if(n.call(T,T._.tabIdList[S%Q]))return T._.tabIdList[S%Q];}return null;};function p(){var T=this;var P=T._.currentTabId,Q=T._.tabIdList.length,R=e.indexOf(T._.tabIdList,P);for(var S=R+1;S1){U._.tabBarMode=true;U._.tabs[U._.currentTabId][0].focus();Y=1;}else if((ah==37||ah==39)&&U._.tabBarMode){ak=ah==(ai?39:37)?o.call(U):p.call(U);U.selectPage(ak);U._.tabs[ak][0].focus();Y=1;}else if((ah==13||ah==32)&&U._.tabBarMode){al.selectPage(al._.currentTabId);al._.tabBarMode=false;al._.currentFocusIndex=-1;X(true);Y=1;}if(Y){ag.stop();ag.data.preventDefault();}};function aa(ag){Y&&ag.data.preventDefault();};var ab=this._.element;this.on('show',function(){ab.on('keydown',Z,this,null,0);if(b.opera||b.gecko&&b.mac)ab.on('keypress',aa,this);});this.on('hide',function(){ab.removeListener('keydown',Z);if(b.opera||b.gecko&&b.mac)ab.removeListener('keypress',aa);});this.on('iframeAdded',function(ag){var ah=new g(ag.data.iframe.$.contentWindow.document);ah.on('keydown',Z,this,null,0);});this.on('show',function(){var ak=this;W();if(P.config.dialog_startupFocusTab&&U._.pageCount>1){U._.tabBarMode=true;U._.tabs[U._.currentTabId][0].focus();}else if(!ak._.hasFocus){ak._.currentFocusIndex=-1;if(R.onFocus){var ag=R.onFocus.call(ak);ag&&ag.focus();}else X(true);if(ak._.editor.mode=='wysiwyg'&&c){var ah=P.document.$.selection,ai=ah.createRange();if(ai)if(ai.parentElement&&ai.parentElement().ownerDocument==P.document.$||ai.item&&ai.item(0).ownerDocument==P.document.$){var aj=document.body.createTextRange();aj.moveToElementText(ak.getElement().getFirst().$);aj.collapse(true);aj.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ag){var ah=this.getElement(),ai=ah.getFirst();ai.remove();ai.appendTo(ah);},this);y(this);z(this);new d.text(R.title,a.document).appendTo(this.parts.title);for(var ac=0;ac0?Q:0)+'px',top:(R>0?R:0)+'px'});};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var P=this._.editor;if(P.mode=='wysiwyg'&&c){var Q=P.getSelection();Q&&Q.lock();}var R=this._.element,S=this.definition;if(!(R.getParent()&&R.getParent().equals(a.document.getBody())))R.appendTo(a.document.getBody());else R.setStyle('display','block');if(b.gecko&&b.version<10900){var T=this.parts.dialog;T.setStyle('position','absolute');setTimeout(function(){T.setStyle('position','fixed');},0);}this.resize(S.minWidth,S.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;D(this._.editor); +R.on('keydown',H);R.on(b.opera?'keypress':'keyup',I);for(var U in {keyup:1,keydown:1,keypress:1})R.on(U,O);}else{this._.parentDialog=a.dialog._.currentTop;var V=this._.parentDialog.getElement().getFirst();V.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}J(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();});this._.hasFocus=false;e.setTimeout(function(){var W=a.document.getWindow().getViewPaneSize(),X=this.getSize();this.move((W.width-S.minWidth)/2,(W.height-X.height)/2);this.parts.dialog.setStyle('visibility','');try{this.fireOnce('load',{});}catch(Y){}this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(Z){Z.setInitValue&&Z.setInitValue();});},100,this);},foreach:function(P){var S=this;for(var Q in S._.contents)for(var R in S._.contents[Q])P(S._.contents[Q][R]);return S;},reset:(function(){var P=function(Q){if(Q.reset)Q.reset(1);};return function(){this.foreach(P);return this;};})(),setupContent:function(){var P=arguments;this.foreach(function(Q){if(Q.setup)Q.setup.apply(Q,P);});},commitContent:function(){var P=arguments;this.foreach(function(Q){if(Q.commit)Q.commit.apply(Q,P);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var P=this._.element;P.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');K(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)E();else{var Q=this._.parentDialog.getElement().getFirst();Q.setStyle('z-index',parseInt(Q.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;P.removeListener('keydown',H);P.removeListener(b.opera?'keypress':'keyup',I);for(var R in {keyup:1,keydown:1,keypress:1})P.removeListener(R,O);var S=this._.editor;S.focus();if(S.mode=='wysiwyg'&&c){var T=S.getSelection();T&&T.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(U){U.resetInitValue&&U.resetInitValue();});},addPage:function(P){var ab=this;var Q=[],R=P.label?' title="'+e.htmlEncode(P.label)+'"':'',S=P.elements,T=a.dialog._.uiElementBuilders.vbox.build(ab,{type:'vbox',className:'cke_dialog_page_contents',children:P.elements,expand:!!P.expand,padding:P.padding,style:P.style||'width: 100%; height: 100%;'},Q),U=h.createFromHtml(Q.join(''));U.setAttribute('role','tabpanel'); +var V=b,W='cke_'+P.id+'_'+e.getNextNumber(),X=h.createFromHtml(['0?' cke_last':'cke_first',R,!!P.hidden?' style="display:none"':'',' id="',W,'"',V.gecko&&V.version>=10900&&!V.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',P.label,''].join(''));U.setAttribute('aria-labelledby',W);ab._.tabs[P.id]=[X,U];ab._.tabIdList.push(P.id);!P.hidden&&ab._.pageCount++;ab._.lastTab=X;ab.updateStyle();var Y=ab._.contents[P.id]={},Z,aa=T.getChild();while(Z=aa.shift()){Y[Z.id]=Z;if(typeof Z.getChild=='function')aa.push.apply(aa,Z.getChild());}U.setAttribute('name',P.id);U.appendTo(ab.parts.contents);X.unselectable();ab.parts.tabs.append(X);if(P.accessKey){J(ab,ab,'CTRL+'+P.accessKey,M,L);ab._.accessKeyMap['CTRL+'+P.accessKey]=P.id;}},selectPage:function(P){if(this._.currentTabId==P)return;if(this.fire('selectPage',{page:P,currentPage:this._.currentTabId})===true)return;for(var Q in this._.tabs){var R=this._.tabs[Q][0],S=this._.tabs[Q][1];if(Q!=P){R.removeClass('cke_dialog_tab_selected');S.hide();}S.setAttribute('aria-hidden',Q!=P);}var T=this._.tabs[P];T[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){q(T[1]);T[1].show();setTimeout(function(){q(T[1],1);},0);}else T[1].show();this._.currentTabId=P;this._.currentTabIndex=e.indexOf(this._.tabIdList,P);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(P){var R=this;var Q=R._.tabs[P]&&R._.tabs[P][0];if(!Q||R._.pageCount==1||!Q.isVisible())return;else if(P==R._.currentTabId)R.selectPage(o.call(R));Q.hide();R._.pageCount--;R.updateStyle();},showPage:function(P){var R=this;var Q=R._.tabs[P]&&R._.tabs[P][0];if(!Q)return;Q.show();R._.pageCount++;R.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(P,Q){var R=this._.contents[P];return R&&R[Q];},getValueOf:function(P,Q){return this.getContentElement(P,Q).getValue();},setValueOf:function(P,Q,R){return this.getContentElement(P,Q).setValue(R);},getButton:function(P){return this._.buttons[P];},click:function(P){return this._.buttons[P].click();},disableButton:function(P){return this._.buttons[P].disable();},enableButton:function(P){return this._.buttons[P].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement(); +},addFocusable:function(P,Q){var S=this;if(typeof Q=='undefined'){Q=S._.focusList.length;S._.focusList.push(new r(S,P,Q));}else{S._.focusList.splice(Q,0,new r(S,P,Q));for(var R=Q+1;Raa.width-Z.width-U)af=aa.width-Z.width+V[1];else af=R.x;if(R.y+V[0]aa.height-Z.height-U)ag=aa.height-Z.height+V[2];else ag=R.y;P.move(af,ag);Y.data.preventDefault();};function X(Y){a.document.removeListener('mousemove',W);a.document.removeListener('mouseup',X);if(b.ie6Compat){var Z=C.getChild(0).getFrameDocument();Z.removeListener('mousemove',W);Z.removeListener('mouseup',X);}};P.parts.title.on('mousedown',function(Y){P._.updateSize=true;Q={x:Y.data.$.screenX,y:Y.data.$.screenY};a.document.on('mousemove',W);a.document.on('mouseup',X);R=P.getPosition();if(b.ie6Compat){var Z=C.getChild(0).getFrameDocument();Z.on('mousemove',W);Z.on('mouseup',X);}Y.data.preventDefault();},P);};function z(P){var Q=P.definition,R=Q.minWidth||0,S=Q.minHeight||0,T=Q.resizable,U=P.getParentEditor().skin.margins||[0,0,0,0];function V(ag,ah){ag.y+=ah;};function W(ag,ah){ag.x2+=ah;};function X(ag,ah){ag.y2+=ah;};function Y(ag,ah){ag.x+=ah;};var Z=null,aa=null,ab=P._.editor.config.magnetDistance,ac=['tl','t','tr','l','r','bl','b','br'];function ad(ag){var ah=ag.listenerData.part,ai=P.getSize();aa=P.getPosition();e.extend(aa,{x2:aa.x+ai.width,y2:aa.y+ai.height});Z={x:ag.data.$.screenX,y:ag.data.$.screenY};a.document.on('mousemove',ae,P,{part:ah});a.document.on('mouseup',af,P,{part:ah});if(b.ie6Compat){var aj=C.getChild(0).getFrameDocument();aj.on('mousemove',ae,P,{part:ah});aj.on('mouseup',af,P,{part:ah});}ag.data.preventDefault();};function ae(ag){var ah=ag.data.$.screenX,ai=ag.data.$.screenY,aj=ah-Z.x,ak=ai-Z.y,al=a.document.getWindow().getViewPaneSize(),am=ag.listenerData.part;if(am.search('t')!=-1)V(aa,ak);if(am.search('l')!=-1)Y(aa,aj);if(am.search('b')!=-1)X(aa,ak);if(am.search('r')!=-1)W(aa,aj);Z={x:ah,y:ai};var an,ao,ap,aq;if(aa.x+U[3]al.width-ab)ap=al.width+U[1];else if(am.search('r')!=-1&&aa.x2-aa.xal.height-ab)aq=al.height+U[2];else if(am.search('b')!=-1&&aa.y2-aa.y'];if(b.ie6Compat){var Y=b.isCustomDomain(),Z="";X.push('');}X.push('
          ');W=h.createFromHtml(X.join(''));W.setOpacity(T!=undefined?T:0.5);W.appendTo(a.document.getBody());B[V]=W;}else W.show();C=W;var aa=function(){var ad=Q.getViewPaneSize();W.setStyles({width:ad.width+'px',height:ad.height+'px'});},ab=function(){var ad=Q.getScrollPosition(),ae=a.dialog._.currentTop;W.setStyles({left:ad.x+'px',top:ad.y+'px'});do{var af=ae.getPosition();ae.move(af.x,af.y);}while(ae=ae._.parentDialog)};A=aa;Q.on('resize',aa);aa();if(b.ie6Compat){var ac=function(){ab();arguments.callee.prevScrollHandler.apply(this,arguments);};Q.$.setTimeout(function(){ac.prevScrollHandler=window.onscroll||(function(){});window.onscroll=ac;},0);ab();}};function E(){if(!C)return;var P=a.document.getWindow();C.hide();P.removeListener('resize',A);if(b.ie6Compat)P.$.setTimeout(function(){var Q=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=Q||null;},0);A=null;};function F(){for(var P in B)B[P].remove();B={};};var G={},H=function(P){var Q=P.data.$.ctrlKey||P.data.$.metaKey,R=P.data.$.altKey,S=P.data.$.shiftKey,T=String.fromCharCode(P.data.$.keyCode),U=G[(Q?'CTRL+':'')+(R?'ALT+':'')+(S?'SHIFT+':'')+T]; +if(!U||!U.length)return;U=U[U.length-1];U.keydown&&U.keydown.call(U.uiElement,U.dialog,U.key);P.data.preventDefault();},I=function(P){var Q=P.data.$.ctrlKey||P.data.$.metaKey,R=P.data.$.altKey,S=P.data.$.shiftKey,T=String.fromCharCode(P.data.$.keyCode),U=G[(Q?'CTRL+':'')+(R?'ALT+':'')+(S?'SHIFT+':'')+T];if(!U||!U.length)return;U=U[U.length-1];if(U.keyup){U.keyup.call(U.uiElement,U.dialog,U.key);P.data.preventDefault();}},J=function(P,Q,R,S,T){var U=G[R]||(G[R]=[]);U.push({uiElement:P,dialog:Q,key:R,keyup:T||P.accessKeyUp,keydown:S||P.accessKeyDown});},K=function(P){for(var Q in G){var R=G[Q];for(var S=R.length-1;S>=0;S--){if(R[S].dialog==P||R[S].uiElement==P)R.splice(S,1);}if(R.length===0)delete G[Q];}},L=function(P,Q){if(P._.accessKeyMap[Q])P.selectPage(P._.accessKeyMap[Q]);},M=function(P,Q){},N={27:1,13:1},O=function(P){if(P.data.getKeystroke() in N)P.data.stopPropagation();};(function(){k.dialog={uiElement:function(P,Q,R,S,T,U,V){if(arguments.length<4)return;var W=(S.call?S(Q):S)||'div',X=['<',W,' '],Y=(T&&T.call?T(Q):T)||{},Z=(U&&U.call?U(Q):U)||{},aa=(V&&V.call?V.call(this,P,Q):V)||'',ab=this.domId=Z.id||e.getNextId()+'_uiElement',ac=this.id=Q.id,ad;Z.id=ab;var ae={};if(Q.type)ae['cke_dialog_ui_'+Q.type]=1;if(Q.className)ae[Q.className]=1;var af=Z['class']&&Z['class'].split?Z['class'].split(' '):[];for(ad=0;ad=0;ad--){if(ah[ad]==='')ah.splice(ad,1);}if(ah.length>0)Z.style=(Z.style?Z.style+'; ':'')+ah.join('; ');for(ad in Z)X.push(ad+'="'+e.htmlEncode(Z[ad])+'" ');X.push('>',aa,'');R.push(X.join(''));(this._||(this._={})).dialog=P;if(typeof Q.isChanged=='boolean')this.isChanged=function(){return Q.isChanged;};if(typeof Q.isChanged=='function')this.isChanged=Q.isChanged;a.event.implementOn(this);this.registerEvents(Q);if(this.accessKeyUp&&this.accessKeyDown&&Q.accessKey)J(this,P,'CTRL+'+Q.accessKey);var ai=this;P.on('load',function(){if(ai.getInputElement())ai.getInputElement().on('focus',function(){P._.tabBarMode=false;P._.hasFocus=true;ai.fire('focus');},ai);});if(this.keyboardFocusable){this.tabIndex=Q.tabIndex||0;this.focusIndex=P._.focusList.push(this)-1;this.on('focus',function(){P._.currentFocusIndex=ai.focusIndex;});}e.extend(this,Q);},hbox:function(P,Q,R,S,T){if(arguments.length<4)return;this._||(this._={}); +var U=this._.children=Q,V=T&&T.widths||null,W=T&&T.height||null,X={},Y,Z=function(){var ab=[''];for(Y=0;Y0)ab.push('style="'+ad.join('; ')+'" ');ab.push('>',R[Y],'');}ab.push('');return ab.join('');},aa={role:'presentation'};T&&T.align&&(aa.align=T.align);k.dialog.uiElement.call(this,P,T||{type:'hbox'},S,'table',X,aa,Z);},vbox:function(P,Q,R,S,T){if(arguments.length<3)return;this._||(this._={});var U=this._.children=Q,V=T&&T.width||null,W=T&&T.heights||null,X=function(){var Y=['');for(var Z=0;Z');}Y.push('
          0)Y.push('style="',aa.join('; '),'" ');Y.push(' class="cke_dialog_ui_vbox_child">',R[Z],'
          ');return Y.join('');};k.dialog.uiElement.call(this,P,T||{type:'vbox'},S,'div',null,{role:'presentation'},X);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(P,Q){this.getInputElement().setValue(P);!Q&&this.fire('change',{value:P});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var S=this;var P=S.getInputElement(),Q=P,R;while((Q=Q.getParent())&&Q.$.className.search('cke_dialog_page_contents')==-1){}if(!Q)return S;R=Q.getAttribute('name');if(S._.dialog._.currentTabId!=R)S._.dialog.selectPage(R);return S;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(P){var Q=/^on([A-Z]\w+)/,R,S=function(U,V,W,X){V.on('load',function(){U.getInputElement().on(W,X,U); +});};for(var T in P){if(!(R=T.match(Q)))continue;if(this.eventProcessors[T])this.eventProcessors[T].call(this,this._.dialog,P[T]);else S(this,this._.dialog,R[1].toLowerCase(),P[T]);}return this;},eventProcessors:{onLoad:function(P,Q){P.on('load',Q,this);},onShow:function(P,Q){P.on('show',Q,this);},onHide:function(P,Q){P.on('hide',Q,this);}},accessKeyDown:function(P,Q){this.focus();},accessKeyUp:function(P,Q){},disable:function(){var P=this.getInputElement();P.setAttribute('disabled','true');P.addClass('cke_disabled');},enable:function(){var P=this.getInputElement();P.removeAttribute('disabled');P.removeClass('cke_disabled');},isEnabled:function(){return!this.getInputElement().getAttribute('disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(P){var Q=this;if(arguments.length<1)return Q._.children.concat();if(!P.splice)P=[P];if(P.length<2)return Q._.children[P[0]];else return Q._.children[P[0]]&&Q._.children[P[0]].getChild?Q._.children[P[0]].getChild(P.slice(1,P.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var P={build:function(Q,R,S){var T=R.children,U,V=[],W=[];for(var X=0;X7||T.name in f.tr||T.name in f.$listItem))return false;var V=o(T);return!V||V.type==1&&V.name=='br'||T.name=='form'&&V.name=='input';};function r(T){p(T,true);if(q(T,true))if(c)T.add(new a.htmlParser.text('\xa0'));else T.add(new a.htmlParser.element('br',{}));};function s(T){p(T);if(q(T))T.add(new a.htmlParser.text('\xa0'));};var t=f,u=e.extend({},t.$block,t.$listItem,t.$tableContent);for(var v in u){if(!('br' in t[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},x={elements:{}};for(v in u)x.elements[v]=r;var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes; +if(U){if(U.cke_temp)return false;var V=['name','href','src'],W;for(var X=0;X]+)))([^>]*)>/gi,D=/\s_cke_saved_src\s*=/,E=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,H=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function J(T){return T.replace(C,function(U,V,W,X,Y){if(X=='src'&&D.test(U))return U;else return '<'+V+W+' _cke_saved_'+W+Y+'>';});};function K(T){return T.replace(E,function(U){return ''+encodeURIComponent(U)+'';});};function L(T){return T.replace(F,function(U,V){return decodeURIComponent(V);});};function M(T){return T.replace(G,'$1cke:$2');};function N(T){return T.replace(H,'$1$2');};function O(T){return T.replace(I,'');};function P(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function Q(T){return T.replace(//g,function(U){return ''; +});};function R(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function S(T,U){var V=[],W=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,X=[//gi,//gi].concat(U);T=T.replace(//g,function(Z){return '';});for(var Y=0;Y';});T=T.replace(W,function(Z,aa,ab){return '';});return T;};j.add('jhtmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);U.htmlFilter.addRules(z);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor.config.protectedSource);T=J(T);T=K(T);T=M(T);T=O(T);T=P(T);T=N(T);T=L(T);T=R(T);var V=a.htmlParser.fragment.fromHtml(T,U),W=new a.htmlParser.basicWriter();V.writeHtml(W,this.dataFilter);T=W.getHtml(true);T=Q(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset();W.writeHtml(V,this.htmlFilter);return V.getHtml(true);}};})();(function(){var m=/\.swf(?:$|\?)/i,n=/^\d+(?:\.\d+)?$/;function o(r){if(n.test(r))return r+'px';return r;};function p(r){var s=r.attributes;return s.type=='application/x-shockwave-flash'||m.test(s.src||'');};function q(r,s){var t=r.createFakeParserElement(s,'cke_flash','flash',true),u=t.attributes.style||'',v=s.attributes.width,w=s.attributes.height;if(typeof v!='undefined')u=t.attributes.style=u+'width:'+o(v)+';';if(typeof w!='undefined')u=t.attributes.style=u+'height:'+o(w)+';';return t;};j.add('jflash',{init:function(r){r.addCommand('flash',new a.dialogCommand('flash'));r.ui.addButton('Flash',{label:r.lang.common.flash,command:'flash'});a.dialog.add('flash',this.path+'dialogs/flash.js');r.addCss('img.cke_flash{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');if(r.addMenuItems)r.addMenuItems({flash:{label:r.lang.flash.properties,command:'flash',group:'flash'}}); +if(r.contextMenu)r.contextMenu.addListener(function(s,t){if(s&&s.is('img')&&s.getAttribute('_cke_real_element_type')=='flash')return{flash:2};});},afterInit:function(r){var s=r.dataProcessor,t=s&&s.dataFilter;if(t)t.addRules({elements:{'cke:object':function(u){var v=u.attributes,w=v.classid&&String(v.classid).toLowerCase();if(!w){for(var x=0;x750)s.push(t?'style="width:750px">':' style="display:none">');}else s.push(t?'>':' style="display:none">');s.push('',o.lang.toolbar,'');var w=o.toolbox.toolbars,x=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var y=0;y');u=0;}if(z==='/'){s.push('
          ');continue;}s.push('');var C=w.push(B)-1;if(C>0){B.previous=w[C-1];B.previous.next=B;}for(var D=0;D');u=1;}}else if(u){s.push('');u=0;}var G=E.render(o,s);C=B.items.push(G)-1;if(C>0){G.previous=B.items[C-1];G.previous.next=G;}G.toolbar=B;G.onkey=p;G.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(u){s.push('');u=0;}s.push('');}s.push('
          ');if(o.config.toolbarCanCollapse){var H=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(H);});var I='cke_'+e.getNextNumber();o.addCommand('toolbarCollapse',{exec:function(J){var K=a.document.getById(I),L=K.getPrevious(),M=J.getThemeSpace('contents'),N=L.getParent(),O=parseInt(M.$.style.height,10),P=N.$.offsetHeight,Q=!L.isVisible();if(!Q){L.hide();K.addClass('cke_toolbox_collapser_min');K.setAttribute('title',J.lang.toolbarExpand);}else{L.show();K.removeClass('cke_toolbox_collapser_min');K.setAttribute('title',J.lang.toolbarCollapse);}K.getFirst().setText(Q?'▲':'◀');var R=N.$.offsetHeight-P;M.setStyle('height',O-R+'px');J.fire('resize');},modes:{wysiwyg:1,source:1}});s.push('','','');}q.data.html+=s.join('');}});o.addCommand('toolbarFocus',n.toolbarFocus);}});})();k.separator={render:function(m,n){n.push('');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('jdialogdefinitionlistener',{requires:['dialog'],init:function(n){a.on('dialogDefinition',function(o){if(n.config.toolbar=='Blog')for(var p in o.data.definition.contents){m(o.data.name,o.data.definition,o.data.definition.contents[p].elements);if(!o.data.definition.contents[p].hidden&&o.data.definition.contents[p].filebrowser)o.data.definition.contents[p].hidden=false;}});}});function m(n,o,p){var q;for(var r in p){q=p[r];if(n=='jdialogDefinitionlistener')continue;if(typeof q=='function'||q.type=='undefined')continue;if(q.type&&(q.type=='hbox'||q.type=='vbox'))m(n,o,q.children);if(q.filebrowser)q.hidden=true;}};})();j.add('ajaxoverride',{init:function(m){},afterInit:function(m){var n=a.ajax.load,o=a.ajax.loadXml;a.ajax.load=function(p,q,r){p+=(p.indexOf('?')!=-1?'&':'?')+'client='+m.config.client;return n(p,q,r);};a.ajax.loadXml=function(p,q){p+=(p.indexOf('?')!=-1?'&':'?')+'client='+m.config.client;return o(p,q);};}});j.add('safariroverride',{requires:['dialog'],init:function(m){},afterInit:function(m){k.dialog.file.prototype.reset=function(n){var o=a.document.getById(this._.frameId),p,q=this._.definition,r=this._.buttons;function s(){if(b.webkit)p=new g(o.$.contentDocument);else p=o.getFrameDocument(); +p.$.open();if(b.isCustomDomain())p.$.domain=document.domain;var t='';if(q.size)t=q.size-(c?7:0);p.$.write(['','
          ','','
          ',''].join(''));p.$.close();for(var u=0;u',n.name,'');return o.join('');};}});j.add('jabout',{lang:['en'],init:function(m){var n=m.addCommand('about',new a.dialogCommand('about'));n.modes={wysiwyg:1,source:1};n.canUndo=false;m.ui.addButton('About',{label:m.lang.jabout.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});j.add('styles',{requires:['selection']});a.editor.prototype.attachStyleStateChange=function(m,n){var o=this._.styleStateChangeCallbacks;if(!o){o=this._.styleStateChangeCallbacks=[];this.on('selectionChange',function(p){for(var q=0;q',Q.name,'');return R.join('');}};a.style.getStyleText=function(Q){var R=Q._ST;if(R)return R;R=Q.styles;var S=Q.attributes&&Q.attributes.style||'',T='';if(S.length)S=S.replace(o,';');for(var U in R){var V=R[U],W=(U+':'+V).replace(o,';');if(V=='inherit')T+=W;else S+=W;}if(S.length)S=M(S);S+=T;return Q._ST=S;};function p(Q){var ap=this;var R=Q.document;if(Q.collapsed){var S=F(ap,R);Q.insertNode(S);Q.moveToPosition(S,2);return;}var T=ap.element,U=ap._.definition,V,W=f[T]||(V=true,f.span);Q.enlarge(1);Q.trim();var X=Q.createBookmark(),Y=X.startNode,Z=X.endNode,aa=Y,ab;while(aa){var ac=false;if(aa.equals(Z)){aa=null;ac=true;}else{var ad=aa.type,ae=ad==1?aa.getName():null;if(ae&&aa.getAttribute('_cke_bookmark')){aa=aa.getNextSourceNode(true);continue;}if(!ae||W[ae]&&(aa.getPosition(Z)|4|0|8)==4+0+8&&(!U.childRule||U.childRule(aa))){var af=aa.getParent();if(af&&((af.getDtd()||f.span)[T]||V)&&(!U.parentRule||U.parentRule(af))){if(!ab&&(!ae||!f.$removeEmpty[ae]||(aa.getPosition(Z)|4|0|8)==4+0+8)){ab=new d.range(R);ab.setStartBefore(aa);}if(ad==3||ad==1&&!aa.getChildCount()){var ag=aa,ah;while(!ag.$.nextSibling&&(ah=ag.getParent(),W[ah.getName()])&&(ah.getPosition(Y)|2|0|8)==2+0+8&&(!U.childRule||U.childRule(ah)))ag=ah;ab.setEndAfter(ag);if(!ag.$.nextSibling)ac=true;}}else ac=true;}else ac=true; +aa=aa.getNextSourceNode();}if(ac&&ab&&!ab.collapsed){var ai=F(ap,R),aj=ai.hasAttributes(),ak=ab.getCommonAncestor(),al={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},am,an,ao;while(ai&&ak){if(ak.getName()==T){for(am in U.attributes){if(al.blockedAttrs[am]||!(ao=ak.getAttribute(an)))continue;if(ai.getAttribute(am)==ao)al.attrs[am]=1;else al.blockedAttrs[am]=1;}for(an in U.styles){if(al.blockedStyles[an]||!(ao=ak.getStyle(an)))continue;if(ai.getStyle(an)==ao)al.styles[an]=1;else al.blockedStyles[an]=1;}}ak=ak.getParent();}for(am in al.attrs)ai.removeAttribute(am);for(an in al.styles)ai.removeStyle(an);if(aj&&!ai.hasAttributes())ai=null;if(ai){ab.extractContents().appendTo(ai);C(ap,ai);ab.insertNode(ai);ai.mergeSiblings();if(!c)ai.$.normalize();}else{ai=new h('span');ab.extractContents().appendTo(ai);ab.insertNode(ai);C(ap,ai);ai.remove(true);}ab=null;}}Q.moveToBookmark(X);Q.shrink(2);};function q(Q){Q.enlarge(1);var R=Q.createBookmark(),S=R.startNode;if(Q.collapsed){var T=new d.elementPath(S.getParent()),U;for(var V=0,W;V'+S+'';else Q.setHtml(S);R.remove();};function x(Q){var R=/(\S\s*)\n(?:\s|(]+_cke_bookmark.*?\/span>))*\n(?!$)/gi,S=Q.getName(),T=y(Q.getOuterHtml(),R,function(V,W,X){return W+''+X+'
          ';}),U=[];T.replace(/([\s\S]*?)<\/pre>/gi,function(V,W){U.push(W);});return U;};function y(Q,R,S){var T='',U='';Q=Q.replace(/(^]+_cke_bookmark.*?\/span>)|(]+_cke_bookmark.*?\/span>$)/gi,function(V,W,X){W&&(T=W);X&&(U=X);return '';});return T+Q.replace(R,S)+U;};function z(Q,R){var S=new d.documentFragment(R.getDocument());for(var T=0;T');U=U.replace(/[ \t]{2,}/g,function(W){return e.repeat(' ',W.length-1)+' ';});var V=R.clone();V.setHtml(U);S.append(V);}return S;};function A(Q,R){var S=Q.getHtml();S=y(S,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');S=S.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'$1');S=S.replace(/([ \t\n\r]+| )/g,' ');S=S.replace(/]*>/gi,'\n');if(c){var T=Q.getDocument().createElement('div');T.append(R);R.$.outerHTML='
          '+S+'
          ';R=T.getFirst().remove();}else R.setHtml(S);return R;};function B(Q,R){var S=Q._.definition,T=e.extend({},S.attributes,K(Q)[R.getName()]),U=S.styles,V=e.isEmpty(T)&&e.isEmpty(U);for(var W in T){if((W=='class'||Q._.definition.fullMatch)&&R.getAttribute(W)!=L(W,T[W]))continue;V=R.hasAttribute(W);R.removeAttribute(W);}for(var X in U){if(Q._.definition.fullMatch&&R.getStyle(X)!=L(X,U[X],true))continue;V=V||!!R.getStyle(X);R.removeStyle(X);}V&&E(R);};function C(Q,R){var S=Q._.definition,T=S.attributes,U=S.styles,V=K(Q),W=R.getElementsByTag(Q.element); +for(var X=W.count();--X>=0;)B(Q,W.getItem(X));for(var Y in V){if(Y!=Q.element){W=R.getElementsByTag(Y);for(X=W.count()-1;X>=0;X--){var Z=W.getItem(X);D(Z,V[Y]);}}}};function D(Q,R){var S=R&&R.attributes;if(S)for(var T=0;T0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0);H+=4;F.setStyle('width',H+'px'); +v.element.addClass('cke_frameLoaded');var I=v.element.$.scrollHeight;if(c&&b.quirks&&I>0)I+=(F.$.offsetHeight||0)-(F.$.clientHeight||0);F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');var J=u.element,K=J.getWindow(),L=K.getScrollPosition(),M=K.getViewPaneSize(),N={height:J.$.offsetHeight,width:J.$.offsetWidth};if(A?B<0:B+N.width>M.width+L.x)B+=N.width*(A?1:-1);if(C+N.height>M.height+L.y)C-=N.height;if(c){var O=new h(w.$.offsetParent),P=O;if(P.getName()=='html')P=P.getDocument().getBody();if(P.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=O.$.scrollWidth-O.$.clientWidth;}var Q=w.getFirst(),R;if(R=Q.getCustomData('activePanel'))R.onHide&&R.onHide.call(this,1);Q.setCustomData('activePanel',this);w.setStyles({top:C+'px',left:B+'px'});w.setOpacity(1);},this);u.isLoaded?E():u.onLoad=E;e.setTimeout(function(){x.$.contentWindow.focus();this.allowBlur(true);},0,this);},0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(){var p=this;if(p.visible&&(!p.onHide||p.onHide.call(p)!==true)){p.hideChild();p.element.setStyle('display','none');p.visible=0;p.element.getFirst().removeCustomData('activePanel');}},allowBlur:function(p){var q=this._.panel;if(p!=undefined)q.allowBlur=p;return q.allowBlur;},showAsChild:function(p,q,r,s,t,u){if(this._.activeChild==p&&p._.panel._.offsetParentId==r.getId())return;this.hideChild();p.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=p;this._.focused=false;p.showBlock(q,r,s,t,u);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){p.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var p=this._.activeChild;if(p){delete p.onHide;delete this._.activeChild;p.hide();}}}});a.on('instanceDestroyed',function(){var p=e.isEmpty(a.instances);for(var q in m){var r=m[q];if(p)r.destroy();else r.element.hide();}p&&(m={});});})();j.add('menu',{beforeInit:function(m){var n=m.config.menu_groups.split(','),o=m._.menuGroups={},p=m._.menuItems={};for(var q=0;q'],B=r.length,C=B&&r[0].group;for(var D=0;D
          ');C=E.group;}E.render(this,D,A);}A.push('
          ');u.setHtml(A.join(''));if(this.parent)this.parent._.panel.showAsChild(t,this.id,n,o,p,q); +else t.showBlock(this.id,n,o,p,q);s.fire('menuShow',[t]);},hide:function(){this._.panel&&this._.panel.hide();}}});function m(n){n.sort(function(o,p){if(o.groupp.group)return 1;return o.orderp.order?1:0;});};})();a.menuItem=e.createClass({$:function(m,n,o){var p=this;e.extend(p,o,{order:0,className:'cke_button_'+n});p.group=m._.menuGroups[p.group];p.editor=m;p.name=n;},proto:{render:function(m,n,o){var v=this;var p=m.id+String(n),q=typeof v.state=='undefined'?2:v.state,r=' cke_'+(q==1?'on':q==0?'disabled':'off'),s=v.label;if(v.className)r+=' '+v.className;var t=v.getItems;o.push(''+'');if(t)o.push('','&#',v.editor.lang.dir=='rtl'?'9668':'9658',';','');o.push(s,'');}}});i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var m=function(o,p){return o._.modes&&o._.modes[p||o.mode];},n;j.add('editingblock',{init:function(o){if(!o.config.editingBlock)return;o.on('themeSpace',function(p){if(p.data.space=='contents')p.data.html+='
          ';});o.on('themeLoaded',function(){o.fireOnce('editingBlockReady');});o.on('uiReady',function(){o.setMode(o.config.startupMode);});o.on('afterSetData',function(){if(!n){function p(){n=true;m(o).loadData(o.getData());n=false;};if(o.mode)p();else o.on('mode',function(){p();o.removeListener('mode',arguments.callee);});}});o.on('beforeGetData',function(){if(!n&&o.mode){n=true;o.setData(m(o).getData());n=false;}});o.on('getSnapshot',function(p){if(o.mode)p.data=m(o).getSnapshotData(); +});o.on('loadSnapshot',function(p){if(o.mode)m(o).loadSnapshotData(p.data);});o.on('mode',function(p){p.removeListener();b.webkit&&o.container.on('focus',function(){o.focus();});if(o.config.startupFocus)o.focus();setTimeout(function(){o.fireOnce('instanceReady');a.fire('instanceReady',null,o);},0);});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(o,p){p.name=o;(this._.modes||(this._.modes={}))[o]=p;};a.editor.prototype.setMode=function(o){var p,q=this.getThemeSpace('contents'),r=this.checkDirty();if(this.mode){if(o==this.mode)return;this.fire('beforeModeUnload');var s=m(this);p=s.getData();s.unload(q);this.mode='';}q.setHtml('');var t=m(this,o);if(!t)throw '[CKEDITOR.editor.setMode] Unknown mode "'+o+'".';if(!r)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});t.load(q,typeof p!='string'?this.getData():p);};a.editor.prototype.focus=function(){var o=m(this);if(o)o.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var w=this;try{var t=w.getSelection();if(!t||!t.document.getWindow().$)return;var u=t.getStartElement(),v=new d.elementPath(u);if(!v.compare(w._.selectionPreviousPath)){w._.selectionPreviousPath=v;w.fire('selectionChange',{selection:t,path:v,element:u});}}catch(x){}};var n,o;function p(){o=true;if(n)return;q.call(this);n=e.setTimeout(q,200,this);};function q(){n=null;if(o){e.setTimeout(m,0,this);o=false;}};var r={modes:{wysiwyg:1,source:1},exec:function(t){switch(t.mode){case 'wysiwyg':t.document.$.execCommand('SelectAll',false,null);break;case 'source':var u=t.textarea.$;if(c)u.createTextRange().execCommand('SelectAll');else{u.selectionStart=0;u.selectionEnd=u.value.length;}u.focus();}},canUndo:false};j.add('selection',{init:function(t){t.on('contentDom',function(){var u=t.document,v=u.getBody(),w=u.getDocumentElement();if(c){var x,y,z=1;v.on('focusin',function(D){if(D.data.$.srcElement.nodeName!='BODY')return;if(x){var E=u.getCustomData('cke_locked_selection');if(z&&!E)try{x.select();}catch(F){}x=null;}});v.on('focus',function(){y=1;C();});v.on('beforedeactivate',function(D){if(D.data.$.toElement)return;y=0;z=1;});if(c&&b.version<8)t.on('blur',function(D){try{t.document&&t.document.$.selection.empty();}catch(E){}});w.on('mousedown',function(){z=0;});w.on('mouseup',function(){z=1;});if(c&&(b.ie7Compat||b.version<8||b.quirks))w.on('click',function(D){if(D.data.getTarget().getName()=='html')t.getSelection().getRanges()[0].select();});var A;v.on('mousedown',function(D){if(D.data.$.button==2){var E=t.document.$.selection; +if(E.type=='None')A=t.window.getScrollPosition();}B();});v.on('mouseup',function(D){if(D.data.$.button==2&&A){t.document.$.documentElement.scrollLeft=A.x;t.document.$.documentElement.scrollTop=A.y;}A=null;y=1;setTimeout(function(){C(true);},0);});v.on('keydown',B);v.on('keyup',function(){y=1;C();});u.on('selectionchange',C);function B(){y=0;};function C(D){if(y){var E=t.document,F=t.getSelection(),G=F&&F.getNative();if(D&&G&&G.type=='None')if(!E.$.queryCommandEnabled('InsertImage')){e.setTimeout(C,50,this,true);return;}var H;if(G&&G.type&&G.type!='Control'&&(H=G.createRange())&&(H=H.parentElement())&&(H=H.nodeName)&&H.toLowerCase() in {input:1,textarea:1})return;x=G&&F.getRanges()[0];p.call(t);}};}else{u.on('mouseup',p,t);u.on('keyup',p,t);}});t.addCommand('selectAll',r);t.ui.addButton('SelectAll',{label:t.lang.selectAll,command:'selectAll'});t.selectionChange=p;}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var t=new d.selection(this);return!t||t.isInvalid?null:t;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(t){var w=this;var u=t.getCustomData('cke_locked_selection');if(u)return u;w.document=t;w.isLocked=0;w._={cache:{}};if(c){var v=w.getNative().createRange();if(!v||v.item&&v.item(0).ownerDocument!=w.document.$||v.parentElement&&v.parentElement().ownerDocument!=w.document.$)w.isInvalid=true;}return w;};var s={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,th:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var t=this._.cache;if(t.type)return t.type;var u=1;try{var v=this.getNative(),w=v.type;if(w=='Text')u=2;if(w=='Control')u=3;if(v.createRange().parentElement)u=2;}catch(x){}return t.type=u;}:function(){var t=this._.cache;if(t.type)return t.type;var u=2,v=this.getNative();if(!v)u=1;else if(v.rangeCount==1){var w=v.getRangeAt(0),x=w.startContainer;if(x==w.endContainer&&x.nodeType==1&&w.endOffset-w.startOffset==1&&s[x.childNodes[w.startOffset].nodeName.toLowerCase()])u=3;}return t.type=u;},getRanges:(function(){var t=c?(function(){var u=function(v,w){v=v.duplicate(); +v.collapse(w);var x=v.parentElement(),y=x.childNodes,z;for(var A=0;A0)break;else if(!C||D==1&&C==-1)return{container:x,offset:A};else if(!D)return{container:x,offset:A+1};z=null;}}if(!z){z=v.duplicate();z.moveToElementText(x);z.collapse(false);}z.setEndPoint('StartToStart',v);var E=z.text.replace(/(\r\n|\r)/g,'\n').length;try{while(E>0)E-=y[--A].nodeValue.length;}catch(F){E=0;}if(E===0)return{container:x,offset:A};else return{container:y[A],offset:-E};};return function(){var F=this;var v=F.getNative(),w=v&&v.createRange(),x=F.getType(),y;if(!v)return[];if(x==2){y=new d.range(F.document);var z=u(w,true);y.setStart(new d.node(z.container),z.offset);z=u(w);y.setEnd(new d.node(z.container),z.offset);if(y.endContainer.getPosition(y.startContainer)&4&&y.endOffset<=y.startContainer.getIndex())y.collapse();return[y];}else if(x==3){var A=[];for(var B=0;B=A.getLength())E.setStartAfter(A);else E.setStartBefore(A);if(B&&B.type==3)if(!D)E.setEndBefore(B);else E.setEndAfter(B);var G=new d.walker(E);G.evaluator=function(H){if(H.type==1&&H.getAttribute('contenteditable')=='false'){var I=y.clone();y.setEndBefore(H);if(y.collapsed)w.splice(x--,1);if(!(H.getPosition(E.endContainer)&16)){I.setStartAfter(H);if(!I.collapsed)w.splice(x+1,0,I);}return true;}return false;};G.next();}}return v.ranges;};})(),getStartElement:function(){var A=this; +var t=A._.cache;if(t.startElement!==undefined)return t.startElement;var u,v=A.getNative();switch(A.getType()){case 3:return A.getSelectedElement();case 2:var w=A.getRanges()[0];if(w){if(!w.collapsed){w.optimize();while(1){var x=w.startContainer,y=w.startOffset;if(y==(x.getChildCount?x.getChildCount():x.getLength())&&!x.isBlockBoundary())w.setStartAfter(x);else break;}u=w.startContainer;if(u.type!=1)return u.getParent();u=u.getChild(w.startOffset);if(!u||u.type!=1)u=w.startContainer;else{var z=u.getFirst();while(z&&z.type==1){u=z;z=z.getFirst();}}}else{u=w.startContainer;if(u.type!=1)u=u.getParent();}u=u.$;}}return t.startElement=u?new h(u):null;},getSelectedElement:function(){var t=this._.cache;if(t.selectedElement!==undefined)return t.selectedElement;var u=this,v=e.tryThese(function(){return u.getNative().createRange().item(0);},function(){var w=u.getRanges()[0],x,y;for(var z=2;z&&!((x=w.getEnclosedNode())&&x.type==1&&s[x.getName()]&&(y=x));z--)w.shrink(1);return y.$;});return t.selectedElement=v?new h(v):null;},lock:function(){var t=this;t.getRanges();t.getStartElement();t.getSelectedElement();t._.cache.nativeSel={};t.isLocked=1;t.document.setCustomData('cke_locked_selection',t);},unlock:function(t){var y=this;var u=y.document,v=u.getCustomData('cke_locked_selection');if(v){u.setCustomData('cke_locked_selection',null);if(t){var w=v.getSelectedElement(),x=!w&&v.getRanges();y.isLocked=0;y.reset();u.getBody().focus();if(w)y.selectElement(w);else y.selectRanges(x);}}if(!v||!t){y.isLocked=0;y.reset();}},reset:function(){this._.cache={};},selectElement:function(t){var w=this;if(w.isLocked){var u=new d.range(w.document);u.setStartBefore(t);u.setEndAfter(t);w._.cache.selectedElement=t;w._.cache.startElement=t;w._.cache.ranges=new d.rangeList(u);w._.cache.type=3;return;}if(c){w.getNative().empty();try{u=w.document.$.body.createControlRange();u.addElement(t.$);u.select();}catch(x){u=w.document.$.body.createTextRange();u.moveToElementText(t.$);u.select();}finally{w.document.fire('selectionchange');}w.reset();}else{u=w.document.$.createRange();u.selectNode(t.$);var v=w.getNative();v.removeAllRanges();v.addRange(u);w.reset();}},selectRanges:function(t){var D=this;if(D.isLocked){D._.cache.selectedElement=null;D._.cache.startElement=t[0]&&t[0].getTouchedStartNode();D._.cache.ranges=new d.rangeList(t);D._.cache.type=2;return;}if(c){if(t.length>1){var u=t[t.length-1];t[0].setEnd(u.endContainer,u.endOffset);t.length=1;}if(t[0])t[0].select();D.reset();}else{var v=D.getNative(); +if(t.length)v.removeAllRanges();for(var w=0;w=0){s.collapse(true); +q.setEnd(s.endContainer.$,s.endOffset);}else throw t;}var r=s.document.getSelection().getNative();r.removeAllRanges && r.removeAllRanges();r.addRange(q);};})();(function(){var m={elements:{$:function(n){var o=n.attributes,p=o&&o._cke_realelement,q=p&&new a.htmlParser.fragment.fromHtml(decodeURIComponent(p)),r=q&&q.children[0];if(r&&n.attributes._cke_resizable){var s=n.attributes.style;if(s){var t=/(?:^|\s)width\s*:\s*(\d+)/i.exec(s),u=t&&t[1];t=/(?:^|\s)height\s*:\s*(\d+)/i.exec(s);var v=t&&t[1];if(u)r.attributes.width=u;if(v)r.attributes.height=v;}}return r;}}};j.add('fakeobjects',{requires:['htmlwriter'],afterInit:function(n){var o=n.dataProcessor,p=o&&o.htmlFilter;if(p)p.addRules(m);}});})();a.editor.prototype.createFakeElement=function(m,n,o,p){var q=this.lang.fakeobjects,r={'class':n,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(m.getOuterHtml()),_cke_real_node_type:m.type,alt:q[o]||q.unknown,align:m.getAttribute('align')||''};if(o)r._cke_real_element_type=o;if(p)r._cke_resizable=p;return this.document.createElement('img',{attributes:r});};a.editor.prototype.createFakeParserElement=function(m,n,o,p){var q=this.lang.fakeobjects,r,s=new a.htmlParser.basicWriter();m.writeHtml(s);r=s.getHtml();var t={'class':n,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(r),_cke_real_node_type:m.type,alt:q[o]||q.unknown,align:m.attributes.align||''};if(o)t._cke_real_element_type=o;if(p)t._cke_resizable=p;return new a.htmlParser.element('img',t);};a.editor.prototype.restoreRealElement=function(m){if(m.getAttribute('_cke_real_node_type')!=1)return null;return h.createFromHtml(decodeURIComponent(m.getAttribute('_cke_realelement')),this.document);};j.add('richcombo',{requires:['floatpanel','listblock','button'],beforeInit:function(m){m.ui.addHandler(3,k.richCombo.handler);}});a.UI_RICHCOMBO=3;k.richCombo=e.createClass({$:function(m){var o=this;e.extend(o,m,{title:m.label,modes:{wysiwyg:1}});var n=o.panel||{};delete o.panel;o.id=e.getNextNumber();o.document=n&&n.parent&&n.parent.getDocument()||a.document;n.className=(n.className||'')+' cke_rcombopanel';n.block={multiSelect:n.multiSelect,attributes:n.attributes};o._={panelDefinition:n,items:{},state:2};},statics:{handler:{create:function(m){return new k.richCombo(m);}}},proto:{renderHtml:function(m){var n=[];this.render(m,n);return n.join('');},render:function(m,n){var o=b,p='cke_'+this.id,q=e.addFunction(function(t){var w=this;var u=w._;if(u.state==0)return;w.createPanel(m);if(u.on){u.panel.hide();return; +}!u.committed&&w.commit();var v=w.getValue();if(v)u.list.mark(v);else u.list.unmarkAll();u.panel.showBlock(w.id,new h(t),4);},this),r={id:p,combo:this,focus:function(){var t=a.document.getById(p).getChild(1);t.focus();},clickFn:q};m.on('mode',function(){this.setState(this.modes[m.mode]?2:0);},this);var s=e.addFunction(function(t,u){t=new d.event(t);var v=t.getKeystroke();switch(v){case 13:case 32:case 40:e.callFunction(q,u);break;default:r.onkey(r,v);}t.preventDefault();});r.keyDownFn=s;n.push('','','',this.label,'','=10900&&!o.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',p,'_label" aria-describedby="',p,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',s,', event, this );" onclick="CKEDITOR.tools.callFunction(',q,', this); return false;">'+this.label+''+''+''+(b.hc?'':'')+''+''+''+'');if(this.onRender)this.onRender();return r;},createPanel:function(m){if(this._.panel)return;var n=this._.panelDefinition,o=this._.panelDefinition.block,p=n.parent||a.document.getBody(),q=new k.floatPanel(m,p,n),r=q.addListBlock(this.id,o),s=this;q.onShow=function(){if(s.className)this.element.getFirst().addClass(s.className+'_panel');s.setState(1);r.focus(!s.multiSelect&&s.getValue());s._.on=1;if(s.onOpen)s.onOpen();};q.onHide=function(t){if(s.className)this.element.getFirst().removeClass(s.className+'_panel');s.setState(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();s.document.getById('cke_'+s.id).getFirst().getNext().focus();};r.onClick=function(t,u){s.document.getWindow().focus();if(s.onClick)s.onClick.call(s,t,u);if(u)s.setValue(t,s._.items[t]);else s.setValue('');q.hide();};this._.panel=q;this._.list=r;q.getBlock(this.id).onHide=function(){s._.on=0;s.setState(2);};if(this.init)this.init();},setValue:function(m,n){var p=this;p._.value=m;var o=p.document.getById('cke_'+p.id+'_text');if(!(m||n)){n=p.label;o.addClass('cke_inline_label');}else o.removeClass('cke_inline_label'); +o.setHtml(typeof n!='undefined'?n:m);},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(m){this._.list.mark(m);},hideItem:function(m){this._.list.hideItem(m);},hideGroup:function(m){this._.list.hideGroup(m);},showAll:function(){this._.list.showAll();},add:function(m,n,o){this._.items[m]=o||m;this._.list.add(m,n,o);},startGroup:function(m){this._.list.startGroup(m);},commit:function(){this._.list.commit();this._.committed=1;},setState:function(m){var n=this;if(n._.state==m)return;n.document.getById('cke_'+n.id).setState(m);n._.state=m;}}});k.prototype.addRichCombo=function(m,n){this.add(m,3,n);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var o=this;o.base();o.indentationChars='\t';o.selfClosingEnd=' />';o.lineBreakChars='\n';o.forceSimpleAmpersand=0;o.sortAttributes=1;o._.indent=0;o._.indentation='';o._.inPre=0;o._.rules={};var m=f;for(var n in e.extend({},m.$nonBodyContent,m.$block,m.$listItem,m.$tableContent))o.setRules(n,{indent:1,breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:!m[n]['#'],breakAfterClose:1});o.setRules('br',{breakAfterOpen:1});o.setRules('title',{indent:0,breakAfterOpen:0});o.setRules('style',{indent:0,breakBeforeClose:1});o.setRules('pre',{indent:0});},proto:{openTag:function(m,n){var p=this;var o=p._.rules[m];if(p._.indent)p.indentation();else if(o&&o.breakBeforeOpen){p.lineBreak();p.indentation();}p._.output.push('<',m);},openTagClose:function(m,n){var p=this;var o=p._.rules[m];if(n)p._.output.push(p.selfClosingEnd);else{p._.output.push('>');if(o&&o.indent)p._.indentation+=p.indentationChars;}if(o&&o.breakAfterOpen)p.lineBreak();m=='pre'&&(p._.inPre=1);},attribute:function(m,n){if(typeof n=='string'){this.forceSimpleAmpersand&&(n=n.replace(/&/g,'&'));n=e.htmlEncodeAttr(n);}this._.output.push(' ',m,'="',n,'"');},closeTag:function(m){var o=this;var n=o._.rules[m];if(n&&n.indent)o._.indentation=o._.indentation.substr(o.indentationChars.length);if(o._.indent)o.indentation();else if(n&&n.breakBeforeClose){o.lineBreak();o.indentation();}o._.output.push('');m=='pre'&&(o._.inPre=0);if(n&&n.breakAfterClose)o.lineBreak();},text:function(m){var n=this;if(n._.indent){n.indentation();!n._.inPre&&(m=e.ltrim(m));}n._.output.push(m);},comment:function(m){if(this._.indent)this.indentation();this._.output.push('');},lineBreak:function(){var m=this;if(!m._.inPre&&m._.output.length>0)m._.output.push(m.lineBreakChars);m._.indent=1; +},indentation:function(){var m=this;if(!m._.inPre)m._.output.push(m._.indentation);m._.indent=0;},setRules:function(m,n){var o=this._.rules[m];if(o)e.extend(o,n,true);else this._.rules[m]=n;}}});j.add('menubutton',{requires:['button','contextmenu'],beforeInit:function(m){m.ui.addHandler(5,k.menuButton.handler);}});a.UI_MENUBUTTON=5;(function(){var m=function(n){var o=this._;if(o.state===0)return;o.previousState=o.state;var p=o.menu;if(!p){p=o.menu=new j.contextMenu(n);p.definition.panel.attributes['aria-label']=n.lang.common.options;p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},this);if(this.onMenu)p.addListener(this.onMenu);}if(o.on){p.hide();return;}this.setState(1);p.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(n){var o=n.panel;delete n.panel;this.base(n);this.hasArrow=true;this.click=m;},statics:{handler:{create:function(n){return new k.menuButton(n);}}}});})();j.add('dialogui');(function(){var m=function(u){var x=this;x._||(x._={});x._['default']=x._.initValue=u['default']||'';x._.required=u.required||false;var v=[x._];for(var w=1;w',v.label,'','');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'
          ');return o;},getHolderElement:function(){var m=this._.holder;if(!m){if(this.forceIFrame||this.css.length){var n=this.document.getById(this.id+'_frame'),o=n.getParent(),p=o.getAttribute('dir'),q=o.getParent().getAttribute('class'),r=o.getParent().getAttribute('lang'),s=n.getFrameDocument();s.$.open();if(b.isCustomDomain())s.$.domain=document.domain;var t=e.addFunction(e.bind(function(v){this.isLoaded=true;if(this.onLoad)this.onLoad();},this));s.$.write(''+''+''+''+''+e.buildStyleHtml(this.css)+'');s.$.close();var u=s.getWindow();u.$.CKEDITOR=a;s.on('key'+(b.opera?'press':'down'),function(v){var y=this;var w=v.data.getKeystroke(),x=y.document.getById(y.id).getAttribute('dir');if(y._.onKeyDown&&y._.onKeyDown(w)===false){v.data.preventDefault();return;}if(w==27||w==(x=='rtl'?39:37))if(y.onEscape&&y.onEscape(w)===false)v.data.preventDefault();},this);m=s.getBody();m.unselectable();}else m=this.document.getById(this.id);this._.holder=m;}return m;},addBlock:function(m,n){var o=this;n=o._.blocks[m]=n instanceof k.panel.block?n:new k.panel.block(o.getHolderElement(),n);if(!o._.currentBlock)o.showBlock(m);return n;},getBlock:function(m){return this._.blocks[m];},showBlock:function(m){var n=this._.blocks,o=n[m],p=this._.currentBlock,q=this.forceIFrame?this.document.getById(this.id+'_frame'):this._.holder;q.getParent().getParent().disableContextMenu();if(p){q.removeAttributes(p.attributes);p.hide();}this._.currentBlock=o;q.setAttributes(o.attributes);a.fire('ariaWidget',q);o._.focusIndex=-1;this._.onKeyDown=o.onKeyDown&&e.bind(o.onKeyDown,o);o.onMark=function(r){q.setAttribute('aria-activedescendant',r.getId()+'_option');};o.onUnmark=function(){q.removeAttribute('aria-activedescendant');};o.show();return o;},destroy:function(){this.element&&this.element.remove();}};k.panel.block=e.createClass({$:function(m,n){var o=this; +o.element=m.append(m.getDocument().createElement('div',{attributes:{tabIndex:-1,'class':'cke_panel_block',role:'presentation'},styles:{display:'none'}}));if(n)e.extend(o,n);if(!o.attributes.title)o.attributes.title=o.attributes['aria-label'];o.keys={};o._.focusIndex=-1;o.element.disableContextMenu();},_:{markItem:function(m){var p=this;if(m==-1)return;var n=p.element.getElementsByTag('a'),o=n.getItem(p._.focusIndex=m);if(b.webkit||b.opera)o.getDocument().getWindow().focus();o.focus();p.onMark&&p.onMark(o);}},proto:{show:function(){this.element.setStyle('display','');},hide:function(){var m=this;if(!m.onHide||m.onHide.call(m)!==true)m.element.setStyle('display','none');},onKeyDown:function(m){var r=this;var n=r.keys[m];switch(n){case 'next':var o=r._.focusIndex,p=r.element.getElementsByTag('a'),q;while(q=p.getItem(++o)){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'prev':o=r._.focusIndex;p=r.element.getElementsByTag('a');while(o>0&&(q=p.getItem(--o))){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'click':o=r._.focusIndex;q=o>=0&&r.element.getElementsByTag('a').getItem(o);if(q)q.$.click?q.$.click():q.$.onclick();return false;}return true;}}});j.add('listblock',{requires:['panel'],onLoad:function(){k.panel.prototype.addListBlock=function(m,n){return this.addBlock(m,new k.listBlock(this.getHolderElement(),n));};k.listBlock=e.createClass({base:k.panel.block,$:function(m,n){var q=this;n=n||{};var o=n.attributes||(n.attributes={});(q.multiSelect=!!n.multiSelect)&&(o['aria-multiselectable']=true);!o.role&&(o.role='listbox');q.base.apply(q,arguments);var p=q.keys;p[40]='next';p[9]='next';p[38]='prev';p[2000+9]='prev';p[32]='click';q._.pendingHtml=[];q._.items={};q._.groups={};},_:{close:function(){if(this._.started){this._.pendingHtml.push('
        ');delete this._.started;}},getClick:function(){if(!this._.click)this._.click=e.addFunction(function(m){var o=this;var n=true;if(o.multiSelect)n=o.toggle(m);else o.mark(m);if(o.onClick)o.onClick(m,n);},this);return this._.click;}},proto:{add:function(m,n,o){var r=this;var p=r._.pendingHtml,q=e.getNextId();if(!r._.started){p.push('
        '+'',j=a.config.wsc_customLoaderScript||g+'//loader.spellchecker.net/sproxy_fck/sproxy.php'+'?plugin=fck2'+'&customerid='+a.config.wsc_customerId+'&cmd=script&doc=wsc&schema=22';if(a.config.wsc_customLoaderScript)h+='

        '+a.lang.spellCheck.errorLoading.replace(/%s/g,a.config.wsc_customLoaderScript)+'

        ';function k(m,n){var o=0;return function(){if(typeof window.doSpell=='function'){if(typeof f!='undefined')window.clearInterval(f);l(m);}else if(o++==180)window._cancelOnError(n);};};window._cancelOnError=function(m){if(typeof window.WSC_Error=='undefined'){CKEDITOR.document.getById(c).setStyle('display','none');var n=CKEDITOR.document.getById(e);n.setStyle('display','block');n.setHtml(m||a.lang.spellCheck.notAvailable);}};function l(m){var n=new window._SP_FCK_LangCompare(),o=CKEDITOR.getUrl(a.plugins.wsc.path+'dialogs/'),p=o+'tmpFrameset.html';window.gFCKPluginName='wsc';n.setDefaulLangCode(a.config.defaultLanguage);window.doSpell({ctrl:d,lang:a.config.wsc_lang||n.getSPLangCode(a.langCode),intLang:a.config.wsc_uiLang||n.getSPLangCode(a.langCode),winType:c,onCancel:function(){m.hide();},onFinish:function(q){a.focus();m.getParentEditor().setData(q.value);m.hide();},staticFrame:p,framesetPath:p,iframePath:o+'ciframe.html',schemaURI:o+'wsc.css',userDictionaryName:a.config.wsc_userDictionaryName,customDictionaryName:a.config.wsc_customDictionaryIds&&a.config.wsc_customDictionaryIds.split(','),domainName:a.config.wsc_domainName});CKEDITOR.document.getById(e).setStyle('display','none');CKEDITOR.document.getById(c).setStyle('display','block');};return{title:a.config.wsc_dialogTitle||a.lang.spellCheck.title,minWidth:485,minHeight:380,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var m=this.getContentElement('general','content').getElement();m.setHtml(i);m.getChild(2).setStyle('height',this._.contentSize.height+'px');if(typeof window.doSpell!='function')CKEDITOR.document.getHead().append(CKEDITOR.document.createElement('script',{attributes:{type:'text/javascript',src:j}}));var n=a.getData();CKEDITOR.document.getById(d).setValue(n);f=window.setInterval(k(this,h),250);},onHide:function(){window.ooo=undefined;window.int_framsetLoaded=undefined;window.framesetLoaded=undefined;window.is_window_opened=false;},contents:[{id:'general',label:a.config.wsc_dialogTitle||a.lang.spellCheck.title,padding:0,elements:[{type:'html',id:'content',html:''}]}]};});CKEDITOR.dialog.on('resize',function(a){var data=a.data,dialog=data.dialog;if(dialog._.name=='checkspell') +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ +CKEDITOR.dialog.add('checkspell',function(a){var b=CKEDITOR.tools.getNextNumber(),c='cke_frame_'+b,d='cke_data_'+b,e='cke_error_'+b,f,g=document.location.protocol||'http:',h=a.lang.spellCheck.notAvailable,i='
        '+'',j=a.config.wsc_customLoaderScript||g+'//loader.spellchecker.net/sproxy_fck/sproxy.php'+'?plugin=fck2'+'&customerid='+a.config.wsc_customerId+'&cmd=script&doc=wsc&schema=22';if(a.config.wsc_customLoaderScript)h+='

        '+a.lang.spellCheck.errorLoading.replace(/%s/g,a.config.wsc_customLoaderScript)+'

        ';function k(m,n){var o=0;return function(){if(typeof window.doSpell=='function'){if(typeof f!='undefined')window.clearInterval(f);l(m);}else if(o++==180)window._cancelOnError(n);};};window._cancelOnError=function(m){if(typeof window.WSC_Error=='undefined'){CKEDITOR.document.getById(c).setStyle('display','none');var n=CKEDITOR.document.getById(e);n.setStyle('display','block');n.setHtml(m||a.lang.spellCheck.notAvailable);}};function l(m){var n=new window._SP_FCK_LangCompare(),o=CKEDITOR.getUrl(a.plugins.wsc.path+'dialogs/'),p=o+'tmpFrameset.html';window.gFCKPluginName='wsc';n.setDefaulLangCode(a.config.defaultLanguage);window.doSpell({ctrl:d,lang:a.config.wsc_lang||n.getSPLangCode(a.langCode),intLang:a.config.wsc_uiLang||n.getSPLangCode(a.langCode),winType:c,onCancel:function(){m.hide();},onFinish:function(q){a.focus();m.getParentEditor().setData(q.value);m.hide();},staticFrame:p,framesetPath:p,iframePath:o+'ciframe.html',schemaURI:o+'wsc.css',userDictionaryName:a.config.wsc_userDictionaryName,customDictionaryName:a.config.wsc_customDictionaryIds&&a.config.wsc_customDictionaryIds.split(','),domainName:a.config.wsc_domainName});CKEDITOR.document.getById(e).setStyle('display','none');CKEDITOR.document.getById(c).setStyle('display','block');};return{title:a.config.wsc_dialogTitle||a.lang.spellCheck.title,minWidth:485,minHeight:380,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var m=this.getContentElement('general','content').getElement();m.setHtml(i);m.getChild(2).setStyle('height',this._.contentSize.height+'px');if(typeof window.doSpell!='function')CKEDITOR.document.getHead().append(CKEDITOR.document.createElement('script',{attributes:{type:'text/javascript',src:j}}));var n=a.getData();CKEDITOR.document.getById(d).setValue(n);f=window.setInterval(k(this,h),250);},onHide:function(){window.ooo=undefined;window.int_framsetLoaded=undefined;window.framesetLoaded=undefined;window.is_window_opened=false;},contents:[{id:'general',label:a.config.wsc_dialogTitle||a.lang.spellCheck.title,padding:0,elements:[{type:'html',id:'content',html:''}]}]};});CKEDITOR.dialog.on('resize',function(a){var data=a.data,dialog=data.dialog;if(dialog._.name=='checkspell') {var content=dialog.getContentElement('general','content').getElement(),iframe=content&&content.getChild(2);iframe&&iframe.setStyle('height',data.height+'px');}}); \ No newline at end of file diff --git a/deployed/jckman/plugins/editors/jckeditor/plugins/xml/plugin.js b/deployed/jckman/plugins/editors/jckeditor/plugins/xml/plugin.js index 0d0a3e40..3c916eab 100644 --- a/deployed/jckman/plugins/editors/jckeditor/plugins/xml/plugin.js +++ b/deployed/jckman/plugins/editors/jckeditor/plugins/xml/plugin.js @@ -1,190 +1,190 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -/** - * @fileOverview Defines the {@link CKEDITOR.xml} class, which represents a - * loaded XML document. - */ - -/** - * Represents a loaded XML document. - * @constructor - * @param {object|string} xmlObjectOrData A native XML (DOM document) object or - * a string containing the XML definition to be loaded. - * @example - * var xml = new CKEDITOR.xml( '' ); - */ - - CKEDITOR.plugins.add( 'xml', {} ); - -var head,script; - -if(CKEDITOR.env.ie && CKEDITOR.env.version > 9) -{ - head = document.getElementsByTagName('head')[0]; - script = document.createElement('script'); - script.type= 'text/javascript'; - script.src= CKEDITOR.getUrl('plugins/xml/wgxpath.install.js'); - head.appendChild(script); -} - - -if(script) -{ - script.onload = function() - { - wgxpath.install(); //implement document.evaluate for ie10 - - CKEDITOR.xml = function( xmlObjectOrData ) - { - var baseXml = null; - - if ( typeof xmlObjectOrData == 'object' ) - baseXml = xmlObjectOrData; - else - { - var data = ( xmlObjectOrData || '' ).replace( / /g, '\xA0' ); - if ( window.DOMParser ) - baseXml = (new DOMParser()).parseFromString( data, 'text/xml' ); - else if ( window.ActiveXObject ) - { - try { baseXml = new ActiveXObject( 'MSXML2.DOMDocument' ); } - catch(e) - { - try { baseXml = new ActiveXObject( 'Microsoft.XmlDom' ); } catch(e) {} - } - - if ( baseXml ) - { - baseXml.async = false; - baseXml.resolveExternals = false; - baseXml.validateOnParse = false; - baseXml.loadXML( data ); - } - } - } - - /** - * The native XML (DOM document) used by the class instance. - * @type object - * @example - */ - this.baseXml = baseXml; - this.baseXml.evaluate = document.evaluate; - }; - - CKEDITOR.xml.prototype = - { - /** - * Get a single node from the XML document, based on a XPath query. - * @param {String} xpath The XPath query to execute. - * @param {Object} [contextNode] The XML DOM node to be used as the context - * for the XPath query. The document root is used by default. - * @returns {Object} A XML node element or null if the query has no results. - * @example - * // Create the XML instance. - * var xml = new CKEDITOR.xml( '' ); - * // Get the first node. - * var itemNode = xml.selectSingleNode( 'list/item' ); - * // Alert "item". - * alert( itemNode.nodeName ); - */ - selectSingleNode : function( xpath, contextNode ) - { - var baseXml = this.baseXml; - - if ( contextNode || ( contextNode = baseXml ) ) - { - if ( contextNode.selectSingleNode ) // IE - return contextNode.selectSingleNode( xpath ); - else if ( baseXml.evaluate ) // Others - { - var result = baseXml.evaluate( xpath, contextNode, null, 9, null); - return ( result && result.singleNodeValue ) || null; - } - } - - return null; - }, - - /** - * Gets a list node from the XML document, based on a XPath query. - * @param {String} xpath The XPath query to execute. - * @param {Object} [contextNode] The XML DOM node to be used as the context - * for the XPath query. The document root is used by default. - * @returns {ArrayLike} An array containing all matched nodes. The array will - * be empty if the query has no results. - * @example - * // Create the XML instance. - * var xml = new CKEDITOR.xml( '' ); - * // Get the first node. - * var itemNodes = xml.selectSingleNode( 'list/item' ); - * // Alert "item" twice, one for each . - * for ( var i = 0 ; i < itemNodes.length ; i++ ) - * alert( itemNodes[i].nodeName ); - */ - selectNodes : function( xpath, contextNode ) - { - var baseXml = this.baseXml, - nodes = []; - - if ( contextNode || ( contextNode = baseXml ) ) - { - if ( contextNode.selectNodes ) // IE - return contextNode.selectNodes( xpath ); - else if ( baseXml.evaluate ) // Others - { - var result = baseXml.evaluate( xpath, contextNode, null, 5, null); - - if ( result ) - { - var node; - while ( ( node = result.iterateNext() ) ) - nodes.push( node ); - } - } - } - - return nodes; - }, - - /** - * Gets the string representation of hte inner contents of a XML node, - * based on a XPath query. - * @param {String} xpath The XPath query to execute. - * @param {Object} [contextNode] The XML DOM node to be used as the context - * for the XPath query. The document root is used by default. - * @returns {String} The textual representation of the inner contents of - * the node or null if the query has no results. - * @example - * // Create the XML instance. - * var xml = new CKEDITOR.xml( '' ); - * // Alert "". - * alert( xml.getInnerXml( 'list' ) ); - */ - getInnerXml : function( xpath, contextNode ) - { - var node = this.selectSingleNode( xpath, contextNode ), - xml = []; - if ( node ) - { - node = node.firstChild; - while ( node ) - { - if ( node.xml ) // IE - xml.push( node.xml ); - else if ( window.XMLSerializer ) // Others - xml.push( ( new XMLSerializer() ).serializeToString( node ) ); - - node = node.nextSibling; - } - } - - return xml.length ? xml.join( '' ) : null; - } - }; - - } +/* +Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +/** + * @fileOverview Defines the {@link CKEDITOR.xml} class, which represents a + * loaded XML document. + */ + +/** + * Represents a loaded XML document. + * @constructor + * @param {object|string} xmlObjectOrData A native XML (DOM document) object or + * a string containing the XML definition to be loaded. + * @example + * var xml = new CKEDITOR.xml( '' ); + */ + + CKEDITOR.plugins.add( 'xml', {} ); + +var head,script; + +if(CKEDITOR.env.ie && CKEDITOR.env.version > 9) +{ + head = document.getElementsByTagName('head')[0]; + script = document.createElement('script'); + script.type= 'text/javascript'; + script.src= CKEDITOR.getUrl('plugins/xml/wgxpath.install.js'); + head.appendChild(script); +} + + +if(script) +{ + script.onload = function() + { + wgxpath.install(); //implement document.evaluate for ie10 + + CKEDITOR.xml = function( xmlObjectOrData ) + { + var baseXml = null; + + if ( typeof xmlObjectOrData == 'object' ) + baseXml = xmlObjectOrData; + else + { + var data = ( xmlObjectOrData || '' ).replace( / /g, '\xA0' ); + if ( window.DOMParser ) + baseXml = (new DOMParser()).parseFromString( data, 'text/xml' ); + else if ( window.ActiveXObject ) + { + try { baseXml = new ActiveXObject( 'MSXML2.DOMDocument' ); } + catch(e) + { + try { baseXml = new ActiveXObject( 'Microsoft.XmlDom' ); } catch(e) {} + } + + if ( baseXml ) + { + baseXml.async = false; + baseXml.resolveExternals = false; + baseXml.validateOnParse = false; + baseXml.loadXML( data ); + } + } + } + + /** + * The native XML (DOM document) used by the class instance. + * @type object + * @example + */ + this.baseXml = baseXml; + this.baseXml.evaluate = document.evaluate; + }; + + CKEDITOR.xml.prototype = + { + /** + * Get a single node from the XML document, based on a XPath query. + * @param {String} xpath The XPath query to execute. + * @param {Object} [contextNode] The XML DOM node to be used as the context + * for the XPath query. The document root is used by default. + * @returns {Object} A XML node element or null if the query has no results. + * @example + * // Create the XML instance. + * var xml = new CKEDITOR.xml( '' ); + * // Get the first node. + * var itemNode = xml.selectSingleNode( 'list/item' ); + * // Alert "item". + * alert( itemNode.nodeName ); + */ + selectSingleNode : function( xpath, contextNode ) + { + var baseXml = this.baseXml; + + if ( contextNode || ( contextNode = baseXml ) ) + { + if ( contextNode.selectSingleNode ) // IE + return contextNode.selectSingleNode( xpath ); + else if ( baseXml.evaluate ) // Others + { + var result = baseXml.evaluate( xpath, contextNode, null, 9, null); + return ( result && result.singleNodeValue ) || null; + } + } + + return null; + }, + + /** + * Gets a list node from the XML document, based on a XPath query. + * @param {String} xpath The XPath query to execute. + * @param {Object} [contextNode] The XML DOM node to be used as the context + * for the XPath query. The document root is used by default. + * @returns {ArrayLike} An array containing all matched nodes. The array will + * be empty if the query has no results. + * @example + * // Create the XML instance. + * var xml = new CKEDITOR.xml( '' ); + * // Get the first node. + * var itemNodes = xml.selectSingleNode( 'list/item' ); + * // Alert "item" twice, one for each . + * for ( var i = 0 ; i < itemNodes.length ; i++ ) + * alert( itemNodes[i].nodeName ); + */ + selectNodes : function( xpath, contextNode ) + { + var baseXml = this.baseXml, + nodes = []; + + if ( contextNode || ( contextNode = baseXml ) ) + { + if ( contextNode.selectNodes ) // IE + return contextNode.selectNodes( xpath ); + else if ( baseXml.evaluate ) // Others + { + var result = baseXml.evaluate( xpath, contextNode, null, 5, null); + + if ( result ) + { + var node; + while ( ( node = result.iterateNext() ) ) + nodes.push( node ); + } + } + } + + return nodes; + }, + + /** + * Gets the string representation of hte inner contents of a XML node, + * based on a XPath query. + * @param {String} xpath The XPath query to execute. + * @param {Object} [contextNode] The XML DOM node to be used as the context + * for the XPath query. The document root is used by default. + * @returns {String} The textual representation of the inner contents of + * the node or null if the query has no results. + * @example + * // Create the XML instance. + * var xml = new CKEDITOR.xml( '' ); + * // Alert "". + * alert( xml.getInnerXml( 'list' ) ); + */ + getInnerXml : function( xpath, contextNode ) + { + var node = this.selectSingleNode( xpath, contextNode ), + xml = []; + if ( node ) + { + node = node.firstChild; + while ( node ) + { + if ( node.xml ) // IE + xml.push( node.xml ); + else if ( window.XMLSerializer ) // Others + xml.push( ( new XMLSerializer() ).serializeToString( node ) ); + + node = node.nextSibling; + } + } + + return xml.length ? xml.join( '' ) : null; + } + }; + + } } \ No newline at end of file diff --git a/deployed/jckman/plugins/editors/jckeditor/skins/kama/dialog.css b/deployed/jckman/plugins/editors/jckeditor/skins/kama/dialog.css index d5fc7236..628c4d52 100644 --- a/deployed/jckman/plugins/editors/jckeditor/skins/kama/dialog.css +++ b/deployed/jckman/plugins/editors/jckeditor/skins/kama/dialog.css @@ -1,19 +1,19 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -body .cke_dialog{visibility:visible;}.cke_skin_kama table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_kama .cke_dialog_body{z-index:1;border:solid 1px #ddd;padding:5px;background-color:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;position:relative;_position:static;}.cke_skin_kama .cke_dialog_tl,.cke_skin_kama .cke_dialog_tr,.cke_skin_kama .cke_dialog_tc,.cke_skin_kama .cke_dialog_bl,.cke_skin_kama .cke_dialog_br,.cke_skin_kama .cke_dialog_bc,.cke_skin_kama .cke_dialog_ml,.cke_skin_kama .cke_dialog_mr{display:none;}.cke_skin_kama .cke_dialog_title{font-weight:bold;font-size:14px;padding:3px 3px 8px;cursor:move;position:relative;border-bottom:1px solid #eee;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_title,.cke_skin_kama .cke_browser_ie6 .cke_dialog_title,.cke_skin_kama .cke_browser_ie7 .cke_dialog_title{margin-bottom:22px;}.cke_skin_kama .cke_browser_iequirks.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie6.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_title{margin-bottom:10px;}.cke_skin_kama .cke_dialog_contents{background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;overflow:auto;padding:17px 10px 5px 10px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;margin-top:22px;}.cke_skin_kama .cke_dialog_footer{text-align:right;background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;}.cke_skin_kama .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_kama .cke_dialog_tabs{height:23px;display:inline-block;_display:block;margin-left:10px;margin-right:10px;margin-top:11px;position:absolute;z-index:2;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie6 .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie7 .cke_dialog_tabs{top:33px;}.cke_skin_kama .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_kama a.cke_dialog_tab,.cke_skin_kama a:link.cke_dialog_tab,.cke_skin_kama a:active.cke_dialog_tab,.cke_skin_kama a:hover.cke_dialog_tab,.cke_skin_kama a:visited.cke_dialog_tab{background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1323px;background-color:#ebebeb;height:14px;padding:4px 8px;display:inline-block;cursor:pointer;}.cke_skin_kama .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_kama a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_kama .cke_hc a:hover.cke_dialog_tab{padding:2px 6px!important;border-width:3px;}.cke_skin_kama a.cke_dialog_tab_selected,.cke_skin_kama a:link.cke_dialog_tab_selected,.cke_skin_kama a:active.cke_dialog_tab_selected,.cke_skin_kama a:hover.cke_dialog_tab_selected,.cke_skin_kama a:visited.cke_dialog_tab_selected{background-position:0 -1279px;cursor:default;}.cke_skin_kama .cke_hc a.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 6px!important;border-width:3px;}.cke_skin_kama .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_kama .cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:10px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_contents{margin-top:0;position:relative;margin-bottom:-22px;}.cke_skin_kama .cke_dialog_ui_vbox table,.cke_skin_kama .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_kama .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_kama input.cke_dialog_ui_input_text,.cke_skin_kama input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;} -.cke_skin_kama div.cke_dialog_ui_input_text,.cke_skin_kama div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_kama textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_kama div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_kama .cke_dialog_ui_hbox{width:100%;}.cke_skin_kama .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_kama a.cke_dialog_ui_button{border-collapse:separate;cursor:default;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:transparent url(images/sprites.png) repeat-x scroll 0 -1069px;_background:none;padding:5px 0;text-align:center;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button{padding:0;}.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{width:70px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span{width:100px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{padding:5px 15px;text-align:center;color:#3b3b1f;background:#53D9F0 none;display:inline-block;cursor:default;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button span.cke_dialog_ui_button{margin:0;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button{display:inline-block;padding-top:3px;padding-bottom:2px;margin:2px 0;}.cke_skin_kama a.cke_dialog_ui_button_ok span,.cke_skin_kama a.cke_dialog_ui_button_cancel span{padding-right:20px;padding-left:20px;}.cke_skin_kama a.cke_dialog_ui_button_ok{background-position:0 -1143px;}.cke_skin_kama a.cke_dialog_ui_button_ok span{background:transparent url(images/sprites.png) no-repeat scroll right -1219px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_ok span{background-position:left -1219px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-color:#B8E834;margin-right:0;}.cke_skin_kama a.cke_dialog_ui_button_cancel{background-position:0 -1104px;}.cke_skin_kama a.cke_dialog_ui_button_cancel span{background:transparent url(images/sprites.png) no-repeat scroll right -1245px;} -.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_cancel span{background-position:left -1245px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span{background-color:#F65D20;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-image:none;}.cke_skin_kama span.cke_dialog_ui_button{padding:2px 10px;text-align:center;color:#222;display:inline-block;cursor:default;min-width:60px;+margin:2px 0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_kama a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_kama a:hover.cke_dialog_ui_button,.cke_skin_kama a:focus.cke_dialog_ui_button,.cke_skin_kama a:active.cke_dialog_ui_button{background-position:0 -1179px;}.cke_skin_kama .cke_hc a:hover.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:focus.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:active.cke_dialog_ui_button{border-width:2px;}.cke_skin_kama .cke_browser_iequirks a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:active.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:active.cke_dialog_ui_button span{background-image:none;background:#F7A922;}.cke_skin_kama .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_kama .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;text-align:center;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons a.cke_dialog_ui_button{display:block;padding:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{padding-bottom:5px;padding-top:6px;margin-bottom:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_ok .cke_dialog_ui_button{background-position:right -1214px;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_cancel .cke_dialog_ui_button{background-position:right -1242px;}.cke_skin_kama strong{font-weight:bold;}.cke_skin_kama .cke_dialog .cke_dialog_body .cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:0 -1022px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_kama .cke_dialog_close_button span{display:none;}.cke_skin_kama .cke_dialog_close_button:hover{background-position:0 -1045px;}.cke_skin_kama .cke_ltr .cke_dialog_close_button{right:10px;}.cke_skin_kama .cke_browser_ie8.cke_rtl .cke_dialog_close_button{left:8px;}.cke_skin_kama .cke_rtl .cke_dialog_close_button{left:10px;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{left:16px;top:0;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{position:absolute;left:10px;top:5px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_footer{margin-top:22px;}.cke_skin_kama .cke_browser_ie6 .cke_dialog_close_button,.cke_skin_kama .cke_browser_iequirks .cke_dialog_close_button{top:7px;}.cke_skin_kama .cke_browser_ie7.cke_ltr .cke_dialog_close_button{margin-top:0;}.cke_skin_kama .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_kama .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_kama .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_dialog .cke_centered{text-align:center;}.cke_skin_kama .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;} -.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_kama .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_kama .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_kama .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_kama .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_kama .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_kama .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_kama .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_kama .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_kama .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_kama .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_disabled{color:#a0a0a0;}.cke_skin_kama .cke_hc .cke_dialog_title,.cke_skin_kama .cke_hc .cke_dialog_tabs,.cke_skin_kama .cke_hc .cke_dialog_contents,.cke_skin_kama .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_kama .cke_dialog_body .cke_label{display:none;}.cke_skin_kama .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_kama .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_kama .cke_hc a.cke_btn_locked,.cke_skin_kama .cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_kama a.cke_smile img{border:2px solid #eaead1;}.cke_skin_kama a.cke_smile:focus img,.cke_skin_kama a.cke_smile:active img,.cke_skin_kama a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_kama .cke_hc .cke_dialog_tabs a,.cke_skin_kama .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;} -/* Added by -PC- to override Joomla 1.6 template for the link dialog in specific*/ -.cke_skin_kama .cke_dialog_body .cke_dialog_ui_hbox .cke_dialog_ui_input_text input.cke_dialog_ui_input_text{ float:none; } -.cke_skin_kama .cke_dialog_body .cke_dialog_ui_vbox .cke_dialog_ui_checkbox label, -.cke_skin_kama .cke_dialog_body .cke_dialog_ui_hbox .cke_dialog_ui_checkbox label{ clear:none; } -.cke_dialog_body > table.cke_dialog_contents > tbody > tr > td.cke_dialog_footer > table{position: static;} - -.cke_dialog_ui_hbox.cke_filebrowser .cke_dialog_ui_hbox_first div table tbody:first-child td div.cke_dialog_ui_vbox { display: block !important; height: 289px !important; margin-right: 10px; overflow-y: auto;padding-left: 10px; padding-top: 10px;} - - - +/* +Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +body .cke_dialog{visibility:visible;}.cke_skin_kama table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_kama .cke_dialog_body{z-index:1;border:solid 1px #ddd;padding:5px;background-color:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;position:relative;_position:static;}.cke_skin_kama .cke_dialog_tl,.cke_skin_kama .cke_dialog_tr,.cke_skin_kama .cke_dialog_tc,.cke_skin_kama .cke_dialog_bl,.cke_skin_kama .cke_dialog_br,.cke_skin_kama .cke_dialog_bc,.cke_skin_kama .cke_dialog_ml,.cke_skin_kama .cke_dialog_mr{display:none;}.cke_skin_kama .cke_dialog_title{font-weight:bold;font-size:14px;padding:3px 3px 8px;cursor:move;position:relative;border-bottom:1px solid #eee;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_title,.cke_skin_kama .cke_browser_ie6 .cke_dialog_title,.cke_skin_kama .cke_browser_ie7 .cke_dialog_title{margin-bottom:22px;}.cke_skin_kama .cke_browser_iequirks.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie6.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_title{margin-bottom:10px;}.cke_skin_kama .cke_dialog_contents{background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;overflow:auto;padding:17px 10px 5px 10px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;margin-top:22px;}.cke_skin_kama .cke_dialog_footer{text-align:right;background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;}.cke_skin_kama .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_kama .cke_dialog_tabs{height:23px;display:inline-block;_display:block;margin-left:10px;margin-right:10px;margin-top:11px;position:absolute;z-index:2;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie6 .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie7 .cke_dialog_tabs{top:33px;}.cke_skin_kama .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_kama a.cke_dialog_tab,.cke_skin_kama a:link.cke_dialog_tab,.cke_skin_kama a:active.cke_dialog_tab,.cke_skin_kama a:hover.cke_dialog_tab,.cke_skin_kama a:visited.cke_dialog_tab{background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1323px;background-color:#ebebeb;height:14px;padding:4px 8px;display:inline-block;cursor:pointer;}.cke_skin_kama .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_kama a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_kama .cke_hc a:hover.cke_dialog_tab{padding:2px 6px!important;border-width:3px;}.cke_skin_kama a.cke_dialog_tab_selected,.cke_skin_kama a:link.cke_dialog_tab_selected,.cke_skin_kama a:active.cke_dialog_tab_selected,.cke_skin_kama a:hover.cke_dialog_tab_selected,.cke_skin_kama a:visited.cke_dialog_tab_selected{background-position:0 -1279px;cursor:default;}.cke_skin_kama .cke_hc a.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 6px!important;border-width:3px;}.cke_skin_kama .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_kama .cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:10px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_contents{margin-top:0;position:relative;margin-bottom:-22px;}.cke_skin_kama .cke_dialog_ui_vbox table,.cke_skin_kama .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_kama .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_kama input.cke_dialog_ui_input_text,.cke_skin_kama input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;} +.cke_skin_kama div.cke_dialog_ui_input_text,.cke_skin_kama div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_kama textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_kama div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_kama .cke_dialog_ui_hbox{width:100%;}.cke_skin_kama .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_kama a.cke_dialog_ui_button{border-collapse:separate;cursor:default;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:transparent url(images/sprites.png) repeat-x scroll 0 -1069px;_background:none;padding:5px 0;text-align:center;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button{padding:0;}.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{width:70px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span{width:100px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{padding:5px 15px;text-align:center;color:#3b3b1f;background:#53D9F0 none;display:inline-block;cursor:default;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button span.cke_dialog_ui_button{margin:0;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button{display:inline-block;padding-top:3px;padding-bottom:2px;margin:2px 0;}.cke_skin_kama a.cke_dialog_ui_button_ok span,.cke_skin_kama a.cke_dialog_ui_button_cancel span{padding-right:20px;padding-left:20px;}.cke_skin_kama a.cke_dialog_ui_button_ok{background-position:0 -1143px;}.cke_skin_kama a.cke_dialog_ui_button_ok span{background:transparent url(images/sprites.png) no-repeat scroll right -1219px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_ok span{background-position:left -1219px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-color:#B8E834;margin-right:0;}.cke_skin_kama a.cke_dialog_ui_button_cancel{background-position:0 -1104px;}.cke_skin_kama a.cke_dialog_ui_button_cancel span{background:transparent url(images/sprites.png) no-repeat scroll right -1245px;} +.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_cancel span{background-position:left -1245px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span{background-color:#F65D20;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-image:none;}.cke_skin_kama span.cke_dialog_ui_button{padding:2px 10px;text-align:center;color:#222;display:inline-block;cursor:default;min-width:60px;+margin:2px 0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_kama a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_kama a:hover.cke_dialog_ui_button,.cke_skin_kama a:focus.cke_dialog_ui_button,.cke_skin_kama a:active.cke_dialog_ui_button{background-position:0 -1179px;}.cke_skin_kama .cke_hc a:hover.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:focus.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:active.cke_dialog_ui_button{border-width:2px;}.cke_skin_kama .cke_browser_iequirks a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:active.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:active.cke_dialog_ui_button span{background-image:none;background:#F7A922;}.cke_skin_kama .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_kama .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;text-align:center;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons a.cke_dialog_ui_button{display:block;padding:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{padding-bottom:5px;padding-top:6px;margin-bottom:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_ok .cke_dialog_ui_button{background-position:right -1214px;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_cancel .cke_dialog_ui_button{background-position:right -1242px;}.cke_skin_kama strong{font-weight:bold;}.cke_skin_kama .cke_dialog .cke_dialog_body .cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:0 -1022px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_kama .cke_dialog_close_button span{display:none;}.cke_skin_kama .cke_dialog_close_button:hover{background-position:0 -1045px;}.cke_skin_kama .cke_ltr .cke_dialog_close_button{right:10px;}.cke_skin_kama .cke_browser_ie8.cke_rtl .cke_dialog_close_button{left:8px;}.cke_skin_kama .cke_rtl .cke_dialog_close_button{left:10px;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{left:16px;top:0;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{position:absolute;left:10px;top:5px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_footer{margin-top:22px;}.cke_skin_kama .cke_browser_ie6 .cke_dialog_close_button,.cke_skin_kama .cke_browser_iequirks .cke_dialog_close_button{top:7px;}.cke_skin_kama .cke_browser_ie7.cke_ltr .cke_dialog_close_button{margin-top:0;}.cke_skin_kama .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_kama .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_kama .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_dialog .cke_centered{text-align:center;}.cke_skin_kama .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;} +.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_kama .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_kama .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_kama .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_kama .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_kama .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_kama .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_kama .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_kama .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_kama .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_kama .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_disabled{color:#a0a0a0;}.cke_skin_kama .cke_hc .cke_dialog_title,.cke_skin_kama .cke_hc .cke_dialog_tabs,.cke_skin_kama .cke_hc .cke_dialog_contents,.cke_skin_kama .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_kama .cke_dialog_body .cke_label{display:none;}.cke_skin_kama .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_kama .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_kama .cke_hc a.cke_btn_locked,.cke_skin_kama .cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_kama a.cke_smile img{border:2px solid #eaead1;}.cke_skin_kama a.cke_smile:focus img,.cke_skin_kama a.cke_smile:active img,.cke_skin_kama a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_kama .cke_hc .cke_dialog_tabs a,.cke_skin_kama .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;} +/* Added by -PC- to override Joomla 1.6 template for the link dialog in specific*/ +.cke_skin_kama .cke_dialog_body .cke_dialog_ui_hbox .cke_dialog_ui_input_text input.cke_dialog_ui_input_text{ float:none; } +.cke_skin_kama .cke_dialog_body .cke_dialog_ui_vbox .cke_dialog_ui_checkbox label, +.cke_skin_kama .cke_dialog_body .cke_dialog_ui_hbox .cke_dialog_ui_checkbox label{ clear:none; } +.cke_dialog_body > table.cke_dialog_contents > tbody > tr > td.cke_dialog_footer > table{position: static;} + +.cke_dialog_ui_hbox.cke_filebrowser .cke_dialog_ui_hbox_first div table tbody:first-child td div.cke_dialog_ui_vbox { display: block !important; height: 289px !important; margin-right: 10px; overflow-y: auto;padding-left: 10px; padding-top: 10px;} + + + diff --git a/deployed/jckman/plugins/editors/jckeditor/skins/kama/editor.css b/deployed/jckman/plugins/editors/jckeditor/skins/kama/editor.css index 8658b564..a5c9f3a9 100644 --- a/deployed/jckman/plugins/editors/jckeditor/skins/kama/editor.css +++ b/deployed/jckman/plugins/editors/jckeditor/skins/kama/editor.css @@ -1,13 +1,13 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -.cke_skin_kama *,.cke_skin_kama a:hover,.cke_skin_kama a:link,.cke_skin_kama a:visited,.cke_skin_kama a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;float:none;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif;}.cke_skin_kama .cke_rtl *,.cke_skin_kama .cke_rtl a:hover,.cke_skin_kama .cke_rtl a:link,.cke_skin_kama .cke_rtl a:visited,.cke_skin_kama .cke_rtl a:active,.cke_rtl .cke_skin_kama *,.cke_rtl .cke_skin_kama a:hover,.cke_rtl .cke_skin_kama a:link,.cke_rtl .cke_skin_kama a:visited,.cke_rtl .cke_skin_kama a:active{text-align:right;}.cke_skin_kama iframe{vertical-align:inherit;}.cke_skin_kama textarea{white-space:pre;}.cke_skin_kama .cke_browser_gecko textarea{cursor:text;}.cke_skin_kama .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_kama input[type="text"],.cke_skin_kama input[type="password"]{cursor:text;}.cke_skin_kama input[type="text"][disabled],.cke_skin_kama input[type="password"][disabled]{cursor:default;}.cke_skin_kama fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_kama{display:block;}span.cke_skin_kama{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #D3D3D3;padding:5px;}.cke_skin_kama span.cke_browser_webkit,.cke_skin_kama span.cke_browser_gecko18{display:block;}.cke_skin_kama .cke_wrapper{-moz-border-radius:5px;-webkit-border-radius:5px;-webkit-touch-callout:none;border-radius:5px;background-color:#d3d3d3;background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1950px;display:block;_display:inline-block;padding:5px;}.cke_shared .cke_skin_kama .cke_wrapper{padding-bottom:0;}.cke_skin_kama .cke_browser_ie6 .cke_wrapper,.cke_skin_kama .cke_browser_iequirks .cke_wrapper{background-image:none;}.cke_skin_kama .cke_editor{display:inline-table;width:100%;}.cke_skin_kama .cke_browser_ie .cke_editor,.cke_skin_kama .cke_browser_webkit .cke_editor{display:table;}.cke_skin_kama .ltr .cke_browser_ie iframe{margin-right:-10px;}.cke_skin_kama .rtl .cke_browser_ie iframe{margin-left:-10px;}.cke_skin_kama .cke_browser_opera .cke_editor.cke_skin_kama .cke_resizer{display:table;}.cke_skin_kama .cke_contents{margin:5px;}.cke_skin_kama .cke_hc .cke_contents{border:1px solid black;}.cke_skin_kama .cke_contents iframe{background-color:#fff;}.cke_skin_kama .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_kama textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre;}.cke_skin_kama .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_kama .cke_resizer{width:12px;height:12px;margin-top:9px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1428px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_kama .cke_browser_air .cke_resizer,.cke_skin_kama .cke_browser_air .cke_rtl .cke_resizer{cursor:move;}.cke_skin_kama .cke_resizer_rtl{cursor:sw-resize;background-position:0 -1455px;float:left;}.cke_skin_kama .cke_resizer_horizontal,.cke_skin_kama .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_kama .cke_resizer_vertical,.cke_skin_kama .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_kama .cke_maximized .cke_resizer{display:none;}.cke_skin_kama .cke_browser_ie6 .cke_contents textarea,.cke_skin_kama .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_kama .cke_browser_ie.cke_browser_quirks .cke_contents iframe{position:absolute;top:0;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_skin_kama .cke_browser_ie7 .cke_editor{display:inline-block;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_shared .cke_skin_kama .cke_browser_ie7 .cke_wrapper{padding-bottom:5px;}.cke_skin_kama .cke_voice_label{display:none;}.cke_skin_kama legend.cke_voice_label{display:none;}.cke_skin_kama .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;} -.cke_skin_kama .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_kama .cke_contextmenu{margin:0;}.cke_skin_kama .cke_panel iframe{width:100%;height:100%;}html.cke_skin_kama_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}.cke_panel_frame .cke_label{display:none;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_kama .cke_button_textcolor_panel,.cke_skin_kama .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_kama .cke_toolbox{display:none;}}.cke_skin_kama .cke_browser_webkit .cke_toolbox,.cke_skin_kama .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_kama .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_kama a.cke_toolbox_collapser,.cke_skin_kama a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -1366px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:1px outset #D3D3D3;margin:11px 0 2px;cursor:pointer;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_kama a.cke_toolbox_collapser span{display:none;}.cke_skin_kama .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_kama a.cke_toolbox_collapser_min,.cke_skin_kama a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -1387px;background-repeat:no-repeat;margin:2px 4px;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1408px;}.cke_skin_kama .cke_separator{display:inline-block;border-left:solid 1px #D3D3D3;margin:3px 2px 0;height:16px;vertical-align:top;}.cke_skin_kama .cke_break{font-size:0;clear:left;}.cke_skin_kama .cke_rtl .cke_break{clear:right;}.cke_skin_kama .cke_toolbar_start{display:none;}.cke_skin_kama .cke_toolgroup{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -500px;float:left;margin-right:6px;margin-bottom:5px;padding:2px;display:inline;} -.cke_skin_kama .cke_rtl .cke_toolgroup{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active,.cke_skin_kama .cke_button a.cke_off{border-radius:3px;outline:none;padding:2px 4px;height:18px;display:inline-block;cursor:default;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a.cke_off{filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_kama .cke_hc .cke_button a,.cke_skin_kama .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_kama .cke_button a.cke_on{background-color:#a3d7ff;filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_hc .cke_button a.cke_on{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button a.cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_browser_ie .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie .cke_rtl a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_kama .cke_browser_ie6 .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie6 a:hover.cke_button .cke_disabled *,.cke_skin_kama .cke_browser_ie .cke_button.cke_noalphafix a.cke_disabled *{filter:alpha(opacity=30);}.cke_skin_kama .cke_hc .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on,.cke_skin_kama .cke_button a:hover.cke_off,.cke_skin_kama .cke_button a:focus.cke_off,.cke_skin_kama .cke_button a:active.cke_off{filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active{background-color:#dff1ff;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on{background-color:#86caff;}.cke_skin_kama .cke_hc .cke_button a:hover,.cke_skin_kama .cke_hc .cke_button a:focus,.cke_skin_kama .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}.cke_skin_kama .cke_rtl .cke_button .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons_rtl.png);}.cke_skin_kama .cke_browser_ie .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_kama .cke_browser_ie6 .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie6 .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie .cke_button.cke_noalphafix .cke_icon,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button.cke_noalphafix .cke_icon{filter:;}.cke_skin_kama .cke_button .cke_label{cursor:default;display:none;padding-left:3px;line-height:18px;vertical-align:middle;}.cke_skin_kama .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_kama .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_kama .cke_button .cke_buttonarrow{display:inline-block;height:17px;width:8px;background-position:2px -1469px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_kama .cke_browser_ie .cke_button .cke_buttonarrow{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');} -.cke_skin_kama .cke_browser_ie6 .cke_button .cke_buttonarrow{filter:;}.cke_skin_kama .cke_browser_gecko .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_toolbar_start{display:block;float:left;}.cke_skin_kama .cke_browser_gecko.cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_rtl.cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_kama .cke_browser_gecko .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_break{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_break{float:right;}.cke_skin_kama .cke_browser_webkit .cke_toolbar{float:left;}.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_toolbar{float:right;}.cke_skin_kama .cke_browser_ie .cke_button .cke_label{line-height:16px;}.cke_skin_kama .cke_browser_ie .cke_rcombo,.cke_skin_kama .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:5px;_padding-bottom:6px;}.cke_shared .cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:0;}.cke_skin_kama .cke_contextmenu{padding:2px;}.cke_skin_kama .cke_menuitem a{display:block;}.cke_skin_kama .cke_menuitem span{cursor:default;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{background-color:#D3D3D3;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_kama .cke_menuitem .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons_rtl.png);}.cke_browser_ie .cke_skin_kama .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_kama .cke_menuitem .cke_icon,.cke_browser_ie .cke_skin_kama .cke_menuitem.cke_noalphafix .cke_icon{filter:;}.cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_browser_ie .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon,.cke_browser_ie .cke_skin_kama .cke_menuitem.cke_noalphafix .cke_disabled .cke_icon{filter:;}.cke_skin_kama .cke_menuitem .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;} -.cke_skin_kama .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{background-color:#D3D3D3;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_kama .cke_menuseparator{background-color:#D3D3D3;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_kama .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1411px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_kama .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1390px;background-repeat:no-repeat;}.cke_skin_kama .cke_menuarrow span{display:none;}.cke_hc .cke_skin_kama .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_kama .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_kama .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuarrow{position:absolute;left:2px;}.cke_skin_kama .cke_rcombo{display:inline;}.cke_skin_kama .cke_rcombopanel{border:1px solid #8F8F73;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;height:auto;_height:100px;}.cke_skin_kama .cke_rcombo a,.cke_skin_kama .cke_rcombo a:active,.cke_skin_kama .cke_rcombo a:hover{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -100px;border-bottom:1px solid #DAD9D9;border-right:1px solid #DAD9D9;float:left;padding:2px;height:21px;margin-right:6px;margin-bottom:5px;}.cke_skin_kama .cke_rtl .cke_rcombo a,.cke_skin_kama .cke_rtl .cke_rcombo a:active,.cke_skin_kama .cke_rtl .cke_rcombo a:hover{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_label{display:none;line-height:26px;vertical-align:top;margin-right:5px;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_label{margin-right:0;margin-left:5px;}.cke_skin_kama .cke_rcombo .cke_inline_label{line-height:21px;font-style:italic;color:#666;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton{vertical-align:top;}.cke_skin_kama .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_text{filter:alpha(opacity=70);opacity:.70;height:21px;line-height:21px;width:60px;text-overflow:ellipsis;overflow:hidden;display:inline-block;margin:0 2px 0 4px;cursor:default;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_text{margin:0 4px 0 2px;}.cke_skin_kama .cke_rcombo .cke_openbutton{display:inline-block;}.cke_skin_kama .cke_rcombo .cke_openbutton .cke_icon{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -68px;background-repeat:no-repeat;width:17px;height:19px;margin:1px 2px;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton .cke_icon{background:none;}.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_openbutton{margin-bottom:0;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_text,.cke_skin_kama .cke_rcombo .cke_on .cke_text{border-color:#316ac5;filter:alpha(opacity=100);opacity:1;} -.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_kama .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_kama .cke_browser_ie .cke_rcombo .cke_disabled .cke_openbutton{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=50);}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_label{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_kama .cke_browser_ie7 .cke_rcombo .cke_text{line-height:18px;}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_text{height:auto;line-height:17px;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_kama .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_kama .cke_path{display:inline-block;float:left;margin-top:5px;}.cke_skin_kama .cke_rtl .cke_path{float:right;}.cke_shared .cke_skin_kama .cke_path{_width:100%;margin:0 0 5px;}.cke_skin_kama .cke_path a,.cke_skin_kama .cke_path .cke_empty{display:inline-block;float:left;padding:1px 4px 0;color:#60676a;cursor:default;}.cke_skin_kama .cke_path .cke_empty{visibility:hidden;}.cke_skin_kama .cke_rtl .cke_path a,.cke_skin_kama .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_kama .cke_path a:hover,.cke_skin_kama .cke_path a:focus,.cke_skin_kama .cke_path a:active{background-color:#dff1ff;padding:1px 4px 0;outline:none;color:#000;}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_kama .cke_path .cke_label{display:none;}.cke_skin_kama .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_kama .cke_button_docProps .cke_icon{background-position:0 -16px;}.cke_skin_kama .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_kama .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_kama .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_kama .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_kama .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_kama .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_kama .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_kama .cke_button_replace .cke_icon{background-position:0 -256px;} -.cke_skin_kama .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_kama .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_kama .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_kama .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_kama .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_kama .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_kama .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_kama .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_kama .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_kama .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_kama .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_kama .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_kama .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_kama .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_kama .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_kama .cke_button_checkspell .cke_icon,.cke_skin_kama .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_kama .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_kama .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_kama .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_kama .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_kama .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_kama .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_kama .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_kama .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_kama .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_kama .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_kama .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_kama .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_kama .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_kama .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_kama .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_kama .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_kama .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_kama .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_kama .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_kama .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_kama .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_kama .cke_button_creatediv .cke_icon{background-position:0 -1168px;} -.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_kama .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_kama .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_kama .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_kama .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_kama .cke_button_iframe .cke_icon{background-position:0 -1279px;}.cke_skin_kama .cke_button_source .cke_label{display:inline;}.cke_skin_kama .cke_styles_panel{width:150px;height:170px;}.cke_skin_kama .cke_format_panel{width:150px;height:170px;}.cke_skin_kama .cke_font_panel{width:150px;height:170px;}.cke_skin_kama .cke_fontSize_panel{height:170px;}.cke_skin_kama .cke_fontSize .cke_text{width:25px;}.cke_skin_kama .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_kama{visibility:inherit;}html.cke_skin_kama_container{visibility:visible;} +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +.cke_skin_kama *,.cke_skin_kama a:hover,.cke_skin_kama a:link,.cke_skin_kama a:visited,.cke_skin_kama a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;float:none;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif;}.cke_skin_kama .cke_rtl *,.cke_skin_kama .cke_rtl a:hover,.cke_skin_kama .cke_rtl a:link,.cke_skin_kama .cke_rtl a:visited,.cke_skin_kama .cke_rtl a:active,.cke_rtl .cke_skin_kama *,.cke_rtl .cke_skin_kama a:hover,.cke_rtl .cke_skin_kama a:link,.cke_rtl .cke_skin_kama a:visited,.cke_rtl .cke_skin_kama a:active{text-align:right;}.cke_skin_kama iframe{vertical-align:inherit;}.cke_skin_kama textarea{white-space:pre;}.cke_skin_kama .cke_browser_gecko textarea{cursor:text;}.cke_skin_kama .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_kama input[type="text"],.cke_skin_kama input[type="password"]{cursor:text;}.cke_skin_kama input[type="text"][disabled],.cke_skin_kama input[type="password"][disabled]{cursor:default;}.cke_skin_kama fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_kama{display:block;}span.cke_skin_kama{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #D3D3D3;padding:5px;}.cke_skin_kama span.cke_browser_webkit,.cke_skin_kama span.cke_browser_gecko18{display:block;}.cke_skin_kama .cke_wrapper{-moz-border-radius:5px;-webkit-border-radius:5px;-webkit-touch-callout:none;border-radius:5px;background-color:#d3d3d3;background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1950px;display:block;_display:inline-block;padding:5px;}.cke_shared .cke_skin_kama .cke_wrapper{padding-bottom:0;}.cke_skin_kama .cke_browser_ie6 .cke_wrapper,.cke_skin_kama .cke_browser_iequirks .cke_wrapper{background-image:none;}.cke_skin_kama .cke_editor{display:inline-table;width:100%;}.cke_skin_kama .cke_browser_ie .cke_editor,.cke_skin_kama .cke_browser_webkit .cke_editor{display:table;}.cke_skin_kama .ltr .cke_browser_ie iframe{margin-right:-10px;}.cke_skin_kama .rtl .cke_browser_ie iframe{margin-left:-10px;}.cke_skin_kama .cke_browser_opera .cke_editor.cke_skin_kama .cke_resizer{display:table;}.cke_skin_kama .cke_contents{margin:5px;}.cke_skin_kama .cke_hc .cke_contents{border:1px solid black;}.cke_skin_kama .cke_contents iframe{background-color:#fff;}.cke_skin_kama .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_kama textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre;}.cke_skin_kama .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_kama .cke_resizer{width:12px;height:12px;margin-top:9px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1428px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_kama .cke_browser_air .cke_resizer,.cke_skin_kama .cke_browser_air .cke_rtl .cke_resizer{cursor:move;}.cke_skin_kama .cke_resizer_rtl{cursor:sw-resize;background-position:0 -1455px;float:left;}.cke_skin_kama .cke_resizer_horizontal,.cke_skin_kama .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_kama .cke_resizer_vertical,.cke_skin_kama .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_kama .cke_maximized .cke_resizer{display:none;}.cke_skin_kama .cke_browser_ie6 .cke_contents textarea,.cke_skin_kama .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_kama .cke_browser_ie.cke_browser_quirks .cke_contents iframe{position:absolute;top:0;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_skin_kama .cke_browser_ie7 .cke_editor{display:inline-block;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_shared .cke_skin_kama .cke_browser_ie7 .cke_wrapper{padding-bottom:5px;}.cke_skin_kama .cke_voice_label{display:none;}.cke_skin_kama legend.cke_voice_label{display:none;}.cke_skin_kama .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;} +.cke_skin_kama .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_kama .cke_contextmenu{margin:0;}.cke_skin_kama .cke_panel iframe{width:100%;height:100%;}html.cke_skin_kama_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}.cke_panel_frame .cke_label{display:none;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_kama .cke_button_textcolor_panel,.cke_skin_kama .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_kama .cke_toolbox{display:none;}}.cke_skin_kama .cke_browser_webkit .cke_toolbox,.cke_skin_kama .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_kama .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_kama a.cke_toolbox_collapser,.cke_skin_kama a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -1366px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:1px outset #D3D3D3;margin:11px 0 2px;cursor:pointer;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_kama a.cke_toolbox_collapser span{display:none;}.cke_skin_kama .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_kama a.cke_toolbox_collapser_min,.cke_skin_kama a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -1387px;background-repeat:no-repeat;margin:2px 4px;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1408px;}.cke_skin_kama .cke_separator{display:inline-block;border-left:solid 1px #D3D3D3;margin:3px 2px 0;height:16px;vertical-align:top;}.cke_skin_kama .cke_break{font-size:0;clear:left;}.cke_skin_kama .cke_rtl .cke_break{clear:right;}.cke_skin_kama .cke_toolbar_start{display:none;}.cke_skin_kama .cke_toolgroup{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -500px;float:left;margin-right:6px;margin-bottom:5px;padding:2px;display:inline;} +.cke_skin_kama .cke_rtl .cke_toolgroup{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active,.cke_skin_kama .cke_button a.cke_off{border-radius:3px;outline:none;padding:2px 4px;height:18px;display:inline-block;cursor:default;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a.cke_off{filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_kama .cke_hc .cke_button a,.cke_skin_kama .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_kama .cke_button a.cke_on{background-color:#a3d7ff;filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_hc .cke_button a.cke_on{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button a.cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_browser_ie .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie .cke_rtl a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_kama .cke_browser_ie6 .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie6 a:hover.cke_button .cke_disabled *,.cke_skin_kama .cke_browser_ie .cke_button.cke_noalphafix a.cke_disabled *{filter:alpha(opacity=30);}.cke_skin_kama .cke_hc .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on,.cke_skin_kama .cke_button a:hover.cke_off,.cke_skin_kama .cke_button a:focus.cke_off,.cke_skin_kama .cke_button a:active.cke_off{filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active{background-color:#dff1ff;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on{background-color:#86caff;}.cke_skin_kama .cke_hc .cke_button a:hover,.cke_skin_kama .cke_hc .cke_button a:focus,.cke_skin_kama .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}.cke_skin_kama .cke_rtl .cke_button .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons_rtl.png);}.cke_skin_kama .cke_browser_ie .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_kama .cke_browser_ie6 .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie6 .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie .cke_button.cke_noalphafix .cke_icon,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button.cke_noalphafix .cke_icon{filter:;}.cke_skin_kama .cke_button .cke_label{cursor:default;display:none;padding-left:3px;line-height:18px;vertical-align:middle;}.cke_skin_kama .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_kama .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_kama .cke_button .cke_buttonarrow{display:inline-block;height:17px;width:8px;background-position:2px -1469px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_kama .cke_browser_ie .cke_button .cke_buttonarrow{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');} +.cke_skin_kama .cke_browser_ie6 .cke_button .cke_buttonarrow{filter:;}.cke_skin_kama .cke_browser_gecko .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_toolbar_start{display:block;float:left;}.cke_skin_kama .cke_browser_gecko.cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_rtl.cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_kama .cke_browser_gecko .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_break{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_break{float:right;}.cke_skin_kama .cke_browser_webkit .cke_toolbar{float:left;}.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_toolbar{float:right;}.cke_skin_kama .cke_browser_ie .cke_button .cke_label{line-height:16px;}.cke_skin_kama .cke_browser_ie .cke_rcombo,.cke_skin_kama .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:5px;_padding-bottom:6px;}.cke_shared .cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:0;}.cke_skin_kama .cke_contextmenu{padding:2px;}.cke_skin_kama .cke_menuitem a{display:block;}.cke_skin_kama .cke_menuitem span{cursor:default;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{background-color:#D3D3D3;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_kama .cke_menuitem .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{background-image:url(../../../../../plugins/editors/jckeditor/skins/office2007/icons_rtl.png);}.cke_browser_ie .cke_skin_kama .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_kama .cke_menuitem .cke_icon,.cke_browser_ie .cke_skin_kama .cke_menuitem.cke_noalphafix .cke_icon{filter:;}.cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_browser_ie .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon,.cke_browser_ie .cke_skin_kama .cke_menuitem.cke_noalphafix .cke_disabled .cke_icon{filter:;}.cke_skin_kama .cke_menuitem .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;} +.cke_skin_kama .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{background-color:#D3D3D3;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_kama .cke_menuseparator{background-color:#D3D3D3;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_kama .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1411px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_kama .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1390px;background-repeat:no-repeat;}.cke_skin_kama .cke_menuarrow span{display:none;}.cke_hc .cke_skin_kama .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_kama .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_kama .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuarrow{position:absolute;left:2px;}.cke_skin_kama .cke_rcombo{display:inline;}.cke_skin_kama .cke_rcombopanel{border:1px solid #8F8F73;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;height:auto;_height:100px;}.cke_skin_kama .cke_rcombo a,.cke_skin_kama .cke_rcombo a:active,.cke_skin_kama .cke_rcombo a:hover{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -100px;border-bottom:1px solid #DAD9D9;border-right:1px solid #DAD9D9;float:left;padding:2px;height:21px;margin-right:6px;margin-bottom:5px;}.cke_skin_kama .cke_rtl .cke_rcombo a,.cke_skin_kama .cke_rtl .cke_rcombo a:active,.cke_skin_kama .cke_rtl .cke_rcombo a:hover{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_label{display:none;line-height:26px;vertical-align:top;margin-right:5px;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_label{margin-right:0;margin-left:5px;}.cke_skin_kama .cke_rcombo .cke_inline_label{line-height:21px;font-style:italic;color:#666;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton{vertical-align:top;}.cke_skin_kama .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_text{filter:alpha(opacity=70);opacity:.70;height:21px;line-height:21px;width:60px;text-overflow:ellipsis;overflow:hidden;display:inline-block;margin:0 2px 0 4px;cursor:default;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_text{margin:0 4px 0 2px;}.cke_skin_kama .cke_rcombo .cke_openbutton{display:inline-block;}.cke_skin_kama .cke_rcombo .cke_openbutton .cke_icon{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -68px;background-repeat:no-repeat;width:17px;height:19px;margin:1px 2px;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton .cke_icon{background:none;}.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_openbutton{margin-bottom:0;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_text,.cke_skin_kama .cke_rcombo .cke_on .cke_text{border-color:#316ac5;filter:alpha(opacity=100);opacity:1;} +.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_kama .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_kama .cke_browser_ie .cke_rcombo .cke_disabled .cke_openbutton{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=50);}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_label{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_kama .cke_browser_ie7 .cke_rcombo .cke_text{line-height:18px;}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_text{height:auto;line-height:17px;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_kama .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_kama .cke_path{display:inline-block;float:left;margin-top:5px;}.cke_skin_kama .cke_rtl .cke_path{float:right;}.cke_shared .cke_skin_kama .cke_path{_width:100%;margin:0 0 5px;}.cke_skin_kama .cke_path a,.cke_skin_kama .cke_path .cke_empty{display:inline-block;float:left;padding:1px 4px 0;color:#60676a;cursor:default;}.cke_skin_kama .cke_path .cke_empty{visibility:hidden;}.cke_skin_kama .cke_rtl .cke_path a,.cke_skin_kama .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_kama .cke_path a:hover,.cke_skin_kama .cke_path a:focus,.cke_skin_kama .cke_path a:active{background-color:#dff1ff;padding:1px 4px 0;outline:none;color:#000;}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_kama .cke_path .cke_label{display:none;}.cke_skin_kama .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_kama .cke_button_docProps .cke_icon{background-position:0 -16px;}.cke_skin_kama .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_kama .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_kama .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_kama .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_kama .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_kama .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_kama .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_kama .cke_button_replace .cke_icon{background-position:0 -256px;} +.cke_skin_kama .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_kama .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_kama .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_kama .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_kama .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_kama .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_kama .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_kama .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_kama .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_kama .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_kama .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_kama .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_kama .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_kama .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_kama .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_kama .cke_button_checkspell .cke_icon,.cke_skin_kama .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_kama .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_kama .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_kama .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_kama .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_kama .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_kama .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_kama .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_kama .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_kama .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_kama .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_kama .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_kama .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_kama .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_kama .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_kama .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_kama .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_kama .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_kama .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_kama .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_kama .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_kama .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_kama .cke_button_creatediv .cke_icon{background-position:0 -1168px;} +.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_kama .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_kama .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_kama .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_kama .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_kama .cke_button_iframe .cke_icon{background-position:0 -1279px;}.cke_skin_kama .cke_button_source .cke_label{display:inline;}.cke_skin_kama .cke_styles_panel{width:150px;height:170px;}.cke_skin_kama .cke_format_panel{width:150px;height:170px;}.cke_skin_kama .cke_font_panel{width:150px;height:170px;}.cke_skin_kama .cke_fontSize_panel{height:170px;}.cke_skin_kama .cke_fontSize .cke_text{width:25px;}.cke_skin_kama .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_kama{visibility:inherit;}html.cke_skin_kama_container{visibility:visible;} diff --git a/deployed/jckman/plugins/editors/jckeditor/skins/kama/skin.js b/deployed/jckman/plugins/editors/jckeditor/skins/kama/skin.js index 142de8c6..7c7d9a60 100644 --- a/deployed/jckman/plugins/editors/jckeditor/skins/kama/skin.js +++ b/deployed/jckman/plugins/editors/jckeditor/skins/kama/skin.js @@ -1,7 +1,7 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.skins.add('kama',(function(){var a=[],b='cke_ui_color';if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(c){if(c.config.width&&!isNaN(c.config.width))c.config.width-=12;var d=[],e=/\$color/g,f='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';if(CKEDITOR.env.webkit){f=f.split('}').slice(0,-1);for(var g=0;gtable.cke_dialog_contents >tbody >tr >td.cke_dialog_footer >table{position:static}.cke_dialog_body table{border:none !important}.cke_skin_office2007 input.cke_dialog_ui_input_text,.cke_skin_office2007 input.cke_dialog_ui_input_password{ border:0px none !important}.cke_skin_office2007 div.cke_dialog_ui_input_text,.cke_skin_office2007 div.cke_dialog_ui_input_password{ background-color:white; border:1px solid silver; -webkit-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px; margin:1px; width:auto}.cke_skin_office2007 textarea:focus,.cke_skin_office2007 input[type="text"]:focus,.cke_skin_office2007 input[type="password"]:focus,.cke_skin_office2007 select:focus{-webkit-box-shadow:0 0 8px #D6E6F4;-moz-box-shadow:0 0 8px #D6E6F4;box-shadow:0 0 8px #D6E6F4}.cke_skin_office2007 input.cke_dialog_ui_input_text,.cke_skin_office2007 input.cke_dialog_ui_input_password,div#jtree-linkinfo-tree input{background-color:white; height:18px; margin:0; padding:0; width:100%;.width:98%;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px; -webkit-transition:all 400ms ease-in-out;-moz-transition:all 400ms ease-in-out;-o-transition:all 400ms ease-in-out;transition:all 400ms ease-in-out}.cke_skin_office2007 input.cke_dialog_ui_input_text:hover,.cke_skin_office2007 input.cke_dialog_ui_input_password:hover,div#jtree-linkinfo-tree input:hover{background-color:#D6E6F4;-webkit-box-shadow:0 0 15px #D6E6F4;-moz-box-shadow:0 0 15px #D6E6F4;box-shadow:0 0 15px #D6E6F4}div#jtree-linkinfo-tree input{width:auto !important;margin:2px 0}.cke_skin_office2007 .cke_dialog_body .cke_dialog_ui_hbox .cke_dialog_ui_input_text input.cke_dialog_ui_input_text{float:none;box-shadow:0 0 8px #D6E6F4}.cke_skin_office2007 .cke_dialog iframe.cke_pasteframe{background-color:white; border:1px solid #A0A0A0; height:130px; width:346px;box-shadow:0 0 8px #D6E6F4;-webkit-box-shadow:0 0 8px #D6E6F4;-moz-box-shadow:0 0 8px #D6E6F4;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px} .cke_skin_office2007 textarea.cke_dialog_ui_input_textarea{background-color:white; border:none; padding:0; width:100%; _width:99%; overflow:auto; resize:none} .cke_skin_office2007 div.cke_dialog_ui_input_textarea{background-color:white; border:1px solid #a0a0a0; padding:1px 0; box-shadow:0 0 8px #D6E6F4;;-webkit-box-shadow:0 0 8px #D6E6F4;-moz-box-shadow:0 0 8px #D6E6F4; border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px} \ No newline at end of file diff --git a/deployed/jckman/plugins/editors/jckeditor/skins/office2007/editor.css b/deployed/jckman/plugins/editors/jckeditor/skins/office2007/editor.css index adbb6e75..7e6539a9 100644 --- a/deployed/jckman/plugins/editors/jckeditor/skins/office2007/editor.css +++ b/deployed/jckman/plugins/editors/jckeditor/skins/office2007/editor.css @@ -1,13 +1,13 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2010 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ - -.cke_skin_office2007 *,.cke_skin_office2007 a:hover,.cke_skin_office2007 a:link,.cke_skin_office2007 a:visited,.cke_skin_office2007 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;.height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000 !important; font-size:11px !important; font-family: arial !important}.cke_skin_office2007 .cke_rtl *,.cke_skin_office2007 .cke_rtl a:hover,.cke_skin_office2007 .cke_rtl a:link,.cke_skin_office2007 .cke_rtl a:visited,.cke_skin_office2007 .cke_rtl a:active,.cke_rtl .cke_skin_office2007 *,.cke_rtl .cke_skin_office2007 a:hover,.cke_rtl .cke_skin_office2007 a:link,.cke_rtl .cke_skin_office2007 a:visited,.cke_rtl .cke_skin_office2007 a:active{text-align:right}.cke_skin_office2007 textarea{white-space:pre}.cke_skin_office2007 .cke_browser_gecko textarea{cursor:text}.cke_skin_office2007 .cke_browser_gecko textarea[disabled]{cursor:default}.cke_skin_office2007 input[type="text"],.cke_skin_office2007 input[type="password"]{cursor:text}.cke_skin_office2007 input[type="text"][disabled],.cke_skin_office2007 input[type="password"][disabled]{cursor:default}.cke_skin_office2007 span.cke_browser_webkit,.cke_skin_office2007 span.cke_browser_gecko18{display:block}.cke_skin_office2007,.cke_skin_office2007 .cke_wrapper{display:block}.cke_skin_office2007 .cke_top,.cke_skin_office2007 .cke_bottom, .cke_shared .cke_skin_office2007{background-color:#D6E6F4}.cke_skin_office2007 span.cke_wrapper.cke_ltr{background-image:url(images/bg_top.png);background-position:0 0;background-repeat:repeat-x;background-color:#D6E6F4;border-top:1px none #666;cursor:default;padding-top:19px;background-position:left top}.cke_skin_office2007 .cke_editor tbody tr td.cke_top{background-image:url(images/bg_bot.png);background-position:left bottom;background-repeat:repeat-x;padding:0 2px 22px !important;}.cke_skin_office2007 .cke_rtl .cke_top{ border-left:solid 1px #696969; border-right:solid 1px #fafaf5}.cke_skin_office2007 .cke_bottom{background:transparent url(images/bg_bot.png) repeat-x scroll left -107px; border-left:1px solid silver !important; border-right:1px solid silver !important; border-bottom:1px solid silver !important;margin:0;padding:0 !important}.cke_skin_office2007 .cke_contents{border:1px solid silver !important;background-color:white}.cke_skin_office2007 .cke_focus{outline:auto 5px -webkit-focus-ring-color}.cke_skin_office2007 textarea.cke_source{font-family:'Courier New',Monospace !important;font-size:small;white-space:pre;background-color:#fff}.cke_skin_office2007 .cke_resizer{width:12px;height:12px;margin-top:16px !important;display:block;float:right;background-image:url(images/sprites.png);background-position:0 -1088px;background-repeat:no-repeat;cursor:se-resize}.cke_skin_office2007 .cke_maximized .cke_resizer{display:none}.cke_skin_office2007 .cke_rtl .cke_resizer{cursor:sw-resize;background-position:0 -1115px;float:left}.cke_skin_office2007 .cke_browser_ie6 .cke_contents textarea,.cke_skin_office2007 .cke_browser_ie7 .cke_contents textarea{position:absolute} .cke_skin_office2007 .cke_panel{ border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_skin_office2007 .cke_panel iframe{width:100%;height:100%}html.cke_skin_office2007_container{overflow:auto;overflow-x:hidden}body.cke_panel_frame{overflow:auto;overflow-x:hidden}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0px; white-space:nowrap}li.cke_panel_listItem{margin:0px}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit;text-decoration:none;overflow:hidden; text-overflow:ellipsis}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#146295;background-color:#dff1ff}.cke_panel_grouptitle{ font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold; white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0px;padding:3px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px}.cke_skin_office2007 .cke_button_textcolor_panel,.cke_skin_office2007 .cke_button_bgcolor_panel{width:150px;height:135px}.cke_colorblock{padding:3px; font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px; border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{ border:#fff 1px solid; padding:2px; float:left}.cke_rtl a.cke_colorbox{ float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{ border:#146295 1px solid; background-color:#dff1ff}a.cke_colorauto,a.cke_colormore{ border:#fff 1px solid; padding:2px; display:block}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{ border:#146295 1px solid; background-color:#dff1ff}@media print{.cke_skin_office2007 .cke_toolbox{display:none}}.cke_skin_office2007 .cke_toolbox{margin-right:20px;clear:both;border-bottom:1px solid transparent;.border-bottom:none} .cke_skin_office2007{border:none}.cke_skin_office2007 .cke_browser_webkit .cke_toolbox,.cke_skin_office2007 .cke_browser_webkit .cke_toolbox >span{white-space:normal}.cke_skin_office2007 a.cke_toolbox_collapser,.cke_skin_office2007 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);background-position:-1px -1027px;background-repeat:no-repeat;cursor:pointer;float:right;height:11px;position:relative;top:38px;.top:40px;width:11px;right:2px}.cke_skin_office2007 .cke_rtl a.cke_toolbox_collapser,.cke_skin_office2007 .cke_rtl a:hover.cke_toolbox_collapser{float:left}.cke_skin_office2007 a.cke_toolbox_collapser_min,.cke_skin_office2007 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);background-position:4px -1047px;background-repeat:no-repeat;margin:2px;position:relative;top:24px;right:2px}.cke_skin_office2007 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_office2007 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1068px}.cke_skin_office2007 .cke_toolbar{float:left;height:28px}span.cke_button{background-image:url(images/sprites.png);background-position:0 -962px;background-repeat:repeat-x;display:inline-block;height:27px}.cke_skin_office2007 .cke_rtl .cke_toolbar{float:right}.cke_skin_office2007 .cke_toolgroup{display:inline-block;float:left;height:28px}.cke_skin_office2007 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolgroup{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none}.cke_skin_office2007 .cke_separator{display:inline-block;float:left;height:16px}.cke_skin_office2007 .cke_browser_ie .cke_separator{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_separator{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_separator{#float:none}.cke_skin_office2007 .cke_break{clear:left}.cke_skin_office2007 .cke_rtl .cke_break{clear:right}.cke_skin_office2007 .cke_toolbar_start{display:inline-block;background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-27px -765px;width:7px;height:28px;float:left}.cke_skin_office2007 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolbar_start{ background-position:-27px -816px; float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none}.cke_skin_office2007 .cke_toolbar_end{display:inline-block;background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-31px -861px;width:4px;height:28px;float:left}.cke_skin_office2007 .cke_rcombo{background-image:url(images/sprites.png);background-position:0 -964px;background-repeat:repeat-x;height:27px;padding-left:2px;padding-right:2px;padding-top:2px}.cke_skin_office2007 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolbar_end{ background-position:-29px -907px; float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none}.cke_skin_office2007 .cke_button a,.cke_skin_office2007 .cke_button a:hover,.cke_skin_office2007 .cke_button a:focus,.cke_skin_office2007 .cke_button a:active,.cke_skin_office2007 .cke_button a.cke_off{border:solid 1px transparent;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;margin-top:2px;height:18px;vertical-align:top;_border:none;_margin:3px 1px 1px 1px;cursor:default;display:inline-block}.cke_skin_office2007 .cke_button a,.cke_skin_office2007 .cke_button a.cke_off{opacity:0.70;-moz-border-radius:3px;-webkit-border-radius:3px}.cke_skin_office2007 .cke_hc .cke_button a,.cke_skin_office2007 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100)}.cke_skin_office2007 .cke_button a.cke_on{border:solid 1px #0B55C4;background-color:transparent;background-image:url(images/button_mask.png);box-shadow: 0 0 3px #146295 inset;!important;_margin:2px 0 0 0}.cke_skin_office2007 .cke_hc .cke_button a.cke_on{padding:0 2px !important;border-width:3px}.cke_skin_office2007 .cke_button a.cke_disabled,.cke_skin_office2007 .cke_button a:hover.cke_disabled,.cke_skin_office2007 .cke_button a:focus.cke_disabled,.cke_skin_office2007 .cke_button a:active.cke_disabled{/*Added by -PC- !important to override J1.6 front-end template*/background-color:transparent !important;border:solid 1px transparent;filter:alpha(opacity=30);opacity:0.3;vertical-align:top;_border:none;_margin:3px 1px 1px 1px}.cke_skin_office2007 .cke_hc .cke_button a.cke_disabled,.cke_skin_office2007 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled{filter:alpha(opacity=60);opacity:0.6}.cke_skin_office2007 .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_button a:active.cke_on,.cke_skin_office2007 .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_button a:active.cke_off{/*Added by -PC- !important to override J1.6 front-end template*/border:solid 1px #0B55C4;background-color:transparent !important;background-image:url(images/button_mask-hover.png) !important;filter:none !important;opacity:1;vertical-align:top;_margin:2px 0 0 0;padding:2px 4px}.cke_skin_office2007 .cke_hc .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:active.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_hc .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_hc .cke_button a:active.cke_off{padding:0 2px !important;border-width:3px}.cke_skin_office2007 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block}.cke_skin_office2007 .cke_button .cke_label{display:none;padding-left:3px;vertical-align:middle;cursor:default;_background-position:0 -970px;_background-repeat:repeat-x; text-shadow: 0 1px 0 #FDFDFF}.cke_skin_office2007 .cke_button a:hover .cke_label{_background-color:#dff1ff;_background-image:none}.cke_skin_office2007 .cke_button a.cke_on .cke_label{_background-color:#c1d2ee;_background-image:none}.cke_skin_office2007 .cke_hc .cke_button .cke_label{padding:0;display:inline-block}.cke_skin_office2007 .cke_hc .cke_button .cke_icon{display:none}.cke_skin_office2007 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden}.cke_skin_office2007 .cke_button .cke_buttonarrow{display:inline-block;height:18px;width:8px;background-position:2px -1004px;background-image:url(images/sprites.png);background-repeat:no-repeat}.cke_skin_office2007 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -1004px}.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar,.cke_skin_office2007 .cke_browser_gecko18 .cke_button a,.cke_skin_office2007 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_office2007 .cke_browser_gecko18 .cke_separator,.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar_start,.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar_end{display:block;float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar_end{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_break{float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_break{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_separator{margin-top:4px}.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none}.cke_skin_office2007 .cke_browser_ie8 .cke_toolbar,.cke_skin_office2007 .cke_browser_ie8 .cke_toolgroup{vertical-align:top}.cke_skin_office2007 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_office2007 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline}.cke_skin_office2007 .cke_browser_iequirks .cke_separator{vertical-align:text-bottom}.cke_skin_office2007 .cke_browser_ie .cke_rcombo,.cke_skin_office2007 .cke_browser_ie .cke_rcombo *{cursor:default}.cke_skin_office2007 .cke_contextmenu{padding:2px}.cke_skin_office2007 .cke_menuitem a{display:block}.cke_skin_office2007 .cke_menuitem span{cursor:default}.cke_skin_office2007 .cke_menuitem a:hover,.cke_skin_office2007 .cke_menuitem a:focus,.cke_skin_office2007 .cke_menuitem a:active{background-color:#8db1ff;display:block}.cke_skin_office2007 .cke_menuitem a.cke_disabled:hover,.cke_skin_office2007 .cke_menuitem a.cke_disabled:focus,.cke_skin_office2007 .cke_menuitem a.cke_disabled:active{background-color:transparent !important}.cke_skin_office2007 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left}.cke_skin_office2007 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_menuitem .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:0.70}.cke_rtl .cke_skin_office2007 .cke_menuitem .cke_icon_wrapper{float:right}.cke_skin_office2007 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd}.cke_skin_office2007 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff} .cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label {filter:alpha(opacity=70);opacity:0.70}.cke_rtl .cke_skin_office2007 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px}.cke_skin_office2007 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:0.30}.cke_skin_office2007 .cke_menuitem a:hover .cke_label,.cke_skin_office2007 .cke_menuitem a:focus .cke_label,.cke_skin_office2007 .cke_menuitem a:active .cke_label{background-color:#8db1ff}.cke_skin_office2007 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_office2007 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_office2007 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent}.cke_skin_office2007 .cke_menuseparator{background-color:#f7f8fd;height:2px;filter:alpha(opacity=70);opacity:0.70;_font-size:0}.cke_skin_office2007 .cke_menuarrow{background-image:url(images/sprites.png);background-position:0 -1071px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px}.cke_rtl .cke_skin_office2007 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -1050px}.cke_browser_ie.cke_ltr .cke_skin_office2007 .cke_menuarrow{position:absolute;right:2px}.cke_browser_ie.cke_rtl .cke_skin_office2007 .cke_menuarrow{position:absolute;left:2px}.cke_skin_office2007 .cke_rcombo{display:inline-block;position:relative;top:2px;vertical-align:top;float:left}.cke_skin_office2007 .cke_browser_ie .cke_rcombo{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_rcombo{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rcombo{#float:none}.cke_skin_office2007 .cke_rcombopanel{border:1px solid #146295;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.cke_skin_office2007 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_rtl .cke_rcombo a{float:right}.cke_skin_office2007 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0}.cke_skin_office2007 .cke_rcombo .cke_label{text-shadow: 0 1px 0 #FDFDFF; display:inline-block;float:left;line-height:20px!important;height:24px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:0.70;_background-image:url(images/sprites.png);_background-repeat:repeat-x}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0}.cke_skin_office2007 .cke_rcombo .cke_inline_label{color:#fff}.cke_skin_office2007 .cke_rcombo .cke_text{background-color:#FFF;border:1px solid silver;display:inline-block;height:14px;margin-top:1px;overflow:hidden;padding:2px 5px 1px;vertical-align:top;width:60px;line-height: 13px !important;}.cke_skin_office2007 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.cke_skin_office2007 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px}.cke_skin_office2007 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -1003px;background-image:url(images/sprites.png);background-repeat:no-repeat;border-top:1px solid silver;border-bottom:1px solid silver;width:14px;height:17px;margin-top:1px}.cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton{ border-right:1px solid silver;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_openbutton{ border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.cke_skin_office2007 .cke_rcombo .cke_off a:hover,.cke_skin_office2007 .cke_rcombo .cke_off a:focus,.cke_skin_office2007 .cke_rcombo .cke_off a:active,.cke_skin_office2007 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1}.cke_skin_office2007 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_office2007 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_office2007 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_office2007 .cke_rcombo .cke_on .cke_text{border-color:#146295}.cke_skin_office2007 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_on .cke_openbutton{border-color:#146295;background-color:#dff1ff}.cke_skin_office2007 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;border-bottom-left-radius:0px}.cke_skin_office2007 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;border-bottom-right-radius:0px}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:0.3}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:0.7}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:0.5}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:0.8}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_text{color:#fff}.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none}@media print{.cke_path{display:none}}.cke_skin_office2007 .cke_path{padding:6px 6px 3px 27px !important;display:inline-block;float:left;background-image:url(images/inspector.png);background-repeat:no-repeat;background-position:7px 7px}.cke_skin_office2007 .cke_rtl .cke_path{float:right}.cke_skin_office2007 .cke_path a,.cke_skin_office2007 .cke_path .cke_empty{display:inline-block;float:left;border:1px solid transparent;.border:none;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;cursor:pointer}.cke_skin_office2007 .cke_path .cke_empty{visibility:hidden}.cke_skin_office2007 .cke_rtl .cke_path a,.cke_skin_office2007 .cke_rtl .cke_path cke_empty{float:right}.cke_skin_office2007 .cke_path a:hover,.cke_skin_office2007 .cke_path a:focus,.cke_skin_office2007 .cke_path a:active{border:1px solid silver;background-color:#F6F6F6;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none}.cke_skin_office2007 .cke_button_source .cke_icon{background-position:0 0}.cke_skin_office2007 .cke_button_newpage .cke_icon{background-position:0 -48px}.cke_skin_office2007 .cke_button_preview .cke_icon{background-position:0 -64px}.cke_skin_office2007 .cke_button_cut .cke_icon{background-position:0 -96px}.cke_skin_office2007 .cke_button_copy .cke_icon{background-position:0 -112px}.cke_skin_office2007 .cke_button_paste .cke_icon{background-position:0 -128px}.cke_skin_office2007 .cke_button_pastetext .cke_icon{background-position:0 -144px}.cke_skin_office2007 .cke_button_find .cke_icon{background-position:0 -240px}.cke_skin_office2007 .cke_button_replace .cke_icon{background-position:0 -256px}.cke_skin_office2007 .cke_button_selectAll .cke_icon{background-position:0 -272px}.cke_skin_office2007 .cke_button_removeFormat .cke_icon{background-position:0 -288px}.cke_skin_office2007 .cke_button_bold .cke_icon{background-position:0 -304px}.cke_skin_office2007 .cke_button_italic .cke_icon{background-position:0 -320px}.cke_skin_office2007 .cke_button_underline .cke_icon{background-position:0 -336px}.cke_skin_office2007 .cke_button_strike .cke_icon{background-position:0 -352px}.cke_skin_office2007 .cke_button_subscript .cke_icon{background-position:0 -368px}.cke_skin_office2007 .cke_button_superscript .cke_icon{background-position:0 -384px}.cke_skin_office2007 .cke_button_table .cke_icon{background-position:0 -608px}.cke_skin_office2007 .cke_button_horizontalrule .cke_icon{background-position:0 -624px}.cke_skin_office2007 .cke_button_smiley .cke_icon{background-position:0 -640px}.cke_skin_office2007 .cke_button_link .cke_icon{background-position:0 -528px}.cke_skin_office2007 .cke_button_unlink .cke_icon{background-position:0 -544px}.cke_skin_office2007 .cke_button_anchor .cke_icon{background-position:0 -560px}.cke_skin_office2007 .cke_button_image .cke_icon{background-position:0 -576px}.cke_skin_office2007 .cke_button_flash .cke_icon{background-position:0 -592px}.cke_skin_office2007 .cke_button_specialchar .cke_icon{background-position:0 -656px}.cke_skin_office2007 .cke_button_pagebreak .cke_icon{background-position:0 -672px}.cke_skin_office2007 .cke_button_print .cke_icon{background-position:0 -176px}.cke_skin_office2007 .cke_button_checkspell .cke_icon,.cke_skin_office2007 .cke_button_scayt .cke_icon{background-position:0 -192px}.cke_skin_office2007 .cke_button_pagebreak .cke_icon{background-position:0 -672px}.cke_skin_office2007 .cke_button_textcolor .cke_icon{background-position:0 -704px}.cke_skin_office2007 .cke_button_bgcolor .cke_icon{background-position:0 -720px}.cke_skin_office2007 .cke_button_form .cke_icon{background-position:0 -752px}.cke_skin_office2007 .cke_button_checkbox .cke_icon{background-position:0 -768px}.cke_skin_office2007 .cke_button_radio .cke_icon{background-position:0 -784px}.cke_skin_office2007 .cke_button_textfield .cke_icon{background-position:0 -800px}.cke_skin_office2007 .cke_button_textarea .cke_icon{background-position:0 -816px}.cke_skin_office2007 .cke_button_showblocks .cke_icon{background-position:0 -1136px}.cke_skin_office2007 .cke_button_select .cke_icon{background-position:0 -832px}.cke_skin_office2007 .cke_button_button .cke_icon{background-position:0 -848px}.cke_skin_office2007 .cke_button_imagebutton .cke_icon{background-position:0 -864px}.cke_skin_office2007 .cke_button_hiddenfield .cke_icon{background-position:0 -880px}.cke_skin_office2007 .cke_button_undo .cke_icon{background-position:0 -208px}.cke_skin_office2007 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px}.cke_skin_office2007 .cke_button_redo .cke_icon{background-position:0 -224px}.cke_skin_office2007 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px}.cke_skin_office2007 .cke_button_templates .cke_icon{background-position:0 -80px}.cke_skin_office2007 .cke_button_numberedlist .cke_icon{background-position:0 -400px}.cke_skin_office2007 .cke_button_bulletedlist .cke_icon{background-position:0 -416px}.cke_skin_office2007 .cke_button_outdent .cke_icon{background-position:0 -432px}.cke_skin_office2007 .cke_button_indent .cke_icon{background-position:0 -448px}.cke_skin_office2007 .cke_button_justifyleft .cke_icon{background-position:0 -464px}.cke_skin_office2007 .cke_button_justifycenter .cke_icon{background-position:0 -480px}.cke_skin_office2007 .cke_button_justifyright .cke_icon{background-position:0 -496px}.cke_skin_office2007 .cke_button_justifyblock .cke_icon{background-position:0 -512px}.cke_skin_office2007 .cke_button_blockquote .cke_icon{background-position:0 -1152px}.cke_skin_office2007 .cke_button_flash .cke_icon{background-position:0 -592px}.cke_skin_office2007 .cke_button_pastefromword .cke_icon{background-position:0 -160px}.cke_skin_office2007 .cke_button_save .cke_icon{background-position:0 -32px}.cke_skin_office2007 .cke_button_about .cke_icon{background-position:0 -736px}.cke_skin_office2007 .cke_button_maximize .cke_icon{background-position:0 -1040px}.cke_skin_office2007 .cke_button_creatediv .cke_icon{background-position:0 -1168px}.cke_skin_office2007 .cke_button_editdiv .cke_icon{background-position:0 -1184px}.cke_skin_office2007 .cke_button_removediv .cke_icon{background-position:0 -1200px}.cke_skin_office2007 .cke_button_source .cke_label{display:inline; line-height: 18px}.cke_skin_office2007 .cke_styles_panel{width:150px;height:170px}.cke_skin_office2007 .cke_format_panel{width:150px;height:170px}.cke_skin_office2007 .cke_font_panel{width:150px;height:170px}.cke_skin_office2007 .cke_fontSize_panel{height:170px}.cke_skin_office2007 .cke_fontSize .cke_text{width:20px}.cke_skin_office2007 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px} html .cke_skin_office2007{visibility: inherit;} html.cke_skin_office2007_container{visibility: visible;} .cke_skin_office2007 .cke_path .cke_label {display:none;} .cke_skin_office2007 .cke_voice_label {display:none;} /*fixes*/ .cke_skin_office2007 iframe{vertical-align:inherit; width:100%;} .cke_skin_office2007 .cke_button_bidirtl .cke_icon { background-position: 0 -1072px;}.cke_skin_office2007 .cke_button_bidiltr .cke_icon{ background-position: 0 -1056px;} .cke_skin_office2007 .cke_toolbox_collapser span{display:none;}/*fixes:*/.cke_editor{/*display:inline-table; /fixes width problem*/width:100%}/*Added by -PC- to override J1.6 front-end template*/.cke_rcombo span a:hover,.cke_rcombo span a:active,.cke_rcombo span a:focus{background-color:transparent !important} -.cke_skin_office2007 .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_button a:active.cke_on,.cke_skin_office2007 .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_button a:active.cke_off{ -webkit-transition: all 350ms ease-out;-moz-transition: all 350ms ease-out;-o-transition: all 350ms ease-out;transition: all 350ms ease-out; -webkit-box-shadow: 0 0 3px #146295 inset; -moz-box-shadow: 0 0 3px #146295 inset;box-shadow: 0 0 3px #146295 inset; } .cke_skin_office2007 .cke_rcombo .cke_text, .cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton { --webkit-transition: all 350ms ease-out;-moz-transition: all 350ms ease-out;-o-transition: all 350ms ease-out;transition: all 350ms ease-out;} .cke_skin_office2007 .cke_rcombo .cke_text:hover, .cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton:hover {-webkit-box-shadow: 0 0 8px #146295;-moz-box-shadow: 0 0 8px #146295;box-shadow: 0 0 8px #146295;} li.cke_panel_listItem a div, li.cke_panel_listItem a span {width: 100% !important;} .cke_skin_office2007 a.cke_toolbox_collapser, .cke_skin_office2007 a.cke_toolbox_collapser:hover { background: url("images/sprites.png") no-repeat scroll -1px -1027px transparent !important;} -.cke_skin_office2007 .cke_browser_webkit div, .cke_skin_office2007 .cke_browser_webkit table, .cke_skin_office2007 .cke_browser_webkit .cke_toolbox span, .cke_skin_office2007 .cke_browser_webkit table.cke_editor td {white-space:normal} - +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2010 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ + +.cke_skin_office2007 *,.cke_skin_office2007 a:hover,.cke_skin_office2007 a:link,.cke_skin_office2007 a:visited,.cke_skin_office2007 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;.height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000 !important; font-size:11px !important; font-family: arial !important}.cke_skin_office2007 .cke_rtl *,.cke_skin_office2007 .cke_rtl a:hover,.cke_skin_office2007 .cke_rtl a:link,.cke_skin_office2007 .cke_rtl a:visited,.cke_skin_office2007 .cke_rtl a:active,.cke_rtl .cke_skin_office2007 *,.cke_rtl .cke_skin_office2007 a:hover,.cke_rtl .cke_skin_office2007 a:link,.cke_rtl .cke_skin_office2007 a:visited,.cke_rtl .cke_skin_office2007 a:active{text-align:right}.cke_skin_office2007 textarea{white-space:pre}.cke_skin_office2007 .cke_browser_gecko textarea{cursor:text}.cke_skin_office2007 .cke_browser_gecko textarea[disabled]{cursor:default}.cke_skin_office2007 input[type="text"],.cke_skin_office2007 input[type="password"]{cursor:text}.cke_skin_office2007 input[type="text"][disabled],.cke_skin_office2007 input[type="password"][disabled]{cursor:default}.cke_skin_office2007 span.cke_browser_webkit,.cke_skin_office2007 span.cke_browser_gecko18{display:block}.cke_skin_office2007,.cke_skin_office2007 .cke_wrapper{display:block}.cke_skin_office2007 .cke_top,.cke_skin_office2007 .cke_bottom, .cke_shared .cke_skin_office2007{background-color:#D6E6F4}.cke_skin_office2007 span.cke_wrapper.cke_ltr{background-image:url(images/bg_top.png);background-position:0 0;background-repeat:repeat-x;background-color:#D6E6F4;border-top:1px none #666;cursor:default;padding-top:19px;background-position:left top}.cke_skin_office2007 .cke_editor tbody tr td.cke_top{background-image:url(images/bg_bot.png);background-position:left bottom;background-repeat:repeat-x;padding:0 2px 22px !important;}.cke_skin_office2007 .cke_rtl .cke_top{ border-left:solid 1px #696969; border-right:solid 1px #fafaf5}.cke_skin_office2007 .cke_bottom{background:transparent url(images/bg_bot.png) repeat-x scroll left -107px; border-left:1px solid silver !important; border-right:1px solid silver !important; border-bottom:1px solid silver !important;margin:0;padding:0 !important}.cke_skin_office2007 .cke_contents{border:1px solid silver !important;background-color:white}.cke_skin_office2007 .cke_focus{outline:auto 5px -webkit-focus-ring-color}.cke_skin_office2007 textarea.cke_source{font-family:'Courier New',Monospace !important;font-size:small;white-space:pre;background-color:#fff}.cke_skin_office2007 .cke_resizer{width:12px;height:12px;margin-top:16px !important;display:block;float:right;background-image:url(images/sprites.png);background-position:0 -1088px;background-repeat:no-repeat;cursor:se-resize}.cke_skin_office2007 .cke_maximized .cke_resizer{display:none}.cke_skin_office2007 .cke_rtl .cke_resizer{cursor:sw-resize;background-position:0 -1115px;float:left}.cke_skin_office2007 .cke_browser_ie6 .cke_contents textarea,.cke_skin_office2007 .cke_browser_ie7 .cke_contents textarea{position:absolute} .cke_skin_office2007 .cke_panel{ border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cke_skin_office2007 .cke_panel iframe{width:100%;height:100%}html.cke_skin_office2007_container{overflow:auto;overflow-x:hidden}body.cke_panel_frame{overflow:auto;overflow-x:hidden}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0px; white-space:nowrap}li.cke_panel_listItem{margin:0px}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit;text-decoration:none;overflow:hidden; text-overflow:ellipsis}* html .cke_panel_listItem a{width:100%;color:#000}*:first-child+html .cke_panel_listItem a{color:#000}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#146295;background-color:#dff1ff}.cke_panel_grouptitle{ font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold; white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0px;padding:3px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px}.cke_skin_office2007 .cke_button_textcolor_panel,.cke_skin_office2007 .cke_button_bgcolor_panel{width:150px;height:135px}.cke_colorblock{padding:3px; font-size:11px; font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px; border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{ border:#fff 1px solid; padding:2px; float:left}.cke_rtl a.cke_colorbox{ float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{ border:#146295 1px solid; background-color:#dff1ff}a.cke_colorauto,a.cke_colormore{ border:#fff 1px solid; padding:2px; display:block}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{ border:#146295 1px solid; background-color:#dff1ff}@media print{.cke_skin_office2007 .cke_toolbox{display:none}}.cke_skin_office2007 .cke_toolbox{margin-right:20px;clear:both;border-bottom:1px solid transparent;.border-bottom:none} .cke_skin_office2007{border:none}.cke_skin_office2007 .cke_browser_webkit .cke_toolbox,.cke_skin_office2007 .cke_browser_webkit .cke_toolbox >span{white-space:normal}.cke_skin_office2007 a.cke_toolbox_collapser,.cke_skin_office2007 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);background-position:-1px -1027px;background-repeat:no-repeat;cursor:pointer;float:right;height:11px;position:relative;top:38px;.top:40px;width:11px;right:2px}.cke_skin_office2007 .cke_rtl a.cke_toolbox_collapser,.cke_skin_office2007 .cke_rtl a:hover.cke_toolbox_collapser{float:left}.cke_skin_office2007 a.cke_toolbox_collapser_min,.cke_skin_office2007 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);background-position:4px -1047px;background-repeat:no-repeat;margin:2px;position:relative;top:24px;right:2px}.cke_skin_office2007 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_office2007 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1068px}.cke_skin_office2007 .cke_toolbar{float:left;height:28px}span.cke_button{background-image:url(images/sprites.png);background-position:0 -962px;background-repeat:repeat-x;display:inline-block;height:27px}.cke_skin_office2007 .cke_rtl .cke_toolbar{float:right}.cke_skin_office2007 .cke_toolgroup{display:inline-block;float:left;height:28px}.cke_skin_office2007 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolgroup{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none}.cke_skin_office2007 .cke_separator{display:inline-block;float:left;height:16px}.cke_skin_office2007 .cke_browser_ie .cke_separator{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_separator{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_separator{#float:none}.cke_skin_office2007 .cke_break{clear:left}.cke_skin_office2007 .cke_rtl .cke_break{clear:right}.cke_skin_office2007 .cke_toolbar_start{display:inline-block;background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-27px -765px;width:7px;height:28px;float:left}.cke_skin_office2007 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolbar_start{ background-position:-27px -816px; float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none}.cke_skin_office2007 .cke_toolbar_end{display:inline-block;background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-31px -861px;width:4px;height:28px;float:left}.cke_skin_office2007 .cke_rcombo{background-image:url(images/sprites.png);background-position:0 -964px;background-repeat:repeat-x;height:27px;padding-left:2px;padding-right:2px;padding-top:2px}.cke_skin_office2007 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_toolbar_end{ background-position:-29px -907px; float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none}.cke_skin_office2007 .cke_button a,.cke_skin_office2007 .cke_button a:hover,.cke_skin_office2007 .cke_button a:focus,.cke_skin_office2007 .cke_button a:active,.cke_skin_office2007 .cke_button a.cke_off{border:solid 1px transparent;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;margin-top:2px;height:18px;vertical-align:top;_border:none;_margin:3px 1px 1px 1px;cursor:default;display:inline-block}.cke_skin_office2007 .cke_button a,.cke_skin_office2007 .cke_button a.cke_off{opacity:0.70;-moz-border-radius:3px;-webkit-border-radius:3px}.cke_skin_office2007 .cke_hc .cke_button a,.cke_skin_office2007 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100)}.cke_skin_office2007 .cke_button a.cke_on{border:solid 1px #0B55C4;background-color:transparent;background-image:url(images/button_mask.png);box-shadow: 0 0 3px #146295 inset;!important;_margin:2px 0 0 0}.cke_skin_office2007 .cke_hc .cke_button a.cke_on{padding:0 2px !important;border-width:3px}.cke_skin_office2007 .cke_button a.cke_disabled,.cke_skin_office2007 .cke_button a:hover.cke_disabled,.cke_skin_office2007 .cke_button a:focus.cke_disabled,.cke_skin_office2007 .cke_button a:active.cke_disabled{/*Added by -PC- !important to override J1.6 front-end template*/background-color:transparent !important;border:solid 1px transparent;filter:alpha(opacity=30);opacity:0.3;vertical-align:top;_border:none;_margin:3px 1px 1px 1px}.cke_skin_office2007 .cke_hc .cke_button a.cke_disabled,.cke_skin_office2007 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled{filter:alpha(opacity=60);opacity:0.6}.cke_skin_office2007 .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_button a:active.cke_on,.cke_skin_office2007 .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_button a:active.cke_off{/*Added by -PC- !important to override J1.6 front-end template*/border:solid 1px #0B55C4;background-color:transparent !important;background-image:url(images/button_mask-hover.png) !important;filter:none !important;opacity:1;vertical-align:top;_margin:2px 0 0 0;padding:2px 4px}.cke_skin_office2007 .cke_hc .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:active.cke_on,.cke_skin_office2007 .cke_hc .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_hc .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_hc .cke_button a:active.cke_off{padding:0 2px !important;border-width:3px}.cke_skin_office2007 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block}.cke_skin_office2007 .cke_button .cke_label{display:none;padding-left:3px;vertical-align:middle;cursor:default;_background-position:0 -970px;_background-repeat:repeat-x; text-shadow: 0 1px 0 #FDFDFF}.cke_skin_office2007 .cke_button a:hover .cke_label{_background-color:#dff1ff;_background-image:none}.cke_skin_office2007 .cke_button a.cke_on .cke_label{_background-color:#c1d2ee;_background-image:none}.cke_skin_office2007 .cke_hc .cke_button .cke_label{padding:0;display:inline-block}.cke_skin_office2007 .cke_hc .cke_button .cke_icon{display:none}.cke_skin_office2007 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden}.cke_skin_office2007 .cke_button .cke_buttonarrow{display:inline-block;height:18px;width:8px;background-position:2px -1004px;background-image:url(images/sprites.png);background-repeat:no-repeat}.cke_skin_office2007 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -1004px}.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar,.cke_skin_office2007 .cke_browser_gecko18 .cke_button a,.cke_skin_office2007 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_office2007 .cke_browser_gecko18 .cke_separator,.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar_start,.cke_skin_office2007 .cke_browser_gecko18 .cke_toolbar_end{display:block;float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_toolbar_end{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_break{float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_break{float:right}.cke_skin_office2007 .cke_browser_gecko18 .cke_separator{margin-top:4px}.cke_skin_office2007 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none}.cke_skin_office2007 .cke_browser_ie8 .cke_toolbar,.cke_skin_office2007 .cke_browser_ie8 .cke_toolgroup{vertical-align:top}.cke_skin_office2007 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_office2007 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline}.cke_skin_office2007 .cke_browser_iequirks .cke_separator{vertical-align:text-bottom}.cke_skin_office2007 .cke_browser_ie .cke_rcombo,.cke_skin_office2007 .cke_browser_ie .cke_rcombo *{cursor:default}.cke_skin_office2007 .cke_contextmenu{padding:2px}.cke_skin_office2007 .cke_menuitem a{display:block}.cke_skin_office2007 .cke_menuitem span{cursor:default}.cke_skin_office2007 .cke_menuitem a:hover,.cke_skin_office2007 .cke_menuitem a:focus,.cke_skin_office2007 .cke_menuitem a:active{background-color:#8db1ff;display:block}.cke_skin_office2007 .cke_menuitem a.cke_disabled:hover,.cke_skin_office2007 .cke_menuitem a.cke_disabled:focus,.cke_skin_office2007 .cke_menuitem a.cke_disabled:active{background-color:transparent !important}.cke_skin_office2007 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left}.cke_skin_office2007 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_menuitem .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:0.70}.cke_rtl .cke_skin_office2007 .cke_menuitem .cke_icon_wrapper{float:right}.cke_skin_office2007 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_office2007 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd}.cke_skin_office2007 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff} .cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label {filter:alpha(opacity=70);opacity:0.70}.cke_rtl .cke_skin_office2007 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px}.cke_skin_office2007 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:0.30}.cke_skin_office2007 .cke_menuitem a:hover .cke_label,.cke_skin_office2007 .cke_menuitem a:focus .cke_label,.cke_skin_office2007 .cke_menuitem a:active .cke_label{background-color:#8db1ff}.cke_skin_office2007 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_office2007 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_office2007 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent}.cke_skin_office2007 .cke_menuseparator{background-color:#f7f8fd;height:2px;filter:alpha(opacity=70);opacity:0.70;_font-size:0}.cke_skin_office2007 .cke_menuarrow{background-image:url(images/sprites.png);background-position:0 -1071px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px}.cke_rtl .cke_skin_office2007 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -1050px}.cke_browser_ie.cke_ltr .cke_skin_office2007 .cke_menuarrow{position:absolute;right:2px}.cke_browser_ie.cke_rtl .cke_skin_office2007 .cke_menuarrow{position:absolute;left:2px}.cke_skin_office2007 .cke_rcombo{display:inline-block;position:relative;top:2px;vertical-align:top;float:left}.cke_skin_office2007 .cke_browser_ie .cke_rcombo{#float:none;#display:inline}.cke_skin_office2007 .cke_rtl .cke_rcombo{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rcombo{#float:none}.cke_skin_office2007 .cke_rcombopanel{border:1px solid #146295;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.cke_skin_office2007 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:0.70}.cke_skin_office2007 .cke_rtl .cke_rcombo a{float:right}.cke_skin_office2007 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0}.cke_skin_office2007 .cke_rcombo .cke_label{text-shadow: 0 1px 0 #FDFDFF; display:inline-block;float:left;line-height:20px!important;height:24px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:0.70;_background-image:url(images/sprites.png);_background-repeat:repeat-x}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0}.cke_skin_office2007 .cke_rcombo .cke_inline_label{color:#fff}.cke_skin_office2007 .cke_rcombo .cke_text{background-color:#FFF;border:1px solid silver;display:inline-block;height:14px;margin-top:1px;overflow:hidden;padding:2px 5px 1px;vertical-align:top;width:60px;line-height: 13px !important;}.cke_skin_office2007 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.cke_skin_office2007 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px}.cke_skin_office2007 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -1003px;background-image:url(images/sprites.png);background-repeat:no-repeat;border-top:1px solid silver;border-bottom:1px solid silver;width:14px;height:17px;margin-top:1px}.cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton{ border-right:1px solid silver;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px}.cke_skin_office2007 .cke_rtl .cke_rcombo .cke_openbutton{ border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px}.cke_skin_office2007 .cke_rcombo .cke_off a:hover,.cke_skin_office2007 .cke_rcombo .cke_off a:focus,.cke_skin_office2007 .cke_rcombo .cke_off a:active,.cke_skin_office2007 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1}.cke_skin_office2007 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_office2007 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_office2007 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_office2007 .cke_rcombo .cke_on .cke_text{border-color:#146295}.cke_skin_office2007 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_office2007 .cke_rcombo .cke_on .cke_openbutton{border-color:#146295;background-color:#dff1ff}.cke_skin_office2007 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;border-bottom-left-radius:0px}.cke_skin_office2007 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;border-bottom-right-radius:0px}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:0.3}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:0.7}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:0.5}.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2007 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:0.8}.cke_skin_office2007 .cke_rcombo .cke_disabled .cke_text{color:#fff}.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left}.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2007 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none}@media print{.cke_path{display:none}}.cke_skin_office2007 .cke_path{padding:6px 6px 3px 27px !important;display:inline-block;float:left;background-image:url(images/inspector.png);background-repeat:no-repeat;background-position:7px 7px}.cke_skin_office2007 .cke_rtl .cke_path{float:right}.cke_skin_office2007 .cke_path a,.cke_skin_office2007 .cke_path .cke_empty{display:inline-block;float:left;border:1px solid transparent;.border:none;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;cursor:pointer}.cke_skin_office2007 .cke_path .cke_empty{visibility:hidden}.cke_skin_office2007 .cke_rtl .cke_path a,.cke_skin_office2007 .cke_rtl .cke_path cke_empty{float:right}.cke_skin_office2007 .cke_path a:hover,.cke_skin_office2007 .cke_path a:focus,.cke_skin_office2007 .cke_path a:active{border:1px solid silver;background-color:#F6F6F6;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none}.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_office2007 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none}.cke_skin_office2007 .cke_button_source .cke_icon{background-position:0 0}.cke_skin_office2007 .cke_button_newpage .cke_icon{background-position:0 -48px}.cke_skin_office2007 .cke_button_preview .cke_icon{background-position:0 -64px}.cke_skin_office2007 .cke_button_cut .cke_icon{background-position:0 -96px}.cke_skin_office2007 .cke_button_copy .cke_icon{background-position:0 -112px}.cke_skin_office2007 .cke_button_paste .cke_icon{background-position:0 -128px}.cke_skin_office2007 .cke_button_pastetext .cke_icon{background-position:0 -144px}.cke_skin_office2007 .cke_button_find .cke_icon{background-position:0 -240px}.cke_skin_office2007 .cke_button_replace .cke_icon{background-position:0 -256px}.cke_skin_office2007 .cke_button_selectAll .cke_icon{background-position:0 -272px}.cke_skin_office2007 .cke_button_removeFormat .cke_icon{background-position:0 -288px}.cke_skin_office2007 .cke_button_bold .cke_icon{background-position:0 -304px}.cke_skin_office2007 .cke_button_italic .cke_icon{background-position:0 -320px}.cke_skin_office2007 .cke_button_underline .cke_icon{background-position:0 -336px}.cke_skin_office2007 .cke_button_strike .cke_icon{background-position:0 -352px}.cke_skin_office2007 .cke_button_subscript .cke_icon{background-position:0 -368px}.cke_skin_office2007 .cke_button_superscript .cke_icon{background-position:0 -384px}.cke_skin_office2007 .cke_button_table .cke_icon{background-position:0 -608px}.cke_skin_office2007 .cke_button_horizontalrule .cke_icon{background-position:0 -624px}.cke_skin_office2007 .cke_button_smiley .cke_icon{background-position:0 -640px}.cke_skin_office2007 .cke_button_link .cke_icon{background-position:0 -528px}.cke_skin_office2007 .cke_button_unlink .cke_icon{background-position:0 -544px}.cke_skin_office2007 .cke_button_anchor .cke_icon{background-position:0 -560px}.cke_skin_office2007 .cke_button_image .cke_icon{background-position:0 -576px}.cke_skin_office2007 .cke_button_flash .cke_icon{background-position:0 -592px}.cke_skin_office2007 .cke_button_specialchar .cke_icon{background-position:0 -656px}.cke_skin_office2007 .cke_button_pagebreak .cke_icon{background-position:0 -672px}.cke_skin_office2007 .cke_button_print .cke_icon{background-position:0 -176px}.cke_skin_office2007 .cke_button_checkspell .cke_icon,.cke_skin_office2007 .cke_button_scayt .cke_icon{background-position:0 -192px}.cke_skin_office2007 .cke_button_pagebreak .cke_icon{background-position:0 -672px}.cke_skin_office2007 .cke_button_textcolor .cke_icon{background-position:0 -704px}.cke_skin_office2007 .cke_button_bgcolor .cke_icon{background-position:0 -720px}.cke_skin_office2007 .cke_button_form .cke_icon{background-position:0 -752px}.cke_skin_office2007 .cke_button_checkbox .cke_icon{background-position:0 -768px}.cke_skin_office2007 .cke_button_radio .cke_icon{background-position:0 -784px}.cke_skin_office2007 .cke_button_textfield .cke_icon{background-position:0 -800px}.cke_skin_office2007 .cke_button_textarea .cke_icon{background-position:0 -816px}.cke_skin_office2007 .cke_button_showblocks .cke_icon{background-position:0 -1136px}.cke_skin_office2007 .cke_button_select .cke_icon{background-position:0 -832px}.cke_skin_office2007 .cke_button_button .cke_icon{background-position:0 -848px}.cke_skin_office2007 .cke_button_imagebutton .cke_icon{background-position:0 -864px}.cke_skin_office2007 .cke_button_hiddenfield .cke_icon{background-position:0 -880px}.cke_skin_office2007 .cke_button_undo .cke_icon{background-position:0 -208px}.cke_skin_office2007 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px}.cke_skin_office2007 .cke_button_redo .cke_icon{background-position:0 -224px}.cke_skin_office2007 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px}.cke_skin_office2007 .cke_button_templates .cke_icon{background-position:0 -80px}.cke_skin_office2007 .cke_button_numberedlist .cke_icon{background-position:0 -400px}.cke_skin_office2007 .cke_button_bulletedlist .cke_icon{background-position:0 -416px}.cke_skin_office2007 .cke_button_outdent .cke_icon{background-position:0 -432px}.cke_skin_office2007 .cke_button_indent .cke_icon{background-position:0 -448px}.cke_skin_office2007 .cke_button_justifyleft .cke_icon{background-position:0 -464px}.cke_skin_office2007 .cke_button_justifycenter .cke_icon{background-position:0 -480px}.cke_skin_office2007 .cke_button_justifyright .cke_icon{background-position:0 -496px}.cke_skin_office2007 .cke_button_justifyblock .cke_icon{background-position:0 -512px}.cke_skin_office2007 .cke_button_blockquote .cke_icon{background-position:0 -1152px}.cke_skin_office2007 .cke_button_flash .cke_icon{background-position:0 -592px}.cke_skin_office2007 .cke_button_pastefromword .cke_icon{background-position:0 -160px}.cke_skin_office2007 .cke_button_save .cke_icon{background-position:0 -32px}.cke_skin_office2007 .cke_button_about .cke_icon{background-position:0 -736px}.cke_skin_office2007 .cke_button_maximize .cke_icon{background-position:0 -1040px}.cke_skin_office2007 .cke_button_creatediv .cke_icon{background-position:0 -1168px}.cke_skin_office2007 .cke_button_editdiv .cke_icon{background-position:0 -1184px}.cke_skin_office2007 .cke_button_removediv .cke_icon{background-position:0 -1200px}.cke_skin_office2007 .cke_button_source .cke_label{display:inline; line-height: 18px}.cke_skin_office2007 .cke_styles_panel{width:150px;height:170px}.cke_skin_office2007 .cke_format_panel{width:150px;height:170px}.cke_skin_office2007 .cke_font_panel{width:150px;height:170px}.cke_skin_office2007 .cke_fontSize_panel{height:170px}.cke_skin_office2007 .cke_fontSize .cke_text{width:20px}.cke_skin_office2007 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px} html .cke_skin_office2007{visibility: inherit;} html.cke_skin_office2007_container{visibility: visible;} .cke_skin_office2007 .cke_path .cke_label {display:none;} .cke_skin_office2007 .cke_voice_label {display:none;} /*fixes*/ .cke_skin_office2007 iframe{vertical-align:inherit; width:100%;} .cke_skin_office2007 .cke_button_bidirtl .cke_icon { background-position: 0 -1072px;}.cke_skin_office2007 .cke_button_bidiltr .cke_icon{ background-position: 0 -1056px;} .cke_skin_office2007 .cke_toolbox_collapser span{display:none;}/*fixes:*/.cke_editor{/*display:inline-table; /fixes width problem*/width:100%}/*Added by -PC- to override J1.6 front-end template*/.cke_rcombo span a:hover,.cke_rcombo span a:active,.cke_rcombo span a:focus{background-color:transparent !important} +.cke_skin_office2007 .cke_button a:hover.cke_on,.cke_skin_office2007 .cke_button a:focus.cke_on,.cke_skin_office2007 .cke_button a:active.cke_on,.cke_skin_office2007 .cke_button a:hover.cke_off,.cke_skin_office2007 .cke_button a:focus.cke_off,.cke_skin_office2007 .cke_button a:active.cke_off{ -webkit-transition: all 350ms ease-out;-moz-transition: all 350ms ease-out;-o-transition: all 350ms ease-out;transition: all 350ms ease-out; -webkit-box-shadow: 0 0 3px #146295 inset; -moz-box-shadow: 0 0 3px #146295 inset;box-shadow: 0 0 3px #146295 inset; } .cke_skin_office2007 .cke_rcombo .cke_text, .cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton { +-webkit-transition: all 350ms ease-out;-moz-transition: all 350ms ease-out;-o-transition: all 350ms ease-out;transition: all 350ms ease-out;} .cke_skin_office2007 .cke_rcombo .cke_text:hover, .cke_skin_office2007 .cke_ltr .cke_rcombo .cke_openbutton:hover {-webkit-box-shadow: 0 0 8px #146295;-moz-box-shadow: 0 0 8px #146295;box-shadow: 0 0 8px #146295;} li.cke_panel_listItem a div, li.cke_panel_listItem a span {width: 100% !important;} .cke_skin_office2007 a.cke_toolbox_collapser, .cke_skin_office2007 a.cke_toolbox_collapser:hover { background: url("images/sprites.png") no-repeat scroll -1px -1027px transparent !important;} +.cke_skin_office2007 .cke_browser_webkit div, .cke_skin_office2007 .cke_browser_webkit table, .cke_skin_office2007 .cke_browser_webkit .cke_toolbox span, .cke_skin_office2007 .cke_browser_webkit table.cke_editor td {white-space:normal} + diff --git a/deployed/jckman/plugins/editors/jckeditor/skins/office2007/skin.js b/deployed/jckman/plugins/editors/jckeditor/skins/office2007/skin.js index 869fe930..bbcb66f0 100644 --- a/deployed/jckman/plugins/editors/jckeditor/skins/office2007/skin.js +++ b/deployed/jckman/plugins/editors/jckeditor/skins/office2007/skin.js @@ -1,14 +1,14 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ -CKEDITOR.skins.add('office2007',(function(){var j=[],uiColorStylesheetId='cke_ui_color';if(CKEDITOR.env.ie&&CKEDITOR.env.version<7){j.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif')} -return{preload:j,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14],init:function(g){var h=/\$color/g;function getStylesheet(a){var b=a.getById(uiColorStylesheetId);if(!b){b=a.getHead().append('style');b.setAttribute("id",uiColorStylesheetId);b.setAttribute("type","text/css")} -return b} -function updateStylesheets(a,b,c){var r,i,content;for(var d=0;d=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;} +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ +CKEDITOR.skins.add('office2007',(function(){var j=[],uiColorStylesheetId='cke_ui_color';if(CKEDITOR.env.ie&&CKEDITOR.env.version<7){j.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif')} +return{preload:j,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14],init:function(g){var h=/\$color/g;function getStylesheet(a){var b=a.getById(uiColorStylesheetId);if(!b){b=a.getHead().append('style');b.setAttribute("id",uiColorStylesheetId);b.setAttribute("type","text/css")} +return b} +function updateStylesheets(a,b,c){var r,i,content;for(var d=0;d=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;} if(is.ua.indexOf('gecko')>=0){is.ie=is.ns=false;is.gecko=true;} \ No newline at end of file diff --git a/deployed/jckman/plugins/editors/jckeditor/skins/office2007/templates.css b/deployed/jckman/plugins/editors/jckeditor/skins/office2007/templates.css index c5e48b58..fef5a6bb 100644 --- a/deployed/jckman/plugins/editors/jckeditor/skins/office2007/templates.css +++ b/deployed/jckman/plugins/editors/jckeditor/skins/office2007/templates.css @@ -1,8 +1,8 @@ -/*------------------------------------------------------------------------ -# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. -# @license - GPLv2.0 -# Author: WebxSolution Ltd -# Websites: http://www.webxsolution.com -# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use -# ------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------ +# Copyright (C) 2005-2012 WebxSolution Ltd. All Rights Reserved. +# @license - GPLv2.0 +# Author: WebxSolution Ltd +# Websites: http://www.webxsolution.com +# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use +# ------------------------------------------------------------------------*/ .cke_skin_office2007 .cke_tpl_list{border:#dcdcdc 2px solid;background-color:#fff;overflow:auto;width:100%;height:220px}.cke_skin_office2007 .cke_tpl_item{margin:5px;padding:7px;border:#eee 1px solid;*width:88%}.cke_skin_office2007 .cke_tpl_preview{border-collapse:separate;text-indent:0;width:100%}.cke_skin_office2007 .cke_tpl_preview td{padding:2px;vertical-align:middle}.cke_skin_office2007 .cke_tpl_preview .cke_tpl_preview_img{width:100px}.cke_skin_office2007 .cke_tpl_preview span{white-space:normal}.cke_skin_office2007 .cke_tpl_title{font-weight:bold}.cke_skin_office2007 .cke_tpl_hover{border:#f93 1px solid !important;background-color:#fffacd !important;cursor:pointer;cursor:hand}.cke_skin_office2007 .cke_tpl_hover *{cursor:inherit}.cke_skin_office2007 .cke_tpl_empty,.cke_tpl_loading{text-align:center;padding:5px} \ No newline at end of file diff --git a/deployed/jckman/plugins/editors/jckeditor/themes/default/theme.js b/deployed/jckman/plugins/editors/jckeditor/themes/default/theme.js index 8cf0d49f..5d2a4579 100644 --- a/deployed/jckman/plugins/editors/jckeditor/themes/default/theme.js +++ b/deployed/jckman/plugins/editors/jckeditor/themes/default/theme.js @@ -1,8 +1,8 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.themes.add('default',(function(){function a(b,c){var d,e;e=b.config.sharedSpaces;e=e&&e[c];e=e&&CKEDITOR.document.getById(e);if(e){var f=''+''+''+''+'
        '+'
        ',g=e.append(CKEDITOR.dom.element.createFromHtml(f,e.getDocument()));if(e.getCustomData('cke_hasshared'))g.hide();else e.setCustomData('cke_hasshared',1);d=g.getChild([0,0,0,0]);b.on('focus',function(){for(var h=0,i,j=e.getChildren();i=j.getItem(h);h++){if(i.type==CKEDITOR.NODE_ELEMENT&&!i.equals(g)&&i.hasClass('cke_shared'))i.hide();}g.show();});b.on('destroy',function(){g.remove();});}return d;};return{build:function(b,c){var d=b.name,e=b.element,f=b.elementMode;if(!e||f==CKEDITOR.ELEMENT_MODE_NONE)return;if(f==CKEDITOR.ELEMENT_MODE_REPLACE)e.hide();var g=b.fire('themeSpace',{space:'top',html:''}).html,h=b.fire('themeSpace',{space:'contents',html:''}).html,i=b.fireOnce('themeSpace',{space:'bottom',html:''}).html,j=h&&b.config.height,k=b.config.tabIndex||b.element.getAttribute('tabindex')||0;if(!h)j='auto';else if(!isNaN(j))j+='px';var l='',m=b.config.width;if(m){if(!isNaN(m))m+='px';l+='width: '+m+';';}var n=g&&a(b,'top'),o=a(b,'bottom');n&&(n.setHtml(g),g='');o&&(o.setHtml(i),i='');var p=CKEDITOR.dom.element.createFromHtml([''+''+b.lang.editor+''+''].join('')); -p.getChild([1,0,0,0,0]).unselectable();p.getChild([1,0,0,0,2]).unselectable();if(f==CKEDITOR.ELEMENT_MODE_REPLACE)p.insertAfter(e);else e.append(p);b.container=p;p.disableContextMenu();b.fireOnce('themeLoaded');b.fireOnce('uiReady');},buildDialog:function(b){var c=CKEDITOR.tools.getNextNumber(),d=CKEDITOR.dom.element.createFromHtml([''].join('').replace(/#/g,'_'+c).replace(/%/g,'cke_dialog_')),e=d.getChild([0,0,0,0,0]),f=e.getChild(0),g=e.getChild(1);f.unselectable();g.unselectable();return{element:d,parts:{dialog:d.getChild(0),title:f,close:g,tabs:e.getChild(2),contents:e.getChild([3,0,0,0]),footer:e.getChild([3,0,1,0])}};},destroy:function(b){var c=b.container;c.clearCustomData();b.element.clearCustomData();if(c)c.remove();if(b.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE)b.element.show();delete b.element;}};})());CKEDITOR.editor.prototype.getThemeSpace=function(a){var b='cke_'+a,c=this._[b]||(this._[b]=CKEDITOR.document.getById(b+'_'+this.name));return c;};CKEDITOR.editor.prototype.resize=function(a,b,c,d){var e=this.container,f=CKEDITOR.document.getById('cke_contents_'+this.name),g=d?e.getChild(1):e;CKEDITOR.env.webkit&&g.setStyle('display','none');g.setSize('width',a,true);if(CKEDITOR.env.webkit){g.$.offsetWidth;g.setStyle('display',''); -}var h=c?0:(g.$.offsetHeight||0)-(f.$.clientHeight||0);f.setStyle('height',Math.max(b-h,0)+'px');this.fire('resize');};CKEDITOR.editor.prototype.getResizable=function(){return this.container.getChild(1);}; +/* +Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.themes.add('default',(function(){function a(b,c){var d,e;e=b.config.sharedSpaces;e=e&&e[c];e=e&&CKEDITOR.document.getById(e);if(e){var f=''+''+''+''+'
        '+'
        ',g=e.append(CKEDITOR.dom.element.createFromHtml(f,e.getDocument()));if(e.getCustomData('cke_hasshared'))g.hide();else e.setCustomData('cke_hasshared',1);d=g.getChild([0,0,0,0]);b.on('focus',function(){for(var h=0,i,j=e.getChildren();i=j.getItem(h);h++){if(i.type==CKEDITOR.NODE_ELEMENT&&!i.equals(g)&&i.hasClass('cke_shared'))i.hide();}g.show();});b.on('destroy',function(){g.remove();});}return d;};return{build:function(b,c){var d=b.name,e=b.element,f=b.elementMode;if(!e||f==CKEDITOR.ELEMENT_MODE_NONE)return;if(f==CKEDITOR.ELEMENT_MODE_REPLACE)e.hide();var g=b.fire('themeSpace',{space:'top',html:''}).html,h=b.fire('themeSpace',{space:'contents',html:''}).html,i=b.fireOnce('themeSpace',{space:'bottom',html:''}).html,j=h&&b.config.height,k=b.config.tabIndex||b.element.getAttribute('tabindex')||0;if(!h)j='auto';else if(!isNaN(j))j+='px';var l='',m=b.config.width;if(m){if(!isNaN(m))m+='px';l+='width: '+m+';';}var n=g&&a(b,'top'),o=a(b,'bottom');n&&(n.setHtml(g),g='');o&&(o.setHtml(i),i='');var p=CKEDITOR.dom.element.createFromHtml([''+''+b.lang.editor+''+''].join('')); +p.getChild([1,0,0,0,0]).unselectable();p.getChild([1,0,0,0,2]).unselectable();if(f==CKEDITOR.ELEMENT_MODE_REPLACE)p.insertAfter(e);else e.append(p);b.container=p;p.disableContextMenu();b.fireOnce('themeLoaded');b.fireOnce('uiReady');},buildDialog:function(b){var c=CKEDITOR.tools.getNextNumber(),d=CKEDITOR.dom.element.createFromHtml([''].join('').replace(/#/g,'_'+c).replace(/%/g,'cke_dialog_')),e=d.getChild([0,0,0,0,0]),f=e.getChild(0),g=e.getChild(1);f.unselectable();g.unselectable();return{element:d,parts:{dialog:d.getChild(0),title:f,close:g,tabs:e.getChild(2),contents:e.getChild([3,0,0,0]),footer:e.getChild([3,0,1,0])}};},destroy:function(b){var c=b.container;c.clearCustomData();b.element.clearCustomData();if(c)c.remove();if(b.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE)b.element.show();delete b.element;}};})());CKEDITOR.editor.prototype.getThemeSpace=function(a){var b='cke_'+a,c=this._[b]||(this._[b]=CKEDITOR.document.getById(b+'_'+this.name));return c;};CKEDITOR.editor.prototype.resize=function(a,b,c,d){var e=this.container,f=CKEDITOR.document.getById('cke_contents_'+this.name),g=d?e.getChild(1):e;CKEDITOR.env.webkit&&g.setStyle('display','none');g.setSize('width',a,true);if(CKEDITOR.env.webkit){g.$.offsetWidth;g.setStyle('display',''); +}var h=c?0:(g.$.offsetHeight||0)-(f.$.clientHeight||0);f.setStyle('height',Math.max(b-h,0)+'px');this.fire('resize');};CKEDITOR.editor.prototype.getResizable=function(){return this.container.getChild(1);}; diff --git a/deployed/jckman/plugins/editors/jckeditor/typography.php b/deployed/jckman/plugins/editors/jckeditor/typography.php index 998e122f..c74f8c07 100644 --- a/deployed/jckman/plugins/editors/jckeditor/typography.php +++ b/deployed/jckman/plugins/editors/jckeditor/typography.php @@ -1,61 +1,61 @@ -params); - -jckimport('ckeditor.plugins.helper'); - -//import plugins -JCKPluginsHelper::storePlugins('stylesheet'); -JCKPluginsHelper::importPlugin('stylesheet'); - -$dispatcher = JDispatcher::getInstance(); - -$results = $dispatcher->trigger('load',array(&$params)); - -$contentCSS = implode("",$results); - -// Remove comments -$contentCSS = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $contentCSS); - -// Remove space after colons -$contentCSS = str_replace(': ', ':', $contentCSS); - -// Remove whitespace -$contentCSS = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $contentCSS); - -// Enable GZip encoding. -if($app->getCfg('gzip', false)) -{ - if(!ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') //if server is configured to do this then leave it the server to do it's stuff - ob_start("ob_gzhandler"); -} -// Enable caching -header('Cache-Control: public'); - -// Expire in one day -header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); - -// Set the correct MIME type, because Apache won't set it for us -header("Content-type: text/css"); - -// Write everything out -echo $contentCSS; -?> - - - +params); + +jckimport('ckeditor.plugins.helper'); + +//import plugins +JCKPluginsHelper::storePlugins('stylesheet'); +JCKPluginsHelper::importPlugin('stylesheet'); + +$dispatcher = JDispatcher::getInstance(); + +$results = $dispatcher->trigger('load',array(&$params)); + +$contentCSS = implode("",$results); + +// Remove comments +$contentCSS = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $contentCSS); + +// Remove space after colons +$contentCSS = str_replace(': ', ':', $contentCSS); + +// Remove whitespace +$contentCSS = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $contentCSS); + +// Enable GZip encoding. +if($app->getCfg('gzip', false)) +{ + if(!ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') //if server is configured to do this then leave it the server to do it's stuff + ob_start("ob_gzhandler"); +} +// Enable caching +header('Cache-Control: public'); + +// Expire in one day +header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); + +// Set the correct MIME type, because Apache won't set it for us +header("Content-type: text/css"); + +// Write everything out +echo $contentCSS; +?> + + + diff --git a/deployed/jckman/plugins/editors/jckeditor/typography/DryIcons Commercial License Agreement.txt b/deployed/jckman/plugins/editors/jckeditor/typography/DryIcons Commercial License Agreement.txt index 33d65488..590e974c 100644 --- a/deployed/jckman/plugins/editors/jckeditor/typography/DryIcons Commercial License Agreement.txt +++ b/deployed/jckman/plugins/editors/jckeditor/typography/DryIcons Commercial License Agreement.txt @@ -1,43 +1,43 @@ -DryIcons Commercial License Agreement -Licensing Terms and Conditions - -This is a legal agreement between You or the Organization on whose behalf you are undertaking the License described below ("Licensee") and DryIcons.com ("DryIcons"). This agreement applies to licenses issued via the world wide web and is applicable to online, digital and analog (physical) delivery of Licensed Material. - -Last updated: December 12, 2011 - - Definitions - "Licensed Material" means any digital still image, graphic, icon, icon set or web template, visual representation generated optically, electronically, digitally or by any other means including copies, prints, digital files or reproductions thereof of the material. Any reference in this Agreement to the Licensed Material shall be to each individual item within the Licensed Material and also to the Licensed Material taken as a whole. - Grant of Rights - The Licensed Material is not being sold; it is being provided to the Licensee under the terms of this agreement, which allows for use of Licensed Material but does not transfer ownership. Ownership remains with DryIcons; - Licensee has the non-exclusive, non-transferable, non-sublicensable right to use the Licensed Material an unlimited number of times in any and all media for the following commercial or personal purposes (together the "Permitted Uses") subject to the restrictions set forth in the Agreement. Any uses other than the Permitted Uses must be approved by DryIcons in writing. - Permitted Uses include the following: - Electronic publications including website design; - Free smartphone applications; - User interface design and code based environments; - Print publications and physical products; - Advertising and promotional materials; - Corporate identity documents, and letterhead (used as design elements); - Broadcast and theatrical exhibitions; - Video, film, or television broadcasts (used as design elements); - To decorate your home, your office or any public place; - Licensee may alter, crop, manipulate and create derivative works of the Licensed Material; - Licensee's rights to the Licensed Material are worldwide; - Unauthorized use will results in immediate termination of this license, and with it, Licensee's rights to use the Licensed Material. - Restrictions - Licensee may not rent, sublicense, sell, assign, convey or transfer Licensed Material, this Agreement or any of its rights under this Agreement. Licensee may not include the Licensed Material in an electronic template intended to be Reproduced by third parties on electronic or printed products; - Licensee may not use Licensed Material in paid smartphone applications; - Licensee may not sell, license or distribute any derivative work based on the Licensed Material; - Licensed Material may not be incorporated into a logo, application icon, trademark or service mark; - Licensee may not post the Licensed Material online in a downloadable format or enable it to be distributed via mobile devices. - Licensee may not use Licensed Material in electronic items for resale, such as website templates, electronic devices (i.e. computer, iPhone, phones, etc.) software applications, document templates, wallpapers, screensavers, e-cards or similar products that Licensee intend to sell or distribute; - Licensee may not use Licensed Material on physical items for resale and "print on demand" items such as t-shirts, postcards, mouse pads, coffee mugs, calendars (e.g. on sites like Cafepress), or on any similar mass produced items that would contain the Licensed Material in a partly, or dominant way; - Licensee may not use the Licensed Material for pornographic, unlawful or other immoral purposes, for spreading hate or discrimination, or to defame or victimize other people, societies, cultures; - Copyright - No ownership or copyright in any Licensed Material shall pass to Licensee by the issuance of the license contained in this Agreement. Except as expressly stated in this Agreement, DryIcons grants to Licensee no right or license, express or implied, to the Licensed Material. - Termination & Revocation - The license contained in this Agreement will terminate automatically without notice from DryIcons if Licensee fails to comply with any provision of this Agreement. Upon termination, Licensee must immediately (i) stop using the Licensed Material; (ii) destroy the Licensed Material; and (iii) delete or remove the Licensed Material from Licensee's premises, computer systems and storage (electronic or physical) and promptly confirm same to DryIcons in writing; - DryIcons reserves the right to revoke the license to use the Licensed Material for good cause and elect to replace such Licensed Material with alternative Licensed Material. Upon notice of any revocation of such license, Licensee shall immediately cease using such Licensed Material and shall where possible ensure that its clients and customers do likewise. Licensee shall delete all electronic copies of Licensed Material from its electronic storage media, confirming the same to DryIcons in writing. - Warranty and Limitation of Liability - The Licensed Material provided under the terms of this License are owned by DryIcons. Licensee is urged to fully test the Licensed Material prior to distribution of any software in which it is to be used and to bring any difficulties encountered to the attention of DryIcons before such distribution. DRYICONS HEREBY DISCLAIMS ALL LIABILITY FOR INCIDENTAL, CONSEQUENTIAL AND SPECIAL DAMAGES ARISING OUT OF ANY DEFECTS IN MATERIALS AND WORKMANSHIP INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR USE. - Licensee shall defend, indemnify and hold DryIcons and its respective officers, directors and employees harmless from all damages, liabilities and expenses (including reasonable attorneys' fees and permitted and authorized costs), arising out of or as a result of claims by third parties relating to Licensee's use of any Licensed Material outside the scope of this Agreement and any other breach by Licensee of this Agreement. - These terms and conditions are all the terms and conditions that apply to this License. No other terms or prior understandings shall be used to alter the plain meaning of these terms or to expand the License unless subsequently agreed to in writing by the parties in amending this License. +DryIcons Commercial License Agreement +Licensing Terms and Conditions + +This is a legal agreement between You or the Organization on whose behalf you are undertaking the License described below ("Licensee") and DryIcons.com ("DryIcons"). This agreement applies to licenses issued via the world wide web and is applicable to online, digital and analog (physical) delivery of Licensed Material. + +Last updated: December 12, 2011 + + Definitions + "Licensed Material" means any digital still image, graphic, icon, icon set or web template, visual representation generated optically, electronically, digitally or by any other means including copies, prints, digital files or reproductions thereof of the material. Any reference in this Agreement to the Licensed Material shall be to each individual item within the Licensed Material and also to the Licensed Material taken as a whole. + Grant of Rights + The Licensed Material is not being sold; it is being provided to the Licensee under the terms of this agreement, which allows for use of Licensed Material but does not transfer ownership. Ownership remains with DryIcons; + Licensee has the non-exclusive, non-transferable, non-sublicensable right to use the Licensed Material an unlimited number of times in any and all media for the following commercial or personal purposes (together the "Permitted Uses") subject to the restrictions set forth in the Agreement. Any uses other than the Permitted Uses must be approved by DryIcons in writing. + Permitted Uses include the following: + Electronic publications including website design; + Free smartphone applications; + User interface design and code based environments; + Print publications and physical products; + Advertising and promotional materials; + Corporate identity documents, and letterhead (used as design elements); + Broadcast and theatrical exhibitions; + Video, film, or television broadcasts (used as design elements); + To decorate your home, your office or any public place; + Licensee may alter, crop, manipulate and create derivative works of the Licensed Material; + Licensee's rights to the Licensed Material are worldwide; + Unauthorized use will results in immediate termination of this license, and with it, Licensee's rights to use the Licensed Material. + Restrictions + Licensee may not rent, sublicense, sell, assign, convey or transfer Licensed Material, this Agreement or any of its rights under this Agreement. Licensee may not include the Licensed Material in an electronic template intended to be Reproduced by third parties on electronic or printed products; + Licensee may not use Licensed Material in paid smartphone applications; + Licensee may not sell, license or distribute any derivative work based on the Licensed Material; + Licensed Material may not be incorporated into a logo, application icon, trademark or service mark; + Licensee may not post the Licensed Material online in a downloadable format or enable it to be distributed via mobile devices. + Licensee may not use Licensed Material in electronic items for resale, such as website templates, electronic devices (i.e. computer, iPhone, phones, etc.) software applications, document templates, wallpapers, screensavers, e-cards or similar products that Licensee intend to sell or distribute; + Licensee may not use Licensed Material on physical items for resale and "print on demand" items such as t-shirts, postcards, mouse pads, coffee mugs, calendars (e.g. on sites like Cafepress), or on any similar mass produced items that would contain the Licensed Material in a partly, or dominant way; + Licensee may not use the Licensed Material for pornographic, unlawful or other immoral purposes, for spreading hate or discrimination, or to defame or victimize other people, societies, cultures; + Copyright + No ownership or copyright in any Licensed Material shall pass to Licensee by the issuance of the license contained in this Agreement. Except as expressly stated in this Agreement, DryIcons grants to Licensee no right or license, express or implied, to the Licensed Material. + Termination & Revocation + The license contained in this Agreement will terminate automatically without notice from DryIcons if Licensee fails to comply with any provision of this Agreement. Upon termination, Licensee must immediately (i) stop using the Licensed Material; (ii) destroy the Licensed Material; and (iii) delete or remove the Licensed Material from Licensee's premises, computer systems and storage (electronic or physical) and promptly confirm same to DryIcons in writing; + DryIcons reserves the right to revoke the license to use the Licensed Material for good cause and elect to replace such Licensed Material with alternative Licensed Material. Upon notice of any revocation of such license, Licensee shall immediately cease using such Licensed Material and shall where possible ensure that its clients and customers do likewise. Licensee shall delete all electronic copies of Licensed Material from its electronic storage media, confirming the same to DryIcons in writing. + Warranty and Limitation of Liability + The Licensed Material provided under the terms of this License are owned by DryIcons. Licensee is urged to fully test the Licensed Material prior to distribution of any software in which it is to be used and to bring any difficulties encountered to the attention of DryIcons before such distribution. DRYICONS HEREBY DISCLAIMS ALL LIABILITY FOR INCIDENTAL, CONSEQUENTIAL AND SPECIAL DAMAGES ARISING OUT OF ANY DEFECTS IN MATERIALS AND WORKMANSHIP INCLUDING WARRANTIES OF MERCHANTABILITY AND FITNESS FOR USE. + Licensee shall defend, indemnify and hold DryIcons and its respective officers, directors and employees harmless from all damages, liabilities and expenses (including reasonable attorneys' fees and permitted and authorized costs), arising out of or as a result of claims by third parties relating to Licensee's use of any Licensed Material outside the scope of this Agreement and any other breach by Licensee of this Agreement. + These terms and conditions are all the terms and conditions that apply to this License. No other terms or prior understandings shall be used to alter the plain meaning of these terms or to expand the License unless subsequently agreed to in writing by the parties in amending this License. diff --git a/deployed/jckman/plugins/editors/jckeditor/typography/typography.php b/deployed/jckman/plugins/editors/jckeditor/typography/typography.php index 9a74fc45..c63fd886 100644 --- a/deployed/jckman/plugins/editors/jckeditor/typography/typography.php +++ b/deployed/jckman/plugins/editors/jckeditor/typography/typography.php @@ -1,65 +1,65 @@ -params)) //always must do this check -$params = @ new JRegistry($plugin->params); -else $params = $plugin->params; - -jckimport('ckeditor.plugins.helper'); - -//import plugins -JCKPluginsHelper::storePlugins('stylesheet'); -JCKPluginsHelper::importPlugin('stylesheet'); - -$dispatcher = JDispatcher::getInstance(); - -$results = $dispatcher->trigger('load',array(&$params)); - -$contentCSS = implode("",$results); - -// Remove comments -$contentCSS = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $contentCSS); - -// Remove space after colons -$contentCSS = str_replace(': ', ':', $contentCSS); - -// Remove whitespace -$contentCSS = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $contentCSS); - -// Enable GZip encoding. -if($app->getCfg('gzip', false)) -{ - if(!ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') //if server is configured to do this then leave it the server to do it's stuff - ob_start("ob_gzhandler"); -} -// Enable caching -header('Cache-Control: public'); - -// Expire in one day -header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); - -// Set the correct MIME type, because Apache won't set it for us -header("Content-type: text/css"); - -// Write everything out -echo $contentCSS; -?> - - - +params)) //always must do this check +$params = @ new JRegistry($plugin->params); +else $params = $plugin->params; + +jckimport('ckeditor.plugins.helper'); + +//import plugins +JCKPluginsHelper::storePlugins('stylesheet'); +JCKPluginsHelper::importPlugin('stylesheet'); + +$dispatcher = JDispatcher::getInstance(); + +$results = $dispatcher->trigger('load',array(&$params)); + +$contentCSS = implode("",$results); + +// Remove comments +$contentCSS = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $contentCSS); + +// Remove space after colons +$contentCSS = str_replace(': ', ':', $contentCSS); + +// Remove whitespace +$contentCSS = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $contentCSS); + +// Enable GZip encoding. +if($app->getCfg('gzip', false)) +{ + if(!ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') //if server is configured to do this then leave it the server to do it's stuff + ob_start("ob_gzhandler"); +} +// Enable caching +header('Cache-Control: public'); + +// Expire in one day +header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); + +// Set the correct MIME type, because Apache won't set it for us +header("Content-type: text/css"); + +// Write everything out +echo $contentCSS; +?> + + + diff --git a/deployed/jckman/plugins/editors/jckeditor/typography/typography2.php b/deployed/jckman/plugins/editors/jckeditor/typography/typography2.php index d1db5934..6ac1e7b5 100644 --- a/deployed/jckman/plugins/editors/jckeditor/typography/typography2.php +++ b/deployed/jckman/plugins/editors/jckeditor/typography/typography2.php @@ -1,65 +1,65 @@ -getQuery(true); - -$query->select('params') - ->from('#__extensions') - ->where('folder = "editors"') - ->where('element ="jckeditor"'); - -$db->setQuery($query); -$results = $db->loadResult(); - -$params = @ new JRegistry($results); - -//import plugins - -$contentCSS = $params->get('jcktypographycontent',''); - -// Remove comments -$contentCSS = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $contentCSS); - -// Remove space after colons -$contentCSS = str_replace(': ', ':', $contentCSS); - -// Remove whitespace -$contentCSS = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $contentCSS); - -// Enable GZip encoding. - -if(JFactory::getConfig()->get('gzip',false)) -{ - if(!ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') //if server is configured to do this then leave it the server to do it's stuff - ob_start("ob_gzhandler"); -} - -// Enable caching -header('Cache-Control: public'); - -// Expire in one day -header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); - -// Set the correct MIME type, because Apache won't set it for us -header("Content-type: text/css"); - -// Write everything out -echo $contentCSS; +getQuery(true); + +$query->select('params') + ->from('#__extensions') + ->where('folder = "editors"') + ->where('element ="jckeditor"'); + +$db->setQuery($query); +$results = $db->loadResult(); + +$params = @ new JRegistry($results); + +//import plugins + +$contentCSS = $params->get('jcktypographycontent',''); + +// Remove comments +$contentCSS = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $contentCSS); + +// Remove space after colons +$contentCSS = str_replace(': ', ':', $contentCSS); + +// Remove whitespace +$contentCSS = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $contentCSS); + +// Enable GZip encoding. + +if(JFactory::getConfig()->get('gzip',false)) +{ + if(!ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') //if server is configured to do this then leave it the server to do it's stuff + ob_start("ob_gzhandler"); +} + +// Enable caching +header('Cache-Control: public'); + +// Expire in one day +header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); + +// Set the correct MIME type, because Apache won't set it for us +header("Content-type: text/css"); + +// Write everything out +echo $contentCSS; ?> \ No newline at end of file diff --git a/deployed/jckman/plugins/system/jckmodal/jckmodal.php b/deployed/jckman/plugins/system/jckmodal/jckmodal.php index ffa7a286..bcd2b7a8 100644 --- a/deployed/jckman/plugins/system/jckmodal/jckmodal.php +++ b/deployed/jckman/plugins/system/jckmodal/jckmodal.php @@ -1,34 +1,34 @@ -isSite() ) - { - JHtml::_('behavior.framework'); // -PC- [#2504] - JHTML::_('behavior.modal'); - }//end - - }//end function onAfterInitialise +isSite() ) + { + JHtml::_('behavior.framework'); // -PC- [#2504] + JHTML::_('behavior.modal'); + }//end + + }//end function onAfterInitialise }//end class plgSystemJCKModal \ No newline at end of file diff --git a/deployed/jckman/plugins/system/jckmodal/jckmodal.xml b/deployed/jckman/plugins/system/jckmodal/jckmodal.xml index 8fd9be6e..79233675 100644 --- a/deployed/jckman/plugins/system/jckmodal/jckmodal.xml +++ b/deployed/jckman/plugins/system/jckmodal/jckmodal.xml @@ -1,17 +1,17 @@ - - - System - JCK Modal - WebxSolution Ltd - April 2011 - Copyright 2011 WebxSolution Ltd. All rights reserved. - GPL - studio@webxsolution.com - www.webxsolution.com - 1.1 - Forces Joomla to initialise the Modal JS classes required by JTree Link's modal option. - - jckmodal.php - index.html - - + + + System - JCK Modal + WebxSolution Ltd + April 2011 + Copyright 2011 WebxSolution Ltd. All rights reserved. + GPL + studio@webxsolution.com + www.webxsolution.com + 1.1 + Forces Joomla to initialise the Modal JS classes required by JTree Link's modal option. + + jckmodal.php + index.html + + \ No newline at end of file diff --git a/deployed/jckman/plugins/system/jcktypography/jcktypography.php b/deployed/jckman/plugins/system/jcktypography/jcktypography.php index b9d5d177..5c33675f 100644 --- a/deployed/jckman/plugins/system/jcktypography/jcktypography.php +++ b/deployed/jckman/plugins/system/jcktypography/jcktypography.php @@ -1,88 +1,88 @@ -isAdmin()) { - return; - } - - if(!file_exists(JPATH_PLUGINS.'/editors/jckeditor')) { - return; - } - - $doc = JFactory::getDocument(); - - if($doc->getType() != 'html') { //If not correct document type exit - return; - } - - $db = JFactory::getDbo(); - $query = $db->getQuery(true); - $query->select('params') - ->from('#__extensions') - ->where('folder =' . $db->Quote('editors')) - ->where('element =' .$db->Quote('jckeditor')); - - $result = $db->setQuery($query)->loadResult(); - - if(is_string($result)) //always must do this check - $params = @ new JRegistry($result); - else - return; - - - if(!$params->get('jcktypography', false)) - { - return; // nothing to do - } - - if(!$params->get('jcktypographycontent', '')) - { - return; // nothing to do - } - - $data = $doc->getHeadData(); - $stylesheet = array(); - $url = JURI::base(true).'/plugins/editors/jckeditor/typography/typography2.php'; - $stylesheet[$url]['mime'] = 'text/css'; - $stylesheet[$url]['media'] = null; - $stylesheet[$url]['attribs'] = array(); - $data['styleSheets'] = $stylesheet + $data['styleSheets']; - $doc->setHeadData($data); - } -} +isAdmin()) { + return; + } + + if(!file_exists(JPATH_PLUGINS.'/editors/jckeditor')) { + return; + } + + $doc = JFactory::getDocument(); + + if($doc->getType() != 'html') { //If not correct document type exit + return; + } + + $db = JFactory::getDbo(); + $query = $db->getQuery(true); + $query->select('params') + ->from('#__extensions') + ->where('folder =' . $db->Quote('editors')) + ->where('element =' .$db->Quote('jckeditor')); + + $result = $db->setQuery($query)->loadResult(); + + if(is_string($result)) //always must do this check + $params = @ new JRegistry($result); + else + return; + + + if(!$params->get('jcktypography', false)) + { + return; // nothing to do + } + + if(!$params->get('jcktypographycontent', '')) + { + return; // nothing to do + } + + $data = $doc->getHeadData(); + $stylesheet = array(); + $url = JURI::base(true).'/plugins/editors/jckeditor/typography/typography2.php'; + $stylesheet[$url]['mime'] = 'text/css'; + $stylesheet[$url]['media'] = null; + $stylesheet[$url]['attribs'] = array(); + $data['styleSheets'] = $stylesheet + $data['styleSheets']; + $doc->setHeadData($data); + } +} diff --git a/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.js b/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.js index db64aa00..8fdf3382 100644 --- a/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.js +++ b/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.js @@ -1,18 +1,18 @@ -/*! -* Fine Uploader -* -* Copyright 2013, Widen Enterprises, Inc. info@fineuploader.com -* -* Version: 4.4.0 -* -* Homepage: http://fineuploader.com -* -* Repository: git://github.com/Widen/fine-uploader.git -* -* Licensed under GNU GPL v3, see LICENSE -*/ - - +/*! +* Fine Uploader +* +* Copyright 2013, Widen Enterprises, Inc. info@fineuploader.com +* +* Version: 4.4.0 +* +* Homepage: http://fineuploader.com +* +* Repository: git://github.com/Widen/fine-uploader.git +* +* Licensed under GNU GPL v3, see LICENSE +*/ + + /*globals window, navigator, document, FormData, File, HTMLInputElement, XMLHttpRequest, Blob, Storage, ActiveXObject */ /* jshint -W079 */ var qq = function(element) { @@ -870,7 +870,7 @@ var qq = function(element) { }; }; }()); - + /* globals qq */ /** * Fine Uploader top-level Error container. Inherits from `Error`. @@ -884,10 +884,10 @@ var qq = function(element) { qq.Error.prototype = new Error(); }()); - + /*global qq */ qq.version="4.4.0"; - + /* globals qq */ qq.supportedFeatures = (function () { "use strict"; @@ -1035,7 +1035,7 @@ qq.supportedFeatures = (function () { }; }()); - + /*globals qq*/ qq.Promise = function() { "use strict"; @@ -1116,7 +1116,7 @@ qq.Promise = function() { } }); }; - + /* globals qq */ /** * Placeholder for a Blob that will be generated on-demand. @@ -1136,7 +1136,7 @@ qq.BlobProxy = function(referenceBlob, onCreate) { } }); }; - + /*globals qq*/ /** @@ -1306,7 +1306,7 @@ qq.UploadButton = function(o) { }; qq.UploadButton.BUTTON_ID_ATTR_NAME = "qq-button-id"; - + /*globals qq */ qq.UploadData = function(uploaderProxy) { "use strict"; @@ -1478,7 +1478,7 @@ qq.status = { DELETING: "deleting", DELETED: "deleted" }; - + /*globals qq*/ /** * Defines the public API for FineUploaderBasic mode. @@ -3159,7 +3159,7 @@ qq.status = { } }; }()); - + /*globals qq*/ (function(){ "use strict"; @@ -3447,7 +3447,7 @@ qq.status = { qq.FineUploaderBasic.prototype = qq.basePublicApi; qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi); }()); - + /*globals qq, XDomainRequest*/ /** Generic class for sending non-upload ajax requests and handling the associated responses **/ qq.AjaxRequester = function (o) { @@ -3830,7 +3830,7 @@ qq.AjaxRequester = function (o) { } }); }; - + /*globals qq*/ /** * Base upload handler module. Delegates to more specific handlers. @@ -4212,7 +4212,7 @@ qq.UploadHandler = function(o, namespace) { determineHandlerImpl(); }; - + /* globals qq */ /** * Common APIs exposed to creators of upload via form/iframe handlers. This is reused and possibly overridden @@ -4545,7 +4545,7 @@ qq.AbstractUploadHandlerForm = function(spec) { } }); }; - + /* globals qq */ /** * Common API exposed to creators of XHR handlers. This is reused and possibly overriding in some cases by specific @@ -4748,7 +4748,7 @@ qq.AbstractUploadHandlerXhr = function(spec) { } }); }; - + /*globals qq */ /*jshint -W117 */ qq.WindowReceiveMessage = function(o) { @@ -4785,7 +4785,7 @@ qq.WindowReceiveMessage = function(o) { } }); }; - + /*globals qq */ /** * Defines the public API for FineUploader mode. @@ -5479,7 +5479,7 @@ qq.WindowReceiveMessage = function(o) { } }; }()); - + /*globals qq */ /** * This defines FineUploader mode, which is a default UI w/ drag & drop uploading. @@ -5650,7 +5650,7 @@ qq.extend(qq.FineUploader.prototype, qq.basePrivateApi); // Add the FineUploader/default UI public & private UI methods, which may override some base methods. qq.extend(qq.FineUploader.prototype, qq.uiPublicApi); qq.extend(qq.FineUploader.prototype, qq.uiPrivateApi); - + /* globals qq */ /* jshint -W065 */ /** @@ -6468,7 +6468,7 @@ qq.Templating = function(spec) { } }); }; - + /*globals qq*/ /** * Upload handler used that assumes the current user agent does not have any support for the @@ -6601,7 +6601,7 @@ qq.UploadHandlerForm = function(options, proxy) { } }); }; - + /*globals qq*/ /** * Upload handler used to upload to traditional endpoints. It depends on File API support, and, therefore, @@ -7231,7 +7231,7 @@ qq.UploadHandlerXhr = function(spec, proxy) { }; }); }; - + /*globals qq*/ qq.PasteSupport = function(o) { "use strict"; @@ -7281,7 +7281,7 @@ qq.PasteSupport = function(o) { } }); }; - + /*globals qq, document, CustomEvent*/ qq.DragAndDrop = function(o) { "use strict"; @@ -7747,7 +7747,7 @@ qq.UploadDropZone = function(o){ } }); }; - + /*globals qq, XMLHttpRequest*/ qq.DeleteFileAjaxRequester = function(o) { "use strict"; @@ -7819,7 +7819,7 @@ qq.DeleteFileAjaxRequester = function(o) { } }); }; - + /*global qq, define */ /*jshint strict:false,bitwise:false,nonew:false,asi:true,-W064,-W116,-W089 */ /** @@ -8093,7 +8093,7 @@ qq.DeleteFileAjaxRequester = function(o) { } })(); - + /*globals qq, MegaPixImage */ /** * Draws a thumbnail of a Blob/File/URL onto an or . @@ -8399,7 +8399,7 @@ qq.ImageGenerator = function(log) { this._testing.determineMimeOfFileName = determineMimeOfFileName; /**/ }; - + /*globals qq */ /** * EXIF image data parser. Currently only parses the Orientation tag value, @@ -8607,7 +8607,7 @@ qq.Exif = function(fileOrBlob, log) { this._testing.parseLittleEndian = parseLittleEndian; /**/ }; - + /*globals qq */ qq.Identify = function(fileOrBlob, log) { "use strict"; @@ -8717,7 +8717,7 @@ qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = { "image/bmp": "424d", "image/tiff": ["49492a00", "4d4d002a"] }; - + /*globals qq*/ /** * Attempts to validate an image, wherever possible. @@ -8852,7 +8852,7 @@ qq.ImageValidation = function(blob, log) { return validationEffort; }; }; - + /* globals qq */ /** * Module used to control populating the initial list of files. @@ -8934,7 +8934,7 @@ qq.Session = function(spec) { return refreshEffort; }; }; - + /*globals qq, XMLHttpRequest*/ /** * Thin module used to send GET requests to the server, expecting information about session @@ -9006,7 +9006,7 @@ qq.SessionAjaxRequester = function(spec) { } }); }; - + /* globals qq */ /** * Module that handles support for existing forms. @@ -9169,7 +9169,7 @@ qq.extend(qq.FormSupport.prototype, { return obj; } }); - + /* globals qq, ExifRestorer */ /** * Controls generation of scaled images based on a reference image encapsulated in a `File` or `Blob`. @@ -9619,7 +9619,7 @@ qq.extend(qq.Scaler.prototype, { } } }); - + //Based on MinifyJpeg //http://elicon.blog57.fc2.com/blog-entry-206.html @@ -9803,7 +9803,7 @@ var ExifRestorer = (function() return ExifRestorer; })(); - + /* globals qq */ /** * Keeps a running tally of total upload progress for a batch of files. @@ -9919,7 +9919,7 @@ qq.TotalProgress = function(callback, getSize) { } }); }; - + /*globals qq */ // Base handler for UI (FineUploader mode) events. // Some more specific handlers inherit from this one. @@ -9976,7 +9976,7 @@ qq.UiEventHandler = function(s, protectedApi) { addHandler(spec.attachTo); } }; - + /* global qq */ qq.FileButtonsClickHandler = function(s) { "use strict"; @@ -10023,7 +10023,7 @@ qq.FileButtonsClickHandler = function(s) { qq.extend(this, new qq.UiEventHandler(spec, inheritedInternalApi)); }; - + /*globals qq */ // Child of FilenameEditHandler. Used to detect click events on filename display elements. qq.FilenameClickHandler = function(s) { @@ -10064,7 +10064,7 @@ qq.FilenameClickHandler = function(s) { qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi)); }; - + /*globals qq */ // Child of FilenameEditHandler. Used to detect focusin events on file edit input elements. qq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) { @@ -10099,7 +10099,7 @@ qq.FilenameInputFocusInHandler = function(s, inheritedInternalApi) { qq.extend(spec, s); qq.extend(this, new qq.FilenameEditHandler(spec, inheritedInternalApi)); }; - + /*globals qq */ /** * Child of FilenameInputFocusInHandler. Used to detect focus events on file edit input elements. This child module is only @@ -10115,7 +10115,7 @@ qq.FilenameInputFocusHandler = function(spec) { qq.extend(this, new qq.FilenameInputFocusInHandler(spec, {})); }; - + /*globals qq */ // Handles edit-related events on a file item (FineUploader mode). This is meant to be a parent handler. // Children will delegate to this handler when specific edit-related actions are detected. @@ -10208,5 +10208,5 @@ qq.FilenameEditHandler = function(s, inheritedInternalApi) { } }); }; - -/*! 2014-04-27 */ + +/*! 2014-04-27 */ diff --git a/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.min.js b/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.min.js index 2eaed99d..259044a0 100644 --- a/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.min.js +++ b/deployed/joomgallery/media/joomgallery/js/fineuploader/js/fineuploader.min.js @@ -1,20 +1,20 @@ -/*! -* Fine Uploader -* -* Copyright 2013, Widen Enterprises, Inc. info@fineuploader.com -* -* Version: 4.4.0 -* -* Homepage: http://fineuploader.com -* -* Repository: git://github.com/Widen/fine-uploader.git -* -* Licensed under GNU GPL v3, see LICENSE -*/ - - +/*! +* Fine Uploader +* +* Copyright 2013, Widen Enterprises, Inc. info@fineuploader.com +* +* Version: 4.4.0 +* +* Homepage: http://fineuploader.com +* +* Repository: git://github.com/Widen/fine-uploader.git +* +* Licensed under GNU GPL v3, see LICENSE +*/ + + var qq=function(a){"use strict";return{hide:function(){return a.style.display="none",this},attach:function(b,c){return a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c),function(){qq(a).detach(b,c)}},detach:function(b,c){return a.removeEventListener?a.removeEventListener(b,c,!1):a.attachEvent&&a.detachEvent("on"+b,c),this},contains:function(b){return b?a===b?!0:a.contains?a.contains(b):!!(8&b.compareDocumentPosition(a)):!1},insertBefore:function(b){return b.parentNode.insertBefore(a,b),this},remove:function(){return a.parentNode.removeChild(a),this},css:function(b){if(null==a.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=b.opacity&&"string"!=typeof a.style.opacity&&"undefined"!=typeof a.filters&&(b.filter="alpha(opacity="+Math.round(100*b.opacity)+")"),qq.extend(a.style,b),this},hasClass:function(b){var c=new RegExp("(^| )"+b+"( |$)");return c.test(a.className)},addClass:function(b){return qq(a).hasClass(b)||(a.className+=" "+b),this},removeClass:function(b){var c=new RegExp("(^| )"+b+"( |$)");return a.className=a.className.replace(c," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(b){var c,d=[];return a.querySelectorAll?a.querySelectorAll("."+b):(c=a.getElementsByTagName("*"),qq.each(c,function(a,c){qq(c).hasClass(b)&&d.push(c)}),d)},children:function(){for(var b=[],c=a.firstChild;c;)1===c.nodeType&&b.push(c),c=c.nextSibling;return b},setText:function(b){return a.innerText=b,a.textContent=b,this},clearText:function(){return qq(a).setText("")},hasAttribute:function(b){var c;return a.hasAttribute?a.hasAttribute(b)?null==/^false$/i.exec(a.getAttribute(b)):!1:(c=a[b],void 0===c?!1:null==/^false$/i.exec(c))}}};!function(){"use strict";qq.log=function(a,b){window.console&&(b&&"info"!==b?window.console[b]?window.console[b](a):window.console.log("<"+b+"> "+a):window.console.log(a))},qq.isObject=function(a){return a&&!a.nodeType&&"[object Object]"===Object.prototype.toString.call(a)},qq.isFunction=function(a){return"function"==typeof a},qq.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)||a&&window.ArrayBuffer&&a.buffer&&a.buffer.constructor===ArrayBuffer},qq.isItemList=function(a){return"[object DataTransferItemList]"===Object.prototype.toString.call(a)},qq.isNodeList=function(a){return"[object NodeList]"===Object.prototype.toString.call(a)||a.item&&a.namedItem},qq.isString=function(a){return"[object String]"===Object.prototype.toString.call(a)},qq.trimStr=function(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")},qq.format=function(a){var b=Array.prototype.slice.call(arguments,1),c=a,d=c.indexOf("{}");return qq.each(b,function(a,b){var e=c.substring(0,d),f=c.substring(d+2);return c=e+b+f,d=c.indexOf("{}",d+b.length),0>d?!1:void 0}),c},qq.isFile=function(a){return window.File&&"[object File]"===Object.prototype.toString.call(a)},qq.isFileList=function(a){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(a)},qq.isFileOrInput=function(a){return qq.isFile(a)||qq.isInput(a)},qq.isInput=function(a,b){var c=function(a){var c=a.toLowerCase();return b?"file"!==c:"file"===c};return window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(a)&&a.type&&c(a.type)?!0:a.tagName&&"input"===a.tagName.toLowerCase()&&a.type&&c(a.type)?!0:!1},qq.isBlob=function(a){return window.Blob&&"[object Blob]"===Object.prototype.toString.call(a)?!0:void 0},qq.isXhrUploadSupported=function(){var a=document.createElement("input");return a.type="file",void 0!==a.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&"undefined"!=typeof qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(a){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(a){return a.items&&a.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(a,b,c){var d=a.slice||a.mozSlice||a.webkitSlice;return d.call(a,b,c)},qq.arrayBufferToHex=function(a){var b="",c=new Uint8Array(a);return qq.each(c,function(a,c){var d=c.toString(16);d.length<2&&(d="0"+d),b+=d}),b},qq.readBlobToHex=function(a,b,c){var d=qq.sliceBlob(a,b,b+c),e=new FileReader,f=new qq.Promise;return e.onload=function(){f.success(qq.arrayBufferToHex(e.result))},e.onerror=f.failure,e.readAsArrayBuffer(d),f},qq.extend=function(a,b,c){return qq.each(b,function(b,d){c&&qq.isObject(d)?(void 0===a[b]&&(a[b]={}),qq.extend(a[b],d,!0)):a[b]=d}),a},qq.override=function(a,b){var c={},d=b(c);return qq.each(d,function(b,d){void 0!==a[b]&&(c[b]=a[b]),a[b]=d}),a},qq.indexOf=function(a,b,c){if(a.indexOf)return a.indexOf(b,c);c=c||0;var d=a.length;for(0>c&&(c+=d);d>c;c+=1)if(a.hasOwnProperty(c)&&a[c]===b)return c;return-1},qq.getUniqueId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})},qq.ie=function(){return-1!==navigator.userAgent.indexOf("MSIE")},qq.ie7=function(){return-1!==navigator.userAgent.indexOf("MSIE 7")},qq.ie10=function(){return-1!==navigator.userAgent.indexOf("MSIE 10")},qq.ie11=function(){return-1!==navigator.userAgent.indexOf("Trident")&&-1!==navigator.userAgent.indexOf("rv:11")},qq.safari=function(){return void 0!==navigator.vendor&&-1!==navigator.vendor.indexOf("Apple")},qq.chrome=function(){return void 0!==navigator.vendor&&-1!==navigator.vendor.indexOf("Google")},qq.opera=function(){return void 0!==navigator.vendor&&-1!==navigator.vendor.indexOf("Opera")},qq.firefox=function(){return!qq.ie11()&&-1!==navigator.userAgent.indexOf("Mozilla")&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return-1!==navigator.userAgent.toLowerCase().indexOf("android")},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios7=function(){return qq.ios()&&-1!==navigator.userAgent.indexOf(" OS 7_")},qq.ios=function(){return-1!==navigator.userAgent.indexOf("iPad")||-1!==navigator.userAgent.indexOf("iPod")||-1!==navigator.userAgent.indexOf("iPhone")},qq.preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},qq.toElement=function(){var a=document.createElement("div");return function(b){a.innerHTML=b;var c=a.firstChild;return a.removeChild(c),c}}(),qq.each=function(a,b){var c,d;if(a)if(window.Storage&&a.constructor===window.Storage)for(c=0;c0?a.substr(b,a.length-b):void 0},qq.getFilename=function(a){return qq.isInput(a)?a.value.replace(/.*(\/|\\)/,""):qq.isFile(a)&&null!==a.fileName&&void 0!==a.fileName?a.fileName:a.name},qq.DisposeSupport=function(){var a=[];return{dispose:function(){var b;do b=a.shift(),b&&b();while(b)},attach:function(){var a=arguments;this.addDisposer(qq(a[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(b){a.push(b)}}}}(),function(){"use strict";qq.Error=function(a){this.message="[Fine Uploader "+qq.version+"] "+a},qq.Error.prototype=new Error}(),qq.version="4.4.0",qq.supportedFeatures=function(){"use strict";function a(){var a,b=!0;try{a=document.createElement("input"),a.type="file",qq(a).hide(),a.disabled&&(b=!1)}catch(c){b=!1}return b}function b(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/)}function c(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function d(){if(window.XMLHttpRequest){var a=qq.createXhrInstance();return void 0!==a.withCredentials}return!1}function e(){return void 0!==window.XDomainRequest}function f(){return d()?!0:e()}function g(){return void 0!==document.createElement("input").webkitdirectory}var h,i,j,k,l,m,n,o,p,q,r,s,t,u;return h=a(),j=h&&qq.isXhrUploadSupported(),i=j&&!qq.androidStock(),k=j&&b(),l=j&&qq.isFileChunkingSupported(),m=j&&l&&qq.areCookiesEnabled(),n=j&&c(),o=h&&(void 0!==window.postMessage||j),q=d(),p=e(),r=f(),s=g(),t=j&&void 0!==window.FileReader,u=function(){return j?!(qq.androidStock()||qq.ios()&&navigator.userAgent.indexOf("CriOS")>=0):!1}(),{ajaxUploading:j,blobUploading:i,canDetermineSize:j,chunking:l,deleteFileCors:r,deleteFileCorsXdr:p,deleteFileCorsXhr:q,fileDrop:j,folderDrop:k,folderSelection:s,imagePreviews:t,imageValidation:t,itemSizeValidation:j,pause:l,progressBar:u,resume:m,scaling:t&&i,tiffPreviews:qq.safari(),uploading:h,uploadCors:o,uploadCustomHeaders:j,uploadNonMultipart:j,uploadViaPaste:n}}(),qq.Promise=function(){"use strict";var a,b,c=[],d=[],e=[],f=0;qq.extend(this,{then:function(e,g){return 0===f?(e&&c.push(e),g&&d.push(g)):-1===f?g&&g.apply(null,b):e&&e.apply(null,a),this},done:function(c){return 0===f?e.push(c):c.apply(null,void 0===b?a:b),this},success:function(){return f=1,a=arguments,c.length&&qq.each(c,function(b,c){c.apply(null,a)}),e.length&&qq.each(e,function(b,c){c.apply(null,a)}),this},failure:function(){return f=-1,b=arguments,d.length&&qq.each(d,function(a,c){c.apply(null,b)}),e.length&&qq.each(e,function(a,c){c.apply(null,b)}),this}})},qq.BlobProxy=function(a,b){"use strict";qq.extend(this,{referenceBlob:a,create:function(){return b(a)}})},qq.UploadButton=function(a){"use strict";function b(){var a=document.createElement("input");return a.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME,d),f.multiple&&a.setAttribute("multiple",""),f.folders&&qq.supportedFeatures.folderSelection&&a.setAttribute("webkitdirectory",""),f.acceptFiles&&a.setAttribute("accept",f.acceptFiles),a.setAttribute("type","file"),a.setAttribute("name",f.name),qq(a).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),f.element.appendChild(a),e.attach(a,"change",function(){f.onChange(a)}),e.attach(a,"mouseover",function(){qq(f.element).addClass(f.hoverClass)}),e.attach(a,"mouseout",function(){qq(f.element).removeClass(f.hoverClass)}),e.attach(a,"focus",function(){qq(f.element).addClass(f.focusClass)}),e.attach(a,"blur",function(){qq(f.element).removeClass(f.focusClass)}),window.attachEvent&&a.setAttribute("tabIndex","-1"),a}var c,d,e=new qq.DisposeSupport,f={element:null,multiple:!1,acceptFiles:null,folders:!1,name:"qqfile",onChange:function(){},hoverClass:"qq-upload-button-hover",focusClass:"qq-upload-button-focus"};qq.extend(f,a),d=qq.getUniqueId(),qq(f.element).css({position:"relative",overflow:"hidden",direction:"ltr"}),c=b(),qq.extend(this,{getInput:function(){return c},getButtonId:function(){return d},setMultiple:function(a){a!==f.multiple&&(a?c.setAttribute("multiple",""):c.removeAttribute("multiple"))},setAcceptFiles:function(a){a!==f.acceptFiles&&c.setAttribute("accept",a)},reset:function(){c.parentNode&&qq(c).remove(),qq(f.element).removeClass(f.focusClass),c=b()}})},qq.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id",qq.UploadData=function(a){"use strict";function b(a){if(qq.isArray(a)){var b=[];return qq.each(a,function(a,c){b.push(e[c])}),b}return e[a]}function c(a){if(qq.isArray(a)){var b=[];return qq.each(a,function(a,c){b.push(e[f[c]])}),b}return e[f[a]]}function d(a){var b=[],c=[].concat(a);return qq.each(c,function(a,c){var d=g[c];void 0!==d&&qq.each(d,function(a,c){b.push(e[c])})}),b}var e=[],f={},g={};qq.extend(this,{addFile:function(b,c,d,h){h=h||qq.status.SUBMITTING;var i=e.push({name:c,originalName:c,uuid:b,size:d,status:h})-1;return e[i].id=i,f[b]=i,void 0===g[h]&&(g[h]=[]),g[h].push(i),a.onStatusChange(i,null,h),i},retrieve:function(a){return qq.isObject(a)&&e.length?void 0!==a.id?b(a.id):void 0!==a.uuid?c(a.uuid):a.status?d(a.status):void 0:qq.extend([],e,!0)},reset:function(){e=[],f={},g={}},setStatus:function(b,c){var d=e[b].status,f=qq.indexOf(g[d],b);g[d].splice(f,1),e[b].status=c,void 0===g[c]&&(g[c]=[]),g[c].push(b),a.onStatusChange(b,d,c)},uuidChanged:function(a,b){var c=e[a].uuid;e[a].uuid=b,f[b]=a,delete f[c]},updateName:function(a,b){e[a].name=b},updateSize:function(a,b){e[a].size=b},setParentId:function(a,b){e[a].parentId=b},setGroupIds:function(a,b){e[a].groupIds=b}})},qq.status={SUBMITTING:"submitting",SUBMITTED:"submitted",REJECTED:"rejected",QUEUED:"queued",CANCELED:"canceled",PAUSED:"paused",UPLOADING:"uploading",UPLOAD_RETRYING:"retrying upload",UPLOAD_SUCCESSFUL:"upload successful",UPLOAD_FAILED:"upload failed",DELETE_FAILED:"delete failed",DELETING:"deleting",DELETED:"deleted"},function(){"use strict";qq.basePublicApi={log:function(a,b){!this._options.debug||b&&"info"!==b?b&&"info"!==b&&qq.log("[Fine Uploader "+qq.version+"] "+a,b):qq.log("[Fine Uploader "+qq.version+"] "+a)},setParams:function(a,b){this._paramsStore.set(a,b)},setDeleteFileParams:function(a,b){this._deleteFileParamsStore.set(a,b)},setEndpoint:function(a,b){this._endpointStore.set(a,b)},getInProgress:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED]}).length},getNetUploads:function(){return this._netUploaded},uploadStoredFiles:function(){var a;if(0===this._storedIds.length)this._itemError("noFilesError");else for(;this._storedIds.length;)a=this._storedIds.shift(),this._uploadFile(a)},clearStoredFiles:function(){this._storedIds=[]},retry:function(a){return this._manualRetry(a)},cancel:function(a){this._handler.cancel(a)},cancelAll:function(){var a=[],b=this;qq.extend(a,this._storedIds),qq.each(a,function(a,c){b.cancel(c)}),this._handler.cancelAll()},reset:function(){this.log("Resetting uploader..."),this._handler.reset(),this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],qq.each(this._buttons,function(a,b){b.reset()}),this._paramsStore.reset(),this._endpointStore.reset(),this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData.reset(),this._buttonIdsForFileIds=[],this._pasteHandler&&this._pasteHandler.reset(),this._options.session.refreshOnReset&&this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._totalProgress&&this._totalProgress.reset()},addFiles:function(a,b,c){var d,e,f,g=[];if(a){for(qq.isFileList(a)||(a=[].concat(a)),d=0;d0,maxSize:c>0?c:null};return!d&&qq.supportedFeatures.imagePreviews&&(e=this.getFile(a)),null==e?(new qq.Promise).failure(b,"File or URL not found."):this._imageGenerator.generate(e,b,f)}},pauseUpload:function(a){var b=this._uploadData.retrieve({id:a});if(!qq.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(qq.indexOf([qq.status.UPLOADING,qq.status.UPLOAD_RETRYING],b.status)>=0){if(this._handler.pause(a))return this._uploadData.setStatus(a,qq.status.PAUSED),!0;qq.log(qq.format("Unable to pause file ID {} ({}).",a,this.getName(a)),"error")}else qq.log(qq.format("Ignoring pause for file ID {} ({}). Not in progress.",a,this.getName(a)),"error");return!1},continueUpload:function(a){var b=this._uploadData.retrieve({id:a});return qq.supportedFeatures.pause&&this._options.chunking.enabled?b.status===qq.status.PAUSED?(qq.log(qq.format("Paused file ID {} ({}) will be continued. Not paused.",a,this.getName(a))),this._uploadFile(a),!0):(qq.log(qq.format("Ignoring continue for file ID {} ({}). Not paused.",a,this.getName(a)),"error"),!1):!1},getRemainingAllowedItems:function(){var a=this._options.validation.itemLimit;return a>0?this._options.validation.itemLimit-this._netUploadedOrQueued:null},scaleImage:function(a,b){var c=this;return qq.Scaler.prototype.scaleImage(a,b,{log:qq.bind(c.log,c),getFile:qq.bind(c.getFile,c),uploadData:c._uploadData})},getParentId:function(a){var b=this.getUploads({id:a}),c=null;return b&&void 0!==b.parentId&&(c=b.parentId),c}},qq.basePrivateApi={_initFormSupportAndParams:function(){this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm?(this._paramsStore=this._createStore(this._options.request.params,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&(this._options.request.endpoint=this._formSupport.newEndpoint)):this._paramsStore=this._createStore(this._options.request.params)},_uploadFile:function(a){this._handler.upload(a)||this._uploadData.setStatus(a,qq.status.QUEUED)},_refreshSessionData:function(){var a=this,b=this._options.session;qq.Session&&null!=this._options.session.endpoint&&(this._session||(qq.extend(b,this._options.cors),b.log=qq.bind(this.log,this),b.addFileRecord=qq.bind(this._addCannedFile,this),this._session=new qq.Session(b)),setTimeout(function(){a._session.refresh().then(function(b,c){a._options.callbacks.onSessionRequestComplete(b,!0,c)},function(b,c){a._options.callbacks.onSessionRequestComplete(b,!1,c)})},0))},_addCannedFile:function(a){var b=this._uploadData.addFile(a.uuid,a.name,a.size,qq.status.UPLOAD_SUCCESSFUL);return a.deleteFileEndpoint&&this.setDeleteFileEndpoint(a.deleteFileEndpoint,b),a.deleteFileParams&&this.setDeleteFileParams(a.deleteFileParams,b),a.thumbnailUrl&&(this._thumbnailUrls[b]=a.thumbnailUrl),this._netUploaded++,this._netUploadedOrQueued++,b},_handleNewFile:function(a,b){var c=this,d=qq.getUniqueId(),e=-1,f=qq.getFilename(a),g=a.blob||a,h=this._customNewFileHandler?this._customNewFileHandler:qq.bind(c._handleNewFileGeneric,c);g.size>=0&&(e=g.size),h(g,f,d,e,b,this._options.request.uuidName,{uploadData:c._uploadData,paramsStore:c._paramsStore,addFileToHandler:function(a,b){c._handler.add(a,b),c._netUploadedOrQueued++,c._trackButton(a)}})},_handleNewFileGeneric:function(a,b,c,d,e){var f=this._uploadData.addFile(c,b,d);this._handler.add(f,a),this._trackButton(f),this._netUploadedOrQueued++,e.push({id:f,file:a})},_trackButton:function(a){var b;b=qq.supportedFeatures.ajaxUploading?this._handler.getFile(a).qqButtonId:this._getButtonId(this._handler.getInput(a)),b&&(this._buttonIdsForFileIds[a]=b)},_generateExtraButtonSpecs:function(){var a=this;this._extraButtonSpecs={},qq.each(this._options.extraButtons,function(b,c){var d=c.multiple,e=qq.extend({},a._options.validation,!0),f=qq.extend({},c);void 0===d&&(d=a._options.multiple),f.validation&&qq.extend(e,c.validation,!0),qq.extend(f,{multiple:d,validation:e},!0),a._initExtraButton(f)})},_initExtraButton:function(a){var b=this._createUploadButton({element:a.element,multiple:a.multiple,accept:a.validation.acceptFiles,folders:a.folders,allowedExtensions:a.validation.allowedExtensions});this._extraButtonSpecs[b.getButtonId()]=a},_getButtonId:function(a){var b,c,d=a;if(d instanceof qq.BlobProxy&&(d=d.referenceBlob),d&&!qq.isBlob(d)){if(qq.isFile(d))return d.qqButtonId;if("input"===d.tagName.toLowerCase()&&"file"===d.type.toLowerCase())return d.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);if(b=d.getElementsByTagName("input"),qq.each(b,function(a,b){return"file"===b.getAttribute("type")?(c=b,!1):void 0}),c)return c.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME)}},_annotateWithButtonId:function(a,b){qq.isFile(a)&&(a.qqButtonId=this._getButtonId(b))},_getButton:function(a){var b=this._extraButtonSpecs[a];return b?b.element:a===this._defaultButtonId?this._options.button:void 0},_handleCheckedCallback:function(a){var b=this,c=a.callback();return c instanceof qq.Promise?(this.log(a.name+" - waiting for "+a.name+" promise to be fulfilled for "+a.identifier),c.then(function(c){b.log(a.name+" promise success for "+a.identifier),a.onSuccess(c)},function(){a.onFailure?(b.log(a.name+" promise failure for "+a.identifier),a.onFailure()):b.log(a.name+" promise failure for "+a.identifier)})):(c!==!1?a.onSuccess(c):a.onFailure?(this.log(a.name+" - return value was 'false' for "+a.identifier+". Invoking failure callback."),a.onFailure()):this.log(a.name+" - return value was 'false' for "+a.identifier+". Will not proceed."),c)},_createUploadButton:function(a){function b(){return qq.supportedFeatures.ajaxUploading?qq.ios7()&&c._isAllowedExtension(e,".mov")?!1:void 0===a.multiple?c._options.multiple:a.multiple:!1}var c=this,d=a.accept||this._options.validation.acceptFiles,e=a.allowedExtensions||this._options.validation.allowedExtensions,f=new qq.UploadButton({element:a.element,folders:a.folders,name:this._options.request.inputName,multiple:b(),acceptFiles:d,onChange:function(a){c._onInputChange(a)},hoverClass:this._options.classes.buttonHover,focusClass:this._options.classes.buttonFocus});return this._disposeSupport.addDisposer(function(){f.dispose()}),c._buttons.push(f),f},_createUploadHandler:function(a,b){var c=this,d={debug:this._options.debug,maxConnections:this._options.maxConnections,cors:this._options.cors,demoMode:this._options.demoMode,paramsStore:this._paramsStore,endpointStore:this._endpointStore,chunking:this._options.chunking,resume:this._options.resume,blobs:this._options.blobs,log:qq.bind(c.log,c),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(a,b,d,e){c._onProgress(a,b,d,e),c._options.callbacks.onProgress(a,b,d,e)},onComplete:function(a,b,d,e){var f=c.getUploads({id:a}).status;if(f!==qq.status.UPLOAD_SUCCESSFUL&&f!==qq.status.UPLOAD_FAILED){var g=c._onComplete(a,b,d,e);g instanceof qq.Promise?g.done(function(){c._options.callbacks.onComplete(a,b,d,e)}):c._options.callbacks.onComplete(a,b,d,e)}},onCancel:function(a,b){return c._handleCheckedCallback({name:"onCancel",callback:qq.bind(c._options.callbacks.onCancel,c,a,b),onSuccess:qq.bind(c._onCancel,c,a,b),identifier:a})},onUploadPrep:qq.bind(this._onUploadPrep,this),onUpload:function(a,b){c._onUpload(a,b),c._options.callbacks.onUpload(a,b)},onUploadChunk:function(a,b,d){c._onUploadChunk(a,d),c._options.callbacks.onUploadChunk(a,b,d)},onUploadChunkSuccess:function(){c._options.callbacks.onUploadChunkSuccess.apply(c,arguments)},onResume:function(a,b,d){return c._options.callbacks.onResume(a,b,d)},onAutoRetry:function(){return c._onAutoRetry.apply(c,arguments)},onUuidChanged:function(a,b){c.log("Server requested UUID change from '"+c.getUuid(a)+"' to '"+b+"'"),c.setUuid(a,b)},getName:qq.bind(c.getName,c),getUuid:qq.bind(c.getUuid,c),getSize:qq.bind(c.getSize,c),setSize:qq.bind(c._setSize,c),getDataByUuid:function(a){return c.getUploads({uuid:a})},isQueued:function(a){var b=c.getUploads({id:a}).status;return b===qq.status.QUEUED||b===qq.status.SUBMITTED||b===qq.status.UPLOAD_RETRYING||b===qq.status.PAUSED},getIdsInGroup:function(a){return c.getUploads({id:a}).groupIds}};return qq.each(this._options.request,function(a,b){d[a]=b}),a&&qq.each(a,function(a,b){d[a]=b}),new qq.UploadHandler(d,b)},_createDeleteHandler:function(){var a=this;return new qq.DeleteFileAjaxRequester({method:this._options.deleteFile.method.toUpperCase(),maxConnections:this._options.maxConnections,uuidParamName:this._options.request.uuidName,customHeaders:this._options.deleteFile.customHeaders,paramsStore:this._deleteFileParamsStore,endpointStore:this._deleteFileEndpointStore,demoMode:this._options.demoMode,cors:this._options.cors,log:qq.bind(a.log,a),onDelete:function(b){a._onDelete(b),a._options.callbacks.onDelete(b)},onDeleteComplete:function(b,c,d){a._onDeleteComplete(b,c,d),a._options.callbacks.onDeleteComplete(b,c,d)}})},_createPasteHandler:function(){var a=this;return new qq.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:qq.bind(a.log,a),pasteReceived:function(b){a._handleCheckedCallback({name:"onPasteReceived",callback:qq.bind(a._options.callbacks.onPasteReceived,a,b),onSuccess:qq.bind(a._handlePasteSuccess,a,b),identifier:"pasted image"})}}})},_createUploadDataTracker:function(){var a=this;return new qq.UploadData({getName:function(b){return a.getName(b)},getUuid:function(b){return a.getUuid(b)},getSize:function(b){return a.getSize(b)},onStatusChange:function(b,c,d){a._onUploadStatusChange(b,c,d),a._options.callbacks.onStatusChange(b,c,d),a._maybeAllComplete(b,d),a._totalProgress&&setTimeout(function(){a._totalProgress.onStatusChange(b,c,d)},0)}})},_onUploadStatusChange:function(a,b,c){c===qq.status.PAUSED&&clearTimeout(this._retryTimeouts[a])},_handlePasteSuccess:function(a,b){var c=a.type.split("/")[1],d=b;null==d&&(d=this._options.paste.defaultName),d+="."+c,this.addBlobs({name:d,blob:a})},_preventLeaveInProgress:function(){var a=this;this._disposeSupport.attach(window,"beforeunload",function(b){return a.getInProgress()?(b=b||window.event,b.returnValue=a._options.messages.onLeave,a._options.messages.onLeave):void 0})},_onSubmit:function(){},_onProgress:function(a,b,c,d){this._totalProgress&&this._totalProgress.onIndividualProgress(a,c,d)},_onTotalProgress:function(a,b){this._options.callbacks.onTotalProgress(a,b)},_onComplete:function(a,b,c,d){return c.success?(c.thumbnailUrl&&(this._thumbnailUrls[a]=c.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(a,qq.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(a,qq.status.UPLOAD_FAILED),c[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[a]=!0)),this._maybeParseAndSendUploadError(a,b,c,d),c.success?!0:!1},_maybeAllComplete:function(a,b){var c=this,d=this._getNotFinished();b===qq.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(a):b===qq.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(a),0===d&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){c._onAllComplete(c._succeededSinceLastAllComplete,c._failedSinceLastAllComplete)},0)},_getNotFinished:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED,qq.status.SUBMITTING,qq.status.SUBMITTED,qq.status.PAUSED]}).length},_onAllComplete:function(a,b){this._totalProgress&&this._totalProgress.onAllComplete(a,b,this._preventRetries),this._options.callbacks.onAllComplete(qq.extend([],a),qq.extend([],b)),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[]},_onCancel:function(a){this._netUploadedOrQueued--,clearTimeout(this._retryTimeouts[a]);var b=qq.indexOf(this._storedIds,a);!this._options.autoUpload&&b>=0&&this._storedIds.splice(b,1),this._uploadData.setStatus(a,qq.status.CANCELED)},_isDeletePossible:function(){return qq.DeleteFileAjaxRequester&&this._options.deleteFile.enabled?this._options.cors.expected?qq.supportedFeatures.deleteFileCorsXhr?!0:qq.supportedFeatures.deleteFileCorsXdr&&this._options.cors.allowXdr?!0:!1:!0:!1},_onSubmitDelete:function(a,b,c){var d,e=this.getUuid(a);return b&&(d=qq.bind(b,this,a,e,c)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:qq.bind(this._options.callbacks.onSubmitDelete,this,a),onSuccess:d||qq.bind(this._deleteHandler.sendDelete,this,a,e,c),identifier:a}),!0):(this.log("Delete request ignored for ID "+a+", delete feature is disabled or request not possible due to CORS on a user agent that does not support pre-flighting.","warn"),!1)},_onDelete:function(a){this._uploadData.setStatus(a,qq.status.DELETING)},_onDeleteComplete:function(a,b,c){var d=this.getName(a);c?(this._uploadData.setStatus(a,qq.status.DELETE_FAILED),this.log("Delete request for '"+d+"' has failed.","error"),void 0===b.withCredentials?this._options.callbacks.onError(a,d,"Delete request failed",b):this._options.callbacks.onError(a,d,"Delete request failed with response code "+b.status,b)):(this._netUploadedOrQueued--,this._netUploaded--,this._handler.expunge(a),this._uploadData.setStatus(a,qq.status.DELETED),this.log("Delete request for '"+d+"' has succeeded.")) },_onUploadPrep:function(){},_onUpload:function(a){this._uploadData.setStatus(a,qq.status.UPLOADING)},_onUploadChunk:function(){},_onInputChange:function(a){var b;if(qq.supportedFeatures.ajaxUploading){for(b=0;b0&&this.addFiles(a);qq.each(this._buttons,function(a,b){b.reset()})},_onBeforeAutoRetry:function(a,b){this.log("Waiting "+this._options.retry.autoAttemptDelay+" seconds before retrying "+b+"...")},_onAutoRetry:function(a,b,c,d,e){var f=this;return f._preventRetries[a]=c[f._options.retry.preventRetryResponseProperty],f._shouldAutoRetry(a,b,c)?(f._maybeParseAndSendUploadError.apply(f,arguments),f._options.callbacks.onAutoRetry(a,b,f._autoRetries[a]+1),f._onBeforeAutoRetry(a,b),f._retryTimeouts[a]=setTimeout(function(){f.log("Retrying "+b+"..."),f._autoRetries[a]++,f._uploadData.setStatus(a,qq.status.UPLOAD_RETRYING),e?e(a):f._handler.retry(a)},1e3*f._options.retry.autoAttemptDelay),!0):void 0},_shouldAutoRetry:function(a){var b=this._uploadData.retrieve({id:a});return!this._preventRetries[a]&&this._options.retry.enableAuto&&b.status!==qq.status.PAUSED?(void 0===this._autoRetries[a]&&(this._autoRetries[a]=0),this._autoRetries[a]0&&this._netUploadedOrQueued+1>b?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+c+"' (id: "+a+")..."),!0)}return this.log("'"+a+"' is not a valid file ID","error"),!1},_manualRetry:function(a,b){return this._onBeforeManualRetry(a)?(this._netUploadedOrQueued++,this._uploadData.setStatus(a,qq.status.UPLOAD_RETRYING),b?b(a):this._handler.retry(a),!0):void 0},_maybeParseAndSendUploadError:function(a,b,c,d){if(!c.success)if(d&&200!==d.status&&!c.error)this._options.callbacks.onError(a,b,"XHR returned response code "+d.status,d);else{var e=c.error?c.error:this._options.text.defaultResponseError;this._options.callbacks.onError(a,b,e,d)}},_prepareItemsForUpload:function(a,b,c){if(0===a.length)return void this._itemError("noFilesError");var d=this._getValidationDescriptors(a),e=this._getButtonId(a[0].file),f=this._getButton(e);this._handleCheckedCallback({name:"onValidateBatch",callback:qq.bind(this._options.callbacks.onValidateBatch,this,d,f),onSuccess:qq.bind(this._onValidateBatchCallbackSuccess,this,d,a,b,c,f),onFailure:qq.bind(this._onValidateBatchCallbackFailure,this,a),identifier:"batch validation"})},_upload:function(a,b,c){var d=this.getName(a);b&&this.setParams(b,a),c&&this.setEndpoint(c,a),this._handleCheckedCallback({name:"onSubmit",callback:qq.bind(this._options.callbacks.onSubmit,this,a,d),onSuccess:qq.bind(this._onSubmitCallbackSuccess,this,a,d),onFailure:qq.bind(this._fileOrBlobRejected,this,a,d),identifier:a})},_onSubmitCallbackSuccess:function(a){this._onSubmit.apply(this,arguments),this._uploadData.setStatus(a,qq.status.SUBMITTED),this._onSubmitted.apply(this,arguments),this._options.callbacks.onSubmitted.apply(this,arguments),this._options.autoUpload?this._uploadFile(a):this._storeForLater(a)},_onSubmitted:function(){},_storeForLater:function(a){this._storedIds.push(a)},_onValidateBatchCallbackSuccess:function(a,b,c,d,e){var f,g=this._options.validation.itemLimit,h=this._netUploadedOrQueued;0===g||g>=h?b.length>0?this._handleCheckedCallback({name:"onValidate",callback:qq.bind(this._options.callbacks.onValidate,this,a[0],e),onSuccess:qq.bind(this._onValidateCallbackSuccess,this,b,0,c,d),onFailure:qq.bind(this._onValidateCallbackFailure,this,b,0,c,d),identifier:"Item '"+b[0].file.name+"', size: "+b[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(b),f=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,h).replace(/\{itemLimit\}/g,g),this._batchError(f))},_onValidateBatchCallbackFailure:function(a){var b=this;qq.each(a,function(a,c){b._fileOrBlobRejected(c.id)})},_onValidateCallbackSuccess:function(a,b,c,d){var e=this,f=b+1,g=this._getValidationDescriptor(a[b]);this._validateFileOrBlobData(a[b],g).then(function(){e._upload(a[b].id,c,d),e._maybeProcessNextItemAfterOnValidateCallback(!0,a,f,c,d)},function(){e._maybeProcessNextItemAfterOnValidateCallback(!1,a,f,c,d)})},_onValidateCallbackFailure:function(a,b,c,d){var e=b+1;this._fileOrBlobRejected(a[0].id,a[0].file.name),this._maybeProcessNextItemAfterOnValidateCallback(!1,a,e,c,d)},_maybeProcessNextItemAfterOnValidateCallback:function(a,b,c,d,e){var f=this;if(b.length>c)if(a||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var a=f._getValidationDescriptor(b[c]);f._handleCheckedCallback({name:"onValidate",callback:qq.bind(f._options.callbacks.onValidate,f,b[c].file),onSuccess:qq.bind(f._onValidateCallbackSuccess,f,b,c,d,e),onFailure:qq.bind(f._onValidateCallbackFailure,f,b,c,d,e),identifier:"Item '"+a.name+"', size: "+a.size})},0);else if(!a)for(;ch.sizeLimit?(this._itemError("sizeError",e,d),i.failure()):f&&f999);return Math.max(a,.1).toFixed(1)+this._options.text.sizeSymbols[b]},_wrapCallbacks:function(){var a,b;a=this,b=function(b,c,d){var e;try{return c.apply(a,d)}catch(f){e=f.message||f.toString(),a.log("Caught exception in '"+b+"' callback - "+e,"error")}};for(var c in this._options.callbacks)!function(){var d,e;d=c,e=a._options.callbacks[d],a._options.callbacks[d]=function(){return b(d,e,arguments)}}()},_getValidationDescriptors:function(a){var b=this,c=[];return qq.each(a,function(a,d){c.push(b._getValidationDescriptor(d))}),c},_getValidationDescriptor:function(a){return a.file instanceof qq.BlobProxy?{name:qq.getFilename(a.file.referenceBlob),size:a.file.referenceBlob.size}:{name:this.getUploads({id:a.id}).name,size:this.getUploads({id:a.id}).size}},_createStore:function(a,b){var c={},d=a,e={},f=function(a){return qq.isObject(a)?qq.extend({},a):a},g=function(){return qq.isFunction(b)?b():b},h=function(a,c){b&&qq.isObject(c)&&qq.extend(c,g()),e[a]&&qq.extend(c,e[a])};return{set:function(a,b){null==b?(c={},d=f(a)):c[b]=f(a)},get:function(a){var b;return b=null!=a&&c[a]?c[a]:f(d),h(a,b),f(b)},addReadOnly:function(a,b){qq.isObject(c)&&(e[a]=e[a]||{},qq.extend(e[a],b))},remove:function(a){return delete c[a]},reset:function(){c={},e={},d=a}}},_handleCameraAccess:function(){if(this._options.camera.ios&&qq.ios()){var a="image/*;capture=camera",b=this._options.camera.button,c=b?this._getButtonId(b):this._defaultButtonId,d=this._options;c&&c!==this._defaultButtonId&&(d=this._extraButtonSpecs[c]),d.multiple=!1,null===d.validation.acceptFiles?d.validation.acceptFiles=a:d.validation.acceptFiles+=","+a,qq.each(this._buttons,function(a,b){return b.getButtonId()===c?(b.setMultiple(d.multiple),b.setAcceptFiles(d.acceptFiles),!1):void 0})}},_getValidationBase:function(a){var b=this._extraButtonSpecs[a];return b?b.validation:this._options.validation},_setSize:function(a,b){this._uploadData.updateSize(a,b),this._totalProgress&&this._totalProgress.onNewSize(a)}}}(),function(){"use strict";qq.FineUploaderBasic=function(a){var b=this;this._options={debug:!1,button:null,multiple:!0,maxConnections:3,disableCancelForFormUploads:!1,autoUpload:!0,request:{endpoint:"/server/upload",params:{},paramsInBody:!0,customHeaders:{},forceMultipart:!0,inputName:"qqfile",uuidName:"qquuid",totalFileSizeName:"qqtotalfilesize",filenameParam:"qqfilename"},validation:{allowedExtensions:[],sizeLimit:0,minSizeLimit:0,itemLimit:0,stopOnFirstInvalidFile:!0,acceptFiles:null,image:{maxHeight:0,maxWidth:0,minHeight:0,minWidth:0}},callbacks:{onSubmit:function(){},onSubmitted:function(){},onComplete:function(){},onAllComplete:function(){},onCancel:function(){},onUpload:function(){},onUploadChunk:function(){},onUploadChunkSuccess:function(){},onResume:function(){},onProgress:function(){},onTotalProgress:function(){},onError:function(){},onAutoRetry:function(){},onManualRetry:function(){},onValidateBatch:function(){},onValidate:function(){},onSubmitDelete:function(){},onDelete:function(){},onDeleteComplete:function(){},onPasteReceived:function(){},onStatusChange:function(){},onSessionRequestComplete:function(){}},messages:{typeError:"{file} has an invalid extension. Valid extension(s): {extensions}.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",noFilesError:"No files to upload.",tooManyItemsError:"Too many items ({netItems}) would be uploaded. Item limit is {itemLimit}.",maxHeightImageError:"Image is too tall.",maxWidthImageError:"Image is too wide.",minHeightImageError:"Image is not tall enough.",minWidthImageError:"Image is not wide enough.",retryFailTooManyItems:"Retry failed - you have reached your file limit.",onLeave:"The files are being uploaded, if you leave now the upload will be canceled."},retry:{enableAuto:!1,maxAutoAttempts:3,autoAttemptDelay:5,preventRetryResponseProperty:"preventRetry"},classes:{buttonHover:"qq-upload-button-hover",buttonFocus:"qq-upload-button-focus"},chunking:{enabled:!1,partSize:2e6,paramNames:{partIndex:"qqpartindex",partByteOffset:"qqpartbyteoffset",chunkSize:"qqchunksize",totalFileSize:"qqtotalfilesize",totalParts:"qqtotalparts"}},resume:{enabled:!1,id:null,cookiesExpireIn:7,paramNames:{resuming:"qqresume"}},formatFileName:function(a){return void 0!==a&&a.length>33&&(a=a.slice(0,19)+"..."+a.slice(-14)),a},text:{defaultResponseError:"Upload failure reason unknown",sizeSymbols:["kB","MB","GB","TB","PB","EB"]},deleteFile:{enabled:!1,method:"DELETE",endpoint:"/server/upload",customHeaders:{},params:{}},cors:{expected:!1,sendCredentials:!1,allowXdr:!1},blobs:{defaultName:"misc_data"},paste:{targetElement:null,defaultName:"pasted_image"},camera:{ios:!1,button:null},extraButtons:[],session:{endpoint:null,params:{},customHeaders:{},refreshOnReset:!0},form:{element:"qq-form",autoUpload:!1,interceptSubmit:!0},scaling:{sendOriginal:!0,orient:!0,defaultType:null,defaultQuality:80,failureText:"Failed to scale",includeExif:!1,sizes:[]}},qq.extend(this._options,a,!0),this._buttons=[],this._extraButtonSpecs={},this._buttonIdsForFileIds=[],this._wrapCallbacks(),this._disposeSupport=new qq.DisposeSupport,this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData=this._createUploadDataTracker(),this._initFormSupportAndParams(),this._deleteFileParamsStore=this._createStore(this._options.deleteFile.params),this._endpointStore=this._createStore(this._options.request.endpoint),this._deleteFileEndpointStore=this._createStore(this._options.deleteFile.endpoint),this._handler=this._createUploadHandler(),this._deleteHandler=qq.DeleteFileAjaxRequester&&this._createDeleteHandler(),this._options.button&&(this._defaultButtonId=this._createUploadButton({element:this._options.button}).getButtonId()),this._generateExtraButtonSpecs(),this._handleCameraAccess(),this._options.paste.targetElement&&(qq.PasteSupport?this._pasteHandler=this._createPasteHandler():qq.log("Paste support module not found","info")),this._preventLeaveInProgress(),this._imageGenerator=qq.ImageGenerator&&new qq.ImageGenerator(qq.bind(this.log,this)),this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._scaler=qq.Scaler&&new qq.Scaler(this._options.scaling,qq.bind(this.log,this))||{},this._scaler.enabled&&(this._customNewFileHandler=qq.bind(this._scaler.handleNewFile,this._scaler)),qq.TotalProgress&&qq.supportedFeatures.progressBar&&(this._totalProgress=new qq.TotalProgress(qq.bind(this._onTotalProgress,this),function(a){var c=b._uploadData.retrieve({id:a});return c&&c.size||0}))},qq.FineUploaderBasic.prototype=qq.basePublicApi,qq.extend(qq.FineUploaderBasic.prototype,qq.basePrivateApi)}(),qq.AjaxRequester=function(a){"use strict";function b(){return qq.indexOf(["GET","POST","HEAD"],w.method)>=0}function c(){var a=!1;return qq.each(a,function(b,c){return qq.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],c)<0?(a=!0,!1):void 0}),a}function d(a){return w.cors.expected&&void 0===a.withCredentials}function e(){var a;return(window.XMLHttpRequest||window.ActiveXObject)&&(a=qq.createXhrInstance(),void 0===a.withCredentials&&(a=new XDomainRequest)),a}function f(a,b){var c=v[a].xhr;return c||b||(c=w.cors.expected?e():qq.createXhrInstance(),v[a].xhr=c),c}function g(a){var b,c=qq.indexOf(u,a),d=w.maxConnections;delete v[a],u.splice(c,1),u.length>=d&&d>c&&(b=u[d-1],j(b))}function h(a,b){var c=f(a),e=w.method,h=b===!0;g(a),h?s(e+" request for "+a+" has failed","error"):d(c)||q(c.status)||(h=!0,s(e+" request for "+a+" has failed - response code "+c.status,"error")),w.onComplete(a,c,h)}function i(a){var b,c=v[a].additionalParams,d=w.mandatedParams;return w.paramsStore.get&&(b=w.paramsStore.get(a)),c&&qq.each(c,function(a,c){b=b||{},b[a]=c}),d&&qq.each(d,function(a,c){b=b||{},b[a]=c}),b}function j(a){var b,c=f(a),e=w.method,g=i(a),h=v[a].payload;return w.onSend(a),b=k(a,g),d(c)?(c.onload=n(a),c.onerror=o(a)):c.onreadystatechange=l(a),m(a),c.open(e,b,!0),w.cors.expected&&w.cors.sendCredentials&&!d(c)&&(c.withCredentials=!0),p(a),s("Sending "+e+" request for "+a),h?c.send(h):t||!g?c.send():c.send(g&&w.contentType&&w.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded")>=0?qq.obj2url(g,""):g&&w.contentType&&w.contentType.toLowerCase().indexOf("application/json")>=0?JSON.stringify(g):g),c}function k(a,b){var c=w.endpointStore.get(a),d=v[a].addToPath;return void 0!=d&&(c+="/"+d),t&&b?qq.obj2url(b,c):c}function l(a){return function(){4===f(a).readyState&&h(a)}}function m(a){var b=w.onProgress;b&&(f(a).upload.onprogress=function(c){c.lengthComputable&&b(a,c.loaded,c.total)})}function n(a){return function(){h(a)}}function o(a){return function(){h(a,!0)}}function p(a){var e=f(a),g=w.customHeaders,h=v[a].additionalHeaders||{},i=w.method,j={};d(e)||(w.allowXRequestedWithAndCacheControl&&(w.cors.expected&&b()&&!c(g)||(e.setRequestHeader("X-Requested-With","XMLHttpRequest"),e.setRequestHeader("Cache-Control","no-cache"))),!w.contentType||"POST"!==i&&"PUT"!==i||e.setRequestHeader("Content-Type",w.contentType),qq.extend(j,qq.isFunction(g)?g(a):g),qq.extend(j,h),qq.each(j,function(a,b){e.setRequestHeader(a,b)}))}function q(a){return qq.indexOf(w.successfulResponseCodes[w.method],a)>=0}function r(a,b,c,d,e){v[a]={addToPath:b,additionalParams:c,additionalHeaders:d,payload:e};var f=u.push(a);return f<=w.maxConnections?j(a):void 0}var s,t,u=[],v={},w={validMethods:["POST"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],POST:[200,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(){},onSend:function(){},onComplete:function(){},onProgress:null};if(qq.extend(w,a),s=w.log,qq.indexOf(w.validMethods,w.method)<0)throw new Error("'"+w.method+"' is not a supported method for this type of request!");t="GET"===w.method||"DELETE"===w.method,qq.extend(this,{initTransport:function(a){var b,c,d,e,f;return{withPath:function(a){return b=a,this},withParams:function(a){return c=a,this},withHeaders:function(a){return d=a,this},withPayload:function(a){return e=a,this},withCacheBuster:function(){return f=!0,this},send:function(){return f&&qq.indexOf(["GET","DELETE"],w.method)>=0&&(c.qqtimestamp=(new Date).getTime()),r(a,b,c,d,e)}}},canceled:function(a){g(a)}})},qq.UploadHandler=function(a,b){"use strict";function c(a){return o.getProxy&&o.getProxy(a)||o.getFile&&o.getFile(a)}function d(a){return!!o.getFile(a)}function e(a){return m.isQueued(a)}function f(a){var b=m.getIdsInGroup(a),c=!1;return b&&b.length?(n("Maybe ready to upload grouped file "+a),qq.each(b,function(b,f){if(e(f)&&d(f))c=f===a,o.upload(f);else if(e(f))return!1})):(c=!0,o.upload(a)),c}function g(a,b){return b&&!o.getFile(a)&&b instanceof qq.BlobProxy?(m.onUploadPrep(a),n("Attempting to generate a blob on-demand for "+a),b.create().then(function(b){n("Generated an on-demand blob for "+a),o.updateBlob(a,b),m.setSize(a,b.size),o.reevaluateChunking(a),f(a)},function(b){var c={};b&&(c.error=b),n(qq.format("Failed to generate scaled version for ID {}. Error message: {}.",a,b),"error"),m.onComplete(a,m.getName(a),qq.extend(c,l),null),f(a),i(a)}),!1):f(a)}function h(a){var b=c(a);return b?g(a,b):(o.upload(a),!0)}function i(a){var b,d=qq.indexOf(p,a),e=m.maxConnections;c(a)instanceof qq.BlobProxy&&(n("Generated blob upload has ended for "+a+", disposing generated blob."),delete o._getFileState(a).file),d>=0&&(p.splice(d,1),p.length>=e&&e>d&&(b=p[e-1],h(b)))}function j(a){n("Cancelling "+a),m.paramsStore.remove(a),i(a)}function k(){var a=b?qq[b]:qq,c=qq.supportedFeatures.ajaxUploading?"Xhr":"Form";o=new a["UploadHandler"+c](m,{onUploadComplete:i,onUuidChanged:m.onUuidChanged,getName:m.getName,getUuid:m.getUuid,getSize:m.getSize,getDataByUuid:m.getDataByUuid,log:n})}var l,m,n,o,p=[];m={debug:!1,forceMultipart:!0,paramsInBody:!1,paramsStore:{},endpointStore:{},filenameParam:"qqfilename",cors:{expected:!1,sendCredentials:!1},maxConnections:3,uuidName:"qquuid",totalFileSizeName:"qqtotalfilesize",chunking:{enabled:!1,partSize:2e6,paramNames:{partIndex:"qqpartindex",partByteOffset:"qqpartbyteoffset",chunkSize:"qqchunksize",totalParts:"qqtotalparts",filename:"qqfilename"}},resume:{enabled:!1,id:null,cookiesExpireIn:7,paramNames:{resuming:"qqresume"}},log:function(){},onProgress:function(){},onComplete:function(){},onCancel:function(){},onUploadPrep:function(){},onUpload:function(){},onUploadChunk:function(){},onUploadChunkSuccess:function(){},onAutoRetry:function(){},onResume:function(){},onUuidChanged:function(){},getName:function(){},setSize:function(){},isQueued:function(){},getIdsInGroup:function(){}},qq.extend(m,a),l=function(){var a={};return a[m.preventRetryParam]=!0,a}(),n=m.log,qq.extend(this,{add:function(){return o.add.apply(this,arguments)},upload:function(a){var b=p.push(a);return b<=m.maxConnections?h(a):!1},retry:function(a){var b=qq.indexOf(p,a),d=c(a),e=d&&d instanceof qq.BlobProxy;return b>=0?e?h(a):o.upload(a,!0):this.upload(a)},cancel:function(a){var b=o.cancel(a);b instanceof qq.Promise?b.then(function(){j(a)}):b!==!1&&j(a)},cancelAll:function(){var a=this,b=[];qq.extend(b,p),qq.each(b,function(b,c){a.cancel(c)}),p=[]},getFile:function(a){return o.getProxy&&o.getProxy(a)?o.getProxy(a).referenceBlob:o.getFile&&o.getFile(a)},isProxied:function(a){return!(!o.getProxy||!o.getProxy(a))},getInput:function(a){return o.getInput?o.getInput(a):void 0},reset:function(){n("Resetting upload handler"),this.cancelAll(),p=[],o.reset()},expunge:function(a){return this.isValid(a)?o.expunge(a):void 0},isValid:function(a){return o.isValid(a)},getResumableFilesData:function(){return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(a){return o.getThirdPartyFileId&&this.isValid(a)?o.getThirdPartyFileId(a):void 0},pause:function(a){return this.isResumable(a)&&o.pause&&this.isValid(a)&&o.pause(a)?(i(a),!0):void 0},isResumable:function(a){return!!o.isResumable&&o.isResumable(a)}}),k()},qq.AbstractUploadHandlerForm=function(a){"use strict";function b(a){delete k[a],delete n[a],m&&(clearTimeout(l[a]),delete l[a],u.stopReceivingMessages(a));var b=document.getElementById(g._getIframeName(a));b&&(b.setAttribute("src","java"+String.fromCharCode(115)+"cript:false;"),qq(b).remove())}function c(a,b){var c=a.id,d=e(c),f=s(d);j[f]=b,k[d]=qq(a).attach("load",function(){n[d].input&&(t("Received iframe load event for CORS upload request (iframe name "+c+")"),l[c]=setTimeout(function(){var a="No valid message received from loaded iframe for iframe name "+c;t(a,"error"),b({error:a})},1e3))}),u.receiveMessage(c,function(a){t("Received the following window message: '"+a+"'");var b,d=e(c),f=g._parseJsonResponse(d,a),h=f.uuid;h&&j[h]?(t("Handling response for iframe name "+c),clearTimeout(l[c]),delete l[c],g._detachLoadEvent(c),b=j[h],delete j[h],u.stopReceivingMessages(c),b(f)):h||t("'"+a+"' does not contain a UUID - ignoring.")})}function d(a){var b=qq.toElement("') - .appendTo('body') - .on('load', function() { - self.dispatch('uploadProgressComplete', function() { - try { - var response = $.parseJSON( iframe.contents().find('body').html() ); - } catch(e) {} - - // Check for response - if (response) { - self.alert('', 'hide'); - self.uploadComplete(response); - } else - self.alert(self.i18n('parsererror'), 'error'); - - // Remove iframe & form - setTimeout(function() { - iframe.remove(); form.remove(); - parent.append(fileInputClone); - }, 100); - }); - }); - - // Create form - form = $('
        '); - form.prop('method', 'POST'); - form.prop('action', this.options.url); - form.prop('target', iframe.prop('name')); - form.prop('enctype', 'multipart/form-data'); - form.prop('encoding', 'multipart/form-data'); - form.prop({action: this.options.url, target: iframe.prop('name')}); - form.append(fileInput); - form.append(''); - - // Add custom data to the form - var data = this.getData(); - if (data) { - $.each(data, function (name, value) { - $('').prop('name', 'data['+name+']').val(value).appendTo(form); - }); - } - - // Append the form to body and submit - form.appendTo('body').trigger('submit'); - }, - - // Webcam snapshot - webcam: function() { - this.reset(); - - // Flash webcam fallback - if (!$.support.getUserMedia) - return this.flashWebcam(); - - // HTML5 Webcam with