Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/template.zip
Назад
PK BX!]{mGp59 59 utils.phpnu &1i� <?php /** * @package FrameworkOnFramework * @subpackage template * @copyright Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba Ltd. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @note This file has been modified by the Joomla! Project and no longer reflects the original work of its author. */ // Protect from unauthorized access defined('FOF_INCLUDED') or die; /** * A utility class to load view templates, media files and modules. * * @package FrameworkOnFramework * @since 1.0 */ class FOFTemplateUtils { /** * Add a CSS file to the page generated by the CMS * * @param string $path A fancy path definition understood by parsePath * * @see FOFTemplateUtils::parsePath * * @return void */ public static function addCSS($path) { $document = FOFPlatform::getInstance()->getDocument(); if ($document instanceof JDocument) { if (method_exists($document, 'addStyleSheet')) { $url = self::parsePath($path); $document->addStyleSheet($url); } } } /** * Add a JS script file to the page generated by the CMS. * * There are three combinations of defer and async (see http://www.w3schools.com/tags/att_script_defer.asp): * * $defer false, $async true: The script is executed asynchronously with the rest of the page * (the script will be executed while the page continues the parsing) * * $defer true, $async false: The script is executed when the page has finished parsing. * * $defer false, $async false. (default) The script is loaded and executed immediately. When it finishes * loading the browser continues parsing the rest of the page. * * When you are using $defer = true there is no guarantee about the load order of the scripts. Whichever * script loads first will be executed first. The order they appear on the page is completely irrelevant. * * @param string $path A fancy path definition understood by parsePath * @param boolean $defer Adds the defer attribute, meaning that your script * will only load after the page has finished parsing. * @param boolean $async Adds the async attribute, meaning that your script * will be executed while the rest of the page * continues parsing. * * @see FOFTemplateUtils::parsePath * * @return void */ public static function addJS($path, $defer = false, $async = false) { $document = FOFPlatform::getInstance()->getDocument(); if ($document instanceof JDocument) { if (method_exists($document, 'addScript')) { $url = self::parsePath($path); $document->addScript($url, "text/javascript", $defer, $async); } } } /** * Compile a LESS file into CSS and add it to the page generated by the CMS. * This method has integrated cache support. The compiled LESS files will be * written to the media/lib_fof/compiled directory of your site. If the file * cannot be written we will use the $altPath, if specified * * @param string $path A fancy path definition understood by parsePath pointing to the source LESS file * @param string $altPath A fancy path definition understood by parsePath pointing to a precompiled CSS file, * used when we can't write the generated file to the output directory * @param boolean $returnPath Return the URL of the generated CSS file but do not include it. If it can't be * generated, false is returned and the alt files are not included * * @see FOFTemplateUtils::parsePath * * @since 2.0 * * @return mixed True = successfully included generated CSS, False = the alternate CSS file was used, null = the source file does not exist */ public static function addLESS($path, $altPath = null, $returnPath = false) { // Does the cache directory exists and is writeable static $sanityCheck = null; // Get the local LESS file $localFile = self::parsePath($path, true); $filesystem = FOFPlatform::getInstance()->getIntegrationObject('filesystem'); $platformDirs = FOFPlatform::getInstance()->getPlatformBaseDirs(); if (is_null($sanityCheck)) { // Make sure the cache directory exists if (!is_dir($platformDirs['public'] . '/media/lib_fof/compiled/')) { $sanityCheck = $filesystem->folderCreate($platformDirs['public'] . '/media/lib_fof/compiled/'); } else { $sanityCheck = true; } } // No point continuing if the source file is not there or we can't write to the cache if (!$sanityCheck || !is_file($localFile)) { if (!$returnPath) { if (is_string($altPath)) { self::addCSS($altPath); } elseif (is_array($altPath)) { foreach ($altPath as $anAltPath) { self::addCSS($anAltPath); } } } return false; } // Get the source file's unique ID $id = md5(filemtime($localFile) . filectime($localFile) . $localFile); // Get the cached file path $cachedPath = $platformDirs['public'] . '/media/lib_fof/compiled/' . $id . '.css'; // Get the LESS compiler $lessCompiler = new FOFLess; $lessCompiler->formatterName = 'compressed'; // Should I add an alternative import path? $altFiles = self::getAltPaths($path); if (isset($altFiles['alternate'])) { $currentLocation = realpath(dirname($localFile)); $normalLocation = realpath(dirname($altFiles['normal'])); $alternateLocation = realpath(dirname($altFiles['alternate'])); if ($currentLocation == $normalLocation) { $lessCompiler->importDir = array($alternateLocation, $currentLocation); } else { $lessCompiler->importDir = array($currentLocation, $normalLocation); } } // Compile the LESS file $lessCompiler->checkedCompile($localFile, $cachedPath); // Add the compiled CSS to the page $base_url = rtrim(FOFPlatform::getInstance()->URIbase(), '/'); if (substr($base_url, -14) == '/administrator') { $base_url = substr($base_url, 0, -14); } $url = $base_url . '/media/lib_fof/compiled/' . $id . '.css'; if ($returnPath) { return $url; } else { $document = FOFPlatform::getInstance()->getDocument(); if ($document instanceof JDocument) { if (method_exists($document, 'addStyleSheet')) { $document->addStyleSheet($url); } } return true; } } /** * Creates a SEF compatible sort header. Standard Joomla function will add a href="#" tag, so with SEF * enabled, the browser will follow the fake link instead of processing the onSubmit event; so we * need a fix. * * @param string $text Header text * @param string $field Field used for sorting * @param FOFUtilsObject $list Object holding the direction and the ordering field * * @return string HTML code for sorting */ public static function sefSort($text, $field, $list) { $sort = JHTML::_('grid.sort', JText::_(strtoupper($text)) . ' ', $field, $list->order_Dir, $list->order); return str_replace('href="#"', 'href="javascript:void(0);"', $sort); } /** * Parse a fancy path definition into a path relative to the site's root, * respecting template overrides, suitable for inclusion of media files. * For example, media://com_foobar/css/test.css is parsed into * media/com_foobar/css/test.css if no override is found, or * templates/mytemplate/media/com_foobar/css/test.css if the current * template is called mytemplate and there's a media override for it. * * The valid protocols are: * media:// The media directory or a media override * admin:// Path relative to administrator directory (no overrides) * site:// Path relative to site's root (no overrides) * * @param string $path Fancy path * @param boolean $localFile When true, it returns the local path, not the URL * * @return string Parsed path */ public static function parsePath($path, $localFile = false) { $platformDirs = FOFPlatform::getInstance()->getPlatformBaseDirs(); if ($localFile) { $url = rtrim($platformDirs['root'], DIRECTORY_SEPARATOR) . '/'; } else { $url = FOFPlatform::getInstance()->URIroot(); } $altPaths = self::getAltPaths($path); $filePath = $altPaths['normal']; // If JDEBUG is enabled, prefer that path, else prefer an alternate path if present if (defined('JDEBUG') && JDEBUG && isset($altPaths['debug'])) { if (file_exists($platformDirs['public'] . '/' . $altPaths['debug'])) { $filePath = $altPaths['debug']; } } elseif (isset($altPaths['alternate'])) { if (file_exists($platformDirs['public'] . '/' . $altPaths['alternate'])) { $filePath = $altPaths['alternate']; } } $url .= $filePath; return $url; } /** * Parse a fancy path definition into a path relative to the site's root. * It returns both the normal and alternative (template media override) path. * For example, media://com_foobar/css/test.css is parsed into * array( * 'normal' => 'media/com_foobar/css/test.css', * 'alternate' => 'templates/mytemplate/media/com_foobar/css//test.css' * ); * * The valid protocols are: * media:// The media directory or a media override * admin:// Path relative to administrator directory (no alternate) * site:// Path relative to site's root (no alternate) * * @param string $path Fancy path * * @return array Array of normal and alternate parsed path */ public static function getAltPaths($path) { $protoAndPath = explode('://', $path, 2); if (count($protoAndPath) < 2) { $protocol = 'media'; } else { $protocol = $protoAndPath[0]; $path = $protoAndPath[1]; } $path = ltrim($path, '/' . DIRECTORY_SEPARATOR); switch ($protocol) { case 'media': // Do we have a media override in the template? $pathAndParams = explode('?', $path, 2); $ret = array( 'normal' => 'media/' . $pathAndParams[0], 'alternate' => FOFPlatform::getInstance()->getTemplateOverridePath('media:/' . $pathAndParams[0], false), ); break; case 'admin': $ret = array( 'normal' => 'administrator/' . $path ); break; default: case 'site': $ret = array( 'normal' => $path ); break; } // For CSS and JS files, add a debug path if the supplied file is compressed $filesystem = FOFPlatform::getInstance()->getIntegrationObject('filesystem'); $ext = $filesystem->getExt($ret['normal']); if (in_array($ext, array('css', 'js'))) { $file = basename($filesystem->stripExt($ret['normal'])); /* * Detect if we received a file in the format name.min.ext * If so, strip the .min part out, otherwise append -uncompressed */ if (strlen($file) > 4 && strrpos($file, '.min', '-4')) { $position = strrpos($file, '.min', '-4'); $filename = str_replace('.min', '.', $file, $position) . $ext; } else { $filename = $file . '-uncompressed.' . $ext; } // Clone the $ret array so we can manipulate the 'normal' path a bit $t1 = (object) $ret; $temp = clone $t1; unset($t1); $temp = (array)$temp; $normalPath = explode('/', $temp['normal']); array_pop($normalPath); $normalPath[] = $filename; $ret['debug'] = implode('/', $normalPath); } return $ret; } /** * Returns the contents of a module position * * @param string $position The position name, e.g. "position-1" * @param int $style Rendering style; please refer to Joomla!'s code for more information * * @return string The contents of the module position */ public static function loadPosition($position, $style = -2) { $document = FOFPlatform::getInstance()->getDocument(); if (!($document instanceof JDocument)) { return ''; } if (!method_exists($document, 'loadRenderer')) { return ''; } try { $renderer = $document->loadRenderer('module'); } catch (Exception $exc) { return ''; } $params = array('style' => $style); $contents = ''; foreach (JModuleHelper::getModules($position) as $mod) { $contents .= $renderer->render($mod, $params); } return $contents; } /** * Merges the current url with new or changed parameters. * * This method merges the route string with the url parameters defined * in current url. The parameters defined in current url, but not given * in route string, will automatically reused in the resulting url. * But only these following parameters will be reused: * * option, view, layout, format * * Example: * * Assuming that current url is: * http://fobar.com/index.php?option=com_foo&view=cpanel * * <code> * <?php echo FOFTemplateutils::route('view=categories&layout=tree'); ?> * </code> * * Result: * http://fobar.com/index.php?option=com_foo&view=categories&layout=tree * * @param string $route The parameters string * * @return string The human readable, complete url */ public static function route($route = '') { $route = trim($route); // Special cases if ($route == 'index.php' || $route == 'index.php?') { $result = $route; } elseif (substr($route, 0, 1) == '&') { $url = JURI::getInstance(); $vars = array(); parse_str($route, $vars); $url->setQuery(array_merge($url->getQuery(true), $vars)); $result = 'index.php?' . $url->getQuery(); } else { $url = JURI::getInstance(); $props = $url->getQuery(true); // Strip 'index.php?' if (substr($route, 0, 10) == 'index.php?') { $route = substr($route, 10); } // Parse route $parts = array(); parse_str($route, $parts); $result = array(); // Check to see if there is component information in the route if not add it if (!isset($parts['option']) && isset($props['option'])) { $result[] = 'option=' . $props['option']; } // Add the layout information to the route only if it's not 'default' if (!isset($parts['view']) && isset($props['view'])) { $result[] = 'view=' . $props['view']; if (!isset($parts['layout']) && isset($props['layout'])) { $result[] = 'layout=' . $props['layout']; } } // Add the format information to the URL only if it's not 'html' if (!isset($parts['format']) && isset($props['format']) && $props['format'] != 'html') { $result[] = 'format=' . $props['format']; } // Reconstruct the route if (!empty($route)) { $result[] = $route; } $result = 'index.php?' . implode('&', $result); } return JRoute::_($result); } } PK �!]�#o, , index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK �!]�~�TL. L. template.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.9.6 * @author acyba.com * @copyright (C) 2009-2018 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'); ?><?php class plgAcymailingTemplate extends JPlugin{ var $templates = array(); var $tags = array(); var $headerstyles = array(); var $others = array(); var $stylesheets = array(); var $templateClass = ''; var $config; function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'template'); $this->params = new acyParameter($plugin->params); } $this->config = acymailing_config(); if(version_compare(PHP_VERSION, '5.0.0', '>=') && class_exists('DOMDocument') && function_exists('mb_convert_encoding')){ require_once(ACYMAILING_FRONT.'inc'.DS.'emogrifier'.DS.'emogrifier.php'); } } private function _applyTemplate(&$email, $addbody){ if(empty($email->tempid)) return; if(!isset($this->templates[$email->tempid])){ $this->headerstyles[$email->tempid] = array(); $this->headerstyles[$email->tempid][] = '.ReadMsgBody{width: 100%;}'; $this->headerstyles[$email->tempid][] = '.ExternalClass{width: 100%;}'; $this->headerstyles[$email->tempid][] = 'div, p, a, li, td { -webkit-text-size-adjust:none; }'; $this->headerstyles[$email->tempid][] = 'a[x-apple-data-detectors]{ color: inherit !important; text-decoration: inherit !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; }'; $this->templates[$email->tempid] = array(); if(empty($this->templateClass)){ $this->templateClass = acymailing_get('class.template'); } if(!empty($email->template) && $email->tempid == $email->template->tempid){ $template = $email->template; }else{ $template = $email->template = $this->templateClass->get($email->tempid); } if(!empty($template->styles) OR !empty($template->stylesheet)){ $this->stylesheets[$email->tempid] = $this->templateClass->buildCSS($template->styles, $template->stylesheet); if(preg_match_all('#@import[^;]*;#is', $this->stylesheets[$email->tempid], $results)){ foreach($results[0] as $oneResult){ array_unshift($this->headerstyles[$email->tempid], trim($oneResult)); } } if(preg_match_all('#@media.*}[^{}]*}#Uis', $this->stylesheets[$email->tempid], $results)){ foreach($results[0] as $oneResult){ $this->stylesheets[$email->tempid] = str_replace($oneResult, '', $this->stylesheets[$email->tempid]); $this->headerstyles[$email->tempid][] = trim($oneResult); } } if(preg_match_all('#}([^}]+:hover[^{]*{[^{]*})#Uis', '} '.$this->stylesheets[$email->tempid], $results)){ foreach($results[1] as $oneResult){ $this->stylesheets[$email->tempid] = str_replace($oneResult, '', $this->stylesheets[$email->tempid]); $this->headerstyles[$email->tempid][] = trim($oneResult); } } } if(!empty($template->styles)){ foreach($template->styles as $class => $style){ if(empty($style)) continue; if(preg_match('#^tag_(.*)$#', $class, $result)){ $this->tags[$email->tempid]['#< *'.$result[1].'((?:(?!style).)*)>#Ui'] = '<'.$result[1].' style="'.$style.'" $1>'; if(strpos($style, '!important')) $this->headerstyles[$email->tempid][] = $result[1].'{ '.str_replace('!important', '', $style).' }'; }elseif($class == 'color_bg'){ $this->others[$email->tempid][$class] = $style; }else{ $this->templates[$email->tempid]['class="'.$class.'"'] = 'style="'.$style.'"'; } } if(!empty($template->styles['tag_a'])){ $this->headerstyles[$email->tempid][] = 'a:visited{'.$template->styles['tag_a'].'}'; } } } if($addbody AND !strpos($email->body, '</body>')){ $before = '<html><head>'."\n"; if(!empty($template->header)) $before .= $template->header."\n"; $before .= '<meta http-equiv="Content-Type" content="text/html; charset='.strtolower($this->config->get('charset')).'" />'."\n"; $before .= '<meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n"; $before .= '<title>'.$email->subject.'</title>'."\n"; if(!empty($this->headerstyles[$email->tempid])){ $before .= '<style type="text/css">'."\n"; $before .= implode("\n", $this->headerstyles[$email->tempid])."\n"; $before .= '</style>'."\n"; } $before .= '</head>'."\n".'<body yahoo="fix"'; if(!empty($this->others[$email->tempid]['color_bg'])) $before .= ' bgcolor="'.$this->others[$email->tempid]['color_bg'].'" '; $before .= '>'."\n"; $email->body = $before.$email->body.'</body>'."\n".'</html>'; } if(!empty($this->stylesheets[$email->tempid]) AND class_exists('acymailingEmogrifier')){ $emogrifier = new acymailingEmogrifier($email->body, $this->stylesheets[$email->tempid]); $email->body = $emogrifier->emogrify(); if(!$addbody AND strpos($email->body, '<!DOCTYPE') !== false){ $email->body = preg_replace('#<\!DOCTYPE.*<body([^>]*)>#Usi', '', $email->body); $email->body = preg_replace('#</body>.*$#si', '', $email->body); } }else{ if(!empty($this->templates[$email->tempid])){ $email->body = str_replace(array_keys($this->templates[$email->tempid]), $this->templates[$email->tempid], $email->body); } if(!empty($this->tags[$email->tempid])){ $email->body = preg_replace(array_keys($this->tags[$email->tempid]), $this->tags[$email->tempid], $email->body); } } $newbody = preg_replace('#(<(div|tr|td|table)[^>]*)title="[^"]*"#Uis', '$1', $email->body); if(!empty($newbody)) $email->body = $newbody; $newbody = preg_replace('# id="zone_[0-9]+"#Uis', ' ', $email->body); if(!empty($newbody)) $email->body = $newbody; $newbody = preg_replace('# *(acyeditor_text|acyeditor_picture|acyeditor_delete|acyeditor_sortable|ui-sortable) *#is', '', $email->body); $newbody = preg_replace('#(class|title|style|id)=" *"#Ui', '', $newbody); if(!empty($newbody)) $email->body = $newbody; } public function acymailing_replaceusertags(&$email, &$user, $send = true){ if(!$email->sendHTML) return; if((!acymailing_level(1) || acymailing_level(4)) && !empty($email->type) && in_array($email->type, array('news', 'followup'))){ $pict = '<div style="text-align:center;margin:10px auto;display:block;"><a target="_blank" href="https://www.acyba.com/?utm_source=acymailing&utm_medium=e-mail&utm_content=img&utm_campaign=powered-by"><img alt="Powered by AcyMailing" src="media/com_acymailing/images/poweredby.png" /></a></div>'; if(strpos($email->body, '</body>')){ $email->body = str_replace('</body>', $pict.'</body>', $email->body); }else{ $email->body .= $pict; } } $this->_applyTemplate($email, $send); $email->body = preg_replace('#< *(tr|td|table)([^>]*)(style="[^"]*)background-image *: *url\(\'?([^)\']*)\'?\);?#Ui', '<$1 background="$4" $2 $3', $email->body); $email->body = acymailing_absoluteURL($email->body); if(preg_match_all('#< *img([^>]*)>#Ui', $email->body, $allPictures)){ foreach($allPictures[0] as $i => $onePict){ if(strpos($onePict, 'align=') !== false) continue; if(!preg_match('#(style="[^"]*)(float *: *)(right|left|top|bottom|middle)#Ui', $onePict, $pictParams)) continue; $newPict = str_replace('<img', '<img align="'.$pictParams[3].'" ', $onePict); $email->body = str_replace($onePict, $newPict, $email->body); if(strpos($onePict, 'hspace=') !== false) continue; $hspace = 5; if(preg_match('#margin(-right|-left)? *:([^";]*)#i', $onePict, $margins)){ $currentMargins = explode(' ', trim($margins[2])); $myMargin = (count($currentMargins) > 1) ? $currentMargins[1] : $currentMargins[0]; if(strpos($myMargin, 'px') !== false) $hspace = preg_replace('#[^0-9]#i', '', $myMargin); } $lastPict = str_replace('<img', '<img hspace="'.$hspace.'" ', $newPict); $email->body = str_replace($newPict, $lastPict, $email->body); } } if(!preg_match('#(<thead|<tfoot|< *tbody *[^> ]+ *>)#Ui', $email->body)){ $email->body = preg_replace('#< *\/? *tbody *>#Ui', '', $email->body); } $email->body = preg_replace_callback('/src="([^"]* [^"]*)"/Ui', array($this, '_convertSpaces'), $email->body); $this->fixPictureSize($email->body); $acypluginsHelper = acymailing_get('helper.acyplugins'); $acypluginsHelper->fixPictureDim($email->body); }//endfct public function acymailing_replacetags(&$email, $send = true){ $this->linksSEF($email); $this->checkThumbnailYoutube($email); } public function linksSEF(&$email){ $results = array(); $altresults = array(); $found = preg_match_all('#(?:{|%7B)acyfrontsef(?:}|%7D)(.*)(?:{|%7B)/acyfrontsef(?:}|%7D)#Uis', $email->body, $results); $found = preg_match_all('#(?:{|%7B)acyfrontsef(?:}|%7D)(.*)(?:{|%7B)/acyfrontsef(?:}|%7D)#Uis', $email->altbody, $altresults) || $found; if(!$found) return; $results[0] = array_merge($results[0], $altresults[0]); $results[1] = array_merge($results[1], $altresults[1]); $clearesults = array(0 => array(), 1 => array()); foreach($results[0] as $i => $val){ if(in_array($val, $clearesults[0])) continue; $clearesults[0][] = $val; $clearesults[1][] = $results[1][$i]; } $results = $clearesults; $urls = ''; $i = 0; $passedResults = array(0 => array(), 1 => array()); foreach($results[1] as $key => $link){ $urls .= '&urls['.$i.']='.base64_encode($link); $passedResults[0][] = $results[0][$key]; $passedResults[1][] = $link; $i++; if($i > 40){ $this->_callFrontURL($email, $urls, $passedResults); $passedResults = array(0 => array(), 1 => array()); $urls = ''; $i = 0; } } if(!empty($urls)) $this->_callFrontURL($email, $urls, $passedResults); } private function _callFrontURL(&$email, $urls, $results){ $sefLinks = acymailing_fileGetContent(acymailing_rootURI().'index.php?option=com_acymailing&ctrl=url&task=sef'.$urls); $newLinks = json_decode($sefLinks, true); if($newLinks == null){ if(!empty($sefLinks) && defined('JDEBUG') && JDEBUG) acymailing_enqueueMessage('Error trying to get the sef links: '.$sefLinks); $newLinks = array(); foreach($results[1] as $link){ $key = $link; $link = ltrim($link, '/'); $mainurl = acymailing_mainURL($link); $newLinks[$key] = $mainurl.$link; } } $replacement = array(); if(empty($newLinks)) return; foreach($results[1] as $key => $origin){ $replacement[$results[0][$key]] = $newLinks[$results[1][$key]]; } $email->body = str_replace(array_keys($replacement), $replacement, $email->body); $email->altbody = str_replace(array_keys($replacement), $replacement, $email->altbody); } public function _convertSpaces($matches){ return "src='".str_replace(' ', '%20', $matches[1])."'"; } private function fixPictureSize(&$body){ if(!preg_match_all('#(<img)([^>]*>)#i', $body, $results)) return; $replace = array(); $widthheight = array('width', 'height'); foreach($results[0] as $num => $oneResult){ $add = array(); foreach($widthheight as $whword){ if(preg_match('#'.$whword.' *=#i', $oneResult) || !preg_match('#[^a-z_\-]'.$whword.' *:([0-9 ]{1,8})px#i', $oneResult, $resultWH)) continue; if(empty($resultWH[1])) continue; $add[] = $whword.'="'.trim($resultWH[1]).'" '; } if(!empty($add)) $replace[$oneResult] = '<img '.implode(' ', $add).$results[2][$num]; } if(empty($replace)) return; $body = str_replace(array_keys($replace), $replace, $body); } function checkThumbnailYoutube(&$mail){ $acypluginsHelper = acymailing_get('helper.acyplugins'); $mail->body = $acypluginsHelper->replaceVideos($mail->body); } }//endclass PK �!]�I � template.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Template Class Replacer</name> <creationDate>March 2018</creationDate> <version>5.9.6</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2018 ACYBA SAS - All rights reserved.</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables AcyMailing to replace CSS class in each email</description> <files> <filename plugin="template">template.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-template"/> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-template"/> </fieldset> </fields> </config> </extension> PK -�!]�:�� � plugin.min.jsnu &1i� tinymce.PluginManager.add("template",function(e){function t(t){return function(){var n=e.settings.templates;return"function"==typeof n?void n(t):void("string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):t(n))}}function n(t){function n(t){function n(t){if(t.indexOf("<html>")==-1){var n="";tinymce.each(e.contentCSS,function(t){n+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var i=e.settings.body_class||"";i.indexOf("=")!=-1&&(i=e.getParam("body_class","","hash"),i=i[e.id]||""),t="<!DOCTYPE html><html><head>"+n+'</head><body class="'+i+'">'+t+"</body></html>"}t=o(t,"template_preview_replace_values");var a=r.find("iframe")[0].getEl().contentWindow.document;a.open(),a.write(t),a.close()}var a=t.control.value();a.url?tinymce.util.XHR.send({url:a.url,success:function(e){i=e,n(i)}}):(i=a.content,n(i)),r.find("#description")[0].text(t.control.value().description)}var r,i,s=[];if(!t||0===t.length){var l=e.translate("No templates defined.");return void e.notificationManager.open({text:l,type:"info"})}tinymce.each(t,function(e){s.push({selected:!s.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),r=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:s,onselect:n}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){a(!1,i)},minWidth:Math.min(tinymce.DOM.getViewPort().w,e.getParam("template_popup_width",600)),minHeight:Math.min(tinymce.DOM.getViewPort().h,e.getParam("template_popup_height",500))}),r.find("listbox")[0].fire("select")}function r(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}var i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),a="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),s="January February March April May June July August September October November December".split(" ");return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(s[n.getMonth()])),t=t.replace("%b",""+e.translate(a[n.getMonth()])),t=t.replace("%A",""+e.translate(o[n.getDay()])),t=t.replace("%a",""+e.translate(i[n.getDay()])),t=t.replace("%%","%")}function i(t){var n=e.dom,r=e.getParam("template_replace_values");s(n.select("*",t),function(e){s(r,function(t,i){n.hasClass(e,i)&&"function"==typeof r[i]&&r[i](e)})})}function o(t,n){return s(e.getParam(n),function(e,n){"function"==typeof e&&(e=e(n)),t=t.replace(new RegExp("\\{\\$"+n+"\\}","g"),e)}),t}function a(t,n){function a(e,t){return new RegExp("\\b"+t+"\\b","g").test(e.className)}var l,c,u=e.dom,d=e.selection.getContent();n=o(n,"template_replace_values"),l=u.create("div",null,n),c=u.select(".mceTmpl",l),c&&c.length>0&&(l=u.create("div",null),l.appendChild(c[0].cloneNode(!0))),s(u.select("*",l),function(t){a(t,e.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_cdate_format",e.getLang("template.cdate_format")))),a(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format")))),a(t,e.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))&&(t.innerHTML=d)}),i(l),e.execCommand("mceInsertContent",!1,l.innerHTML),e.addVisual()}var s=tinymce.each;e.addCommand("mceInsertTemplate",a),e.addButton("template",{title:"Insert template",onclick:t(n)}),e.addMenuItem("template",{text:"Template",onclick:t(n),context:"insert"}),e.on("PreProcess",function(t){var n=e.dom;s(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(s(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format"))))}),i(t))})})});PK U�!]�#o, , tmpl/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK U�!]��� � tmpl/listing.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.9.6 * @author acyba.com * @copyright (C) 2009-2018 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="acy_content"> <div id="iframedoc"></div> <?php $saveOrder = $this->pageInfo->filter->order->value == 'a.ordering' && strtolower($this->pageInfo->filter->order->dir) == 'asc'; ?> <form action="<?php echo acymailing_completeLink('template'); ?>" method="post" name="adminForm" id="adminForm"> <table class="acymailing_table_options"> <tr> <td width="100%"> <?php acymailing_listingsearch($this->pageInfo->search); ?> </td> <td nowrap="nowrap"> <?php ?> </td> </tr> </table> <table class="acymailing_table" cellpadding="1" id="templateListing"> <thead> <tr> <th class="title titlenum"> <?php echo acymailing_translation('ACY_NUM'); ?> </th> <th class="title titleorder" style="width:32px !important; padding-left:1px; padding-right:1px;"> <?php echo acymailing_gridSort('<i class="icon-menu-2"></i>', 'a.ordering', $this->pageInfo->filter->order->dir, $this->pageInfo->filter->order->value, null, 'asc', 'JGRID_HEADING_ORDERING'); ?> </th> <th class="title titlebox"> <input type="checkbox" name="toggle" value="" onclick="acymailing.checkAll(this);"/> </th> <th class="title"> <?php echo acymailing_gridSort(acymailing_translation('ACY_TEMPLATE'), 'a.name', $this->pageInfo->filter->order->dir, $this->pageInfo->filter->order->value); ?> </th> <th class="title titletoggle"> <?php echo acymailing_gridSort(acymailing_translation('ACY_DEFAULT'), 'a.premium', $this->pageInfo->filter->order->dir, $this->pageInfo->filter->order->value); ?> </th> <th class="title titletoggle"> <?php echo acymailing_gridSort(acymailing_translation('ACY_PUBLISHED'), 'a.published', $this->pageInfo->filter->order->dir, $this->pageInfo->filter->order->value); ?> </th> <th class="title titleid"> <?php echo acymailing_gridSort(acymailing_translation('ACY_ID'), 'a.tempid', $this->pageInfo->filter->order->dir, $this->pageInfo->filter->order->value); ?> </th> </tr> </thead> <tfoot> <tr> <td colspan="7"> <?php echo $this->pagination->getListFooter(); echo $this->pagination->getResultsCounter(); ?> </td> </tr> </tfoot> <tbody id="acymailing_sortable_listing"> <?php $k = 0; $ordering = ''; for($i = 0, $a = count($this->rows); $i < $a; $i++){ $row =& $this->rows[$i]; $ordering .= ',"order['.$i.']='.$row->ordering.'"'; $publishedid = 'published_'.$row->tempid; $premiumid = 'premium_'.$row->tempid; ?> <tr class="<?php echo "row$k"; ?>" acyorderid="<?php echo $row->tempid; ?>"> <td align="center" style="text-align:center;"> <?php echo $this->pagination->getRowOffset($i); ?> </td> <?php $iconClass = 'acyicon-draghandle'; if(!$saveOrder) $iconClass .= ' acyinactive-handler" title="Sort the listing by ordering first'; ?> <td class="<?php echo $iconClass; ?>"><img alt="" src="<?php echo ACYMAILING_IMAGES; ?>icons/drag.png" /></td> <td align="center" style="text-align:center;"> <?php echo acymailing_gridID($i, $row->tempid); ?> </td> <td> <?php if(!empty($row->thumb)){ ?> <a href="<?php echo acymailing_completeLink('template&task=edit&tempid='.$row->tempid); ?>"> <img class="template_thumbnail" src="<?php echo rtrim(acymailing_rootURI(), '/').'/'.strip_tags($row->thumb) ?>" style="float:left;width:100px;margin-right:10px;"/> </a> <?php } ?> <a href="<?php echo acymailing_completeLink('template&task=edit&tempid='.$row->tempid); ?>"><?php echo acymailing_dispSearch($row->name, $this->pageInfo->search); ?></a><br/> <?php echo acymailing_absoluteURL(nl2br($row->description)); ?> </td> <td align="center" style="text-align:center;"> <span id="<?php echo $premiumid ?>"><?php echo $this->toggleClass->toggle($premiumid, $row->premium, 'template') ?></span> </td> <td align="center" style="text-align:center;"> <span id="<?php echo $publishedid ?>"><?php echo $this->toggleClass->toggle($publishedid, $row->published, 'template') ?></span> </td> <td width="1%" align="center" style="text-align:center;"> <?php echo acymailing_dispSearch($row->tempid, $this->pageInfo->search); ?> </td> </tr> <?php $k = 1 - $k; } ?> </tbody> </table> <?php acymailing_formOptions($this->pageInfo->filter->order); ?> </form> </div> <?php if($saveOrder) acymailing_sortablelist('template', ltrim($ordering, ',')); ?> PK U�!]2�W� � tmpl/theme.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.9.6 * @author acyba.com * @copyright (C) 2009-2018 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'); ?><style type="text/css"> div.templatedescription{ color: #819197; text-align: center; } div.templatedescription img{ display: block; clear: both; margin: auto; margin-bottom: 10px; border: 1px solid #EEEEEE; padding: 5px; background-color: #fff; max-height: 200px; max-width: 190px; } div.templatearea{ border: 1px solid #e5e5e5; background-color: #fff; margin: 9px 7px; padding: 2px; width: 205px; position: relative; display: inline-block; vertical-align: top; background: #fff; text-align: center; cursor: pointer; min-height: 260px; } div.templatearea:after, div.templatearea:before{ content: " "; position: absolute; width: 50%; height: 100px; z-index: -10; } div.templatearea:before{ bottom: 7px; left: 5px; transform: rotate(-3deg); box-shadow: 7px 6px 8px #333; } div.templatearea:after{ bottom: 7px; right: 5px; transform: rotate(3deg); box-shadow: -7px 6px 8px #333; } div.templatearea:hover{ background-color: #e9ecf3; } div.templatetitle{ color: #4a7cac; text-align: center; font-family: cursive; font-style: normal; margin-bottom: 10px; text-shadow: 0 1px 0 #FFFFFF; font-size: 14px; } body{ background-color: #f6f7f9 !important; min-width: 650px !important; height: auto; } html{ overflow-y: auto; } .rt-container, .rt-block{ width: auto !important; background-color: #f6f7f9 !important; } #adminForm{ text-align: center; } ul{ list-style-type: none; } ul li{ display: inline-block; } </style> <form action="<?php echo acymailing_completeLink((acymailing_isAdmin() ? '' : 'front').'template', true); ?>" method="post" name="adminForm" id="adminForm"> <?php if($this->pageInfo->elements->total > $this->pageInfo->elements->page || !empty($this->pageInfo->search) || !empty($this->pageInfo->category)){ ?> <table class="acymailing_table_options" cellpadding="1" style="width:100%;"> <tr> <td> <?php acymailing_listingsearch($this->pageInfo->search); ?> </td> <td> <?php if(acymailing_level(3)){ $listcategoryType = acymailing_get('type.categoryfield'); echo $listcategoryType->getFilter('template', 'category', $this->pageInfo->category, ' onchange="document.adminForm.limitstart.value=0;this.form.submit();" style="width:150px;"'); } ?> </td> </tr> </table> <?php } ?> <?php $num = 0; if(empty($this->pageInfo->limit->start)){ $num++; ?> <div class="templatearea emptytemplate" onclick="applyTemplate(0);"> <div class="templatetitle"><?php echo acymailing_translation('ACY_NONE'); ?></div> <div style="display:none" id="stylesheet_0"></div> <div style="display:none" id="htmlcontent_0"><br/></div> <div style="display:none" id="textcontent_0"></div> <div style="display:none" id="subject_0"></div> <div style="display:none" id="replyname_0"></div> <div style="display:none" id="replyemail_0"></div> <div style="display:none" id="fromname_0"></div> <div style="display:none" id="fromemail_0"></div> </div> <?php } for($i = 0, $a = count($this->rows); $i < $a; $i++){ $row =& $this->rows[$i]; $row->subject = acyEmoji::Decode($row->subject); $num++; ?> <div class="templatearea" onclick="applyTemplate(<?php echo $row->tempid?>);"> <div class="templatetitle"><?php echo acymailing_dispSearch($row->name, $this->pageInfo->search); ?></div> <div class="templatedescription"> <?php if(!empty($row->thumb)){ ?> <img src="<?php echo ACYMAILING_LIVE.$row->thumb ?>"/> <?php } ?> <?php echo acymailing_absoluteURL(nl2br($row->description)); ?> </div> <div style="display:none" id="stylesheet_<?php echo $row->tempid;?>"><?php echo $row->stylesheet;?></div> <div style="display:none" id="htmlcontent_<?php echo $row->tempid;?>"><?php echo acymailing_absoluteURL($row->body);?></div> <div style="display:none" id="textcontent_<?php echo $row->tempid;?>"><?php echo $row->altbody;?></div> <div style="display:none" id="subject_<?php echo $row->tempid;?>"><?php echo $row->subject;?></div> <div style="display:none" id="replyname_<?php echo $row->tempid;?>"><?php echo $row->replyname;?></div> <div style="display:none" id="replyemail_<?php echo $row->tempid;?>"><?php echo $row->replyemail;?></div> <div style="display:none" id="fromname_<?php echo $row->tempid;?>"><?php echo $row->fromname;?></div> <div style="display:none" id="fromemail_<?php echo $row->tempid;?>"><?php echo $row->fromemail;?></div> </div> <?php } ?> <?php if($this->pageInfo->elements->total > $this->pageInfo->elements->page || !empty($this->pageInfo->search) || !empty($this->pageInfo->category)){ ?> <table style="width:100%;margin-top:20px;"> <tfoot> <tr> <td style="text-align:center;" colspan="2"> <?php echo $this->pagination->getListFooter(); echo $this->pagination->getResultsCounter(); ?> </td> </tr> </tfoot> </table> <?php } ?> <input type="hidden" name="defaulttask" value="theme"/> <?php acymailing_formOptions($this->pageInfo->filter->order); ?> </form> PK U�!]Y_�"# # tmpl/upload.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.9.6 * @author acyba.com * @copyright (C) 2009-2018 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="acy_content"> <form action="<?php echo acymailing_completeLink('template', true); ?>" method="post" name="adminForm" id="adminForm" autocomplete="off" enctype="multipart/form-data"> <div id="iframedoc"></div> <div style="text-align:center;padding-top:20px;"><input type="file" style="width:auto" name="uploadedfile"/> <?php echo '<br />'.(acymailing_translation_sprintf('MAX_UPLOAD', (acymailing_bytes(ini_get('upload_max_filesize')) > acymailing_bytes(ini_get('post_max_size'))) ? ini_get('post_max_size') : ini_get('upload_max_filesize'))); ?></div> <br/><br/><a class="downloadmore" href="https://www.acyba.com/acymailing/templates-pack.html" target="_blank"><?php echo acymailing_translation('MORE_TEMPLATES'); ?></a> <?php acymailing_formOptions(); ?> </form> </div> PK U�!]���1 �1 tmpl/form.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.9.6 * @author acyba.com * @copyright (C) 2009-2018 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="acy_content"> <div id="iframedoc"></div> <form action="<?php echo acymailing_completeLink('template'); ?>" method="post" name="adminForm" id="adminForm" class="templateManagement" enctype="multipart/form-data"> <div class="acyblockoptions" id="sendtest" style="float:none;<?php if(acymailing_getVar('cmd', 'task') != 'test') echo 'display:none;'; ?>"> <span class="acyblocktitle"><?php echo acymailing_translation('SEND_TEST'); ?></span> <table> <tr> <td valign="top"> <?php echo acymailing_translation('SEND_TEST_TO'); ?> </td> <td> <?php echo $this->testreceiverType->display($this->infos->test_selection, $this->infos->test_group, $this->infos->test_emails); ?> </td> </tr> <tr> <td/> <td> <button type="submit" class="acymailing_button" onclick="var val = document.getElementById('message_receivers').value; if(val != ''){ setUser(val); } acymailing.submitbutton('test');return false;"><?php echo acymailing_translation('SEND_TEST') ?></button> </td> </tr> </table> </div> <div class="acyblockoptions"> <span class="acyblocktitle"><?php echo acymailing_translation('ACY_TEMPLATE_INFORMATIONS'); ?></span> <table> <tr> <td> <label for="name"> <?php echo acymailing_translation('TEMPLATE_NAME'); ?> </label> </td> <td> <input type="text" name="data[template][name]" id="name" class="inputbox" style="width:200px" value="<?php echo $this->escape(@$this->template->name); ?>"/> </td> </tr> <tr> <td> <label for="published"> <?php echo acymailing_translation('ACY_PUBLISHED'); ?> </label> </td> <td> <?php echo acymailing_boolean("data[template][published]", '', @$this->template->published); ?> </td> </tr> <tr> <td> <label for="default"> <?php echo acymailing_translation('ACY_DEFAULT'); ?> </label> </td> <td> <?php echo acymailing_boolean("data[template][premium]", '', @$this->template->premium); ?> </td> </tr> <?php if(acymailing_level(3)){ ?> <tr> <td> <label for="datatemplatecategory"> <?php echo acymailing_translation('ACY_CATEGORY'); ?> </label> </td> <td> <?php $catType = acymailing_get('type.categoryfield'); echo $catType->display('template', 'data[template][category]', $this->template->category); ?> </td> </tr> <?php } ?> <tr> <td> <label for="thumb"> <?php echo acymailing_translation('ACY_THUMBNAIL'); ?> </label> </td> <td> <?php $uploadfileType = acymailing_get('type.uploadfile'); echo $uploadfileType->display(true, 'thumb', $this->template->thumb, 'data[template][thumb]'); ?> </td> </tr> <tr> <td valign="top"> <label for="description"> <?php echo acymailing_translation('ACY_DESCRIPTION'); ?> </label> </td> <td> <textarea id="description" name="editor_description" style="width:90%;height:80px;"><?php echo @$this->template->description; ?></textarea> </td> </tr> <tr> <td> <label for="subject"> <?php echo acymailing_translation('JOOMEXT_SUBJECT'); ?> </label> </td> <td> <div> <input onClick="zoneToTag='subject';" type="text" id="subject" name="data[template][subject]" class="inputbox" style="width:80%" value="<?php echo $this->escape(@$this->template->subject); ?>"/> </div> </td> </tr> <tr> <td class="paramlist_key"> <label for="fromname"><?php echo acymailing_translation('FROM_NAME'); ?></label> </td> <td class="paramlist_value"> <input class="inputbox" id="fromname" type="text" name="data[template][fromname]" style="width:200px" value="<?php echo $this->escape(@$this->template->fromname); ?>"/> </td> </tr> <tr> <td class="paramlist_key"> <label for="fromemail"><?php echo acymailing_translation('FROM_ADDRESS'); ?></label> </td> <td class="paramlist_value"> <input onchange="validateEmail(this.value, '<?php echo addslashes(acymailing_translation('FROM_ADDRESS')); ?>')" class="inputbox" id="fromemail" type="text" name="data[template][fromemail]" style="width:200px" value="<?php echo $this->escape(@$this->template->fromemail); ?>"/> </td> </tr> <tr> <td class="paramlist_key"> <label for="replyname"><?php echo acymailing_translation('REPLYTO_NAME'); ?></label> </td> <td class="paramlist_value"> <input class="inputbox" id="replyname" type="text" name="data[template][replyname]" style="width:200px" value="<?php echo $this->escape(@$this->template->replyname); ?>"/> </td> </tr> <tr> <td class="paramlist_key"> <label for="replyemail"><?php echo acymailing_translation('REPLYTO_ADDRESS'); ?></label> </td> <td class="paramlist_value"> <input onchange="validateEmail(this.value, '<?php echo addslashes(acymailing_translation('REPLYTO_ADDRESS')); ?>')" class="inputbox" id="replyemail" type="text" name="data[template][replyemail]" style="width:200px" value="<?php echo $this->escape(@$this->template->replyemail); ?>"/> </td> </tr> </table> </div> <?php echo acymailing_getFunctionsEmailCheck(); ?> <div class="acyblockoptions"> <span class="acyblocktitle"><?php echo acymailing_translation('ACY_STYLES'); ?></span> <?php echo $this->tabs->startPane('template_css'); echo $this->tabs->startPanel(acymailing_translation('STYLE_IND'), 'template_css_classes'); ?> <br style="font-size:1px"/> <table width="100%"> <tbody id="classtable"> <tr> <td> <label for="bgcolor"> <?php echo acymailing_translation('BACKGROUND_COLOUR'); ?> </label> </td> <td> <?php echo $this->colorBox->displayAll('', 'styles[color_bg]', @$this->template->styles['color_bg']); ?> </td> </tr> <?php $tagList = array('tag_h1' => 'Title h1', 'tag_h2' => 'Title h2', 'tag_h3' => 'Title h3', 'tag_h4' => 'Title h4', 'tag_h5' => 'Title h5', 'tag_h6' => 'Title h6', 'tag_a' => acymailing_translation('ACY_LINK_STYLE'), 'acymailing_unsub' => acymailing_translation('STYLE_UNSUB'), 'acymailing_content' => acymailing_translation('CONTENT_AREA'), 'acymailing_title' => acymailing_translation('CONTENT_HEADER'), 'acymailing_readmore' => acymailing_translation('CONTENT_READMORE'), 'acymailing_online' => acymailing_translation('STYLE_VIEW')); foreach($tagList as $value => $text){ ?> <tr> <td><span id="name_<?php echo $value; ?>" style="<?php echo str_replace('!important', '', $this->escape(@$this->template->styles[$value])); ?>"><?php echo $text; ?></span></td> <td><input id="style_<?php echo $value; ?>" type="text" style="width:200px" onclick="showthediv('<?php echo $value; ?>',event);" name="styles[<?php echo $value; ?>]" value="<?php echo $this->escape(@$this->template->styles[$value]); ?>"/></td> </tr> <?php if($value == 'acymailing_readmore'){ ?> <tr> <td><?php echo acymailing_translation('READMORE_PICTURE'); ?></span></td> <td> <?php echo $uploadfileType->display(true, 'readmore', $this->template->readmore, 'data[template][readmore]'); ?> </td> </tr> <?php } } ?> <tr> <td> <ul id="name_tag_ul" style="<?php echo $this->escape(@$this->template->styles['tag_ul']); ?>"> <li id="name_tag_li2" style="<?php echo $this->escape(@$this->template->styles['tag_li']); ?>">ul</li> <li id="name_tag_li" style="<?php echo $this->escape(@$this->template->styles['tag_li']); ?>">li</li> </ul> </td> <td><input type="text" id="style_tag_ul" onclick="showthediv('tag_ul',event);" style="width:200px" name="styles[tag_ul]" value="<?php echo $this->escape(@$this->template->styles['tag_ul']); ?>"/> <br/><input type="text" id="style_tag_li" onclick="showthediv('tag_li',event);" style="width:200px" name="styles[tag_li]" value="<?php echo $this->escape(@$this->template->styles['tag_li']); ?>"/></td> </tr> <?php unset($this->template->styles['color_bg']); unset($this->template->styles['tag_ul']); unset($this->template->styles['tag_li']); if(!empty($this->template->styles)){ foreach($this->template->styles as $className => $style){ if(isset($tagList[$className])) continue; ?> <tr> <td><span id="name_<?php echo $className ?>" style="<?php echo $this->escape($style); ?>"><?php echo $className ?></span></td> <td><input id="style_<?php echo $className ?>" type="text" style="width:200px" onclick="showthediv('<?php echo $className; ?>',event);" name="styles[<?php echo $className; ?>]" value="<?php echo $this->escape($style); ?>"/></td> </tr> <?php } ?> <?php } ?> </tbody> </table> <a onclick="addStyle();return false;" href="#"><?php echo acymailing_translation('ADD_STYLE'); ?></a> <?php echo $this->tabs->startPanel(acymailing_translation('TEMPLATE_STYLESHEET'), 'template_css_stylesheet'); ?> <br style="font-size:1px"/> <?php $messages = array(); if(version_compare(PHP_VERSION, '5.0.0', '<')) $messages[] = 'Please make sure you use at least PHP 5.0.0'; if(!class_exists('DOMDocument')){ $messages[] = 'DOMDocument class not found'; }else{ $xmldoc = @ new DOMDocument; if(!is_object($xmldoc) || !method_exists($xmldoc, 'loadHTML')){ $messages[] = 'Please make sure that php_domxml.dll on windows is removed before using the domdocument class as they cannot coexist.'; } } if(!function_exists('mb_convert_encoding')) $messages[] = 'The php extension mbstring is not installed'; if(!empty($messages)){ $messages[] = 'The stylesheet can not be used'; acymailing_display($messages, 'warning'); }else{ ?> <textarea onmouseover="document.getElementById('wysija').style.display = 'none'" name="data[template][stylesheet]" style="width:98%; min-width: 300px; min-height: 300px;" rows="25" id="acystylesheettextarea"><?php echo @$this->template->stylesheet; ?></textarea> <?php } echo $this->tabs->endPanel(); echo $this->tabs->startPanel(acymailing_translation('ACY_HEADER'), 'template_css_header'); ?> <textarea name="data[template][header]" id="headertags" cols="10" rows="24" style="width: 98%; margin-top: 30px; font-size: 15px;"><?php echo $this->template->header ?></textarea> <?php echo $this->tabs->endPanel(); echo $this->tabs->endPane(); ?> </div> <?php if(acymailing_level(3)){ $acltype = acymailing_get('type.acl'); ?> <div class="acyblockoptions"> <span class="acyblocktitle"><?php echo acymailing_translation('ACCESS_LEVEL'); ?></span> <?php echo $acltype->display('data[template][access]', $this->template->access); ?> </div> <?php } ?> <div class="acyblockoptions" style="width:90%" id="htmlfieldset"> <span class="acyblocktitle"><?php echo acymailing_translation('HTML_VERSION'); ?></span> <?php echo $this->editor->display(); ?> </div> <div class="acyblockoptions" style="width:90%;" id="textfieldset"> <span class="acyblocktitle"><?php echo acymailing_translation('TEXT_VERSION'); ?></span> <textarea onClick="zoneToTag='altbody';" style="width:98%;min-height:250px;" rows="20" name="data[template][altbody]" id="altbody" placeholder="<?php echo acymailing_translation('AUTO_GENERATED_HTML'); ?>"><?php echo @$this->template->altbody; ?></textarea> </div> <div class="clr"></div> <input type="hidden" name="cid[]" value="<?php echo @$this->template->tempid; ?>"/> <?php acymailing_formOptions(); ?> </form> <div style="display:none;position:absolute;background-color:transparent;" id="wysija"> <?php echo $this->colorBox->displayOne('wysijacolor', "", ""); ?> <select style="width:75px;height:17px;margin:0px;font-size:11px;" class="chzn-done" id="style_select_wysija" onchange="getValueSelect()"> <?php $nbs = array('8', '10', '11', '12', '14', '16', '18', '20', '22', '24', '26', '36'); echo "<option value=''>Font Size</option>"; foreach($nbs as $nb){ echo "<option value='".$nb."px'>$nb px.</option>"; } ?> </select> <span id="B" onclick="spanChange('B')" class="belement"></span><span id="I" class="ielement" onclick="spanChange('I')"></span><span class="uelement" id="U" onclick="spanChange('U')"></span> </div> </div> PK U�!]�)O7>O >O view.html.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.9.6 * @author acyba.com * @copyright (C) 2009-2018 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'); ?><?php class TemplateViewTemplate extends acymailingView{ var $selection = array('a.tempid', 'a.name', 'a.description', 'a.created', 'a.published', 'a.premium', 'a.ordering', 'a.thumb'); var $filters = array(); var $button = true; var $chosen = false; function display($tpl = null){ $function = $this->getLayout(); if(method_exists($this, $function)) $this->$function(); parent::display($tpl); } function listing(){ $pageInfo = new stdClass(); $pageInfo->filter = new stdClass(); $pageInfo->filter->order = new stdClass(); $pageInfo->limit = new stdClass(); $pageInfo->elements = new stdClass(); $config = acymailing_config(); $paramBase = ACYMAILING_COMPONENT.'.'.$this->getName().$this->getLayout(); $pageInfo->filter->order->value = acymailing_getUserVar($paramBase.".filter_order", 'filter_order', 'a.ordering', 'cmd'); $pageInfo->filter->order->dir = acymailing_getUserVar($paramBase.".filter_order_Dir", 'filter_order_Dir', 'asc', 'word'); if(strtolower($pageInfo->filter->order->dir) !== 'desc') $pageInfo->filter->order->dir = 'asc'; $pageInfo->search = acymailing_getUserVar($paramBase.".search", 'search', '', 'string'); $pageInfo->search = strtolower(trim($pageInfo->search)); $pageInfo->category = acymailing_getUserVar($paramBase.".category", 'category', '0', 'string'); $pageInfo->limit->value = acymailing_getUserVar($paramBase.'.list_limit', 'limit', acymailing_getCMSConfig('list_limit'), 'int'); $pageInfo->limit->start = acymailing_getUserVar($paramBase.'.limitstart', 'limitstart', 0, 'int'); if(!empty($pageInfo->search)){ $searchVal = '\'%'.acymailing_getEscaped($pageInfo->search, true).'%\''; $this->filters[] = "a.name LIKE $searchVal OR a.description LIKE $searchVal OR a.tempid LIKE $searchVal"; } if(!empty($pageInfo->category) && $pageInfo->category != acymailing_translation('ACY_ALL_CATEGORIES')){ $this->filters[] = 'a.category LIKE '.acymailing_escapeDB($pageInfo->category); } $query = 'SELECT '.implode(',', $this->selection).' FROM '.acymailing_table('template').' as a'; if(!empty($this->filters)){ $query .= ' WHERE ('.implode(') AND (', $this->filters).')'; } if(!empty($pageInfo->filter->order->value)){ $query .= ' ORDER BY '.$pageInfo->filter->order->value.' '.$pageInfo->filter->order->dir; } try{ $this->rows = acymailing_loadObjectList($query, '', $pageInfo->limit->start, $pageInfo->limit->value); }catch(Exception $e){ $this->rows = null; } if($this->rows === null){ acymailing_display(isset($e) ? $e->getMessage() : substr(strip_tags(acymailing_getDBError()), 0, 200).'...', 'error'); if(file_exists(ACYMAILING_BACK.'install.joomla.php')){ include_once(ACYMAILING_BACK.'install.joomla.php'); $installClass = new acymailingInstall(); $installClass->fromVersion = '4.1.0'; $installClass->update = true; $installClass->updateSQL(); } } $queryCount = 'SELECT COUNT(a.tempid) FROM '.acymailing_table('template').' as a'; if(!empty($this->filters)){ $queryCount .= ' WHERE ('.implode(') AND (', $this->filters).')'; } $pageInfo->elements->total = acymailing_loadResult($queryCount); $pageInfo->elements->page = count($this->rows); $pagination = new acyPagination($pageInfo->elements->total, $pageInfo->limit->start, $pageInfo->limit->value); if($this->button){ $acyToolbar = acymailing_get('helper.toolbar'); $acyToolbar->popup('import', acymailing_translation('IMPORT'), acymailing_completeLink("template&task=upload", true), 450, 250); $acyToolbar->custom('export', acymailing_translation('ACY_EXPORT'), 'export', true); $acyToolbar->divider(); $acyToolbar->add(); $acyToolbar->edit(); if(acymailing_isAllowed($config->get('acl_templates_copy', 'all'))){ $acyToolbar->copy(); } if(acymailing_isAllowed($config->get('acl_templates_delete', 'all'))) $acyToolbar->delete(); $acyToolbar->divider(); $acyToolbar->help('template', 'listing'); $acyToolbar->setTitle(acymailing_translation('ACY_TEMPLATES'), 'template'); $acyToolbar->display(); } $toggleClass = acymailing_get('helper.toggle'); $order = new stdClass(); $order->ordering = false; $order->orderUp = 'orderup'; $order->orderDown = 'orderdown'; $order->reverse = false; if($pageInfo->filter->order->value == 'a.ordering'){ $order->ordering = true; if($pageInfo->filter->order->dir == 'desc'){ $order->orderUp = 'orderdown'; $order->orderDown = 'orderup'; $order->reverse = true; } } $filters = new stdClass(); $this->filters = $filters; $this->order = $order; $this->toggleClass = $toggleClass; $this->rows = $this->rows; $this->pageInfo = $pageInfo; $this->pagination = $pagination; } function form(){ $tempid = acymailing_getCID('tempid'); $config = acymailing_config(); if(!empty($tempid)){ $templateClass = acymailing_get('class.template'); $template = $templateClass->get($tempid); if(!empty($template->body)) $template->body = acymailing_absoluteURL($template->body); if(empty($template->tempid)){ acymailing_display('Template '.$tempid.' not found', 'error'); $tempid = 0; } } if(empty($tempid)){ $template = new stdClass(); $template->body = ''; $template->tempid = 0; $template->published = 1; $template->access = 'all'; $template->category = ''; $template->thumb = ''; $template->readmore = ''; $template->header = ''; } $editor = acymailing_get('helper.editor'); $editor->setTemplate($template->tempid); $editor->name = 'editor_body'; $editor->content = $template->body; $editor->prepareDisplay(); $script = ' document.addEventListener("DOMContentLoaded", function(){ acymailing.submitbutton = function(pressbutton) { if (pressbutton == \'cancel\') { acymailing.submitform(pressbutton,document.adminForm); return; } if(pressbutton == \'save\' || pressbutton == \'test\' || pressbutton == \'apply\'){ var emailVars = ["fromemail","replyemail"]; var val = ""; for(var key in emailVars){ if(isNaN(key)) continue; val = document.getElementById(emailVars[key]).value; if(!validateEmail(val, emailVars[key])){ return; } } }'; $script .= 'if(window.document.getElementById("name").value.length < 2){alert(\''.acymailing_translation('ENTER_TITLE', true).'\'); return false;}'; $script .= "if(pressbutton == 'test' && window.document.getElementById('sendtest') && window.document.getElementById('sendtest').style.display == 'none'){ window.document.getElementById('sendtest').style.display = 'block'; return false;}"; $script .= $editor->jsCode(); $script .= 'acymailing.submitform(pressbutton,document.adminForm); }; }); '; $script .= "var zoneToTag = 'editor'; function insertTag(tag){ if(zoneToTag == 'editor'){ try{ jInsertEditorText(tag,'editor_body'); return true; } catch(err){ alert('Your editor does not enable AcyMailing to automatically insert the tag, please copy/paste it manually in your Newsletter'); return false; } }else{ try{ simpleInsert(zoneToTag, tag); return true; } catch(err){ alert('Error inserting the tag in the '+ zoneToTag + 'zone. Please copy/paste it manually in your Newsletter.'); return false; } } } function simpleInsert(myField, myValue) { myField = document.getElementById(myField); if (document.selection) { myField.focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0') { var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); } else if (myField.tagName == 'DIV') { myField.innerHTML += myValue; document.getElementById('subject').value += myValue; } else { myField.value += myValue; } } document.addEventListener('DOMContentLoaded', function(){ setTimeout(function() { document.getElementById('htmlfieldset').addEventListener('click', function(){ zoneToTag = 'editor'; }); var ediframe = document.getElementById('htmlfieldset').getElementsByTagName('iframe'); if(ediframe && ediframe[0]){ var children = ediframe[0].contentDocument.getElementsByTagName('*'); for (var i = 0; i < children.length; i++) { children[i].addEventListener('click', function(){ zoneToTag = 'editor'; }); } } }, 1000); });"; $script .= 'function addStyle(){ var myTable=window.document.getElementById("classtable"); var newline = document.createElement(\'tr\'); var column = document.createElement(\'td\'); var column2 = document.createElement(\'td\'); var input = document.createElement(\'input\'); var input2 = document.createElement(\'input\'); input.type = \'text\'; input2.type = \'text\'; input.style.width = \'180px\'; input2.style.width = \'200px\'; input.name = \'otherstyles[classname][]\'; input2.name = \'otherstyles[style][]\'; input.placeholder = "'.str_replace('"', '\"', acymailing_translation('CLASS_NAME', true)).'"; input2.placeholder = "'.str_replace('"', '\"', acymailing_translation('CSS_STYLE', true)).'"; column.appendChild(input); column2.appendChild(input2); newline.appendChild(column); newline.appendChild(column2); myTable.appendChild(newline); }'; $script .= 'var currentValueId = \'\'; function showthediv(valueid, e){ if(currentValueId != valueid){ try{ document.getElementById(\'wysija\').style.left = jQuery(e.target).position().left-50+"px"; document.getElementById(\'wysija\').style.top = jQuery(e.target).position().top-40+"px"; }catch(err){ document.getElementById(\'wysija\').style.left = e.x-50+"px"; document.getElementById(\'wysija\').style.top = e.y-40+"px"; } currentValueId = valueid; } document.getElementById(\'wysija\').style.display = \'block\'; initDiv(); } function spanChange(span){ input = currentValueId; if (document.getElementById(span).className == span.toLowerCase()+"elementselected"){ document.getElementById(span).className = span.toLowerCase()+"element"; if(span == "B"){ document.getElementById("name_"+currentValueId).style.fontWeight = ""; document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value.replace(/font-weight *: *bold(;)?/i, ""); } if(span == "I"){ document.getElementById("name_"+currentValueId).style.fontStyle = ""; document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value.replace(/font-style *: *italic(;)?/i, ""); } if(span == "U"){ document.getElementById("name_"+currentValueId).style.textDecoration=""; document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value.replace(/text-decoration *: *underline(;)?/i,""); } }else{ document.getElementById(span).className = span.toLowerCase()+"elementselected"; if(span == "B"){ document.getElementById("name_"+currentValueId).style.fontWeight = "bold"; document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value + "font-weight:bold;"; } if(span == "I"){ document.getElementById("name_"+currentValueId).style.fontStyle = "italic"; document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value + "font-style:italic;"; } if(span == "U"){ document.getElementById("name_"+currentValueId).style.textDecoration="underline"; document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value + "text-decoration:underline;"; } } } function getValueSelect(){ selec = currentValueId; var myRegex2 = new RegExp(/font-size *:[^;]*;/i); var MyValue = document.getElementById("style_select_wysija").value; document.getElementById("name_"+currentValueId).style.fontSize = MyValue; if(document.getElementById("style_"+currentValueId).value.search(myRegex2) != -1){ if(MyValue == ""){ document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value.replace(myRegex2, ""); }else{ document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value.replace(myRegex2, "font-size:"+MyValue+";"); } }else{ document.getElementById("style_"+currentValueId).value = document.getElementById("style_"+currentValueId).value + "font-size:"+MyValue+";"; } } function initDiv(){ var RegexSize = new RegExp(/font-size *:[^;]*(;)?/gi); var RegexColor = new RegExp(/([^a-z-])color *:[^;]*(;)?/gi); document.getElementById("colorexamplewysijacolor").style.backgroundColor = "#000000"; document.getElementById("colordivwysijacolor").style.display = "none"; spaced = document.getElementById("style_"+currentValueId).value.substr(0,1); if(spaced != " "){ stringToQuery = \' \' + document.getElementById("style_"+currentValueId).value; }else{ stringToQuery = document.getElementById("style_"+currentValueId).value; } NewColor = stringToQuery.match(RegexColor); if(NewColor != null){ NewColor = NewColor[0].match(/:[^;!]*/gi); NewColor = NewColor[0].replace(/(:| )/gi,""); document.getElementById("colorexamplewysijacolor").style.backgroundColor = NewColor; } document.getElementById("U").className = "uelement"; document.getElementById("I").className = "ielement"; document.getElementById("B").className = "belement"; if(document.getElementById("style_"+currentValueId).value.search(/font-weight: *bold(;)?/i) != -1){ document.getElementById("B").className += "selected"; } if(document.getElementById("style_"+currentValueId).value.search(/font-style: *italic(;)?/i) != -1){ document.getElementById("I").className += "selected"; } if(document.getElementById("style_"+currentValueId).value.search(/text-decoration: *underline(;)?/i) != -1){ document.getElementById("U").className += "selected"; } NewSize = stringToQuery.match(RegexSize); document.getElementById("style_select_wysija").options[0].selected = true; if(NewSize != null){ NewSize = NewSize[0].match(/:[^;]*/gi); NewSize = NewSize[0].replace(" ",""); NewSize = NewSize.substr(1); for(var i = 0; i < document.getElementById("style_select_wysija").length; i++){ if(document.getElementById("style_select_wysija").options[i].value == NewSize){ document.getElementById("style_select_wysija").options[i].selected = true; } } } }'; acymailing_addScript(true, $script); $installedPlugin = acymailing_getPlugin('acymailing', 'emojis'); if(!empty($installedPlugin)){ $params = new acyParameter($installedPlugin->params); if(acymailing_isPluginEnabled('acymailing', 'emojis') && $params->get('subject', 1) == 1) { if(!ACYMAILING_J30){ acymailing_addScript(false, ACYMAILING_JS.'jquery/jquery-1.9.1.min.js?v='.filemtime(ACYMAILING_ROOT.'media'.DS.'com_acymailing'.DS.'js'.DS.'jquery'.DS.'jquery-1.9.1.min.js')); acymailing_addScript(false, ACYMAILING_JS.'jquery/jquery-ui.min.js?v='.filemtime(ACYMAILING_ROOT.'media'.DS.'com_acymailing'.DS.'js'.DS.'jquery'.DS.'jquery-ui.min.js')); } acymailing_addScript(false, acymailing_rootURI().'plugins/editors/acyeditor/acyeditor/ckeditor/plugins/smiley/emojionearea.js?v='.filemtime(ACYMAILING_ROOT.'plugins'.DS.'editors'.DS.'acyeditor'.DS.'acyeditor'.DS.'ckeditor'.DS.'plugins'.DS.'smiley'.DS.'emojionearea.js')); acymailing_addScript(false, acymailing_rootURI().'plugins/editors/acyeditor/acyeditor/ckeditor/plugins/smiley/dialogs/emojimap.js?v='.filemtime(ACYMAILING_ROOT.'plugins'.DS.'editors'.DS.'acyeditor'.DS.'acyeditor'.DS.'ckeditor'.DS.'plugins'.DS.'smiley'.DS.'dialogs'.DS.'emojimap.js')); acymailing_addStyle(false, acymailing_rootURI().'plugins/editors/acyeditor/acyeditor/ckeditor/plugins/smiley/emojionearea.css?v='.filemtime(ACYMAILING_ROOT.'plugins'.DS.'editors'.DS.'acyeditor'.DS.'acyeditor'.DS.'ckeditor'.DS.'plugins'.DS.'smiley'.DS.'emojionearea.css')); acymailing_addScript(true, ' jQuery(document).ready(function() { jQuery("#subject").emojioneArea({ pickerPosition: "bottom", shortnames: true }); }); '); } } $paramBase = ACYMAILING_COMPONENT.'.'.$this->getName(); $infos = new stdClass(); $infos->test_selection = acymailing_getUserVar($paramBase.".test_selection", 'test_selection', '', 'string'); $infos->test_group = acymailing_getUserVar($paramBase.".test_group", 'test_group', '', 'string'); $infos->test_emails = acymailing_getUserVar($paramBase.".test_emails", 'test_emails', '', 'string'); $acyToolbar = acymailing_get('helper.toolbar'); if(acymailing_isAllowed($config->get('acl_tags_view', 'all'))) $acyToolbar->popup('tag', acymailing_translation('TAGS'), acymailing_completeLink("tag&task=tag&type=news", true), 780, 550); $acyToolbar->custom('test', acymailing_translation('SEND_TEST'), 'send', false); $acyToolbar->divider(); $acyToolbar->addButtonOption('apply', acymailing_translation('ACY_APPLY'), 'apply', false); $acyToolbar->save(); $acyToolbar->cancel(); $acyToolbar->divider(); $acyToolbar->help('template', 'templatecreation'); $acyToolbar->setTitle(acymailing_translation('ACY_TEMPLATE'), 'template&task=edit&tempid='.$tempid); $acyToolbar->display(); $this->editor = $editor; $testreceiverType = acymailing_get('type.testreceiver'); $this->testreceiverType = $testreceiverType; $this->template = $template; $colorBox = acymailing_get('type.color'); $this->colorBox = $colorBox; $this->infos = $infos; $tabs = acymailing_get('helper.acytabs'); $this->tabs = $tabs; } function theme(){ $this->selection[] = 'a.*'; $this->filters[] = 'a.published = 1'; if(acymailing_level(3)){ $groups = acymailing_getGroupsByUser(acymailing_currentUserId(), false); $condGroup = ''; foreach($groups as $group){ $condGroup .= ' OR a.access LIKE (\'%,'.$group.',%\')'; } $this->filters[] = 'a.access = \'all\''.$condGroup; } $this->button = false; acymailing_display(acymailing_translation('CHANGE_TEMPLATE'), 'warning', false); $this->listing(); $js = "function applyTemplate(tempid){ window.parent.changeTemplate(window.document.getElementById('htmlcontent_'+tempid).innerHTML, window.document.getElementById('textcontent_'+tempid).innerHTML, window.document.getElementById('subject_'+tempid).innerHTML, window.document.getElementById('stylesheet_'+tempid).innerHTML, window.document.getElementById('fromname_'+tempid).innerHTML, window.document.getElementById('fromemail_'+tempid).innerHTML, window.document.getElementById('replyname_'+tempid).innerHTML, window.document.getElementById('replyemail_'+tempid).innerHTML, tempid); acymailing.closeBox(true); }"; acymailing_addScript(true, $js); } function upload(){ if(acymailing_isNoTemplate()){ $acyToolbar = acymailing_get('helper.toolbar'); $acyToolbar->custom('doupload', acymailing_translation('IMPORT'), 'import', false); $acyToolbar->divider(); $acyToolbar->help('template-upload'); $acyToolbar->setTitle(acymailing_translation('ACY_TEMPLATE')); $acyToolbar->topfixed = false; $acyToolbar->display(); } } } PK BX!]{mGp59 59 utils.phpnu &1i� PK �!]�#o, , n9 index.htmlnu &1i� PK �!]�~�TL. L. �9 template.phpnu &1i� PK �!]�I � \h template.xmlnu &1i� PK -�!]�:�� � m plugin.min.jsnu &1i� PK U�!]�#o, , �~ tmpl/index.htmlnu &1i� PK U�!]��� � g tmpl/listing.phpnu &1i� PK U�!]2�W� � ?� tmpl/theme.phpnu &1i� PK U�!]Y_�"# # o� tmpl/upload.phpnu &1i� PK U�!]���1 �1 ѫ tmpl/form.phpnu &1i� PK U�!]�)O7>O >O �� view.html.phpnu &1i� PK N 5-
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка