/**
  * Available fields view display method
  *
  * @copyright
  * @author 		RolandD
  * @todo 		Replace JError
  * @see
  * @access 		public
  * @param
  * @return
  * @since 		3.0
  */
 public function display($tpl = null)
 {
     // Get the list of available fields
     $this->availablefields = $this->get('Items');
     // Load the pagination
     $this->pagination = $this->get('Pagination');
     // Load the user state
     $this->state = $this->get('State');
     if (!$this->get('FieldCheck')) {
         throw new Exception(JText::_('COM_CSVI_NO_AVAILABLE_FIELDS'), 0);
     }
     // Get the list of actions
     $options = array();
     $options[] = JHtml::_('select.option', 'import', JText::_('COM_CSVI_IMPORT'));
     $options[] = JHtml::_('select.option', 'export', JText::_('COM_CSVI_EXPORT'));
     $this->actions = JHtml::_('select.genericlist', $options, 'jform_options_action', 'onchange="Csvi.loadTemplateTypes();"', 'value', 'text', $this->state->get('filter.action', ''));
     // Get the list of supported components
     $this->components = JHtml::_('select.genericlist', CsviHelper::getComponents(), 'jform_options_component', 'onchange="Csvi.loadTemplateTypes();"', 'value', 'text', $this->state->get('filter.component'), false, true);
     // Get the list of template types
     $model = $this->getModel();
     $templates_model = $model->getModel('templates');
     $operations = $templates_model->getTemplateTypes($this->state->get('filter.action', 'import'), $this->state->get('filter.component', false));
     // Create the operations list
     $this->operations = JHtml::_('select.genericlist', $operations, 'jform_options_operation', '', 'value', 'name', $this->state->get('filter.operation'), false, true);
     // Get the panel
     $this->loadHelper('panel');
     // Show the toolbar
     $this->addToolbar();
     // Display it all
     parent::display($tpl);
 }
 /**
  * Prepare for available fields importing.
  *
  * 1. Set all tables to be indexed
  * 2. Empty the available fields table
  * 3. Import the extra availablefields sql file
  * 4. Find what tables need to be imported and store them in the session
  *
  * @copyright
  * @author 		RolandD
  * @todo
  * @see			CsviModelSettings::save
  * @access 		public
  * @param
  * @return
  * @since 		3.5
  */
 public function prepareAvailableFields()
 {
     $db = JFactory::getDbo();
     $jinput = JFactory::getApplication()->input;
     // Load the session data
     $session = JFactory::getSession();
     $option = $jinput->get('option');
     $csvilog = $jinput->get('csvilog', null, null);
     // Clean the session
     $session->set($option . '.csvilog', serialize('0'));
     // Set all tables to be indexed
     $query = $db->getQuery(true);
     $query->update('#__csvi_template_tables');
     $query->set('indexed = 0');
     $db->setQuery($query);
     $db->query();
     // Empty the available fields first
     $q = "TRUNCATE TABLE " . $db->qn('#__csvi_available_fields');
     $db->setQuery($q);
     if ($db->query()) {
         $csvilog->AddStats('empty', JText::_('COM_CSVI_AVAILABLE_FIELDS_TABLE_EMPTIED'));
     } else {
         $csvilog->AddStats('error', JText::_('COM_CSVI_AVAILABLE_FIELDS_TABLE_COULD_NOT_BE_EMPTIED'));
     }
     // Do component specific updates
     $override = new stdClass();
     $override->value = 'override';
     $components = CsviHelper::getComponents();
     $components[] = $override;
     jimport('joomla.filesystem.file');
     foreach ($components as $component) {
         switch ($component->value) {
             case 'mod_vm_cherry_picker':
                 // Delete any existing entries
                 $query = $db->getQuery(true);
                 $query->delete('#__csvi_template_tables')->where($db->qn('component') . ' = ' . $db->q('mod_vm_cherry_picker'))->where($db->qn('template_table') . ' REGEXP ' . $db->q('vm_product_type_[0-9]'));
                 $db->setQuery($query);
                 $db->query();
                 // Add new entries
                 $name_tables = $db->getTableList();
                 $query = $db->getQuery(true);
                 $validq = false;
                 $query->insert('#__csvi_template_tables')->columns(array('template_type_name', 'template_table', 'component', 'indexed'));
                 foreach ($name_tables as $nkey => $name_table) {
                     if (strpos($name_table, $db->getPrefix() . 'vm_product_type') !== false) {
                         if (stristr('0123456789', substr($name_table, -1))) {
                             $validq = true;
                             $name = str_ireplace($db->getPrefix(), '', $name_table);
                             $query->values($db->q('producttypenamesexport') . ',' . $db->q($name) . ',' . $db->q('mod_vm_cherry_picker') . ',0');
                             $query->values($db->q('producttypenamesimport') . ',' . $db->q($name) . ',' . $db->q('mod_vm_cherry_picker') . ',0');
                         }
                     }
                 }
                 if ($validq) {
                     $db->setQuery($query);
                     $db->query();
                 }
                 break;
         }
         // Process all extra available fields
         $filename = JPATH_COMPONENT_ADMINISTRATOR . '/install/availablefields/' . $component->value . '.sql';
         if (JFile::exists($filename)) {
             // Check if the component is installed
             $ext_id = false;
             $query = $db->getQuery(true)->select($db->qn('extension_id'))->from($db->qn('#__extensions'))->where($db->qn('element') . '=' . $db->q($component->value));
             $db->setQuery($query);
             $ext_id = $db->loadResult();
             if ($ext_id) {
                 $queries = JInstallerHelper::splitSql(JFile::read($filename));
                 foreach ($queries as $q) {
                     $db->setQuery($q);
                     if ($db->query()) {
                         $result = true;
                     } else {
                         $result = false;
                     }
                 }
                 if ($result) {
                     $csvilog->AddStats('added', JText::sprintf('COM_CSVI_CUSTOM_AVAILABLE_FIELDS_HAVE_BEEN_ADDED', JText::_('COM_CSVI_' . $component->value)));
                 } else {
                     $csvilog->AddStats('error', JText::sprintf('COM_CSVI_CUSTOM_AVAILABLE_FIELDS_HAVE_NOT_BEEN_ADDED', JText::_('COM_CSVI_' . $component->value)));
                 }
             }
         } else {
             $csvilog->AddStats('error', JText::sprintf('AVAILABLEFIELDS_EXTRA_NOT_FOUND', $filename));
         }
     }
     // Add the log the session
     $session->set($option . '.csvilog', serialize($csvilog));
 }
Exemple #3
0
 *
 * @author 		Roland Dalmulder
 * @link 		http://www.csvimproved.com
 * @copyright 	Copyright (C) 2006 - 2013 RolandD Cyber Produksi. All rights reserved.
 * @license 	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 * @version 	$Id: default.php 2390 2013-03-23 16:54:46Z RolandD $
 */
defined('_JEXEC') or die;
$listOrder = $this->state->get('list.ordering');
$listDirn = $this->state->get('list.direction');
$saveOrder = $listOrder == 'ordering';
$state = $this->state->get('filter.published');
if (strlen($state) == 0) {
    $state = '*';
}
$components = CsviHelper::getComponents();
array_unshift($components, JHtml::_('select.option', '', JText::_('JALL')));
$check = version_compare(JVERSION, '3.0', '<') ? 'checkAll(' . count($this->templatetypes) . ');' : 'Joomla.checkAll(this);';
?>
<div class="span1">
	<?php 
echo $this->sidebar;
?>
</div>
<div class="span11">
	<form action="<?php 
echo JRoute::_('index.php?option=com_csvi&view=templatetypes');
?>
" method="post" name="adminForm" id="adminForm">
		<table class="adminlist table table-condensed table-striped">
			<thead>
Exemple #4
0
 /**
  * Get a list of available components
  *
  * @copyright
  * @author 		RolandD
  * @todo
  * @see
  * @access 		public
  * @param
  * @return
  * @since 		4.0
  */
 public function getComponents()
 {
     $components = CsviHelper::getComponents(array('#__extensions.type' => 'component'));
     $options = JHtml::_('select.option', '', JText::_('COM_CSVI_MAKE_CHOICE'), 'value', 'text', true);
     array_unshift($components, $options);
     return $components;
 }
 /**
  * Prepare for available fields importing.
  *
  * 1. Set all tables to be indexed
  * 2. Empty the available fields table
  * 3. Import the extra availablefields sql file
  * 4. Find what tables need to be imported and store them in the session
  *
  * @copyright
  * @author 		RolandD
  * @todo
  * @see			CsviModelSettings::save
  * @access 		public
  * @param
  * @return
  * @since 		3.5
  */
 public function prepareAvailableFields()
 {
     $db = JFactory::getDbo();
     $jinput = JFactory::getApplication()->input;
     // Load the session data
     $session = JFactory::getSession();
     $option = $jinput->get('option');
     $csvilog = $jinput->get('csvilog', null, null);
     // Clean the session
     $session->set($option . '.csvilog', serialize('0'));
     // Set all tables to be indexed
     $query = $db->getQuery(true);
     $query->update('#__csvi_template_tables');
     $query->set('indexed = 0');
     $db->setQuery($query);
     $db->query();
     // Empty the available fields first
     $q = "TRUNCATE TABLE `#__csvi_available_fields`";
     $db->setQuery($q);
     if ($db->query()) {
         $csvilog->AddStats('empty', JText::_('COM_CSVI_AVAILABLE_FIELDS_TABLE_EMPTIED'));
     } else {
         $csvilog->AddStats('error', JText::_('COM_CSVI_AVAILABLE_FIELDS_TABLE_COULD_NOT_BE_EMPTIED'));
     }
     // Do component specific updates
     $components = CsviHelper::getComponents();
     foreach ($components as $component) {
         switch ($component->value) {
             case 'com_virtuemart':
                 // Add custom fields as available field to product import
                 $query = "INSERT IGNORE INTO " . $db->quoteName('#__csvi_available_fields') . "(csvi_name, component_name, component_table, component) \n\t\t\t\t\t\t\t(SELECT TRIM(custom_title), TRIM(custom_title), 'productimport', 'com_virtuemart' FROM #__virtuemart_customs WHERE field_type = 'S')";
                 $db->setQuery($query);
                 $db->query();
                 break;
         }
     }
     // Add some extra fields
     jimport('joomla.filesystem.file');
     if (JFile::exists(JPATH_COMPONENT_ADMINISTRATOR . '/install/availablefields_extra.sql')) {
         $q = JFile::read(JPATH_COMPONENT_ADMINISTRATOR . '/install/availablefields_extra.sql');
         $db->setQuery($q);
         if ($db->query()) {
             $csvilog->AddStats('added', JText::_('COM_CSVI_CUSTOM_AVAILABLE_FIELDS_HAVE_BEEN_ADDED'));
         } else {
             $csvilog->AddStats('error', JText::_('COM_CSVI_CUSTOM_AVAILABLE_FIELDS_HAVE_NOT_BEEN_ADDED'));
         }
     } else {
         $csvilog->AddStats('error', JText::sprintf('AVAILABLEFIELDS_EXTRA_NOT_FOUND', JPATH_COMPONENT_ADMINISTRATOR . '/install/availablefields_extra.sql'));
     }
     // Add the log the session
     $session->set($option . '.csvilog', serialize($csvilog));
 }