Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
unlimited-elements-for-elementor
/
inc_php
/
manager
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access'); class UniteCreatorManager { const TYPE_ADDONS = "addons"; const TYPE_ITEMS_INLINE = "inline"; const TYPE_PAGES = "pages"; const VIEW_TYPE_INFO = "info"; const VIEW_TYPE_THUMB = "thumb"; protected $type = null, $arrText = array(), $arrOptions = array(); protected $viewType = null; protected $managerName = null; protected $arrPassData = null; protected $hasCats = true; protected $objCats = null; protected $selectedCategory = ""; private $managerAddHtml = ""; private $errorMessage = null; protected $itemsLoaderText = ""; protected $textItemsSelected = ""; protected $enableCatsActions = true; protected $listClassType = null; protected $enableStatusLineOperations = true; protected $hasHeaderLine = false; protected $headerLineText = null; protected $addClass = null; protected $putUpdateCatalogButton = false; protected $putDialogDebug = false; protected $enableActions = true; protected function a_______REWRITE_FUNCTIONS________() { } public static function getObjManagerByAddonType($addonType, $data = array()) { $objAddonType = UniteCreatorAddonType::getAddonTypeObject($addonType); $manager = UniteProviderFunctionsUC::applyFilters(UniteCreatorFilters::FILTER_GET_MANAGER_OBJECT_BYDATA, null, $data); if (empty($manager)) { if ($objAddonType->isLayout == true) { $manager = new UniteCreatorManagerLayouts(); } else { $manager = new UniteCreatorManagerAddons(); } } $manager->setManagerNameFromData($data); return $manager; } public function setHeaderLineText($text) { $this->headerLineText = $text; } protected function beforeInit($type) { } protected function afterInit($type) { } protected function putItemsButtons() { ?> put buttons from child classes <?php } protected function putItemsFilters() { } protected function getMenuSingleItem() { $arrMenuItem = array(); $arrMenuItem["no_action"] = esc_html__("No Action", "unlimited-elements-for-elementor"); return $arrMenuItem; } protected function getMenuField() { $arrMenuField = array(); $arrMenuField["no_action"] = esc_html__("No Action", "unlimited-elements-for-elementor"); return $arrMenuField; } protected function putAddHtml() { dmp("put add html here by child class"); } protected function getNoItemsText() { $text = esc_html__("No Items", "unlimited-elements-for-elementor"); return $text; } protected function a_________SET_DATA_BEFORE_PUT________() { } protected function setManagerAddHtml($addHtml) { $this->managerAddHtml = $addHtml; } protected function a_______CATEGORIES_RELATED___________() { } protected function getCatList() { dmp("getCatList - function for override!!!"); exit; } private function putHtmlCats() { $htmlCatList = $this->getCatList(); $showAllButtons = false; ?> <div id="categories_wrapper" class="categories_wrapper unselectable"> <div class="manager-cats-buttons"> <span class="manager-cats-title"><?php esc_html_e("Categories", "unlimited-elements-for-elementor"); ?></span> <?php if ($this->enableCatsActions == true) { ?> <a id="button_add_category" data-action="add_category" type="button" class="uc-cat-action-button uc-button-add-cat">+</a> <?php } ?> </div> <div id="cats_section" class="cats_section"> <div class="cat_list_wrapper"> <ul id="list_cats" class="list_cats"> <?php echo UniteProviderFunctionsUC::escCombinedHtml($htmlCatList); ?> </ul> </div> </div> </div> <?php } protected function putDialogEditCategory() { ?> <div id="uc_dialog_edit_category" title="<?php esc_html_e("Edit Category", "unlimited-elements-for-elementor"); ?>" style="display:none;" > <div class="unite-dialog-top"></div> <?php esc_html_e("Category ID", "unlimited-elements-for-elementor"); ?>: <b><span id="span_catdialog_id"></span></b> <br><br> <?php esc_html_e("Edit Title", "unlimited-elements-for-elementor"); ?>: <input type="text" id="uc_dialog_edit_category_title" class="unite-input-regular"> <?php $prefix = "uc_dialog_edit_category"; $buttonTitle = esc_html__("Update Category", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Updating Category...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("Category Updated", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> </div> <?php } protected function putDialogAddCategory() { ?> <div id="uc_dialog_add_category" title="<?php esc_html_e("Add New Category", "unlimited-elements-for-elementor"); ?>" style="display:none;" class="unite-inputs"> <div class="unite-dialog-top"></div> <div class="unite-inputs-label"><?php esc_html_e("Enter Category Name", "unlimited-elements-for-elementor"); ?></div> <input id="uc_dialog_add_category_catname" type="text" class="unite-input-regular" value=""> <?php $prefix = "uc_dialog_add_category"; $buttonTitle = esc_html__("Create Category", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Adding Category...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("Category Added", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> </div> <?php } protected function putDialogDeleteCategory() { ?> <div id="uc_dialog_delete_category" title="<?php esc_html_e("Delete Category", "unlimited-elements-for-elementor"); ?>" style="display:none;" class="unite-inputs"> <div class="unite-dialog-top"></div> <?php esc_html_e("Are you sure you want to delete the: "); ?> <b><span id="uc_dialog_delete_category_catname"></span></b> <?php esc_html_e(" category and all it's widgets?"); ?> <?php $prefix = "uc_dialog_delete_category"; $buttonTitle = esc_html__("Delete Category", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Deleting Category...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("Category and it's addons Deleted", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> </div> <?php } protected function getMenuCategory() { $arrMenuCat = array(); $arrMenuCat["no_action"] = esc_html__("No Action", "unlimited-elements-for-elementor"); return $arrMenuCat; } protected function putRightMenu($arrMenu, $menuID, $menuType) { ?> <!-- Right menu <?php echo esc_html($menuType); ?> --> <ul id="<?php echo esc_attr($menuID); ?>" class="unite-context-menu" data-type="<?php echo esc_attr($menuType); ?>" style="display:none"> <?php foreach ($arrMenu as $operation => $text) { $class = ""; if (is_array($text)) { $arr = $text; $text = $arr["text"]; $class = UniteFunctionsUC::getVal($arr, "class"); } if (!empty($class)) { $class = esc_attr($class); $class = "class='{$class}'"; } ?> <li> <a href="javascript:void(0)" data-operation="<?php echo esc_attr($operation); ?>" <?php echo UniteProviderFunctionsUC::escAddParam($class); ?>><?php echo esc_html($text); ?></a> </li> <?php } ?> </ul> <?php } private function putMenuCategory() { $arrMenuCat = $this->getMenuCategory(); $this->putRightMenu($arrMenuCat, "rightmenu_cat", "category"); } private function putMenuCatField() { $arrMenuCatField = array(); $arrMenuCatField["add_category"] = __("Add Category", "unlimited-elements-for-elementor"); if ($this->enableCatsActions == false) { $arrMenuCatField = array(); $arrMenuCatField["no_action"] = __("No Action", "unlimited-elements-for-elementor"); } $this->putRightMenu($arrMenuCatField, "rightmenu_catfield", "category_field"); } protected function putCatRelatedItems() { $this->putMenuCopyMove(); $this->putMenuCategory(); $this->putMenuCatField(); $this->putDialogEditCategory(); $this->putDialogAddCategory(); $this->putDialogDeleteCategory(); } protected function a___________MAIN_FUNCTIONS_________() { } private function validateInited() { if (empty($this->type)) { UniteFunctionsUC::throwError("The manager is not inited"); } } protected function putInitItems() { } protected function putListWrapperContent() { } protected function putHtmlAfterButtons() { } private function putItemsWrapper() { $addClass = ""; if (!empty($this->viewType)) { $addClass = " listitems-view-" . esc_attr($this->viewType); } $listClass = "uc-listitems-" . $this->type; if (!empty($this->listClassType)) { $listClass = "uc-listitems-" . $this->listClassType; } ?> <div class="items_wrapper unselectable"> <?php if ($this->enableActions == true) { ?> <div id="manager_buttons" class="manager_buttons"> <?php $this->putItemsButtons(); ?> </div> <?php } ?> <?php $this->putHtmlAfterButtons(); ?> <hr> <?php $this->putItemsFilters(); ?> <div id="items_outer" class="items_outer"> <div id="items_list_wrapper" class="items_list_wrapper unselectable"> <div id="items_loader" class="items_loader" style="display:none;"> <?php echo esc_html($this->itemsLoaderText); ?>... </div> <div id="no_items_text" class="no_items_text" style="display:none;"> <?php echo UniteProviderFunctionsUC::escCombinedHtml($this->getNoItemsText()); ?> </div> <?php $this->putListWrapperContent(); ?> <ul id="uc_list_items" class="list_items unselectable <?php echo esc_attr($listClass); ?> <?php echo esc_attr($addClass); ?>"><?php $this->putInitItems(); ?></ul> <div id="drag_indicator" class="drag_indicator" style="display:none;"></div> <div id="shadow_bar" class="shadow_bar" style="display:none"></div> <div id="select_bar" class="select_bar" style="display:none"></div> </div> </div> </div> <?php } protected function getHtmlSelectCats() { echo "getHtmlSelectCats: function for override"; exit; } protected function putStatusLineOperationsAdditions() { } private function putStatusLineOperations() { ?> <div class="status_operations"> <div class="status_num_selected"> <span id="num_items_selected">0</span> <?php echo esc_attr($this->textItemsSelected); ?> </div> <?php if ($this->hasCats == true) { $htmlCatSelect = $this->getHtmlSelectCats(); ?> <div id="item_operations_wrapper" class="item_operations_wrapper unite-disabled"> <?php esc_html_e("Move To", "unlimited-elements-for-elementor"); ?> <select id="select_item_category" disabled="disabled"> <?php echo UniteProviderFunctionsUC::escCombinedHtml($htmlCatSelect); ?> </select> <a id="button_items_operation" class="unite-button-secondary button-disabled" href="javascript:void(0)">GO</a> </div> <?php } ?> <?php $this->putStatusLineOperationsAdditions(); ?> </div> <?php } private function putStatusLine() { ?> <div class="status_line"> <?php if ($this->enableStatusLineOperations == true) { $this->putStatusLineOperations(); } ?> <div class="status_loader_wrapper"> <div id="status_loader" class="status_loader" style="display:none;"></div> </div> <div class="status_text_wrapper"> <span id="status_text" class="status_text" style="display:none;"></span> </div> <?php if ($this->putDialogDebug == true) { ?> <a href="javascript:void(0)" class="manager-button-debug-dialog" title="<?php _e("Show Debug Data", "unlimited-elements-for-elementor"); ?>"> <i class="fas fa-question"></i> </a> <?php } ?> <?php if ($this->putUpdateCatalogButton == true) { ?> <a href="javascript:void(0)" class="manager-button-update-catalog" title="<?php _e("Update Catalog", "unlimited-elements-for-elementor"); ?>"> <i class="fas fa-sync"></i> </a> <?php } ?> </div> <?php } private function putMenuCopyMove() { ?> <ul id="menu_copymove" class="unite-context-menu" style="display:none"> <li> <a href="javascript:void(0)" data-operation="copymove_move"><?php esc_html_e("Move Here", "unlimited-elements-for-elementor"); ?></a> </li> </ul> <?php } private function putMenuSingleItem() { $arrMenuItem = $this->getMenuSingleItem(); if (!is_array($arrMenuItem)) { $arrMenuItem = array(); } $this->putRightMenu($arrMenuItem, "rightmenu_item", "single_item"); } protected function getMenuMulitipleItems() { $arrMenuItemMultiple = array(); $arrMenuItemMultiple["no_action"] = __("No Action", "unlimited-elements-for-elementor"); return $arrMenuItemMultiple; } private function putMenuMultipleItems() { $arrMenuItemMultiple = $this->getMenuMulitipleItems(); ?> <!-- Right menu multiple --> <ul id="rightmenu_item_multiple" class="unite-context-menu" style="display:none"> <?php foreach ($arrMenuItemMultiple as $operation => $text) { ?> <li> <a href="javascript:void(0)" data-operation="<?php echo esc_attr($operation); ?>"><?php echo esc_html($text); ?></a> </li> <?php } ?> </ul> <?php } private function putMenuField() { $arrMenuField = $this->getMenuField(); ?> <!-- Right menu field --> <ul id="rightmenu_field" class="unite-context-menu" style="display:none"> <?php foreach ($arrMenuField as $operation => $text) { ?> <li> <a href="javascript:void(0)" data-operation="<?php echo esc_attr($operation); ?>"><?php echo esc_html($text); ?></a> </li> <?php } ?> </ul> <?php } public function setViewType($viewType) { $this->viewType = $viewType; } public function getManagerName() { return $this->managerName; } public function setManagerName($name) { $this->managerName = $name; } public function addPassData($key, $value) { if (empty($this->arrPassData)) { $this->arrPassData = array(); } $this->arrPassData[$key] = $value; } public static function putScriptsIncludes($type) { HelperUC::addScript("dropzone", "dropzone_js", "js/dropzone"); HelperUC::addStyle("dropzone", "dropzone_css", "js/dropzone"); HelperUC::addScript("unitecreator_manager_items", "unitecreator_manager_items", "js/manager"); HelperUC::addScript("unitecreator_manager", "unitecreator_manager", "js/manager"); HelperUC::addStyle("unitecreator_manager", "unitecreator_manager_css"); switch ($type) { case self::TYPE_PAGES: case self::TYPE_ADDONS: HelperUC::addScript("unitecreator_manager_cats", "unitecreator_manager_cats", "js/manager"); HelperUC::addScript("unitecreator_manager_actions_addons", "unitecreator_manager_actions_addons", "js/manager"); HelperUC::addScript("unitecreator_browser", "unitecreator_browser"); HelperUC::addStyle("unitecreator_browser", "unitecreator_browser_css"); break; case self::TYPE_ITEMS_INLINE: HelperUC::addScript("unitecreator_params_dialog", "unitecreator_params_dialog"); HelperUC::addScript("unitecreator_manager_actions_inline", "unitecreator_manager_actions_inline", "js/manager"); break; } } protected function onBeforePutHtml() { } protected function putHtmlHeaderLine() { } public function outputHtml() { $this->validateInited(); $this->onBeforePutHtml(); $addClass = ""; if ($this->hasCats == false) { $addClass = " uc-nocats "; } $managerClass = "uc-manager-" . $this->type; if (!empty($this->addClass)) { $managerClass .= " " . $this->addClass; } $htmlPassData = ""; if (!empty($this->arrPassData)) { $htmlPassData = UniteFunctionsUC::jsonEncodeForHtmlData($this->arrPassData, "passdata"); } if (!empty($this->arrText)) { $optionText = UniteFunctionsUC::jsonEncodeForHtmlData($this->arrText, "text"); if (!empty($optionText)) { $this->managerAddHtml .= " " . $optionText; } } if (!empty($this->arrOptions)) { $optionOptions = UniteFunctionsUC::jsonEncodeForHtmlData($this->arrOptions, "options"); if (!empty($optionOptions)) { $this->managerAddHtml .= " " . $optionOptions; } } try { ?> <div id="uc_managerw" class="uc-manager-outer <?php echo esc_attr($managerClass); ?>" data-managername="<?php echo esc_attr($this->managerName); ?>" data-type="<?php echo esc_attr($this->type); ?>" <?php echo UniteProviderFunctionsUC::escAddParam($htmlPassData); ?> <?php echo UniteProviderFunctionsUC::escAddParam($this->managerAddHtml); ?>> <?php if ($this->hasHeaderLine == true) { $this->putHtmlHeaderLine(); } ?> <div class="manager_wrapper <?php echo esc_attr($addClass); ?> unselectable" > <?php if ($this->hasCats == true) { ?> <table class="layout_table" width="100%" cellpadding="0" cellspacing="0"> <tr> <td class="cell_cats" width="220px" valign="top"> <?php $this->putHtmlCats(); ?> </td> <td class="cell_items" valign="top"> <?php $this->putItemsWrapper(); ?> </td> </tr> <tr> <td colspan="2"> <?php $this->putStatusLine(); ?> </td> </tr> </table> <?php } else { ?> <?php $this->putItemsWrapper(); $this->putStatusLine(); ?> <?php } ?> </div> <!-- end manager wrapper --> <div id="manager_shadow_overlay" class="manager_shadow_overlay" style="display:none"></div> <?php $this->putMenuSingleItem(); $this->putMenuMultipleItems(); $this->putMenuField(); if ($this->hasCats) { $this->putCatRelatedItems(); } $this->putAddHtml(); ?> </div> <?php } catch (Exception $e) { $message = "<br><br>manager error: <b>" . $e->getMessage() . "</b>"; echo "</div>"; echo "</div>"; echo "</div>"; echo "<div class='unite-color-red'>" . esc_html($message) . "</div>"; if (GlobalsUC::SHOW_TRACE == true) { dmp($e->getTraceAsString()); } } } public function init($type = "") { $this->beforeInit($type); $this->validateInited(); $this->itemsLoaderText = __("Getting Items", "unlimited-elements-for-elementor"); $this->textItemsSelected = __("items selected", "unlimited-elements-for-elementor"); if ($this->hasCats) { $this->objCats = new UniteCreatorCategories(); $this->selectedCategory = ""; } $this->afterInit($type); } }