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 UniteCreatorAssets { const OPTION_WRAPPER_STYLE = "wrapper_style"; const OPTION_ID = "id"; const OPTION_CHECKBOX_ON_TYPES = "checkboxes_on_types"; const OPTION_SHOW_ONLY_TYPES = "show_only_types"; const OPTION_FILTER_FOLDER_NAMES = "filter_folder_names"; const OPTION_DISABLE_CHECKBOXES = "disable_checkboxes"; const OPTION_PUT_ACTIVEPATH = "put_activepath"; const OPTION_FOLDERS_ONLY = "folders_only"; const OPTION_SINGLE_ITEM_SELECT = "single_item_select"; const OPTION_THUMBS_VIEW = "is_thumbs_view"; const OPTION_SHOW_FILE_EXTENTIONS = "show_file_extensions"; const FILETYPE_ALLOWED = "allowed"; const FILETYPE_DEFAULT = "default"; const FILETYPE_IMAGE = "image"; const FILETYPE_AUDIO = "audio"; const FILETYPE_CSS = "css"; const FILETYPE_PHP = "php"; const FILETYPE_JS = "js"; const FILETYPE_HTML = "html"; const FILETYPE_DOCUMENT = "document"; const FILETYPE_VIDEO = "video"; const FILETYPE_ZIP = "zip"; const FILETYPE_XML = "xml"; protected $options = array(); private static $serial = 0; private $startPath = ""; private $customStartPath = null; protected $pathKey; protected $arrCheckedUrls = array(); protected $isBrowerMode = false; protected $flagPutOnce = false; protected $objAddon = null; public function __construct() { self::$serial++; } protected function setBrowserMode() { $this->isBrowerMode = true; } protected function setDefaultOptions() { $defaults = array(); $defaults[self::OPTION_PUT_ACTIVEPATH] = true; $defaults[self::OPTION_FOLDERS_ONLY] = false; $defaults[self::OPTION_DISABLE_CHECKBOXES] = false; $defaults[self::OPTION_SINGLE_ITEM_SELECT] = false; $defaults[self::OPTION_THUMBS_VIEW] = false; $defaults[self::OPTION_SHOW_FILE_EXTENTIONS] = true; $this->options = $defaults; } protected function setCheckedUrls($arrUrls) { $this->arrCheckedUrls = $arrUrls; } protected function setCheckedFiles($path, $arrFiles) { if (empty($arrFiles)) { return false; } if (is_array($arrFiles) == false) { $arrFiles = array($arrFiles); } $this->sanitizePath($path); $urlDir = $this->getUrlDir($path); $arrUrls = array(); foreach ($arrFiles as $file) { $url = $urlDir . $file; $arrUrls[] = $url; } $this->setCheckedUrls($arrUrls); } protected function setStartPath($startPath) { $startPath = UniteFunctionsUC::pathToUnix($startPath); $this->startPath = $startPath; } private function a_VALIDATIONS() { } protected function validateInited() { if (empty($this->pathKey)) { UniteFunctionsUC::throwError("assets not inited"); } } private function validateStartPath() { if (empty($this->startPath)) { UniteFunctionsUC::throwError("Path not inited"); } } private function validatePathUnderStartPath($path) { $this->validateStartPath(); $path = realpath($path); $realStartPath = realpath($this->startPath); $searchPos = strpos($path, $realStartPath); if ($searchPos !== 0) { UniteFunctionsUC::throwError("Wrong path, should be under start path only"); } } private function validateFolderName($folderName) { if (strpbrk($folderName, "\\/?%*:|\"<>") !== FALSE) { UniteFunctionsUC::throwError("The folder name: {$folderName} is not valid"); } } private function validateFilename($filename) { if (strpbrk($filename, "\\/?%*:|\"<>") !== FALSE) { UniteFunctionsUC::throwError("The file name: {$filename} is not valid"); } } private function validateAllowedFiletype($filename) { $ext = pathinfo($filename, PATHINFO_EXTENSION); $fileType = $this->getFileType($filename); if (empty($ext)) { UniteFunctionsUC::throwError("Files without extension don't allowed in assets"); } switch ($fileType) { case self::FILETYPE_PHP: case self::FILETYPE_DEFAULT: UniteFunctionsUC::throwError("File <b>{$filename}</b> type not allowed in assets"); break; } } private function validateFileAllowedForEdit($filename) { $fileType = $this->getFileType($filename); $ext = pathinfo($filename, PATHINFO_EXTENSION); if (empty($ext)) { UniteFunctionsUC::throwError("Can't edit files without extension"); } switch ($fileType) { case self::FILETYPE_DOCUMENT: case self::FILETYPE_HTML: case self::FILETYPE_XML: case self::FILETYPE_JS: case self::FILETYPE_CSS: break; default: UniteFunctionsUC::throwError("File <b>{$filename}</b> type not allowed in to edit"); break; } } protected function validateEditFileData($path, $filename) { $path = $this->sanitizePath($path); $this->validateFilename($filename); $this->validateFileAllowedForEdit($filename); $filepath = $path . $filename; if (file_exists($filepath) == false) { UniteFunctionsUC::throwError("The file: {$filename} not exists."); } return $filepath; } private function isFilenameValidForDelete($filename) { if (strpos($filename, "..") !== false) { return false; } if (strpos($filename, "/") !== false) { return false; } if (strpos($filename, "\\") !== false) { return false; } return true; } private function validateCreateNewFileFolder($path, $filename, $isFile = true) { $path = $this->sanitizePath($path); if ($isFile == true) { $this->validateFilename($filename); $this->validateAllowedFiletype($filename); } else { $this->validateFolderName($filename); } $filepath = $path . $filename; if (is_file($filepath) == true) { UniteFunctionsUC::throwError("file with name <b>{$filename}</b> already exists"); } if (is_dir($filepath) == true) { UniteFunctionsUC::throwError("folder <b>{$filename}</b> already exists"); } return $filepath; } private function a_GETTERS() { } private function getOption($name, $default = null) { if (array_key_exists($name, $this->options) == false) { return $default; } $option = $this->options[$name]; return $option; } protected function getArrOptionsForClient() { $arrOptionNames = array(self::OPTION_SINGLE_ITEM_SELECT); $arrOptions = array(); foreach ($arrOptionNames as $option) { $arrOptions[$option] = $this->getOption($option); } return $arrOptions; } private function getFileType($filename) { $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); switch ($ext) { case "php": return self::FILETYPE_PHP; break; case "jpg": case "png": case "jpeg": case "gif": return self::FILETYPE_IMAGE; break; case "svg": case "txt": case "doc": case "ini": case "md": return self::FILETYPE_DOCUMENT; break; case "html": case "htm": return self::FILETYPE_HTML; break; case "css": return self::FILETYPE_CSS; break; case "js": return self::FILETYPE_JS; break; case "avi": case "mp4": case "ogv": case "webm": return self::FILETYPE_VIDEO; break; case "mp3": case "wav": case "flac": case "ogg": case "webm": return self::FILETYPE_AUDIO; break; case "zip": return self::FILETYPE_ZIP; break; case "json": return self::FILETYPE_ALLOWED; break; case "xml": return self::FILETYPE_XML; break; default: return self::FILETYPE_DEFAULT; break; } } private function getActivePath($inputPath = "") { if ($inputPath) { $path = $inputPath; if (is_dir($path) == false) { $path = $this->startPath; } } else { $path = $this->startPath; } $path = HelperUC::pathToRelative($path, false); return $path; } private function getStartPathRelative() { return HelperUC::pathToRelative($this->startPath, false); } private function isStartPath($path) { if (realpath($path) == realpath($this->startPath)) { return true; } return false; } private function isCustomStartPath($path) { if (empty($this->customStartPath)) { return false; } if (realpath($path) == realpath($this->customStartPath)) { return true; } return false; } protected function getUrlDir($pathDir) { $urlDir = HelperUC::pathToRelativeUrl($pathDir); $urlDir = rtrim($urlDir, "/") . "/"; return $urlDir; } private function isCheckboxOnFile($file, $isDir) { if ($file == "..") { return false; } $arrExt = $this->getOption(self::OPTION_CHECKBOX_ON_TYPES); if (empty($arrExt)) { return true; } if ($isDir == true) { return false; } $info = pathinfo($file); $ext = UniteFunctionsUC::getVal($info, "extension"); $ext = strtolower($ext); if (array_search($ext, $arrExt) === false) { return false; } return true; } private function isFileToShow($filetype) { $arrTypes = $this->getOption(self::OPTION_SHOW_ONLY_TYPES); if (empty($arrTypes)) { return true; } if (array_search($filetype, $arrTypes) !== false) { return true; } return false; } private function isDirToShow($dir) { $arrExcludeDirs = $this->getOption(self::OPTION_FILTER_FOLDER_NAMES); if (empty($arrExcludeDirs)) { return true; } if (array_search($dir, $arrExcludeDirs) !== false) { return false; } return true; } protected function getFilelistClass() { $isThumbs = $this->getOption(self::OPTION_THUMBS_VIEW); if ($isThumbs == true) { $extraClass = " uc-view-thumbs"; } else { $extraClass = " uc-view-list"; } $class = "uc-filelist" . $extraClass; return $class; } protected function getEmptyHtmlDirList() { $class = $this->getFilelistClass(); $html = "<div class=\"{$class}\" ></div>"; return $html; } protected function getHtmlDir($pathDir = null, $addWrapper = false) { if (empty($pathDir)) { $pathDir = $this->startPath; } try { $pathDir = $this->sanitizePath($pathDir); } catch (Exception $e) { $pathDir = $this->startPath; } $isThumbsView = $this->getOption(self::OPTION_THUMBS_VIEW); $urlDir = $this->getUrlDir($pathDir); $isStartPath = $this->isStartPath($pathDir); if ($isStartPath == false) { $isStartPath = $this->isCustomStartPath($pathDir); } $isFoldersOnly = $this->getOption(self::OPTION_FOLDERS_ONLY); $arrFiles = scandir($pathDir); $isDisableCheckboxes = $this->getOption(self::OPTION_DISABLE_CHECKBOXES); $isDisableCheckboxes = UniteFunctionsUC::strToBool($isDisableCheckboxes); $html = ""; $classFilelist = $this->getFilelistClass(); if ($addWrapper == true) { $html = "<div class=\"{$classFilelist}\" >"; } $isNoFiles = count($arrFiles) == 2; foreach ($arrFiles as $file) { if ($file == ".") { continue; } if ($file == ".." && $isStartPath == true) { if ($isNoFiles == true) { $emptyText = esc_html__("empty folder", "unlimited-elements-for-elementor"); $html .= "<div class='uc-filelist-emptytext'>{$emptyText}</div>"; } continue; } $filepath = $pathDir . $file; $fileUrl = $urlDir . $file; $isDir = is_dir($filepath); if ($isFoldersOnly && $isDir == false) { continue; } if ($isDir == true) { $filetype = "dir"; } else { $filetype = $this->getFileType($file); } if ($isDir == false) { $toShowFile = $this->isFileToShow($filetype); if ($toShowFile == false) { continue; } } else { $toShowDir = $this->isDirToShow($file); if ($toShowDir == false) { continue; } } $isSelectable = $this->isCheckboxOnFile($file, $isDir); $isCheckbox = $isSelectable; if ($isDisableCheckboxes == true) { $isCheckbox = false; } $htmlChecked = ""; $addClass = ""; if (!empty($this->arrCheckedUrls) && array_search($fileUrl, $this->arrCheckedUrls) !== false) { $htmlChecked = " checked data-initchecked='true'"; $addClass = " uc-filelist-item-selected"; } if ($isDir == true && $file == "..") { $addClass .= " uc-dir-back"; $isSelectable = false; } if ($isSelectable == true) { $addClass .= " uc-filelist-selectable"; } $strFile = htmlspecialchars($file); $showFile = $file; if ($isDir == false) { $showExtensions = $this->getOption(self::OPTION_SHOW_FILE_EXTENTIONS); if ($showExtensions === false) { $arrInfo = pathinfo($file); $showFile = $arrInfo["filename"]; } } $html .= "<a class='uc-filelist-item uc-type-{$filetype} {$addClass}' data-type='{$filetype}' data-file='{$strFile}' data-url='{$fileUrl}' >"; if ($isDisableCheckboxes == false) { $html .= "<div class='uc-filelist-checkbox-wrapper'>"; if ($isCheckbox == true) { $html .= "<input type='checkbox' class='uc-filelist-checkbox' {$htmlChecked} data-file='{$strFile}' onfocus='this.blur()'>"; } $html .= "</div>"; } $iconAddHtml = ""; if ($isThumbsView == true && $filetype == self::FILETYPE_IMAGE) { $urlThumb = HelperUC::$operations->createThumbs($fileUrl); $urlThumb = HelperUC::URLtoFull($urlThumb); $urlThumb = htmlspecialchars($urlThumb); $iconAddHtml = " style=\"background-image:url('{$urlThumb}');\""; } $html .= "<div class='uc-filelist-icon uc-icon-{$filetype}'{$iconAddHtml}></div>"; $html .= "<div class='uc-filelist-filename'>{$showFile}</div>"; $html .= "<div class='unite-clear'></div>"; $html .= "</a>"; } if ($addWrapper == true) { $html .= "</div>"; } return $html; } private function getArrExistsFiles($path, $arrFiles) { $path = $this->sanitizePath($path); if (!is_array($arrFiles)) { UniteFunctionsUC::throwError("getArrExistsFiles error - arrFiles should be array"); } $arrExists = array(); foreach ($arrFiles as $file) { $filepath = $path . $file; if (file_exists($filepath)) { $arrExists[] = $file; } } return $arrExists; } private function a_SETTERS() { } public function sanitizePath($path) { if (is_dir($path) == false) { $path = HelperUC::pathToAbsolute($path); } $path = UniteFunctionsUC::realpath($path); if (empty($path) || !is_dir($path)) { UniteFunctionsUC::throwError("Wrong path given"); } $this->validatePathUnderStartPath($path); $path = UniteFunctionsUC::addPathEndingSlash($path); return $path; } public function setOption($option, $value) { $this->options[$option] = $value; } protected function setCustomStartPath($path) { if (empty($path)) { return false; } $path = $this->sanitizePath($path); $path = UniteFunctionsUC::pathToUnix($path); $this->customStartPath = $path; } private function a_ACTIONS() { } protected function deleteFiles($path, $arrFiles) { $path = $this->sanitizePath($path); foreach ($arrFiles as $filename) { $isValid = $this->isFilenameValidForDelete($filename); if ($isValid == false) { continue; } $filepath = $path . $filename; if (file_exists($filepath) == false) { continue; } if (is_dir($filepath)) { UniteFunctionsUC::deleteDir($filepath); } else { unlink($filepath); } } } protected function createFolder($path, $folderName) { $pathCreate = $this->validateCreateNewFileFolder($path, $folderName, false); @mkdir($pathCreate); if (is_dir($pathCreate) == false) { UniteFunctionsUC::throwError("Can't create folder <b>{$folderName}</b>, please check parent folder permissions"); } } protected function createFile($path, $filename) { $filepath = $this->validateCreateNewFileFolder($path, $filename); UniteFunctionsUC::writeFile("", $filepath); if (is_file($filepath) == false) { UniteFunctionsUC::throwError("file <b>{$filename}</b> didn't created. Please check folder permissions"); } } protected function renameFile($path, $filename, $newFilename) { $path = $this->sanitizePath($path); $filepathCurrent = $path . $filename; $this->validateFilename($filename); if (file_exists($filepathCurrent) == false) { UniteFunctionsUC::throwError("The file: {$filename} not exists"); } $isFile = !is_dir($filepathCurrent); $filepathNew = $this->validateCreateNewFileFolder($path, $newFilename, $isFile); $success = @rename($filepathCurrent, $filepathNew); if ($success == false) { UniteFunctionsUC::throwError("The file didn't renamed"); } } protected function getFileContent($path, $filename) { $filepath = $this->validateEditFileData($path, $filename); $content = file_get_contents($filepath); return $content; } protected function saveFileContent($path, $filename, $content) { $filepath = $this->validateEditFileData($path, $filename); UniteFunctionsUC::writeFile($content, $filepath); } protected function moveFiles($pathSource, $arrFiles, $pathTarget, $actionOnExists) { if (empty($actionOnExists)) { $actionOnExists = "message"; } $pathSource = $this->sanitizePath($pathSource); $pathTarget = $this->sanitizePath($pathTarget); if (empty($arrFiles)) { UniteFunctionsUC::throwError("No files to move"); } if (!is_array($arrFiles)) { UniteFunctionsUC::throwError("arrFiles should be array"); } $arrExists = $this->getArrExistsFiles($pathTarget, $arrFiles); if (!empty($arrExists) && $actionOnExists == "message") { $numFiles = count($arrExists); if ($numFiles == 1) { $file = $arrFiles[0]; $message = "The file <b> {$file} </b> exists in target folder."; } else { $message = "{$numFiles} already exists in target folder."; } return $message; } foreach ($arrFiles as $file) { $filepathSource = $pathSource . $file; $filepathTarget = $pathTarget . $file; $isTargetExists = file_exists($filepathTarget); if ($isTargetExists == true) { switch ($actionOnExists) { case "overwrite": $success = @rename($filepathSource, $filepathTarget); break; case "skip": $success = true; break; default: UniteFunctionsUC::throwError("Action on file exists not given"); break; } } else { $success = @rename($filepathSource, $filepathTarget); } if ($success == false) { if (is_dir($filepathSource) == true) { UniteFunctionsUC::throwError("Can't move directory: <b> {$file} </b>"); } else { UniteFunctionsUC::throwError("Can't move file <b> {$file} </b>"); } } } return false; } protected function unzipFile($path, $filename) { $path = $this->sanitizePath($path); $this->validateFilename($filename); $filepath = $path . $filename; UniteFunctionsUC::validateFilepath($filepath); $zip = new UniteZipUC(); $zip->extract($filepath, $path); } private function a_OUTPUT() { } protected function handleUploadFile($uploadPath, $arrFile) { try { $this->validateStartPath(); $filename = UniteFunctionsUC::getVal($arrFile, "name"); $tempFilepath = UniteFunctionsUC::getVal($arrFile, "tmp_name"); $destFilepath = $uploadPath . "/" . $filename; if (is_file($tempFilepath) == false) { UniteFunctionsUC::throwError("wrong upload filepath!"); } $success = move_uploaded_file($tempFilepath, $destFilepath); if ($success == false) { UniteFunctionsUC::throwError("Upload Failed to: {$destFilepath}"); } } catch (Exception $e) { http_response_code(406); echo esc_html($e->getMessage()); if (GlobalsUC::SHOW_TRACE == true) { echo $e->getTraceAsString(); } } exit; } private function putUploadFileDialog() { $nonce = ""; if (method_exists("UniteProviderFunctionsUC", "getNonce")) { $nonce = UniteProviderFunctionsUC::getNonce(); } $addonID = null; if (!empty($this->objAddon)) { $addonID = $this->objAddon->getID(); } if ($this->flagPutOnce == true) { return false; } ?> <div id="uc_dialog_upload_files" title="<?php esc_html_e("Upload Files", "unlimited-elements-for-elementor"); ?>" style="display:none"> <div class="uc-dialog-upload-inner"> <div class="uc-assets-activepath"> <?php esc_html_e("Upload to folder: ", "unlimited-elements-for-elementor"); ?> <b> <span id="uc_dialogupload_activepath">some path</span> </b> </div> <form id="uc_form_dropzone" action="<?php echo GlobalsUC::$url_ajax; ?>" class="dropzone"> <input type="hidden" name="action" value="<?php echo GlobalsUC::PLUGIN_NAME; ?>_ajax_action"> <input type="hidden" id="uc_input_upload_path" name="upload_path" value=""> <input type="hidden" id="uc_input_pathkey" name="pathkey" value=""> <input type="hidden" name="client_action" value="assets_upload_files"> <?php if (!empty($addonID)) { ?> <input type="hidden" name="addonID" value="<?php echo $addonID; ?>"> <?php } ?> <?php if (!empty($nonce)) { ?> <input type="hidden" name="nonce" value="<?php echo esc_attr($nonce); ?>"> <?php } ?> </form> <script type="text/javascript"> if(typeof Dropzone != "undefined") Dropzone.autoDiscover = false; </script> </div> <br><br> </div> <?php } private function putDialogCreateFolder() { ?> <div id="uc_dialog_create_folder" title="<?php esc_html_e("Create Folder", "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("Folder Name", "unlimited-elements-for-elementor"); ?></div> <input id="uc_dialog_create_folder_name" type="text" class="unite-input-regular" value=""> <?php $prefix = "uc_dialog_create_folder"; $buttonTitle = esc_html__("Create Folder", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Creating Folder...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("Folder Created", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> </div> <?php } private function putDialogCreateFile() { ?> <div id="uc_dialog_create_file" title="<?php esc_html_e("Create File", "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("File Name", "unlimited-elements-for-elementor"); ?></div> <input id="uc_dialog_create_file_name" type="text" class="unite-input-regular" value=""> <?php $prefix = "uc_dialog_create_file"; $buttonTitle = esc_html__("Create File", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Creating File...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("File Created", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> </div> <?php } private function putDialogRenameFile() { ?> <div id="uc_dialog_rename_file" title="<?php esc_html_e("Rename File / Folder", "unlimited-elements-for-elementor"); ?>" style="display:none" class="unite-inputs uc-dialog-rename-file"> <div class="unite-dialog-top"></div> <div class="unite-inputs-label"><?php esc_html_e("Rename this file/folder to", "unlimited-elements-for-elementor"); ?>:</div> <input id="uc_dialog_rename_file_input" type="text" class="unite-input-regular"> <?php $prefix = "uc_dialog_rename_file"; $buttonTitle = esc_html__("Rename", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Renaming...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("File/Dir Renamed", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> </div> <?php } private function putDialogEditFile() { ?> <div id="uc_dialog_edit_file" title="<?php esc_html_e("Edit File", "unlimited-elements-for-elementor"); ?>" style="display:none" class="unite-inputs uc-dialog-edit-file"> <div class="uc-dialog-inner"> <div id="uc_dialog_edit_file_loader" class="uc-loader-wrapper"> <span class="loader_text"><?php esc_html_e("Loading...", "unlimited-elements-for-elementor"); ?></span> </div> <textarea id="uc_dialog_edit_file_textarea" style="display:none"></textarea> <div id="uc_dialog_edit_file_loadersaving" class="unite-dialog-loader" style="display:none"><?php esc_html_e("Saving File...", "unlimited-elements-for-elementor"); ?></div> <div id="uc_dialog_edit_file_success" class="unite-dialog-success" style="display:none"><?php esc_html_e("File Saved...", "unlimited-elements-for-elementor"); ?></div> <div id="uc_dialog_edit_file_error" class="unite-dialog-error"></div> </div> </div> <?php } private function putDialogMoveFiles() { $objAssets = new UniteCreatorAssetsWork(); $objAssets->initByKey("folder_browser", $this->objAddon); $objAssets->setOption(UniteCreatorAssets::OPTION_ID, "uc_movefile_browser"); ?> <div id="uc_dialog_move_files" title="<?php esc_html_e("Move Files", "unlimited-elements-for-elementor"); ?>" style="display:none" class="unite-inputs uc-dialog-move-file"> <div class="unite-dialog-top"></div> <div id="uc_dialog_move_label" class="unite-inputs-label" data-text="<?php esc_html_e("Move %1 files to", "unlimited-elements-for-elementor"); ?>">:</div> <div id="uc_dialog_move_files_url" class="unite-dialog-text-bold mtop_5 mbottom_5"></div> <div class="uc-browser-wrapper"> <?php $objAssets->putHTML(); ?> </div> <?php $prefix = "uc_dialog_move_files"; $buttonTitle = esc_html__("Move Files", "unlimited-elements-for-elementor"); $loaderTitle = esc_html__("Moving Files...", "unlimited-elements-for-elementor"); $successTitle = esc_html__("Files Moved", "unlimited-elements-for-elementor"); HelperHtmlUC::putDialogActions($prefix, $buttonTitle, $loaderTitle, $successTitle); ?> <div id="uc_dialog_move_message" class="uc-dialog-move-message" style="display:none"> <div id="uc_dialog_move_message_text" class="uc-dialog-move-message-text"></div> <div class="vert_top5"></div> <a href="javascript:void(0)" class="unite-button-secondary" data-action="overwrite"><?php esc_html_e("Overwrite", "unlimited-elements-for-elementor"); ?></a> <a href="javascript:void(0)" class="unite-button-secondary" data-action="skip"><?php esc_html_e("Skip", "unlimited-elements-for-elementor"); ?></a> <a href="javascript:void(0)" class="unite-button-secondary" data-action="cancel"><?php esc_html_e("Cancel", "unlimited-elements-for-elementor"); ?></a> </div> </div> <?php } private function putActionsDialogs() { if ($this->flagPutOnce == true) { return false; } $this->putDialogCreateFolder(); $this->putDialogCreateFile(); $this->putDialogEditFile(); $this->putDialogRenameFile(); $this->putDialogMoveFiles(); } private function putActionsPanel() { ?> <div class="uc-assets-buttons-panel"> <a class="uc-button-upload-file uc-panel-button unite-button-secondary" data-action="upload" href="javascript:void(0)" ><?php esc_html_e("Upload", "unlimited-elements-for-elementor"); ?></a> <a class="uc-button-select-all uc-panel-button unite-button-secondary button-disabled" data-action="select_all" href="javascript:void(0)" data-textselect="<?php esc_html_e("Select All", "unlimited-elements-for-elementor"); ?>" data-textunselect="<?php esc_html_e("Unselect All", "unlimited-elements-for-elementor"); ?>" ><?php esc_html_e("Select All", "unlimited-elements-for-elementor"); ?></a> <a class="uc-button-create-folder uc-panel-button unite-button-secondary" data-action="create_folder" href="javascript:void(0)"><?php esc_html_e("Create Folder", "unlimited-elements-for-elementor"); ?></a> <a class="uc-button-create-file uc-panel-button unite-button-secondary" data-action="create_file" href="javascript:void(0)"><?php esc_html_e("Create File", "unlimited-elements-for-elementor"); ?></a> <a class="uc-panel-button unite-button-secondary button-disabled uc-relate-multiple" data-action="delete" href="javascript:void(0)"><?php esc_html_e("Delete", "unlimited-elements-for-elementor"); ?></a> <span class="uc-preloader-deleting loader_text mleft_5" style="display:none"><?php esc_html_e("deleting...", "unlimited-elements-for-elementor"); ?></span> <a class="uc-panel-button unite-button-secondary button-disabled uc-relate-single uc-relate-file" data-action="edit" href="javascript:void(0)"><?php esc_html_e("Edit", "unlimited-elements-for-elementor"); ?></a> <a class="uc-panel-button unite-button-secondary button-disabled uc-relate-single" data-action="rename" href="javascript:void(0)"><?php esc_html_e("Rename", "unlimited-elements-for-elementor"); ?></a> <a class="uc-panel-button unite-button-secondary uc-relate-multiple button-disabled" data-action="move" href="javascript:void(0)"><?php esc_html_e("Move", "unlimited-elements-for-elementor"); ?></a> <a class="uc-panel-button unite-button-secondary button-disabled uc-relate-special uc-relate-type-zip" data-action="unzip" href="javascript:void(0)"><?php esc_html_e("Unzip", "unlimited-elements-for-elementor"); ?></a> <span class="uc-preloader-unzip loader_round mleft_5" style="display:none"><?php esc_html_e("unzipping...", "unlimited-elements-for-elementor"); ?></span> <a class="uc-panel-button unite-button-secondary button-disabled uc-relate-single" data-action="view" href="javascript:void(0)"><?php esc_html_e("View", "unlimited-elements-for-elementor"); ?></a> </div> <?php } private function putActivePathBar($path) { $activePath = $this->getActivePath($path); ?> <div class="uc-assets-activepath"> <span class="uc-assets-activepath-inner"> <?php esc_html_e("Active Path", "unlimited-elements-for-elementor"); ?>: <span class="uc-pathname">../<?php echo esc_html($activePath); ?></span> </span> <span class="uc-preloader-refreshpath loader_round mleft_5" style="display:none"></span> </div> <?php } public function putHTML($path = null, $wrapperOnly = false) { try { $this->validateStartPath(); $activePath = $this->getActivePath($path); $activePathData = htmlspecialchars($activePath); $startPath = $this->getStartPathRelative(); $startPathData = htmlspecialchars($startPath); $wrapperStyle = $this->getOption(self::OPTION_WRAPPER_STYLE, ""); if (!empty($wrapperStyle)) { $wrapperStyle = "style='{$wrapperStyle}'"; } $id = $this->getOption(self::OPTION_ID, ""); $id = esc_attr($id); if (!empty($id)) { $id = "id='{$id}' "; } $putActivepath = $this->getOption(self::OPTION_PUT_ACTIVEPATH); $arrOptionsForClient = $this->getArrOptionsForClient(); $jsonOptions = json_encode($arrOptionsForClient); $jsonOptions = htmlspecialchars($jsonOptions); } catch (Exception $e) { $message = $e->getMessage(); $trace = ""; if (GlobalsUC::SHOW_TRACE == true) { $trace = $e->getTraceAsString(); } $htmlError = HelperUC::getHtmlErrorMessage($message, $trace, "Assets Manager Error: "); ?> <div <?php echo UniteProviderFunctionsUC::escAddParam($id); ?> data-pathkey="<?php echo esc_attr($this->pathKey); ?>" class="uc-assets-wrapper" <?php echo UniteProviderFunctionsUC::escAddParam($wrapperStyle); ?> data-isbrowser="<?php echo esc_attr($this->isBrowerMode); ?>" data-path="<?php echo esc_attr($activePathData); ?>" data-startpath="<?php echo esc_attr($startPathData); ?>" data-options="<?php echo esc_attr($jsonOptions); ?>"> <?php echo "<div class='uc-assets-startup-error'>" . $htmlError . "</div>"; echo "</div>"; return false; } ?> <div <?php echo UniteProviderFunctionsUC::escAddParam($id); ?>data-pathkey="<?php echo esc_attr($this->pathKey); ?>" class="uc-assets-wrapper" <?php echo UniteProviderFunctionsUC::escAddParam($wrapperStyle); ?> data-isbrowser="<?php echo esc_attr($this->isBrowerMode); ?>" data-path="<?php echo esc_attr($activePathData); ?>" data-startpath="<?php echo esc_attr($startPathData); ?>" data-options="<?php echo esc_attr($jsonOptions); ?>"> <?php try { if ($putActivepath === true) { $this->putActivePathBar($path); } ?> <?php if ($this->isBrowerMode == false) { $this->putActionsPanel(); } ?> <div class="uc-preloader-filelist loader_text mtop_25" style="display:none"> <?php esc_html_e("Loading File list...", "unlimited-elements-for-elementor"); ?> </div> <div class="uc-filelist-error unite-color-red mtop_10"></div> <?php if ($wrapperOnly == false) { echo UniteProviderFunctionsUC::escCombinedHtml($this->getHtmlDir($path, true)); } else { echo UniteProviderFunctionsUC::escCombinedHtml($this->getEmptyHtmlDirList()); } ?> <?php if ($this->isBrowerMode == false) { $this->putUploadFileDialog(); $this->putActionsDialogs(); } $this->flagPutOnce == true; } catch (Exception $e) { $message = $e->getMessage(); $trace = ""; if (GlobalsUC::SHOW_TRACE == true) { $trace = $e->getTraceAsString(); } $htmlError = HelperUC::getHtmlErrorMessage($message, $trace, "Assets Manager Error: "); echo "<div class='uc-assets-startup-error'>" . esc_html($htmlError) . "</div>"; } ?> <div class="unite-clear"></div> </div> <?php } }