public function importData()
 {
     // Check for request forgeries
     JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
     // check if import is allowed for this user.
     $user = JFactory::getUser();
     if ($user->authorise('component.import', 'com_componentbuilder') && $user->authorise('core.import', 'com_componentbuilder')) {
         // Get the import model
         $model = $this->getModel('Components');
         // get the headers to import
         $headers = $model->getExImPortHeaders();
         if (ComponentbuilderHelper::checkObject($headers)) {
             // Load headers to session.
             $session = JFactory::getSession();
             $headers = json_encode($headers);
             $session->set('component_VDM_IMPORTHEADERS', $headers);
             $session->set('backto_VDM_IMPORT', 'components');
             $session->set('dataType_VDM_IMPORTINTO', 'component');
             // Redirect to import view.
             $message = JText::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_FOR_COMPONENTS');
             $this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=import', false), $message);
             return;
         }
     }
     // Redirect to the list screen with error.
     $message = JText::_('COM_COMPONENTBUILDER_IMPORT_FAILED');
     $this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=components', false), $message, 'error');
     return;
 }
 public function setCustomViewDisplayMethod(&$view)
 {
     $method = '';
     if (isset($view['settings']->main_get) && ComponentbuilderHelper::checkObject($view['settings']->main_get)) {
         if ($view['settings']->main_get->gettype == 1) {
             // for single views
             $method .= "\n\t\t//" . $this->setLine(__LINE__) . " Initialise variables.";
             $method .= "\n\t\t\$this->item\t= \$this->get('Item');";
         } elseif ($view['settings']->main_get->gettype == 2) {
             // for list views
             $method .= "\n\t\t//" . $this->setLine(__LINE__) . " Initialise variables.";
             $method .= "\n\t\t\$this->items\t= \$this->get('Items');";
             // only add if pagination is requered
             if ($view['settings']->main_get->pagination == 1) {
                 $method .= "\n\t\t\$this->pagination\t= \$this->get('Pagination');";
             }
             // add id to list view
             if (isset($this->customAdminViewListId[$view['settings']->code])) {
                 // ###HIDDEN_INPUT_VALUES###
                 $this->fileContentDynamic[$view['settings']->code]['###HIDDEN_INPUT_VALUES###'] = "\n\t" . '<input type="hidden" name="id" value="<?php echo $this->app->input->getInt(\'id\', 0); ?>" />';
             } else {
                 // also set the input value ###HIDDEN_INPUT_VALUES###
                 $this->fileContentDynamic[$view['settings']->code]['###HIDDEN_INPUT_VALUES###'] = '';
             }
         }
         // add the custom get methods
         if (isset($view['settings']->custom_get) && ComponentbuilderHelper::checkArray($view['settings']->custom_get)) {
             foreach ($view['settings']->custom_get as $custom_get) {
                 $custom_get_name = str_replace('get', '', $custom_get->getcustom);
                 $method .= "\n\t\t\$this->" . ComponentbuilderHelper::safeString($custom_get_name) . "\t= \$this->get('" . $custom_get_name . "');";
             }
         }
         $method .= "\n\n\t\t//" . $this->setLine(__LINE__) . " Check for errors.";
         $method .= "\n\t\tif (count(\$errors = \$this->get('Errors')))";
         $method .= "\n\t\t{";
         $method .= "\n\t\t\tJError::raiseError(500, " . 'implode("\\n", $errors));';
         $method .= "\n\t\t\treturn false;";
         $method .= "\n\t\t}";
         // add custom script
         if ($view['settings']->add_php_jview_display == 1) {
             $view['settings']->php_jview_display = (array) explode("\n", $view['settings']->php_jview_display);
             if (ComponentbuilderHelper::checkArray($view['settings']->php_jview_display)) {
                 $method .= str_replace(array_keys($this->placeholders), array_values($this->placeholders), "\n\t\t" . implode("\n\t\t", $view['settings']->php_jview_display));
             }
         }
         if ('site' == $this->target) {
             $method .= "\n\n\t\t//" . $this->setLine(__LINE__) . " Set the toolbar";
             $method .= "\n\t\t\$this->addToolBar();";
             $method .= "\n\n\t\t//" . $this->setLine(__LINE__) . " set the document";
             $method .= "\n\t\t\$this->_prepareDocument();";
         } elseif ('custom_admin' == $this->target) {
             $method .= "\n\n\t\t//" . $this->setLine(__LINE__) . " We don't need toolbar in the modal window.";
             $method .= "\n\t\tif (\$this->getLayout() !== 'modal')";
             $method .= "\n\t\t{";
             $method .= "\n\t\t\t//" . $this->setLine(__LINE__) . " add the tool bar";
             $method .= "\n\t\t\t\$this->addToolBar();";
             $method .= "\n\t\t}";
             $method .= "\n\n\t\t//" . $this->setLine(__LINE__) . " set the document";
             $method .= "\n\t\t\$this->setDocument();";
         }
         $method .= "\n\n\t\tparent::display(\$tpl);";
     }
     return $method;
 }
Пример #3
0
 /**
  * set a field
  * 
  * @param   string   $setType  The set of fields type
  * @param   string   $taber The tabs to add in layout
  * @param   array    $fieldAttributes The field values
  * @param   string   $name The field name
  * @param   string   $typeName The field type
  * @param   string   $langView The language string of the view
  * @param   string   $viewName The singel view name
  * @param   string   $listViewName The list view name
  * @param   array    $placeholders The place holder and replace values
  * @param   string   $optionArray The option bucket array used to set the field options if needed.
  * @param   arra	     $custom Used when field is from config
  *
  * @return  string The field in xml
  * 
  */
 private function setField($setType, $taber, &$fieldAttributes, &$name, &$typeName, &$langView, &$viewName, &$listViewName, $placeholders, &$optionArray, $custom = null)
 {
     $fieldSet = '';
     if ($setType == 'option') {
         // now add to the field set
         $fieldSet .= "\n\t" . $taber . "\t<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
         $fieldSet .= "\n\t" . $taber . "\t<field";
         $optionSet = '';
         foreach ($fieldAttributes as $property => $value) {
             if ($property != 'option') {
                 $fieldSet .= "\n\t\t" . $taber . "\t" . $property . '="' . $value . '"';
             } elseif ($property == 'option') {
                 $optionSet = '';
                 if (strpos($value, ',') !== false) {
                     // mulitpal options
                     $options = explode(',', $value);
                     foreach ($options as $option) {
                         if (strpos($option, '|') !== false) {
                             // has other value then text
                             list($v, $t) = explode('|', $option);
                             $langValue = $langView . '_' . ComponentbuilderHelper::safeString($t, 'U');
                             // add to lang array
                             $this->langContent[$this->lang][$langValue] = $t;
                             // no add to option set
                             $optionSet .= "\n\t" . $taber . "\t\t" . '<option value="' . $v . '">' . "\n\t" . $taber . "\t\t\t" . $langValue . '</option>';
                             $optionArray[$v] = $langValue;
                         } else {
                             // text is also the value
                             $langValue = $langView . '_' . ComponentbuilderHelper::safeString($option, 'U');
                             // add to lang array
                             $this->langContent[$this->lang][$langValue] = $option;
                             // no add to option set
                             $optionSet .= "\n\t\t" . $taber . "\t" . '<option value="' . $option . '">' . "\n\t\t" . $taber . "\t\t" . $langValue . '</option>';
                             $optionArray[$option] = $langValue;
                         }
                     }
                 } else {
                     // one option
                     if (strpos($value, '|') !== false) {
                         // has other value then text
                         list($v, $t) = explode('|', $value);
                         $langValue = $langView . '_' . ComponentbuilderHelper::safeString($t, 'U');
                         // add to lang array
                         $this->langContent[$this->lang][$langValue] = $t;
                         // no add to option set
                         $optionSet .= "\n\t\t" . $taber . "\t" . '<option value="' . $v . '">' . "\n\t\t" . $taber . "\t\t" . $langValue . '</option>';
                         $optionArray[$v] = $langValue;
                     } else {
                         // text is also the value
                         $langValue = $langView . '_' . ComponentbuilderHelper::safeString($value, 'U');
                         // add to lang array
                         $this->langContent[$this->lang][$langValue] = $value;
                         // no add to option set
                         $optionSet .= "\n\t\t" . $taber . "\t" . '<option value="' . $value . '">' . "\n\t\t" . $taber . "\t\t" . $langValue . '</option>';
                         $optionArray[$value] = $langValue;
                     }
                 }
             }
         }
         if (ComponentbuilderHelper::checkString($optionSet)) {
             $fieldSet .= '>';
             $fieldSet .= "\n\t\t\t" . $taber . "<!--" . $this->setLine(__LINE__) . " Option Set. -->";
             $fieldSet .= $optionSet;
             $fieldSet .= "\n\t\t" . $taber . "</field>";
         } elseif ($typeName == 'sql') {
             $optionArray = false;
             $fieldSet .= "\n\t\t" . $taber . "/>";
         } else {
             $optionArray = false;
             $fieldSet .= "\n\t\t\t" . $taber . "<!--" . $this->setLine(__LINE__) . " No Manual Options Were Added In Field Settings. -->";
             $fieldSet .= "\n\t\t" . $taber . "/>";
         }
     } elseif ($setType == 'plain') {
         // now add to the field set
         $fieldSet .= "\n\t\t" . $taber . "<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
         $fieldSet .= "\n\t\t" . $taber . "<field";
         foreach ($fieldAttributes as $property => $value) {
             if ($property != 'option') {
                 $fieldSet .= "\n\t\t" . $taber . "\t" . $property . '="' . $value . '"';
             }
         }
         $fieldSet .= "\n\t\t" . $taber . "/>";
     } elseif ($setType == 'spacer') {
         // now add to the field set
         $fieldSet .= "\n\t\t<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". A None Database Field. (joomla) -->";
         $fieldSet .= "\n\t\t<field";
         foreach ($fieldAttributes as $property => $value) {
             if ($property != 'option') {
                 $fieldSet .= " " . $property . '="' . $value . '"';
             }
         }
         $fieldSet .= " />";
     } elseif ($setType == 'special') {
         // set the repeatable field
         if ($typeName == 'repeatable') {
             // now add to the field set
             $fieldSet .= "\n\t\t<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
             $fieldSet .= "\n\t\t<field";
             $fieldsSet = array();
             foreach ($fieldAttributes as $property => $value) {
                 if ($property != 'fields') {
                     $fieldSet .= "\n\t\t\t" . $property . '="' . $value . '"';
                 }
             }
             $fieldSet .= ">";
             $fieldSet .= "\n\t\t\t" . '<fields name="' . $fieldAttributes['name'] . '_fields" label="">';
             $fieldSet .= "\n\t\t\t\t" . '<fieldset hidden="true" name="' . $fieldAttributes['name'] . '_modal" repeat="true">';
             if (strpos($fieldAttributes['fields'], ',') !== false) {
                 // mulitpal fields
                 $fieldsSets = explode(',', $fieldAttributes['fields']);
             } else {
                 // single field
                 $fieldsSets[] = $fieldAttributes['fields'];
             }
             // only continue if we have a field set
             if (ComponentbuilderHelper::checkArray($fieldsSets)) {
                 foreach ($fieldsSets as $fieldId) {
                     // get the field data
                     $fieldData = array();
                     $fieldData['settings'] = $this->getFieldData($fieldId, $viewName);
                     if (ComponentbuilderHelper::checkObject($fieldData['settings'])) {
                         $r_name = ComponentbuilderHelper::safeString($fieldData['settings']->name);
                         $r_typeName = ComponentbuilderHelper::safeString($fieldData['settings']->type_name);
                         $r_multiple = false;
                         $r_langLabel = '';
                         // add the tabs needed
                         $taber = "\t\t\t";
                         // get field values
                         $r_fieldValues = $this->setFieldAttributes($fieldData, $view, $r_name, $r_typeName, $r_multiple, $r_langLabel, $langView, $spacerCounter, $listViewName, $viewName, $placeholders, true);
                         // check if values were set
                         if (ComponentbuilderHelper::checkArray($r_fieldValues)) {
                             //reset options array
                             $r_optionArray = array();
                             if ($this->defaultField($r_typeName, 'option')) {
                                 // now add to the field set
                                 $fieldSet .= $this->setField('option', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
                             } elseif ($this->defaultField($r_typeName, 'plain')) {
                                 // now add to the field set
                                 $fieldSet .= $this->setField('plain', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
                             } elseif (ComponentbuilderHelper::checkArray($r_fieldValues['custom'])) {
                                 // add to custom
                                 $custom = $r_fieldValues['custom'];
                                 unset($r_fieldValues['custom']);
                                 // now add to the field set
                                 $fieldSet .= $this->setField('custom', $taber, $r_fieldValues, $r_name, $r_typeName, $langView, $viewName, $listViewName, $placeholders, $r_optionArray);
                                 // set lang (just incase)
                                 $r_listLangName = $langView . '_' . ComponentbuilderHelper::safeString($r_name, 'U');
                                 // add to lang array
                                 $this->langContent[$this->lang][$r_listLangName] = ComponentbuilderHelper::safeString($r_name, 'W');
                                 // if label was set use instead
                                 if (ComponentbuilderHelper::checkString($r_langLabel)) {
                                     $r_listLangName = $r_langLabel;
                                 }
                                 // set the custom array
                                 $data = array('type' => $r_typeName, 'code' => $r_name, 'lang' => $r_listLangName, 'custom' => $custom);
                                 // set the custom field file
                                 $this->setCustomFieldTypeFile($data, $listViewName, $viewName);
                             }
                         }
                     }
                 }
             }
             $fieldSet .= "\n\t\t\t\t</fieldset>";
             $fieldSet .= "\n\t\t\t</fields>";
             $fieldSet .= "\n\t\t</field>";
         }
     } elseif ($setType == 'custom') {
         // now add to the field set
         $fieldSet .= "\n\t\t" . $taber . "<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (custom) -->";
         $fieldSet .= "\n\t\t" . $taber . "<field";
         foreach ($fieldAttributes as $property => $value) {
             if ($property != 'option') {
                 $fieldSet .= "\n\t\t" . $taber . "\t" . $property . '="' . $value . '"';
             }
         }
         $fieldSet .= "\n\t\t" . $taber . "/>";
         // incase the field is in the config and has not been set
         if ('config' == $viewName && 'configs' == $listViewName) {
             // set lang (just incase)
             $listLangName = $langView . '_' . ComponentbuilderHelper::safeString($name, 'U');
             // set the custom array
             $data = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom);
             // set the custom field file
             $this->setCustomFieldTypeFile($data, $listViewName, $viewName);
         }
     }
     return $fieldSet;
 }
 /**
  * Method to get list export data.
  *
  * @return mixed  An array of data items on success, false on failure.
  */
 public function getExportData($pks)
 {
     // setup the query
     if (ComponentbuilderHelper::checkArray($pks)) {
         // Set a value to know this is exporting method.
         $_export = true;
         // Get the user object.
         $user = JFactory::getUser();
         // Create a new query object.
         $db = JFactory::getDBO();
         $query = $db->getQuery(true);
         // Select some fields
         $query->select('a.*');
         // From the componentbuilder_component table
         $query->from($db->quoteName('#__componentbuilder_component', 'a'));
         $query->where('a.id IN (' . implode(',', $pks) . ')');
         // Implement View Level Access
         if (!$user->authorise('core.options', 'com_componentbuilder')) {
             $groups = implode(',', $user->getAuthorisedViewLevels());
             $query->where('a.access IN (' . $groups . ')');
         }
         // Order the results by ordering
         $query->order('a.ordering  ASC');
         // Load the items
         $db->setQuery($query);
         $db->execute();
         if ($db->getNumRows()) {
             $items = $db->loadObjectList();
             // Get the basic encription key.
             $basickey = ComponentbuilderHelper::getCryptKey('basic');
             // Get the encription object.
             $basic = new FOFEncryptAes($basickey, 128);
             // set values to display correctly.
             if (ComponentbuilderHelper::checkArray($items)) {
                 foreach ($items as $nr => &$item) {
                     // decode php_helper_site
                     $item->php_helper_site = base64_decode($item->php_helper_site);
                     // decode php_helper_admin
                     $item->php_helper_admin = base64_decode($item->php_helper_admin);
                     if ($basickey && !is_numeric($item->update_server_ftp) && $item->update_server_ftp === base64_encode(base64_decode($item->update_server_ftp, true))) {
                         // decrypt update_server_ftp
                         $item->update_server_ftp = $basic->decryptString($item->update_server_ftp);
                     }
                     // decode sql
                     $item->sql = base64_decode($item->sql);
                     // decode php_admin_event
                     $item->php_admin_event = base64_decode($item->php_admin_event);
                     // decode php_site_event
                     $item->php_site_event = base64_decode($item->php_site_event);
                     // decode php_dashboard_methods
                     $item->php_dashboard_methods = base64_decode($item->php_dashboard_methods);
                     if ($basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true))) {
                         // decrypt whmcs_key
                         $item->whmcs_key = $basic->decryptString($item->whmcs_key);
                     }
                     // decode css
                     $item->css = base64_decode($item->css);
                     // decode php_preflight_install
                     $item->php_preflight_install = base64_decode($item->php_preflight_install);
                     // decode php_preflight_update
                     $item->php_preflight_update = base64_decode($item->php_preflight_update);
                     // decode php_postflight_install
                     $item->php_postflight_install = base64_decode($item->php_postflight_install);
                     // decode php_postflight_update
                     $item->php_postflight_update = base64_decode($item->php_postflight_update);
                     // decode php_method_uninstall
                     $item->php_method_uninstall = base64_decode($item->php_method_uninstall);
                     // decode readme
                     $item->readme = base64_decode($item->readme);
                     if ($basickey && !is_numeric($item->sales_server_ftp) && $item->sales_server_ftp === base64_encode(base64_decode($item->sales_server_ftp, true))) {
                         // decrypt sales_server_ftp
                         $item->sales_server_ftp = $basic->decryptString($item->sales_server_ftp);
                     }
                     // unset the values we don't want exported.
                     unset($item->asset_id);
                     unset($item->checked_out);
                     unset($item->checked_out_time);
                 }
             }
             // Add headers to items array.
             $headers = $this->getExImPortHeaders();
             if (ComponentbuilderHelper::checkObject($headers)) {
                 array_unshift($items, $headers);
             }
             return $items;
         }
     }
     return false;
 }
Пример #5
0
 /**
  * Method to get list export data.
  *
  * @return mixed  An array of data items on success, false on failure.
  */
 public function getExportData($pks)
 {
     // setup the query
     if (ComponentbuilderHelper::checkArray($pks)) {
         // Set a value to know this is exporting method.
         $_export = true;
         // Get the user object.
         $user = JFactory::getUser();
         // Create a new query object.
         $db = JFactory::getDBO();
         $query = $db->getQuery(true);
         // Select some fields
         $query->select('a.*');
         // From the componentbuilder_template table
         $query->from($db->quoteName('#__componentbuilder_template', 'a'));
         $query->where('a.id IN (' . implode(',', $pks) . ')');
         // Implement View Level Access
         if (!$user->authorise('core.options', 'com_componentbuilder')) {
             $groups = implode(',', $user->getAuthorisedViewLevels());
             $query->where('a.access IN (' . $groups . ')');
         }
         // Order the results by ordering
         $query->order('a.ordering  ASC');
         // Load the items
         $db->setQuery($query);
         $db->execute();
         if ($db->getNumRows()) {
             $items = $db->loadObjectList();
             // set values to display correctly.
             if (ComponentbuilderHelper::checkArray($items)) {
                 // get user object.
                 $user = JFactory::getUser();
                 foreach ($items as $nr => &$item) {
                     $access = $user->authorise('template.access', 'com_componentbuilder.template.' . (int) $item->id) && $user->authorise('template.access', 'com_componentbuilder');
                     if (!$access) {
                         unset($items[$nr]);
                         continue;
                     }
                     // decode template
                     $item->template = base64_decode($item->template);
                     // decode php_view
                     $item->php_view = base64_decode($item->php_view);
                     // unset the values we don't want exported.
                     unset($item->asset_id);
                     unset($item->checked_out);
                     unset($item->checked_out_time);
                 }
             }
             // Add headers to items array.
             $headers = $this->getExImPortHeaders();
             if (ComponentbuilderHelper::checkObject($headers)) {
                 array_unshift($items, $headers);
             }
             return $items;
         }
     }
     return false;
 }
 /**
  * Set the Dynamic File & Folder
  *  
  * @return  boolean
  * 
  */
 private function setDynamique()
 {
     $back = false;
     $front = false;
     if (isset($this->joomlaVersionData->move->dynamic) && ComponentbuilderHelper::checkObject($this->joomlaVersionData->move->dynamic) && (isset($this->componentData->admin_views) && ComponentbuilderHelper::checkArray($this->componentData->admin_views))) {
         // setup dashboard
         $target = array('admin' => $this->componentData->name_code);
         $this->buildDynamique($target, 'dashboard');
         // now the rest of the views
         foreach ($this->componentData->admin_views as $nr => $view) {
             if (ComponentbuilderHelper::checkObject($view['settings'])) {
                 if ($view['settings']->name_list != 'null') {
                     $target = array('admin' => $view['settings']->name_list);
                     $this->buildDynamique($target, 'list');
                 }
                 if ($view['settings']->name_single != 'null') {
                     $target = array('admin' => $view['settings']->name_single);
                     $this->buildDynamique($target, 'single');
                 }
                 if ($view['edit_create_site_view']) {
                     // setup the front site edit-view files
                     $target = array('site' => $view['settings']->name_single);
                     $this->buildDynamique($target, 'edit');
                 }
             }
             // quick set of checkin once
             if ($view['checkin'] == 1 && !$this->addCheckin) {
                 // switch to add checking to config
                 $this->addCheckin = true;
             }
         }
         $back = true;
     }
     if (isset($this->joomlaVersionData->move->dynamic) && ComponentbuilderHelper::checkObject($this->joomlaVersionData->move->dynamic) && (isset($this->componentData->site_views) && ComponentbuilderHelper::checkArray($this->componentData->site_views))) {
         foreach ($this->componentData->site_views as $nr => $view) {
             if ($view['settings']->main_get->gettype == 2) {
                 // set list view
                 $target = array('site' => $view['settings']->code);
                 $this->buildDynamique($target, 'list');
             } elseif ($view['settings']->main_get->gettype == 1) {
                 // set single view
                 $target = array('site' => $view['settings']->code);
                 $this->buildDynamique($target, 'single');
             }
         }
         $front = true;
     }
     if (isset($this->joomlaVersionData->move->dynamic) && ComponentbuilderHelper::checkObject($this->joomlaVersionData->move->dynamic) && (isset($this->componentData->custom_admin_views) && ComponentbuilderHelper::checkArray($this->componentData->custom_admin_views))) {
         foreach ($this->componentData->custom_admin_views as $nr => $view) {
             if ($view['settings']->main_get->gettype == 2) {
                 // set list view
                 $target = array('custom_admin' => $view['settings']->code);
                 $this->buildDynamique($target, 'list');
             } elseif ($view['settings']->main_get->gettype == 1) {
                 // set single view
                 $target = array('custom_admin' => $view['settings']->code);
                 $this->buildDynamique($target, 'single');
             }
         }
         $back = true;
     }
     // chekc if we had success
     if ($back || $front) {
         return true;
     }
     return false;
 }
 /**
  * Method to get list export data.
  *
  * @return mixed  An array of data items on success, false on failure.
  */
 public function getExportData($pks)
 {
     // setup the query
     if (ComponentbuilderHelper::checkArray($pks)) {
         // Set a value to know this is exporting method.
         $_export = true;
         // Get the user object.
         $user = JFactory::getUser();
         // Create a new query object.
         $db = JFactory::getDBO();
         $query = $db->getQuery(true);
         // Select some fields
         $query->select('a.*');
         // From the componentbuilder_admin_view table
         $query->from($db->quoteName('#__componentbuilder_admin_view', 'a'));
         $query->where('a.id IN (' . implode(',', $pks) . ')');
         // Implement View Level Access
         if (!$user->authorise('core.options', 'com_componentbuilder')) {
             $groups = implode(',', $user->getAuthorisedViewLevels());
             $query->where('a.access IN (' . $groups . ')');
         }
         // Order the results by ordering
         $query->order('a.ordering  ASC');
         // Load the items
         $db->setQuery($query);
         $db->execute();
         if ($db->getNumRows()) {
             $items = $db->loadObjectList();
             // set values to display correctly.
             if (ComponentbuilderHelper::checkArray($items)) {
                 // get user object.
                 $user = JFactory::getUser();
                 foreach ($items as $nr => &$item) {
                     $access = $user->authorise('admin_view.access', 'com_componentbuilder.admin_view.' . (int) $item->id) && $user->authorise('admin_view.access', 'com_componentbuilder');
                     if (!$access) {
                         unset($items[$nr]);
                         continue;
                     }
                     // decode php_after_delete
                     $item->php_after_delete = base64_decode($item->php_after_delete);
                     // decode php_save
                     $item->php_save = base64_decode($item->php_save);
                     // decode php_batchmove
                     $item->php_batchmove = base64_decode($item->php_batchmove);
                     // decode php_getitems_after_all
                     $item->php_getitems_after_all = base64_decode($item->php_getitems_after_all);
                     // decode php_allowedit
                     $item->php_allowedit = base64_decode($item->php_allowedit);
                     // decode php_after_publish
                     $item->php_after_publish = base64_decode($item->php_after_publish);
                     // decode php_import_setdata
                     $item->php_import_setdata = base64_decode($item->php_import_setdata);
                     // decode php_getitems
                     $item->php_getitems = base64_decode($item->php_getitems);
                     // decode php_getlistquery
                     $item->php_getlistquery = base64_decode($item->php_getlistquery);
                     // decode php_postsavehook
                     $item->php_postsavehook = base64_decode($item->php_postsavehook);
                     // decode php_batchcopy
                     $item->php_batchcopy = base64_decode($item->php_batchcopy);
                     // decode php_before_publish
                     $item->php_before_publish = base64_decode($item->php_before_publish);
                     // decode php_before_delete
                     $item->php_before_delete = base64_decode($item->php_before_delete);
                     // decode php_document
                     $item->php_document = base64_decode($item->php_document);
                     // decode sql
                     $item->sql = base64_decode($item->sql);
                     // decode php_import_display
                     $item->php_import_display = base64_decode($item->php_import_display);
                     // decode php_import
                     $item->php_import = base64_decode($item->php_import);
                     // decode css_view
                     $item->css_view = base64_decode($item->css_view);
                     // decode css_views
                     $item->css_views = base64_decode($item->css_views);
                     // decode javascript_view_file
                     $item->javascript_view_file = base64_decode($item->javascript_view_file);
                     // decode javascript_view_footer
                     $item->javascript_view_footer = base64_decode($item->javascript_view_footer);
                     // decode javascript_views_file
                     $item->javascript_views_file = base64_decode($item->javascript_views_file);
                     // decode javascript_views_footer
                     $item->javascript_views_footer = base64_decode($item->javascript_views_footer);
                     // decode php_controller
                     $item->php_controller = base64_decode($item->php_controller);
                     // decode php_model
                     $item->php_model = base64_decode($item->php_model);
                     // decode php_ajaxmethod
                     $item->php_ajaxmethod = base64_decode($item->php_ajaxmethod);
                     // decode html_import_view
                     $item->html_import_view = base64_decode($item->html_import_view);
                     // decode php_import_save
                     $item->php_import_save = base64_decode($item->php_import_save);
                     // decode php_getitem
                     $item->php_getitem = base64_decode($item->php_getitem);
                     // unset the values we don't want exported.
                     unset($item->asset_id);
                     unset($item->checked_out);
                     unset($item->checked_out_time);
                 }
             }
             // Add headers to items array.
             $headers = $this->getExImPortHeaders();
             if (ComponentbuilderHelper::checkObject($headers)) {
                 array_unshift($items, $headers);
             }
             return $items;
         }
     }
     return false;
 }