diff --git a/custom/panel_templates/Default/CustomDropdown/edit_dropdown.tpl b/custom/panel_templates/Default/CustomDropdown/edit_dropdown.tpl old mode 100644 new mode 100755 index 0138774..57a12d5 --- a/custom/panel_templates/Default/CustomDropdown/edit_dropdown.tpl +++ b/custom/panel_templates/Default/CustomDropdown/edit_dropdown.tpl @@ -2,106 +2,109 @@ - -
+ +
- - {include file='sidebar.tpl'} + + {include file='sidebar.tpl'} - -
+ +
- -
+ +
- - {include file='navbar.tpl'} + + {include file='navbar.tpl'} - -
+ +
- -
+ +
-
-
-

{$TITLE}

-
-
-
- - -
-
-
-
-
{$EDITE_DROPDOWN}
-
- {$BACK} -
- -
- - {if isset($ERRORS) && !empty($ERRORS)} -
- -
{$ERRORS_TITLE}
-
    - {foreach from=$ERRORS item=error} -
  • {$error}
  • - {/foreach} -
+
+
+

{$TITLE}

+
+
- {/if} -
-
- - -
-
- - - -
-
- - -
-
- - -
-
- - -
-
+ +
+
+
+
+
{$EDITE_DROPDOWN}
+
+ {$BACK} +
+ +
+ + {if isset($ERRORS) && !empty($ERRORS)} +
+ +
{$ERRORS_TITLE}
+
    + {foreach from=$ERRORS item=error} +
  • {$error}
  • + {/foreach} +
+
+ {/if} + +
+
+ + +
+
+ + + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ +
+
-
-
-
-
-
- {include file='footer.tpl'} + {include file='footer.tpl'} -
+
-
- +
+ - {include file='scripts.tpl'} + {include file='scripts.tpl'} diff --git a/custom/panel_templates/Default/CustomDropdown/edit_page.tpl b/custom/panel_templates/Default/CustomDropdown/edit_page.tpl old mode 100644 new mode 100755 index bd0aafc..e43f2d1 --- a/custom/panel_templates/Default/CustomDropdown/edit_page.tpl +++ b/custom/panel_templates/Default/CustomDropdown/edit_page.tpl @@ -2,92 +2,96 @@ - -
+ +
- - {include file='sidebar.tpl'} + + {include file='sidebar.tpl'} - -
+ +
- -
+ +
- - {include file='navbar.tpl'} + + {include file='navbar.tpl'} - -
+ +
- -
+ +
-
-
-

{$TITLE}

-
-
-
- - -
-
-
-
-
{$EDITE_DROPDOWN}
-
- {$BACK} -
- -
- -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - +
+
+

{$TITLE}

+
+
-
- - -
-
-
-
+ +
+
+
+
+
{$EDITE_DROPDOWN}
+
+ {$BACK} +
+ +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ +
+
+
- -
-
- {include file='footer.tpl'} + {include file='footer.tpl'} +
-
- + - {include file='scripts.tpl'} + {include file='scripts.tpl'} diff --git a/custom/panel_templates/Default/CustomDropdown/index.tpl b/custom/panel_templates/Default/CustomDropdown/index.tpl old mode 100644 new mode 100755 index 94e2a21..20119bb --- a/custom/panel_templates/Default/CustomDropdown/index.tpl +++ b/custom/panel_templates/Default/CustomDropdown/index.tpl @@ -2,193 +2,196 @@ - -
- - - {include file='sidebar.tpl'} - - -
- - -
- - - {include file='navbar.tpl'} - - -
- - -
- - -
-
-

{$TITLE}

-
-
-
- -
- {if isset($SUCCESS)} -
- -
{$SUCCESS_TITLE}
- {$SUCCESS} -
- {/if} - - {if isset($ERRORS) && !empty($ERRORS)} -
- -
{$ERRORS_TITLE}
-
    - {foreach from=$ERRORS item=error} -
  • {$error}
  • - {/foreach} -
-
- {/if} -
- -
-
- {if !empty($DROPDOWN_LIST)} -
- - - {foreach from=$DROPDOWN_LIST item=dropdown} - - - - - {/foreach} - -
- {$dropdown.dropdown_title} - -
- - {if $dropdown.enabled == 1} - - {else} - - {/if} - - - -
-
-
- {else} - {$NO_DROPDOWN} - {/if} -
-
- - - - - - - - - - - -
- - {include file='footer.tpl'} - -
-
- - - {include file='scripts.tpl'} - - - - + +
+ + + {include file='sidebar.tpl'} + + +
+ + +
+ + + {include file='navbar.tpl'} + + +
+ + +
+ + +
+
+

{$TITLE}

+
+
+
+ +
+ {if isset($SUCCESS)} +
+ +
{$SUCCESS_TITLE}
+ {$SUCCESS} +
+ {/if} + + {if isset($ERRORS) && !empty($ERRORS)} +
+ +
{$ERRORS_TITLE}
+
    + {foreach from=$ERRORS item=error} +
  • {$error}
  • + {/foreach} +
+
+ {/if} +
+ +
+
+ {if !empty($DROPDOWN_LIST)} +
+ + + {foreach from=$DROPDOWN_LIST item=dropdown} + + + + + {/foreach} + +
+ {$dropdown.dropdown_title} + +
+ + {if $dropdown.enabled == 1} + + {else} + + {/if} + + + +
+
+
+ {else} + {$NO_DROPDOWN} + {/if} +
+
+ + + + + + + + + + + +
+ + {include file='footer.tpl'} + +
+
+ + + {include file='scripts.tpl'} + + + + diff --git a/custom/panel_templates/Default/CustomDropdown/setting_dropdown.tpl b/custom/panel_templates/Default/CustomDropdown/setting_dropdown.tpl old mode 100644 new mode 100755 index f1b2b73..7b967dd --- a/custom/panel_templates/Default/CustomDropdown/setting_dropdown.tpl +++ b/custom/panel_templates/Default/CustomDropdown/setting_dropdown.tpl @@ -2,163 +2,168 @@ - -
+ +
- - {include file='sidebar.tpl'} + + {include file='sidebar.tpl'} - -
+ +
- -
+ +
- - {include file='navbar.tpl'} + + {include file='navbar.tpl'} - -
+ +
- -
- - -
-
-

{$TITLE}

-
-
-
- - -
-
-
-
-
{$DROPDOWN_NAME}
-
- {$BACK} -
-
-
- {if !empty($DEFAULT_PAGES)} - - -
-
- - - - - - -
-
- - {else} - {$NO_CREATED_PAGES} - {/if} - - {if !empty($IFRAME_PAGES)} - -
-
- - - - - -
-
- - {/if} - -
- - {if !empty($DROPDOWN_PAGES)} -
- - - {foreach from=$DROPDOWN_PAGES item=dropdown_page} - - - - - {/foreach} - -
- {$dropdown_page.title} - -
- - - -
- -
- - - -
- - - - -
- -
-
-
- {/if} - -
-
-
- -
- - {include file='footer.tpl'} - -
- -
- - - {include file='scripts.tpl'} + +
+ + +
+
+

{$TITLE}

+
+
+
+ + +
+
+
+
+
{$DROPDOWN_NAME}
+
+ {$BACK} +
+
+
+ {if !empty($DEFAULT_PAGES)} + + +
+
+ + + + + + +
+
+ + {else} + {$NO_CREATED_PAGES} + {/if} + + {if !empty($IFRAME_PAGES)} + +
+
+ + + + + +
+
+ + {/if} + +
+ + {if !empty($DROPDOWN_PAGES)} +
+ + + {foreach from=$DROPDOWN_PAGES item=dropdown_page} + + + + + {/foreach} + +
+ {$dropdown_page.title} + +
+ + + +
+ +
+ + + +
+ + + + +
+ +
+
+
+ {/if} + +
+
+
+ +
+ + {include file='footer.tpl'} + +
+ +
+ + + {include file='scripts.tpl'} diff --git a/modules/CustomDropdown/init.php b/modules/CustomDropdown/init.php old mode 100644 new mode 100755 index 544762d..3c3c61f --- a/modules/CustomDropdown/init.php +++ b/modules/CustomDropdown/init.php @@ -1,11 +1,11 @@ 'CustomDropdown', - 'author' => 'xGIGABAITx', - 'module_ver' => '1.2.3', - 'nml_ver' => '2.0.0-pr13', -); +$INFO_MODULE = [ + 'name' => 'CustomDropdown', + 'author' => 'Vertisan', + 'module_ver' => '1.2.4', + 'nml_ver' => '2.0.1', +]; $csLanguage = new Language(ROOT_PATH . '/modules/' . $INFO_MODULE['name'] . '/language', LANGUAGE); diff --git a/modules/CustomDropdown/language/cs_CZ.json b/modules/CustomDropdown/language/cs_CZ.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/cs_CZ.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/da_DK.json b/modules/CustomDropdown/language/da_DK.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/da_DK.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/de_DE.json b/modules/CustomDropdown/language/de_DE.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/de_DE.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/el_GR.json b/modules/CustomDropdown/language/el_GR.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/el_GR.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/en_UK.json b/modules/CustomDropdown/language/en_UK.json old mode 100644 new mode 100755 index ea4ad28..e01bdc1 --- a/modules/CustomDropdown/language/en_UK.json +++ b/modules/CustomDropdown/language/en_UK.json @@ -11,8 +11,6 @@ "general/edit_successfully": "Successfully edited", "general/edit_errors": "Failed to edit", "general/edite": "Editing", - "general/enable": "Enable", - "general/disable": "Disable", "general/remove": "Delete", "general/settings": "Settings", "general/edit": "Edit", diff --git a/modules/CustomDropdown/language/en_US.json b/modules/CustomDropdown/language/en_US.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/en_US.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/es_419.json b/modules/CustomDropdown/language/es_419.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/es_419.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/es_ES.json b/modules/CustomDropdown/language/es_ES.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/es_ES.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/fr_FR.json b/modules/CustomDropdown/language/fr_FR.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/fr_FR.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/hu_HU.json b/modules/CustomDropdown/language/hu_HU.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/hu_HU.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/it_IT.json b/modules/CustomDropdown/language/it_IT.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/it_IT.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/ja_JP.json b/modules/CustomDropdown/language/ja_JP.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/ja_JP.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/ko_KR.json b/modules/CustomDropdown/language/ko_KR.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/ko_KR.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/lt_LT.json b/modules/CustomDropdown/language/lt_LT.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/lt_LT.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/nl_NL.json b/modules/CustomDropdown/language/nl_NL.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/nl_NL.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/no_NO.json b/modules/CustomDropdown/language/no_NO.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/no_NO.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/pl_PL.json b/modules/CustomDropdown/language/pl_PL.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/pl_PL.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/pt_BR.json b/modules/CustomDropdown/language/pt_BR.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/pt_BR.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/ro_RO.json b/modules/CustomDropdown/language/ro_RO.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/ro_RO.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/ru_RU.json b/modules/CustomDropdown/language/ru_RU.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/ru_RU.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/sk_SK.json b/modules/CustomDropdown/language/sk_SK.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/sk_SK.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/sq_AL.json b/modules/CustomDropdown/language/sq_AL.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/sq_AL.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/sv_SE.json b/modules/CustomDropdown/language/sv_SE.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/sv_SE.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/th_TH.json b/modules/CustomDropdown/language/th_TH.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/th_TH.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/tr_TR.json b/modules/CustomDropdown/language/tr_TR.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/tr_TR.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/uk_UA.json b/modules/CustomDropdown/language/uk_UA.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/uk_UA.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/vi_VN.json b/modules/CustomDropdown/language/vi_VN.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/vi_VN.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/zh_CN.json b/modules/CustomDropdown/language/zh_CN.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/zh_CN.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/language/zh_TW.json b/modules/CustomDropdown/language/zh_TW.json new file mode 100755 index 0000000..9e26dfe --- /dev/null +++ b/modules/CustomDropdown/language/zh_TW.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/modules/CustomDropdown/module.php b/modules/CustomDropdown/module.php old mode 100644 new mode 100755 index 152eef3..573b984 --- a/modules/CustomDropdown/module.php +++ b/modules/CustomDropdown/module.php @@ -3,140 +3,136 @@ class CustomDropdown_Module extends Module { - private $_language, $csLanguage; + private $_language, $csLanguage; - public function __construct($language, $pages, $INFO_MODULE) - { - $this->_language = $language; + public function __construct($language, $pages, $INFO_MODULE) + { + $this->_language = $language; - $this->csLanguage = $GLOBALS['csLanguage']; + $this->csLanguage = $GLOBALS['csLanguage']; - $name = $INFO_MODULE['name']; - $author = $INFO_MODULE['author']; - $module_version = $INFO_MODULE['module_ver']; - $nameless_version = $INFO_MODULE['nml_ver']; - parent::__construct($this, $name, $author, $module_version, $nameless_version); + $name = $INFO_MODULE['name']; + $author = $INFO_MODULE['author']; + $module_version = $INFO_MODULE['module_ver']; + $nameless_version = $INFO_MODULE['nml_ver']; + parent::__construct($this, $name, $author, $module_version, $nameless_version); - $pages->add('CustomDropdown', '/panel/cs-dropdown', 'pages/panel/index.php'); - } - - public function onInstall() - { - $this->initialise(); - } + $pages->add('CustomDropdown', '/panel/cs-dropdown', 'pages/panel/index.php'); + } - public function onUninstall() - { - } + public function onInstall() + { + $this->initialise(); + } - public function onEnable() - { - $this->initialise(); - } + public function onUninstall() + { + } - public function onDisable() - { - } + public function onEnable() + { + $this->initialise(); + } - public function onPageLoad($user, $pages, $cache, $smarty, $navs, $widgets, $template) - { + public function onDisable() + { + } - PermissionHandler::registerPermissions('CustomDropdown', array( - 'admincp.csdropdown' => $this->csLanguage->get('general', 'group_permision') - )); + public function onPageLoad($user, $pages, $cache, $smarty, $navs, $widgets, $template) + { - if (defined('FRONT_END')) { + PermissionHandler::registerPermissions('CustomDropdown', [ + 'admincp.csdropdown' => $this->csLanguage->get('general', 'group_permision') + ]); - $queries = new Queries(); + if (defined('FRONT_END')) { + $dropdown_list = DB::getInstance()->get('custom_dropdown', ['id', '<>', 0])->results(); + if (count($dropdown_list)) { - $dropdown_list = $queries->getWhere('custom_dropdown', array('id', '<>', 0)); - if (count($dropdown_list)) { + foreach ($dropdown_list as $var) { - foreach ($dropdown_list as $var) { + // Add CustomDropdown + $name = Output::getClean($var->id); + $title = Output::getClean($var->dropdown_title); + $location_var = $var->dropdown_location; + $icon = $var->dropdown_icon; + $order = $var->dropdown_order; - // Add CustomDropdown - $name = Output::getClean($var->id); - $title = Output::getClean($var->dropdown_title); - $location_var = $var->dropdown_location; - $icon = $var->dropdown_icon; - $order = $var->dropdown_order; + if ($var->enabled == 0) { + continue; + } - if ($var->enabled == 0) { - continue; - } + if ($location_var == 2) { + $location = 'footer'; + } else { + $location = 'top'; + } - if ($location_var == 2) { - $location = 'footer'; - } else { - $location = 'top'; - } + $navs[0]->addDropdown($name, $title, $location, $order, $icon); + } + } - $navs[0]->addDropdown($name, $title, $location, $order, $icon); - } - } + $dropdown_pages_list = DB::getInstance()->get('custom_dropdown_pages', ['id', '<>', 0])->results(); + if (count($dropdown_pages_list)) { - $dropdown_pages_list = $queries->getWhere('custom_dropdown_pages', array('id', '<>', 0)); - if (count($dropdown_pages_list)) { + foreach ($dropdown_pages_list as $var) { - foreach ($dropdown_pages_list as $var) { + // Add "More" dropdown pages + $dropdown = Output::getClean($var->dropdown_id); + $name = Output::getClean($var->id); + $title = Output::getClean($var->page_title); + $link = URL::build($var->page_link); + $location = $var->page_location; + $target = $var->page_target; + $icon = (string)$var->page_icon; + $order = $var->page_order; - // Add "More" dropdown pages - $dropdown = Output::getClean($var->dropdown_id); - $name = Output::getClean($var->id); - $title = Output::getClean($var->page_title); - $link = URL::build($var->page_link); - $location = $var->page_location; - $target = $var->page_target; - $icon = (string) $var->page_icon; - $order = $var->page_order; + $navs[0]->addItemToDropdown($dropdown, $name, $title, $link, $location, $target, $icon, $order); + } + } + } else if (defined('BACK_END')) { - $navs[0]->addItemToDropdown($dropdown, $name, $title, $link, $location, $target, $icon, $order); - } - } - } else if (defined('BACK_END')) { + $icon = ''; + $cs_dropdown_title = $this->csLanguage->get('general', 'title'); - $icon = ''; - $cs_dropdown_title = $this->csLanguage->get('general', 'title'); - - if ($user->hasPermission('admincp.csdropdown')) { - $order = end($navs[2]->returnNav())['order'] + 1.1; - $navs[2]->add('cs_dropdown_divider', mb_strtoupper($cs_dropdown_title, 'UTF-8'), 'divider', 'top', null, $order, ''); - $navs[2]->add('cs_dropdown_items', $cs_dropdown_title, URL::build('/panel/cs-dropdown'), 'top', null, $order + 0.1, $icon); - } + if ($user->hasPermission('admincp.csdropdown')) { + $order = end($navs[2]->returnNav())['order'] + 1.1; + $navs[2]->add('cs_dropdown_divider', mb_strtoupper($cs_dropdown_title, 'UTF-8'), 'divider', 'top', null, $order); + $navs[2]->add('cs_dropdown_items', $cs_dropdown_title, URL::build('/panel/cs-dropdown'), 'top', null, $order + 0.1, $icon); + } + } } - } - public function initialise() - { - $queries = new Queries(); + public function initialise() + { + try { - try { + DB::getInstance()->createTable("custom_dropdown", " `id` int(11) NOT NULL AUTO_INCREMENT, `dropdown_title` varchar(255) NOT NULL, `dropdown_location` int(1) NOT NULL, `dropdown_icon` varchar(255) NOT NULL, `dropdown_order` int(11) NOT NULL, `enabled` int(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`)", "ENGINE=InnoDB DEFAULT CHARSET=utf8"); - $queries->createTable("custom_dropdown", " `id` int(11) NOT NULL AUTO_INCREMENT, `dropdown_title` varchar(255) NOT NULL, `dropdown_location` int(1) NOT NULL, `dropdown_icon` varchar(255) NOT NULL, `dropdown_order` int(11) NOT NULL, `enabled` int(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`)", "ENGINE=InnoDB DEFAULT CHARSET=utf8"); - - $queries->createTable("custom_dropdown_pages", " `id` int(11) NOT NULL AUTO_INCREMENT, `dropdown_id` int(11) NOT NULL, `page_title` varchar(255) NOT NULL, `page_link` varchar(512) NOT NULL, `page_location` varchar(255) NOT NULL DEFAULT 'top', `page_target` varchar(20) DEFAULT NULL, `page_icon` varchar(255) DEFAULT NULL, `page_order` int(11) DEFAULT '0', `default_page_id` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)", "ENGINE=InnoDB DEFAULT CHARSET=utf8"); - } catch (Exception $e) { - echo $e->getMessage(); - } + DB::getInstance()->createTable("custom_dropdown_pages", " `id` int(11) NOT NULL AUTO_INCREMENT, `dropdown_id` int(11) NOT NULL, `page_title` varchar(255) NOT NULL, `page_link` varchar(512) NOT NULL, `page_location` varchar(255) NOT NULL DEFAULT 'top', `page_target` varchar(20) DEFAULT NULL, `page_icon` varchar(255) DEFAULT NULL, `page_order` int(11) DEFAULT '0', `default_page_id` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)", "ENGINE=InnoDB DEFAULT CHARSET=utf8"); + } catch (Exception $e) { + echo $e->getMessage(); + } - try { + try { - $group = $queries->getWhere('groups', array('id', '=', 2)); - $group = $group[0]; + $group = DB::getInstance()->get('groups', ['id', '=', 2])->results(); + $group = $group[0]; - $group_permissions = json_decode($group->permissions, TRUE); - $group_permissions['admincp.csdropdown'] = 1; + $group_permissions = json_decode($group->permissions, TRUE); + $group_permissions['admincp.csdropdown'] = 1; - $group_permissions = json_encode($group_permissions); - $queries->update('groups', 2, array('permissions' => $group_permissions)); - } catch (Exception $e) { - echo $e->getMessage(); + $group_permissions = json_encode($group_permissions); + DB::getInstance()->update('groups', 2, ['permissions' => $group_permissions]); + } catch (Exception $e) { + echo $e->getMessage(); + } } - } - public function getDebugInfo(): array { - return []; - } + public function getDebugInfo(): array + { + return []; + } } diff --git a/modules/CustomDropdown/pages/panel/index.php b/modules/CustomDropdown/pages/panel/index.php old mode 100644 new mode 100755 index ff509ad..9139a76 --- a/modules/CustomDropdown/pages/panel/index.php +++ b/modules/CustomDropdown/pages/panel/index.php @@ -3,497 +3,479 @@ $csLanguage = $GLOBALS['csLanguage']; if ($user->isLoggedIn()) { - if (!$user->canViewStaffCP()) { - - Redirect::to(URL::build('/')); - die(); - } - if (!$user->isAdmLoggedIn()) { - - Redirect::to(URL::build('/panel/auth')); - die(); - } else { - if (!$user->hasPermission('admincp.csdropdown')) { - require_once(ROOT_PATH . '/403.php'); - die(); + if (!$user->canViewStaffCP()) { + + Redirect::to(URL::build('/')); + } + if (!$user->isAdmLoggedIn()) { + + Redirect::to(URL::build('/panel/auth')); + } else { + if (!$user->hasPermission('admincp.csdropdown')) { + require_once(ROOT_PATH . '/403.php'); + } } - } } else { - // Not logged in - Redirect::to(URL::build('/login')); - die(); + // Not logged in + Redirect::to(URL::build('/login')); } -define('PAGE', 'panel'); -define('PARENT_PAGE', 'cs_dropdown_items'); -define('PANEL_PAGE', 'cs_dropdown_items'); - +const PAGE = 'panel'; +const PARENT_PAGE = 'cs_dropdown_items'; +const PANEL_PAGE = 'cs_dropdown_items'; require_once(ROOT_PATH . '/core/templates/backend_init.php'); -$queries = new Queries; - -$smarty->assign(array( - 'SUBMIT' => $language->get('general', 'submit'), - 'YES' => $language->get('general', 'yes'), - 'NO' => $language->get('general', 'no'), - 'BACK' => $language->get('general', 'back'), - 'ARE_YOU_SURE' => $language->get('general', 'are_you_sure'), - 'CONFIRM_DELETE' => $language->get('general', 'confirm_delete'), - 'TITLE' => $csLanguage->get('general', 'title'), - 'ADD_NEW_DROPDOWN' => $csLanguage->get('general', 'add_new_dropdown'), - 'DROPDOWN_TITLE' => $csLanguage->get('general', 'dropdown_title'), - 'DROPDOWN_LOCATION' => $csLanguage->get('general', 'dropdown_location'), - 'DROPDOWN_ICON' => $csLanguage->get('general', 'dropdown_icon'), - 'DROPDOWN_ORDER' => $csLanguage->get('general', 'dropdown_order'), - 'ENABLE' => $csLanguage->get('general', 'enable'), - 'DISABLE' => $csLanguage->get('general', 'disable'), - 'REMOVE' => $csLanguage->get('general', 'remove'), - 'SETTINGS' => $csLanguage->get('general', 'settings'), - 'EDIT' => $csLanguage->get('general', 'edit'), - 'SELECT_PAGE' => $csLanguage->get('general', 'select_page'), - 'SELECT_IFRAME_PAGE' => $csLanguage->get('general', 'select_iframe_page'), - 'ADD_PAGE' => $csLanguage->get('general', 'add_page'), - 'NO_CREATED_PAGES' => $csLanguage->get('general', 'no_created_pages'), - 'LINK_NAVBAR' => $language->get('admin', 'page_link_navbar'), - 'LINK_FOOTER' => $language->get('admin', 'page_link_footer') -)); +$smarty->assign([ + 'SUBMIT' => $language->get('general', 'submit'), + 'YES' => $language->get('general', 'yes'), + 'NO' => $language->get('general', 'no'), + 'BACK' => $language->get('general', 'back'), + 'ARE_YOU_SURE' => $language->get('general', 'are_you_sure'), + 'CONFIRM_DELETE' => $language->get('general', 'confirm_delete'), + 'TITLE' => $csLanguage->get('general', 'title'), + 'ADD_NEW_DROPDOWN' => $csLanguage->get('general', 'add_new_dropdown'), + 'DROPDOWN_TITLE' => $csLanguage->get('general', 'dropdown_title'), + 'DROPDOWN_LOCATION' => $csLanguage->get('general', 'dropdown_location'), + 'DROPDOWN_ICON' => $csLanguage->get('general', 'dropdown_icon'), + 'DROPDOWN_ORDER' => $csLanguage->get('general', 'dropdown_order'), + 'REMOVE' => $csLanguage->get('general', 'remove'), + 'SETTINGS' => $csLanguage->get('general', 'settings'), + 'EDIT' => $csLanguage->get('general', 'edit'), + 'SELECT_PAGE' => $csLanguage->get('general', 'select_page'), + 'SELECT_IFRAME_PAGE' => $csLanguage->get('general', 'select_iframe_page'), + 'ADD_PAGE' => $csLanguage->get('general', 'add_page'), + 'NO_CREATED_PAGES' => $csLanguage->get('general', 'no_created_pages'), + 'LINK_NAVBAR' => $language->get('admin', 'page_link_navbar'), + 'LINK_FOOTER' => $language->get('admin', 'page_link_footer') +]); $template_file = 'CustomDropdown/index.tpl'; if (!isset($_GET['action'])) { - if (Input::exists()) { - $errors = array(); - if (Token::check(Input::get('token'))) { - - $validation = Validate::check($_POST, [ - 'dropdown_title' => [ - Validate::REQUIRED => true, - Validate::MIN => 2, - Validate::MAX => 150 - ] - ]); - - if ($validation->passed()) { + if (Input::exists()) { + $errors = []; try { - - $queries->create('custom_dropdown', array( - 'dropdown_title' => htmlspecialchars(Input::get('dropdown_title')), - 'dropdown_location' => Input::get('dropdown_location'), - 'dropdown_icon' => Input::get('dropdown_icon'), - 'dropdown_order' => Input::get('dropdown_order') - )); - - Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'new_dropdown_successfully')); + if (Token::check(Input::get('token'))) { + + $validation = Validate::check($_POST, [ + 'dropdown_title' => [ + Validate::REQUIRED => true, + Validate::MIN => 2, + Validate::MAX => 150 + ] + ]); + + if ($validation->passed()) { + try { + + DB::getInstance()->insert('custom_dropdown', [ + 'dropdown_title' => htmlspecialchars(Input::get('dropdown_title')), + 'dropdown_location' => Input::get('dropdown_location'), + 'dropdown_icon' => Input::get('dropdown_icon'), + 'dropdown_order' => Input::get('dropdown_order') + ]); + + Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'new_dropdown_successfully')); + } catch (Exception $e) { + $errors[] = $e->getMessage(); + } + } else { + $errors[] = $csLanguage->get('general', 'new_dropdown_errors'); + } + } else { + $errors[] = $language->get('general', 'invalid_token'); + } } catch (Exception $e) { - $errors[] = $e->getMessage(); } - } else { - $errors[] = $csLanguage->get('general', 'new_dropdown_errors'); - } - } else { - $errors[] = $language->get('general', 'invalid_token'); } - } } else { - switch ($_GET['action']) { - - case 'edit': - if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } - $edit_dropdown = $queries->getWhere('custom_dropdown', array('id', '=', $_GET['id'])); - if (!count($edit_dropdown)) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } - - $edit_dropdown = $edit_dropdown[0]; - - if (Input::exists()) { - $errors = array(); - if (Token::check(Input::get('token'))) { - - $validation = Validate::check($_POST, [ - 'dropdown_title' => [ - Validate::REQUIRED => true, - Validate::MIN => 2, - Validate::MAX => 150 - ] - ]); - - if ($validation->passed()) { - try { - - $queries->update('custom_dropdown', $edit_dropdown->id, array( - 'dropdown_title' => htmlspecialchars(Input::get('dropdown_title')), - 'dropdown_location' => Input::get('dropdown_location'), - 'dropdown_icon' => Input::get('dropdown_icon'), - 'dropdown_order' => Input::get('dropdown_order') - )); - - if (Input::get('dropdown_location') == 1) { - $location = 'top'; - } else { - $location = 'footer'; - } - - DB::getInstance()->createQuery('UPDATE `nl2_custom_dropdown_pages` SET `page_location` = ? WHERE `dropdown_id` = ?', array($location, $edit_dropdown->id)); - - - Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'edit_successfully')); - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } catch (Exception $e) { - $errors[] = $e->getMessage(); + switch ($_GET['action']) { + + case 'edit': + if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } + $edit_dropdown = DB::getInstance()->get('custom_dropdown', ['id', '=', $_GET['id']])->results(); + if (!count($edit_dropdown)) { + Redirect::to(URL::build('/panel/cs-dropdown')); } - } else { - $errors[] = $csLanguage->get('general', 'edit_errors'); - } - } else { - $errors[] = $language->get('general', 'invalid_token'); - } - } - $smarty->assign(array( - 'BACK_LINK' => URL::build('/panel/cs-dropdown'), - 'EDIT_TITLE' => Output::getClean($edit_dropdown->dropdown_title), - 'EDIT_LOCATION' => Output::getClean($edit_dropdown->dropdown_location), - 'EDIT_ICON' => Output::getClean($edit_dropdown->dropdown_icon), - 'EDIT_ORDER' => Output::getClean($edit_dropdown->dropdown_order), - 'EDITE_DROPDOWN' => $csLanguage->get('general', 'edite'), - )); + $edit_dropdown = $edit_dropdown[0]; + + if (Input::exists()) { + $errors = []; + try { + if (Token::check(Input::get('token'))) { + + $validation = Validate::check($_POST, [ + 'dropdown_title' => [ + Validate::REQUIRED => true, + Validate::MIN => 2, + Validate::MAX => 150 + ] + ]); + + if ($validation->passed()) { + try { + + DB::getInstance()->update('custom_dropdown', $edit_dropdown->id, [ + 'dropdown_title' => htmlspecialchars(Input::get('dropdown_title')), + 'dropdown_location' => Input::get('dropdown_location'), + 'dropdown_icon' => Input::get('dropdown_icon'), + 'dropdown_order' => Input::get('dropdown_order') + ]); + + if (Input::get('dropdown_location') == 1) { + $location = 'top'; + } else { + $location = 'footer'; + } + + DB::getInstance()->query('UPDATE `nl2_custom_dropdown_pages` SET `page_location` = ? WHERE `dropdown_id` = ?', [$location, $edit_dropdown->id]); + + + Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'edit_successfully')); + Redirect::to(URL::build('/panel/cs-dropdown')); + } catch (Exception $e) { + $errors[] = $e->getMessage(); + } + } else { + $errors[] = $csLanguage->get('general', 'edit_errors'); + } + } else { + $errors[] = $language->get('general', 'invalid_token'); + } + } catch (Exception $e) { + } + } + $smarty->assign([ + 'BACK_LINK' => URL::build('/panel/cs-dropdown'), + 'EDIT_TITLE' => Output::getClean($edit_dropdown->dropdown_title), + 'EDIT_LOCATION' => Output::getClean($edit_dropdown->dropdown_location), + 'EDIT_ICON' => Output::getClean($edit_dropdown->dropdown_icon), + 'EDIT_ORDER' => Output::getClean($edit_dropdown->dropdown_order), + 'EDITE_DROPDOWN' => $csLanguage->get('general', 'edite'), + ]); - $template_file = 'CustomDropdown/edit_dropdown.tpl'; - break; + $template_file = 'CustomDropdown/edit_dropdown.tpl'; - case 'setting': - if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } - $setting_dropdown = $queries->getWhere('custom_dropdown', array('id', '=', $_GET['id'])); - if (!count($setting_dropdown)) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } + break; + case 'setting': + if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } + $setting_dropdown = DB::getInstance()->get('custom_dropdown', ['id', '=', $_GET['id']])->results(); + if (!count($setting_dropdown)) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } - if (Input::exists()) { - if (Token::check(Input::get('token'))) { + if (Input::exists()) { - if (isset($_POST['addLink'])) { + try { + if (Token::check(Input::get('token'))) { - $df_page_id = $_POST['addLink']; + if (isset($_POST['addLink'])) { - $df_page = $queries->getWhere('custom_pages', array('id', '=', $df_page_id)); + $df_page_id = $_POST['addLink']; - $queries->create('custom_dropdown_pages', array( - 'dropdown_id' => $_GET['id'], - 'page_title' => $df_page[0]->title, - 'page_link' => $df_page[0]->url, - 'page_icon' => $df_page[0]->icon, - 'page_order' => $_POST['order'], - 'default_page_id' => $df_page_id + $df_page = DB::getInstance()->get('custom_pages', ['id', '=', $df_page_id])->results(); - )); - } + DB::getInstance()->insert('custom_dropdown_pages', [ + 'dropdown_id' => $_GET['id'], + 'page_title' => $df_page[0]->title, + 'page_link' => $df_page[0]->url, + 'page_icon' => $df_page[0]->icon, + 'page_order' => $_POST['order'], + 'default_page_id' => $df_page_id - if (isset($_POST['addIframe'])) { + ]); + } - $if_page_id = $_POST['addIframe']; + if (isset($_POST['addIframe'])) { - $if_page = $queries->getWhere('iframe_pages', array('id', '=', $if_page_id)); + $if_page_id = $_POST['addIframe']; - $queries->create('custom_dropdown_pages', array( - 'dropdown_id' => $_GET['id'], - 'page_title' => $if_page[0]->name, - 'page_link' => $if_page[0]->url, - 'page_icon' => '', - 'page_order' => '1', - 'default_page_id' => $if_page_id + $if_page = DB::getInstance()->get('iframe_pages', ['id', '=', $if_page_id])->results(); - )); - } + DB::getInstance()->insert('custom_dropdown_pages', [ + 'dropdown_id' => $_GET['id'], + 'page_title' => $if_page[0]->name, + 'page_link' => $if_page[0]->url, + 'page_icon' => '', + 'page_order' => '1', + 'default_page_id' => $if_page_id - if (isset($_POST['deletePage'])) { + ]); + } - try { + if (isset($_POST['deletePage'])) { - $queries->delete('custom_dropdown_pages', array('id', '=', $_POST['deletePage'])); - } catch (Exception $e) { - die($e->getMessage()); - } + try { - Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'deleted_successfully')); - } - } - } + DB::getInstance()->delete('custom_dropdown_pages', ['id', '=', $_POST['deletePage']]); + } catch (Exception $e) { + die($e->getMessage()); + } + Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'deleted_successfully')); + } + } + } catch (Exception $e) { + } + } - $setting_dropdown = $setting_dropdown[0]; + $setting_dropdown = $setting_dropdown[0]; - $dropdown_pages_list = $queries->orderWhere('custom_dropdown_pages', 'dropdown_id = ' . $_GET['id'], 'page_order', 'ASC'); - $dropdown_pages = array(); + $dropdown_pages_list = DB::getInstance()->orderWhere('custom_dropdown_pages', 'dropdown_id = ' . $_GET['id'], 'page_order', 'ASC')->results(); + $dropdown_pages = []; - if (count($dropdown_pages_list)) { + if (count($dropdown_pages_list)) { - foreach ($dropdown_pages_list as $value) { - $dropdown_pages[] = array( - 'edit_link' => URL::build('/panel/cs-dropdown/setting', 'action=setting_edit&id=' . Output::getClean($value->id)), - 'id' => Output::getClean($value->id), - 'title' => Output::getClean($value->page_title), - 'link' => Output::getClean($value->page_link), - 'location' => Output::getClean($value->page_location), - 'target' => Output::getClean($value->page_target), - 'order' => Output::getClean($value->page_order), - 'icon' => Output::getClean($value->page_icon), - 'df_page_id' => Output::getClean($value->default_page_id) - ); - } - } - - $smarty->assign(array( - 'BACK_LINK' => URL::build('/panel/cs-dropdown'), - 'DROPDOWN_PAGES' => $dropdown_pages - )); - - if ($queries->tableExists('iframe_pages')) { - $iframe_page_list = $queries->getWhere('iframe_pages', array('id', '<>', 0)); - - $iframe_page_array = array(); - if (count($iframe_page_list)) { - - foreach ($iframe_page_list as $value) { - $iframe_page_array[] = array( - 'id' => Output::getClean($value->id), - 'title' => Output::getClean($value->name), - 'url' => Output::getClean($value->url) - ); - } - } + foreach ($dropdown_pages_list as $value) { + $dropdown_pages[] = [ + 'edit_link' => URL::build('/panel/cs-dropdown/setting', 'action=setting_edit&id=' . Output::getClean($value->id)), + 'id' => Output::getClean($value->id), + 'title' => Output::getClean($value->page_title), + 'link' => Output::getClean($value->page_link), + 'location' => Output::getClean($value->page_location), + 'target' => Output::getClean($value->page_target), + 'order' => Output::getClean($value->page_order), + 'icon' => Output::getClean($value->page_icon), + 'df_page_id' => Output::getClean($value->default_page_id) + ]; + } + } - $smarty->assign(array( - 'IFRAME_PAGES' => $iframe_page_array - )); - } + $smarty->assign([ + 'BACK_LINK' => URL::build('/panel/cs-dropdown'), + 'DROPDOWN_PAGES' => $dropdown_pages + ]); + + if (DB::getInstance()->showTables('iframe_pages')) { + $iframe_page_list = DB::getInstance()->get('iframe_pages', ['id', '<>', 0])->results(); + + $iframe_page_array = []; + if (count($iframe_page_list)) { + + foreach ($iframe_page_list as $value) { + $iframe_page_array[] = [ + 'id' => Output::getClean($value->id), + 'title' => Output::getClean($value->name), + 'url' => Output::getClean($value->url) + ]; + } + } + + $smarty->assign([ + 'IFRAME_PAGES' => $iframe_page_array + ]); + } - $default_page_list = $queries->getWhere('custom_pages', array('id', '<>', 0)); + $default_page_list = DB::getInstance()->get('custom_pages', ['id', '<>', 0])->results(); - $default_page_array = array(); - if (count($default_page_list)) { + $default_page_array = []; + if (count($default_page_list)) { - foreach ($default_page_list as $value) { - $default_page_array[] = array( - 'id' => Output::getClean($value->id), - 'title' => Output::getClean($value->title), - 'url' => Output::getClean($value->url), - 'link' => Output::getClean($value->link), - 'icon' => Output::getClean($value->icon) - ); - } - } - - $smarty->assign(array( - 'BACK_LINK' => URL::build('/panel/cs-dropdown'), - 'DEFAULT_PAGES' => $default_page_array, - 'DROPDOWN_ID' => $setting_dropdown->id, - 'DROPDOWN_NAME' => $setting_dropdown->dropdown_title, - 'DROPDOWN_ORDER' => $setting_dropdown->dropdown_order - )); - - $template_file = 'CustomDropdown/setting_dropdown.tpl'; - - break; - - case 'setting_edit': - if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } - $edit_page = $queries->getWhere('custom_dropdown_pages', array('id', '=', $_GET['id'])); - if (!count($edit_page)) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } - - $edit_page = $edit_page[0]; - - if (Input::exists()) { - $errors = array(); - if (Token::check(Input::get('token'))) { - - $validation = Validate::check($_POST, [ - 'page_title' => [ - Validate::REQUIRED => true, - Validate::MIN => 2, - Validate::MAX => 150 - ] - ]); - - if (Input::get('page_target') == 1) { - $edit_page_target = '_blank'; - } else { - $edit_page_target = NULL; - } - - if ($validation->passed()) { - try { - - $queries->update('custom_dropdown_pages', $edit_page->id, array( - 'page_title' => htmlspecialchars(Input::get('page_title')), - 'page_link' => Input::get('page_link'), - 'page_target' => $edit_page_target, - 'page_icon' => Input::get('page_icon'), - 'page_order' => Input::get('page_order') - )); - - - Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'edit_successfully')); - Redirect::to(URL::build('/panel/cs-dropdown/setting', 'action=setting&id=' . Output::getClean($edit_page->dropdown_id))); - // die(); - - - } catch (Exception $e) { - $errors[] = $e->getMessage(); + foreach ($default_page_list as $value) { + $default_page_array[] = [ + 'id' => Output::getClean($value->id), + 'title' => Output::getClean($value->title), + 'url' => Output::getClean($value->url), + 'link' => Output::getClean($value->link), + 'icon' => Output::getClean($value->icon) + ]; + } } - } else { - $errors[] = $csLanguage->get('general', 'edit_errors'); - } - } else { - $errors[] = $language->get('general', 'invalid_token'); - } - } - $smarty->assign(array( - 'BACK_LINK' => URL::build('/panel/cs-dropdown/setting', 'action=setting&id=' . Output::getClean($edit_page->dropdown_id)), - 'EDIT_TITLE' => Output::getClean($edit_page->page_title), - 'EDIT_LINK' => Output::getClean($edit_page->page_link), - 'EDIT_ICON' => Output::getClean($edit_page->page_icon), - 'EDIT_ORDER' => Output::getClean($edit_page->page_order), - 'EDITE_DROPDOWN' => $csLanguage->get('general', 'edite'), - 'PAGE_TITLE' => $csLanguage->get('general', 'page_title'), - 'PAGE_LINK' => $csLanguage->get('general', 'page_link'), - 'PAGE_TARGET' => $csLanguage->get('general', 'page_target'), - 'PAGE_ICON' => $csLanguage->get('general', 'page_icon'), - 'PAGE_ORDER' => $csLanguage->get('general', 'page_order') - )); + $smarty->assign([ + 'BACK_LINK' => URL::build('/panel/cs-dropdown'), + 'DEFAULT_PAGES' => $default_page_array, + 'DROPDOWN_ID' => $setting_dropdown->id, + 'DROPDOWN_NAME' => $setting_dropdown->dropdown_title, + 'DROPDOWN_ORDER' => $setting_dropdown->dropdown_order + ]); + $template_file = 'CustomDropdown/setting_dropdown.tpl'; - $template_file = 'CustomDropdown/edit_page.tpl'; + break; - break; + case 'setting_edit': + if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } + $edit_page = DB::getInstance()->get('custom_dropdown_pages', ['id', '=', $_GET['id']])->results(); + if (!count($edit_page)) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } - case 'delete': - if (isset($_GET['id']) && is_numeric($_GET['id'])) { - try { + $edit_page = $edit_page[0]; + + if (Input::exists()) { + $errors = []; + try { + if (Token::check(Input::get('token'))) { + + $validation = Validate::check($_POST, [ + 'page_title' => [ + Validate::REQUIRED => true, + Validate::MIN => 2, + Validate::MAX => 150 + ] + ]); + + if (Input::get('page_target') == 1) { + $edit_page_target = '_blank'; + } else { + $edit_page_target = NULL; + } + + if ($validation->passed()) { + try { + + DB::getInstance()->update('custom_dropdown_pages', $edit_page->id, [ + 'page_title' => htmlspecialchars(Input::get('page_title')), + 'page_link' => Input::get('page_link'), + 'page_target' => $edit_page_target, + 'page_icon' => Input::get('page_icon'), + 'page_order' => Input::get('page_order') + ]); + + + Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'edit_successfully')); + Redirect::to(URL::build('/panel/cs-dropdown/setting', 'action=setting&id=' . Output::getClean($edit_page->dropdown_id))); + // die(); + + + } catch (Exception $e) { + $errors[] = $e->getMessage(); + } + } else { + $errors[] = $csLanguage->get('general', 'edit_errors'); + } + } else { + $errors[] = $language->get('general', 'invalid_token'); + } + } catch (Exception $e) { + } + } - $queries->delete('custom_dropdown', array('id', '=', $_GET['id'])); - } catch (Exception $e) { - die($e->getMessage()); - } + $smarty->assign([ + 'BACK_LINK' => URL::build('/panel/cs-dropdown/setting', 'action=setting&id=' . Output::getClean($edit_page->dropdown_id)), + 'EDIT_TITLE' => Output::getClean($edit_page->page_title), + 'EDIT_LINK' => Output::getClean($edit_page->page_link), + 'EDIT_ICON' => Output::getClean($edit_page->page_icon), + 'EDIT_ORDER' => Output::getClean($edit_page->page_order), + 'EDITE_DROPDOWN' => $csLanguage->get('general', 'edite'), + 'PAGE_TITLE' => $csLanguage->get('general', 'page_title'), + 'PAGE_LINK' => $csLanguage->get('general', 'page_link'), + 'PAGE_TARGET' => $csLanguage->get('general', 'page_target'), + 'PAGE_ICON' => $csLanguage->get('general', 'page_icon'), + 'PAGE_ORDER' => $csLanguage->get('general', 'page_order') + ]); - Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'deleted_successfully')); - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } - break; + $template_file = 'CustomDropdown/edit_page.tpl'; - case 'enabled': - if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } + break; - $edit_dropdown = $queries->getWhere('custom_dropdown', array('id', '=', $_GET['id'])); - if (!count($edit_dropdown)) { - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - } + case 'delete': + if (isset($_GET['id']) && is_numeric($_GET['id'])) { + try { - $edit_dropdown = $edit_dropdown[0]; + DB::getInstance()->delete('custom_dropdown', ['id', '=', $_GET['id']]); + } catch (Exception $e) { + die($e->getMessage()); + } - if ($edit_dropdown->enabled == 1) { - $enabled = 0; - } else { - $enabled = 1; - } + Session::flash('staff_cs_dropdown', $csLanguage->get('general', 'deleted_successfully')); + Redirect::to(URL::build('/panel/cs-dropdown')); + } + + break; + + case 'enabled': + if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } + $edit_dropdown = DB::getInstance()->get('custom_dropdown', ['id', '=', $_GET['id']])->results(); + if (!count($edit_dropdown)) { + Redirect::to(URL::build('/panel/cs-dropdown')); + } - $queries->update('custom_dropdown', $_GET['id'], array( - 'enabled' => $enabled - )); - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); + $edit_dropdown = $edit_dropdown[0]; - break; + if ($edit_dropdown->enabled == 1) { + $enabled = 0; + } else { + $enabled = 1; + } - default: - Redirect::to(URL::build('/panel/cs-dropdown')); - die(); - break; - } + + DB::getInstance()->update('custom_dropdown', $_GET['id'], [ + 'enabled' => $enabled + ]); + Redirect::to(URL::build('/panel/cs-dropdown')); + default: + Redirect::to(URL::build('/panel/cs-dropdown')); + } } -$dropdown_list = $queries->getWhere('custom_dropdown', array('id', '<>', 0)); -$dropdown_list_array = array(); +$dropdown_list = DB::getInstance()->get('custom_dropdown', ['id', '<>', 0])->results(); +$dropdown_list_array = []; if (count($dropdown_list)) { - foreach ($dropdown_list as $dropdown) { - $dropdown_list_array[] = array( - 'enabled_link' => URL::build('/panel/cs-dropdown/', 'action=enabled&id=' . Output::getClean($dropdown->id)), - 'edit_link' => URL::build('/panel/cs-dropdown/', 'action=edit&id=' . Output::getClean($dropdown->id)), - 'setting_link' => URL::build('/panel/cs-dropdown/setting', 'action=setting&id=' . Output::getClean($dropdown->id)), - 'delete_link' => URL::build('/panel/cs-dropdown/', 'action=delete&id=' . Output::getClean($dropdown->id)), - 'dropdown_title' => Output::getClean($dropdown->dropdown_title), - 'enabled' => Output::getClean($dropdown->enabled) - ); - } - $smarty->assign(array( - 'DROPDOWN_LIST' => $dropdown_list_array - )); + foreach ($dropdown_list as $dropdown) { + $dropdown_list_array[] = [ + 'enabled_link' => URL::build('/panel/cs-dropdown/', 'action=enabled&id=' . Output::getClean($dropdown->id)), + 'edit_link' => URL::build('/panel/cs-dropdown/', 'action=edit&id=' . Output::getClean($dropdown->id)), + 'setting_link' => URL::build('/panel/cs-dropdown/setting', 'action=setting&id=' . Output::getClean($dropdown->id)), + 'delete_link' => URL::build('/panel/cs-dropdown/', 'action=delete&id=' . Output::getClean($dropdown->id)), + 'dropdown_title' => Output::getClean($dropdown->dropdown_title), + 'enabled' => Output::getClean($dropdown->enabled) + ]; + } + $smarty->assign([ + 'DROPDOWN_LIST' => $dropdown_list_array + ]); } else { - $smarty->assign(array( - 'NO_SERVER' => $csLanguage->get('general', 'no_servers') - )); + $smarty->assign([ + 'NO_SERVER' => $csLanguage->get('general', 'no_servers') + ]); } - - // Load modules + template Module::loadPage($user, $pages, $cache, $smarty, [$navigation, $cc_nav, $staffcp_nav], $widgets, $template); -$page_load = microtime(true) - $start; -define('PAGE_LOAD_TIME', str_replace('{x}', round($page_load, 3), $language->get('general', 'page_loaded_in'))); $template->onPageLoad(); if (Session::exists('staff_cs_dropdown')) - $success = Session::flash('staff_cs_dropdown'); + $success = Session::flash('staff_cs_dropdown'); if (isset($success)) - $smarty->assign(array( - 'SUCCESS' => $success, - 'SUCCESS_TITLE' => $language->get('general', 'success') - )); + $smarty->assign([ + 'SUCCESS' => $success, + 'SUCCESS_TITLE' => $language->get('general', 'success') + ]); if (isset($errors) && count($errors)) - $smarty->assign(array( - 'ERRORS' => $errors, - 'ERRORS_TITLE' => $language->get('general', 'error') - )); - -$smarty->assign(array( - 'TOKEN' => Token::get(), -)); + $smarty->assign([ + 'ERRORS' => $errors, + 'ERRORS_TITLE' => $language->get('general', 'error') + ]); + +$smarty->assign([ + 'TOKEN' => Token::get(), +]); require(ROOT_PATH . '/core/templates/panel_navbar.php');