<?php /** * @package AcyMailing for Joomla! * @version 5.0.1 * @author acyba.com * @copyright (C) 2009-2015 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?> <div id="maincontent" style="border: 1px solid rgb(233, 233, 233);"> <form method="post" name="adminForm" id="adminForm" enctype="multipart/form-data" style="margin:0px;"> <div id="folderarea" style="box-shadow: 0px 4px 4px -4px rgba(0, 0, 0, 0.3);padding:15px;"> <?php $folders = acymailing_generateArborescence($this->uploadFolders); foreach ($folders as $folder) { $this->values[] = JHTML::_('select.option', $folder, $folder); } echo JHTML::_('select.genericlist', $this->values, 'currentFolder', 'class="inputbox chzn-done" size="1" onchange="submitbutton();" style="width:350px;" ', 'value', 'text', $this->uploadFolder) . '<br />'; ?> </div> <div id="filesarea" style="width:100%;height:460px;overflow-x: hidden;text-align: center;"> <?php if (file_exists($this->uploadPath)) { $files = JFolder::files($this->uploadPath); } $imageExtensions = array('jpg', 'jpeg', 'png', 'gif', 'ico', 'bmp'); if (in_array($this->map, array('thumb', 'readmore'))) { $allowedExtensions = $imageExtensions; } else {
private function _displayHTML() { $app = JFactory::getApplication(); $mediaFolders = acymailing_getFilesFolder('media', true); $receivedFolder = $app->getUserStateFromRequest(ACYMAILING_COMPONENT . ".acyeditor.selected_folder", 'selected_folder', '', 'string'); $defaultFolder = reset($mediaFolders); if (!empty($receivedFolder)) { $allowed = false; foreach ($mediaFolders as $oneMedia) { if (preg_match('#^' . preg_quote(rtrim($oneMedia, '/')) . '[a-z_0-9\\-/]*$#i', $receivedFolder)) { $allowed = true; break; } } if ($allowed) { $defaultFolder = $receivedFolder; } else { acymailing_display('You are not allowed to access this folder', 'error'); } } $uploadPath = JPath::clean(ACYMAILING_ROOT . trim(str_replace('/', DS, trim($defaultFolder)), DS)); $uploadedImage = JRequest::getVar('uploadedImage', array(), 'files', 'array'); if (!empty($uploadedImage)) { if (!empty($uploadedImage['name'])) { $this->imageName = acymailing_importFile($uploadedImage, $uploadPath, true); if (!empty($this->imageName)) { $uploadMessage = 'success'; } else { $uploadMessage = 'error'; } } else { $uploadMessage = 'error'; $this->message = JText::_('BROWSE_FILE'); } } $pictToDelete = JRequest::getString('pictName', ''); if (!empty($pictToDelete) && file_exists($uploadPath . DS . $pictToDelete) && empty($uploadedImage)) { $db = JFactory::getDBO(); $db->setQuery('SELECT mailid FROM #__acymailing_mail WHERE body LIKE \'%src="' . ACYMAILING_LIVE . $defaultFolder . '/' . $pictToDelete . '"%\''); $checkPictNews = acymailing_loadResultArray($db); $db->setQuery('SELECT tempid FROM #__acymailing_template WHERE body LIKE \'%src="' . ACYMAILING_LIVE . $defaultFolder . '/' . $pictToDelete . '"%\''); $checkPictTemplate = acymailing_loadResultArray($db); if (!empty($checkPictNews) || !empty($checkPictTemplate)) { foreach ($checkPictNews as $k => $oneNews) { $checkPictNews[$k] = '<a href="" onclick="window.parent.document.location.href=\'' . acymailing_completeLink(($app->isAdmin() ? '' : 'front') . 'newsletter&task=edit&mailid=' . $oneNews) . '\'">' . $oneNews . '</a>'; } if ($app->isAdmin()) { foreach ($checkPictTemplate as $k => $oneTmpl) { $checkPictTemplate[$k] = '<a href="" onclick="window.parent.document.location.href=\'' . acymailing_completeLink('template&task=edit&tempid=' . $oneTmpl) . '\'">' . $oneTmpl . '</a>'; } } acymailing_display(JText::sprintf('ACY_CANT_DELETE', !empty($checkPictNews) ? implode($checkPictNews, ', ') : '-', !empty($checkPictTemplate) ? implode($checkPictTemplate, ', ') : '-'), 'error'); } else { if (JFile::delete($uploadPath . DS . $pictToDelete)) { acymailing_display(JText::_('ACY_DELETED_PICT_SUCCESS'), 'success'); } else { acymailing_display(JText::_('ACY_DELETED_PICT_ERROR'), 'error'); } } } ?> <div id="acy_media_browser"> <!-- <br style="font-size:1px"/> --> <table id="acy_media_browser_table" style="height:420px;"> <tr> <td style="width:65%; vertical-align:top;"> <?php $folders = acymailing_generateArborescence($mediaFolders); foreach ($folders as $folder) { $this->values[] = JHTML::_('select.option', $folder, $folder); } echo '<div style="display:inline-block;width:100%;">'; echo '<form method="post" action="index.php?option=com_acymailing&ctrl=' . (JFactory::getApplication()->isAdmin() ? '' : 'front') . 'editor&task=createFolder" >'; echo '<div id="acy_media_browser_path_dropdown" >'; echo JHTML::_('select.genericlist', $this->values, 'acy_media_browser_files_path', 'class="inputbox chzn-done" size="1" onchange="changeFolder(this.value)" style="width:350px; min-height:19px;" ', 'value', 'text', $defaultFolder) . '<br />'; echo '</div>'; echo '<div id="acy_media_browser_global_create_folder" >'; echo '<div id="acy_media_browser_create_folder" >'; echo '<button id="create_folder_btn" class="btn" onclick="displayAppropriateField(this.id)" type="button" style="width:100%;" >' . JText::_('CREATE_FOLDER') . '</button>'; echo '</div>'; echo '<div id="acy_media_browser_area_create_folder" style=\'display:none;\'>'; echo '<input id="subFolderName" name="subFolderName" type="text" placeholder="' . JText::_('FOLDER_NAME') . '" name="text" required="required" />'; echo '<input type="submit" class="btn btn-primary" value="' . JText::_('ACY_APPLY') . '" />'; echo '</div>'; echo '</div>'; echo JHTML::_('form.token'); echo '</form>'; echo '</div>'; acymailing_createDir($uploadPath); $files = JFolder::files($uploadPath); echo '<ul id="acy_media_browser_list">'; if (!empty($uploadMessage) && !empty($this->message)) { if ($uploadMessage == 'success') { acymailing_display($this->message); } elseif ($uploadMessage == 'error') { acymailing_display($this->message, 'error'); } } $images = array(); $imagesFound = false; foreach ($files as $k => $file) { if (strrpos($file, '.') === false) { continue; } $ext = strtolower(substr($file, strrpos($file, '.') + 1)); $extensions = array('jpg', 'jpeg', 'png', 'gif'); if (!in_array($ext, $extensions)) { continue; } $imagesFound = true; $images[] = $file; $imageSize = getimagesize($uploadPath . DS . $file); ?> <li class="acy_media_browser_images" id="acy_media_browser_images_<?php echo $k; ?> " onmouseover="toggleImageInfo(<?php echo $k; ?> , 'display')" onmouseout="toggleImageInfo(<?php echo $k; ?> , 'hide')"> <img class="acy_media_browser_image" id="acy_media_browser_image_<?php echo $k; ?> " src="<?php echo ACYMAILING_LIVE . $defaultFolder . '/' . $file; ?> "/> <a href="#" onclick="displayImageFromUrl('<?php echo ACYMAILING_LIVE . $defaultFolder . '/' . $file; ?> ', 'success', '<?php echo $file; ?> ', '<?php echo $imageSize[0]; ?> ', '<?php echo $imageSize[1]; ?> '); return false;"> <div id="acy_media_browser_image_info_<?php echo $k; ?> " style="box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.2); text-shadow:1px 1px 1px #ffffff; border:2px solid #fff; padding-top:40px; text-align:center; vertical-align:middle; color:#333; font-weight:bold; position:absolute; top:0px; left:0px; bottom:0px; right:0px; display:none; background-color: rgba(255,255,255,0.8);"> <img class="acy_media_browser_delete" id="acy_media_browser_delete_<?php echo $k; ?> " src="<?php echo ACYMAILING_LIVE . 'media' . DS . ACYMAILING_COMPONENT . DS . 'images' . DS . 'editor' . DS . 'delete.png'; ?> " onclick="confirmDeletePicture('<?php echo $file; ?> ')"/> <?php echo $file; ?> <br/> <span class="acy_media_browser_image_size"><?php echo $imageSize[0] . 'x' . $imageSize[1]; ?> - <?php echo round(filesize($uploadPath . DS . $file) * 0.0009765625, 2) . ' ko'; ?> <br/></span> </div> </a> </li> <?php } if (!$imagesFound) { acymailing_display(JText::_('NO_FILE_FOUND'), 'warning'); } ?> </ul> <!-- Here we give the possibility to import a file or specify and url --> <div id="acy_media_browser_actions"> <div id="acy_media_browser_containing_block"> <div id="acy_media_browser_buttons_block"> <button type="button" class="btn" id="upload_image_btn" onclick="displayAppropriateField(this.id)"> <?php echo JText::_('UPLOAD_NEW_IMAGE'); ?> </button> <?php echo JText::_('ACY_OR'); ?> <button type="button" class="btn" id="import_from_url_btn" onclick="displayAppropriateField(this.id)"> <?php echo JText::_('INSERT_IMAGE_FROM_URL'); ?> </button> </div> <div id="acy_media_browser_hidden_elements"> <div id="upload_image" style="position: relative; padding-top:5px; display:none; text-align: center;"> <form method="post" name="adminForm" id="adminForm" enctype="multipart/form-data" style="margin:0px; margin-top:3px;"> <input type="file" style="width:auto;" name="uploadedImage"/><br/> <input type="hidden" name="task" value="browse"/> <input type="hidden" name="selected_folder" value="<?php echo htmlspecialchars($defaultFolder, ENT_COMPAT, 'UTF-8'); ?> "/> <?php echo JHTML::_('form.token'); ?> </form> <button class="btn btn-primary" type="button" onclick="submitbutton();"> <?php echo JText::_('IMPORT'); ?> </button> <span style="position:absolute; top:5px; left:5px;" id="acy_back_from_upload" onclick="displayAppropriateField(this.id)"><a href="javascript:void(0);">← <?php echo JText::_('MEDIA_BACK'); ?> </a></span> </div> <div id="import_from_url" style="padding-top:9px; position:relative; "> <input type="text" id="acy_media_browser_url_input" class="inputbox" oninput="testImage(this.value, displayImageFromUrl)" value="http://"/> <?php ?> <div id="acy_media_browser_insert_message"></div> <span style="position:absolute; top:5px; left:5px;" id="acy_back_from_url" onclick="displayAppropriateField(this.id)"><a href="javascript:void(0);">← <?php echo JText::_('MEDIA_BACK'); ?> </a></span> </div> </div> </div> </div> </td> <!-- IMAGE INFORMATION --> <td id="acy_media_browser_image_details_row"> <div id="acy_media_browser_image_details"> <div id="acy_media_browser_image_selected" style=" max-width:230px; max-height:190px; display:none; margin:auto; margin-bottom:10px;"></div> <div id="acy_media_browser_image_selected_info" style=""></div> <div id="acy_media_browser_image_selected_details"> <label for="acy_media_browser_image_title" style="float:left;"><?php echo JText::_('ACY_TITLE'); ?> </label> <input type="text" id="acy_media_browser_image_title" class="inputbox" style="width:100%" value=""/> <?php $imageZone = JRequest::getVar('image_zone', array(), '', 'array'); if (!empty($imageZone)) { ?> <label for="acy_media_browser_image_target"><?php echo JText::_('ACY_LINK'); ?> </label> <input type="text" id="acy_media_browser_image_target" placeholder="<?php echo ACYMAILING_LIVE; ?> ..." class="inputbox" style="width:100%" value=""/> <?php } else { ?> <label for="acy_media_browser_image_width" style="display:inline;"><?php echo JText::_('CAPTCHA_WIDTH'); ?> </label> <input type="text" id="acy_media_browser_image_width" style="width:23%;" value="" oninput="calculateSize(0, this.value)"/> <br/><label for="acy_media_browser_image_height" style="display:inline;"><?php echo JText::_('CAPTCHA_HEIGHT'); ?> </label> <input type="text" id="acy_media_browser_image_height" style="width:22%;" value="" oninput="calculateSize(this.value, 0)"/> <br/><label for="acy_media_browser_image_align" style="display:inline;"><?php echo JText::_('ALIGNMENT'); ?> </label> <select id="acy_media_browser_image_align" class="chzn-done" style="width:50%"> <option value=""><?php echo JText::_('NOT_SET'); ?> </option> <option value="left"><?php echo JText::_('ACY_LEFT'); ?> </option> <option value="right"><?php echo JText::_('ACY_RIGHT'); ?> </option> </select><br/> <label for="acy_media_browser_image_margin" style="display:inline;"><?php echo JText::_('ACY_MARGIN'); ?> </label> <input type="text" style="width:23%;" id="acy_media_browser_image_margin" value=""/><br/> <label for="acy_media_browser_image_border" style="display:inline;"><?php echo JText::_('ACY_BORDER'); ?> </label> <input type="text" style="width:23%;" id="acy_media_browser_image_border" value=""/><br/> <label for="acy_media_browser_image_class" style="display:inline;"><?php echo JText::_('ACY_CLASS'); ?> </label> <input type="text" style="width:50%;" id="acy_media_browser_image_class" value=""/> <input type="hidden" id="acy_media_browser_image_linkhref" value=""/> <?php } ?> </div> <button class="btn btn-primary" type="button" onclick="validateImage();window.parent.SqueezeBox.close();" style=" position:absolute; bottom:6px; right:6px; "><?php echo JText::_('INSERT'); ?> </button> </div> </td> </tr> </table> <div class="confirmBoxMM" id="confirmBoxMM" style="display: none;"> <div id="acy_popup_content"> <span class="confirmTxtMM" id="confirmTxtMM"></span> <button class="acy_popup_cancel_button" id="confirmCancelMM" onclick="document.getElementById('confirmBoxMM').style.display='none';"> <?php echo JText::_('ACY_CANCEL'); ?> </button> <button class="acy_popup_delete_button" id="confirmOkMM"> <?php echo JText::_('ACY_DELETE'); ?> </button> </div> </div> </div> <?php $imageZone = JRequest::getVar('image_zone', array(), '', 'array'); if ($imageZone) { echo '<script>checkSelected(true);</script>'; } else { echo '<script>checkSelected();</script>'; } if (isset($uploadMessage) && $uploadMessage == 'success' && file_exists(ACYMAILING_ROOT . rtrim($defaultFolder, '/') . '/' . $this->imageName)) { $imageSize = getimagesize(ACYMAILING_LIVE . rtrim($defaultFolder, '/') . '/' . $this->imageName); echo '<script> displayImageFromUrl(\'' . ACYMAILING_LIVE . rtrim($defaultFolder, '/') . '/' . $this->imageName . '\',\'success\', \'' . $this->imageName . '\',' . $imageSize[0] . ',' . $imageSize[1] . ');</script>'; } }