Example #1
0
 /**
  *
  * Method to display list of export types
  */
 function display()
 {
     //needed to make display function correctly
     JHTML::_('stylesheet', 'admin.css', 'media/com_tienda/css/');
     JHTML::_('script', 'tienda.js', 'media/com_tienda/js/');
     Tienda::loadJQuery();
     require_once JPATH_SITE . '/libraries/joomla/html/html/select.php';
     JToolBarHelper::title(JText::_('COM_TIENDA_GENERIC_EXPORT'));
     $bar = JToolBar::getInstance('toolbar');
     $btnhtml = '<a class="toolbar" onclick="javascript: document.adminForm.submit();" href="#">';
     $btnhtml .= '<span title="Submit" class="icon-32-forward">';
     $btnhtml .= '</span>' . JText::_('COM_TIENDA_SUBMIT') . '</a>';
     $bar->appendButton('Custom', $btnhtml);
     //read the type files inside the /plugins/tienda/genericexporter/models
     jimport('joomla.filesystem.file');
     if (version_compare(JVERSION, '1.6.0', 'ge')) {
         // Joomla! 1.6+ code here
         $folder = JPATH_SITE . '/plugins/tienda/genericexporter/genericexporter/models';
     } else {
         // Joomla! 1.5 code here
         $folder = JPATH_SITE . '/plugins/tienda/genericexporter/models';
     }
     if (JFolder::exists($folder)) {
         $extensions = array('php');
         $exclusions = array('_base.php');
         $files = JFolder::files($folder);
         foreach ($files as $file) {
             $namebits = explode('.', $file);
             $extension = $namebits[count($namebits) - 1];
             if (in_array($extension, $extensions) && !in_array($file, $exclusions)) {
                 $classname = 'TiendaGenericExporterModel' . ucfirst($namebits[0]);
                 if (version_compare(JVERSION, '1.6.0', 'ge')) {
                     // Joomla! 1.6+ code here
                     Tienda::load($classname, 'genericexporter.genericexporter.models.' . $namebits[0], array('site' => 'site', 'type' => 'plugins', 'ext' => 'tienda'));
                 } else {
                     // Joomla! 1.5 code here
                     Tienda::load($classname, 'genericexporter.models.' . $namebits[0], array('site' => 'site', 'type' => 'plugins', 'ext' => 'tienda'));
                 }
                 if (class_exists($classname)) {
                     $exporter = new $classname();
                     $models[] = array($exporter->getModelClass(), $exporter->getName());
                 }
             }
         }
     }
     if (version_compare(JVERSION, '1.6.0', 'ge')) {
         // Joomla! 1.6+ code here
         $folderTypes = JPATH_SITE . '/plugins/tienda/genericexporter/genericexporter/types';
     } else {
         // Joomla! 1.5 code here
         $folderTypes = JPATH_SITE . '/plugins/tienda/genericexporter/types';
     }
     if (JFolder::exists($folderTypes)) {
         $extensions = array('php');
         $exclusions = array('_base.php');
         $typeFiles = JFolder::files($folderTypes);
         foreach ($typeFiles as $typeFile) {
             $namebits = explode('.', $typeFile);
             $extension = $namebits[count($namebits) - 1];
             if (in_array($extension, $extensions) && !in_array($typeFile, $exclusions)) {
                 $classname = 'TiendaGenericExporterType' . $namebits[0];
                 if (version_compare(JVERSION, '1.6.0', 'ge')) {
                     // Joomla! 1.6+ code here
                     Tienda::load($classname, 'genericexporter.genericexporter.types.' . strtolower($namebits[0]), array('site' => 'site', 'type' => 'plugins', 'ext' => 'tienda'));
                 } else {
                     // Joomla! 1.5 code here
                     Tienda::load($classname, 'genericexporter.types.' . strtolower($namebits[0]), array('site' => 'site', 'type' => 'plugins', 'ext' => 'tienda'));
                 }
                 if (class_exists($classname)) {
                     $exporterType = new $classname();
                     $types[] = $exporterType->getFormat();
                 }
             }
         }
     }
     sort($models);
     sort($types);
     $vars = new JObject();
     $vars->models = $models;
     $vars->types = $types;
     $html = $this->_getLayout('default', $vars);
     return $html;
 }