Exemplo n.º 1
0
 protected function getInput()
 {
     $helper = new BtApbHelper();
     if ($helper->checkPhocaComponent()) {
         $db = JFactory::getDBO();
         //build the list of categories
         $query = 'SELECT a.title AS text, a.id AS value, a.parent_id as parentid' . ' FROM #__phocagallery_categories AS a' . ' WHERE a.published = 1' . ' ORDER BY a.ordering';
         $db->setQuery($query);
         $phocagallerys = $db->loadObjectList();
         // TODO - check for other views than category edit
         $view = JRequest::getVar('view');
         $catId = -1;
         if ($view == 'phocagalleryc') {
             $id = $this->form->getValue('id');
             // id of current category
             if ((int) $id > 0) {
                 $catId = $id;
             }
         }
         $tree = array();
         $text = '';
         if (method_exists('PhocaGalleryRenderAdmin', 'CategoryTreeOption')) {
             $tree = PhocaGalleryRenderAdmin::CategoryTreeOption($phocagallerys, $tree, 0, $text, $catId);
         } else {
             if (method_exists('PhocaGalleryCategory', 'CategoryTreeOption')) {
                 $tree = PhocaGalleryCategory::CategoryTreeOption($phocagallerys, $tree, 0, $text, $catId);
             } else {
                 $class = $this->element['class'] ? (string) $this->element['class'] : '';
                 return "<div class='{$class}'>" . JText::_('MOD_BTBGSLIDESHOW_PHOCA_ALERT') . "</div>";
             }
         }
         array_unshift($tree, JHTML::_('select.option', '', '- ' . JText::_('PHOCA_ALL_CATEGORIES') . ' -', 'value', 'text'));
         // Initialize JavaScript field attributes.
         $class = $this->element['class'] ? (string) $this->element['class'] : '';
         $attr = '';
         $attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
         $attr .= ' class="inputbox ' . $class . '"';
         $document = JFactory::getDocument();
         $document->addCustomTag('<script type="text/javascript">
                                     function changeCatid() {
                                           var catid = document.getElementById(\'jform_catid\').value;
                                           var href = document.getElementById(\'pgselectytb\').href;
                                         href = href.substring(0, href.lastIndexOf("&"));
                                         href += \'&catid=\' + catid;
                                         document.getElementById(\'pgselectytb\').href = href;
                                     }
                                     </script>');
         return JHTML::_('select.genericlist', $tree, $this->name, trim($attr), 'value', 'text', $this->value, $this->id);
     } else {
         $class = $this->element['class'] ? (string) $this->element['class'] : '';
         return "<span class='{$class} source_phocagallery_not_found'>" . JText::_('PHOCA_ALERT') . "</span>";
     }
 }
Exemplo n.º 2
0
 /**
  * Returns the HTML for a category select box form field.
  *
  * @access  protected
  * @return  object    The category select box form field.
  * @since   2.0
  */
 function getInput()
 {
     require_once JPATH_ROOT . '/modules/mod_bt_apb/helpers/helper.php';
     $helper = new BtApbHelper();
     if ($helper->checkJGalleryComponent()) {
         require_once JPATH_ADMINISTRATOR . '/components/com_joomgallery/includes/defines.php';
         JLoader::register('JoomExtensions', JPATH_ADMINISTRATOR . '/components/' . _JOOM_OPTION . '/helpers/extensions.php');
         JLoader::register('JoomHelper', JPATH_BASE . '/components/' . _JOOM_OPTION . '/helpers/helper.php');
         JLoader::register('JoomConfig', JPATH_BASE . '/components/' . _JOOM_OPTION . '/helpers/config.php');
         JLoader::register('JoomAmbit', JPATH_BASE . '/components/' . _JOOM_OPTION . '/helpers/ambit.php');
         JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/' . _JOOM_OPTION . '/tables');
         JHTML::addIncludePath(JPATH_BASE . '/components/' . _JOOM_OPTION . '/helpers/html');
         $class = $this->element['class'] ? (string) $this->element['class'] : '';
         if ($this->element['required'] && $this->element['required'] == true && strpos($class, 'required') === false) {
             if (!empty($class)) {
                 $class .= ' ';
             }
             $class .= 'required';
         }
         if ($this->element['validate'] && (string) $this->element['validate'] == 'joompositivenumeric') {
             $doc =& JFactory::getDocument();
             // Add a validation script for form validation
             $js_validate = "\n            window.addEvent('domready', function() {\n              document.formvalidator.setHandler('joompositivenumeric', function(value) {\n                regex=/^[1-9]+[0-9]*\$/;\n                return regex.test(value);\n              })\n            });";
             $doc->addScriptDeclaration($js_validate);
             // Element class needs attribute validate-...
             if (!empty($class)) {
                 $class .= ' ';
             }
             $class .= 'validate-' . (string) $this->element['validate'];
             // Add some style to make the slect box red bordered when invalid
             $css = '
         select.invalid {
           border: 1px solid red;
         }';
             $doc->addStyleDeclaration($css);
         }
         $attr = '';
         $attr .= !empty($class) ? ' class="' . $class . '"' : '';
         $attr .= (string) $this->element['disabled'] == 'true' ? ' disabled="disabled"' : '';
         $attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
         $attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
         $action = $this->element['action'] ? (string) $this->element['action'] : 'core.create';
         $exclude = $this->element['exclude'] ? (int) $this->element['exclude'] : null;
         $task = $this->element['task'] ? (int) $this->element['task'] : null;
         $html = JHTML::_('joomselect.categorylist', $this->value, $this->name, $attr, $exclude, '- ', $task, $action, $this->id);
         return $html;
     } else {
         $class = $this->element['class'] ? (string) $this->element['class'] : '';
         return "<span class='{$class} source_jgallery_not_found'>" . JText::_('MOD_BTBGSLIDESHOW_JOOMGALLERY_ALERT') . "</span>";
     }
 }
Exemplo n.º 3
0
        } else {
            $video = '<video width="320" height="240" controls loop  autoplay><source src="' . $params->get('html5_video') . '"></source>Your browser does not support the video tag.</video>';
        }
    }
}
//prepare parameters
$headingText = $params->get('heading_text');
$subText = $params->get('sub_text');
$buttonText = $params->get('button_text');
$thumbnailHeight = $params->get('thumbnail_height', 200);
$thumbnailWidth = $params->get('thumbnail_width', 200);
$backgroundOverlay = '';
if ($params->get('textured_color', '')) {
    $backgroundOverlay .= $params->get('textured_color');
}
if ($params->get('background_textured', '')) {
    $relative_path = '/modules/mod_bt_apb/assets/images/pattern/';
    $backgroundOverlay .= ' url(' . JURI::root() . $relative_path . $params->get('background_textured') . ') ';
}
if ($params->get('textured_opacity', '')) {
    $backgroundOverlayOpacity = $params->get('textured_opacity');
} else {
    $backgroundOverlayOpacity = '';
}
$speedFactor = $params->get('speed_factor', 0.5);
$contentWidth = $params->get('content_width', '');
$contentEffect = $params->get('content_effect', 'fade');
$contentEffectCustom = $params->get('content_custom_effect', '');
$rows = $params->get('number_rows', 2);
BtApbHelper::fetchHead($params);
require JModuleHelper::getLayoutPath('mod_bt_apb', $params->get('layout', 'default'));
Exemplo n.º 4
0
    protected function _build($moduleID, $name, $value)
    {
        /* @var JDocument $document */
        $document = JFactory::getDocument();
        if (version_compare(JVERSION, '1.6.0', 'ge')) {
            $document->addScript(JURI::root() . "modules/mod_bt_apb/assets/js/btslideshow.min.js");
            $document->addScript(JURI::root() . "modules/mod_bt_apb/assets/js/btbase64.min.js");
            $document->addScriptDeclaration('(function($){$(document).ready(function(){initGallery();});})(jQuery);');
        } else {
            $document->addScript(JURI::root() . "modules/mod_bt_apb/assets/js/btloader.min.js");
            // Hack, replace mootools by newer
            foreach ($document->_scripts as $key => $tmp) {
                if (preg_match('#media/system/js/mootools.js#is', $key)) {
                    unset($document->_scripts[$key]);
                }
            }
            $mootools = array(JURI::root() . "modules/mod_bt_apb/assets/js/mootools-core.js" => 'text/javascript', JURI::root() . "modules/mod_bt_apb/assets/js/mootools-more.js" => 'text/javascript');
            $document->_scripts = $mootools + $document->_scripts;
            ?>
            <script>

                (function(){
                    var libs = [
                        '<?php 
            echo JURI::root();
            ?>
modules/mod_bt_apb/assets/js/mootools-core.js',
                        '<?php 
            echo JURI::root();
            ?>
modules/mod_bt_apb/assets/js/mootools-more.js',
                        '<?php 
            echo JURI::root();
            ?>
modules/mod_bt_apb/assets/js/btslideshow.min.js',
                        '<?php 
            echo JURI::root();
            ?>
modules/mod_bt_apb/assets/js/btbase64.min.js',
                        '<?php 
            echo JURI::root();
            ?>
modules/mod_bt_apb/assets/squeezebox/squeezebox.min.js'
                    ];

                    BT.Loader.js(libs, function(){
                        initGallery();
                    });
                    BT.Loader.css('<?php 
            echo JURI::root();
            ?>
modules/mod_bt_apb/assets/squeezebox/assets/squeezebox.css');

                    window.addEvent('load', function() {
                        document.combobox = null;
                        var combobox = new JCombobox();
                        document.combobox = combobox;
                    });

                })();
            </script>
            <?php 
        }
        // Remove temp files
        $images = json_decode(base64_decode($value));
        //check if 0 folder exists
        $saveDir = JPATH_SITE . '/modules/mod_bt_apb/images';
        if ($moduleID != 0 && JFolder::exists($saveDir . '/0')) {
            JFolder::move($saveDir . '/0', $saveDir . '/' . $moduleID);
        }
        //load file if miss save
        $originalDir = $saveDir . '/' . $moduleID . '/original';
        if (is_dir($originalDir)) {
            $open = opendir($originalDir);
            $arrFiles = array();
            $filename = readdir($open);
            while ($filename !== false) {
                //check validated file
                if (filetype($originalDir . '/' . $filename) == "file") {
                    $existed = false;
                    if (count($images) > 0) {
                        foreach ($images as $image) {
                            if ($image->file == $filename) {
                                $existed = true;
                                break;
                            }
                        }
                    }
                    if (!$existed) {
                        $objFile = new stdClass();
                        $objFile->file = $filename;
                        $objFile->title = '';
                        $images[] = $objFile;
                    }
                }
                $filename = readdir($open);
            }
        }
        $moduleURI = JPATH_SITE . "/modules/mod_bt_apb/";
        if (isset($this->params)) {
            $thumbWidth = $this->params->thumbnail_width;
            $thumbHeight = $this->params->thumbnail_height;
            // Make thumbnail if haven't created or just change the size
            $originalPath = JPATH_SITE . '/modules/mod_bt_apb/images/original/';
            $thumbnailPath = JPATH_SITE . '/modules/mod_bt_apb/images/thumbnail/';
            $originalFile = '';
            foreach ($images as $image) {
                $file = $thumbnailPath . $image->file;
                if ($this->params->remote_image) {
                    if (isset($image->remote)) {
                        $originalFile = $image->remote;
                    } else {
                        $originalFile = $originalPath . $image->file;
                    }
                } else {
                    if (file_exists($originalPath . $image->file)) {
                        $originalFile = $originalPath . $image->file;
                    } else {
                        if (isset($image->remote)) {
                            $originalFile = $image->remote;
                        }
                    }
                }
                if (file_exists($file)) {
                    $imageSize = getimagesize($file);
                    if ($imageSize[0] != $thumbWidth || $imageSize[1] != $thumbHeight) {
                        BTImageHelper::resize($originalFile, $file, $thumbWidth, $thumbHeight, true, 100);
                    }
                } else {
                    BTImageHelper::resize($originalFile, $file, $thumbWidth, $thumbHeight, true, 100);
                }
            }
        }
        $value = base64_encode(json_encode($images));
        $html = '
			<div id="btss-message" class="clearfix"></div>
                  <ul id="btss-upload-list"></ul>
			<div id="btss-file-uploader">
				<noscript>
					<p>' . JText::_('MOD_BTBGSLIDESHOW_NOTICE_JAVASCRIPT') . '</p>
				</noscript>
			</div>
			<input id="btss-gallery-hidden" class="gallery-option" type="hidden" name="' . $name . '" value="" />
			<ul id="btss-gallery-container" class="clearfix"></ul>
			';
        ?>
        <script type="text/javascript">
            function openFrame(a){
                var jQ = jQuery.noConflict();				
                if(jQ("#ifK2Articles").css('display') != 'none') return false;
                if(jQ(a).attr('rel') == 0){
                    jQ(a).html('Back');
                    jQ(a).attr('rel', 1);
                    jQ("#sbox-window .adminform").hide();
                    jQ("#sbox-window").animate({height: 450}, 300);
                    jQ("#ifArticles").show();
                }else{
                    jQ(a).html('Select Article');
                    jQ(a).attr('rel', 0);
                    jQ("#sbox-window .adminform").show();
                    jQ("#sbox-window").animate({height: 380}, 300);
                    jQ("#ifArticles").hide();
                }
                return false;
            }

            function jSelectArticle_jform_params_id(id, title, order){
                var jQ = jQuery.noConflict();				
                jQ("#btss-article").html('Select Article');
                jQ("#btss-article").attr('rel', 0);
                jQ("#ifArticles").hide();
                jQ("#sbox-window").animate({height: 380}, 300);
                jQ("#sbox-window .adminform").show();
                jQ.ajax({
                    type: "post",
                    url: location.href,
                    data: {action: "get_article",article_id : id},
                    success: function(response){
                        var data = jQ.parseJSON(response);						
                        if(data!= null && data.success){
                            jQ("#sbox-window .btss-title").val(title);
                            jQ("#sbox-window .btss-link").val(data.link);
                            jQ("#sbox-window .btss-desc").val(data.desc);							
                        }else{
                            jQ("#sbox-window .adminform").prepend(
                            "<div style='color: red; font-size: 10px;'>Importing article is failed. Have some errors.</div>"
                        );
                        }
                    },
                    error: function(jqXHR, textStatus, errorThrown){
                        //alert('Sending ajax request is failed. Check ajax.php, please.')
                    }
                });
            }
        <?php 
        require_once JPATH_ROOT . '/modules/mod_bt_apb/helpers/helper.php';
        if (BtApbHelper::checkK2Component()) {
            ?>
                    function openK2Frame(a){
                        var jQ = jQuery.noConflict();
                        if(jQ("#ifArticles").css('display') != 'none') return false;
                        if(jQ(a).attr('rel') == 0){
                            jQ(a).html('Back');
                            jQ(a).attr('rel', 1);
                            jQ("#sbox-window .adminform").hide();
                            jQ("#sbox-window").animate({height: 450}, 300);
                            jQ("#ifK2Articles").show();
                        }else{
                            jQ(a).html('Select K2 Article');
                            jQ(a).attr('rel', 0);
                            jQ("#sbox-window .adminform").show();
                            jQ("#sbox-window").animate({height: 380}, 300);
                            jQ("#ifK2Articles").hide();
                        }
                        return false;
                    }
                    function jSelectItem(id, title, objectname){
                        var jQ = jQuery.noConflict();
                        jQ("#btss-k2article").html('Select K2 Article');
                        jQ("#btss-k2article").attr('rel', 0);
                        jQ("#ifK2Articles").hide();
                        jQ("#sbox-window").animate({height: 350}, 300);
                        jQ("#sbox-window .adminform").show();
                        jQ.ajax({
                            type: "post",
                            url: location.href,
                            data: {action: "get_article", article_id : id, k2 : 1},
                            success: function(response){
                                var data = jQ.parseJSON(response);
                                if(data!= null && data.success){
                                    jQ("#sbox-window .btss-title").val(title);									
                                    jQ("#sbox-window .btss-link").val(data.link);									
                                    jQ("#sbox-window .btss-desc").val(data.desc);
                                }else{
                                    jQ("#sbox-window .adminform").prepend(
                                    "<div style='color: red; font-size: 10px;'>Importing k2 article is failed. Have some errors.</div>"
                                );
                                }
                            },
                            error: function(jqXHR, textStatus, errorThrown){
                                //alert('Sending ajax request is failed. Check ajax.php, please.')
                            }
                        });
                    }
            <?php 
        }
        ?>
	
			function initGallery(){
                BTSlideshow = new BT.Slideshow({
                    liveUrl: '<?php 
        echo JURI::root();
        ?>
',
                    encodedItems: '<?php 
        echo $value;
        ?>
',
                    moduleID: '<?php 
        echo $moduleID;
        ?>
',
                    galleryContainer: 'btss-gallery-container',
                    dialogTemplate:
                        '<div style="margin: 10px 0px 10px 10px;" class="button2-left">'+
                        '     <div class="blank">'+
                        '         <a id="btss-article" onclick="openFrame(this);" title="Import from article" class="btn btn-small" rel="0">Select Article</a>' +
                        '     </div>'+
                        '</div>'+
        <?php 
        if (BtApbHelper::checkK2Component()) {
            ?>
                            '<div style="margin: 10px 0px 10px 10px;" class="button2-left">'+
                                '     <div class="blank">'+
                                '         <a id="btss-k2article" onclick="openK2Frame(this);" title="Import from K2 article" class="btn btn-small" rel="0">Select K2 Article</a>' +
                                '     </div>'+
                                '</div>'+
            <?php 
        }
        ?>
                    '<fieldset style="clear: both;" class="adminform">' +
						'<legend><?php 
        echo JText::_('CAPTION');
        ?>
</legend>'+
                        '<ul class="adminformlist">' +
                        '<li>' +
                        '<label class="btss-title-lbl" class="hasTip" title="<?php 
        echo JText::_('TITLE_DESC');
        ?>
" for="btss-title"><?php 
        echo JText::_('TITLE_LABEL');
        ?>
</label>' +
                        '<input class="btss-title" type="text" name="btss-title" size="90" />' +
                        '</li>' +
                        '<li>' +
                        '<label class="btss-link-lbl" class="hasTip" title="<?php 
        echo JText::_('LINK_DESC');
        ?>
" for="btss-link"><?php 
        echo JText::_('LINK_LABEL');
        ?>
</label>' +
                        '<input class="btss-link" type="text" name="btss-link" size="90" />' +
                        '</li>' +
                        '<li>' +
                        '<label class="btss-target-lbl" class="hasTip" title="<?php 
        echo JText::_('TARGET_DESC');
        ?>
" for="btss-target"><?php 
        echo JText::_('TARGET_LABEL');
        ?>
</label>' +
                        '<select class="btss-target" name="btss-link">' +
                        '   <option value=""><?php 
        echo JText::_('TARGET_CURRENT');
        ?>
</option>' +
                        '   <option value="_blank"><?php 
        echo JText::_('TARGET_BLANK');
        ?>
</option>' +
                        '   <option value="window"><?php 
        echo JText::_('TARGET_WINDOW');
        ?>
</option>' +
                        '</select>'+
                        '</li>' +						
                        '<li>' +
                        '<label class="btss-desc-lbl" class="hasTip" title="<?php 
        echo JText::_('DESCRIPTION_DESC');
        ?>
" for="btss-desc"><?php 
        echo JText::_('DESCRIPTION_LABEL');
        ?>
</label>' +
                        '<textarea style="width: 375px;" class="btss-desc" name="btss-desc" rows="5" cols="50"></textarea>' +
                        '</li>' +
                        '</ul>' +                      
                        '</fieldset>' +						
						'<div style="clear: both;">' +
                        '<label>&nbsp;</label><button class="btss-dialog-ok btn btn-small" style="margin-left: 10px;"><?php 
        echo JText::_('BTN_OK');
        ?>
</button><button class="btss-dialog-cancel btn btn-small" style="margin-left: 10px;"><?php 
        echo JText::_('BTN_CANCEL');
        ?>
</button>'+
                        '</div>' +
                        '<iframe style="display: none" id="ifArticles" height="400" frameborder="0" width="775" src="index.php?option=com_content&view=articles&layout=modal&tmpl=component&function=jSelectArticle_jform_params_id"></iframe>'+
                        '<iframe style="display: none" id="ifK2Articles" height="400" frameborder="0" width="775" src="index.php?option=com_k2&view=images&task=element&tmpl=component"></iframe>'
                });


           };

        </script>
        <?php 
        return $html;
    }
Exemplo n.º 5
0
Arquivo: ajax.php Projeto: Tommar/vino
 /**
  * Get images from JoomGallery Component
  */
 function getImagesFromJoomGallery(&$photos)
 {
     if (!is_array($photos)) {
         $photos = array();
     }
     require_once JPATH_ROOT . '/modules/mod_bt_apb/helpers/helper.php';
     $helper = new BtApbHelper();
     if (!$helper->checkJGalleryComponent()) {
         $this->result["success"] = false;
         $this->result["message"] = JText::_('COM_JOOMGALLERY_NOT_EXIST');
     } else {
         $rs = $helper->getJoomGalleryPhotos(JRequest::getString('jgallery_catid'));
         if (count($rs) > 0) {
             foreach ($rs as $photo) {
                 $file = JURI::root() . "images/joomgallery/originals/" . $photo->cat_name . '/' . $photo->filename;
                 $fileInfo = pathinfo($file);
                 $hashedName = md5($this->moduleID . '-' . 'jgallery-' . $photo->cat_name . '-' . $fileInfo['filename']);
                 if ($file && !JFile::exists($this->saveDir . "/tmp/manager/{$hashedName}.{$fileInfo["extension"]}") && !in_array($hashedName . '.' . $fileInfo["extension"], $this->items)) {
                     $objFile = new stdClass();
                     $objFile->file = str_replace('http://', '', $file);
                     $objFile->title = $photo->title;
                     $objFile->source = 'jgallery-' . $photo->cat_name;
                     $photos[] = $objFile;
                 }
             }
         }
     }
 }