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
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access'); class HelperHtmlUC extends UniteHelperBaseUC { private static $isGlobalJSPut = false; private static $isPutBrowsersOnce = false; protected function z_____GETTERS______() { } public static function getHtmlLink($link, $text, $id = "", $class = "", $isNewWindow = false) { if (!empty($class)) { $class = " class='{$class}'"; } if (!empty($id)) { $id = " id='{$id}'"; } $htmlAdd = ""; if ($isNewWindow == true) { $htmlAdd = ' target="_blank"'; } $html = "<a href=\"{$link}\"" . $id . $class . $htmlAdd . ">{$text}</a>"; return $html; } public static function getHTMLSelect($arr, $default = "", $htmlParams = "", $assoc = false, $addData = null, $addDataText = null) { $html = "<select {$htmlParams}>"; if ($addData == "not_chosen") { $selected = ""; $default = trim($default); if (empty($default)) { $selected = " selected='selected' "; } $itemText = $addDataText; if (empty($itemText)) { $itemText = "[" . esc_html__("not chosen", "unlimited-elements-for-elementor") . "]"; } $html .= "<option {$selected} value=''>{$itemText}</option>"; } foreach ($arr as $key => $item) { $selected = ""; if ($assoc == false) { if ($item == $default) { $selected = " selected='selected' "; } } else { if (trim($key) == trim($default)) { $selected = " selected='selected' "; } } $addHtml = ""; if (strpos($key, "html_select_sap") !== false) { $addHtml = " disabled"; } if ($assoc == true) { $html .= "<option {$selected} value='{$key}' {$addHtml}>{$item}</option>"; } else { $html .= "<option {$selected} value='{$item}' {$addHtml}>{$item}</option>"; } } $html .= "</select>"; return $html; } public static function getTableAddonsRow($addonID, $title) { $editLink = HelperUC::getViewUrl_EditAddon($addonID); $htmlTitle = htmlspecialchars($title); $html = "<tr>\n"; $html .= "<td><a href='{$editLink}'>{$title}</a></td>\n"; $html .= "\t<td>\n"; $html .= " \t <a href='{$editLink}' class='unite-button-secondary float_left mleft_15'>" . esc_html__("Edit", "unlimited-elements-for-elementor") . "</a>\n"; $html .= "\t\t<a href='javascript:void(0)' data-addonid='{$addonID}' class='uc-button-delete unite-button-secondary float_left mleft_15'>" . esc_html__("Delete", "unlimited-elements-for-elementor") . "</a>"; $html .= "\t\t<span class='loader_text uc-loader-delete mleft_10' style='display:none'>" . esc_html__("Deleting", "unlimited-elements-for-elementor") . "</span>"; $html .= "\t\t<a href='javascript:void(0)' data-addonid='{$addonID}' class='uc-button-duplicate unite-button-secondary float_left mleft_15'>" . esc_html__("Duplicate", "unlimited-elements-for-elementor") . "</a>\n"; $html .= "\t\t<span class='loader_text uc-loader-duplicate mleft_10' style='display:none'>" . esc_html__("Duplicating", "unlimited-elements-for-elementor") . "</span>"; $html .= "\t\t<a href='javascript:void(0)' data-addonid='{$addonID}' data-title='{$htmlTitle}' class='uc-button-savelibrary unite-button-secondary float_left mleft_15'>" . esc_html__("Save To Library", "unlimited-elements-for-elementor") . "</a>\n"; $html .= "\t\t<span class='loader_text uc-loader-save mleft_10' style='display:none'>" . esc_html__("Saving to library", "unlimited-elements-for-elementor") . "</span>"; $html .= "\t</td>\n"; $html .= "\t</tr>\n"; return $html; } public static function getGlobalJsOutput() { if (self::$isGlobalJSPut == true) { return ""; } self::$isGlobalJSPut = true; $jsArrayText = UniteFunctionsUC::phpArrayToJsArrayText(GlobalsUC::$arrClientSideText, "\t\t\t\t"); $pathAssets = HelperUC::pathToRelative(GlobalsUC::$pathAssets, false); $pathAssets = urlencode($pathAssets); $objWebAPI = new UniteCreatorWebAPI(); $isNeedCheckCatalog = $objWebAPI->isTimeToCheckCatalog(); $arrGeneralSettings = array(); $arrGeneralSettings["color_picker_type"] = HelperUC::getGeneralSetting("color_picker_type"); $arrGeneralSettings = UniteProviderFunctionsUC::applyFilters(UniteCreatorFilters::FILTER_CLIENTSIDE_GENERAL_SETTINGS, $arrGeneralSettings); $strGeneralSettings = UniteFunctionsUC::jsonEncodeForClientSide($arrGeneralSettings); $js = ""; $js .= self::TAB2 . 'var g_pluginNameUC = "' . GlobalsUC::PLUGIN_NAME . '";' . self::BR; $js .= self::TAB2 . 'var g_pathAssetsUC = decodeURIComponent("' . $pathAssets . '");' . self::BR; $js .= self::TAB2 . 'var g_urlAjaxActionsUC = "' . GlobalsUC::$url_ajax . '";' . self::BR; $js .= self::TAB2 . 'var g_urlViewBaseUC = "' . GlobalsUC::$url_component_admin . '";' . self::BR; $js .= self::TAB2 . 'var g_urlViewBaseNowindowUC = "' . GlobalsUC::$url_component_admin_nowindow . '";' . self::BR; $js .= self::TAB2 . 'var g_urlBaseUC = "' . GlobalsUC::$url_base . '";' . self::BR; $js .= self::TAB2 . 'var g_urlAssetsUC = "' . GlobalsUC::$url_assets . '";' . self::BR; $js .= self::TAB2 . 'var g_settingsObjUC = {};' . self::BR; $js .= self::TAB2 . 'var g_ucAdmin;' . self::BR; if (GlobalsUC::$is_admin_debug_mode == true) { $js .= self::TAB2 . 'var g_ucDebugMode=true;' . self::BR; } $js .= self::TAB2 . "var g_ucGeneralSettings = {$strGeneralSettings};" . self::BR; if (GlobalsUC::$enableWebCatalog == true) { if ($isNeedCheckCatalog) { $js .= self::TAB2 . 'var g_ucCheckCatalog = true;' . self::BR; } $js .= self::TAB2 . 'var g_ucCatalogAddonType="' . GlobalsUC::$defaultAddonType . '";' . self::BR; } $jsonFaIcons = UniteFontManagerUC::fa_getJsonIcons(); $js .= self::TAB2 . 'var g_ucFaIcons = ' . $jsonFaIcons . ';' . self::BR; $objShapes = new UniteShapeManagerUC(); $jsonShapes = $objShapes->getJsonShapes(); $js .= self::TAB2 . 'var g_ucArrSvgShapes = ' . $jsonShapes . ';' . self::BR; if (method_exists("UniteProviderFunctionsUC", "getNonce")) { $js .= self::TAB2 . "var g_ucNonce='" . UniteProviderFunctionsUC::getNonce() . "';"; } $js .= self::TAB2 . 'var g_uctext = {' . self::BR; $js .= self::TAB3 . $jsArrayText . self::BR; $js .= self::TAB2 . '};' . self::BR; return $js; } public static function getGlobalDebugDivs() { $html = ""; $html .= self::TAB2 . '<div id="div_debug" class="unite-div-debug"></div>' . self::BR; $html .= self::TAB2 . '<div id="debug_line" style="display:none"></div>' . self::BR; $html .= self::TAB2 . '<div id="debug_side" style="display:none"></div>' . self::BR; $html .= self::TAB2 . '<div class="unite_error_message" id="error_message" style="display:none;"></div>' . self::BR; $html .= self::TAB2 . '<div class="unite_success_message" id="success_message" style="display:none;"></div>' . self::BR; return $html; } public static function getVersionText() { $filepath = GlobalsUC::$pathPlugin . "release_log.txt"; $content = file_get_contents($filepath); return $content; } public static function getErrorMessageHtml($message, $trace = "") { $html = '<div class="unite-error-message">'; $html .= '<div style="unite-error-message-inner">'; $html .= $message; if (!empty($trace)) { $html .= '<div class="unite-error-message-trace">'; $html .= "<pre>{$trace}</pre>"; $html .= "</div>"; } $html .= '</div></div>'; return $html; } public static function getHtmlSettings($filename, $formID, $arrValues = array()) { ob_start(); $html = self::putHtmlSettings($filename, $formID, $arrValues); $html = ob_get_contents(); ob_clean(); ob_end_clean(); return $html; } public static function getHtmlCustomScripts($arrScripts) { if (empty($arrScripts)) { return ""; } if (is_array($arrScripts) == false) { UniteFunctionsUC::throwError("arrScripts should be array"); } if (count($arrScripts) == 1 && empty($arrScripts[0])) { return ""; } $html = "<script type='text/javascript'>" . self::BR; foreach ($arrScripts as $script) { $html .= $script . self::BR; } $html .= "</script>" . self::BR; return $html; } public static function getHtmlCustomStyles($arrStyles, $wrapInTag = true) { if (empty($arrStyles)) { return ""; } $css = ""; if (is_array($arrStyles) == false) { $css = $arrStyles; } else { if (count($arrStyles) == 1 && empty($arrStyles[0])) { return ""; } foreach ($arrStyles as $style) { $css .= $style . self::BR; } } if ($wrapInTag == false) { return $css; } $html = "<style type='text/css'>" . self::BR; $html .= $css; $html .= "</style>" . self::BR; return $html; } public static function getHtmlCssInclude($url) { $html = "<link rel=\"stylesheet\" type=\"text/css\" href=\"{$url}\">"; return $html; } public static function getHtmlJsInclude($url) { $html = "<script type=\"text/javascript\" src=\"{$url}\"></script>"; return $html; } private static function getHtmlIncludes($type, $arrIncludes, $tab = null) { if (empty($arrIncludes)) { return ""; } $html = ""; foreach ($arrIncludes as $urlInclude) { if ($tab !== null) { $html .= $tab; } if ($type == "css") { $html .= self::getHtmlCssInclude($urlInclude) . self::BR; } else { $html .= self::getHtmlJsInclude($urlInclude) . self::BR; } } return $html; } public static function getHtmlCssIncludes($arrCssIncludes, $tab = null) { return self::getHtmlIncludes("css", $arrCssIncludes, $tab); } public static function getHtmlJsIncludes($arrJsIncludes, $tab = null) { return self::getHtmlIncludes("js", $arrJsIncludes, $tab); } protected function z_________PUTTERS_______() { } public static function putAddonTypesBrowserDialogs($filterType = null, $objLayoutType = null) { if (self::$isPutBrowsersOnce == true) { return false; } self::$isPutBrowsersOnce = true; $arrMultipleTypesRegular = null; if (!empty($objLayoutType) && !empty($objLayoutType->arrLayoutBrowserAddonTypes)) { $arrMultipleTypesRegular = $objLayoutType->arrLayoutBrowserAddonTypes; } if (!empty($filterType)) { if (is_array($arrTypes)) { $arrTypes = $filterType; } else { $arrTypes = array($filterType); } } else { $arrTypes = array(GlobalsUC::ADDON_TYPE_REGULAR_ADDON, GlobalsUC::ADDON_TYPE_SHAPE_DEVIDER, GlobalsUC::ADDON_TYPE_LAYOUT_SECTION, GlobalsUC::ADDON_TYPE_SHAPES, GlobalsUC::ADDON_TYPE_BGADDON); } foreach ($arrTypes as $addontype) { if ($addontype == GlobalsUC::ADDON_TYPE_REGULAR_ADDON && !empty($arrMultipleTypesRegular)) { $addontype = $arrMultipleTypesRegular; } $objBrowser = new UniteCreatorBrowser(); $objBrowser->initAddonType($addontype); $objBrowser->putBrowser(); } } public static function putGlobalsHtmlOutput() { if (self::$isGlobalJSPut == true) { return false; } ?> <script type="text/javascript"> <?php echo self::getGlobalJsOutput(); ?> </script> <?php echo self::getGlobalDebugDivs(); if (method_exists("UniteProviderFunctionsUC", "putMasterHTML")) { UniteProviderFunctionsUC::putMasterHTML(); } ?> <?php } public static function putDialogControlFieldsNotice() { ?> <div class="unite-inputs-sap"></div> <div class="unite-inputs-label unite-italic"> * <?php esc_html_e("only dropdown and radio boolean field types are used for conditional inputs", "unlimited-elements-for-elementor"); ?>. </div> <?php } public static function putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle, $buttonClass = "primary") { $prefix = esc_attr($prefix); ?> <div id="<?php echo esc_attr($prefix); ?>_actions_wrapper" class="unite-dialog-actions"> <a id="<?php echo esc_attr($prefix); ?>_action" href="javascript:void(0)" class="unite-button-<?php echo esc_attr($buttonClass); ?>"><?php echo esc_html($buttonTitle); ?></a> <div id="<?php echo esc_attr($prefix); ?>_loader" class="loader_text" style="display:none"><?php echo esc_html($loaderTitle); ?></div> <div id="<?php echo esc_attr($prefix); ?>_error" class="unite-dialog-error" style="display:none"></div> <div id="<?php echo esc_attr($prefix); ?>_success" class="unite-dialog-success" style="display:none"><?php echo esc_html($successTitle); ?></div> </div> <?php } public static function putPluginVersionHtml() { $objPlugins = new UniteCreatorPlugins(); $arrPlugins = $objPlugins->getArrPlugins(); if (empty($arrPlugins)) { return false; } foreach ($arrPlugins as $plugin) { $name = UniteFunctionsUC::getVal($plugin, "name"); $title = UniteFunctionsUC::getVal($plugin, "title"); $version = UniteFunctionsUC::getVal($plugin, "version"); $silentMode = UniteFunctionsUC::getVal($plugin, "silent_mode"); $silentMode = UniteFunctionsUC::strToBool($silentMode); if ($silentMode == true) { continue; } switch ($name) { case "create_addons": $title = "Create addons plugin {$version}"; break; default: $title = "{$title} {$version}"; break; } echo ", "; echo UniteProviderFunctionsUC::escCombinedHtml($title); } } public static function outputError(Error $e) { $message = $e->getMessage(); $trace = $e->getTraceAsString(); $line = $e->getLine(); $file = $e->getFile(); dmp("PHP Error Occured!!!"); dmp("<b>{$message} </b>"); dmp("in file: <b>{$file}</b> (line: <b>{$line}</b>)"); dmp("trace: "); dmp($trace); } public static function outputException($e, $prefix = "", $forceTrace = false) { if (empty($prefix)) { $prefix = GlobalsUC::$currentPluginTitle . " Error: "; } $message = $prefix . $e->getMessage(); $trace = $e->getTraceAsString(); echo "<div style='color:darkred;'>"; dmp($message); if (GlobalsUC::SHOW_TRACE == true || $forceTrace === true) { dmp($trace); } else { if ($e instanceof Error) { dmp($trace); } } echo "</div>"; } public static function outputExceptionBox($e, $prefix = "") { $message = $e->getMessage(); if (!empty($prefix)) { $message = $prefix . ": " . $message; } $trace = ""; $showTrace = GlobalsUC::SHOW_TRACE_FRONT; if (UniteProviderFunctionsUC::isAdmin() == true) { $showTrace = GlobalsUC::SHOW_TRACE; } if ($showTrace) { $trace = $e->getTraceAsString(); } $html = self::getErrorMessageHtml($message, $trace); echo UniteProviderFunctionsUC::escCombinedHtml($html); } public static function getHiddenInputField($name, $value) { $value = htmlspecialchars($value); $name = esc_attr($name); $value = esc_attr($value); $html = '<input type="hidden" name="' . $name . '" value="' . $value . '">'; return $html; } public static function putHtmlSettings($filename, $formID, $arrValues = array(), $pathSettings = null) { if ($pathSettings === null) { $pathSettings = GlobalsUC::$pathSettings; } $filepathSettings = $pathSettings . "{$filename}.xml"; UniteFunctionsUC::validateFilepath($filepathSettings, "settings file - {$filename}.xml"); $settings = new UniteSettingsAdvancedUC(); $settings->loadXMLFile($filepathSettings); if (!empty($arrValues)) { $settings->setStoredValues($arrValues); } $output = new UniteSettingsOutputWideUC(); $output->init($settings); $output->draw($formID); } public static function drawSettingsGetHtml($settings, $formName) { $output = new UniteSettingsOutputWideUC(); $output->init($settings); ob_start(); $output->draw($formName); $htmlSettings = ob_get_contents(); ob_end_clean(); return $htmlSettings; } public static function drawSettings($settings, $formName = null) { $output = new UniteSettingsOutputWideUC(); $drawForm = false; if (!empty($formName)) { $drawForm = true; } $output->init($settings); $output->draw($formName, $drawForm); } public static function outputMemoryUsageLog() { $arrLog = HelperUC::getLastMemoryUsage(); if (empty($arrLog)) { echo "no memory log found"; return false; } $timestamp = $arrLog[0]["time"]; $date = UniteFunctionsUC::timestamp2DateTime($timestamp); $urlPage = UniteFunctionsUC::getVal($arrLog[0], "current_page"); ?> <div class="unite-title1">Last log from: <b><?php echo esc_html($date); ?></b></div> <div>Page: <b><?php echo esc_html($urlPage); ?></b></div> <br> <table class="unite-table"> <tr> <th> Operation </th> <th> Usage </th> <th> Diff </th> </tr> <?php foreach ($arrLog as $item) { $operation = $item["oper"]; $usage = $item["usage"]; $diff = $item["diff"]; $usage = number_format($usage); $diff = number_format($diff); ?> <tr> <td> <?php echo esc_html($operation); ?> </td> <td> <?php echo esc_html($usage); ?> </td> <td> <?php echo esc_html($diff); ?> </td> </tr> <?php } ?> </table> <?php } public static function putHtmlAdminNotices() { $arrNotices = HelperUC::getAdminNotices(); if (empty($arrNotices)) { return false; } $html = ""; foreach ($arrNotices as $notice) { $notice = esc_attr($notice); $html .= "\n<div class='unite-admin-notice'>{$notice}</div>\n"; } echo UniteProviderFunctionsUC::escCombinedHtml($html); } public static function putFooterAdminNotices() { $arrNotices = HelperUC::getAdminNotices(); if (empty($arrNotices)) { return false; } ?> <script> jQuery(document).ready(function(){ var objHeader = jQuery(".unite_header_wrapper"); if(objHeader){ <?php foreach ($arrNotices as $notice) { $notice = htmlspecialchars($notice); echo "objHeader.append(\"<div class=\\'unite-admin-notice\\'>{$notice}</div>\");"; } ?> } }); </script> <?php } public static function putInternalAdminNotices() { $masterNotice = null; if (strpos(GlobalsUC::URL_API, "http://localhost") !== false) { $masterNotice = "Dear developer, Please remove local API url in globals"; } if (empty($masterNotice)) { return false; } ?> <div class="unite-admin-notice"> <?php echo esc_html($masterNotice); ?> </div> <?php } public static function wrapCssMobile($css, $isTablet = false) { if (empty($css)) { return $css; } if (is_string($isTablet)) { $isTablet = $isTablet == "tablet"; } if ($isTablet == true) { $output = "@media (max-width:768px){{$css}}"; } else { $output = "@media (max-width:480px){{$css}}"; } return $output; } public static function getRatingArray($rating) { $arrRating = array(); $empty = array("type" => "empty", "class" => "far fa-star"); $full = array("type" => "full", "class" => "fas fa-star"); $half = array("type" => "half", "class" => "fas fa-star-half-alt"); for ($i = 1; $i <= 5; $i++) { $low = floor($rating); if ($rating == 0) { $arrRating[] = $empty; continue; } if ($rating < $i && $rating > $i - 1) { $arrRating[] = $half; continue; } if ($i <= $low) { $arrRating[] = $full; continue; } $arrRating[] = $empty; } return $arrRating; } }