Example #1
0
 function render($xmlpath, $data)
 {
     $css = NextendCss::getInstance();
     $js = NextendJavascript::getInstance();
     $css->addCssLibraryFile('common.css');
     $css->addCssLibraryFile('window.css');
     $css->addCssLibraryFile('configurator.css');
     $js->loadLibrary('dojo');
     nextendimport('nextend.form.form');
     $form = new NextendForm();
     $form->loadArray($data);
     $form->loadXMLFile($xmlpath);
     echo $form->render('settings');
     $js->addLibraryJsAssetsFile('dojo', 'form.js');
     $js->addLibraryJs('dojo', '
         new NextendForm({
           container: "smartslider-form",
           data: ' . json_encode($form->_data) . ',
           xml: "' . NextendFilesystem::toLinux(NextendFilesystem::pathToRelativePath($xmlpath)) . '",
           control_name: "settings",
           url: "' . NextendUri::ajaxUri('nextend', 'smartslider') . '",
           loadedJSS: ' . json_encode($js->generateArrayJs()) . ',
           loadedCSS: ' . json_encode($css->generateArrayCSS()) . '
         });
     ', true);
 }
Example #2
0
 function generateOptions(&$xml)
 {
     $template = (string) $this->_xml;
     $cssfile = NextendFilesystem::translateToMediaPath(str_replace(DIRECTORY_SEPARATOR, '/', dirname($this->_form->_xmlfile)) . '/style.');
     $css = NextendCss::getInstance();
     if (NextendFilesystem::fileexists($cssfile . 'less')) {
         $css->enableLess();
         $cssfile .= 'less';
         $css->addCssFile(array($cssfile, $cssfile, array('id' => 'body')));
     } else {
         $cssfile .= 'css';
         $css->addCssFile($cssfile);
     }
     $prefix = NextendXmlGetAttribute($this->_xml, 'prefix');
     $this->_values = array();
     $html = '';
     foreach ($xml->option as $option) {
         $v = NextendXmlGetAttribute($option, 'value');
         $this->_values[] = $v;
         if ($v != -1) {
             $info = pathinfo($v);
             $class = $prefix . basename($v, '.' . $info['extension']);
             $html .= '
             <div class="nextend-radio-option nextend-imagelist-option' . $this->isSelected($v) . '">
                 ' . str_Replace('{image}', NextendUri::pathToUri($v), str_Replace('{class}', $class, $template)) . '
             </div>';
         } else {
             $html .= '<div class="nextend-radio-option' . $this->isSelected($v) . '">' . (string) $option . '</div>';
         }
     }
     return $html;
 }
Example #3
0
 function getData($number)
 {
     nextendimport('nextend.database.database');
     $db = NextendDatabase::getInstance();
     require_once JPATH_ADMINISTRATOR . '/components/com_redshop/helpers/redshop.cfg.php';
     require_once JPATH_ADMINISTRATOR . '/components/com_redshop/helpers/configuration.php';
     require_once JPATH_ADMINISTRATOR . '/components/com_redshop/helpers/template.php';
     require_once JPATH_ADMINISTRATOR . '/components/com_redshop/helpers/stockroom.php';
     require_once JPATH_ADMINISTRATOR . '/components/com_redshop/helpers/economic.php';
     require_once JPATH_SITE . '/components/com_redshop/helpers/product.php';
     $Redconfiguration = new Redconfiguration();
     $data = array();
     $where = array();
     $category = array_map('intval', explode('||', $this->_data->get('redshopproductssourcecategory', '')));
     if (!in_array(0, $category) && count($category) > 0) {
         $where[] = 'pr_cat.category_id IN (' . implode(',', $category) . ') ';
     }
     if ($this->_data->get('redshopproductssourcepublished', 1)) {
         $where[] = ' pr.published = 1 ';
     }
     if ($this->_data->get('redshopproductssourcespecial', 0)) {
         $where[] = ' (pr.product_special =  1) ';
     }
     if ($this->_data->get('redshopproductssourceonsale', 0)) {
         $where[] = ' (pr.product_on_sale =  1) ';
     }
     $o = '';
     $order = NextendParse::parse($this->_data->get('redshopproductsorder1', 'pr.product_name|*|asc'));
     if ($order[0]) {
         $o .= 'ORDER BY ' . $order[0] . ' ' . $order[1] . ' ';
         $order = NextendParse::parse($this->_data->get('redshopproductsorder2', 'pr.product_name|*|asc'));
         if ($order[0]) {
             $o .= ', ' . $order[0] . ' ' . $order[1] . ' ';
         }
     }
     $query = "SELECT \r\n                        pr.product_id, \r\n                        pr.published, \r\n                        pr_cat.ordering, \r\n                        pr.product_name as name, \r\n                        pr.product_s_desc as short_description, \r\n                        pr.product_desc as description, \r\n                        man.manufacturer_name as man_name,\r\n                        pr.product_full_image as image, \r\n                        pr.product_thumb_image as image_thumbnail, \r\n                        pr.product_price,\r\n                        cat.category_id,\r\n                        cat.category_name, \r\n                        cat.category_short_description , \r\n                        cat.category_description\r\n                    FROM `#__redshop_product` AS pr\r\n                    LEFT JOIN `#__redshop_product_category_xref` AS pr_cat USING (product_id)\r\n                    LEFT JOIN `#__redshop_category` AS cat USING (category_id)\r\n                    LEFT JOIN `#__redshop_manufacturer` AS man USING(manufacturer_id)\r\n                    WHERE pr.product_parent_id=0 " . (count($where) ? ' AND ' . implode(' AND ', $where) : '') . " " . $o . " LIMIT 0, " . $number;
     $db->setQuery($query);
     $result = $db->loadAssocList();
     $uri = str_replace(array('http://', 'https://'), '//', NextendUri::getBaseUri());
     for ($i = 0; $i < count($result); $i++) {
         $product = new producthelper();
         $result[$i]['title'] = $result[$i]['name'];
         $result[$i]['price'] = $product->getProductFormattedPrice($product->getProductPrice($result[$i]['product_id']));
         $result[$i]['addtocart'] = $result[$i]['url'] = 'index.php?option=com_redshop&view=product&pid=' . $result[$i]['product_id'] . '&cid=' . $result[$i]['category_id'];
         $result[$i]['addtocart_label'] = 'View product';
         $result[$i]['category_url'] = 'index.php?option=com_redshop&view=category&cid=' . $result[$i]['category_id'] . '&layout=detail';
         $result[$i]['thumbnail'] = $result[$i]['image_thumbnail'] = $uri . REDSHOP_FRONT_IMAGES_ABSPATH . "product/" . $result[$i]['image_thumbnail'];
         $result[$i]['image'] = $uri . REDSHOP_FRONT_IMAGES_ABSPATH . "product/" . $result[$i]['image'];
     }
     return $result;
 }
Example #4
0
function generateDynamicThumbs($controller, $path, $group, $type, $title, $configured, $full, $available)
{
    ?>

    <div class="smartslider-dynamic-thumb">
        <div><?php 
    echo $title;
    ?>
</div>
        <img src="<?php 
    echo NextendUri::pathToUri($path);
    ?>
" /><br />
        <?php 
    if ($full && !smartsliderIsFull()) {
        ?>

            <a class="button small g" href="http://www.nextendweb.com/smart-slider/" target="_blank">Get full</a>
        <?php 
    } elseif (!$configured) {
        ?>

            <a class="button small b" href="<?php 
        echo $controller->route('controller=settings&view=sliders_settings&action=' . $group);
        ?>
" target="_blank">Configure</a>
        <?php 
    } elseif ($available !== true) {
        ?>

            <a class="button small" href="<?php 
        echo $available;
        ?>
" target="_blank">Check extension</a>
        <?php 
    } else {
        ?>

            <a class="button small b" href="<?php 
        echo $controller->route('controller=sliders&view=sliders_slider&action=createdynamic&step=2&group=' . $group . '&type=' . $type);
        ?>
">Start</a>
        <?php 
    }
    ?>

    </div>
    <?php 
}
Example #5
0
 function generateOptions(&$xml)
 {
     $this->_values = array();
     $html = '';
     foreach ($xml->option as $option) {
         $v = NextendXmlGetAttribute($option, 'value');
         $this->_values[] = $v;
         if ($v != -1) {
             $html .= '<div class="nextend-radio-option nextend-imagelist-option' . $this->isSelected($v) . '"><img src="' . NextendUri::pathToUri($v) . '" alt="' . (string) $option . '" /></div>';
         } else {
             $html .= '<div class="nextend-radio-option' . $this->isSelected($v) . '">' . (string) $option . '</div>';
         }
     }
     return $html;
 }
 function getData($number)
 {
     $data = array();
     $folder = $this->_data->get('sourcefolder', '');
     $files = NextendFilesystem::files($folder);
     $j = 0;
     for ($i = 0; $i < count($files) && $j < $number; $i++) {
         $ext = strtolower(pathinfo($files[$i], PATHINFO_EXTENSION));
         if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png') {
             $data[$j] = array();
             $data[$j]['thumbnail'] = $data[$j]['image'] = $data[$j]['image_url'] = NextendUri::pathToUri($folder . $files[$i]);
             $data[$j]['title'] = $data[$j]['file_name'] = $files[$i];
             $j++;
         }
     }
     return $data;
 }
 function _renderAdmin($data, $id, $sliderid, $items)
 {
     $link = (array) NextendParse::parse($data->get('link', ''));
     if (!isset($link[1])) {
         $link[1] = '';
     }
     return '
     <div style="line-height:0; width:' . $data->get('width', '') . '; ' . htmlspecialchars($data->get('css', '')) . '" class="nextend-smartslider-flip-container ' . $data->get('flipclass', '') . '">
       ' . ($link[0] != '#' ? '<a href="' . $link[0] . '" target="' . $link[1] . '" style="background: none !important;display: block;">' : '') . '
         <div class="nextend-smartslider-flip">
             <img alt="' . htmlspecialchars($data->get('alt', '')) . '" src="' . NextendUri::fixrelative($data->get('imagefront', '')) . '" style="width: 100%;" class="nextend-smartslider-flip-front-img" > 
             <img alt="' . htmlspecialchars($data->get('alt', '')) . '" src="' . NextendUri::fixrelative($data->get('imageback', '')) . '" style="width: 100%;" class="nextend-smartslider-flip-back-img" >
         </div>
       ' . ($link[0] != '#' ? '</a>' : '') . '
     </div>
     ';
 }
Example #8
0
 function generateJs()
 {
     $this->generateLibraryJs();
     $document = JFactory::getDocument();
     if ($this->_cacheenabled) {
         if (count($this->_jsFiles)) {
             foreach ($this->_jsFiles as $file) {
                 if (substr($file, 0, 4) == 'http') {
                     if ($this->_echo) {
                         parent::serveJsFile($file);
                     } else {
                         $document->addScript($file);
                     }
                 } else {
                     $this->_cache->addFile($file);
                 }
             }
         }
         $this->_cache->addInline($this->_js);
         $filename = $this->_cache->getCache();
         if ($filename) {
             if ($this->_echo) {
                 parent::serveJsFile($filename);
             } else {
                 $document->addScript($filename);
             }
         }
     } else {
         if (count($this->_jsFiles)) {
             foreach ($this->_jsFiles as $file) {
                 if ($this->_echo) {
                     parent::serveJsFile(NextendUri::pathToUri($file));
                 } else {
                     $document->addScript(NextendUri::pathToUri($file));
                 }
             }
         }
         $this->serveJs();
     }
     $this->serveInlineJs();
 }
Example #9
0
 static function render($slider, $id, $params)
 {
     $html = '';
     $shadowcss = $params->get('shadowcss', false);
     if ($shadowcss && $shadowcss != -1) {
         $displayclass = self::getDisplayClass($params->get('widgetshadowdisplay', '0|*|always|*|0|*|0'), false);
         list($style, $data) = self::getPosition($params->get('shadowposition', ''));
         $width = NextendParse::parse($params->get('shadowwidth', 'width'));
         if (is_numeric($width) || $width == 'auto' || substr($width, -1) == '%') {
             $style .= 'width:' . $width . ';';
         } else {
             $data .= 'data-sswidth="' . $width . '" ';
         }
         $css = NextendCss::getInstance();
         $css->addCssFile(NextendFilesystem::translateToMediaPath(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'shadow' . DIRECTORY_SEPARATOR . 'style.css'));
         $info = pathinfo($shadowcss);
         $class = 'nextend-shadow nextend-shadow-' . basename($shadowcss, '.' . $info['extension']);
         $html .= '<div class="' . $displayclass . $class . '" style="line-height:0;' . $style . '" ' . $data . '><img src="' . (nextendIsWordpress() ? plugins_url('shadow/shadow/' . $info['basename'], __FILE__) : NextendUri::pathToUri(NextendFilesystem::getBasePath() . $shadowcss)) . '"/></div>';
     }
     return $html;
 }
Example #10
0
function generateDynamicSliderThumbs($controller, $image, $sliderid, $id, $data)
{
    global $layout, $sliderpreset;
    ?>

    <div class="smartslider-dynamic-thumb <?php 
    echo $sliderpreset == $id ? 'selected' : 'notselected';
    ?>
" onclick="location.href='<?php 
    echo $controller->route('controller=sliders&view=sliders_slider&action=changedynamiclayout&fontset=' . NextendRequest::getInt('fontset', 0) . '&type=' . NextendRequest::getVar('type', '') . '&sliderid=' . $sliderid . '&sliderpreset=' . ($sliderpreset == $id ? '' : $id) . '&layout=' . $layout);
    ?>
'">
        <div><?php 
    echo $data['title'];
    ?>
</div>
        <img src="<?php 
    echo NextendUri::pathToUri(NextendFilesystem::translateToMediaPath($image));
    ?>
" />
    </div>
    <?php 
}
Example #11
0
 function getData($number)
 {
     nextendimport('nextend.database.database');
     $db = NextendDatabase::getInstance();
     $data = array();
     $category = array_map('intval', explode('||', $this->_data->get('phocagallerysourcecategory', '')));
     $query = 'SELECT ';
     $query .= 'con.id, ';
     $query .= 'con.title, ';
     $query .= 'con.alias, ';
     $query .= 'con.filename, ';
     $query .= 'con.description, ';
     $query .= 'con.hits, ';
     $query .= 'con.catid, ';
     $query .= 'cat.title AS cat_title, ';
     $query .= 'cat.description AS cat_description, ';
     $query .= 'cat.alias AS cat_alias ';
     $query .= 'FROM #__phocagallery AS con ';
     $query .= 'LEFT JOIN #__phocagallery_categories AS cat ON cat.id = con.catid ';
     $where = array();
     if (count($category) > 0 && !in_array('0', $category)) {
         $where[] = 'con.catid IN (' . implode(',', $category) . ') ';
     }
     if ($this->_data->get('phocagallerysourcepublished', 1)) {
         $where[] = 'con.published = 1 ';
         $where[] = 'con.approved = 1 ';
     }
     if ($this->_data->get('phocagallerysourcefeatured', 0)) {
         $where[] = 'con.featured = 1 ';
     }
     $language = $this->_data->get('phocagallerysourcelanguage', '*');
     if ($language) {
         $where[] = 'con.language = ' . $db->quote($language) . ' ';
     }
     if (count($where)) {
         $query .= ' WHERE ' . implode(' AND ', $where);
     }
     $order = NextendParse::parse($this->_data->get('phocagalleryorder1', 'con.title|*|asc'));
     if ($order[0]) {
         $query .= 'ORDER BY ' . $order[0] . ' ' . $order[1] . ' ';
         $order = NextendParse::parse($this->_data->get('phocagalleryorder2', 'con.title|*|asc'));
         if ($order[0]) {
             $query .= ', ' . $order[0] . ' ' . $order[1] . ' ';
         }
     }
     $query .= 'LIMIT 0, ' . $number . ' ';
     $db->setQuery($query);
     $result = $db->loadAssocList();
     $uri = str_replace(array('http://', 'https://'), '//', NextendUri::getBaseUri());
     for ($i = 0; $i < count($result); $i++) {
         $result[$i]['url'] = 'index.php?option=com_phocagallery&view=detail&catid=' . $result[$i]['catid'] . ':' . $result[$i]['cat_alias'] . '&id=' . $result[$i]['id'] . ':' . $result[$i]['alias'];
         $result[$i]['url_label'] = 'View image';
         $result[$i]['categoryurl'] = 'index.php?option=com_phocagallery&view=category&id=' . $result[$i]['catid'] . ':' . $result[$i]['cat_alias'];
         $result[$i]['thumbnail'] = $result[$i]['image'] = $uri . "images/phocagallery/" . $result[$i]['filename'];
         if (!$result[$i]['description']) {
             $result[$i]['description'] = '';
         }
         $result[$i]['author_name'] = '';
         $result[$i]['author_url'] = '#';
     }
     return $result;
 }
Example #12
0
 function initSlides($slides)
 {
     if ($this->_backend) {
         if (NextendRequest::getCmd('action') == 'create') {
             array_unshift($slides, array('id' => 0, 'title' => '{_slidetitle}', 'slider' => NextendRequest::getInt('sliderid'), 'publish_up' => '0000-00-00 00:00:00', 'publish_down' => '0000-00-00 00:00:00', 'published' => 1, 'first' => 0, 'slide' => '', 'params' => '', 'thumbnail' => '', 'background' => 'ffffff00|*|', 'description' => 'Description', 'ordering' => count($slides)));
         }
         if (NextendRequest::getCmd('action') == 'generatoredit') {
             global $smartslidergeneratorslide;
             if (!$smartslidergeneratorslide) {
                 $smartslidergeneratorslide = array();
             }
             array_unshift($slides, array_merge(array('id' => 0, 'title' => '{_slidetitle}', 'slider' => NextendRequest::getInt('sliderid'), 'publish_up' => '0000-00-00 00:00:00', 'publish_down' => '0000-00-00 00:00:00', 'published' => 1, 'first' => 0, 'slide' => '', 'params' => '', 'thumbnail' => '', 'background' => 'ffffff00|*|', 'description' => 'Description', 'ordering' => count($slides)), $smartslidergeneratorslide));
         } else {
             if (NextendRequest::getCmd('controller') == 'layouts' && NextendRequest::getCmd('action') == 'edit') {
                 global $smartsliderlayout;
                 if (!$smartsliderlayout) {
                     $smartsliderlayout = '';
                 }
                 array_unshift($slides, array('id' => 0, 'title' => '{_slidetitle}', 'slide' => $smartsliderlayout, 'params' => ''));
             } else {
                 if (NextendRequest::getCmd('controller') == 'slides') {
                     $currentlyedited = NextendRequest::getInt('slideid');
                     for ($i = 0; $i < count($slides); $i++) {
                         if ($slides[$i]['id'] == $currentlyedited) {
                             $this->_activeSlide = $i;
                             break;
                         }
                     }
                 }
             }
         }
     } else {
         for ($i = 0; $i < count($slides); $i++) {
             if ($slides[$i]['first'] == 1) {
                 $this->_activeSlide = $i;
                 break;
             }
         }
     }
     nextendimport('nextend.image.color');
     for ($i = 0; $i < count($slides); $i++) {
         $params = new NextendData();
         $params->loadJSON($slides[$i]['params']);
         $slides[$i]['params'] = $params;
         $slides[$i]['classes'] = 'smart-slider-canvas';
         if (!isset($slides[$i]['background'])) {
             $slides[$i]['background'] = 'ffffff00|*|';
         }
         $bg = (array) NextendParse::parse($slides[$i]['background']);
         $style = '';
         if (isset($bg[0]) && strlen($bg[0]) == 8) {
             if (substr($bg[0], 6, 2) != '00') {
                 $style .= 'background-color: #' . substr($bg[0], 0, 6) . ';';
                 $rgba = NextendColor::hex2rgba($bg[0]);
                 $style .= 'background-color: RGBA(' . $rgba[0] . ',' . $rgba[1] . ',' . $rgba[2] . ',' . round($rgba[3] / 127, 2) . ');';
             }
         }
         $slides[$i]['style'] = $style;
         $bgmore = (array) NextendParse::parse($slides[$i]['params']->get('backgroundmore'));
         $slides[$i]['bg'] = array('desktop' => empty($bg[1]) ? 0 : NextendUri::fixrelative($bg[1]), 'desktopretina' => empty($bgmore[0]) ? 0 : NextendUri::fixrelative($bgmore[0]), 'tablet' => empty($bgmore[1]) ? 0 : NextendUri::fixrelative($bgmore[1]), 'tabletretina' => empty($bgmore[2]) ? 0 : NextendUri::fixrelative($bgmore[2]), 'mobile' => empty($bgmore[3]) ? 0 : NextendUri::fixrelative($bgmore[3]), 'mobileretina' => empty($bgmore[4]) ? 0 : NextendUri::fixrelative($bgmore[4]), 'alt' => empty($bg[2]) ? '' : $bg[2]);
         if (!empty($slides[$i]['thumbnail'])) {
             $slides[$i]['thumbnail'] = NextendUri::fixrelative($slides[$i]['thumbnail']);
         }
         $link = $params->get('link', '');
         $link = (array) NextendParse::parse($link);
         if (!$this->_backend && $link && isset($link[0]) && $link[0] != '' && $link[0] != '#') {
             if (!isset($link[1])) {
                 $link[1] = '_self';
             }
             $slides[$i]['link'] = ' onclick="' . htmlspecialchars(strpos($link[0], 'javascript:') === 0 ? $link[0] : ($link[1] == '_blank' ? "window.open('" . (nextendIsJoomla() ? JRoute::_($link[0], false) : $link[0]) . "','_blank');" : "window.location='" . (nextendIsJoomla() ? JRoute::_($link[0], false) : $link[0]) . "'")) . '" ';
             $slides[$i]['style'] .= 'cursor:pointer;';
         } else {
             $slides[$i]['link'] = '';
         }
     }
     return $slides;
 }
Example #13
0
 function createHash()
 {
     $hash = NextendUri::getBaseUri();
     for ($i = 0; $i < count($this->_files); $i++) {
         $hash .= $this->_files[$i] . filemtime($this->_files[$i]);
     }
     return md5($this->parseHash($hash) . $this->_text);
 }
Example #14
0
 function getData($number)
 {
     nextendimport('nextend.database.database');
     $db = NextendDatabase::getInstance();
     $data = array();
     $category = array_map('intval', explode('||', $this->_data->get('sourcecategory', '')));
     $query = 'SELECT ';
     $query .= 'con.id, ';
     $query .= 'con.title, ';
     $query .= 'con.alias, ';
     $query .= 'con.introtext, ';
     $query .= 'con.fulltext, ';
     $query .= 'con.catid, ';
     $query .= 'cat.title AS cat_title, ';
     $query .= 'cat.alias AS cat_alias, ';
     $query .= 'con.created_by, ';
     $query .= 'usr.name AS created_by_alias, ';
     $query .= 'con.images ';
     $query .= 'FROM #__content AS con ';
     $query .= 'LEFT JOIN #__users AS usr ON usr.id = con.created_by ';
     $query .= 'LEFT JOIN #__categories AS cat ON cat.id = con.catid ';
     $query .= 'WHERE con.catid IN (' . implode(',', $category) . ') ';
     $sourceuserid = intval($this->_data->get('sourceuserid', ''));
     if ($sourceuserid) {
         $query .= 'AND con.created_by = ' . $sourceuserid . ' ';
     }
     if ($this->_data->get('sourcepublished', 1)) {
         $query .= 'AND con.state = 1 ';
         $jnow = JFactory::getDate();
         $now = version_compare(JVERSION, '1.6.0', '<') ? $jnow->toMySQL() : $jnow->toSql();
         $query .= "AND (con.publish_up = '0000-00-00 00:00:00' OR con.publish_up < '" . $now . "') AND (con.publish_down = '0000-00-00 00:00:00' OR con.publish_down > '" . $now . "') ";
     }
     if ($this->_data->get('sourcefeatured', 0)) {
         $query .= 'AND con.featured = 1 ';
     }
     $language = $this->_data->get('sourcelanguage', '*');
     if ($language) {
         $query .= 'AND con.language = ' . $db->quote($language) . ' ';
     }
     $order = NextendParse::parse($this->_data->get('order1', 'con.title|*|asc'));
     if ($order[0]) {
         $query .= 'ORDER BY ' . $order[0] . ' ' . $order[1] . ' ';
         $order = NextendParse::parse($this->_data->get('order2', 'con.title|*|asc'));
         if ($order[0]) {
             $query .= ', ' . $order[0] . ' ' . $order[1] . ' ';
         }
     }
     $query .= 'LIMIT 0, ' . $number . ' ';
     $db->setQuery($query);
     $result = $db->loadAssocList();
     $dispatcher = JDispatcher::getInstance();
     JPluginHelper::importPlugin('content');
     $uri = str_replace(array('http://', 'https://'), '//', NextendUri::getBaseUri());
     for ($i = 0; $i < count($result); $i++) {
         $article = new stdClass();
         $article->text = $result[$i]['introtext'];
         $_p = array();
         $dispatcher->trigger('onContentPrepare', array('com_smartslider2', &$article, &$_p, 0));
         if (!empty($article->text)) {
             $result[$i]['introtext'] = $article->text;
         }
         $result[$i]['description'] = $result[$i]['introtext'];
         $article->text = $result[$i]['fulltext'];
         $_p = array();
         $dispatcher->trigger('onContentPrepare', array('com_smartslider2', &$article, &$_p, 0));
         if (!empty($article->text)) {
             $result[$i]['fulltext'] = $article->text;
         }
         $result[$i]['url'] = ContentHelperRoute::getArticleRoute($result[$i]['id'] . ':' . $result[$i]['alias'], $result[$i]['catid'] . ':' . $result[$i]['cat_alias']);
         $result[$i]['categorylisturl'] = 'index.php?option=com_content&view=category&id=' . $result[$i]['catid'];
         $result[$i]['categoryblogurl'] = 'index.php?option=com_content&view=category&layout=blog&id=' . $result[$i]['catid'];
         $images = (array) json_decode($result[$i]['images'], true);
         $result[$i]['image'] = $result[$i]['thumbnail'] = $result[$i]['intro_image'] = isset($images['image_intro']) ? $uri . $images['image_intro'] : '';
         $result[$i]['fulltext_image'] = isset($images['image_fulltext']) ? $uri . $images['image_fulltext'] : '';
         unset($result[$i]['images']);
         $result[$i]['url_label'] = 'View article';
         $result[$i]['author_name'] = $result[$i]['created_by_alias'];
         $result[$i]['author_url'] = '#';
     }
     return $result;
 }
nextendimport('nextend.form.form');
NextendForm::loadQtip();
$js = NextendJavascript::getInstance();
$js->loadLibrary('jquery');
nextendimport('nextend.fonts.google');
$fonts = NextendFontsGoogle::getInstance();
$fonts->addFont('Open Sans');
$fonts->addFont('Open Sans', 600);
$fonts->addFont('Open Sans', 700);
?>

<script type="text/javascript">
    window.nextendFixRelative = function(uri){
        if(uri.substr(0, 1) == '/' || uri.indexOf('://') != -1) return uri;
        return '<?php 
echo NextendUri::getRelative();
?>
'+uri;
    }
    
    window.nextendimageurl = <?php 
echo nextendIsJoomla() ? intval(NextendSmartSliderJoomlaSettings::get('imageurl', 1)) : 0;
?>
;
</script>

<div id="smartslider-admin" class="nextend-nowindow smartslider-advanced-layers-simple-active smartslider-device-all-active ni">

    <div class="smartslider-head">
        <div class="smartslider-logo" style="cursor: pointer;" onclick="location.href='<?php 
echo $this->route('controller=sliders');
Example #16
0
    function fetchElement()
    {
        $css = NextendCss::getInstance();
        $css->addCssFile(NEXTEND_SMART_SLIDER2_ASSETS . 'admin/css/createquick.css');
        $css->addCssLibraryFile('element/textarea.css');
        $js = NextendJavascript::getInstance();
        $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.core.min.js');
        $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.widget.min.js');
        $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.mouse.min.js');
        $js->addLibraryJsLibraryFile('jquery', 'ui/jquery.ui.sortable.min.js');
        $this->_value = $this->_form->get($this->_name, $this->_default);
        $images = json_decode($this->_value, true);
        $html = '<div id="selected-images-container" class="">';
        if (nextendIsWordpress()) {
            add_filter('media_view_strings', 'custom_media_uploader_tabs', 5);
            function custom_media_uploader_tabs($strings)
            {
                $strings['insertMediaTitle'] = "Image";
                $strings['insertIntoPost'] = "Add to slider";
                // remove options
                if (isset($strings['createGalleryTitle'])) {
                    unset($strings['createGalleryTitle']);
                }
                if (isset($strings['insertFromUrlTitle'])) {
                    unset($strings['insertFromUrlTitle']);
                }
                return $strings;
            }
            wp_enqueue_style('editor');
            if (function_exists('wp_enqueue_media')) {
                wp_enqueue_media();
            } else {
                wp_enqueue_style('thickbox');
                wp_enqueue_script('media-upload');
                wp_enqueue_script('thickbox');
            }
            $html .= '<a title="Add Image" data-editor="content" class="button add-image" href="#">
              <span class="wp-media-buttons-icon"></span> Add Image
          </a>
          <div style="clear: both;"></div>';
        } else {
            if (nextendIsMagento()) {
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'extjs/ext-tree.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'extjs/ext-tree-checkbox.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'extjs/fix-defer.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/variables.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/wysiwyg/widget.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'lib/flex.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'lib/FABridge.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/flexuploader.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/browser.js"></script>';
                $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'prototype/window.js"></script>';
                $html .= '<link rel="stylesheet" type="text/css" href="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'prototype/windows/themes/default.css" media="screen"/>';
                $html .= '<link rel="stylesheet" type="text/css" href="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN) . 'adminhtml/default/default/lib/prototype/windows/themes/magento.css" media="screen"/>';
                $html .= '<a title="Add Image" data-editor="content" class="button add-image" href="#">
                <span class="wp-media-buttons-icon"></span> Add Image
            </a>
            <input type="hidden" id="magentohidden" />
            <div style="clear: both;"></div>';
            }
        }
        $html .= '<div id="delete-image"></div>
                <ul id="selected-images">';
        if (is_array($images)) {
            $i = 0;
            foreach ($images as $img) {
                $html .= '<li>';
                $html .= '<img src="' . NextendUri::fixrelative($img['image']) . '" data-src="' . $img['image'] . '" /><div class="field-container">';
                $html .= '
<div class="nextend-mixed-group">
  <div class="nextend-mixed-label">
    <label for="title' . $i . '" id="title' . $i . '-lbl">Title</label>
  </div>
  <div class="nextend-mixed-element">
    <div class="nextend-text ">
      <input type="text" autocomplete="off" style="width:390px;" value="' . $img['title'] . '" name="" id="title' . $i . '">
    </div>
  </div>
</div>';
                $html .= '
<div class="nextend-mixed-group" style="clear: both;">
  <div class="nextend-mixed-label">
    <label for="link' . $i . '" id="link' . $i . '-lbl">Link</label>
  </div>
  <div class="nextend-mixed-element">
    <div class="nextend-text">
      <input type="text" autocomplete="off" style="width:390px;" value="' . $img['url'] . '" name="" id="link' . $i . '">
    </div>
  </div>
</div>';
                $html .= '
<div class="nextend-mixed-group" style="clear: both;">
  <div class="nextend-mixed-label">
    <label for="description' . $i . '" id="description' . $i . '-lbl">Description</label>
  </div>
  <div class="nextend-mixed-element">
    <div class="nextend-textarea ">
      <textarea autocomplete="off" style="width:400px; height: 40px;" name="" id="description' . $i . '">' . $img['description'] . '</textarea>
    </div>
  </div>
</div>';
                $html .= '</div><div style="clear:both;"></div></li>';
                $i++;
            }
        }
        $html .= '</ul>
                <div style="clear: both;"></div>
            </div>' . parent::fetchElement();
        if (nextendIsJoomla()) {
            $app = JFactory::getApplication();
            $user = JFactory::getUser();
            $extension = $app->input->get('option');
            $link = 'index.php?option=com_media&amp;view=images&amp;tmpl=component&amp;e_name=&amp;asset=' . $extension . '&amp;author=' . $user->id;
            $html .= '<div style="margin: 0 -10px -5px;"><h2>Choose images</h2>
            <div class="blue-container">
                <iframe frameborder="0" src="' . $link . '" id="image-chooser" width="100%" style="float: left; width: 100%;" height="0"></iframe>
            </div></div>';
        }
        ob_start();
        ?>
<script type="text/html" id="image-form-skeleton">
    <div class="field-container">
    <div class="nextend-mixed-group">
      <div class="nextend-mixed-label">
        <label for="title'.$i.'" id="title'.$i.'-lbl">Title</label>
      </div>
      <div class="nextend-mixed-element">
        <div class="nextend-text ">
          <input type="text" autocomplete="off" style="width:390px;" value="" name="" id="title'.$i.'">
        </div>
      </div>
    </div>
    
    <div class="nextend-mixed-group" style="clear: both;">
      <div class="nextend-mixed-label">
        <label for="link'.$i.'" id="link'.$i.'-lbl">Link</label>
      </div>
      <div class="nextend-mixed-element">
        <div class="nextend-text">
          <input type="text" autocomplete="off" style="width:390px;" value="" name="" id="link'.$i.'">
        </div>
      </div>
    </div>
    
    <div class="nextend-mixed-group" style="clear: both;">
      <div class="nextend-mixed-label">
        <label for="description'.$i.'" id="description'.$i.'-lbl">Description</label>
      </div>
      <div class="nextend-mixed-element">
        <div class="nextend-textarea ">
          <textarea autocomplete="off" style="width:400px; height: 40px;" name="" id="description'.$i.'"></textarea>
        </div>
      </div>
    </div>
    </div>
    <div style="clear:both;"></div>
</script>
<script>
njQuery(window).ready(function(){
    var $ = njQuery,
        images = $('#selected-images'),
        deleteimage = $('#delete-image'),
        form = $('#smartslider-form'),
        skeleton = njQuery('#image-form-skeleton').html(),
        iii = 10000;
    
    function addImageToList(img){
        var el = $('<li><img src="'+nextendFixRelative(img)+'" data-src="'+img+'" />'+skeleton.replace(/'\.\$i\.'/g, iii)+'</li>').appendTo(images);
        iii++;
        images.sortable( "refresh" );
        $(window).trigger('resize');
        return el;
    }
    
    <?php 
        if (nextendIsJoomla()) {
            ?>
    var folder = "<?php 
            echo JComponentHelper::getParams('com_media')->get('image_path', 'images') . '/';
            ?>
",
        base_uri = "<?php 
            echo NextendUri::getBaseUri();
            ?>
",
        iframe = $('#image-chooser'),
        frame = $('#image-chooser');
    frame.on('load', function(){
        frame = $(this.contentWindow.document);
        frame.find('#imageframe').next('.well').remove();
        frame.find('#imageframe').next('fieldset').remove();
        frame.find('#imageframe').prev('fieldset').find('.fltrt').remove();
        frame.find('#imageForm').find('.pull-right').remove();
        frame.find('#upbutton').css('verticalAlign', 'top');
        this.contentWindow.ImageManager.populateFields = function(file){
            var uri = '';
            if(window.nextendimageurl == 0) uri = base_uri;
            addImageToList(uri+folder+file);
        }
        frame.find('#system-message-container').css('paddingTop', '15px');
        frame.find('body').css('overflow', 'hidden').css('padding', '0 15px');
        iframe.css('height', frame.find('html').prop('scrollHeight'));
        $(window).trigger('resize');
    });
    <?php 
        } elseif (nextendIsWordpress()) {
            ?>
    		var file_frame;
    		
    		jQuery('#smartslider-admin .add-image').on('click', function(event){
    			event.preventDefault();
    
    			// If the media frame already exists, reopen it.
    			if ( file_frame ) {
    				file_frame.open();
    				return;
    			}
    
    			// Create the media frame.
    			file_frame = wp.media.frames.file_frame = wp.media({
    				multiple: 'add',
    				frame: 'post',
    				library: {type: 'image'}
    			});
    
    			// When an image is selected, run a callback.
    			file_frame.on('insert', function(selection) {
              var state = file_frame.state();
              
              selection = selection || state.get('selection');
              
              if ( ! selection )
					       return; 
                 
              selection.map( function( attachment ) {
    					   var display = state.display( attachment ).toJSON();
                 
        					attachment = attachment.toJSON();
                  
                  var el = addImageToList(attachment.url);
                  el.find('input[id^=title]').val(attachment.title);
                  if(attachment.caption != '') el.find('textarea[id^=description]').val(attachment.caption);
                  else if(attachment.description != '') el.find('textarea[id^=description]').val(attachment.description);
                  
                  if(typeof display !== 'undefined' && typeof display.linkUrl !== 'undefined') el.find('input[id^=link]').val(display.linkUrl);
      				});
    			});
    
    			file_frame.open();
    
    			// Remove the Media Library tab (media_upload_tabs filter is broken in 3.6)
    			jQuery(".media-menu a:contains('Media Library')").remove();
    		});
    <?php 
        } elseif (nextendIsMagento()) {
            ?>
    
    var magentohidden = document.getElementById('magentohidden');
    
Mediabrowser.prototype.insert = Mediabrowser.prototype.insert.wrap(function(parentMethod, event) {
    var div;
    if (event != undefined) {
        div = $(Event.findElement(event, 'DIV'));
    } else {
        $$('div.selected').each(function (e) {
            div = $('#'+e.id);
        });
    }
    if (div.length == 0) {
        return false;
    }
    var targetEl = this.getTargetElement();
    if (! targetEl) {
        alert("Target element not found for content update");
        Windows.close('browser_window');
        return;
    }
    div = div[0];
    var params = {filename:div.id, node:this.currentNode.id, store:this.storeId};

    if (targetEl.tagName.toLowerCase() == 'textarea') {
        params.as_is = 1;
    }

    new Ajax.Request(this.onInsertUrl, {
        parameters: params,
        onSuccess: function(transport) {
            try {
                this.onAjaxSuccess(transport);
                if (this.getMediaBrowserOpener()) {
                    self.blur();
                }
                Windows.close('browser_window');
                if (targetEl.tagName.toLowerCase() == 'input') {
                    targetEl.value = transport.responseText;

                    // AntoineK overload START
                    if (varienGlobalEvents) {
                        varienGlobalEvents.fireEvent('mediachooserChange' + targetEl.id, transport.responseText);
                    }
                    // AntoineK overload END

                } else {
                    updateElementAtCursor(targetEl, transport.responseText);
                    if (varienGlobalEvents) {
                        varienGlobalEvents.fireEvent('tinymceChange');
                    }
                }
            } catch (e) {
                alert(e.message);
            }
        }.bind(this)
    });
});
        jQuery('#smartslider-admin .add-image').on('click', function(event){
            event.preventDefault();
            MediabrowserUtility.openDialog('<?php 
            echo Mage::helper("adminhtml")->getUrl('adminhtml/cms_wysiwyg_images_chooser/index', array('target_element_id' => 'magentohidden', 'store' => 'undefined', 'type' => 'image'));
            ?>
');
        });

        varienGlobalEvents.attachEventHandler('mediachooserChangemagentohidden', function(url){
            addImageToList(url);
        });
    <?php 
        }
        ?>
    
    $(document.body).css('overflow', 'auto');
    images.sortable({
        connectWith: deleteimage,
        placeholder: "ui-state-highlight",
        forcePlaceholderSize: true,
        appendTo: document.body,
        tolerance: 'pointer',
        handle: "img",
        over: function(){
            $(window).trigger('resize');
        },
        out: function(){
            $(window).trigger('resize');
        }
    });
    
    $(window).on('resize', function(){
        deleteimage.height(images.height());
    });
    
    deleteimage.sortable({
        tolerance: 'pointer',
        appendTo: document.body,
        over: function(){
            deleteimage.addClass('over');
            $(window).trigger('resize');
        },
        out: function(){
            deleteimage.removeClass('over');
            $(window).trigger('resize');
        },
        update: function(event, ui) {
            ui.item.remove();
            $(window).trigger('resize');
        } 
    });
    images.find('img').disableSelection();
    
    form.on('submit', function(){
        var data = {},
            i = 0;
        images.find('img').each(function(){
            data[i] = {};
            data[i].image = $(this).data('src');
            var cont = $(this).parent();
            data[i].title = cont.find('input[id^=title]').val();
            data[i].url = cont.find('input[id^=link]').val();
            data[i].description = cont.find('textarea[id^=description]').val();
            i++;
        });
        $('#<?php 
        echo $this->_id;
        ?>
').val(JSON.stringify(data));
    });
});
</script>
        <?php 
        $html .= ob_get_clean();
        return $html;
    }
Example #17
0
 static function absoluteURLToPath($url)
 {
     $i = NextendFilesystem::getInstance();
     return str_replace(NextendUri::getBaseUri(), $i->_basepath, $url);
 }
Example #18
0
$xml = $slidersModel->editDynamicForm(isset($_POST['dynamic']) ? $_POST['dynamic'] : array());
?>

    <input name="save" value="1" type="hidden"/>
</form>

<?php 
$js = NextendJavascript::getInstance();
$js->addLibraryJsAssetsFile('dojo', 'form.js');
$js->addLibraryJs('dojo', '
    new NextendForm({
      container: "smartslider-form",
      data: {},
      extra: ' . NextendForm::addExtra() . ',
      xml: "' . NextendFilesystem::toLinux(NextendFilesystem::pathToRelativePath($xml)) . '",
      control_name: "dynamic",
      url: "' . NextendUri::ajaxUri('nextend', 'smartslider') . '",
      loadedJSS: ' . json_encode($js->generateArrayJs()) . ',
      loadedCSS: ' . json_encode($css->generateArrayCSS()) . '
    });
', true);
?>


<?php 
$this->loadFragment('secondcolend');
?>


<?php 
$this->loadFragment('footer');
    </tr>
    <tr class="smartslider-slider-publish-note">
        <td>Copy and paste this shortcode into your posts:</td>
        <td>Insert it into an existing post with the icon:</td>
        <td>Paste the PHP code into your template file:</td>
    </tr>
    <tr>
        <td>
            <code class="code-box">[smartslider2 slider="<?php 
echo $this->sliderid;
?>
"]</code>
        </td>
        <td style="line-height:0px;">
            <img src="<?php 
echo NextendUri::pathToUri(NEXTEND_SMART_SLIDER2_ASSETS . 'admin/images/wordpress-publish.png');
?>
" />
        </td>
        <td>
            <code class="code-box">
            &lt;?php <br />
              echo do_shortcode('[smartslider2 slider="<?php 
echo $this->sliderid;
?>
"]');<br />
            ?&gt;</code>
        </td>
    </tr>
  </table>
</div>
Example #20
0
 static function ajaxUri($query = '', $magento = 'nextendlibrary')
 {
     $i = NextendUri::getInstance();
     return $i->_baseuri;
 }
Example #21
0
function generateImportThumbs($controller, $path, $filename, $imagesToUrl, $full = false)
{
    ?>
    <div class="smartslider-import-thumb">
        <img src="<?php 
    echo NextendUri::pathToUri($path);
    ?>
" /><br />
        <?php 
    if (!$full || smartsliderIsFull()) {
        ?>
            <a class="button small b" href="<?php 
        echo $controller->route('controller=sliders&view=sliders_slider&action=importlocal&full=' . ($full ? 1 : 0) . '&slider=' . substr($filename, 0, -4));
        ?>
">Import</a>
        <?php 
    } else {
        ?>
            <a class="button small g" href="http://www.nextendweb.com/smart-slider/" target="_blank">Get full</a>
        <?php 
    }
    ?>
        <?php 
    if (isset($imagesToUrl[$filename])) {
        ?>
         &nbsp;&nbsp;
        <a class="button small" href="<?php 
        echo $imagesToUrl[$filename];
        ?>
" target="_blank">Preview</a>
        <?php 
    }
    ?>
    </div>
    <?php 
}
Example #22
0
 function _renderAdmin($data, $id, $sliderid, $items)
 {
     $link = (array) NextendParse::parse($data->get('link', ''));
     if (!isset($link[1])) {
         $link[1] = '';
     }
     $attr = '';
     $click = $data->get('onmouseclick', '');
     if (!empty($click)) {
         $attr = ' data-click="' . htmlspecialchars($click) . '"';
     }
     $enter = $data->get('onmouseenter', '');
     if (!empty($enter)) {
         $attr = ' data-enter="' . htmlspecialchars($enter) . '"';
     }
     $leave = $data->get('onmouseleave', '');
     if (!empty($leave)) {
         $attr = ' data-leave="' . htmlspecialchars($leave) . '"';
     }
     $size = (array) NextendParse::parse($data->get('size', ''));
     if (!isset($size[0])) {
         $size[0] = 'auto';
     }
     if (!isset($size[1])) {
         $size[1] = 'auto';
     }
     $kenburns = (array) NextendParse::parse($data->get('kenburns', ''));
     $style = '';
     if (isset($kenburns[0]) && $kenburns[0]) {
         $data->set('kenburnsclass', 'haskenburns');
     }
     return $style . '<div ' . $attr . '>
         ' . ($link[0] != '#' ? '<a href="' . $link[0] . '" style="display: block;background: none !important;">' : '') . '
             <img id="' . $id . '" class="' . $data->get('cssclass', '') . '" src="' . NextendUri::fixrelative($data->get('image', '')) . '" style="display: block; max-width: 100%; ' . htmlspecialchars($data->get('css', '')) . ';width:' . $size[0] . ';height:' . $size[1] . ';" class="' . $data->get('kenburnsclass', '') . ' ' . $data->get('cssclass', '') . '" />
         ' . ($link[0] != '#' ? '</a>' : '') . '
     </div>';
 }
Example #23
0
 function _renderAdmin($data, $id, $sliderid, $items)
 {
     $link = (array) NextendParse::parse($data->get('link', ''));
     if (!isset($link[1])) {
         $link[1] = '';
     }
     $colors = NextendColor::colorToCss($data->get('color', '00000080'));
     $size = (array) NextendParse::parse($data->get('size', ''));
     if (!isset($size[0])) {
         $size[0] = '100';
     }
     if (!isset($size[1])) {
         $size[1] = '100';
     }
     return '
       <div id="' . $id . '">
         ' . ($link[0] != '#' ? '<a href="' . $link[0] . '" target="' . $link[1] . '" style="display: block; background: none !important;">' : '') . '
       		<div class="nextend-smartslider-caption ' . $data->get('customcaptionclass', '') . '" style="width:' . $size[0] . 'px; height:' . $size[1] . 'px;">
       			<img alt="' . htmlspecialchars($data->get('alt', '')) . '" src="' . NextendUri::fixrelative($data->get('image', '')) . '" class="img-' . $data->get('captionclass', '') . '" />
       				<div class="caption nextend-smartslider-caption-' . $data->get('captionclass', '') . '" style="background:#' . $colors[0] . ';background:' . $colors[1] . ';">
       				  <h4 class="' . $data->get('fontclasstitle', '') . '">' . $data->get('content', '') . '</h4>
       					<p class="' . $data->get('fontclass', '') . '">' . $data->get('description', '') . '</p>
       				</div>
       		</div>
         ' . ($link[0] != '#' ? '</a>' : '') . '
 
       	<script type="text/javascript">
             ' . $this->getJs($sliderid, $id) . '
       	</script>
     </div>
     ';
 }
Example #24
0
    function fetchElement()
    {
        $html = parent::fetchElement();
        if (nextendIsJoomla()) {
            JHtml::_('behavior.modal');
            $user = JFactory::getUser();
            $link = 'index.php?option=com_media&amp;view=images&amp;tmpl=component&amp;e_name=com_smartslider2&amp;author=' . $user->id;
            $html .= '<div class="button2-left" style="margin: 2px 0 2px 10px; float: left;">
                    <div class="image">
                        <a onclick="window.jInsertEditorText = function(tag, editor){njQuery(\'#' . $this->_id . '\').val((window.nextendimageurl == 0 ? \'' . NextendUri::getBaseUri() . '\' : \'\')+njQuery(tag).attr(\'src\')); NfireEvent(document.getElementById(\'' . $this->_id . '\'),\'change\'); };return false;" rel="{handler: \'iframe\', size: {x: 900, y: 520}}" href="' . $link . '" title="Image" class="modal btn modal-button"><i class="icon-picture"></i>' . NextendText::_('Image') . '</a>
                    </div>
                  </div>';
        } else {
            if (nextendIsWordPress()) {
                add_thickbox();
                wp_enqueue_script('media-upload');
                wp_print_styles('editor-buttons');
                $html .= '
              <div class="wp-media-buttons" style="float: left; margint-top:1px;">
                <a title="Add Media" onclick="window.send_to_editor = function(html){var inp = njQuery(\'#' . $this->_id . '\'); setFromWPLibrary(html, inp); };tb_show(\'\', \'' . admin_url('media-upload.php?type=image&TB_iframe=true&width=800&height=800') . '\');return false;" data-editor="content" class="button insert-media add_media" href="#"><span class="wp-media-buttons-icon"></span> Add Media</a>
              </div>
              <script>
                  function setFromWPLibrary(html, el){
                      if( Object.prototype.toString.call( html) === \'[object Array]\' ) {
                          el.val(html[0]);
                      }else{
                          var html = jQuery(html);
                          var img = html;
                          if(html[0].tagName != \'IMG\'){
                        		img = jQuery(\'img\',html);
                      		}
                      		el.val(img.attr(\'src\'));
                      }
                      NfireEvent(el[0], \'change\');
                      
                  		tb_remove();
                  }
              </script>
              ';
            } else {
                if (nextendIsMagento()) {
                    static $loaded;
                    ob_start();
                    if ($loaded == null) {
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'extjs/ext-tree.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'extjs/ext-tree-checkbox.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'extjs/fix-defer.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/variables.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/wysiwyg/widget.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'lib/flex.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'lib/FABridge.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/flexuploader.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'mage/adminhtml/browser.js"></script>';
                        $html .= '<script type="text/javascript" src="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'prototype/window.js"></script>';
                        $html .= '<link rel="stylesheet" type="text/css" href="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS) . 'prototype/windows/themes/default.css" media="screen"/>';
                        $html .= '<link rel="stylesheet" type="text/css" href="' . Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN) . 'adminhtml/default/default/lib/prototype/windows/themes/magento.css" media="screen"/>';
                        ?>
<script type="text/javascript">
njQuery(window).ready(function(){
Mediabrowser.prototype.insert = Mediabrowser.prototype.insert.wrap(function(parentMethod, event) {
    var div;
    if (event != undefined) {
        div = $(Event.findElement(event, 'DIV'));
    } else {
        $$('div.selected').each(function (e) {
            div = jQuery('#'+e.id);
        });
    }
    if (div.length == 0) {
        return false;
    }
    var targetEl = this.getTargetElement();
    if (! targetEl) {
        alert("Target element not found for content update");
        Windows.close('browser_window');
        return;
    }
    div = div[0];
    var params = {filename:div.id, node:this.currentNode.id, store:this.storeId};

    if (targetEl.tagName.toLowerCase() == 'textarea') {
        params.as_is = 1;
    }

    new Ajax.Request(this.onInsertUrl, {
        parameters: params,
        onSuccess: function(transport) {
            try {
                this.onAjaxSuccess(transport);
                if (this.getMediaBrowserOpener()) {
                    self.blur();
                }
                Windows.close('browser_window');
                if (targetEl.tagName.toLowerCase() == 'input') {
                    targetEl.value = transport.responseText;
                    NfireEvent(targetEl, 'change');
                    // AntoineK overload START
                    if (varienGlobalEvents) {
                        varienGlobalEvents.fireEvent('mediachooserChange' + targetEl.id, transport.responseText);
                    }
                    // AntoineK overload END

                } else {
                    updateElementAtCursor(targetEl, transport.responseText);
                    if (varienGlobalEvents) {
                        varienGlobalEvents.fireEvent('tinymceChange');
                    }
                }
            } catch (e) {
                alert(e.message);
            }
        }.bind(this)
    });
});
});
</script>
<?php 
                        $loaded = true;
                    }
                    ?>
<script type="text/javascript">
    njQuery(window).ready(function(){
        jQuery('#<?php 
                    echo $this->_id;
                    ?>
_button').on('click', function(event){
            event.preventDefault();
            MediabrowserUtility.openDialog('<?php 
                    echo Mage::helper("adminhtml")->getUrl('adminhtml/cms_wysiwyg_images_chooser/index', array('target_element_id' => $this->_id, 'store' => 'undefined', 'type' => 'image'));
                    ?>
');
        });
    });
</script>
            <?php 
                    $html .= ob_get_clean();
                    $html .= '<a id="' . $this->_id . '_button" title="Add Image" data-editor="content" class="button add-image" href="#">
                <span class="wp-media-buttons-icon"></span> Add Image
            </a>';
                }
            }
        }
        return $html;
    }
Example #25
0
    function _renderAdmin($data, $id, $sliderid, $items)
    {
        $link = (array) NextendParse::parse($data->get('link', ''));
        if (!isset($link[1])) {
            $link[1] = '';
        }
        return '<div style="' . htmlspecialchars($data->get('css', '')) . ';line-height:0;position: relative;display: block;" class="nextend-smartslider-fade-container nextend-smartslider-fade-' . $data->get('fadeclass', '') . '">
  ' . ($link[0] != '#' ? '<a href="' . $link[0] . '" style="background: none !important; display:block;">' : '') . '
    <span class="nextend-smartslider-fade">
        <img alt="' . htmlspecialchars($data->get('alt', '')) . '" src="' . NextendUri::fixrelative($data->get('imagefront', '')) . '" style="max-width: 100%; width: ' . $data->get('width', '') . ';" class="nextend-smartslider-fade-front-img" >
        <img alt="' . htmlspecialchars($data->get('alt', '')) . '" src="' . NextendUri::fixrelative($data->get('imageback', '')) . '" style="max-width: 100%; width: ' . $data->get('width', '') . ';" class="nextend-smartslider-fade-back-img" >
        <style>
          div#nextend-smart-slider-0 .nextend-smartslider-fade-container .nextend-smartslider-fade .nextend-smartslider-fade-back-img{
          	position:absolute;
          	top:0;
          	left:0;
          	-webkit-transition:opacity .4s ease-in-out;
          	-moz-transition:opacity .4s ease-in-out;
          	-o-transition:opacity .4s ease-in-out;
          	transition:opacity .4s ease-in-out;
          	opacity:0
          }
          
          div#nextend-smart-slider-0 .nextend-smartslider-fade-container .nextend-smartslider-fade:HOVER .nextend-smartslider-fade-back-img{
          	opacity: 0.9999;
          }
        </style>
    </span>
  ' . ($link[0] != '#' ? '</a>' : '') . '
</div>';
    }
Example #26
0
<?php

$js = NextendJavascript::getInstance();
$js->addLibraryJsFile('jquery', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'slider.js');
$backgroundimage = $this->_sliderParams->get('showcasebackgroundimage', '');
$backgroundimagecss = '';
if ($backgroundimage && $backgroundimage != '-1') {
    $backgroundimagecss = 'background-image: url(' . NextendUri::fixrelative($backgroundimage) . ');';
}
$direction = '';
switch ($this->_sliderParams->get('showcasedirection', 'horizontal')) {
    case 'vertical':
        $sliderClasses .= ' smart-slider-showcase-vertical';
        $direction = 'vertical';
        break;
    default:
        $sliderClasses .= ' smart-slider-showcase-horizontal';
        $direction = 'horizontal';
}
?>
<script type="text/javascript">
    window['<?php 
echo $id;
?>
-onresize'] = [];
</script>

<div id="<?php 
echo $id;
?>
" class="<?php 
Example #27
0
 function resizeImage($imageurl, $width, $height, $mode = 'cover', $resizeremote = false)
 {
     $originalimageurl = $imageurl;
     if ($width > 0 && $height > 0 && function_exists('exif_imagetype') && function_exists('imagecreatefrompng')) {
         $extra = array();
         if (substr($imageurl, 0, 2) == '//') {
             $imageurl = parse_url(NextendUri::getBaseuri(), PHP_URL_SCHEME) . ':' . $imageurl;
         }
         $imageurl = NextendUri::relativetoabsolute($imageurl);
         $imagepath = NextendFilesystem::absoluteURLToPath($imageurl);
         if ($imagepath == $imageurl) {
             if (!$resizeremote) {
                 return $originalimageurl;
             }
             $imagepath = parse_url($imageurl, PHP_URL_PATH);
         } else {
             $extra[] = @filemtime($imagepath);
             $imageurl = $imagepath;
         }
         $extension = strtolower(pathinfo($imagepath, PATHINFO_EXTENSION));
         $filetype = '';
         if ($extension == 'png') {
             $filetype = 'png';
         } else {
             if ($extension == 'jpg' || $extension == 'jpeg') {
                 $filetype = 'jpg';
             }
         }
         if ($filetype != '') {
             $hash = $this->createHashFromArray(array_merge(func_get_args(), $this->backgrouncolor, $extra));
             $cachefile = $this->_folder . $hash . '.' . $filetype;
             if (!NextendFilesystem::existsFile($cachefile)) {
                 $imagetype = @exif_imagetype($imageurl);
                 if ($imagetype) {
                     if ($imagetype == IMAGETYPE_PNG) {
                         $filetype = 'png';
                     } else {
                         if ($imagetype == IMAGETYPE_JPEG) {
                             $filetype = 'jpg';
                         } else {
                             $filetype = '';
                         }
                     }
                     if ($filetype) {
                         $img = null;
                         $rotated = null;
                         if ($filetype == 'png') {
                             $img = @imagecreatefrompng($imageurl);
                         } else {
                             if ($filetype == 'jpg') {
                                 $img = @imagecreatefromjpeg($imageurl);
                                 if (function_exists("exif_read_data")) {
                                     $exif = exif_read_data($imageurl);
                                     if ($exif && !empty($exif['Orientation'])) {
                                         switch ($exif['Orientation']) {
                                             case 3:
                                                 $rotated = imagerotate($img, 180, 0);
                                                 break;
                                             case 6:
                                                 $rotated = imagerotate($img, -90, 0);
                                                 break;
                                             case 8:
                                                 $rotated = imagerotate($img, 90, 0);
                                                 break;
                                         }
                                     }
                                     if ($rotated) {
                                         imagedestroy($img);
                                         $img = $rotated;
                                     }
                                 }
                             }
                         }
                         if ($img) {
                             $owidth = imagesx($img);
                             $oheight = imagesy($img);
                             if ($rotated || $owidth != $width || $oheight != $height) {
                                 $image = imagecreatetruecolor($width, $height);
                                 if ($filetype == 'png') {
                                     imagesavealpha($image, true);
                                     imagealphablending($image, false);
                                     $white = imagecolorallocatealpha($image, 255, 255, 255, 127);
                                     imagefilledrectangle($image, 0, 0, $width, $height, $white);
                                 } else {
                                     if ($filetype == 'jpg') {
                                         $bg = imagecolorallocate($image, $this->backgrouncolor[0], $this->backgrouncolor[1], $this->backgrouncolor[2]);
                                         imagefilledrectangle($image, 0, 0, $width, $height, $bg);
                                     }
                                 }
                                 $dst_x = 0;
                                 $dst_y = 0;
                                 $src_x = 0;
                                 $src_y = 0;
                                 $dst_w = $width;
                                 $dst_h = $height;
                                 $src_w = $owidth;
                                 $src_h = $oheight;
                                 $horizontalRatio = $width / $owidth;
                                 $verticalRatio = $height / $oheight;
                                 if ($mode == 'cover') {
                                     if ($horizontalRatio > $verticalRatio) {
                                         $new_h = $horizontalRatio * $oheight;
                                         $dst_y = ($height - $new_h) / 2;
                                         $dst_h = $new_h;
                                     } else {
                                         $new_w = $verticalRatio * $owidth;
                                         $dst_x = ($width - $new_w) / 2;
                                         $dst_w = $new_w;
                                     }
                                 } else {
                                     if ($mode == 'contain') {
                                         if ($horizontalRatio < $verticalRatio) {
                                             $new_h = $horizontalRatio * $oheight;
                                             $dst_y = ($height - $new_h) / 2;
                                             $dst_h = $new_h;
                                         } else {
                                             $new_w = $verticalRatio * $owidth;
                                             $dst_x = ($width - $new_w) / 2;
                                             $dst_w = $new_w;
                                         }
                                     }
                                 }
                                 imagecopyresampled($image, $img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
                                 imagedestroy($img);
                                 if ($filetype == 'png') {
                                     imagepng($image, $cachefile);
                                 } else {
                                     if ($filetype == 'jpg') {
                                         imagejpeg($image, $cachefile, 100);
                                     }
                                 }
                                 imagedestroy($image);
                                 return NextendFilesystem::pathToAbsoluteURL($cachefile);
                             } else {
                                 imagedestroy($img);
                             }
                         }
                     }
                 }
             } else {
                 return NextendFilesystem::pathToAbsoluteURL($cachefile);
             }
         }
     }
     return $originalimageurl;
 }
Example #28
0
File: uri.php Project: 01J/bealtine
 static function pathToUri($path)
 {
     $i = NextendUri::getInstance();
     return $i->_baseuri . str_replace(array(NextendFilesystem::getBasePath(), DIRECTORY_SEPARATOR), array('', '/'), str_replace('/', DIRECTORY_SEPARATOR, $path));
 }
Example #29
0
 function getData($number)
 {
     nextendimport('nextend.database.database');
     $db = NextendDatabase::getInstance();
     $data = array();
     $category = array_map('intval', explode('||', $this->_data->get('sourcecategory', '')));
     $query = 'SELECT ';
     $query .= 'cat.id, ';
     $query .= 'cat.title, ';
     $query .= 'cat.alias, ';
     $query .= 'cat.description, ';
     $query .= 'cat.params, ';
     $query .= 'cat_parent.id AS parent_id, ';
     $query .= 'cat_parent.title AS parent_title ';
     $query .= 'FROM #__categories AS cat ';
     $query .= 'LEFT JOIN #__categories AS cat_parent ON cat_parent.id = cat.parent_id ';
     $query .= 'WHERE cat.parent_id IN (' . implode(',', $category) . ') ';
     if ($this->_data->get('sourcepublished', 1)) {
         $query .= 'AND cat.published = 1 ';
     }
     $language = $this->_data->get('sourcelanguage', '*');
     if ($language) {
         $query .= 'AND cat.language = ' . $db->quote($language) . ' ';
     }
     $order = NextendParse::parse($this->_data->get('joomlacartegoryorder1', 'cat.title|*|asc'));
     if ($order[0]) {
         $query .= 'ORDER BY ' . $order[0] . ' ' . $order[1] . ' ';
         $order = NextendParse::parse($this->_data->get('joomlacartegoryorder2', '|*|asc'));
         if ($order[0]) {
             $query .= ', ' . $order[0] . ' ' . $order[1] . ' ';
         }
     }
     $query .= 'LIMIT 0, ' . $number . ' ';
     $db->setQuery($query);
     $result = $db->loadAssocList();
     $dispatcher = JDispatcher::getInstance();
     JPluginHelper::importPlugin('content');
     $uri = str_replace(array('http://', 'https://'), '//', NextendUri::getBaseUri());
     for ($i = 0; $i < count($result); $i++) {
         $article = new stdClass();
         $article->text = $result[$i]['description'];
         $_p = array();
         $dispatcher->trigger('onContentPrepare', array('com_smartslider2', &$article, &$_p, 0));
         if (!empty($article->text)) {
             $result[$i]['description'] = $article->text;
         }
         $result[$i]['url'] = 'index.php?option=com_content&view=category&id=' . $result[$i]['id'];
         $result[$i]['url_blog'] = 'index.php?option=com_content&view=category&layout=blog&id=' . $result[$i]['id'];
         $params = (array) json_decode($result[$i]['params'], true);
         $result[$i]['image'] = isset($params['image']) ? $uri . $params['image'] : '';
         if ($result[$i]['parent_title'] != 'ROOT') {
             $result[$i]['parent_url'] = 'index.php?option=com_content&view=category&id=' . $result[$i]['parent_id'];
             $result[$i]['parent_url_blog'] = 'index.php?option=com_content&view=category&layout=blog&id=' . $result[$i]['parent_id'];
         } else {
             $result[$i]['parent_title'] = '';
             $result[$i]['parent_url'] = '';
             $result[$i]['parent_url_blog'] = '';
         }
     }
     return $result;
 }