protected function checkEditView($view)
 {
     if (ComponentbuilderHelper::checkString($view)) {
         $views = array();
         // check if this is a edit view
         if (in_array($view, $views)) {
             return true;
         }
     }
     return false;
 }
Exemplo n.º 2
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     $canDo = ComponentbuilderHelper::getActions('componentbuilder');
     JToolBarHelper::title(JText::_('COM_COMPONENTBUILDER_DASHBOARD'), 'grid-2');
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('componentbuilder');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
     if ($canDo->get('core.admin') || $canDo->get('core.options')) {
         JToolBarHelper::preferences('com_componentbuilder');
     }
 }
 protected function getViewRelation($view)
 {
     if (ComponentbuilderHelper::checkString($view)) {
         $views = array('component' => 'components', 'admin_view' => 'admin_views', 'custom_admin_view' => 'custom_admin_views', 'site_view' => 'site_views', 'template' => 'templates', 'layout' => 'layouts', 'dynamic_get' => 'dynamic_gets', 'snippet' => 'snippets', 'field' => 'fields', 'fieldtype' => 'fieldtypes', 'help_document' => 'help_documents');
         // check if this is a list view
         if (in_array($view, $views)) {
             return array('edit' => false, 'view' => array_search($view, $views), 'views' => $view);
         } elseif (array_key_exists($view, $views)) {
             return array('edit' => true, 'view' => $view, 'views' => $views[$view]);
         }
     }
     return false;
 }
Exemplo n.º 4
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     $canDo = ComponentbuilderHelper::getActions('compiler');
     JToolBarHelper::title(JText::_('Compiler'), 'cogs');
     if ($canDo->get('core.admin') || $canDo->get('core.options')) {
         JToolBarHelper::custom('compiler.clearTmp', 'purge', '', 'Clear tmp', false);
         JToolBarHelper::divider();
         JToolBarHelper::preferences('com_componentbuilder');
     }
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('compiler');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
 }
Exemplo n.º 5
0
 public function setCustomFieldTypeFile($data, $viewName_list, $viewName_single)
 {
     // make sure it is not already been build
     if (!isset($this->fileContentDynamic['customfield_' . $data['type']]) || !ComponentbuilderHelper::checkArray($this->fileContentDynamic['customfield_' . $data['type']])) {
         // first build the custom field type file
         $target = array('admin' => 'customfield');
         $this->buildDynamique($target, 'field' . $data['custom']['extends'], $data['custom']['type']);
         // set tab and break replacements
         $tabBreak = array('\\t' => "\t", '\\n' => "\n");
         // make field dynamic
         $replace = array('###TABLE###' => $data['custom']['table'], '###ID###' => $data['custom']['id'], '###TEXT###' => $data['custom']['text'], '###CODE_TEXT###' => $data['code'] . '_' . $data['custom']['text'], '###CODE###' => $data['code'], '###component###' => $this->fileContentStatic['###component###'], '###Component###' => $this->fileContentStatic['###Component###'], '###view_type###' => $viewName_single . '_' . $data['type'], '###type###' => $data['type'], '###view###' => $viewName_single, '###views###' => $viewName_list);
         // now load the php script
         if (isset($data['custom']['php']) && ComponentbuilderHelper::checkArray($data['custom']['php'])) {
             // make sure the ar is reset
             $phpCode = '';
             foreach ($data['custom']['php'] as $line => $code) {
                 if (ComponentbuilderHelper::checkString($code)) {
                     if ($line == 1) {
                         $phpCode .= str_replace(array_keys($tabBreak), array_values($tabBreak), $code);
                     } else {
                         $phpCode .= "\n\t\t" . str_replace(array_keys($tabBreak), array_values($tabBreak), $code);
                     }
                 }
             }
             // replace the placholders
             $phpCode = str_replace(array_keys($replace), array_values($replace), $phpCode);
         } else {
             $phpCode = 'return null;';
         }
         if (!ComponentbuilderHelper::checkString($phpCode)) {
             $phpCode = 'return null;';
         }
         if ($data['custom']['extends'] == 'user') {
             // now load the php xclude script
             if (ComponentbuilderHelper::checkArray($data['custom']['phpx'])) {
                 // make sure the ar is reset
                 $phpxCode = '';
                 foreach ($data['custom']['phpx'] as $line => $code) {
                     if (ComponentbuilderHelper::checkString($code)) {
                         if ($line == 1) {
                             $phpxCode .= str_replace(array_keys($tabBreak), array_values($tabBreak), $code);
                         } else {
                             $phpxCode .= "\n\t\t" . str_replace(array_keys($tabBreak), array_values($tabBreak), $code);
                         }
                     }
                 }
                 // replace the placholders
                 $phpxCode = str_replace(array_keys($replace), array_values($replace), $phpxCode);
             } else {
                 $phpxCode = 'return null;';
             }
             if (!ComponentbuilderHelper::checkString($phpxCode)) {
                 $phpxCode = 'return null;';
             }
             // temp holder for name
             $tempName = $data['custom']['label'] . ' Group';
             // set lang
             $groupLangName = $this->langPrefix . '_' . ComponentbuilderHelper::safeString($tempName, 'U');
             // add to lang array
             $this->langContent[$this->lang][$groupLangName] = ComponentbuilderHelper::safeString($tempName, 'W');
             // build the Group Control
             $this->setGroupControl[$data['type']] = $groupLangName;
             // ###JFORM_GETGROUPS_PHP### <<<DYNAMIC>>>
             $this->fileContentDynamic['customfield_' . $data['type']]['###JFORM_GETGROUPS_PHP###'] = $phpCode;
             // ###JFORM_GETEXCLUDED_PHP### <<<DYNAMIC>>>
             $this->fileContentDynamic['customfield_' . $data['type']]['###JFORM_GETEXCLUDED_PHP###'] = $phpxCode;
         } else {
             // ###JFORM_GETOPTIONS_PHP### <<<DYNAMIC>>>
             $this->fileContentDynamic['customfield_' . $data['type']]['###JFORM_GETOPTIONS_PHP###'] = $phpCode;
         }
         // ###Type### <<<DYNAMIC>>>
         $this->fileContentDynamic['customfield_' . $data['type']]['###Type###'] = ComponentbuilderHelper::safeString($data['custom']['type'], 'F');
         // ###type### <<<DYNAMIC>>>
         $this->fileContentDynamic['customfield_' . $data['type']]['###type###'] = $data['custom']['type'];
         // ###type### <<<DYNAMIC>>>
         $this->fileContentDynamic['customfield_' . $data['type']]['###ADD_BUTTON###'] = $this->setAddButttonToListField($data['custom']['view'], $data['custom']['views']);
     }
 }
 /**
  * Method to convert selection values to translatable string.
  *
  * @return translatable string
  */
 public function selectionTranslation($value, $name)
 {
     // Array of main_source language strings
     if ($name == 'main_source') {
         $main_sourceArray = array(0 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_PLEASE_SELECT', 1 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_BACKEND_VIEW', 2 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_JOOMLA_DATABASE', 3 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_CUSTOM');
         // Now check if value is found in this array
         if (isset($main_sourceArray[$value]) && ComponentbuilderHelper::checkString($main_sourceArray[$value])) {
             return $main_sourceArray[$value];
         }
     }
     // Array of gettype language strings
     if ($name == 'gettype') {
         $gettypeArray = array(1 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_GETITEM', 2 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_GETLISTQUERY', 3 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_GETCUSTOM', 4 => 'COM_COMPONENTBUILDER_DYNAMIC_GET_GETCUSTOMS');
         // Now check if value is found in this array
         if (isset($gettypeArray[$value]) && ComponentbuilderHelper::checkString($gettypeArray[$value])) {
             return $gettypeArray[$value];
         }
     }
     return $value;
 }
Exemplo n.º 7
0
 protected function getFieldData($id)
 {
     // Get a db connection.
     $db = JFactory::getDbo();
     // Create a new query object.
     $query = $db->getQuery(true);
     // Order it by the ordering field.
     $query->select($db->quoteName(array('a.name', 'a.xml')));
     $query->select($db->quoteName(array('c.name'), array('type_name')));
     $query->from('#__componentbuilder_field AS a');
     $query->join('LEFT', $db->quoteName('#__componentbuilder_fieldtype', 'c') . ' ON (' . $db->quoteName('a.fieldtype') . ' = ' . $db->quoteName('c.id') . ')');
     $query->where($db->quoteName('a.id') . ' = ' . $db->quote($id));
     // Reset the query using our newly populated query object.
     $db->setQuery($query);
     $db->execute();
     if ($db->getNumRows()) {
         // Load the results as a list of stdClass objects (see later for more options on retrieving data).
         $field = $db->loadObject();
         // load the values form params
         $field->xml = json_decode($field->xml);
         $field->type_name = ComponentbuilderHelper::safeString($field->type_name);
         $load = true;
         // if category then name must be catid (only one per view)
         if ($field->type_name == 'category') {
             $name = 'catid';
         } elseif ($field->type_name == 'tag') {
             $name = 'tags';
         } elseif ($field->type_name == 'spacer' || $field->type_name == 'note') {
             // make sure the name is unique
             return false;
         } else {
             $name = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($field->xml, 'name="', '"'));
         }
         // use field core name only if not found in xml
         if (!ComponentbuilderHelper::checkString($name)) {
             $name = ComponentbuilderHelper::safeString($field->name);
         }
         return array('name' => $name, 'type' => $field->type_name);
     }
     return false;
 }
 /**
  * Method to convert selection values to translatable string.
  *
  * @return translatable string
  */
 public function selectionTranslation($value, $name)
 {
     // Array of type language strings
     if ($name == 'type') {
         $typeArray = array(0 => 'COM_COMPONENTBUILDER_HELP_DOCUMENT_SELECT_AN_OPTION', 1 => 'COM_COMPONENTBUILDER_HELP_DOCUMENT_JOOMLA_ARTICLE', 2 => 'COM_COMPONENTBUILDER_HELP_DOCUMENT_TEXT', 3 => 'COM_COMPONENTBUILDER_HELP_DOCUMENT_URL');
         // Now check if value is found in this array
         if (isset($typeArray[$value]) && ComponentbuilderHelper::checkString($typeArray[$value])) {
             return $typeArray[$value];
         }
     }
     // Array of location language strings
     if ($name == 'location') {
         $locationArray = array(1 => 'COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN', 2 => 'COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE');
         // Now check if value is found in this array
         if (isset($locationArray[$value]) && ComponentbuilderHelper::checkString($locationArray[$value])) {
             return $locationArray[$value];
         }
     }
     return $value;
 }
 /**
  * Build the content for the structure
  * 
  *
  * @return  boolean  on success
  * 
  */
 protected function buildFileContent()
 {
     if (isset($this->componentData->admin_views) && ComponentbuilderHelper::checkArray($this->componentData->admin_views)) {
         // ###COMPONENT###
         $this->fileContentStatic['###COMPONENT###'] = ComponentbuilderHelper::safeString($this->componentData->name_code, 'U');
         // ###Component###
         $this->fileContentStatic['###Component###'] = ComponentbuilderHelper::safeString($this->componentData->name_code, 'F');
         // ###component###
         $this->fileContentStatic['###component###'] = ComponentbuilderHelper::safeString($this->componentData->name_code);
         // ###COMPANYNAME###
         $this->fileContentStatic['###COMPANYNAME###'] = trim(JFilterOutput::cleanText($this->componentData->companyname));
         // ###CREATIONDATE###
         $this->fileContentStatic['###CREATIONDATE###'] = JFactory::getDate($this->componentData->created)->format('jS F, Y');
         // ###BUILDDATE###
         $this->fileContentStatic['###BUILDDATE###'] = JFactory::getDate()->format('jS F, Y');
         // ###AUTHOR###
         $this->fileContentStatic['###AUTHOR###'] = trim(JFilterOutput::cleanText($this->componentData->author));
         // ###AUTHOREMAIL###
         $this->fileContentStatic['###AUTHOREMAIL###'] = trim($this->componentData->email);
         // ###AUTHORWEBSITE###
         $this->fileContentStatic['###AUTHORWEBSITE###'] = trim($this->componentData->website);
         // ###COPYRIGHT###
         $this->fileContentStatic['###COPYRIGHT###'] = trim($this->componentData->copyright);
         // ###LICENSE###
         $this->fileContentStatic['###LICENSE###'] = trim($this->componentData->license);
         // ###VERSION###
         $this->fileContentStatic['###VERSION###'] = trim($this->componentData->component_version);
         // ###Component_name###
         $this->fileContentStatic['###Component_name###'] = JFilterOutput::cleanText($this->componentData->name);
         // ###SHORT_DISCRIPTION###
         $this->fileContentStatic['###SHORT_DESCRIPTION###'] = trim(JFilterOutput::cleanText($this->componentData->short_description));
         // ###DESCRIPTION###
         $this->fileContentStatic['###DESCRIPTION###'] = trim($this->componentData->description);
         // ###COMP_IMAGE_TYPE###
         $this->fileContentStatic['###COMP_IMAGE_TYPE###'] = $this->setComponentImageType($this->componentData->image);
         // ###ACCESS_SECTIONS###
         $this->fileContentStatic['###ACCESS_SECTIONS###'] = $this->setAccessSections();
         // set component place holders
         $this->placeholders = array('###Component###' => $this->fileContentStatic['###Component###'], '###component###' => $this->fileContentStatic['###component###'], '###COMPONENT###' => $this->fileContentStatic['###COMPONENT###'], '[[[Component]]]' => $this->fileContentStatic['###Component###'], '[[[component]]]' => $this->fileContentStatic['###component###'], '[[[COMPONENT]]]' => $this->fileContentStatic['###COMPONENT###']);
         // ###CONFIG_FIELDSETS###
         $keepLang = $this->lang;
         $this->lang = 'admin';
         // run the field sets for first time
         $this->setConfigFieldsets(1);
         $this->lang = $keepLang;
         // ###ADMINCSS###
         $this->fileContentStatic['###ADMINCSS###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['component_css']);
         // ###SITECSS###
         $this->fileContentStatic['###SITECSS###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['component_css']);
         // ###CUSTOM_HELPER_SCRIPT###
         $this->fileContentStatic['###CUSTOM_HELPER_SCRIPT###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['component_php_helper_admin']);
         // ###ADMIN_GLOBAL_EVENT_HELPER###
         $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] = '';
         // ###ADMIN_GLOBAL_EVENT###
         $this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] = '';
         // set incase no extra admin files are loaded
         $this->fileContentStatic['###EXSTRA_ADMIN_FILES###'] = '';
         // now load the data for the global event if needed
         if ($this->componentData->add_admin_event == 1) {
             // ###ADMIN_GLOBAL_EVENT###
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] = "\n\n" . '// Triger the Global Admin Event';
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT###'] .= "\n" . $this->fileContentStatic['###Component###'] . 'Helper::globalEvent($document);';
             // ###ADMIN_GLOBAL_EVENT_HELPER###
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] = "\n\n\t" . '/**';
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '*	The Global Admin Event Method.';
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '**/';
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= "\n\t" . 'public static function globalEvent($document)';
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '{';
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['component_php_admin_event']);
             $this->fileContentStatic['###ADMIN_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '}';
         }
         // now load the readme file if needed
         if ($this->componentData->addreadme == 1) {
             $this->fileContentStatic['###EXSTRA_ADMIN_FILES###'] .= "\n\t\t\t<filename>README.txt</filename>";
         }
         // ###HELPER_CREATEUSER###
         $this->fileContentStatic['###HELPER_CREATEUSER###'] = $this->setCreateUserHelperMethod($this->componentData->creatuserhelper);
         // ###HELP###
         $this->fileContentStatic['###HELP###'] = $this->noHelp();
         // ###HELP_SITE###
         $this->fileContentStatic['###HELP_SITE###'] = $this->noHelp();
         // ###UPDATE_VERSION_MYSQL###
         $this->setVersionController();
         // build route parse switch
         $this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] = '';
         // build route views
         $this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] = '';
         // add the helper emailer if set
         $this->fileContentStatic['###HELPER_EMAIL###'] = $this->addEmailHelper();
         // reset view array
         $viewarray = array();
         $site_edit_view_array = array();
         // start dynamic build
         foreach ($this->componentData->admin_views as $view) {
             $this->target = 'admin';
             $this->lang = 'admin';
             // set main keys
             $viewName_single = ComponentbuilderHelper::safeString($view['settings']->name_single);
             $viewName_list = ComponentbuilderHelper::safeString($view['settings']->name_list);
             // set site edit view array
             if ($view['edit_create_site_view']) {
                 $site_edit_view_array[] = "\t\t\t\t'" . $viewName_single . "'";
                 $this->lang = 'both';
             }
             // check if help is being loaded
             $this->checkHelp($viewName_single);
             // set custom admin view list links
             $this->setCustomAdminViewListLink($view, $viewName_list);
             // set view array
             $viewarray[] = "\t\t\t\t'" . $viewName_single . "' => '" . $viewName_list . "'";
             // set the view names
             if ($view['settings']->name_single != 'null') {
                 // ###VIEW### <<<DYNAMIC>>>
                 $viewName_u = ComponentbuilderHelper::safeString($view['settings']->name_single, 'U');
                 $this->fileContentDynamic[$viewName_single]['###VIEW###'] = $viewName_u;
                 $this->fileContentDynamic[$viewName_list]['###VIEW###'] = $viewName_u;
                 // ###View### <<<DYNAMIC>>>
                 $viewName_f = ComponentbuilderHelper::safeString($view['settings']->name_single, 'F');
                 $this->fileContentDynamic[$viewName_single]['###View###'] = $viewName_f;
                 $this->fileContentDynamic[$viewName_list]['###View###'] = $viewName_f;
                 // ###view### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###view###'] = $viewName_single;
                 $this->fileContentDynamic[$viewName_list]['###view###'] = $viewName_single;
                 // set some place holder for the views
                 $this->placeholders['###view###'] = $viewName_single;
                 $this->placeholders['###VIEW###'] = $viewName_u;
                 $this->placeholders['###View###'] = $viewName_f;
                 // set license per view if needed
                 $this->setLockLicensePer($viewName_single);
                 $this->setLockLicensePer($viewName_list);
                 // ###FIELDSETS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###FIELDSETS###'] = $this->setFieldSet($view, $this->fileContentStatic['###component###']);
                 // ###ACCESSCONTROL### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###ACCESSCONTROL###'] = $this->setFieldSetAccessControl($viewName_single);
                 // ###LINKEDVIEWITEMS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###LINKEDVIEWITEMS###'] = '';
                 // ###ADDTOOLBAR### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###ADDTOOLBAR###'] = $this->setAddToolBar($view);
                 // set the script for this view
                 $this->buildTheViewScript($view);
                 // ###VIEW_SCRIPT###
                 $this->fileContentDynamic[$viewName_single]['###VIEW_SCRIPT###'] = $this->setViewScript($viewName_single);
                 // ###EDITBODYSCRIPT###
                 $this->fileContentDynamic[$viewName_single]['###EDITBODYSCRIPT###'] = $this->setEditBodyScript($viewName_single);
                 // ###AJAXTOKE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###AJAXTOKE###'] = $this->setAjaxToke($viewName_single);
                 if (isset($this->customScriptBuilder['php_document'][$viewName_single]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['php_document'][$viewName_single])) {
                     // ###DOCUMENT_CUSTOM_PHP### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_single]['###DOCUMENT_CUSTOM_PHP###'] = "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['php_document'][$viewName_single]);
                     // clear some memory
                     unset($this->customScriptBuilder['php_document'][$viewName_single]);
                 } else {
                     $this->fileContentDynamic[$viewName_single]['###DOCUMENT_CUSTOM_PHP###'] = '';
                 }
                 // ###LINKEDVIEWTABLESCRIPTS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###LINKEDVIEWTABLESCRIPTS###'] = '';
                 // ###VALIDATEFIX### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###VALIDATIONFIX###'] = $this->setValidationFix($viewName_single, $this->fileContentStatic['###Component###']);
                 // ###EDITBODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###EDITBODY###'] = $this->setEditBody($view);
                 // ###EDITBODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###EDITBODYFADEIN###'] = $this->setFadeInEfect($view);
                 // ###JTABLECONSTRUCTOR### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###JTABLECONSTRUCTOR###'] = $this->setJtableConstructor($viewName_single);
                 // ###JTABLEALIASCATEGORY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###JTABLEALIASCATEGORY###'] = $this->setJtableAliasCategory($viewName_single);
                 // ###METHOD_GET_ITEM### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###METHOD_GET_ITEM###'] = $this->setMethodGetItem($viewName_single);
                 // ###LINKEDVIEWGLOBAL### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###LINKEDVIEWGLOBAL###'] = '';
                 // ###LINKEDVIEWMETHODS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###LINKEDVIEWMETHODS###'] = '';
                 // ###JMODELADMIN_BEFORE_DELETE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_DELETE###'] = $this->getCustomScriptBuilder('php_before_delete', $viewName_single, "\n");
                 // ###JMODELADMIN_AFTER_DELETE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_DELETE###'] = $this->getCustomScriptBuilder('php_after_delete', $viewName_single, "\n\n");
                 // ###JMODELADMIN_BEFORE_DELETE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_BEFORE_PUBLISH###'] = $this->getCustomScriptBuilder('php_before_publish', $viewName_single, "\n");
                 // ###JMODELADMIN_AFTER_DELETE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_AFTER_PUBLISH###'] = $this->getCustomScriptBuilder('php_after_publish', $viewName_single, "\n\n");
                 // ###CHECKBOX_SAVE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###CHECKBOX_SAVE###'] = $this->setCheckboxSave($viewName_single);
                 // ###METHOD_ITEM_SAVE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###METHOD_ITEM_SAVE###'] = $this->setMethodItemSave($viewName_single);
                 // ###POSTSAVEHOOK### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_single]['###POSTSAVEHOOK###'] = $this->getCustomScriptBuilder('php_postsavehook', $viewName_single, "\n", null, true, "\n\t\treturn;", "\n\n\t\treturn;");
                 if (isset($this->customScriptBuilder['css_view'][$viewName_single]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['css_view'][$viewName_single])) {
                     // ###VIEWCSS### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['css_view'][$viewName_single]);
                     // clear some memory
                     unset($this->customScriptBuilder['css_view'][$viewName_single]);
                 } else {
                     // ###VIEWCSS### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'] = '';
                 }
                 // add css to front end
                 if ($view['edit_create_site_view']) {
                     $this->fileContentDynamic[$viewName_single]['###SITE_VIEWCSS###'] = $this->fileContentDynamic[$viewName_single]['###VIEWCSS###'];
                 }
             }
             // set the views names
             if ($view['settings']->name_list != 'null') {
                 $this->lang = 'admin';
                 // ###VIEWS### <<<DYNAMIC>>>
                 $viewsName_u = ComponentbuilderHelper::safeString($view['settings']->name_list, 'U');
                 $this->fileContentDynamic[$viewName_list]['###VIEWS###'] = $viewsName_u;
                 $this->fileContentDynamic[$viewName_single]['###VIEWS###'] = $viewsName_u;
                 // ###Views### <<<DYNAMIC>>>
                 $viewsName_f = ComponentbuilderHelper::safeString($view['settings']->name_list, 'F');
                 $this->fileContentDynamic[$viewName_list]['###Views###'] = $viewsName_f;
                 $this->fileContentDynamic[$viewName_single]['###Views###'] = $viewsName_f;
                 // ###views### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###views###'] = $viewName_list;
                 $this->fileContentDynamic[$viewName_single]['###views###'] = $viewName_list;
                 // ###ICOMOON### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###ICOMOON###'] = $view['icomoon'];
                 // set some place holder for the views
                 $this->placeholders['###views###'] = $viewName_list;
                 $this->placeholders['###VIEWS###'] = $viewsName_u;
                 $this->placeholders['###Views###'] = $viewsName_f;
                 // set the export/import option
                 if ($view['port']) {
                     $this->eximportView[$viewName_list] = true;
                     if (1 == $view['settings']->add_custom_import) {
                         // this view has custom import scripting
                         $this->importCustomScripts[$viewName_list] = true;
                         $this->setImportCustomScripts($viewName_list);
                     }
                 } else {
                     $this->eximportView[$viewName_list] = false;
                 }
                 // set Autocheckin function
                 if ($view['checkin'] == 1) {
                     // ###AUTOCHECKIN### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###'] = $this->setAutoCheckin($viewName_single, $this->fileContentStatic['###component###']);
                     // ###CHECKINCALL### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_list]['###CHECKINCALL###'] = $this->setCheckinCall();
                 } else {
                     // ###AUTOCHECKIN### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###'] = '';
                     // ###CHECKINCALL### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_list]['###CHECKINCALL###'] = '';
                 }
                 // ###GET_ITEMS_METHOD_STRING_FIX### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_STRING_FIX###'] = $this->setGetItemsMethodStringFix($viewName_single, $this->fileContentStatic['###Component###']);
                 // ###GET_ITEMS_METHOD_AFTER_ALL### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###GET_ITEMS_METHOD_AFTER_ALL###'] = $this->getCustomScriptBuilder('php_getitems_after_all', $viewName_single, "\n");
                 // ###SELECTIONTRANSLATIONFIX### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIX###'] = $this->setSelectionTranslationFix($viewName_list, $this->fileContentStatic['###Component###']);
                 // ###SELECTIONTRANSLATIONFIXFUNC### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###SELECTIONTRANSLATIONFIXFUNC###'] = $this->setSelectionTranslationFixFunc($viewName_list, $this->fileContentStatic['###Component###']);
                 // ###FILTER_FIELDS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###FILTER_FIELDS###'] = $this->setFilterFields($viewName_list);
                 // ###STOREDID### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###STOREDID###'] = $this->setStoredId($viewName_list);
                 // ###POPULATESTATE### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###POPULATESTATE###'] = $this->setPopulateState($viewName_list);
                 // ###SORTFIELDS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###SORTFIELDS###'] = $this->setSortFields($viewName_list);
                 // ###CATEGORYFILTER### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###CATEGORYFILTER###'] = $this->setCategoryFilter($viewName_list);
                 // ###CATEGORY_VIEWS###
                 if (!isset($this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'])) {
                     $this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'] = '';
                 }
                 $this->fileContentStatic['###ROUTER_CATEGORY_VIEWS###'] .= $this->setRouterCategoryViews($viewName_single, $viewName_list);
                 // ###OTHERFILTERS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###OTHERFILTERS###'] = $this->setOtherFilter($viewName_list);
                 // ###FILTERFUNCTIONS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###FILTERFUNCTIONS###'] = $this->setFilterFunctions($viewName_single, $viewName_list);
                 // ###LISTQUERY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###LISTQUERY###'] = $this->setListQuery($viewName_single, $viewName_list);
                 // ###MODELEXPORTMETHOD### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###MODELEXPORTMETHOD###'] = $this->setModelExportMethod($viewName_single, $viewName_list);
                 // ###MODELEXIMPORTMETHOD### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###CONTROLLEREXIMPORTMETHOD###'] = $this->setControllerEximportMethod($viewName_single, $viewName_list);
                 // ###EXPORTBUTTON### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###EXPORTBUTTON###'] = $this->setExportButton($viewName_single, $viewName_list);
                 // ###IMPORTBUTTON### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###IMPORTBUTTON###'] = $this->setImportButton($viewName_single, $viewName_list);
                 // ###LISTHEAD### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###LISTHEAD###'] = $this->setListHead($viewName_single, $viewName_list);
                 // ###LISTBODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###LISTBODY###'] = $this->setListBody($viewName_single, $viewName_list);
                 // ###LISTCOLNR### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###LISTCOLNR###'] = $this->setListColnr($viewName_list);
                 // ###JVIEWLISTCANDO### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$viewName_list]['###JVIEWLISTCANDO###'] = $this->setJviewListCanDo($viewName_single, $viewName_list);
                 if (isset($this->customScriptBuilder['css_views'][$viewName_list]) && ComponentbuilderHelper::checkString($this->customScriptBuilder['css_views'][$viewName_list])) {
                     // ###VIEWCSS### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_list]['###VIEWSCSS###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['css_views'][$viewName_list]);
                     // clear some memory
                     unset($this->customScriptBuilder['css_views'][$viewName_list]);
                 } else {
                     // ###VIEWCSS### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$viewName_list]['###VIEWSCSS###'] = '';
                 }
             }
             // set u fields used in batch
             $this->fileContentDynamic[$viewName_single]['###UNIQUEFIELDS###'] = $this->setUniqueFields($viewName_single);
             // ###TITLEALIASFIX### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###TITLEALIASFIX###'] = $this->setAliasTitleFix($viewName_single);
             // ###GENERATENEWTITLE### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###GENERATENEWTITLE###'] = $this->setGenerateNewTitle($viewName_single);
             // ###MODEL_BATCH_COPY### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###MODEL_BATCH_COPY###'] = $this->setBatchCopy($viewName_single);
             // ###MODEL_BATCH_MOVE### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###MODEL_BATCH_MOVE###'] = $this->setBatchMove($viewName_single);
             // ###BATCH_ONCLICK_CANCEL_SCRIPT### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_list]['###BATCH_ONCLICK_CANCEL_SCRIPT###'] = '';
             // TODO <-- must still be build
             // ###JCONTROLLERFORM_ALLOWADD### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWADD###'] = $this->setJcontrollerAllowAdd($viewName_single, $viewName_list);
             // ###JCONTROLLERFORM_ALLOWEDIT### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###JCONTROLLERFORM_ALLOWEDIT###'] = $this->setJcontrollerAllowEdit($viewName_single, $viewName_list);
             // ###JMODELADMIN_GETFORM### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_GETFORM###'] = $this->setJmodelAdminGetForm($viewName_single, $viewName_list);
             // ###JMODELADMIN_ALLOWEDIT### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_ALLOWEDIT###'] = $this->setJmodelAdminAllowEdit($viewName_single, $viewName_list);
             // ###JMODELADMIN_CANDELETE### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANDELETE###'] = $this->setJmodelAdminCanDelete($viewName_single, $viewName_list);
             // ###JMODELADMIN_CANEDITSTATE### <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_single]['###JMODELADMIN_CANEDITSTATE###'] = $this->setJmodelAdminCanEditState($viewName_single, $viewName_list);
             // set custom admin view Toolbare buttons
             // ###CUSTOM_ADMIN_DYNAMIC_BUTTONS###  <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS###'] = $this->setCustomAdminDynamicButton($viewName_list);
             // ###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER###  <<<DYNAMIC>>>
             $this->fileContentDynamic[$viewName_list]['###CUSTOM_ADMIN_DYNAMIC_BUTTONS_CONTROLLER###'] = $this->setCustomAdminDynamicButtonController($viewName_list);
             // set helper router
             if (!isset($this->fileContentStatic['###ROUTEHELPER###'])) {
                 $this->fileContentStatic['###ROUTEHELPER###'] = '';
             }
             $this->fileContentStatic['###ROUTEHELPER###'] .= $this->setRouterHelp($viewName_single, $viewName_list);
             if ($view['edit_create_site_view']) {
                 // add needed router stuff for front edit views
                 $this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] .= $this->routerParseSwitch($viewName_single);
                 $this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] .= $this->routerBuildViews($viewName_single);
             }
             // ###ACCESS_SECTIONS###
             if (!isset($this->fileContentStatic['###ACCESS_SECTIONS###'])) {
                 $this->fileContentStatic['###ACCESS_SECTIONS###'] = '';
             }
             $this->fileContentStatic['###ACCESS_SECTIONS###'] .= $this->setAccessSectionsCategory($viewName_single, $viewName_list);
             // ###HELPER_EXEL###
             $this->fileContentStatic['###HELPER_EXEL###'] = $this->setExelHelperMethods();
         }
         // setup custom_admin_views and all needed stuff for the site
         if (isset($this->componentData->custom_admin_views) && ComponentbuilderHelper::checkArray($this->componentData->custom_admin_views)) {
             $this->target = 'custom_admin';
             $this->lang = 'admin';
             // var_dump($this->componentData->custom_admin_views);exit;
             // start dynamic build
             foreach ($this->componentData->custom_admin_views as $view) {
                 // for single views
                 $this->fileContentDynamic[$view['settings']->code]['###SView###'] = $view['settings']->Code;
                 $this->fileContentDynamic[$view['settings']->code]['###sview###'] = $view['settings']->code;
                 $this->fileContentDynamic[$view['settings']->code]['###SVIEW###'] = $view['settings']->CODE;
                 // for list views
                 $this->fileContentDynamic[$view['settings']->code]['###SViews###'] = $view['settings']->Code;
                 $this->fileContentDynamic[$view['settings']->code]['###sviews###'] = $view['settings']->code;
                 $this->fileContentDynamic[$view['settings']->code]['###SVIEWS###'] = $view['settings']->CODE;
                 // add to lang array
                 if (!isset($this->langContent[$this->lang][$this->langPrefix . '_' . $view['settings']->CODE])) {
                     $this->langContent[$this->lang][$this->langPrefix . '_' . $view['settings']->CODE] = $view['settings']->name;
                 }
                 if (!isset($this->langContent[$this->lang][$this->langPrefix . '_' . $view['settings']->CODE . '_DESC'])) {
                     $this->langContent[$this->lang][$this->langPrefix . '_' . $view['settings']->CODE . '_DESC'] = $view['settings']->description;
                 }
                 // ###ICOMOON### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###ICOMOON###'] = $view['icomoon'];
                 // set placeholders
                 $this->placeholders['###SView###'] = $view['settings']->Code;
                 $this->placeholders['###sview###'] = $view['settings']->code;
                 $this->placeholders['###SVIEW###'] = $view['settings']->CODE;
                 $this->placeholders['[[[SView]]]'] = $view['settings']->Code;
                 $this->placeholders['[[[sview]]]'] = $view['settings']->code;
                 $this->placeholders['[[[SVIEW]]]'] = $view['settings']->CODE;
                 $this->placeholders['###SViews###'] = $view['settings']->Code;
                 $this->placeholders['###sviews###'] = $view['settings']->code;
                 $this->placeholders['###SVIEWS###'] = $view['settings']->CODE;
                 $this->placeholders['[[[SViews]]]'] = $view['settings']->Code;
                 $this->placeholders['[[[sviews]]]'] = $view['settings']->code;
                 $this->placeholders['[[[SVIEWS]]]'] = $view['settings']->CODE;
                 // set license per view if needed
                 $this->setLockLicensePer($view['settings']->code);
                 if ($view['settings']->main_get->gettype == 1) {
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code])) {
                         // ###CUSTOM_ADMIN_BEFORE_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEM###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code]);
                     } else {
                         // ###CUSTOM_ADMIN_BEFORE_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEM###'] = '';
                     }
                     // ###CUSTOM_ADMIN_GET_ITEM### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEM###'] = $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code, "\t\t");
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code])) {
                         // ###CUSTOM_ADMIN_AFTER_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEM###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code]);
                     } else {
                         // ###CUSTOM_ADMIN_AFTER_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEM###'] = '';
                     }
                 } elseif ($view['settings']->main_get->gettype == 2) {
                     // ###CUSTOM_ADMIN_GET_LIST_QUERY### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_LIST_QUERY###'] = $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_getlistquery'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_getlistquery'][$view['settings']->code])) {
                         // ###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY###'] = "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_getlistquery'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_getlistquery'][$view['settings']->code]);
                     } else {
                         // ###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_BEFORE_LIST_QUERY###'] = '';
                     }
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code])) {
                         // ###CUSTOM_ADMIN_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEMS###'] = "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code]);
                     } else {
                         // ###CUSTOM_ADMIN_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BEFORE_GET_ITEMS###'] = '';
                     }
                     // ###CUSTOM_ADMIN_GET_ITEMS### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_GET_ITEMS###'] = $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code])) {
                         // ###CUSTOM_ADMIN_AFTER_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEMS###'] = "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code]);
                     } else {
                         // ###CUSTOM_ADMIN_AFTER_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_AFTER_GET_ITEMS###'] = '';
                     }
                 }
                 // ###CUSTOM_ADMIN_CUSTOM_METHODS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###'] = $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CUSTOM_METHODS###'] .= $this->setCustomViewCustomMethods($view, $view['settings']->code);
                 // ###CUSTOM_ADMIN_DIPLAY_METHOD### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_DIPLAY_METHOD###'] = $this->setCustomViewDisplayMethod($view);
                 // set document details
                 $this->setPrepareDocument($view);
                 // ###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_EXTRA_DIPLAY_METHODS###'] = $this->setCustomViewExtraDisplayMethods($view);
                 // ###CUSTOM_ADMIN_CODE_BODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_CODE_BODY###'] = $this->setCustomViewCodeBody($view);
                 // ###CUSTOM_ADMIN_BODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_BODY###'] = $this->setCustomViewBody($view);
                 // ###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###CUSTOM_ADMIN_SUBMITBUTTON_SCRIPT###'] = $this->setCustomViewSubmitButtonScript($view);
                 // setup the templates
                 $this->setCustomViewTemplateBody($view);
             }
             // setup the layouts
             $this->setCustomViewLayouts();
         }
         // ###VIEWARRAY###
         $this->fileContentStatic['###VIEWARRAY###'] = "\n" . implode(",\n", $viewarray);
         // ###CUSTOM_ADMIN_EDIT_VIEW_ARRAY###
         $this->fileContentStatic['###SITE_EDIT_VIEW_ARRAY###'] = "\n" . implode(",\n", $site_edit_view_array);
         // ###MAINMENUS###
         $this->fileContentStatic['###MAINMENUS###'] = $this->setMainMenus();
         // ###SUBMENU###
         $this->fileContentStatic['###SUBMENU###'] = $this->setSubMenus();
         // ###GET_CRYPT_KEY###
         $this->fileContentStatic['###GET_CRYPT_KEY###'] = $this->setGetCryptKey();
         // set the license locker
         $this->setLockLicense();
         // ###CONTRIBUTORS###
         $this->fileContentStatic['###CONTRIBUTORS###'] = $this->theContributors;
         // ###INSTALL###
         $this->fileContentStatic['###INSTALL###'] = $this->setInstall();
         // ###UNINSTALL###
         $this->fileContentStatic['###UNINSTALL###'] = $this->setUninstall();
         // ###DASHBOARDICONS###
         $this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASHBOARDICONS###'] = $this->setDashboardIcons();
         // ###DASHBOARDICONACCESS###
         $this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASHBOARDICONACCESS###'] = $this->setDashboardIconAccess();
         // ###DASH_MODEL_METHODS###
         $this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASH_MODEL_METHODS###'] = $this->setDashboardModelMethods();
         // ###DASH_GET_CUSTOM_DATA###
         $this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASH_GET_CUSTOM_DATA###'] = $this->setDashboardGetCustomData();
         // ###DASH_DISPLAY_DATA###
         $this->fileContentDynamic[$this->fileContentStatic['###component###']]['###DASH_DISPLAY_DATA###'] = $this->setDashboardDisplayData();
         // add import
         if (isset($this->addEximport) && $this->addEximport) {
             // setup import files
             $target = array('admin' => 'import');
             $this->buildDynamique($target, 'import');
             // set the controller
             $this->fileContentDynamic['import']['###BLABLABLA###'] = '';
         }
         // ensure that the ajax model and controller is set if needed
         if (isset($this->addAjax) && $this->addAjax) {
             // setup Ajax files
             $target = array('admin' => 'ajax');
             $this->buildDynamique($target, 'ajax');
             // set the controller
             $this->fileContentDynamic['ajax']['###REGISTER_AJAX_TASK###'] = $this->setRegisterAjaxTask('admin');
             $this->fileContentDynamic['ajax']['###AJAX_INPUT_RETURN###'] = $this->setAjaxInputReturn('admin');
             // set the module
             $this->fileContentDynamic['ajax']['###AJAX_MODEL_METHODS###'] = $this->setAjaxModelMethods('admin');
         }
         // ensure that the site ajax model and controller is set if needed
         if (isset($this->addSiteAjax) && $this->addSiteAjax) {
             // setup Ajax files
             $target = array('site' => 'ajax');
             $this->buildDynamique($target, 'ajax');
             // set the controller
             $this->fileContentDynamic['ajax']['###REGISTER_SITE_AJAX_TASK###'] = $this->setRegisterAjaxTask('site');
             $this->fileContentDynamic['ajax']['###AJAX_SITE_INPUT_RETURN###'] = $this->setAjaxInputReturn('site');
             // set the module
             $this->fileContentDynamic['ajax']['###AJAX_SITE_MODEL_METHODS###'] = $this->setAjaxModelMethods('site');
         }
         // run the second run if needed
         if (isset($this->secondRunAdmin) && ComponentbuilderHelper::checkArray($this->secondRunAdmin)) {
             // start dynamic build
             foreach ($this->secondRunAdmin as $function => $arrays) {
                 if (ComponentbuilderHelper::checkArray($arrays) && ComponentbuilderHelper::checkString($function)) {
                     foreach ($arrays as $array) {
                         $this->{$function}($array);
                     }
                 }
             }
         }
         // ###CONFIG_FIELDSETS###
         $keepLang = $this->lang;
         $this->lang = 'admin';
         // run field sets for second time
         $this->setConfigFieldsets(2);
         $this->lang = $keepLang;
         // setup front-views and all needed stuff for the site
         if (isset($this->componentData->site_views) && ComponentbuilderHelper::checkArray($this->componentData->site_views)) {
             $this->target = 'site';
             // var_dump($this->componentData->site_views);exit;
             // start dynamic build
             foreach ($this->componentData->site_views as $view) {
                 // for list views
                 $this->fileContentDynamic[$view['settings']->code]['###SViews###'] = $view['settings']->Code;
                 $this->fileContentDynamic[$view['settings']->code]['###sviews###'] = $view['settings']->code;
                 // for single views
                 $this->fileContentDynamic[$view['settings']->code]['###SView###'] = $view['settings']->Code;
                 $this->fileContentDynamic[$view['settings']->code]['###sview###'] = $view['settings']->code;
                 // set placeholder
                 $this->placeholders['###SView###'] = $view['settings']->Code;
                 $this->placeholders['###sview###'] = $view['settings']->code;
                 $this->placeholders['###SVIEW###'] = $view['settings']->CODE;
                 $this->placeholders['[[[SView]]]'] = $view['settings']->Code;
                 $this->placeholders['[[[sview]]]'] = $view['settings']->code;
                 $this->placeholders['[[[SVIEW]]]'] = $view['settings']->CODE;
                 $this->placeholders['###SViews###'] = $view['settings']->Code;
                 $this->placeholders['###sviews###'] = $view['settings']->code;
                 $this->placeholders['###SVIEWS###'] = $view['settings']->CODE;
                 $this->placeholders['[[[SViews]]]'] = $view['settings']->Code;
                 $this->placeholders['[[[sviews]]]'] = $view['settings']->code;
                 $this->placeholders['[[[SVIEWS]]]'] = $view['settings']->CODE;
                 // set license per view if needed
                 $this->setLockLicensePer($view['settings']->code);
                 // set the site default view
                 if ($view['default_view'] == 1) {
                     $this->fileContentStatic['###SITE_DEFAULT_VIEW###'] = $view['settings']->code;
                 }
                 // add site menu
                 if ($view['menu'] == 1) {
                     // ###SITE_MENU_XML### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###SITE_MENU_XML###'] = $this->setCustomViewMenu($view);
                 }
                 // insure the needed route helper is loaded
                 $this->fileContentStatic['###ROUTEHELPER###'] .= $this->setRouterHelp($view['settings']->code, $view['settings']->code, true);
                 // build route details
                 $this->fileContentStatic['###ROUTER_PARSE_SWITCH###'] .= $this->routerParseSwitch($view['settings']->code);
                 $this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] .= $this->routerBuildViews($view['settings']->code);
                 if ($view['settings']->main_get->gettype == 1) {
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code])) {
                         // ###SITE_BEFORE_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEM###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_before_getitem'][$view['settings']->code]);
                     } else {
                         // ###SITE_BEFORE_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEM###'] = '';
                     }
                     // ###SITE_GET_ITEM### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEM###'] = $this->setCustomViewGetItem($view['settings']->main_get, $view['settings']->code, "\t\t");
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code])) {
                         // ###SITE_AFTER_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEM###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_after_getitem'][$view['settings']->code]);
                     } else {
                         // ###SITE_AFTER_GET_ITEM### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEM###'] = '';
                     }
                 } elseif ($view['settings']->main_get->gettype == 2) {
                     // ###SITE_GET_LIST_QUERY### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###SITE_GET_LIST_QUERY###'] = $this->setCustomViewListQuery($view['settings']->main_get, $view['settings']->code);
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code])) {
                         // ###SITE_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEMS###'] = "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_before_getitems'][$view['settings']->code]);
                     } else {
                         // ###SITE_BEFORE_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_BEFORE_GET_ITEMS###'] = '';
                     }
                     // ###SITE_GET_ITEMS### <<<DYNAMIC>>>
                     $this->fileContentDynamic[$view['settings']->code]['###SITE_GET_ITEMS###'] = $this->setCustomViewGetItems($view['settings']->main_get, $view['settings']->code);
                     // check if there is any custom script
                     if (isset($this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code]) && ComponentbuilderHelper::checkString($this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code])) {
                         // ###SITE_AFTER_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEMS###'] = "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code]);
                         // clear some memory
                         unset($this->customScriptBuilder[$this->target . '_php_after_getitems'][$view['settings']->code]);
                     } else {
                         // ###SITE_AFTER_GET_ITEMS### <<<DYNAMIC>>>
                         $this->fileContentDynamic[$view['settings']->code]['###SITE_AFTER_GET_ITEMS###'] = '';
                     }
                 }
                 // add to lang array
                 if (!isset($this->langContent['site'][$this->langPrefix . '_' . $view['settings']->CODE])) {
                     $this->langContent['site'][$this->langPrefix . '_' . $view['settings']->CODE] = $view['settings']->name;
                 }
                 if (!isset($this->langContent['site'][$this->langPrefix . '_' . $view['settings']->CODE . '_DESC'])) {
                     $this->langContent['site'][$this->langPrefix . '_' . $view['settings']->CODE . '_DESC'] = $view['settings']->description;
                 }
                 // ###SITE_CUSTOM_METHODS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###'] = $this->setCustomViewCustomItemMethods($view['settings']->main_get, $view['settings']->code);
                 $this->fileContentDynamic[$view['settings']->code]['###SITE_CUSTOM_METHODS###'] .= $this->setCustomViewCustomMethods($view, $view['settings']->code);
                 // ###SITE_DIPLAY_METHOD### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###SITE_DIPLAY_METHOD###'] = $this->setCustomViewDisplayMethod($view);
                 // set document details
                 $this->setPrepareDocument($view);
                 // ###SITE_EXTRA_DIPLAY_METHODS### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###SITE_EXTRA_DIPLAY_METHODS###'] = $this->setCustomViewExtraDisplayMethods($view);
                 // ###SITE_CODE_BODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###SITE_CODE_BODY###'] = $this->setCustomViewCodeBody($view);
                 // ###SITE_BODY### <<<DYNAMIC>>>
                 $this->fileContentDynamic[$view['settings']->code]['###SITE_BODY###'] = $this->setCustomViewBody($view);
                 // setup the templates
                 $this->setCustomViewTemplateBody($view);
             }
             // set site custom script to helper class
             // ###SITE_CUSTOM_HELPER_SCRIPT###
             $this->fileContentStatic['###SITE_CUSTOM_HELPER_SCRIPT###'] = str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['component_php_helper_site']);
             // ###SITE_GLOBAL_EVENT_HELPER###
             $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] = '';
             // ###SITE_GLOBAL_EVENT###
             $this->fileContentStatic['###SITE_GLOBAL_EVENT###'] = '';
             // now load the data for the global event if needed
             if ($this->componentData->add_site_event == 1) {
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT###'] = "\n\n" . '// Triger the Global Site Event';
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT###'] .= "\n" . $this->fileContentStatic['###Component###'] . 'Helper::globalEvent($document);';
                 // ###SITE_GLOBAL_EVENT_HELPER###
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] = "\n\n\t" . '/**';
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '*	The Global Site Event Method.';
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '**/';
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= "\n\t" . 'public static function globalEvent($document)';
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '{';
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= "\n" . str_replace(array_keys($this->placeholders), array_values($this->placeholders), $this->customScriptBuilder['component_php_site_event']);
                 $this->fileContentStatic['###SITE_GLOBAL_EVENT_HELPER###'] .= "\n\t" . '}';
             }
             // setup the layouts
             $this->setCustomViewLayouts();
         }
         // ###LANG_ADMIN###
         $this->fileContentStatic['###LANG_ADMIN###'] = $this->setLangAdmin();
         // ###LANG_ADMIN_SYS###
         $this->fileContentStatic['###LANG_ADMIN_SYS###'] = $this->setLangAdminSys();
         // ###LANG_SITE###
         $this->fileContentStatic['###LANG_SITE###'] = $this->setLangSite();
         // ###LANG_SITE_SYS###
         $this->fileContentStatic['###LANG_SITE_SYS###'] = $this->setLangSiteSys();
         // ###PREINSTALLSCRIPT###
         $this->fileContentStatic['###PREINSTALLSCRIPT###'] = $this->getCustomScriptBuilder('php_preflight', 'install', "\n", null, true);
         // ###PREUPDATESCRIPT###
         $this->fileContentStatic['###PREUPDATESCRIPT###'] = $this->getCustomScriptBuilder('php_preflight', 'update', "\n", null, true);
         // ###POSTINSTALLSCRIPT###
         $this->fileContentStatic['###POSTINSTALLSCRIPT###'] = $this->setPostInstallScript();
         // ###POSTUPDATESCRIPT###
         $this->fileContentStatic['###POSTUPDATESCRIPT###'] = $this->setPostUpdateScript();
         // ###UNINSTALLSCRIPT###
         $this->fileContentStatic['###UNINSTALLSCRIPT###'] = $this->setUninstallScript();
         // ###HELPER_UIKIT###
         $this->fileContentStatic['###HELPER_UIKIT###'] = $this->setUikitHelperMethods();
         // ###CONFIG_FIELDSETS###
         $this->fileContentStatic['###CONFIG_FIELDSETS###'] = implode("\n", $this->configFieldSets);
         // check if this has been set
         if (!isset($this->fileContentStatic['###ROUTER_BUILD_VIEWS###']) || !ComponentbuilderHelper::checkString($this->fileContentStatic['###ROUTER_BUILD_VIEWS###'])) {
             $this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] = 0;
         } else {
             $this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] = '(' . $this->fileContentStatic['###ROUTER_BUILD_VIEWS###'] . ')';
         }
         // ###README###
         if ($this->componentData->addreadme) {
             $this->fileContentStatic['###README###'] = $this->componentData->readme;
         }
         return true;
     }
     return false;
 }
Exemplo n.º 10
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     JToolBarHelper::title(JText::_('COM_COMPONENTBUILDER_IMPORT_TITLE'), 'upload');
     JHtmlSidebar::setAction('index.php?option=com_componentbuilder&view=import');
     if ($this->canDo->get('core.admin') || $this->canDo->get('core.options')) {
         JToolBarHelper::preferences('com_componentbuilder');
     }
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('import');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
 }
 public function getIcons()
 {
     // load user for access menus
     $user = JFactory::getUser();
     // reset icon array
     $icons = array();
     // view groups array
     $viewGroups = array('main' => array('png.compiler', 'png.component.add', 'png.components', 'png.admin_view.add', 'png.admin_views', 'png.custom_admin_view.add', 'png.custom_admin_views', 'png.site_view.add', 'png.site_views', 'png.template.add', 'png.templates', 'png.layout.add', 'png.layouts', 'png.dynamic_get.add', 'png.dynamic_gets', 'png.snippet.add', 'png.snippets', 'png.field.add', 'png.fields', 'png.fields.catid', 'png.fieldtype.add', 'png.fieldtypes', 'png.fieldtypes.catid', 'png.help_document.add', 'png.help_documents'));
     // view access array
     $viewAccess = array('admin_views.access' => 'admin_view.access', 'admin_view.access' => 'admin_view.access', 'admin_views.submenu' => 'admin_view.submenu', 'admin_views.dashboard_list' => 'admin_view.dashboard_list', 'admin_view.dashboard_add' => 'admin_view.dashboard_add', 'custom_admin_views.access' => 'custom_admin_view.access', 'custom_admin_view.access' => 'custom_admin_view.access', 'custom_admin_views.submenu' => 'custom_admin_view.submenu', 'custom_admin_views.dashboard_list' => 'custom_admin_view.dashboard_list', 'custom_admin_view.dashboard_add' => 'custom_admin_view.dashboard_add', 'site_views.access' => 'site_view.access', 'site_view.access' => 'site_view.access', 'site_views.submenu' => 'site_view.submenu', 'site_views.dashboard_list' => 'site_view.dashboard_list', 'site_view.dashboard_add' => 'site_view.dashboard_add', 'templates.access' => 'template.access', 'template.access' => 'template.access', 'templates.submenu' => 'template.submenu', 'templates.dashboard_list' => 'template.dashboard_list', 'template.dashboard_add' => 'template.dashboard_add', 'layouts.access' => 'layout.access', 'layout.access' => 'layout.access', 'layouts.submenu' => 'layout.submenu', 'layouts.dashboard_list' => 'layout.dashboard_list', 'layout.dashboard_add' => 'layout.dashboard_add', 'dynamic_get.create' => 'dynamic_get.create', 'dynamic_gets.access' => 'dynamic_get.access', 'dynamic_get.access' => 'dynamic_get.access', 'dynamic_gets.submenu' => 'dynamic_get.submenu', 'dynamic_gets.dashboard_list' => 'dynamic_get.dashboard_list', 'dynamic_get.dashboard_add' => 'dynamic_get.dashboard_add', 'snippets.access' => 'snippet.access', 'snippet.access' => 'snippet.access', 'snippets.submenu' => 'snippet.submenu', 'snippets.dashboard_list' => 'snippet.dashboard_list', 'snippet.dashboard_add' => 'snippet.dashboard_add', 'field.create' => 'field.create', 'fields.access' => 'field.access', 'field.access' => 'field.access', 'fields.submenu' => 'field.submenu', 'fields.dashboard_list' => 'field.dashboard_list', 'field.dashboard_add' => 'field.dashboard_add', 'fieldtype.create' => 'fieldtype.create', 'fieldtypes.access' => 'fieldtype.access', 'fieldtype.access' => 'fieldtype.access', 'fieldtypes.submenu' => 'fieldtype.submenu', 'fieldtypes.dashboard_list' => 'fieldtype.dashboard_list', 'fieldtype.dashboard_add' => 'fieldtype.dashboard_add', 'help_document.create' => 'help_document.create', 'help_documents.access' => 'help_document.access', 'help_document.access' => 'help_document.access', 'help_documents.submenu' => 'help_document.submenu', 'help_documents.dashboard_list' => 'help_document.dashboard_list', 'help_document.dashboard_add' => 'help_document.dashboard_add');
     foreach ($viewGroups as $group => $views) {
         $i = 0;
         if (ComponentbuilderHelper::checkArray($views)) {
             foreach ($views as $view) {
                 $add = false;
                 if (strpos($view, '.') !== false) {
                     $dwd = explode('.', $view);
                     if (count($dwd) == 3) {
                         list($type, $name, $action) = $dwd;
                     } elseif (count($dwd) == 2) {
                         list($type, $name) = $dwd;
                         $action = false;
                     }
                     if ($action) {
                         $viewName = $name;
                         switch ($action) {
                             case 'add':
                                 $url = 'index.php?option=com_componentbuilder&view=' . $name . '&layout=edit';
                                 $image = $name . '_' . $action . '.' . $type;
                                 $alt = $name . '&nbsp;' . $action;
                                 $name = 'COM_COMPONENTBUILDER_DASHBOARD_' . ComponentbuilderHelper::safeString($name, 'U') . '_ADD';
                                 $add = true;
                                 break;
                             default:
                                 $url = 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.' . $name;
                                 $image = $name . '_' . $action . '.' . $type;
                                 $alt = $name . '&nbsp;' . $action;
                                 $name = 'COM_COMPONENTBUILDER_DASHBOARD_' . ComponentbuilderHelper::safeString($name, 'U') . '_' . ComponentbuilderHelper::safeString($action, 'U');
                                 break;
                         }
                     } else {
                         $viewName = $name;
                         $alt = $name;
                         $url = 'index.php?option=com_componentbuilder&view=' . $name;
                         $image = $name . '.' . $type;
                         $name = 'COM_COMPONENTBUILDER_DASHBOARD_' . ComponentbuilderHelper::safeString($name, 'U');
                         $hover = false;
                     }
                 } else {
                     $viewName = $view;
                     $alt = $view;
                     $url = 'index.php?option=com_componentbuilder&view=' . $view;
                     $image = $view . '.png';
                     $name = ucwords($view) . '<br /><br />';
                     $hover = false;
                 }
                 // first make sure the view access is set
                 if (ComponentbuilderHelper::checkArray($viewAccess)) {
                     // setup some defaults
                     $dashboard_add = false;
                     $dashboard_list = false;
                     $accessTo = '';
                     $accessAdd = '';
                     // acces checking start
                     $accessCreate = isset($viewAccess[$viewName . '.create']) ? ComponentbuilderHelper::checkString($viewAccess[$viewName . '.create']) : false;
                     $accessAccess = isset($viewAccess[$viewName . '.access']) ? ComponentbuilderHelper::checkString($viewAccess[$viewName . '.access']) : false;
                     // set main controllers
                     $accessDashboard_add = isset($viewAccess[$viewName . '.dashboard_add']) ? ComponentbuilderHelper::checkString($viewAccess[$viewName . '.dashboard_add']) : false;
                     $accessDashboard_list = isset($viewAccess[$viewName . '.dashboard_list']) ? ComponentbuilderHelper::checkString($viewAccess[$viewName . '.dashboard_list']) : false;
                     // check for adding access
                     if ($add && $accessCreate) {
                         $accessAdd = $viewAccess[$viewName . '.create'];
                     } elseif ($add) {
                         $accessAdd = 'core.create';
                     }
                     // check if acces to view is set
                     if ($accessAccess) {
                         $accessTo = $viewAccess[$viewName . '.access'];
                     }
                     // set main access controllers
                     if ($accessDashboard_add) {
                         $dashboard_add = $user->authorise($viewAccess[$viewName . '.dashboard_add'], 'com_componentbuilder');
                     }
                     if ($accessDashboard_list) {
                         $dashboard_list = $user->authorise($viewAccess[$viewName . '.dashboard_list'], 'com_componentbuilder');
                     }
                     if (ComponentbuilderHelper::checkString($accessAdd) && ComponentbuilderHelper::checkString($accessTo)) {
                         // check access
                         if ($user->authorise($accessAdd, 'com_componentbuilder') && $user->authorise($accessTo, 'com_componentbuilder') && $dashboard_add) {
                             $icons[$group][$i] = new StdClass();
                             $icons[$group][$i]->url = $url;
                             $icons[$group][$i]->name = $name;
                             $icons[$group][$i]->image = $image;
                             $icons[$group][$i]->alt = $alt;
                         }
                     } elseif (ComponentbuilderHelper::checkString($accessTo)) {
                         // check access
                         if ($user->authorise($accessTo, 'com_componentbuilder') && $dashboard_list) {
                             $icons[$group][$i] = new StdClass();
                             $icons[$group][$i]->url = $url;
                             $icons[$group][$i]->name = $name;
                             $icons[$group][$i]->image = $image;
                             $icons[$group][$i]->alt = $alt;
                         }
                     } elseif (ComponentbuilderHelper::checkString($accessAdd)) {
                         // check access
                         if ($user->authorise($accessAdd, 'com_componentbuilder') && $dashboard_add) {
                             $icons[$group][$i] = new StdClass();
                             $icons[$group][$i]->url = $url;
                             $icons[$group][$i]->name = $name;
                             $icons[$group][$i]->image = $image;
                             $icons[$group][$i]->alt = $alt;
                         }
                     } else {
                         $icons[$group][$i] = new StdClass();
                         $icons[$group][$i]->url = $url;
                         $icons[$group][$i]->name = $name;
                         $icons[$group][$i]->image = $image;
                         $icons[$group][$i]->alt = $alt;
                     }
                 } else {
                     $icons[$group][$i] = new StdClass();
                     $icons[$group][$i]->url = $url;
                     $icons[$group][$i]->name = $name;
                     $icons[$group][$i]->image = $image;
                     $icons[$group][$i]->alt = $alt;
                 }
                 $i++;
             }
         } else {
             $icons[$group][$i] = false;
         }
     }
     return $icons;
 }
Exemplo n.º 12
0
 /**
  * Method to convert selection values to translatable string.
  *
  * @return translatable string
  */
 public function selectionTranslation($value, $name)
 {
     // Array of datatype language strings
     if ($name == 'datatype') {
         $datatypeArray = array('CHAR' => 'COM_COMPONENTBUILDER_FIELD_CHAR', 'VARCHAR' => 'COM_COMPONENTBUILDER_FIELD_VARCHAR', 'TEXT' => 'COM_COMPONENTBUILDER_FIELD_TEXT', 'MEDIUMTEXT' => 'COM_COMPONENTBUILDER_FIELD_MEDIUMTEXT', 'LONGTEXT' => 'COM_COMPONENTBUILDER_FIELD_LONGTEXT', 'DATETIME' => 'COM_COMPONENTBUILDER_FIELD_DATETIME', 'DATE' => 'COM_COMPONENTBUILDER_FIELD_DATE', 'TIME' => 'COM_COMPONENTBUILDER_FIELD_TIME', 'INT' => 'COM_COMPONENTBUILDER_FIELD_INT', 'TINYINT' => 'COM_COMPONENTBUILDER_FIELD_TINYINT', 'BIGINT' => 'COM_COMPONENTBUILDER_FIELD_BIGINT', 'FLOAT' => 'COM_COMPONENTBUILDER_FIELD_FLOAT', 'DECIMAL' => 'COM_COMPONENTBUILDER_FIELD_DECIMAL', 'DOUBLE' => 'COM_COMPONENTBUILDER_FIELD_DOUBLE');
         // Now check if value is found in this array
         if (isset($datatypeArray[$value]) && ComponentbuilderHelper::checkString($datatypeArray[$value])) {
             return $datatypeArray[$value];
         }
     }
     // Array of indexes language strings
     if ($name == 'indexes') {
         $indexesArray = array(1 => 'COM_COMPONENTBUILDER_FIELD_UNIQUE_KEY', 2 => 'COM_COMPONENTBUILDER_FIELD_KEY', 0 => 'COM_COMPONENTBUILDER_FIELD_NONE');
         // Now check if value is found in this array
         if (isset($indexesArray[$value]) && ComponentbuilderHelper::checkString($indexesArray[$value])) {
             return $indexesArray[$value];
         }
     }
     // Array of null_switch language strings
     if ($name == 'null_switch') {
         $null_switchArray = array('NULL' => 'COM_COMPONENTBUILDER_FIELD_NULL', 'NOT NULL' => 'COM_COMPONENTBUILDER_FIELD_NOT_NULL');
         // Now check if value is found in this array
         if (isset($null_switchArray[$value]) && ComponentbuilderHelper::checkString($null_switchArray[$value])) {
             return $null_switchArray[$value];
         }
     }
     // Array of store language strings
     if ($name == 'store') {
         $storeArray = array(0 => 'COM_COMPONENTBUILDER_FIELD_DEFAULT', 1 => 'COM_COMPONENTBUILDER_FIELD_JSON', 2 => 'COM_COMPONENTBUILDER_FIELD_BASESIXTY_FOUR', 3 => 'COM_COMPONENTBUILDER_FIELD_BASIC_ENCRYPTION_LOCALKEY', 4 => 'COM_COMPONENTBUILDER_FIELD_ADVANCE_ENCRYPTION_WHMCSKEY');
         // Now check if value is found in this array
         if (isset($storeArray[$value]) && ComponentbuilderHelper::checkString($storeArray[$value])) {
             return $storeArray[$value];
         }
     }
     return $value;
 }
Exemplo n.º 13
0
 private function getFTP($clientInput)
 {
     $signature = md5($clientInput);
     if (isset($this->FTP[$signature]) && $this->FTP[$signature] instanceof JClientFtp) {
         return $this->FTP[$signature];
     } else {
         // make sure we have a string and it is not default or empty
         if (ComponentbuilderHelper::checkString($clientInput)) {
             // turn into vars
             parse_str($clientInput);
             // set options
             if (isset($options) && ComponentbuilderHelper::checkArray($options)) {
                 foreach ($options as $option => $value) {
                     if ('timeout' == $option) {
                         $options[$option] = (int) $value;
                     }
                     if ('type' == $option) {
                         $options[$option] = (string) $value;
                     }
                 }
             } else {
                 $options = array();
             }
             // get ftp object
             if (isset($host) && $host != 'HOSTNAME' && isset($port) && $port != 'PORT_INT' && isset($username) && $username != '*****@*****.**' && isset($password) && $password != 'password') {
                 // load for reuse
                 $this->FTP[$signature] = JClientFtp::getInstance($host, $port, $options, $username, $password);
                 return $this->FTP[$signature];
             }
         }
     }
     return false;
 }
Exemplo n.º 14
0
 public function installExtention()
 {
     // Check for request forgeries
     JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
     // check if user has the right
     $user = JFactory::getUser();
     // set page redirect
     $redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=compiler', false);
     $message = 'Could not install component!';
     if ($user->authorise('core.admin')) {
         // get the model
         $model = $this->getModel('compiler');
         $app = JFactory::getApplication();
         $fileName = $app->getUserState('com_componentbuilder.extension_name');
         if (ComponentbuilderHelper::checkString($fileName)) {
             $lang = JFactory::getLanguage();
             $extension = 'com_installer';
             $base_dir = JPATH_ADMINISTRATOR;
             $language_tag = 'en-GB';
             $reload = true;
             $lang->load($extension, $base_dir, $language_tag, $reload);
             $message = '(' . $fileName . '.zip) file was also removed from tmp!';
             $this->setRedirect($redirect_url, $message, 'message');
             return $model->install($fileName . '.zip');
         }
     }
     $this->setRedirect($redirect_url, $message, 'error');
     return false;
 }
Exemplo n.º 15
0
 /**
  * Method to convert selection values to translatable string.
  *
  * @return translatable string
  */
 public function selectionTranslation($value, $name)
 {
     // Array of type language strings
     if ($name == 'type') {
         $typeArray = array(1 => 'COM_COMPONENTBUILDER_SNIPPET_LAYOUT', 2 => 'COM_COMPONENTBUILDER_SNIPPET_NAVIGATIONS', 3 => 'COM_COMPONENTBUILDER_SNIPPET_ELEMENTS', 4 => 'COM_COMPONENTBUILDER_SNIPPET_COMMON', 5 => 'COM_COMPONENTBUILDER_SNIPPET_JAVASCRIPT', 6 => 'COM_COMPONENTBUILDER_SNIPPET_CHARTS');
         // Now check if value is found in this array
         if (isset($typeArray[$value]) && ComponentbuilderHelper::checkString($typeArray[$value])) {
             return $typeArray[$value];
         }
     }
     return $value;
 }
 public function getFieldType($typeName, $xml, $property)
 {
     // make sure its lower case
     $typeName = ComponentbuilderHelper::safeString($typeName);
     if ($typeName == 'custom' || $typeName == 'customuser') {
         $xmlValue = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($xml, 'type="', '"'));
     } elseif (ComponentbuilderHelper::checkString($typeName)) {
         $xmlValue = $typeName;
     } elseif (isset($property['example']) && ComponentbuilderHelper::checkString($property['example']) && $property['adjustable'] == 0) {
         $xmlValue = $property['example'];
     } else {
         $xmlValue = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($xml, 'type="', '"'));
     }
     // check if the value is set
     if (ComponentbuilderHelper::checkString($xmlValue)) {
         // add the value
         return $xmlValue;
     } else {
         // fall back to text
         return 'text';
     }
 }
Exemplo n.º 17
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     JFactory::getApplication()->input->set('hidemainmenu', true);
     $user = JFactory::getUser();
     $userId = $user->id;
     $isNew = $this->item->id == 0;
     JToolbarHelper::title(JText::_($isNew ? 'COM_COMPONENTBUILDER_FIELD_NEW' : 'COM_COMPONENTBUILDER_FIELD_EDIT'), 'pencil-2 article-add');
     // Built the actions for new and existing records.
     if ($this->refid || $this->ref) {
         if ($this->canDo->get('field.create') && $isNew) {
             // We can create the record.
             JToolBarHelper::save('field.save', 'JTOOLBAR_SAVE');
         } elseif ($this->canDo->get('field.edit')) {
             // We can save the record.
             JToolBarHelper::save('field.save', 'JTOOLBAR_SAVE');
         }
         if ($isNew) {
             // Do not creat but cancel.
             JToolBarHelper::cancel('field.cancel', 'JTOOLBAR_CANCEL');
         } else {
             // We can close it.
             JToolBarHelper::cancel('field.cancel', 'JTOOLBAR_CLOSE');
         }
     } else {
         if ($isNew) {
             // For new records, check the create permission.
             if ($this->canDo->get('field.create')) {
                 JToolBarHelper::apply('field.apply', 'JTOOLBAR_APPLY');
                 JToolBarHelper::save('field.save', 'JTOOLBAR_SAVE');
                 JToolBarHelper::custom('field.save2new', 'save-new.png', 'save-new_f2.png', 'JTOOLBAR_SAVE_AND_NEW', false);
             }
             JToolBarHelper::cancel('field.cancel', 'JTOOLBAR_CANCEL');
         } else {
             if ($this->canDo->get('field.edit')) {
                 // We can save the new record
                 JToolBarHelper::apply('field.apply', 'JTOOLBAR_APPLY');
                 JToolBarHelper::save('field.save', 'JTOOLBAR_SAVE');
                 // We can save this record, but check the create permission to see
                 // if we can return to make a new one.
                 if ($this->canDo->get('field.create')) {
                     JToolBarHelper::custom('field.save2new', 'save-new.png', 'save-new_f2.png', 'JTOOLBAR_SAVE_AND_NEW', false);
                 }
             }
             $canVersion = $this->canDo->get('core.version') && $this->canDo->get('field.version');
             if ($this->state->params->get('save_history', 1) && $this->canDo->get('field.edit') && $canVersion) {
                 JToolbarHelper::versions('com_componentbuilder.field', $this->item->id);
             }
             if ($this->canDo->get('field.create')) {
                 JToolBarHelper::custom('field.save2copy', 'save-copy.png', 'save-copy_f2.png', 'JTOOLBAR_SAVE_AS_COPY', false);
             }
             JToolBarHelper::cancel('field.cancel', 'JTOOLBAR_CLOSE');
         }
     }
     JToolbarHelper::divider();
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('field');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
 }
Exemplo n.º 18
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     JToolBarHelper::title(JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENTS'), 'support');
     JHtmlSidebar::setAction('index.php?option=com_componentbuilder&view=help_documents');
     JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
     if ($this->canCreate) {
         JToolBarHelper::addNew('help_document.add');
     }
     // Only load if there are items
     if (ComponentbuilderHelper::checkArray($this->items)) {
         if ($this->canEdit) {
             JToolBarHelper::editList('help_document.edit');
         }
         if ($this->canState) {
             JToolBarHelper::publishList('help_documents.publish');
             JToolBarHelper::unpublishList('help_documents.unpublish');
             JToolBarHelper::archiveList('help_documents.archive');
             if ($this->canDo->get('core.admin')) {
                 JToolBarHelper::checkin('help_documents.checkin');
             }
         }
         // Add a batch button
         if ($this->canBatch && $this->canCreate && $this->canEdit && $this->canState) {
             // Get the toolbar object instance
             $bar = JToolBar::getInstance('toolbar');
             // set the batch button name
             $title = JText::_('JTOOLBAR_BATCH');
             // Instantiate a new JLayoutFile instance and render the batch button
             $layout = new JLayoutFile('joomla.toolbar.batch');
             // add the button to the page
             $dhtml = $layout->render(array('title' => $title));
             $bar->appendButton('Custom', $dhtml, 'batch');
         }
         if ($this->state->get('filter.published') == -2 && ($this->canState && $this->canDelete)) {
             JToolbarHelper::deleteList('', 'help_documents.delete', 'JTOOLBAR_EMPTY_TRASH');
         } elseif ($this->canState && $this->canDelete) {
             JToolbarHelper::trash('help_documents.trash');
         }
         if ($this->canDo->get('core.export') && $this->canDo->get('help_document.export')) {
             JToolBarHelper::custom('help_documents.exportData', 'download', '', 'COM_COMPONENTBUILDER_EXPORT_DATA', true);
         }
     }
     if ($this->canDo->get('core.import') && $this->canDo->get('help_document.import')) {
         JToolBarHelper::custom('help_documents.importData', 'upload', '', 'COM_COMPONENTBUILDER_IMPORT_DATA', false);
     }
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('help_documents');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
     // add the options comp button
     if ($this->canDo->get('core.admin') || $this->canDo->get('core.options')) {
         JToolBarHelper::preferences('com_componentbuilder');
     }
     if ($this->canState) {
         JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_PUBLISHED'), 'filter_published', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true));
         // only load if batch allowed
         if ($this->canBatch) {
             JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_STATE'), 'batch[published]', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('all' => false)), 'value', 'text', '', true));
         }
     }
     JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_ACCESS'), 'filter_access', JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')));
     if ($this->canBatch && $this->canCreate && $this->canEdit) {
         JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_ACCESS'), 'batch[access]', JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text'));
     }
     // Set Type Selection
     $this->typeOptions = $this->getTheTypeSelections();
     if ($this->typeOptions) {
         // Type Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_LABEL') . ' -', 'filter_type', JHtml::_('select.options', $this->typeOptions, 'value', 'text', $this->state->get('filter.type')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Type Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_TYPE_LABEL') . ' -', 'batch[type]', JHtml::_('select.options', $this->typeOptions, 'value', 'text'));
         }
     }
     // Set Location Selection
     $this->locationOptions = $this->getTheLocationSelections();
     if ($this->locationOptions) {
         // Location Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_LOCATION_LABEL') . ' -', 'filter_location', JHtml::_('select.options', $this->locationOptions, 'value', 'text', $this->state->get('filter.location')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Location Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_LOCATION_LABEL') . ' -', 'batch[location]', JHtml::_('select.options', $this->locationOptions, 'value', 'text'));
         }
     }
     // Set Admin View Selection
     $this->admin_viewOptions = JFormHelper::loadFieldType('Adminviewfolderlist')->getOptions();
     if ($this->admin_viewOptions) {
         // Admin View Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL') . ' -', 'filter_admin_view', JHtml::_('select.options', $this->admin_viewOptions, 'value', 'text', $this->state->get('filter.admin_view')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Admin View Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_ADMIN_VIEW_LABEL') . ' -', 'batch[admin_view]', JHtml::_('select.options', $this->admin_viewOptions, 'value', 'text'));
         }
     }
     // Set Site View Selection
     $this->site_viewOptions = JFormHelper::loadFieldType('Siteviewfolderlist')->getOptions();
     if ($this->site_viewOptions) {
         // Site View Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL') . ' -', 'filter_site_view', JHtml::_('select.options', $this->site_viewOptions, 'value', 'text', $this->state->get('filter.site_view')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Site View Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_HELP_DOCUMENT_SITE_VIEW_LABEL') . ' -', 'batch[site_view]', JHtml::_('select.options', $this->site_viewOptions, 'value', 'text'));
         }
     }
 }
 /**
  * Method to validate the form data.
  *
  * @param   JForm   $form   The form to validate against.
  * @param   array   $data   The data to validate.
  * @param   string  $group  The name of the field group to validate.
  *
  * @return  mixed  Array of filtered data if valid, false otherwise.
  *
  * @see     JFormRule
  * @see     JFilterInput
  * @since   12.2
  */
 public function validate($form, $data, $group = null)
 {
     // check if the not_required field is set
     if (ComponentbuilderHelper::checkString($data['not_required'])) {
         $requiredFields = (array) explode(',', (string) $data['not_required']);
         $requiredFields = array_unique($requiredFields);
         // now change the required field attributes value
         foreach ($requiredFields as $requiredField) {
             // make sure there is a string value
             if (ComponentbuilderHelper::checkString($requiredField)) {
                 // change to false
                 $form->setFieldAttribute($requiredField, 'required', 'false');
                 // also clear the data set
                 $data[$requiredField] = '';
             }
         }
     }
     return parent::validate($form, $data, $group);
 }
Exemplo n.º 20
0
 /**
  * Escape the values for a SQL dump
  * 
  * @param   string   $value  the value to escape
  *
  * @return  string on success with escaped string
  * 
  */
 public function mysql_escape($value)
 {
     // if array then return maped
     if (ComponentbuilderHelper::checkArray($value)) {
         return array_map(__METHOD__, $value);
     }
     // if string make sure it is correctly escaped
     if (ComponentbuilderHelper::checkString($value) && !is_numeric($value)) {
         // Get a db connection.
         $db = JFactory::getDbo();
         return $db->quote($value);
     }
     // if empty value return place holder
     if (empty($value)) {
         return "''";
     }
     // if not array or string then return number
     return $value;
 }
Exemplo n.º 21
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     JToolBarHelper::title(JText::_('COM_COMPONENTBUILDER_SITE_VIEWS'), 'stack');
     JHtmlSidebar::setAction('index.php?option=com_componentbuilder&view=site_views');
     JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
     if ($this->canCreate) {
         JToolBarHelper::addNew('site_view.add');
     }
     // Only load if there are items
     if (ComponentbuilderHelper::checkArray($this->items)) {
         if ($this->canEdit) {
             JToolBarHelper::editList('site_view.edit');
         }
         if ($this->canState) {
             JToolBarHelper::publishList('site_views.publish');
             JToolBarHelper::unpublishList('site_views.unpublish');
             JToolBarHelper::archiveList('site_views.archive');
             if ($this->canDo->get('core.admin')) {
                 JToolBarHelper::checkin('site_views.checkin');
             }
         }
         // Add a batch button
         if ($this->canBatch && $this->canCreate && $this->canEdit && $this->canState) {
             // Get the toolbar object instance
             $bar = JToolBar::getInstance('toolbar');
             // set the batch button name
             $title = JText::_('JTOOLBAR_BATCH');
             // Instantiate a new JLayoutFile instance and render the batch button
             $layout = new JLayoutFile('joomla.toolbar.batch');
             // add the button to the page
             $dhtml = $layout->render(array('title' => $title));
             $bar->appendButton('Custom', $dhtml, 'batch');
         }
         if ($this->state->get('filter.published') == -2 && ($this->canState && $this->canDelete)) {
             JToolbarHelper::deleteList('', 'site_views.delete', 'JTOOLBAR_EMPTY_TRASH');
         } elseif ($this->canState && $this->canDelete) {
             JToolbarHelper::trash('site_views.trash');
         }
         if ($this->canDo->get('core.export') && $this->canDo->get('site_view.export')) {
             JToolBarHelper::custom('site_views.exportData', 'download', '', 'COM_COMPONENTBUILDER_EXPORT_DATA', true);
         }
     }
     if ($this->canDo->get('core.import') && $this->canDo->get('site_view.import')) {
         JToolBarHelper::custom('site_views.importData', 'upload', '', 'COM_COMPONENTBUILDER_IMPORT_DATA', false);
     }
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('site_views');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
     // add the options comp button
     if ($this->canDo->get('core.admin') || $this->canDo->get('core.options')) {
         JToolBarHelper::preferences('com_componentbuilder');
     }
     if ($this->canState) {
         JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_PUBLISHED'), 'filter_published', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true));
         // only load if batch allowed
         if ($this->canBatch) {
             JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_STATE'), 'batch[published]', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('all' => false)), 'value', 'text', '', true));
         }
     }
     JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_ACCESS'), 'filter_access', JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')));
     if ($this->canBatch && $this->canCreate && $this->canEdit) {
         JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_ACCESS'), 'batch[access]', JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text'));
     }
 }
Exemplo n.º 22
0
 /**
  * Setting the toolbar
  */
 protected function addToolBar()
 {
     JToolBarHelper::title(JText::_('COM_COMPONENTBUILDER_FIELDS'), 'lamp');
     JHtmlSidebar::setAction('index.php?option=com_componentbuilder&view=fields');
     JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
     if ($this->canCreate) {
         JToolBarHelper::addNew('field.add');
     }
     // Only load if there are items
     if (ComponentbuilderHelper::checkArray($this->items)) {
         if ($this->canEdit) {
             JToolBarHelper::editList('field.edit');
         }
         if ($this->canState) {
             JToolBarHelper::publishList('fields.publish');
             JToolBarHelper::unpublishList('fields.unpublish');
             JToolBarHelper::archiveList('fields.archive');
             if ($this->canDo->get('core.admin')) {
                 JToolBarHelper::checkin('fields.checkin');
             }
         }
         // Add a batch button
         if ($this->canBatch && $this->canCreate && $this->canEdit && $this->canState) {
             // Get the toolbar object instance
             $bar = JToolBar::getInstance('toolbar');
             // set the batch button name
             $title = JText::_('JTOOLBAR_BATCH');
             // Instantiate a new JLayoutFile instance and render the batch button
             $layout = new JLayoutFile('joomla.toolbar.batch');
             // add the button to the page
             $dhtml = $layout->render(array('title' => $title));
             $bar->appendButton('Custom', $dhtml, 'batch');
         }
         if ($this->state->get('filter.published') == -2 && ($this->canState && $this->canDelete)) {
             JToolbarHelper::deleteList('', 'fields.delete', 'JTOOLBAR_EMPTY_TRASH');
         } elseif ($this->canState && $this->canDelete) {
             JToolbarHelper::trash('fields.trash');
         }
         if ($this->canDo->get('core.export') && $this->canDo->get('field.export')) {
             JToolBarHelper::custom('fields.exportData', 'download', '', 'COM_COMPONENTBUILDER_EXPORT_DATA', true);
         }
     }
     if ($this->canDo->get('core.import') && $this->canDo->get('field.import')) {
         JToolBarHelper::custom('fields.importData', 'upload', '', 'COM_COMPONENTBUILDER_IMPORT_DATA', false);
     }
     // set help url for this view if found
     $help_url = ComponentbuilderHelper::getHelpUrl('fields');
     if (ComponentbuilderHelper::checkString($help_url)) {
         JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url);
     }
     // add the options comp button
     if ($this->canDo->get('core.admin') || $this->canDo->get('core.options')) {
         JToolBarHelper::preferences('com_componentbuilder');
     }
     if ($this->canState) {
         JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_PUBLISHED'), 'filter_published', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true));
         // only load if batch allowed
         if ($this->canBatch) {
             JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_STATE'), 'batch[published]', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('all' => false)), 'value', 'text', '', true));
         }
     }
     JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_ACCESS'), 'filter_access', JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access')));
     if ($this->canBatch && $this->canCreate && $this->canEdit) {
         JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_ACCESS'), 'batch[access]', JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text'));
     }
     // Category Filter.
     JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_CATEGORY'), 'filter_category_id', JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fields'), 'value', 'text', $this->state->get('filter.category_id')));
     if ($this->canBatch && $this->canCreate && $this->canEdit) {
         // Category Batch selection.
         JHtmlBatch_::addListSelection(JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_CATEGORY'), 'batch[category]', JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fields'), 'value', 'text'));
     }
     // Set Fieldtype Name Selection
     $this->fieldtypeNameOptions = JFormHelper::loadFieldType('Fieldtypes')->getOptions();
     if ($this->fieldtypeNameOptions) {
         // Fieldtype Name Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_FIELD_FIELDTYPE_LABEL') . ' -', 'filter_fieldtype', JHtml::_('select.options', $this->fieldtypeNameOptions, 'value', 'text', $this->state->get('filter.fieldtype')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Fieldtype Name Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_FIELD_FIELDTYPE_LABEL') . ' -', 'batch[fieldtype]', JHtml::_('select.options', $this->fieldtypeNameOptions, 'value', 'text'));
         }
     }
     // Set Datatype Selection
     $this->datatypeOptions = $this->getTheDatatypeSelections();
     if ($this->datatypeOptions) {
         // Datatype Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_FIELD_DATATYPE_LABEL') . ' -', 'filter_datatype', JHtml::_('select.options', $this->datatypeOptions, 'value', 'text', $this->state->get('filter.datatype')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Datatype Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_FIELD_DATATYPE_LABEL') . ' -', 'batch[datatype]', JHtml::_('select.options', $this->datatypeOptions, 'value', 'text'));
         }
     }
     // Set Indexes Selection
     $this->indexesOptions = $this->getTheIndexesSelections();
     if ($this->indexesOptions) {
         // Indexes Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_FIELD_INDEXES_LABEL') . ' -', 'filter_indexes', JHtml::_('select.options', $this->indexesOptions, 'value', 'text', $this->state->get('filter.indexes')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Indexes Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_FIELD_INDEXES_LABEL') . ' -', 'batch[indexes]', JHtml::_('select.options', $this->indexesOptions, 'value', 'text'));
         }
     }
     // Set Null Switch Selection
     $this->null_switchOptions = $this->getTheNull_switchSelections();
     if ($this->null_switchOptions) {
         // Null Switch Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_FIELD_NULL_SWITCH_LABEL') . ' -', 'filter_null_switch', JHtml::_('select.options', $this->null_switchOptions, 'value', 'text', $this->state->get('filter.null_switch')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Null Switch Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_FIELD_NULL_SWITCH_LABEL') . ' -', 'batch[null_switch]', JHtml::_('select.options', $this->null_switchOptions, 'value', 'text'));
         }
     }
     // Set Store Selection
     $this->storeOptions = $this->getTheStoreSelections();
     if ($this->storeOptions) {
         // Store Filter
         JHtmlSidebar::addFilter('- Select ' . JText::_('COM_COMPONENTBUILDER_FIELD_STORE_LABEL') . ' -', 'filter_store', JHtml::_('select.options', $this->storeOptions, 'value', 'text', $this->state->get('filter.store')));
         if ($this->canBatch && $this->canCreate && $this->canEdit) {
             // Store Batch Selection
             JHtmlBatch_::addListSelection('- Keep Original ' . JText::_('COM_COMPONENTBUILDER_FIELD_STORE_LABEL') . ' -', 'batch[store]', JHtml::_('select.options', $this->storeOptions, 'value', 'text'));
         }
     }
 }