diff --git a/README.md b/README.md index 6cf6ad512..ced6e2e9f 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have! -You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.6.11) with **ALL** its features and **ALL** concepts totally open-source and free! +You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.6.12) with **ALL** its features and **ALL** concepts totally open-source and free! > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) @@ -126,14 +126,14 @@ Component Builder is mapped as a component in itself on my local development env + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Name*: [Component Builder](http://joomlacomponentbuilder.com) + *First Build*: 30th April, 2015 -+ *Last Build*: 16th January, 2018 -+ *Version*: 2.6.11 ++ *Last Build*: 19th January, 2018 ++ *Version*: 2.6.12 + *Copyright*: Copyright (C) 2015. All Rights Reserved + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html -+ *Line count*: **179847** -+ *Field count*: **1571** -+ *File count*: **1153** -+ *Folder count*: **184** ++ *Line count*: **180465** ++ *Field count*: **1573** ++ *File count*: **1160** ++ *Folder count*: **186** > This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com). > Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) diff --git a/admin/README.txt b/admin/README.txt index 6cf6ad512..ced6e2e9f 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have! -You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.6.11) with **ALL** its features and **ALL** concepts totally open-source and free! +You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.6.12) with **ALL** its features and **ALL** concepts totally open-source and free! > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) @@ -126,14 +126,14 @@ Component Builder is mapped as a component in itself on my local development env + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Name*: [Component Builder](http://joomlacomponentbuilder.com) + *First Build*: 30th April, 2015 -+ *Last Build*: 16th January, 2018 -+ *Version*: 2.6.11 ++ *Last Build*: 19th January, 2018 ++ *Version*: 2.6.12 + *Copyright*: Copyright (C) 2015. All Rights Reserved + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html -+ *Line count*: **179847** -+ *Field count*: **1571** -+ *File count*: **1153** -+ *Folder count*: **184** ++ *Line count*: **180465** ++ *Field count*: **1573** ++ *File count*: **1160** ++ *Folder count*: **186** > This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com). > Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) diff --git a/admin/access.xml b/admin/access.xml index 9224fdb5d..a27e152b2 100644 --- a/admin/access.xml +++ b/admin/access.xml @@ -261,8 +261,6 @@ - - diff --git a/admin/controllers/import_language_translations.php b/admin/controllers/import_language_translations.php new file mode 100644 index 000000000..ca4066940 --- /dev/null +++ b/admin/controllers/import_language_translations.php @@ -0,0 +1,67 @@ + + @github Joomla Component Builder + @copyright Copyright (C) 2015. All Rights Reserved + @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html + + Builds Complex Joomla Components + +/-----------------------------------------------------------------------------------------------------------------------------*/ + +// No direct access to this file +defined('_JEXEC') or die('Restricted access'); + +/** + * Componentbuilder Import_language_translations Controller + */ +class ComponentbuilderControllerImport_language_translations extends JControllerLegacy +{ + /** + * Import an spreadsheet. + * + * @return void + */ + public function import() + { + // Check for request forgeries + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + + $model = $this->getModel('Import_language_translations'); + if ($model->import()) + { + $cache = JFactory::getCache('mod_menu'); + $cache->clean(); + // TODO: Reset the users acl here as well to kill off any missing bits + } + + $app = JFactory::getApplication(); + $redirect_url = $app->getUserState('com_componentbuilder.redirect_url'); + if (empty($redirect_url)) + { + $redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=import_language_translations', false); + } + else + { + // wipe out the user state when we're going to redirect + $app->setUserState('com_componentbuilder.redirect_url', ''); + $app->setUserState('com_componentbuilder.message', ''); + $app->setUserState('com_componentbuilder.extension_message', ''); + } + $this->setRedirect($redirect_url); + } +} diff --git a/admin/controllers/language_translations.php b/admin/controllers/language_translations.php index 9b8d98090..3b5881eb5 100644 --- a/admin/controllers/language_translations.php +++ b/admin/controllers/language_translations.php @@ -99,7 +99,7 @@ class ComponentbuilderControllerLanguage_translations extends JControllerAdmin $session->set('dataType_VDM_IMPORTINTO', 'language_translation'); // Redirect to import view. $message = JText::_('COM_COMPONENTBUILDER_IMPORT_SELECT_FILE_FOR_LANGUAGE_TRANSLATIONS'); - $this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=import', false), $message); + $this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=import_language_translations', false), $message); return; } } diff --git a/admin/helpers/compiler.php b/admin/helpers/compiler.php index 32ebd78fa..c460f0b13 100644 --- a/admin/helpers/compiler.php +++ b/admin/helpers/compiler.php @@ -65,7 +65,7 @@ class Compiler extends Infusion { // to check the compiler speed $this->time_start = microtime(true); - // first we run the perent constructor + // first we run the perent constructors if (parent::__construct($config)) { // set temp directory diff --git a/admin/helpers/compiler/a_Get.php b/admin/helpers/compiler/a_Get.php index f29c49e7f..d00c53680 100644 --- a/admin/helpers/compiler/a_Get.php +++ b/admin/helpers/compiler/a_Get.php @@ -1534,7 +1534,7 @@ class Get // set custom import scripts if (isset($view->add_custom_import) && $view->add_custom_import == 1) { - $addImportArray = array('php_import_ext', 'php_import_display', 'php_import', 'php_import_setdata', 'php_import_save', 'html_import_view'); + $addImportArray = array('php_import_ext', 'php_import_display', 'php_import', 'php_import_setdata', 'php_import_save', 'php_import_headers', 'html_import_view'); foreach ($addImportArray as $importScripter) { if (isset($view->$importScripter) && strlen($view->$importScripter) > 0) diff --git a/admin/helpers/compiler/c_Fields.php b/admin/helpers/compiler/c_Fields.php index 6d30f7308..b1d3f468f 100644 --- a/admin/helpers/compiler/c_Fields.php +++ b/admin/helpers/compiler/c_Fields.php @@ -375,33 +375,19 @@ class Fields extends Structure /** * set the Field set of a view * - * @param array $view The view data - * @param string $component The component name + * @param array $view The view data + * @param string $component The component name + * @param string $viewName The single view name + * @param string $listViewName The list view name * * @return string The fields set in xml * */ - public function setFieldSet($view, $component) + public function setFieldSet($view, $component, $viewName, $listViewName) { // setup the fieldset of this view if (isset($view['settings']->fields) && ComponentbuilderHelper::checkArray($view['settings']->fields)) { - // setup the list view and single view name - $listViewName = ComponentbuilderHelper::safeString($view['settings']->name_list); - $viewName = ComponentbuilderHelper::safeString($view['settings']->name_single); - // set some place holder for this view - $this->placeholders['###view###'] = $viewName; - $this->placeholders['###VIEW###'] = strtoupper($viewName); - $this->placeholders['###View###'] = ucfirst($viewName); - $this->placeholders['[[[view]]]'] = $this->placeholders['###view###']; - $this->placeholders['[[[VIEW]]]'] = $this->placeholders['###VIEW###']; - $this->placeholders['[[[View]]]'] = $this->placeholders['###View###']; - $this->placeholders['###views###'] = $listViewName; - $this->placeholders['###VIEWS###'] = strtoupper($listViewName); - $this->placeholders['###Views###'] = ucfirst($listViewName); - $this->placeholders['[[[views]]]'] = $this->placeholders['###views###']; - $this->placeholders['[[[VIEWS]]]'] = $this->placeholders['###VIEWS###']; - $this->placeholders['[[[Views]]]'] = $this->placeholders['###Views###']; // add metadata to the view if (isset($view['metadata']) && $view['metadata']) { @@ -753,8 +739,6 @@ class Fields extends Structure // count the static field created $this->fieldCount++; } - // just to be safe, lets clear the view placeholders - $this->clearFromPlaceHolders('view'); // return the set return $this->xmlPrettyPrint($XML, 'fieldset'); } diff --git a/admin/helpers/compiler/e_Interpretation.php b/admin/helpers/compiler/e_Interpretation.php index 087d229ec..d85b00c5e 100644 --- a/admin/helpers/compiler/e_Interpretation.php +++ b/admin/helpers/compiler/e_Interpretation.php @@ -3339,8 +3339,7 @@ class Interpretation extends Fields $path = '/administrator/components/com_' . $this->fileContentStatic['###component###'] . '/assets/js/' . $view['settings']->code . '.js'; } // add script to file - $this->fileContentDynamic[$view['settings']->code]['###' . $TARGET . '_JAVASCRIPT_FILE###'] - = $this->setPlaceholders($view['settings']->javascript_file, $this->placeholders); + $this->fileContentDynamic[$view['settings']->code]['###' . $TARGET . '_JAVASCRIPT_FILE###'] = $this->setPlaceholders($view['settings']->javascript_file, $this->placeholders); // add script to view return PHP_EOL . PHP_EOL . "\t\t//" . $this->setLine(__LINE__) . " Add View JavaScript File" . PHP_EOL . "\t\t" . $this->setIncludeLibScript($path); } @@ -8104,32 +8103,10 @@ class Interpretation extends Fields $query .= PHP_EOL . "\t\treturn false;"; $query .= PHP_EOL . "\t}"; - $query .= PHP_EOL . PHP_EOL . "\t/**"; - $query .= PHP_EOL . "\t* Method to get header."; - $query .= PHP_EOL . "\t*"; - $query .= PHP_EOL . "\t* @return mixed An array of data items on success, false on failure."; - $query .= PHP_EOL . "\t*/"; - $query .= PHP_EOL . "\tpublic function getExImPortHeaders()"; - $query .= PHP_EOL . "\t{"; - $query .= PHP_EOL . "\t\t//" . $this->setLine(__LINE__) . " Get a db connection."; - $query .= PHP_EOL . "\t\t\$db = JFactory::getDbo();"; - $query .= PHP_EOL . "\t\t//" . $this->setLine(__LINE__) . " get the columns"; - $query .= PHP_EOL . "\t\t\$columns = \$db->getTableColumns(" . '"#__' . $this->fileContentStatic['###component###'] . '_' . $viewName_single . '");'; - $query .= PHP_EOL . "\t\tif (" . $this->fileContentStatic['###Component###'] . "Helper::checkArray(\$columns))"; - $query .= PHP_EOL . "\t\t{"; - $query .= PHP_EOL . "\t\t\t//" . $this->setLine(__LINE__) . " remove the headers you don't import/export."; - $query .= PHP_EOL . "\t\t\tunset(\$columns['asset_id']);"; - $query .= PHP_EOL . "\t\t\tunset(\$columns['checked_out']);"; - $query .= PHP_EOL . "\t\t\tunset(\$columns['checked_out_time']);"; - $query .= PHP_EOL . "\t\t\t\$headers = new stdClass();"; - $query .= PHP_EOL . "\t\t\tforeach (\$columns as \$column => \$type)"; - $query .= PHP_EOL . "\t\t\t{"; - $query .= PHP_EOL . "\t\t\t\t\$headers->{\$column} = \$column;"; - $query .= PHP_EOL . "\t\t\t}"; - $query .= PHP_EOL . "\t\t\treturn \$headers;"; - $query .= PHP_EOL . "\t\t}"; - $query .= PHP_EOL . "\t\treturn false;"; - $query .= PHP_EOL . "\t}"; + // add getExImPortHeaders + $query .= $this->getCustomScriptBuilder('php_import_headers', 'import_' . $viewName_list, PHP_EOL . PHP_EOL, null, true, + // set a default script for those with no custom script + PHP_EOL . PHP_EOL . $this->setPlaceholders(ComponentbuilderHelper::getImportScripts('headers'), $this->placeholders)); } return $query; } diff --git a/admin/helpers/compiler/f_Infusion.php b/admin/helpers/compiler/f_Infusion.php index 790495e89..8465dbf8f 100644 --- a/admin/helpers/compiler/f_Infusion.php +++ b/admin/helpers/compiler/f_Infusion.php @@ -236,14 +236,25 @@ class Infusion extends Interpretation // start dynamic build foreach ($this->componentData->admin_views as $view) { - // just to be safe, lets clear the view placeholders - $this->clearFromPlaceHolders('view'); // set the target $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 single view + if (isset($view['settings']->name_single)) + { + $viewName_single = ComponentbuilderHelper::safeString($view['settings']->name_single); + } + + // set list view + if (isset($view['settings']->name_list)) + { + $viewName_list = ComponentbuilderHelper::safeString($view['settings']->name_list); + } + + // set the view placeholders + $this->setViewPlaceholders($view['settings']); + // set site edit view array if (isset($view['edit_create_site_view']) && $view['edit_create_site_view']) { @@ -258,36 +269,14 @@ class Infusion extends Interpretation // set view array $viewarray[] = "\t\t\t\t'" . $viewName_single . "' => '" . $viewName_list . "'"; // set the view names - if ($view['settings']->name_single != 'null') + if (isset($view['settings']->name_single) && $view['settings']->name_single != 'null') { - // ###VIEW### <<>> - $viewName_u = ComponentbuilderHelper::safeString($view['settings']->name_single, 'U'); - $this->fileContentDynamic[$viewName_single]['###VIEW###'] = $viewName_u; - $this->fileContentDynamic[$viewName_list]['###VIEW###'] = $viewName_u; - - // ###View### <<>> - $viewName_f = ComponentbuilderHelper::safeString($view['settings']->name_single, 'F'); - $this->fileContentDynamic[$viewName_single]['###View###'] = $viewName_f; - $this->fileContentDynamic[$viewName_list]['###View###'] = $viewName_f; - - // ###view### <<>> - $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_f; - $this->placeholders['###VIEW###'] = $viewName_u; - $this->placeholders['[[[view]]]'] = $viewName_single; - $this->placeholders['[[[View]]]'] = $viewName_f; - $this->placeholders['[[[VIEW]]]'] = $viewName_u; - // set license per view if needed $this->setLockLicensePer($viewName_single, $this->target); $this->setLockLicensePer($viewName_list, $this->target); // ###FIELDSETS### <<>> - $this->fileContentDynamic[$viewName_single]['###FIELDSETS###'] = $this->setFieldSet($view, $this->fileContentStatic['###component###']); + $this->fileContentDynamic[$viewName_single]['###FIELDSETS###'] = $this->setFieldSet($view, $this->fileContentStatic['###component###'], $viewName_single, $viewName_list); // ###ACCESSCONTROL### <<>> $this->fileContentDynamic[$viewName_single]['###ACCESSCONTROL###'] = $this->setFieldSetAccessControl($viewName_single); @@ -391,35 +380,15 @@ class Infusion extends Interpretation } } // set the views names - if ($view['settings']->name_list != 'null') + if (isset($view['settings']->name_list) && $view['settings']->name_list != 'null') { $this->lang = 'admin'; - // ###VIEWS### <<>> - $viewsName_u = ComponentbuilderHelper::safeString($view['settings']->name_list, 'U'); - $this->fileContentDynamic[$viewName_list]['###VIEWS###'] = $viewsName_u; - $this->fileContentDynamic[$viewName_single]['###VIEWS###'] = $viewsName_u; - // ###Views### <<>> - $viewsName_f = ComponentbuilderHelper::safeString($view['settings']->name_list, 'F'); - $this->fileContentDynamic[$viewName_list]['###Views###'] = $viewsName_f; - $this->fileContentDynamic[$viewName_single]['###Views###'] = $viewsName_f; - - // ###views### <<>> - $this->fileContentDynamic[$viewName_list]['###views###'] = $viewName_list; - $this->fileContentDynamic[$viewName_single]['###views###'] = $viewName_list; // ###ICOMOON### <<>> $this->fileContentDynamic[$viewName_list]['###ICOMOON###'] = $view['icomoon']; - // set some place holder for the views - $this->placeholders['###views###'] = $viewName_list; - $this->placeholders['###Views###'] = $viewsName_f; - $this->placeholders['###VIEWS###'] = $viewsName_u; - $this->placeholders['[[[views]]]'] = $viewName_list; - $this->placeholders['[[[Views]]]'] = $viewsName_f; - $this->placeholders['[[[VIEWS]]]'] = $viewsName_u; - // set the export/import option - if (isset($view['port']) && $view['port']) + if (isset($view['port']) && $view['port'] || 1 == $view['settings']->add_custom_import) { $this->eximportView[$viewName_list] = true; if (1 == $view['settings']->add_custom_import) @@ -1083,6 +1052,82 @@ class Infusion extends Interpretation return false; } + /** + * Set the view place holders to global scope + * + * @param object $view The view settings + * + * @ return void + */ + protected function setViewPlaceholders(&$view) + { + // just to be safe, lets clear previous view placeholders + $this->clearFromPlaceHolders('view'); + + // ###VIEW### <<>> + if (isset($view->name_single)) + { + // set main keys + $viewName_single = ComponentbuilderHelper::safeString($view->name_single); + $viewName_u = ComponentbuilderHelper::safeString($view->name_single, 'U'); + $viewName_f = ComponentbuilderHelper::safeString($view->name_single, 'F'); + + // set some place holder for the views + $this->placeholders['###view###'] = $viewName_single; + $this->placeholders['###View###'] = $viewName_f; + $this->placeholders['###VIEW###'] = $viewName_u; + $this->placeholders['[[[view]]]'] = $viewName_single; + $this->placeholders['[[[View]]]'] = $viewName_f; + $this->placeholders['[[[VIEW]]]'] = $viewName_u; + } + + // ###VIEWS### <<>> + if (isset($view->name_list)) + { + $viewName_list = ComponentbuilderHelper::safeString($view->name_list); + $viewsName_u = ComponentbuilderHelper::safeString($view->name_list, 'U'); + $viewsName_f = ComponentbuilderHelper::safeString($view->name_list, 'F'); + + // set some place holder for the views + $this->placeholders['###views###'] = $viewName_list; + $this->placeholders['###Views###'] = $viewsName_f; + $this->placeholders['###VIEWS###'] = $viewsName_u; + $this->placeholders['[[[views]]]'] = $viewName_list; + $this->placeholders['[[[Views]]]'] = $viewsName_f; + $this->placeholders['[[[VIEWS]]]'] = $viewsName_u; + } + + // ###view### <<>> + if (isset($viewName_single)) + { + $this->fileContentDynamic[$viewName_single]['###view###'] = $viewName_single; + $this->fileContentDynamic[$viewName_single]['###VIEW###'] = $viewName_u; + $this->fileContentDynamic[$viewName_single]['###View###'] = $viewName_f; + + if (isset($viewName_list)) + { + $this->fileContentDynamic[$viewName_list]['###view###'] = $viewName_single; + $this->fileContentDynamic[$viewName_list]['###VIEW###'] = $viewName_u; + $this->fileContentDynamic[$viewName_list]['###View###'] = $viewName_f; + } + } + + // ###views### <<>> + if (isset($viewName_list)) + { + $this->fileContentDynamic[$viewName_list]['###views###'] = $viewName_list; + $this->fileContentDynamic[$viewName_list]['###VIEWS###'] = $viewsName_u; + $this->fileContentDynamic[$viewName_list]['###Views###'] = $viewsName_f; + + if (isset($viewName_single)) + { + $this->fileContentDynamic[$viewName_single]['###views###'] = $viewName_list; + $this->fileContentDynamic[$viewName_single]['###VIEWS###'] = $viewsName_u; + $this->fileContentDynamic[$viewName_single]['###Views###'] = $viewsName_f; + } + } + } + /** * Build the lang values and insert to fiel * diff --git a/admin/helpers/componentbuilder.php b/admin/helpers/componentbuilder.php index 48f055ea3..16bdd3081 100644 --- a/admin/helpers/componentbuilder.php +++ b/admin/helpers/componentbuilder.php @@ -157,7 +157,709 @@ abstract class ComponentbuilderHelper } return $object; } - + + public static function getImportScripts($type, $fieldName = false) + { + // if field name is passed the convert to type + if ($fieldName) + { + $fieldNames = array( + 'php_import_display' => 'display', + 'php_import_setdata' => 'setdata', + 'php_import_save' => 'save', + 'html_import_view' => 'view', + 'php_import' => 'import', + 'php_import_ext' => 'ext', + 'php_import_headers' => 'headers' + ); + // first check if the field name is found + if (isset($fieldNames[$type])) + { + $type = $fieldNames[$type]; + } + else + { + return ''; + } + } + $script = array(); + if ('display' === $type) + { + // set the display script + $script['display'][] = "\tprotected \$headerList;"; + $script['display'][] = "\tprotected \$hasPackage = false;"; + $script['display'][] = "\tprotected \$headers;"; + $script['display'][] = "\tprotected \$hasHeader = 0;"; + $script['display'][] = "\tprotected \$dataType;"; + $script['display'][] = "\n\tpublic function display(\$tpl = null)"; + $script['display'][] = "\t{"; + $script['display'][] = "\t\tif (\$this->getLayout() !== 'modal')"; + $script['display'][] = "\t\t{"; + $script['display'][] = "\t\t\t// Include helper submenu"; + $script['display'][] = "\t\t\t###-#-#-Component###Helper::addSubmenu('import');"; + $script['display'][] = "\t\t}"; + $script['display'][] = "\n\t\t\$paths = new stdClass;"; + $script['display'][] = "\t\t\$paths->first = '';"; + $script['display'][] = "\t\t\$state = \$this->get('state');"; + $script['display'][] = "\n\t\t\$this->paths = &\$paths;"; + $script['display'][] = "\t\t\$this->state = &\$state;"; + $script['display'][] = "\t\t// get global action permissions"; + $script['display'][] = "\t\t\$this->canDo = ###-#-#-Component###Helper::getActions('import');"; + $script['display'][] = "\n\t\t// We don't need toolbar in the modal window."; + $script['display'][] = "\t\tif (\$this->getLayout() !== 'modal')"; + $script['display'][] = "\t\t{"; + $script['display'][] = "\t\t\t\$this->addToolbar();"; + $script['display'][] = "\t\t\t\$this->sidebar = JHtmlSidebar::render();"; + $script['display'][] = "\t\t}"; + $script['display'][] = "\n\t\t// get the session object"; + $script['display'][] = "\t\t\$session = JFactory::getSession();"; + $script['display'][] = "\t\t// check if it has package"; + $script['display'][] = "\t\t\$this->hasPackage \t= \$session->get('hasPackage', false);"; + $script['display'][] = "\t\t\$this->dataType \t= \$session->get('dataType', false);"; + $script['display'][] = "\t\tif(\$this->hasPackage && \$this->dataType)"; + $script['display'][] = "\t\t{"; + $script['display'][] = "\t\t\t\$this->headerList \t= json_decode(\$session->get(\$this->dataType.'_VDM_IMPORTHEADERS', false),true);"; + $script['display'][] = "\t\t\t\$this->headers \t\t= ###-#-#-Component###Helper::getFileHeaders(\$this->dataType);"; + $script['display'][] = "\t\t\t// clear the data type"; + $script['display'][] = "\t\t\t\$session->clear('dataType');"; + $script['display'][] = "\t\t}"; + $script['display'][] = "\n\t\t// Check for errors."; + $script['display'][] = "\t\tif (count(\$errors = \$this->get('Errors'))){"; + $script['display'][] = "\t\t\tthrow new Exception(implode(".'"\n", $errors), 500);'; + $script['display'][] = "\t\t}"; + $script['display'][] = "\n\t\t// Display the template"; + $script['display'][] = "\t\tparent::display(\$tpl);"; + $script['display'][] = "\t}"; + } + elseif ('setdata' === $type) + { + // set the setdata script + $script['setdata'] = array(); + $script['setdata'][] = "\t/**"; + $script['setdata'][] = "\t* Set the data from the spreadsheet to the database"; + $script['setdata'][] = "\t*"; + $script['setdata'][] = "\t* @param string \$package Paths to the uploaded package file"; + $script['setdata'][] = "\t*"; + $script['setdata'][] = "\t* @return boolean false on failure"; + $script['setdata'][] = "\t*"; + $script['setdata'][] = "\t**/"; + $script['setdata'][] = "\tprotected function setData(\$package,\$table,\$target_headers)"; + $script['setdata'][] = "\t{"; + $script['setdata'][] = "\t\tif (###-#-#-Component###Helper::checkArray(\$target_headers))"; + $script['setdata'][] = "\t\t{"; + $script['setdata'][] = "\t\t\t// make sure the file is loaded\t\t"; + $script['setdata'][] = "\t\t\tJLoader::import('PHPExcel', JPATH_COMPONENT_ADMINISTRATOR . '/helpers');"; + $script['setdata'][] = "\t\t\t\$jinput = JFactory::getApplication()->input;"; + $script['setdata'][] = "\t\t\tforeach(\$target_headers as \$header)"; + $script['setdata'][] = "\t\t\t{"; + $script['setdata'][] = "\t\t\t\t\$data['target_headers'][\$header] = \$jinput->getString(\$header, null);"; + $script['setdata'][] = "\t\t\t}"; + $script['setdata'][] = "\t\t\t// set the data"; + $script['setdata'][] = "\t\t\tif(isset(\$package['dir']))"; + $script['setdata'][] = "\t\t\t{"; + $script['setdata'][] = "\t\t\t\t\$inputFileType = PHPExcel_IOFactory::identify(\$package['dir']);"; + $script['setdata'][] = "\t\t\t\t\$excelReader = PHPExcel_IOFactory::createReader(\$inputFileType);"; + $script['setdata'][] = "\t\t\t\t\$excelReader->setReadDataOnly(true);"; + $script['setdata'][] = "\t\t\t\t\$excelObj = \$excelReader->load(\$package['dir']);"; + $script['setdata'][] = "\t\t\t\t\$data['array'] = \$excelObj->getActiveSheet()->toArray(null, true,true,true);"; + $script['setdata'][] = "\t\t\t\t\$excelObj->disconnectWorksheets();"; + $script['setdata'][] = "\t\t\t\tunset(\$excelObj);"; + $script['setdata'][] = "\t\t\t\treturn \$this->save(\$data,\$table);"; + $script['setdata'][] = "\t\t\t}"; + $script['setdata'][] = "\t\t}"; + $script['setdata'][] = "\t\treturn false;"; + $script['setdata'][] = "\t}"; + } + elseif ('headers' === $type) + { + $script['headers'] = array(); + $script['headers'][] = "\t/**"; + $script['headers'][] = "\t* Method to get header."; + $script['headers'][] = "\t*"; + $script['headers'][] = "\t* @return mixed An array of data items on success, false on failure."; + $script['headers'][] = "\t*/"; + $script['headers'][] = "\tpublic function getExImPortHeaders()"; + $script['headers'][] = "\t{"; + $script['headers'][] = "\t\t// Get a db connection."; + $script['headers'][] = "\t\t\$db = JFactory::getDbo();"; + $script['headers'][] = "\t\t// get the columns"; + $script['headers'][] = "\t\t\$columns = \$db->getTableColumns(\"#__###-#-#-component###_###-#-#-view###\");"; + $script['headers'][] = "\t\tif (###-#-#-Component###Helper::checkArray(\$columns))"; + $script['headers'][] = "\t\t{"; + $script['headers'][] = "\t\t\t// remove the headers you don't import/export."; + $script['headers'][] = "\t\t\tunset(\$columns['asset_id']);"; + $script['headers'][] = "\t\t\tunset(\$columns['checked_out']);"; + $script['headers'][] = "\t\t\tunset(\$columns['checked_out_time']);"; + $script['headers'][] = "\t\t\t\$headers = new stdClass();"; + $script['headers'][] = "\t\t\tforeach (\$columns as \$column => \$type)"; + $script['headers'][] = "\t\t\t{"; + $script['headers'][] = "\t\t\t\t\$headers->{\$column} = \$column;"; + $script['headers'][] = "\t\t\t}"; + $script['headers'][] = "\t\t\treturn \$headers;"; + $script['headers'][] = "\t\t}"; + $script['headers'][] = "\t\treturn false;"; + $script['headers'][] = "\t}"; + } + elseif ('save' === $type) + { + $script['save'] = array(); + $script['save'][] = "\t/**"; + $script['save'][] = "\t* Save the data from the file to the database"; + $script['save'][] = "\t*"; + $script['save'][] = "\t* @param string \$package Paths to the uploaded package file"; + $script['save'][] = "\t*"; + $script['save'][] = "\t* @return boolean false on failure"; + $script['save'][] = "\t*"; + $script['save'][] = "\t**/"; + $script['save'][] = "\tprotected function save(\$data,\$table)"; + $script['save'][] = "\t{"; + $script['save'][] = "\t\t// import the data if there is any"; + $script['save'][] = "\t\tif(###-#-#-Component###Helper::checkArray(\$data['array']))"; + $script['save'][] = "\t\t{"; + $script['save'][] = "\t\t\t// get user object"; + $script['save'][] = "\t\t\t\$user \t\t= JFactory::getUser();"; + $script['save'][] = "\t\t\t// remove header if it has headers"; + $script['save'][] = "\t\t\t\$id_key \t= \$data['target_headers']['id'];"; + $script['save'][] = "\t\t\t\$published_key \t= \$data['target_headers']['published'];"; + $script['save'][] = "\t\t\t\$ordering_key \t= \$data['target_headers']['ordering'];"; + $script['save'][] = "\t\t\t// get the first array set"; + $script['save'][] = "\t\t\t\$firstSet = reset(\$data['array']);"; + $script['save'][] = ""; + $script['save'][] = "\t\t\t// check if first array is a header array and remove if true"; + $script['save'][] = "\t\t\tif(\$firstSet[\$id_key] == 'id' || \$firstSet[\$published_key] == 'published' || \$firstSet[\$ordering_key] == 'ordering')"; + $script['save'][] = "\t\t\t{"; + $script['save'][] = "\t\t\t\tarray_shift(\$data['array']);"; + $script['save'][] = "\t\t\t}"; + $script['save'][] = "\t\t\t"; + $script['save'][] = "\t\t\t// make sure there is still values in array and that it was not only headers"; + $script['save'][] = "\t\t\tif(###-#-#-Component###Helper::checkArray(\$data['array']) && \$user->authorise(\$table.'.import', 'com_###-#-#-component###') && \$user->authorise('core.import', 'com_###-#-#-component###'))"; + $script['save'][] = "\t\t\t{"; + $script['save'][] = "\t\t\t\t// set target."; + $script['save'][] = "\t\t\t\t\$target\t= array_flip(\$data['target_headers']);"; + $script['save'][] = "\t\t\t\t// Get a db connection."; + $script['save'][] = "\t\t\t\t\$db = JFactory::getDbo();"; + $script['save'][] = "\t\t\t\t// set some defaults"; + $script['save'][] = "\t\t\t\t\$todayDate\t\t= JFactory::getDate()->toSql();"; + $script['save'][] = "\t\t\t\t// get global action permissions"; + $script['save'][] = "\t\t\t\t\$canDo\t\t\t= ###-#-#-Component###Helper::getActions(\$table);"; + $script['save'][] = "\t\t\t\t\$canEdit\t\t= \$canDo->get('core.edit');"; + $script['save'][] = "\t\t\t\t\$canState\t\t= \$canDo->get('core.edit.state');"; + $script['save'][] = "\t\t\t\t\$canCreate\t\t= \$canDo->get('core.create');"; + $script['save'][] = "\t\t\t\t\$hasAlias\t\t= \$this->getAliasesUsed(\$table);"; + $script['save'][] = "\t\t\t\t// prosses the data"; + $script['save'][] = "\t\t\t\tforeach(\$data['array'] as \$row)"; + $script['save'][] = "\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\$found = false;"; + $script['save'][] = "\t\t\t\t\tif (isset(\$row[\$id_key]) && is_numeric(\$row[\$id_key]) && \$row[\$id_key] > 0)"; + $script['save'][] = "\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t// raw items import & update!"; + $script['save'][] = "\t\t\t\t\t\t\$query = \$db->getQuery(true);"; + $script['save'][] = "\t\t\t\t\t\t\$query"; + $script['save'][] = "\t\t\t\t\t\t\t->select('version')"; + $script['save'][] = "\t\t\t\t\t\t\t->from(\$db->quoteName('#__###-#-#-component###_'.\$table))"; + $script['save'][] = "\t\t\t\t\t\t\t->where(\$db->quoteName('id') . ' = '. \$db->quote(\$row[\$id_key]));"; + $script['save'][] = "\t\t\t\t\t\t// Reset the query using our newly populated query object."; + $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; + $script['save'][] = "\t\t\t\t\t\t\$db->execute();"; + $script['save'][] = "\t\t\t\t\t\t\$found = \$db->getNumRows();"; + $script['save'][] = "\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t"; + $script['save'][] = "\t\t\t\t\tif(\$found && \$canEdit)"; + $script['save'][] = "\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t// update item"; + $script['save'][] = "\t\t\t\t\t\t\$id \t\t= \$row[\$id_key];"; + $script['save'][] = "\t\t\t\t\t\t\$version\t= \$db->loadResult();"; + $script['save'][] = "\t\t\t\t\t\t// reset all buckets"; + $script['save'][] = "\t\t\t\t\t\t\$query \t\t= \$db->getQuery(true);"; + $script['save'][] = "\t\t\t\t\t\t\$fields \t= array();"; + $script['save'][] = "\t\t\t\t\t\t// Fields to update."; + $script['save'][] = "\t\t\t\t\t\tforeach(\$row as \$key => \$cell)"; + $script['save'][] = "\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t// ignore column"; + $script['save'][] = "\t\t\t\t\t\t\tif ('IGNORE' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// update modified"; + $script['save'][] = "\t\t\t\t\t\t\tif ('modified_by' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// update modified"; + $script['save'][] = "\t\t\t\t\t\t\tif ('modified' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// update version"; + $script['save'][] = "\t\t\t\t\t\t\tif ('version' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = (int) \$version + 1;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// verify publish authority"; + $script['save'][] = "\t\t\t\t\t\t\tif ('published' == \$target[\$key] && !\$canState)"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// set to update array"; + $script['save'][] = "\t\t\t\t\t\t\tif(in_array(\$key, \$data['target_headers']) && is_numeric(\$cell))"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . ' = ' . \$cell;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_string(\$cell))"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . ' = ' . \$db->quote(\$cell);"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_null(\$cell))"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t// if import data is null then set empty"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . \" = ''\";"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t// load the defaults"; + $script['save'][] = "\t\t\t\t\t\t\$fields[]\t= \$db->quoteName('modified_by') . ' = ' . \$db->quote(\$user->id);"; + $script['save'][] = "\t\t\t\t\t\t\$fields[]\t= \$db->quoteName('modified') . ' = ' . \$db->quote(\$todayDate);"; + $script['save'][] = "\t\t\t\t\t\t// Conditions for which records should be updated."; + $script['save'][] = "\t\t\t\t\t\t\$conditions = array("; + $script['save'][] = "\t\t\t\t\t\t\t\$db->quoteName('id') . ' = ' . \$id"; + $script['save'][] = "\t\t\t\t\t\t);"; + $script['save'][] = "\t\t\t\t\t\t"; + $script['save'][] = "\t\t\t\t\t\t\$query->update(\$db->quoteName('#__###-#-#-component###_'.\$table))->set(\$fields)->where(\$conditions);"; + $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; + $script['save'][] = "\t\t\t\t\t\t\$db->execute();"; + $script['save'][] = "\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\telseif (\$canCreate)"; + $script['save'][] = "\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t// insert item"; + $script['save'][] = "\t\t\t\t\t\t\$query = \$db->getQuery(true);"; + $script['save'][] = "\t\t\t\t\t\t// reset all buckets"; + $script['save'][] = "\t\t\t\t\t\t\$columns \t= array();"; + $script['save'][] = "\t\t\t\t\t\t\$values \t= array();"; + $script['save'][] = "\t\t\t\t\t\t\$version\t= false;"; + $script['save'][] = "\t\t\t\t\t\t// Insert columns. Insert values."; + $script['save'][] = "\t\t\t\t\t\tforeach(\$row as \$key => \$cell)"; + $script['save'][] = "\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t// ignore column"; + $script['save'][] = "\t\t\t\t\t\t\tif ('IGNORE' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// remove id"; + $script['save'][] = "\t\t\t\t\t\t\tif ('id' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// update created"; + $script['save'][] = "\t\t\t\t\t\t\tif ('created_by' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// update created"; + $script['save'][] = "\t\t\t\t\t\t\tif ('created' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// Make sure the alias is incremented"; + $script['save'][] = "\t\t\t\t\t\t\tif ('alias' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = \$this->getAlias(\$cell,\$table);"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// update version"; + $script['save'][] = "\t\t\t\t\t\t\tif ('version' == \$target[\$key])"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = 1;"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$version = true;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\t// set to insert array"; + $script['save'][] = "\t\t\t\t\t\t\tif(in_array(\$key, \$data['target_headers']) && is_numeric(\$cell))"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \$cell;"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_string(\$cell))"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \$db->quote(\$cell);"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_null(\$cell))"; + $script['save'][] = "\t\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\t// if import data is null then set empty"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; + $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \"''\";"; + $script['save'][] = "\t\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t// load the defaults"; + $script['save'][] = "\t\t\t\t\t\t\$columns[] \t= 'created_by';"; + $script['save'][] = "\t\t\t\t\t\t\$values[] \t= \$db->quote(\$user->id);"; + $script['save'][] = "\t\t\t\t\t\t\$columns[] \t= 'created';"; + $script['save'][] = "\t\t\t\t\t\t\$values[] \t= \$db->quote(\$todayDate);"; + $script['save'][] = "\t\t\t\t\t\tif (!\$version)"; + $script['save'][] = "\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\$columns[] \t= 'version';"; + $script['save'][] = "\t\t\t\t\t\t\t\$values[] \t= 1;"; + $script['save'][] = "\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t\t// Prepare the insert query."; + $script['save'][] = "\t\t\t\t\t\t\$query"; + $script['save'][] = "\t\t\t\t\t\t\t->insert(\$db->quoteName('#__###-#-#-component###_'.\$table))"; + $script['save'][] = "\t\t\t\t\t\t\t->columns(\$db->quoteName(\$columns))"; + $script['save'][] = "\t\t\t\t\t\t\t->values(implode(',', \$values));"; + $script['save'][] = "\t\t\t\t\t\t// Set the query using our newly populated query object and execute it."; + $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; + $script['save'][] = "\t\t\t\t\t\t\$done = \$db->execute();"; + $script['save'][] = "\t\t\t\t\t\tif (\$done)"; + $script['save'][] = "\t\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\t\t\$aId = \$db->insertid();"; + $script['save'][] = "\t\t\t\t\t\t\t// make sure the access of asset is set"; + $script['save'][] = "\t\t\t\t\t\t\t###-#-#-Component###Helper::setAsset(\$aId,\$table);"; + $script['save'][] = "\t\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t\telse"; + $script['save'][] = "\t\t\t\t\t{"; + $script['save'][] = "\t\t\t\t\t\treturn false;"; + $script['save'][] = "\t\t\t\t\t}"; + $script['save'][] = "\t\t\t\t}"; + $script['save'][] = "\t\t\t\treturn true;"; + $script['save'][] = "\t\t\t}"; + $script['save'][] = "\t\t}"; + $script['save'][] = "\t\treturn false;"; + $script['save'][] = "\t}"; + } + elseif ('view' === $type) + { + $script['view'] = array(); + $script['view'][] = ""; + $script['view'][] = ""; + $script['view'][] = "\n
"; + $script['view'][] = "
\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; + $script['view'][] = ""; + $script['view'][] = "\n\tsidebar)) : ?>"; + $script['view'][] = "\t\t
"; + $script['view'][] = "\t\t\tsidebar; ?>"; + $script['view'][] = "\t\t
"; + $script['view'][] = "\t\t
"; + $script['view'][] = "\t"; + $script['view'][] = "\t\t
"; + $script['view'][] = "\t"; + $script['view'][] = ""; + $script['view'][] = "\n\thasPackage && ###-#-#-Component###Helper::checkArray(\$this->headerList) && ###-#-#-Component###Helper::checkArray(\$this->headers)) : ?>"; + $script['view'][] = "\t\t
"; + $script['view'][] = "\t\t\t"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t\t\t"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t\theaderList as \$name => \$title): ?>"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t\t\t\" onclick=\"Joomla.continueImport()\" />"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t
"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t"; + $script['view'][] = "\t\t 'upload')); ?>"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t\t\t"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton()\" />    (.csv .xls .ods)"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t\t\t"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\tstate->get('import.directory'); ?>\" />"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton3()\" />    (.csv .xls .ods)"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t"; + $script['view'][] = ""; + $script['view'][] = "\n\t\t"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t\t\t"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\t"; + $script['view'][] = "\t\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton4()\" />    (.csv .xls .ods)"; + $script['view'][] = "\t\t\t\t
"; + $script['view'][] = "\t\t\t
"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t\t"; + $script['view'][] = "\t"; + $script['view'][] = "\t"; + $script['view'][] = "\t"; + $script['view'][] = ""; + $script['view'][] = "
"; + } + elseif ('import' === $type) + { + $script['import'] = array(); + $script['import'][] = "\t/**"; + $script['import'][] = "\t * Import an spreadsheet from either folder, url or upload."; + $script['import'][] = "\t *"; + $script['import'][] = "\t * @return boolean result of import"; + $script['import'][] = "\t *"; + $script['import'][] = "\t */"; + $script['import'][] = "\tpublic function import()"; + $script['import'][] = "\t{"; + $script['import'][] = "\t\t\$this->setState('action', 'import');"; + $script['import'][] = "\t\t\$app \t\t= JFactory::getApplication();"; + $script['import'][] = "\t\t\$session \t= JFactory::getSession();"; + $script['import'][] = "\t\t\$package \t= null;"; + $script['import'][] = "\t\t\$continue\t= false;"; + $script['import'][] = "\t\t// get import type"; + $script['import'][] = "\t\t\$this->getType = \$app->input->getString('gettype', NULL);"; + $script['import'][] = "\t\t// get import type"; + $script['import'][] = "\t\t\$this->dataType\t= \$session->get('dataType_VDM_IMPORTINTO', NULL);"; + $script['import'][] = "\n\t\tif (\$package === null)"; + $script['import'][] = "\t\t{"; + $script['import'][] = "\t\t\tswitch (\$this->getType)"; + $script['import'][] = "\t\t\t{"; + $script['import'][] = "\t\t\t\tcase 'folder':"; + $script['import'][] = "\t\t\t\t\t// Remember the 'Import from Directory' path."; + $script['import'][] = "\t\t\t\t\t\$app->getUserStateFromRequest(\$this->_context . '.import_directory', 'import_directory');"; + $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromFolder();"; + $script['import'][] = "\t\t\t\t\tbreak;"; + $script['import'][] = "\n\t\t\t\tcase 'upload':"; + $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromUpload();"; + $script['import'][] = "\t\t\t\t\tbreak;"; + $script['import'][] = "\n\t\t\t\tcase 'url':"; + $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromUrl();"; + $script['import'][] = "\t\t\t\t\tbreak;"; + $script['import'][] = "\n\t\t\t\tcase 'continue':"; + $script['import'][] = "\t\t\t\t\t\$continue \t= true;"; + $script['import'][] = "\t\t\t\t\t\$package\t= \$session->get('package', null);"; + $script['import'][] = "\t\t\t\t\t\$package\t= json_decode(\$package, true);"; + $script['import'][] = "\t\t\t\t\t// clear session"; + $script['import'][] = "\t\t\t\t\t\$session->clear('package');"; + $script['import'][] = "\t\t\t\t\t\$session->clear('dataType');"; + $script['import'][] = "\t\t\t\t\t\$session->clear('hasPackage');"; + $script['import'][] = "\t\t\t\t\tbreak;"; + $script['import'][] = "\n\t\t\t\tdefault:"; + $script['import'][] = "\t\t\t\t\t\$app->setUserState('com_###-#-#-component###.message', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_NO_IMPORT_TYPE_FOUND'));"; + $script['import'][] = "\n\t\t\t\t\treturn false;"; + $script['import'][] = "\t\t\t\t\tbreak;"; + $script['import'][] = "\t\t\t}"; + $script['import'][] = "\t\t}"; + $script['import'][] = "\t\t// Was the package valid?"; + $script['import'][] = "\t\tif (!\$package || !\$package['type'])"; + $script['import'][] = "\t\t{"; + $script['import'][] = "\t\t\tif (in_array(\$this->getType, array('upload', 'url')))"; + $script['import'][] = "\t\t\t{"; + $script['import'][] = "\t\t\t\t\$this->remove(\$package['packagename']);"; + $script['import'][] = "\t\t\t}"; + $script['import'][] = "\n\t\t\t\$app->setUserState('com_###-#-#-component###.message', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));"; + $script['import'][] = "\t\t\treturn false;"; + $script['import'][] = "\t\t}"; + $script['import'][] = "\t\t"; + $script['import'][] = "\t\t// first link data to table headers"; + $script['import'][] = "\t\tif(!\$continue){"; + $script['import'][] = "\t\t\t\$package\t= json_encode(\$package);"; + $script['import'][] = "\t\t\t\$session->set('package', \$package);"; + $script['import'][] = "\t\t\t\$session->set('dataType', \$this->dataType);"; + $script['import'][] = "\t\t\t\$session->set('hasPackage', true);"; + $script['import'][] = "\t\t\treturn true;"; + $script['import'][] = "\t\t}"; + $script['import'][] = "\t\t// set the data"; + $script['import'][] = "\t\t\$headerList = json_decode(\$session->get(\$this->dataType.'_VDM_IMPORTHEADERS', false), true);"; + $script['import'][] = "\t\tif (!\$this->setData(\$package,\$this->dataType,\$headerList))"; + $script['import'][] = "\t\t{"; + $script['import'][] = "\t\t\t// There was an error importing the package"; + $script['import'][] = "\t\t\t\$msg = JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_ERROR');"; + $script['import'][] = "\t\t\t\$back = \$session->get('backto_VDM_IMPORT', NULL);"; + $script['import'][] = "\t\t\tif (\$back)"; + $script['import'][] = "\t\t\t{"; + $script['import'][] = "\t\t\t\t\$app->setUserState('com_###-#-#-component###.redirect_url', 'index.php?option=com_###-#-#-component###&view='.\$back);"; + $script['import'][] = "\t\t\t\t\$session->clear('backto_VDM_IMPORT');"; + $script['import'][] = "\t\t\t}"; + $script['import'][] = "\t\t\t\$result = false;"; + $script['import'][] = "\t\t}"; + $script['import'][] = "\t\telse"; + $script['import'][] = "\t\t{"; + $script['import'][] = "\t\t\t// Package imported sucessfully"; + $script['import'][] = "\t\t\t\$msg = JTe-#-#-xt::sprintf('COM_###-#-#-COMPONENT###_IMPORT_SUCCESS', \$package['packagename']);"; + $script['import'][] = "\t\t\t\$back = \$session->get('backto_VDM_IMPORT', NULL);"; + $script['import'][] = "\t\t\tif (\$back)"; + $script['import'][] = "\t\t\t{"; + $script['import'][] = "\t\t\t \$app->setUserState('com_###-#-#-component###.redirect_url', 'index.php?option=com_###-#-#-component###&view='.\$back);"; + $script['import'][] = "\t\t\t \$session->clear('backto_VDM_IMPORT');"; + $script['import'][] = "\t\t\t}"; + $script['import'][] = "\t\t\t\$result = true;"; + $script['import'][] = "\t\t}"; + $script['import'][] = "\n\t\t// Set some model state values"; + $script['import'][] = "\t\t\$app->enqueueMessage(\$msg);"; + $script['import'][] = "\n\t\t// remove file after import"; + $script['import'][] = "\t\t\$this->remove(\$package['packagename']);"; + $script['import'][] = "\t\t\$session->clear(\$this->getType.'_VDM_IMPORTHEADERS');"; + $script['import'][] = "\t\treturn \$result;"; + $script['import'][] = "\t}"; + } + elseif ('ext' === $type) + { + $script['ext'][] = "\t/**"; + $script['ext'][] = "\t * Check the extension"; + $script['ext'][] = "\t *"; + $script['ext'][] = "\t * @param string \$file Name of the uploaded file"; + $script['ext'][] = "\t *"; + $script['ext'][] = "\t * @return boolean True on success"; + $script['ext'][] = "\t *"; + $script['ext'][] = "\t */"; + $script['ext'][] = "\tprotected function checkExtension(\$file)"; + $script['ext'][] = "\t{"; + $script['ext'][] = "\t\t// check the extention"; + $script['ext'][] = "\t\tswitch(strtolower(pathinfo(\$file, PATHINFO_EXTENSION)))"; + $script['ext'][] = "\t\t{"; + $script['ext'][] = "\t\t\tcase 'xls':"; + $script['ext'][] = "\t\t\tcase 'ods':"; + $script['ext'][] = "\t\t\tcase 'csv':"; + $script['ext'][] = "\t\t\treturn true;"; + $script['ext'][] = "\t\t\tbreak;"; + $script['ext'][] = "\t\t}"; + $script['ext'][] = "\t\treturn false;"; + $script['ext'][] = "\t}"; + } + // return the needed script + if (isset($script[$type])) + { + return str_replace('-#-#-', '', implode("\n",$script[$type])); + } + return false; + } + /** * Run Global Updater if any are set * @@ -935,678 +1637,7 @@ abstract class ComponentbuilderHelper } return false; } - - public static function getImportScripts($type, $fieldName = false) - { - // if field name is pased the convert to type - if ($fieldName) - { - $fieldNames = array( - 'php_import_display' => 'display', - 'php_import_setdata' => 'setdata', - 'php_import_save' => 'save', - 'html_import_view' => 'view', - 'php_import' => 'import', - 'php_import_ext' => 'ext' - ); - // first check if the field name is found - if (isset($fieldNames[$type])) - { - $type = $fieldNames[$type]; - } - else - { - return ''; - } - } - $script = array(); - if ('display' === $type) - { - // set the display script - $script['display'][] = "\tprotected \$headerList;"; - $script['display'][] = "\tprotected \$hasPackage = false;"; - $script['display'][] = "\tprotected \$headers;"; - $script['display'][] = "\tprotected \$hasHeader = 0;"; - $script['display'][] = "\tprotected \$dataType;"; - $script['display'][] = "\n\tpublic function display(\$tpl = null)"; - $script['display'][] = "\t{"; - $script['display'][] = "\t\tif (\$this->getLayout() !== 'modal')"; - $script['display'][] = "\t\t{"; - $script['display'][] = "\t\t\t// Include helper submenu"; - $script['display'][] = "\t\t\t###-#-#-Component###Helper::addSubmenu('import');"; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t\$paths = new stdClass;"; - $script['display'][] = "\t\t\$paths->first = '';"; - $script['display'][] = "\t\t\$state = \$this->get('state');"; - $script['display'][] = "\n\t\t\$this->paths = &\$paths;"; - $script['display'][] = "\t\t\$this->state = &\$state;"; - $script['display'][] = "\t\t// get global action permissions"; - $script['display'][] = "\t\t\$this->canDo = ###-#-#-Component###Helper::getActions('import');"; - $script['display'][] = "\n\t\t// We don't need toolbar in the modal window."; - $script['display'][] = "\t\tif (\$this->getLayout() !== 'modal')"; - $script['display'][] = "\t\t{"; - $script['display'][] = "\t\t\t\$this->addToolbar();"; - $script['display'][] = "\t\t\t\$this->sidebar = JHtmlSidebar::render();"; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t// get the session object"; - $script['display'][] = "\t\t\$session = JFactory::getSession();"; - $script['display'][] = "\t\t// check if it has package"; - $script['display'][] = "\t\t\$this->hasPackage \t= \$session->get('hasPackage', false);"; - $script['display'][] = "\t\t\$this->dataType \t= \$session->get('dataType', false);"; - $script['display'][] = "\t\tif(\$this->hasPackage && \$this->dataType)"; - $script['display'][] = "\t\t{"; - $script['display'][] = "\t\t\t\$this->headerList \t= json_decode(\$session->get(\$this->dataType.'_VDM_IMPORTHEADERS', false),true);"; - $script['display'][] = "\t\t\t\$this->headers \t\t= ###-#-#-Component###Helper::getFileHeaders(\$this->dataType);"; - $script['display'][] = "\t\t\t// clear the data type"; - $script['display'][] = "\t\t\t\$session->clear('dataType');"; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t// Check for errors."; - $script['display'][] = "\t\tif (count(\$errors = \$this->get('Errors'))){"; - $script['display'][] = "\t\t\tthrow new Exception(implode(".'"\n", $errors), 500);'; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t// Display the template"; - $script['display'][] = "\t\tparent::display(\$tpl);"; - $script['display'][] = "\t}"; - } - elseif ('setdata' === $type) - { - // set the setdata script - $script['setdata'] = array(); - $script['setdata'][] = "\t/**"; - $script['setdata'][] = "\t* Set the data from the spreadsheet to the database"; - $script['setdata'][] = "\t*"; - $script['setdata'][] = "\t* @param string \$package Paths to the uploaded package file"; - $script['setdata'][] = "\t*"; - $script['setdata'][] = "\t* @return boolean false on failure"; - $script['setdata'][] = "\t*"; - $script['setdata'][] = "\t**/"; - $script['setdata'][] = "\tprotected function setData(\$package,\$table,\$target_headers)"; - $script['setdata'][] = "\t{"; - $script['setdata'][] = "\t\tif (###-#-#-Component###Helper::checkArray(\$target_headers))"; - $script['setdata'][] = "\t\t{"; - $script['setdata'][] = "\t\t\t// make sure the file is loaded\t\t"; - $script['setdata'][] = "\t\t\tJLoader::import('PHPExcel', JPATH_COMPONENT_ADMINISTRATOR . '/helpers');"; - $script['setdata'][] = "\t\t\t\$jinput = JFactory::getApplication()->input;"; - $script['setdata'][] = "\t\t\tforeach(\$target_headers as \$header)"; - $script['setdata'][] = "\t\t\t{"; - $script['setdata'][] = "\t\t\t\t\$data['target_headers'][\$header] = \$jinput->getString(\$header, null);"; - $script['setdata'][] = "\t\t\t}"; - $script['setdata'][] = "\t\t\t// set the data"; - $script['setdata'][] = "\t\t\tif(isset(\$package['dir']))"; - $script['setdata'][] = "\t\t\t{"; - $script['setdata'][] = "\t\t\t\t\$inputFileType = PHPExcel_IOFactory::identify(\$package['dir']);"; - $script['setdata'][] = "\t\t\t\t\$excelReader = PHPExcel_IOFactory::createReader(\$inputFileType);"; - $script['setdata'][] = "\t\t\t\t\$excelReader->setReadDataOnly(true);"; - $script['setdata'][] = "\t\t\t\t\$excelObj = \$excelReader->load(\$package['dir']);"; - $script['setdata'][] = "\t\t\t\t\$data['array'] = \$excelObj->getActiveSheet()->toArray(null, true,true,true);"; - $script['setdata'][] = "\t\t\t\t\$excelObj->disconnectWorksheets();"; - $script['setdata'][] = "\t\t\t\tunset(\$excelObj);"; - $script['setdata'][] = "\t\t\t\treturn \$this->save(\$data,\$table);"; - $script['setdata'][] = "\t\t\t}"; - $script['setdata'][] = "\t\t}"; - $script['setdata'][] = "\t\treturn false;"; - $script['setdata'][] = "\t}"; - } - elseif ('save' === $type) - { - $script['save'] = array(); - $script['save'][] = "\t/**"; - $script['save'][] = "\t* Save the data from the file to the database"; - $script['save'][] = "\t*"; - $script['save'][] = "\t* @param string \$package Paths to the uploaded package file"; - $script['save'][] = "\t*"; - $script['save'][] = "\t* @return boolean false on failure"; - $script['save'][] = "\t*"; - $script['save'][] = "\t**/"; - $script['save'][] = "\tprotected function save(\$data,\$table)"; - $script['save'][] = "\t{"; - $script['save'][] = "\t\t// import the data if there is any"; - $script['save'][] = "\t\tif(###-#-#-Component###Helper::checkArray(\$data['array']))"; - $script['save'][] = "\t\t{"; - $script['save'][] = "\t\t\t// get user object"; - $script['save'][] = "\t\t\t\$user \t\t= JFactory::getUser();"; - $script['save'][] = "\t\t\t// remove header if it has headers"; - $script['save'][] = "\t\t\t\$id_key \t= \$data['target_headers']['id'];"; - $script['save'][] = "\t\t\t\$published_key \t= \$data['target_headers']['published'];"; - $script['save'][] = "\t\t\t\$ordering_key \t= \$data['target_headers']['ordering'];"; - $script['save'][] = "\t\t\t// get the first array set"; - $script['save'][] = "\t\t\t\$firstSet = reset(\$data['array']);"; - $script['save'][] = ""; - $script['save'][] = "\t\t\t// check if first array is a header array and remove if true"; - $script['save'][] = "\t\t\tif(\$firstSet[\$id_key] == 'id' || \$firstSet[\$published_key] == 'published' || \$firstSet[\$ordering_key] == 'ordering')"; - $script['save'][] = "\t\t\t{"; - $script['save'][] = "\t\t\t\tarray_shift(\$data['array']);"; - $script['save'][] = "\t\t\t}"; - $script['save'][] = "\t\t\t"; - $script['save'][] = "\t\t\t// make sure there is still values in array and that it was not only headers"; - $script['save'][] = "\t\t\tif(###-#-#-Component###Helper::checkArray(\$data['array']) && \$user->authorise(\$table.'.import', 'com_###-#-#-component###') && \$user->authorise('core.import', 'com_###-#-#-component###'))"; - $script['save'][] = "\t\t\t{"; - $script['save'][] = "\t\t\t\t// set target."; - $script['save'][] = "\t\t\t\t\$target\t= array_flip(\$data['target_headers']);"; - $script['save'][] = "\t\t\t\t// Get a db connection."; - $script['save'][] = "\t\t\t\t\$db = JFactory::getDbo();"; - $script['save'][] = "\t\t\t\t// set some defaults"; - $script['save'][] = "\t\t\t\t\$todayDate\t\t= JFactory::getDate()->toSql();"; - $script['save'][] = "\t\t\t\t// get global action permissions"; - $script['save'][] = "\t\t\t\t\$canDo\t\t\t= ###-#-#-Component###Helper::getActions(\$table);"; - $script['save'][] = "\t\t\t\t\$canEdit\t\t= \$canDo->get('core.edit');"; - $script['save'][] = "\t\t\t\t\$canState\t\t= \$canDo->get('core.edit.state');"; - $script['save'][] = "\t\t\t\t\$canCreate\t\t= \$canDo->get('core.create');"; - $script['save'][] = "\t\t\t\t\$hasAlias\t\t= \$this->getAliasesUsed(\$table);"; - $script['save'][] = "\t\t\t\t// prosses the data"; - $script['save'][] = "\t\t\t\tforeach(\$data['array'] as \$row)"; - $script['save'][] = "\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\$found = false;"; - $script['save'][] = "\t\t\t\t\tif (isset(\$row[\$id_key]) && is_numeric(\$row[\$id_key]) && \$row[\$id_key] > 0)"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t// raw items import & update!"; - $script['save'][] = "\t\t\t\t\t\t\$query = \$db->getQuery(true);"; - $script['save'][] = "\t\t\t\t\t\t\$query"; - $script['save'][] = "\t\t\t\t\t\t\t->select('version')"; - $script['save'][] = "\t\t\t\t\t\t\t->from(\$db->quoteName('#__###-#-#-component###_'.\$table))"; - $script['save'][] = "\t\t\t\t\t\t\t->where(\$db->quoteName('id') . ' = '. \$db->quote(\$row[\$id_key]));"; - $script['save'][] = "\t\t\t\t\t\t// Reset the query using our newly populated query object."; - $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; - $script['save'][] = "\t\t\t\t\t\t\$db->execute();"; - $script['save'][] = "\t\t\t\t\t\t\$found = \$db->getNumRows();"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t"; - $script['save'][] = "\t\t\t\t\tif(\$found && \$canEdit)"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t// update item"; - $script['save'][] = "\t\t\t\t\t\t\$id \t\t= \$row[\$id_key];"; - $script['save'][] = "\t\t\t\t\t\t\$version\t= \$db->loadResult();"; - $script['save'][] = "\t\t\t\t\t\t// reset all buckets"; - $script['save'][] = "\t\t\t\t\t\t\$query \t\t= \$db->getQuery(true);"; - $script['save'][] = "\t\t\t\t\t\t\$fields \t= array();"; - $script['save'][] = "\t\t\t\t\t\t// Fields to update."; - $script['save'][] = "\t\t\t\t\t\tforeach(\$row as \$key => \$cell)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t// ignore column"; - $script['save'][] = "\t\t\t\t\t\t\tif ('IGNORE' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update modified"; - $script['save'][] = "\t\t\t\t\t\t\tif ('modified_by' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update modified"; - $script['save'][] = "\t\t\t\t\t\t\tif ('modified' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update version"; - $script['save'][] = "\t\t\t\t\t\t\tif ('version' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = (int) \$version + 1;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// verify publish authority"; - $script['save'][] = "\t\t\t\t\t\t\tif ('published' == \$target[\$key] && !\$canState)"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// set to update array"; - $script['save'][] = "\t\t\t\t\t\t\tif(in_array(\$key, \$data['target_headers']) && is_numeric(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . ' = ' . \$cell;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_string(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . ' = ' . \$db->quote(\$cell);"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_null(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t// if import data is null then set empty"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . \" = ''\";"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t// load the defaults"; - $script['save'][] = "\t\t\t\t\t\t\$fields[]\t= \$db->quoteName('modified_by') . ' = ' . \$db->quote(\$user->id);"; - $script['save'][] = "\t\t\t\t\t\t\$fields[]\t= \$db->quoteName('modified') . ' = ' . \$db->quote(\$todayDate);"; - $script['save'][] = "\t\t\t\t\t\t// Conditions for which records should be updated."; - $script['save'][] = "\t\t\t\t\t\t\$conditions = array("; - $script['save'][] = "\t\t\t\t\t\t\t\$db->quoteName('id') . ' = ' . \$id"; - $script['save'][] = "\t\t\t\t\t\t);"; - $script['save'][] = "\t\t\t\t\t\t"; - $script['save'][] = "\t\t\t\t\t\t\$query->update(\$db->quoteName('#__###-#-#-component###_'.\$table))->set(\$fields)->where(\$conditions);"; - $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; - $script['save'][] = "\t\t\t\t\t\t\$db->execute();"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\telseif (\$canCreate)"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t// insert item"; - $script['save'][] = "\t\t\t\t\t\t\$query = \$db->getQuery(true);"; - $script['save'][] = "\t\t\t\t\t\t// reset all buckets"; - $script['save'][] = "\t\t\t\t\t\t\$columns \t= array();"; - $script['save'][] = "\t\t\t\t\t\t\$values \t= array();"; - $script['save'][] = "\t\t\t\t\t\t\$version\t= false;"; - $script['save'][] = "\t\t\t\t\t\t// Insert columns. Insert values."; - $script['save'][] = "\t\t\t\t\t\tforeach(\$row as \$key => \$cell)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t// ignore column"; - $script['save'][] = "\t\t\t\t\t\t\tif ('IGNORE' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// remove id"; - $script['save'][] = "\t\t\t\t\t\t\tif ('id' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update created"; - $script['save'][] = "\t\t\t\t\t\t\tif ('created_by' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update created"; - $script['save'][] = "\t\t\t\t\t\t\tif ('created' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// Make sure the alias is incremented"; - $script['save'][] = "\t\t\t\t\t\t\tif ('alias' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = \$this->getAlias(\$cell,\$table);"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update version"; - $script['save'][] = "\t\t\t\t\t\t\tif ('version' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = 1;"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$version = true;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// set to insert array"; - $script['save'][] = "\t\t\t\t\t\t\tif(in_array(\$key, \$data['target_headers']) && is_numeric(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \$cell;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_string(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \$db->quote(\$cell);"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_null(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t// if import data is null then set empty"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \"''\";"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t// load the defaults"; - $script['save'][] = "\t\t\t\t\t\t\$columns[] \t= 'created_by';"; - $script['save'][] = "\t\t\t\t\t\t\$values[] \t= \$db->quote(\$user->id);"; - $script['save'][] = "\t\t\t\t\t\t\$columns[] \t= 'created';"; - $script['save'][] = "\t\t\t\t\t\t\$values[] \t= \$db->quote(\$todayDate);"; - $script['save'][] = "\t\t\t\t\t\tif (!\$version)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\$columns[] \t= 'version';"; - $script['save'][] = "\t\t\t\t\t\t\t\$values[] \t= 1;"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t// Prepare the insert query."; - $script['save'][] = "\t\t\t\t\t\t\$query"; - $script['save'][] = "\t\t\t\t\t\t\t->insert(\$db->quoteName('#__###-#-#-component###_'.\$table))"; - $script['save'][] = "\t\t\t\t\t\t\t->columns(\$db->quoteName(\$columns))"; - $script['save'][] = "\t\t\t\t\t\t\t->values(implode(',', \$values));"; - $script['save'][] = "\t\t\t\t\t\t// Set the query using our newly populated query object and execute it."; - $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; - $script['save'][] = "\t\t\t\t\t\t\$done = \$db->execute();"; - $script['save'][] = "\t\t\t\t\t\tif (\$done)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\$aId = \$db->insertid();"; - $script['save'][] = "\t\t\t\t\t\t\t// make sure the access of asset is set"; - $script['save'][] = "\t\t\t\t\t\t\t###-#-#-Component###Helper::setAsset(\$aId,\$table);"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\telse"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\treturn false;"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t}"; - $script['save'][] = "\t\t\t\treturn true;"; - $script['save'][] = "\t\t\t}"; - $script['save'][] = "\t\t}"; - $script['save'][] = "\t\treturn false;"; - $script['save'][] = "\t}"; - } - elseif ('view' === $type) - { - $script['view'] = array(); - $script['view'][] = ""; - $script['view'][] = ""; - $script['view'][] = "\n
"; - $script['view'][] = "
\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; - $script['view'][] = ""; - $script['view'][] = "\n\tsidebar)) : ?>"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t\tsidebar; ?>"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t"; - $script['view'][] = ""; - $script['view'][] = "\n\thasPackage && ###-#-#-Component###Helper::checkArray(\$this->headerList) && ###-#-#-Component###Helper::checkArray(\$this->headers)) : ?>"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\theaderList as \$name => \$title): ?>"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t\" onclick=\"Joomla.continueImport()\" />"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t"; - $script['view'][] = "\t\t 'upload')); ?>"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton()\" />    (.csv .xls .ods)"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\tstate->get('import.directory'); ?>\" />"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton3()\" />    (.csv .xls .ods)"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = ""; - $script['view'][] = "\n\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton4()\" />    (.csv .xls .ods)"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t"; - $script['view'][] = "\t"; - $script['view'][] = "\t"; - $script['view'][] = ""; - $script['view'][] = "
"; - } - elseif ('import' === $type) - { - $script['import'] = array(); - $script['import'][] = "\t/**"; - $script['import'][] = "\t * Import an spreadsheet from either folder, url or upload."; - $script['import'][] = "\t *"; - $script['import'][] = "\t * @return boolean result of import"; - $script['import'][] = "\t *"; - $script['import'][] = "\t */"; - $script['import'][] = "\tpublic function import()"; - $script['import'][] = "\t{"; - $script['import'][] = "\t\t\$this->setState('action', 'import');"; - $script['import'][] = "\t\t\$app \t\t= JFactory::getApplication();"; - $script['import'][] = "\t\t\$session \t= JFactory::getSession();"; - $script['import'][] = "\t\t\$package \t= null;"; - $script['import'][] = "\t\t\$continue\t= false;"; - $script['import'][] = "\t\t// get import type"; - $script['import'][] = "\t\t\$this->getType = \$app->input->getString('gettype', NULL);"; - $script['import'][] = "\t\t// get import type"; - $script['import'][] = "\t\t\$this->dataType\t= \$session->get('dataType_VDM_IMPORTINTO', NULL);"; - $script['import'][] = "\n\t\tif (\$package === null)"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\tswitch (\$this->getType)"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t\tcase 'folder':"; - $script['import'][] = "\t\t\t\t\t// Remember the 'Import from Directory' path."; - $script['import'][] = "\t\t\t\t\t\$app->getUserStateFromRequest(\$this->_context . '.import_directory', 'import_directory');"; - $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromFolder();"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tcase 'upload':"; - $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromUpload();"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tcase 'url':"; - $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromUrl();"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tcase 'continue':"; - $script['import'][] = "\t\t\t\t\t\$continue \t= true;"; - $script['import'][] = "\t\t\t\t\t\$package\t= \$session->get('package', null);"; - $script['import'][] = "\t\t\t\t\t\$package\t= json_decode(\$package, true);"; - $script['import'][] = "\t\t\t\t\t// clear session"; - $script['import'][] = "\t\t\t\t\t\$session->clear('package');"; - $script['import'][] = "\t\t\t\t\t\$session->clear('dataType');"; - $script['import'][] = "\t\t\t\t\t\$session->clear('hasPackage');"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tdefault:"; - $script['import'][] = "\t\t\t\t\t\$app->setUserState('com_###-#-#-component###.message', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_NO_IMPORT_TYPE_FOUND'));"; - $script['import'][] = "\n\t\t\t\t\treturn false;"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\t// Was the package valid?"; - $script['import'][] = "\t\tif (!\$package || !\$package['type'])"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\tif (in_array(\$this->getType, array('upload', 'url')))"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t\t\$this->remove(\$package['packagename']);"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\n\t\t\t\$app->setUserState('com_###-#-#-component###.message', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));"; - $script['import'][] = "\t\t\treturn false;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\t"; - $script['import'][] = "\t\t// first link data to table headers"; - $script['import'][] = "\t\tif(!\$continue){"; - $script['import'][] = "\t\t\t\$package\t= json_encode(\$package);"; - $script['import'][] = "\t\t\t\$session->set('package', \$package);"; - $script['import'][] = "\t\t\t\$session->set('dataType', \$this->dataType);"; - $script['import'][] = "\t\t\t\$session->set('hasPackage', true);"; - $script['import'][] = "\t\t\treturn true;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\t// set the data"; - $script['import'][] = "\t\t\$headerList = json_decode(\$session->get(\$this->dataType.'_VDM_IMPORTHEADERS', false), true);"; - $script['import'][] = "\t\tif (!\$this->setData(\$package,\$this->dataType,\$headerList))"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\t// There was an error importing the package"; - $script['import'][] = "\t\t\t\$msg = JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_ERROR');"; - $script['import'][] = "\t\t\t\$back = \$session->get('backto_VDM_IMPORT', NULL);"; - $script['import'][] = "\t\t\tif (\$back)"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t\t\$app->setUserState('com_###-#-#-component###.redirect_url', 'index.php?option=com_###-#-#-component###&view='.\$back);"; - $script['import'][] = "\t\t\t\t\$session->clear('backto_VDM_IMPORT');"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\t\t\t\$result = false;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\telse"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\t// Package imported sucessfully"; - $script['import'][] = "\t\t\t\$msg = JTe-#-#-xt::sprintf('COM_###-#-#-COMPONENT###_IMPORT_SUCCESS', \$package['packagename']);"; - $script['import'][] = "\t\t\t\$back = \$session->get('backto_VDM_IMPORT', NULL);"; - $script['import'][] = "\t\t\tif (\$back)"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t \$app->setUserState('com_###-#-#-component###.redirect_url', 'index.php?option=com_###-#-#-component###&view='.\$back);"; - $script['import'][] = "\t\t\t \$session->clear('backto_VDM_IMPORT');"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\t\t\t\$result = true;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\n\t\t// Set some model state values"; - $script['import'][] = "\t\t\$app->enqueueMessage(\$msg);"; - $script['import'][] = "\n\t\t// remove file after import"; - $script['import'][] = "\t\t\$this->remove(\$package['packagename']);"; - $script['import'][] = "\t\t\$session->clear(\$this->getType.'_VDM_IMPORTHEADERS');"; - $script['import'][] = "\t\treturn \$result;"; - $script['import'][] = "\t}"; - } - elseif ('ext' === $type) - { - $script['ext'][] = "\t/**"; - $script['ext'][] = "\t * Check the extension"; - $script['ext'][] = "\t *"; - $script['ext'][] = "\t * @param string \$file Name of the uploaded file"; - $script['ext'][] = "\t *"; - $script['ext'][] = "\t * @return boolean True on success"; - $script['ext'][] = "\t *"; - $script['ext'][] = "\t */"; - $script['ext'][] = "\tprotected function checkExtension(\$file)"; - $script['ext'][] = "\t{"; - $script['ext'][] = "\t\t// check the extention"; - $script['ext'][] = "\t\tswitch(strtolower(pathinfo(\$file, PATHINFO_EXTENSION)))"; - $script['ext'][] = "\t\t{"; - $script['ext'][] = "\t\t\tcase 'xls':"; - $script['ext'][] = "\t\t\tcase 'ods':"; - $script['ext'][] = "\t\t\tcase 'csv':"; - $script['ext'][] = "\t\t\treturn true;"; - $script['ext'][] = "\t\t\tbreak;"; - $script['ext'][] = "\t\t}"; - $script['ext'][] = "\t\treturn false;"; - $script['ext'][] = "\t}"; - } - // return the needed script - if (isset($script[$type])) - { - return str_replace('-#-#-', '', implode("\n",$script[$type])); - } - return false; - } - + /** * set the session defaults if not set **/ diff --git a/admin/language/en-GB/en-GB.com_componentbuilder.ini b/admin/language/en-GB/en-GB.com_componentbuilder.ini index ee87af24f..43e0fdf2d 100644 --- a/admin/language/en-GB/en-GB.com_componentbuilder.ini +++ b/admin/language/en-GB/en-GB.com_componentbuilder.ini @@ -703,6 +703,10 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_EXT="Php Import Ext" COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_EXT_DESCRIPTION="Add your PHP here! [Do not add the php tags]" COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_EXT_HINT="// PHP here for the checkExtension Method" COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_EXT_LABEL="Check Extension Method PHP" +COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_HEADERS="Php Import Headers" +COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_HEADERS_DESCRIPTION="Add your PHP here! [Do not add the php tags]" +COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_HEADERS_HINT="// PHP here for the getExImPortHeaders Method" +COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_HEADERS_LABEL="get Export Import Headers PHP" COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_HINT="// PHP Here that should run in the import Method." COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_LABEL="Import Method PHP" COM_COMPONENTBUILDER_ADMIN_VIEW_PHP_IMPORT_SAVE="Php Import Save" @@ -4115,10 +4119,6 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE="Joomla Components Edit State" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla component" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION="Joomla Components Edit Version" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla components" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT="Joomla Components Export" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT_DESC="Allows the users in this group to export export joomla components" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT="Joomla Components Import" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT_DESC="Allows the users in this group to import import joomla components" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_ARCHIVED="%s Joomla Components archived." COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_ARCHIVED_1="%s Joomla Component archived." COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_N_ITEMS_CHECKED_IN_0="No Joomla Component successfully checked in." diff --git a/admin/language/en-GB/en-GB.com_componentbuilder.sys.ini b/admin/language/en-GB/en-GB.com_componentbuilder.sys.ini index 34db21cf3..558ce49a2 100644 --- a/admin/language/en-GB/en-GB.com_componentbuilder.sys.ini +++ b/admin/language/en-GB/en-GB.com_componentbuilder.sys.ini @@ -506,10 +506,6 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE="Joomla Components Edit State" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_STATE_DESC="Allows the users in this group to update the state of the joomla component" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION="Joomla Components Edit Version" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version joomla components" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT="Joomla Components Export" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_EXPORT_DESC="Allows the users in this group to export export joomla components" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT="Joomla Components Import" -COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_IMPORT_DESC="Allows the users in this group to import import joomla components" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU="Joomla Components Submenu" COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the joomla component" COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS="Joomla Component Backup Button Access" diff --git a/admin/layouts/admin_view/custom_import_fullwidth.php b/admin/layouts/admin_view/custom_import_fullwidth.php index 5cfb5641c..849964af4 100644 --- a/admin/layouts/admin_view/custom_import_fullwidth.php +++ b/admin/layouts/admin_view/custom_import_fullwidth.php @@ -36,6 +36,7 @@ $fields = $displayData->get('fields') ?: array( 'php_import_display', 'html_import_view', 'php_import', + 'php_import_headers', 'php_import_setdata', 'php_import_save', 'php_import_ext' diff --git a/admin/layouts/fieldtype/fields_fullwidth.php b/admin/layouts/fieldtype/fields_fullwidth.php index c41c6cff0..c9a183aba 100644 --- a/admin/layouts/fieldtype/fields_fullwidth.php +++ b/admin/layouts/fieldtype/fields_fullwidth.php @@ -28,7 +28,7 @@ defined('_JEXEC') or die('Restricted access'); // set the defaults -$items = $displayData->waafields; +$items = $displayData->wabfields; $user = JFactory::getUser(); $id = $displayData->item->id; $edit = "index.php?option=com_componentbuilder&view=fields&task=field.edit"; diff --git a/admin/layouts/ftp/linked_components_fullwidth.php b/admin/layouts/ftp/linked_components_fullwidth.php index 785f8e156..dbedbd027 100644 --- a/admin/layouts/ftp/linked_components_fullwidth.php +++ b/admin/layouts/ftp/linked_components_fullwidth.php @@ -28,7 +28,7 @@ defined('_JEXEC') or die('Restricted access'); // set the defaults -$items = $displayData->wablinked_components; +$items = $displayData->waclinked_components; $user = JFactory::getUser(); $id = $displayData->item->id; $edit = "index.php?option=com_componentbuilder&view=joomla_components&task=joomla_component.edit"; diff --git a/admin/models/admin_view.php b/admin/models/admin_view.php index 9db4fd8ff..c813d44f1 100644 --- a/admin/models/admin_view.php +++ b/admin/models/admin_view.php @@ -100,6 +100,14 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $item->metadata = $registry->toArray(); } + if (!empty($item->addtables)) + { + // Convert the addtables field to an array. + $addtables = new Registry; + $addtables->loadString($item->addtables); + $item->addtables = $addtables->toArray(); + } + if (!empty($item->addpermissions)) { // Convert the addpermissions field to an array. @@ -132,14 +140,6 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $item->custom_button = $custom_button->toArray(); } - if (!empty($item->addtables)) - { - // Convert the addtables field to an array. - $addtables = new Registry; - $addtables->loadString($item->addtables); - $item->addtables = $addtables->toArray(); - } - if (!empty($item->ajax_input)) { // Convert the ajax_input field to an array. @@ -148,112 +148,16 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $item->ajax_input = $ajax_input->toArray(); } - if (!empty($item->php_after_delete)) + if (!empty($item->php_import_headers)) { - // base64 Decode php_after_delete. - $item->php_after_delete = base64_decode($item->php_after_delete); + // base64 Decode php_import_headers. + $item->php_import_headers = base64_decode($item->php_import_headers); } - if (!empty($item->php_save)) + if (!empty($item->html_import_view)) { - // base64 Decode php_save. - $item->php_save = base64_decode($item->php_save); - } - - if (!empty($item->php_batchmove)) - { - // base64 Decode php_batchmove. - $item->php_batchmove = base64_decode($item->php_batchmove); - } - - if (!empty($item->php_allowedit)) - { - // base64 Decode php_allowedit. - $item->php_allowedit = base64_decode($item->php_allowedit); - } - - if (!empty($item->php_after_publish)) - { - // base64 Decode php_after_publish. - $item->php_after_publish = base64_decode($item->php_after_publish); - } - - if (!empty($item->php_getitems)) - { - // base64 Decode php_getitems. - $item->php_getitems = base64_decode($item->php_getitems); - } - - if (!empty($item->php_import)) - { - // base64 Decode php_import. - $item->php_import = base64_decode($item->php_import); - } - - if (!empty($item->php_getlistquery)) - { - // base64 Decode php_getlistquery. - $item->php_getlistquery = base64_decode($item->php_getlistquery); - } - - if (!empty($item->php_getitem)) - { - // base64 Decode php_getitem. - $item->php_getitem = base64_decode($item->php_getitem); - } - - if (!empty($item->php_getitems_after_all)) - { - // base64 Decode php_getitems_after_all. - $item->php_getitems_after_all = base64_decode($item->php_getitems_after_all); - } - - if (!empty($item->php_before_save)) - { - // base64 Decode php_before_save. - $item->php_before_save = base64_decode($item->php_before_save); - } - - if (!empty($item->php_postsavehook)) - { - // base64 Decode php_postsavehook. - $item->php_postsavehook = base64_decode($item->php_postsavehook); - } - - if (!empty($item->php_batchcopy)) - { - // base64 Decode php_batchcopy. - $item->php_batchcopy = base64_decode($item->php_batchcopy); - } - - if (!empty($item->php_before_publish)) - { - // base64 Decode php_before_publish. - $item->php_before_publish = base64_decode($item->php_before_publish); - } - - if (!empty($item->php_before_delete)) - { - // base64 Decode php_before_delete. - $item->php_before_delete = base64_decode($item->php_before_delete); - } - - if (!empty($item->php_document)) - { - // base64 Decode php_document. - $item->php_document = base64_decode($item->php_document); - } - - if (!empty($item->sql)) - { - // base64 Decode sql. - $item->sql = base64_decode($item->sql); - } - - if (!empty($item->php_import_display)) - { - // base64 Decode php_import_display. - $item->php_import_display = base64_decode($item->php_import_display); + // base64 Decode html_import_view. + $item->html_import_view = base64_decode($item->html_import_view); } if (!empty($item->php_import_save)) @@ -262,48 +166,138 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $item->php_import_save = base64_decode($item->php_import_save); } + if (!empty($item->php_getitem)) + { + // base64 Decode php_getitem. + $item->php_getitem = base64_decode($item->php_getitem); + } + if (!empty($item->css_view)) { // base64 Decode css_view. $item->css_view = base64_decode($item->css_view); } + if (!empty($item->php_getitems)) + { + // base64 Decode php_getitems. + $item->php_getitems = base64_decode($item->php_getitems); + } + + if (!empty($item->php_getitems_after_all)) + { + // base64 Decode php_getitems_after_all. + $item->php_getitems_after_all = base64_decode($item->php_getitems_after_all); + } + if (!empty($item->css_views)) { // base64 Decode css_views. $item->css_views = base64_decode($item->css_views); } + if (!empty($item->php_getlistquery)) + { + // base64 Decode php_getlistquery. + $item->php_getlistquery = base64_decode($item->php_getlistquery); + } + + if (!empty($item->php_before_save)) + { + // base64 Decode php_before_save. + $item->php_before_save = base64_decode($item->php_before_save); + } + if (!empty($item->javascript_view_file)) { // base64 Decode javascript_view_file. $item->javascript_view_file = base64_decode($item->javascript_view_file); } + if (!empty($item->php_save)) + { + // base64 Decode php_save. + $item->php_save = base64_decode($item->php_save); + } + + if (!empty($item->php_postsavehook)) + { + // base64 Decode php_postsavehook. + $item->php_postsavehook = base64_decode($item->php_postsavehook); + } + if (!empty($item->javascript_view_footer)) { // base64 Decode javascript_view_footer. $item->javascript_view_footer = base64_decode($item->javascript_view_footer); } + if (!empty($item->php_allowedit)) + { + // base64 Decode php_allowedit. + $item->php_allowedit = base64_decode($item->php_allowedit); + } + + if (!empty($item->php_batchcopy)) + { + // base64 Decode php_batchcopy. + $item->php_batchcopy = base64_decode($item->php_batchcopy); + } + if (!empty($item->javascript_views_file)) { // base64 Decode javascript_views_file. $item->javascript_views_file = base64_decode($item->javascript_views_file); } + if (!empty($item->php_batchmove)) + { + // base64 Decode php_batchmove. + $item->php_batchmove = base64_decode($item->php_batchmove); + } + + if (!empty($item->php_before_publish)) + { + // base64 Decode php_before_publish. + $item->php_before_publish = base64_decode($item->php_before_publish); + } + if (!empty($item->javascript_views_footer)) { // base64 Decode javascript_views_footer. $item->javascript_views_footer = base64_decode($item->javascript_views_footer); } + if (!empty($item->php_after_publish)) + { + // base64 Decode php_after_publish. + $item->php_after_publish = base64_decode($item->php_after_publish); + } + + if (!empty($item->php_before_delete)) + { + // base64 Decode php_before_delete. + $item->php_before_delete = base64_decode($item->php_before_delete); + } + + if (!empty($item->php_after_delete)) + { + // base64 Decode php_after_delete. + $item->php_after_delete = base64_decode($item->php_after_delete); + } + if (!empty($item->php_controller)) { // base64 Decode php_controller. $item->php_controller = base64_decode($item->php_controller); } + if (!empty($item->php_document)) + { + // base64 Decode php_document. + $item->php_document = base64_decode($item->php_document); + } + if (!empty($item->php_model)) { // base64 Decode php_model. @@ -316,22 +310,34 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $item->php_controller_list = base64_decode($item->php_controller_list); } + if (!empty($item->sql)) + { + // base64 Decode sql. + $item->sql = base64_decode($item->sql); + } + if (!empty($item->php_model_list)) { // base64 Decode php_model_list. $item->php_model_list = base64_decode($item->php_model_list); } + if (!empty($item->php_import_display)) + { + // base64 Decode php_import_display. + $item->php_import_display = base64_decode($item->php_import_display); + } + if (!empty($item->php_ajaxmethod)) { // base64 Decode php_ajaxmethod. $item->php_ajaxmethod = base64_decode($item->php_ajaxmethod); } - if (!empty($item->html_import_view)) + if (!empty($item->php_import)) { - // base64 Decode html_import_view. - $item->html_import_view = base64_decode($item->html_import_view); + // base64 Decode php_import. + $item->php_import = base64_decode($item->php_import); } if (!empty($item->php_import_setdata)) @@ -1186,6 +1192,19 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $data['metadata'] = (string) $metadata; } + // Set the addtables items to data. + if (isset($data['addtables']) && is_array($data['addtables'])) + { + $addtables = new JRegistry; + $addtables->loadArray($data['addtables']); + $data['addtables'] = (string) $addtables; + } + elseif (!isset($data['addtables'])) + { + // Set the empty addtables to data + $data['addtables'] = ''; + } + // Set the addpermissions items to data. if (isset($data['addpermissions']) && is_array($data['addpermissions'])) { @@ -1238,19 +1257,6 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $data['custom_button'] = ''; } - // Set the addtables items to data. - if (isset($data['addtables']) && is_array($data['addtables'])) - { - $addtables = new JRegistry; - $addtables->loadArray($data['addtables']); - $data['addtables'] = (string) $addtables; - } - elseif (!isset($data['addtables'])) - { - // Set the empty addtables to data - $data['addtables'] = ''; - } - // Set the ajax_input items to data. if (isset($data['ajax_input']) && is_array($data['ajax_input'])) { @@ -1264,112 +1270,16 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $data['ajax_input'] = ''; } - // Set the php_after_delete string to base64 string. - if (isset($data['php_after_delete'])) + // Set the php_import_headers string to base64 string. + if (isset($data['php_import_headers'])) { - $data['php_after_delete'] = base64_encode($data['php_after_delete']); + $data['php_import_headers'] = base64_encode($data['php_import_headers']); } - // Set the php_save string to base64 string. - if (isset($data['php_save'])) + // Set the html_import_view string to base64 string. + if (isset($data['html_import_view'])) { - $data['php_save'] = base64_encode($data['php_save']); - } - - // Set the php_batchmove string to base64 string. - if (isset($data['php_batchmove'])) - { - $data['php_batchmove'] = base64_encode($data['php_batchmove']); - } - - // Set the php_allowedit string to base64 string. - if (isset($data['php_allowedit'])) - { - $data['php_allowedit'] = base64_encode($data['php_allowedit']); - } - - // Set the php_after_publish string to base64 string. - if (isset($data['php_after_publish'])) - { - $data['php_after_publish'] = base64_encode($data['php_after_publish']); - } - - // Set the php_getitems string to base64 string. - if (isset($data['php_getitems'])) - { - $data['php_getitems'] = base64_encode($data['php_getitems']); - } - - // Set the php_import string to base64 string. - if (isset($data['php_import'])) - { - $data['php_import'] = base64_encode($data['php_import']); - } - - // Set the php_getlistquery string to base64 string. - if (isset($data['php_getlistquery'])) - { - $data['php_getlistquery'] = base64_encode($data['php_getlistquery']); - } - - // Set the php_getitem string to base64 string. - if (isset($data['php_getitem'])) - { - $data['php_getitem'] = base64_encode($data['php_getitem']); - } - - // Set the php_getitems_after_all string to base64 string. - if (isset($data['php_getitems_after_all'])) - { - $data['php_getitems_after_all'] = base64_encode($data['php_getitems_after_all']); - } - - // Set the php_before_save string to base64 string. - if (isset($data['php_before_save'])) - { - $data['php_before_save'] = base64_encode($data['php_before_save']); - } - - // Set the php_postsavehook string to base64 string. - if (isset($data['php_postsavehook'])) - { - $data['php_postsavehook'] = base64_encode($data['php_postsavehook']); - } - - // Set the php_batchcopy string to base64 string. - if (isset($data['php_batchcopy'])) - { - $data['php_batchcopy'] = base64_encode($data['php_batchcopy']); - } - - // Set the php_before_publish string to base64 string. - if (isset($data['php_before_publish'])) - { - $data['php_before_publish'] = base64_encode($data['php_before_publish']); - } - - // Set the php_before_delete string to base64 string. - if (isset($data['php_before_delete'])) - { - $data['php_before_delete'] = base64_encode($data['php_before_delete']); - } - - // Set the php_document string to base64 string. - if (isset($data['php_document'])) - { - $data['php_document'] = base64_encode($data['php_document']); - } - - // Set the sql string to base64 string. - if (isset($data['sql'])) - { - $data['sql'] = base64_encode($data['sql']); - } - - // Set the php_import_display string to base64 string. - if (isset($data['php_import_display'])) - { - $data['php_import_display'] = base64_encode($data['php_import_display']); + $data['html_import_view'] = base64_encode($data['html_import_view']); } // Set the php_import_save string to base64 string. @@ -1378,48 +1288,138 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $data['php_import_save'] = base64_encode($data['php_import_save']); } + // Set the php_getitem string to base64 string. + if (isset($data['php_getitem'])) + { + $data['php_getitem'] = base64_encode($data['php_getitem']); + } + // Set the css_view string to base64 string. if (isset($data['css_view'])) { $data['css_view'] = base64_encode($data['css_view']); } + // Set the php_getitems string to base64 string. + if (isset($data['php_getitems'])) + { + $data['php_getitems'] = base64_encode($data['php_getitems']); + } + + // Set the php_getitems_after_all string to base64 string. + if (isset($data['php_getitems_after_all'])) + { + $data['php_getitems_after_all'] = base64_encode($data['php_getitems_after_all']); + } + // Set the css_views string to base64 string. if (isset($data['css_views'])) { $data['css_views'] = base64_encode($data['css_views']); } + // Set the php_getlistquery string to base64 string. + if (isset($data['php_getlistquery'])) + { + $data['php_getlistquery'] = base64_encode($data['php_getlistquery']); + } + + // Set the php_before_save string to base64 string. + if (isset($data['php_before_save'])) + { + $data['php_before_save'] = base64_encode($data['php_before_save']); + } + // Set the javascript_view_file string to base64 string. if (isset($data['javascript_view_file'])) { $data['javascript_view_file'] = base64_encode($data['javascript_view_file']); } + // Set the php_save string to base64 string. + if (isset($data['php_save'])) + { + $data['php_save'] = base64_encode($data['php_save']); + } + + // Set the php_postsavehook string to base64 string. + if (isset($data['php_postsavehook'])) + { + $data['php_postsavehook'] = base64_encode($data['php_postsavehook']); + } + // Set the javascript_view_footer string to base64 string. if (isset($data['javascript_view_footer'])) { $data['javascript_view_footer'] = base64_encode($data['javascript_view_footer']); } + // Set the php_allowedit string to base64 string. + if (isset($data['php_allowedit'])) + { + $data['php_allowedit'] = base64_encode($data['php_allowedit']); + } + + // Set the php_batchcopy string to base64 string. + if (isset($data['php_batchcopy'])) + { + $data['php_batchcopy'] = base64_encode($data['php_batchcopy']); + } + // Set the javascript_views_file string to base64 string. if (isset($data['javascript_views_file'])) { $data['javascript_views_file'] = base64_encode($data['javascript_views_file']); } + // Set the php_batchmove string to base64 string. + if (isset($data['php_batchmove'])) + { + $data['php_batchmove'] = base64_encode($data['php_batchmove']); + } + + // Set the php_before_publish string to base64 string. + if (isset($data['php_before_publish'])) + { + $data['php_before_publish'] = base64_encode($data['php_before_publish']); + } + // Set the javascript_views_footer string to base64 string. if (isset($data['javascript_views_footer'])) { $data['javascript_views_footer'] = base64_encode($data['javascript_views_footer']); } + // Set the php_after_publish string to base64 string. + if (isset($data['php_after_publish'])) + { + $data['php_after_publish'] = base64_encode($data['php_after_publish']); + } + + // Set the php_before_delete string to base64 string. + if (isset($data['php_before_delete'])) + { + $data['php_before_delete'] = base64_encode($data['php_before_delete']); + } + + // Set the php_after_delete string to base64 string. + if (isset($data['php_after_delete'])) + { + $data['php_after_delete'] = base64_encode($data['php_after_delete']); + } + // Set the php_controller string to base64 string. if (isset($data['php_controller'])) { $data['php_controller'] = base64_encode($data['php_controller']); } + // Set the php_document string to base64 string. + if (isset($data['php_document'])) + { + $data['php_document'] = base64_encode($data['php_document']); + } + // Set the php_model string to base64 string. if (isset($data['php_model'])) { @@ -1432,22 +1432,34 @@ class ComponentbuilderModelAdmin_view extends JModelAdmin $data['php_controller_list'] = base64_encode($data['php_controller_list']); } + // Set the sql string to base64 string. + if (isset($data['sql'])) + { + $data['sql'] = base64_encode($data['sql']); + } + // Set the php_model_list string to base64 string. if (isset($data['php_model_list'])) { $data['php_model_list'] = base64_encode($data['php_model_list']); } + // Set the php_import_display string to base64 string. + if (isset($data['php_import_display'])) + { + $data['php_import_display'] = base64_encode($data['php_import_display']); + } + // Set the php_ajaxmethod string to base64 string. if (isset($data['php_ajaxmethod'])) { $data['php_ajaxmethod'] = base64_encode($data['php_ajaxmethod']); } - // Set the html_import_view string to base64 string. - if (isset($data['html_import_view'])) + // Set the php_import string to base64 string. + if (isset($data['php_import'])) { - $data['html_import_view'] = base64_encode($data['html_import_view']); + $data['php_import'] = base64_encode($data['php_import']); } // Set the php_import_setdata string to base64 string. diff --git a/admin/models/admin_views.php b/admin/models/admin_views.php index f419a6d8d..ddba14a1f 100644 --- a/admin/models/admin_views.php +++ b/admin/models/admin_views.php @@ -262,68 +262,70 @@ class ComponentbuilderModelAdmin_views extends JModelList continue; } - // decode php_after_delete - $item->php_after_delete = base64_decode($item->php_after_delete); - // decode php_save - $item->php_save = base64_decode($item->php_save); - // decode php_batchmove - $item->php_batchmove = base64_decode($item->php_batchmove); - // decode php_allowedit - $item->php_allowedit = base64_decode($item->php_allowedit); - // decode php_after_publish - $item->php_after_publish = base64_decode($item->php_after_publish); - // decode php_getitems - $item->php_getitems = base64_decode($item->php_getitems); - // decode php_import - $item->php_import = base64_decode($item->php_import); - // decode php_getlistquery - $item->php_getlistquery = base64_decode($item->php_getlistquery); - // decode php_getitem - $item->php_getitem = base64_decode($item->php_getitem); - // decode php_getitems_after_all - $item->php_getitems_after_all = base64_decode($item->php_getitems_after_all); - // decode php_before_save - $item->php_before_save = base64_decode($item->php_before_save); - // decode php_postsavehook - $item->php_postsavehook = base64_decode($item->php_postsavehook); - // decode php_batchcopy - $item->php_batchcopy = base64_decode($item->php_batchcopy); - // decode php_before_publish - $item->php_before_publish = base64_decode($item->php_before_publish); - // decode php_before_delete - $item->php_before_delete = base64_decode($item->php_before_delete); - // decode php_document - $item->php_document = base64_decode($item->php_document); - // decode sql - $item->sql = base64_decode($item->sql); - // decode php_import_display - $item->php_import_display = base64_decode($item->php_import_display); + // decode php_import_headers + $item->php_import_headers = base64_decode($item->php_import_headers); + // decode html_import_view + $item->html_import_view = base64_decode($item->html_import_view); // decode php_import_save $item->php_import_save = base64_decode($item->php_import_save); + // decode php_getitem + $item->php_getitem = base64_decode($item->php_getitem); // decode css_view $item->css_view = base64_decode($item->css_view); + // decode php_getitems + $item->php_getitems = base64_decode($item->php_getitems); + // decode php_getitems_after_all + $item->php_getitems_after_all = base64_decode($item->php_getitems_after_all); // decode css_views $item->css_views = base64_decode($item->css_views); + // decode php_getlistquery + $item->php_getlistquery = base64_decode($item->php_getlistquery); + // decode php_before_save + $item->php_before_save = base64_decode($item->php_before_save); // decode javascript_view_file $item->javascript_view_file = base64_decode($item->javascript_view_file); + // decode php_save + $item->php_save = base64_decode($item->php_save); + // decode php_postsavehook + $item->php_postsavehook = base64_decode($item->php_postsavehook); // decode javascript_view_footer $item->javascript_view_footer = base64_decode($item->javascript_view_footer); + // decode php_allowedit + $item->php_allowedit = base64_decode($item->php_allowedit); + // decode php_batchcopy + $item->php_batchcopy = base64_decode($item->php_batchcopy); // decode javascript_views_file $item->javascript_views_file = base64_decode($item->javascript_views_file); + // decode php_batchmove + $item->php_batchmove = base64_decode($item->php_batchmove); + // decode php_before_publish + $item->php_before_publish = base64_decode($item->php_before_publish); // decode javascript_views_footer $item->javascript_views_footer = base64_decode($item->javascript_views_footer); + // decode php_after_publish + $item->php_after_publish = base64_decode($item->php_after_publish); + // decode php_before_delete + $item->php_before_delete = base64_decode($item->php_before_delete); + // decode php_after_delete + $item->php_after_delete = base64_decode($item->php_after_delete); // decode php_controller $item->php_controller = base64_decode($item->php_controller); + // decode php_document + $item->php_document = base64_decode($item->php_document); // decode php_model $item->php_model = base64_decode($item->php_model); // decode php_controller_list $item->php_controller_list = base64_decode($item->php_controller_list); + // decode sql + $item->sql = base64_decode($item->sql); // decode php_model_list $item->php_model_list = base64_decode($item->php_model_list); + // decode php_import_display + $item->php_import_display = base64_decode($item->php_import_display); // decode php_ajaxmethod $item->php_ajaxmethod = base64_decode($item->php_ajaxmethod); - // decode html_import_view - $item->html_import_view = base64_decode($item->html_import_view); + // decode php_import + $item->php_import = base64_decode($item->php_import); // decode php_import_setdata $item->php_import_setdata = base64_decode($item->php_import_setdata); // decode php_import_ext diff --git a/admin/models/fieldtype.php b/admin/models/fieldtype.php index 54cb01dd7..ab2e5c558 100644 --- a/admin/models/fieldtype.php +++ b/admin/models/fieldtype.php @@ -139,7 +139,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin * * @return mixed An array of data items on success, false on failure. */ - public function getWaafields() + public function getWabfields() { // Get the user object. $user = JFactory::getUser(); @@ -223,13 +223,13 @@ class ComponentbuilderModelFieldtype extends JModelAdmin foreach ($items as $nr => &$item) { // convert datatype - $item->datatype = $this->selectionTranslationWaafields($item->datatype, 'datatype'); + $item->datatype = $this->selectionTranslationWabfields($item->datatype, 'datatype'); // convert indexes - $item->indexes = $this->selectionTranslationWaafields($item->indexes, 'indexes'); + $item->indexes = $this->selectionTranslationWabfields($item->indexes, 'indexes'); // convert null_switch - $item->null_switch = $this->selectionTranslationWaafields($item->null_switch, 'null_switch'); + $item->null_switch = $this->selectionTranslationWabfields($item->null_switch, 'null_switch'); // convert store - $item->store = $this->selectionTranslationWaafields($item->store, 'store'); + $item->store = $this->selectionTranslationWabfields($item->store, 'store'); } } @@ -243,7 +243,7 @@ class ComponentbuilderModelFieldtype extends JModelAdmin * * @return translatable string */ - public function selectionTranslationWaafields($value,$name) + public function selectionTranslationWabfields($value,$name) { // Array of datatype language strings if ($name === 'datatype') diff --git a/admin/models/forms/admin_view.js b/admin/models/forms/admin_view.js index c6228c10f..3cfa2980d 100644 --- a/admin/models/forms/admin_view.js +++ b/admin/models/forms/admin_view.js @@ -53,10 +53,11 @@ jform_vvvvvxyvxo_required = false; jform_vvvvvxyvxp_required = false; jform_vvvvvxyvxq_required = false; jform_vvvvvxyvxr_required = false; -jform_vvvvvyavxs_required = false; +jform_vvvvvxyvxs_required = false; jform_vvvvvyavxt_required = false; jform_vvvvvyavxu_required = false; jform_vvvvvyavxv_required = false; +jform_vvvvvyavxw_required = false; // Initial Script jQuery(document).ready(function() @@ -945,34 +946,44 @@ function vvvvvxy(add_custom_import_vvvvvxy) jform_vvvvvxyvxo_required = false; } - jQuery('#jform_php_import').closest('.control-group').show(); + jQuery('#jform_php_import_headers').closest('.control-group').show(); if (jform_vvvvvxyvxp_required) + { + updateFieldRequired('php_import_headers',0); + jQuery('#jform_php_import_headers').prop('required','required'); + jQuery('#jform_php_import_headers').attr('aria-required',true); + jQuery('#jform_php_import_headers').addClass('required'); + jform_vvvvvxyvxp_required = false; + } + + jQuery('#jform_php_import').closest('.control-group').show(); + if (jform_vvvvvxyvxq_required) { updateFieldRequired('php_import',0); jQuery('#jform_php_import').prop('required','required'); jQuery('#jform_php_import').attr('aria-required',true); jQuery('#jform_php_import').addClass('required'); - jform_vvvvvxyvxp_required = false; + jform_vvvvvxyvxq_required = false; } jQuery('#jform_php_import_save').closest('.control-group').show(); - if (jform_vvvvvxyvxq_required) + if (jform_vvvvvxyvxr_required) { updateFieldRequired('php_import_save',0); jQuery('#jform_php_import_save').prop('required','required'); jQuery('#jform_php_import_save').attr('aria-required',true); jQuery('#jform_php_import_save').addClass('required'); - jform_vvvvvxyvxq_required = false; + jform_vvvvvxyvxr_required = false; } jQuery('#jform_php_import_setdata').closest('.control-group').show(); - if (jform_vvvvvxyvxr_required) + if (jform_vvvvvxyvxs_required) { updateFieldRequired('php_import_setdata',0); jQuery('#jform_php_import_setdata').prop('required','required'); jQuery('#jform_php_import_setdata').attr('aria-required',true); jQuery('#jform_php_import_setdata').addClass('required'); - jform_vvvvvxyvxr_required = false; + jform_vvvvvxyvxs_required = false; } } @@ -1006,32 +1017,41 @@ function vvvvvxy(add_custom_import_vvvvvxy) jQuery('#jform_php_import_ext').removeClass('required'); jform_vvvvvxyvxo_required = true; } - jQuery('#jform_php_import').closest('.control-group').hide(); + jQuery('#jform_php_import_headers').closest('.control-group').hide(); if (!jform_vvvvvxyvxp_required) + { + updateFieldRequired('php_import_headers',1); + jQuery('#jform_php_import_headers').removeAttr('required'); + jQuery('#jform_php_import_headers').removeAttr('aria-required'); + jQuery('#jform_php_import_headers').removeClass('required'); + jform_vvvvvxyvxp_required = true; + } + jQuery('#jform_php_import').closest('.control-group').hide(); + if (!jform_vvvvvxyvxq_required) { updateFieldRequired('php_import',1); jQuery('#jform_php_import').removeAttr('required'); jQuery('#jform_php_import').removeAttr('aria-required'); jQuery('#jform_php_import').removeClass('required'); - jform_vvvvvxyvxp_required = true; + jform_vvvvvxyvxq_required = true; } jQuery('#jform_php_import_save').closest('.control-group').hide(); - if (!jform_vvvvvxyvxq_required) + if (!jform_vvvvvxyvxr_required) { updateFieldRequired('php_import_save',1); jQuery('#jform_php_import_save').removeAttr('required'); jQuery('#jform_php_import_save').removeAttr('aria-required'); jQuery('#jform_php_import_save').removeClass('required'); - jform_vvvvvxyvxq_required = true; + jform_vvvvvxyvxr_required = true; } jQuery('#jform_php_import_setdata').closest('.control-group').hide(); - if (!jform_vvvvvxyvxr_required) + if (!jform_vvvvvxyvxs_required) { updateFieldRequired('php_import_setdata',1); jQuery('#jform_php_import_setdata').removeAttr('required'); jQuery('#jform_php_import_setdata').removeAttr('aria-required'); jQuery('#jform_php_import_setdata').removeClass('required'); - jform_vvvvvxyvxr_required = true; + jform_vvvvvxyvxs_required = true; } } } @@ -1058,43 +1078,43 @@ function vvvvvya(add_custom_button_vvvvvya) { jQuery('#jform_custom_button-lbl').closest('.control-group').show(); jQuery('#jform_php_controller').closest('.control-group').show(); - if (jform_vvvvvyavxs_required) + if (jform_vvvvvyavxt_required) { updateFieldRequired('php_controller',0); jQuery('#jform_php_controller').prop('required','required'); jQuery('#jform_php_controller').attr('aria-required',true); jQuery('#jform_php_controller').addClass('required'); - jform_vvvvvyavxs_required = false; + jform_vvvvvyavxt_required = false; } jQuery('#jform_php_controller_list').closest('.control-group').show(); - if (jform_vvvvvyavxt_required) + if (jform_vvvvvyavxu_required) { updateFieldRequired('php_controller_list',0); jQuery('#jform_php_controller_list').prop('required','required'); jQuery('#jform_php_controller_list').attr('aria-required',true); jQuery('#jform_php_controller_list').addClass('required'); - jform_vvvvvyavxt_required = false; + jform_vvvvvyavxu_required = false; } jQuery('#jform_php_model').closest('.control-group').show(); - if (jform_vvvvvyavxu_required) + if (jform_vvvvvyavxv_required) { updateFieldRequired('php_model',0); jQuery('#jform_php_model').prop('required','required'); jQuery('#jform_php_model').attr('aria-required',true); jQuery('#jform_php_model').addClass('required'); - jform_vvvvvyavxu_required = false; + jform_vvvvvyavxv_required = false; } jQuery('#jform_php_model_list').closest('.control-group').show(); - if (jform_vvvvvyavxv_required) + if (jform_vvvvvyavxw_required) { updateFieldRequired('php_model_list',0); jQuery('#jform_php_model_list').prop('required','required'); jQuery('#jform_php_model_list').attr('aria-required',true); jQuery('#jform_php_model_list').addClass('required'); - jform_vvvvvyavxv_required = false; + jform_vvvvvyavxw_required = false; } } @@ -1102,40 +1122,40 @@ function vvvvvya(add_custom_button_vvvvvya) { jQuery('#jform_custom_button-lbl').closest('.control-group').hide(); jQuery('#jform_php_controller').closest('.control-group').hide(); - if (!jform_vvvvvyavxs_required) + if (!jform_vvvvvyavxt_required) { updateFieldRequired('php_controller',1); jQuery('#jform_php_controller').removeAttr('required'); jQuery('#jform_php_controller').removeAttr('aria-required'); jQuery('#jform_php_controller').removeClass('required'); - jform_vvvvvyavxs_required = true; + jform_vvvvvyavxt_required = true; } jQuery('#jform_php_controller_list').closest('.control-group').hide(); - if (!jform_vvvvvyavxt_required) + if (!jform_vvvvvyavxu_required) { updateFieldRequired('php_controller_list',1); jQuery('#jform_php_controller_list').removeAttr('required'); jQuery('#jform_php_controller_list').removeAttr('aria-required'); jQuery('#jform_php_controller_list').removeClass('required'); - jform_vvvvvyavxt_required = true; + jform_vvvvvyavxu_required = true; } jQuery('#jform_php_model').closest('.control-group').hide(); - if (!jform_vvvvvyavxu_required) + if (!jform_vvvvvyavxv_required) { updateFieldRequired('php_model',1); jQuery('#jform_php_model').removeAttr('required'); jQuery('#jform_php_model').removeAttr('aria-required'); jQuery('#jform_php_model').removeClass('required'); - jform_vvvvvyavxu_required = true; + jform_vvvvvyavxv_required = true; } jQuery('#jform_php_model_list').closest('.control-group').hide(); - if (!jform_vvvvvyavxv_required) + if (!jform_vvvvvyavxw_required) { updateFieldRequired('php_model_list',1); jQuery('#jform_php_model_list').removeAttr('required'); jQuery('#jform_php_model_list').removeAttr('aria-required'); jQuery('#jform_php_model_list').removeClass('required'); - jform_vvvvvyavxv_required = true; + jform_vvvvvyavxw_required = true; } } } @@ -1290,7 +1310,7 @@ function getLinked(){ } function getTableColumns_server(tableName){ - var getUrl = "index.php?option=com_componentbuilder&task=ajax.tableColumns&format=json"; + var getUrl = "index.php?option=com_componentbuilder&task=ajax.tableColumns&format=json&vdm="+vastDevMod; if(token.length > 0 && tableName.length > 0){ var request = 'token='+token+'&table='+tableName; } @@ -1321,7 +1341,7 @@ function getTableColumns(fieldKey, table_, nr_){ } function getImportScripts_server(typpe){ - var getUrl = "index.php?option=com_componentbuilder&task=ajax.getImportScripts&format=json"; + var getUrl = "index.php?option=com_componentbuilder&task=ajax.getImportScripts&format=json&vdm="+vastDevMod; if(token.length > 0 && typpe.length > 0){ var request = 'token='+token+'&type='+typpe; } @@ -1339,6 +1359,7 @@ function getImportScripts(id){ // get the current values var current_import_display = jQuery('textarea#jform_php_import_display').val(); var current_import = jQuery('textarea#jform_php_import').val(); + var current_headers = jQuery('textarea#jform_php_import_headers').val(); var current_setdata = jQuery('textarea#jform_php_import_setdata').val(); var current_save = jQuery('textarea#jform_php_import_save').val(); var current_view = jQuery('textarea#jform_html_import_view').val(); @@ -1359,6 +1380,14 @@ function getImportScripts(id){ } }); } + // set the headers method script + if(current_headers.length == 0){ + getImportScripts_server('headers').done(function(result) { + if(result){ + jQuery('textarea#jform_php_import_headers').val(result); + } + }); + } // set the setData method script if(current_setdata.length == 0){ getImportScripts_server('setdata').done(function(result) { diff --git a/admin/models/forms/admin_view.xml b/admin/models/forms/admin_view.xml index 73fe5b727..a01895ae5 100644 --- a/admin/models/forms/admin_view.xml +++ b/admin/models/forms/admin_view.xml @@ -136,17 +136,17 @@ label="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_LABEL" description="COM_COMPONENTBUILDER_ADMIN_VIEW_ICON_DESCRIPTION" directory="" /> - - + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + + + COM_COMPONENTBUILDER_ADMIN_VIEW_ADD - - + + + + + + - + + +
- +
- 'vast_development_method_one')); ?> - - loadTemplate('vast_development_method_notice_board');?> + 'notice_board_one')); ?> + + loadTemplate('notice_board_vast_development_method');?>
diff --git a/admin/views/componentbuilder/tmpl/default_vast_development_method_notice_board.php b/admin/views/componentbuilder/tmpl/default_notice_board_vast_development_method.php similarity index 95% rename from admin/views/componentbuilder/tmpl/default_vast_development_method_notice_board.php rename to admin/views/componentbuilder/tmpl/default_notice_board_vast_development_method.php index b48d130ce..9c9f76933 100644 --- a/admin/views/componentbuilder/tmpl/default_vast_development_method_notice_board.php +++ b/admin/views/componentbuilder/tmpl/default_notice_board_vast_development_method.php @@ -13,7 +13,7 @@ @version 2.6.x @created 30th April, 2015 @package Component Builder - @subpackage default_vast_development_method_notice_board.php + @subpackage default_notice_board_vast_development_method.php @author Llewellyn van der Merwe @github Joomla Component Builder @copyright Copyright (C) 2015. All Rights Reserved diff --git a/admin/views/fieldtype/view.html.php b/admin/views/fieldtype/view.html.php index ce7c041e2..448f06a78 100644 --- a/admin/views/fieldtype/view.html.php +++ b/admin/views/fieldtype/view.html.php @@ -64,7 +64,7 @@ class ComponentbuilderViewFieldtype extends JViewLegacy } // Get Linked view data - $this->waafields = $this->get('Waafields'); + $this->wabfields = $this->get('Wabfields'); // Set the toolbar $this->addToolBar(); diff --git a/admin/views/ftp/view.html.php b/admin/views/ftp/view.html.php index d845fa61e..62a519c88 100644 --- a/admin/views/ftp/view.html.php +++ b/admin/views/ftp/view.html.php @@ -64,7 +64,7 @@ class ComponentbuilderViewFtp extends JViewLegacy } // Get Linked view data - $this->wablinked_components = $this->get('Wablinked_components'); + $this->waclinked_components = $this->get('Waclinked_components'); // Set the toolbar $this->addToolBar(); diff --git a/admin/views/import_language_translations/index.html b/admin/views/import_language_translations/index.html new file mode 100644 index 000000000..fa6d84e80 --- /dev/null +++ b/admin/views/import_language_translations/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/views/import_language_translations/tmpl/default.php b/admin/views/import_language_translations/tmpl/default.php new file mode 100644 index 000000000..ade0e313f --- /dev/null +++ b/admin/views/import_language_translations/tmpl/default.php @@ -0,0 +1,247 @@ + + @github Joomla Component Builder + @copyright Copyright (C) 2015. All Rights Reserved + @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html + + Builds Complex Joomla Components + +/-----------------------------------------------------------------------------------------------------------------------------*/ + +// No direct access to this file +defined('_JEXEC') or die('Restricted access'); + +JHtml::_('jquery.framework'); +JHtml::_('bootstrap.tooltip'); +JHtml::_('script', 'system/core.js', false, true); +JHtml::_('behavior.keepalive'); +?> + + + +
+
+ + + sidebar)) : ?> +
+ sidebar; ?> +
+
+ +
+ + + + hasPackage && ComponentbuilderHelper::checkArray($this->headerList) && ComponentbuilderHelper::checkArray($this->headers)) : ?> +
+ +
+ +
+ +
+
+ headerList as $name => $title): ?> +
+ +
+ +
+
+ +
+ +
+
+ + + 'upload')); ?> + + +
+ +
+ +
+ +
+
+
+     (.csv .xls .ods) +
+
+ + + +
+ +
+ +
+ +
+
+
+     (.csv .xls .ods) +
+
+ + + + +
+ +
+ +
+ +
+
+
+     (.csv .xls .ods) +
+
+ + + + + + + +
diff --git a/admin/views/import_language_translations/tmpl/index.html b/admin/views/import_language_translations/tmpl/index.html new file mode 100644 index 000000000..fa6d84e80 --- /dev/null +++ b/admin/views/import_language_translations/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin/views/import_language_translations/view.html.php b/admin/views/import_language_translations/view.html.php new file mode 100644 index 000000000..5bda1a085 --- /dev/null +++ b/admin/views/import_language_translations/view.html.php @@ -0,0 +1,109 @@ + + @github Joomla Component Builder + @copyright Copyright (C) 2015. All Rights Reserved + @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html + + Builds Complex Joomla Components + +/-----------------------------------------------------------------------------------------------------------------------------*/ + +// No direct access to this file +defined('_JEXEC') or die('Restricted access'); + +// import Joomla view library +jimport('joomla.application.component.view'); + +/** + * Componentbuilder Import_language_translations View + */ +class ComponentbuilderViewImport_language_translations extends JViewLegacy +{ + protected $headerList; + protected $hasPackage = false; + protected $headers; + protected $hasHeader = 0; + protected $dataType; + + public function display($tpl = null) + { + if ($this->getLayout() !== 'modal') + { + // Include helper submenu + ComponentbuilderHelper::addSubmenu('import'); + } + + $paths = new stdClass; + $paths->first = ''; + $state = $this->get('state'); + + $this->paths = &$paths; + $this->state = &$state; + // get global action permissions + $this->canDo = ComponentbuilderHelper::getActions('import'); + + // We don't need toolbar in the modal window. + if ($this->getLayout() !== 'modal') + { + $this->addToolbar(); + $this->sidebar = JHtmlSidebar::render(); + } + + // get the session object + $session = JFactory::getSession(); + // check if it has package + $this->hasPackage = $session->get('hasPackage', false); + $this->dataType = $session->get('dataType', false); + if($this->hasPackage && $this->dataType) + { + $this->headerList = json_decode($session->get($this->dataType.'_VDM_IMPORTHEADERS', false),true); + $this->headers = ComponentbuilderHelper::getFileHeaders($this->dataType); + // clear the data type + $session->clear('dataType'); + } + + // Check for errors. + if (count($errors = $this->get('Errors'))){ + throw new Exception(implode("\n", $errors), 500); + } + + // Display the template + parent::display($tpl); + } + + /** + * Setting the toolbar + */ + protected function addToolBar() + { + JToolBarHelper::title(JText::_('COM_COMPONENTBUILDER_IMPORT_TITLE'), 'upload'); + JHtmlSidebar::setAction('index.php?option=com_componentbuilder&view=import_language_translations'); + + 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_language_translations'); + if (ComponentbuilderHelper::checkString($help_url)) + { + JToolbarHelper::help('COM_COMPONENTBUILDER_HELP_MANAGER', false, $help_url); + } + } +} diff --git a/componentbuilder.xml b/componentbuilder.xml index c91e78d0e..3db462a41 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -1,15 +1,15 @@ COM_COMPONENTBUILDER - 16th January, 2018 + 19th January, 2018 Llewellyn van der Merwe llewellyn@joomlacomponentbuilder.com http://joomlacomponentbuilder.com Copyright (C) 2015. All Rights Reserved GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html - 2.6.11 + 2.6.12 Component Builder (v.2.6.11) +

Component Builder (v.2.6.12)

The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. diff --git a/componentbuilder_update_server.xml b/componentbuilder_update_server.xml index 32cc05f44..ffc7789d3 100644 --- a/componentbuilder_update_server.xml +++ b/componentbuilder_update_server.xml @@ -356,4 +356,21 @@ http://joomlacomponentbuilder.com + + Component Builder + Builds Complex Joomla Components + com_componentbuilder + component + 2.6.12 + http://joomlacomponentbuilder.com + + http://domain.com/demo.zip + + + stable + + Llewellyn van der Merwe + http://joomlacomponentbuilder.com + + \ No newline at end of file diff --git a/script.php b/script.php index 4016d9895..eab587bc3 100644 --- a/script.php +++ b/script.php @@ -3218,9 +3218,9 @@ class com_componentbuilderInstallerScript $admin_view->type_title = 'Componentbuilder Admin_view'; $admin_view->type_alias = 'com_componentbuilder.admin_view'; $admin_view->table = '{"special": {"dbtable": "#__componentbuilder_admin_view","key": "id","type": "Admin_view","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}'; - $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","icon":"icon","php_after_delete":"php_after_delete","icon_category":"icon_category","icon_add":"icon_add","php_save":"php_save","php_batchmove":"php_batchmove","type":"type","description":"description","php_allowedit":"php_allowedit","add_fadein":"add_fadein","php_after_publish":"php_after_publish","source":"source","php_getitems":"php_getitems","php_import":"php_import","php_getlistquery":"php_getlistquery","php_getitem":"php_getitem","not_required":"not_required","php_getitems_after_all":"php_getitems_after_all","php_before_save":"php_before_save","php_postsavehook":"php_postsavehook","php_batchcopy":"php_batchcopy","php_before_publish":"php_before_publish","php_before_delete":"php_before_delete","php_document":"php_document","sql":"sql","php_import_display":"php_import_display","php_import_save":"php_import_save","add_css_view":"add_css_view","css_view":"css_view","add_php_getitems":"add_php_getitems","add_css_views":"add_css_views","add_php_getitems_after_all":"add_php_getitems_after_all","css_views":"css_views","add_php_getlistquery":"add_php_getlistquery","add_javascript_view_file":"add_javascript_view_file","add_php_before_save":"add_php_before_save","javascript_view_file":"javascript_view_file","add_php_save":"add_php_save","add_javascript_view_footer":"add_javascript_view_footer","add_php_postsavehook":"add_php_postsavehook","javascript_view_footer":"javascript_view_footer","add_php_allowedit":"add_php_allowedit","add_javascript_views_file":"add_javascript_views_file","add_php_batchcopy":"add_php_batchcopy","javascript_views_file":"javascript_views_file","add_php_batchmove":"add_php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","add_php_before_publish":"add_php_before_publish","javascript_views_footer":"javascript_views_footer","add_php_after_publish":"add_php_after_publish","add_custom_button":"add_custom_button","add_php_before_delete":"add_php_before_delete","add_php_after_delete":"add_php_after_delete","php_controller":"php_controller","add_php_document":"add_php_document","php_model":"php_model","add_sql":"add_sql","php_controller_list":"php_controller_list","php_model_list":"php_model_list","add_php_ajax":"add_php_ajax","add_custom_import":"add_custom_import","php_ajaxmethod":"php_ajaxmethod","html_import_view":"html_import_view","php_import_setdata":"php_import_setdata","add_php_getitem":"add_php_getitem","php_import_ext":"php_import_ext"}}'; + $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","icon":"icon","add_php_document":"add_php_document","icon_category":"icon_category","icon_add":"icon_add","add_php_postsavehook":"add_php_postsavehook","add_custom_import":"add_custom_import","add_php_before_publish":"add_php_before_publish","type":"type","description":"description","add_php_batchcopy":"add_php_batchcopy","add_fadein":"add_fadein","add_php_before_delete":"add_php_before_delete","add_php_getitems_after_all":"add_php_getitems_after_all","php_import_headers":"php_import_headers","add_php_before_save":"add_php_before_save","add_php_getitems":"add_php_getitems","not_required":"not_required","add_php_getlistquery":"add_php_getlistquery","add_php_save":"add_php_save","add_php_allowedit":"add_php_allowedit","add_php_batchmove":"add_php_batchmove","add_php_after_publish":"add_php_after_publish","add_php_after_delete":"add_php_after_delete","add_sql":"add_sql","html_import_view":"html_import_view","php_import_save":"php_import_save","add_css_view":"add_css_view","php_getitem":"php_getitem","css_view":"css_view","php_getitems":"php_getitems","add_css_views":"add_css_views","php_getitems_after_all":"php_getitems_after_all","css_views":"css_views","php_getlistquery":"php_getlistquery","add_javascript_view_file":"add_javascript_view_file","php_before_save":"php_before_save","javascript_view_file":"javascript_view_file","php_save":"php_save","add_javascript_view_footer":"add_javascript_view_footer","php_postsavehook":"php_postsavehook","javascript_view_footer":"javascript_view_footer","php_allowedit":"php_allowedit","add_javascript_views_file":"add_javascript_views_file","php_batchcopy":"php_batchcopy","javascript_views_file":"javascript_views_file","php_batchmove":"php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","php_before_publish":"php_before_publish","javascript_views_footer":"javascript_views_footer","php_after_publish":"php_after_publish","add_custom_button":"add_custom_button","php_before_delete":"php_before_delete","php_after_delete":"php_after_delete","php_controller":"php_controller","php_document":"php_document","php_model":"php_model","source":"source","php_controller_list":"php_controller_list","sql":"sql","php_model_list":"php_model_list","add_php_ajax":"add_php_ajax","php_import_display":"php_import_display","php_ajaxmethod":"php_ajaxmethod","php_import":"php_import","php_import_setdata":"php_import_setdata","add_php_getitem":"add_php_getitem","php_import_ext":"php_import_ext"}}'; $admin_view->router = 'ComponentbuilderHelperRoute::getAdmin_viewRoute'; - $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","type","add_fadein","source","not_required","add_css_view","add_php_getitems","add_css_views","add_php_getitems_after_all","add_php_getlistquery","add_javascript_view_file","add_php_before_save","add_php_save","add_javascript_view_footer","add_php_postsavehook","add_php_allowedit","add_javascript_views_file","add_php_batchcopy","add_php_batchmove","add_javascript_views_footer","add_php_before_publish","add_php_after_publish","add_custom_button","add_php_before_delete","add_php_after_delete","add_php_document","add_sql","add_php_ajax","add_custom_import","add_php_getitem"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'; + $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_php_document","add_php_postsavehook","add_custom_import","add_php_before_publish","type","add_php_batchcopy","add_fadein","add_php_before_delete","add_php_getitems_after_all","add_php_before_save","add_php_getitems","not_required","add_php_getlistquery","add_php_save","add_php_allowedit","add_php_batchmove","add_php_after_publish","add_php_after_delete","add_sql","add_css_view","add_css_views","add_javascript_view_file","add_javascript_view_footer","add_javascript_views_file","add_javascript_views_footer","add_custom_button","source","add_php_ajax","add_php_getitem"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'; // Set the object into the content types table. $admin_view_Inserted = $db->insertObject('#__content_types', $admin_view); @@ -3645,9 +3645,9 @@ class com_componentbuilderInstallerScript $admin_view->type_title = 'Componentbuilder Admin_view'; $admin_view->type_alias = 'com_componentbuilder.admin_view'; $admin_view->table = '{"special": {"dbtable": "#__componentbuilder_admin_view","key": "id","type": "Admin_view","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}'; - $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","icon":"icon","php_after_delete":"php_after_delete","icon_category":"icon_category","icon_add":"icon_add","php_save":"php_save","php_batchmove":"php_batchmove","type":"type","description":"description","php_allowedit":"php_allowedit","add_fadein":"add_fadein","php_after_publish":"php_after_publish","source":"source","php_getitems":"php_getitems","php_import":"php_import","php_getlistquery":"php_getlistquery","php_getitem":"php_getitem","not_required":"not_required","php_getitems_after_all":"php_getitems_after_all","php_before_save":"php_before_save","php_postsavehook":"php_postsavehook","php_batchcopy":"php_batchcopy","php_before_publish":"php_before_publish","php_before_delete":"php_before_delete","php_document":"php_document","sql":"sql","php_import_display":"php_import_display","php_import_save":"php_import_save","add_css_view":"add_css_view","css_view":"css_view","add_php_getitems":"add_php_getitems","add_css_views":"add_css_views","add_php_getitems_after_all":"add_php_getitems_after_all","css_views":"css_views","add_php_getlistquery":"add_php_getlistquery","add_javascript_view_file":"add_javascript_view_file","add_php_before_save":"add_php_before_save","javascript_view_file":"javascript_view_file","add_php_save":"add_php_save","add_javascript_view_footer":"add_javascript_view_footer","add_php_postsavehook":"add_php_postsavehook","javascript_view_footer":"javascript_view_footer","add_php_allowedit":"add_php_allowedit","add_javascript_views_file":"add_javascript_views_file","add_php_batchcopy":"add_php_batchcopy","javascript_views_file":"javascript_views_file","add_php_batchmove":"add_php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","add_php_before_publish":"add_php_before_publish","javascript_views_footer":"javascript_views_footer","add_php_after_publish":"add_php_after_publish","add_custom_button":"add_custom_button","add_php_before_delete":"add_php_before_delete","add_php_after_delete":"add_php_after_delete","php_controller":"php_controller","add_php_document":"add_php_document","php_model":"php_model","add_sql":"add_sql","php_controller_list":"php_controller_list","php_model_list":"php_model_list","add_php_ajax":"add_php_ajax","add_custom_import":"add_custom_import","php_ajaxmethod":"php_ajaxmethod","html_import_view":"html_import_view","php_import_setdata":"php_import_setdata","add_php_getitem":"add_php_getitem","php_import_ext":"php_import_ext"}}'; + $admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "null","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "null","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_single":"name_single","name_list":"name_list","short_description":"short_description","icon":"icon","add_php_document":"add_php_document","icon_category":"icon_category","icon_add":"icon_add","add_php_postsavehook":"add_php_postsavehook","add_custom_import":"add_custom_import","add_php_before_publish":"add_php_before_publish","type":"type","description":"description","add_php_batchcopy":"add_php_batchcopy","add_fadein":"add_fadein","add_php_before_delete":"add_php_before_delete","add_php_getitems_after_all":"add_php_getitems_after_all","php_import_headers":"php_import_headers","add_php_before_save":"add_php_before_save","add_php_getitems":"add_php_getitems","not_required":"not_required","add_php_getlistquery":"add_php_getlistquery","add_php_save":"add_php_save","add_php_allowedit":"add_php_allowedit","add_php_batchmove":"add_php_batchmove","add_php_after_publish":"add_php_after_publish","add_php_after_delete":"add_php_after_delete","add_sql":"add_sql","html_import_view":"html_import_view","php_import_save":"php_import_save","add_css_view":"add_css_view","php_getitem":"php_getitem","css_view":"css_view","php_getitems":"php_getitems","add_css_views":"add_css_views","php_getitems_after_all":"php_getitems_after_all","css_views":"css_views","php_getlistquery":"php_getlistquery","add_javascript_view_file":"add_javascript_view_file","php_before_save":"php_before_save","javascript_view_file":"javascript_view_file","php_save":"php_save","add_javascript_view_footer":"add_javascript_view_footer","php_postsavehook":"php_postsavehook","javascript_view_footer":"javascript_view_footer","php_allowedit":"php_allowedit","add_javascript_views_file":"add_javascript_views_file","php_batchcopy":"php_batchcopy","javascript_views_file":"javascript_views_file","php_batchmove":"php_batchmove","add_javascript_views_footer":"add_javascript_views_footer","php_before_publish":"php_before_publish","javascript_views_footer":"javascript_views_footer","php_after_publish":"php_after_publish","add_custom_button":"add_custom_button","php_before_delete":"php_before_delete","php_after_delete":"php_after_delete","php_controller":"php_controller","php_document":"php_document","php_model":"php_model","source":"source","php_controller_list":"php_controller_list","sql":"sql","php_model_list":"php_model_list","add_php_ajax":"add_php_ajax","php_import_display":"php_import_display","php_ajaxmethod":"php_ajaxmethod","php_import":"php_import","php_import_setdata":"php_import_setdata","add_php_getitem":"add_php_getitem","php_import_ext":"php_import_ext"}}'; $admin_view->router = 'ComponentbuilderHelperRoute::getAdmin_viewRoute'; - $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","type","add_fadein","source","not_required","add_css_view","add_php_getitems","add_css_views","add_php_getitems_after_all","add_php_getlistquery","add_javascript_view_file","add_php_before_save","add_php_save","add_javascript_view_footer","add_php_postsavehook","add_php_allowedit","add_javascript_views_file","add_php_batchcopy","add_php_batchmove","add_javascript_views_footer","add_php_before_publish","add_php_after_publish","add_custom_button","add_php_before_delete","add_php_after_delete","add_php_document","add_sql","add_php_ajax","add_custom_import","add_php_getitem"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'; + $admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","add_php_document","add_php_postsavehook","add_custom_import","add_php_before_publish","type","add_php_batchcopy","add_fadein","add_php_before_delete","add_php_getitems_after_all","add_php_before_save","add_php_getitems","not_required","add_php_getlistquery","add_php_save","add_php_allowedit","add_php_batchmove","add_php_after_publish","add_php_after_delete","add_sql","add_css_view","add_css_views","add_javascript_view_file","add_javascript_view_footer","add_javascript_views_file","add_javascript_views_footer","add_custom_button","source","add_php_ajax","add_php_getitem"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"}]}'; // Check if admin_view type is already in content_type DB. $admin_view_id = null; @@ -4739,7 +4739,7 @@ class com_componentbuilderInstallerScript echo ' -

Upgrade to Version 2.6.11 Was Successful! Let us know if anything is not working as expected.

'; +

Upgrade to Version 2.6.12 Was Successful! Let us know if anything is not working as expected.

'; } } } diff --git a/site/helpers/componentbuilder.php b/site/helpers/componentbuilder.php index 909c093d7..d79f95257 100644 --- a/site/helpers/componentbuilder.php +++ b/site/helpers/componentbuilder.php @@ -720,678 +720,7 @@ abstract class ComponentbuilderHelper } return false; } - - public static function getImportScripts($type, $fieldName = false) - { - // if field name is pased the convert to type - if ($fieldName) - { - $fieldNames = array( - 'php_import_display' => 'display', - 'php_import_setdata' => 'setdata', - 'php_import_save' => 'save', - 'html_import_view' => 'view', - 'php_import' => 'import', - 'php_import_ext' => 'ext' - ); - // first check if the field name is found - if (isset($fieldNames[$type])) - { - $type = $fieldNames[$type]; - } - else - { - return ''; - } - } - $script = array(); - if ('display' === $type) - { - // set the display script - $script['display'][] = "\tprotected \$headerList;"; - $script['display'][] = "\tprotected \$hasPackage = false;"; - $script['display'][] = "\tprotected \$headers;"; - $script['display'][] = "\tprotected \$hasHeader = 0;"; - $script['display'][] = "\tprotected \$dataType;"; - $script['display'][] = "\n\tpublic function display(\$tpl = null)"; - $script['display'][] = "\t{"; - $script['display'][] = "\t\tif (\$this->getLayout() !== 'modal')"; - $script['display'][] = "\t\t{"; - $script['display'][] = "\t\t\t// Include helper submenu"; - $script['display'][] = "\t\t\t###-#-#-Component###Helper::addSubmenu('import');"; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t\$paths = new stdClass;"; - $script['display'][] = "\t\t\$paths->first = '';"; - $script['display'][] = "\t\t\$state = \$this->get('state');"; - $script['display'][] = "\n\t\t\$this->paths = &\$paths;"; - $script['display'][] = "\t\t\$this->state = &\$state;"; - $script['display'][] = "\t\t// get global action permissions"; - $script['display'][] = "\t\t\$this->canDo = ###-#-#-Component###Helper::getActions('import');"; - $script['display'][] = "\n\t\t// We don't need toolbar in the modal window."; - $script['display'][] = "\t\tif (\$this->getLayout() !== 'modal')"; - $script['display'][] = "\t\t{"; - $script['display'][] = "\t\t\t\$this->addToolbar();"; - $script['display'][] = "\t\t\t\$this->sidebar = JHtmlSidebar::render();"; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t// get the session object"; - $script['display'][] = "\t\t\$session = JFactory::getSession();"; - $script['display'][] = "\t\t// check if it has package"; - $script['display'][] = "\t\t\$this->hasPackage \t= \$session->get('hasPackage', false);"; - $script['display'][] = "\t\t\$this->dataType \t= \$session->get('dataType', false);"; - $script['display'][] = "\t\tif(\$this->hasPackage && \$this->dataType)"; - $script['display'][] = "\t\t{"; - $script['display'][] = "\t\t\t\$this->headerList \t= json_decode(\$session->get(\$this->dataType.'_VDM_IMPORTHEADERS', false),true);"; - $script['display'][] = "\t\t\t\$this->headers \t\t= ###-#-#-Component###Helper::getFileHeaders(\$this->dataType);"; - $script['display'][] = "\t\t\t// clear the data type"; - $script['display'][] = "\t\t\t\$session->clear('dataType');"; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t// Check for errors."; - $script['display'][] = "\t\tif (count(\$errors = \$this->get('Errors'))){"; - $script['display'][] = "\t\t\tthrow new Exception(implode(".'"\n", $errors), 500);'; - $script['display'][] = "\t\t}"; - $script['display'][] = "\n\t\t// Display the template"; - $script['display'][] = "\t\tparent::display(\$tpl);"; - $script['display'][] = "\t}"; - } - elseif ('setdata' === $type) - { - // set the setdata script - $script['setdata'] = array(); - $script['setdata'][] = "\t/**"; - $script['setdata'][] = "\t* Set the data from the spreadsheet to the database"; - $script['setdata'][] = "\t*"; - $script['setdata'][] = "\t* @param string \$package Paths to the uploaded package file"; - $script['setdata'][] = "\t*"; - $script['setdata'][] = "\t* @return boolean false on failure"; - $script['setdata'][] = "\t*"; - $script['setdata'][] = "\t**/"; - $script['setdata'][] = "\tprotected function setData(\$package,\$table,\$target_headers)"; - $script['setdata'][] = "\t{"; - $script['setdata'][] = "\t\tif (###-#-#-Component###Helper::checkArray(\$target_headers))"; - $script['setdata'][] = "\t\t{"; - $script['setdata'][] = "\t\t\t// make sure the file is loaded\t\t"; - $script['setdata'][] = "\t\t\tJLoader::import('PHPExcel', JPATH_COMPONENT_ADMINISTRATOR . '/helpers');"; - $script['setdata'][] = "\t\t\t\$jinput = JFactory::getApplication()->input;"; - $script['setdata'][] = "\t\t\tforeach(\$target_headers as \$header)"; - $script['setdata'][] = "\t\t\t{"; - $script['setdata'][] = "\t\t\t\t\$data['target_headers'][\$header] = \$jinput->getString(\$header, null);"; - $script['setdata'][] = "\t\t\t}"; - $script['setdata'][] = "\t\t\t// set the data"; - $script['setdata'][] = "\t\t\tif(isset(\$package['dir']))"; - $script['setdata'][] = "\t\t\t{"; - $script['setdata'][] = "\t\t\t\t\$inputFileType = PHPExcel_IOFactory::identify(\$package['dir']);"; - $script['setdata'][] = "\t\t\t\t\$excelReader = PHPExcel_IOFactory::createReader(\$inputFileType);"; - $script['setdata'][] = "\t\t\t\t\$excelReader->setReadDataOnly(true);"; - $script['setdata'][] = "\t\t\t\t\$excelObj = \$excelReader->load(\$package['dir']);"; - $script['setdata'][] = "\t\t\t\t\$data['array'] = \$excelObj->getActiveSheet()->toArray(null, true,true,true);"; - $script['setdata'][] = "\t\t\t\t\$excelObj->disconnectWorksheets();"; - $script['setdata'][] = "\t\t\t\tunset(\$excelObj);"; - $script['setdata'][] = "\t\t\t\treturn \$this->save(\$data,\$table);"; - $script['setdata'][] = "\t\t\t}"; - $script['setdata'][] = "\t\t}"; - $script['setdata'][] = "\t\treturn false;"; - $script['setdata'][] = "\t}"; - } - elseif ('save' === $type) - { - $script['save'] = array(); - $script['save'][] = "\t/**"; - $script['save'][] = "\t* Save the data from the file to the database"; - $script['save'][] = "\t*"; - $script['save'][] = "\t* @param string \$package Paths to the uploaded package file"; - $script['save'][] = "\t*"; - $script['save'][] = "\t* @return boolean false on failure"; - $script['save'][] = "\t*"; - $script['save'][] = "\t**/"; - $script['save'][] = "\tprotected function save(\$data,\$table)"; - $script['save'][] = "\t{"; - $script['save'][] = "\t\t// import the data if there is any"; - $script['save'][] = "\t\tif(###-#-#-Component###Helper::checkArray(\$data['array']))"; - $script['save'][] = "\t\t{"; - $script['save'][] = "\t\t\t// get user object"; - $script['save'][] = "\t\t\t\$user \t\t= JFactory::getUser();"; - $script['save'][] = "\t\t\t// remove header if it has headers"; - $script['save'][] = "\t\t\t\$id_key \t= \$data['target_headers']['id'];"; - $script['save'][] = "\t\t\t\$published_key \t= \$data['target_headers']['published'];"; - $script['save'][] = "\t\t\t\$ordering_key \t= \$data['target_headers']['ordering'];"; - $script['save'][] = "\t\t\t// get the first array set"; - $script['save'][] = "\t\t\t\$firstSet = reset(\$data['array']);"; - $script['save'][] = ""; - $script['save'][] = "\t\t\t// check if first array is a header array and remove if true"; - $script['save'][] = "\t\t\tif(\$firstSet[\$id_key] == 'id' || \$firstSet[\$published_key] == 'published' || \$firstSet[\$ordering_key] == 'ordering')"; - $script['save'][] = "\t\t\t{"; - $script['save'][] = "\t\t\t\tarray_shift(\$data['array']);"; - $script['save'][] = "\t\t\t}"; - $script['save'][] = "\t\t\t"; - $script['save'][] = "\t\t\t// make sure there is still values in array and that it was not only headers"; - $script['save'][] = "\t\t\tif(###-#-#-Component###Helper::checkArray(\$data['array']) && \$user->authorise(\$table.'.import', 'com_###-#-#-component###') && \$user->authorise('core.import', 'com_###-#-#-component###'))"; - $script['save'][] = "\t\t\t{"; - $script['save'][] = "\t\t\t\t// set target."; - $script['save'][] = "\t\t\t\t\$target\t= array_flip(\$data['target_headers']);"; - $script['save'][] = "\t\t\t\t// Get a db connection."; - $script['save'][] = "\t\t\t\t\$db = JFactory::getDbo();"; - $script['save'][] = "\t\t\t\t// set some defaults"; - $script['save'][] = "\t\t\t\t\$todayDate\t\t= JFactory::getDate()->toSql();"; - $script['save'][] = "\t\t\t\t// get global action permissions"; - $script['save'][] = "\t\t\t\t\$canDo\t\t\t= ###-#-#-Component###Helper::getActions(\$table);"; - $script['save'][] = "\t\t\t\t\$canEdit\t\t= \$canDo->get('core.edit');"; - $script['save'][] = "\t\t\t\t\$canState\t\t= \$canDo->get('core.edit.state');"; - $script['save'][] = "\t\t\t\t\$canCreate\t\t= \$canDo->get('core.create');"; - $script['save'][] = "\t\t\t\t\$hasAlias\t\t= \$this->getAliasesUsed(\$table);"; - $script['save'][] = "\t\t\t\t// prosses the data"; - $script['save'][] = "\t\t\t\tforeach(\$data['array'] as \$row)"; - $script['save'][] = "\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\$found = false;"; - $script['save'][] = "\t\t\t\t\tif (isset(\$row[\$id_key]) && is_numeric(\$row[\$id_key]) && \$row[\$id_key] > 0)"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t// raw items import & update!"; - $script['save'][] = "\t\t\t\t\t\t\$query = \$db->getQuery(true);"; - $script['save'][] = "\t\t\t\t\t\t\$query"; - $script['save'][] = "\t\t\t\t\t\t\t->select('version')"; - $script['save'][] = "\t\t\t\t\t\t\t->from(\$db->quoteName('#__###-#-#-component###_'.\$table))"; - $script['save'][] = "\t\t\t\t\t\t\t->where(\$db->quoteName('id') . ' = '. \$db->quote(\$row[\$id_key]));"; - $script['save'][] = "\t\t\t\t\t\t// Reset the query using our newly populated query object."; - $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; - $script['save'][] = "\t\t\t\t\t\t\$db->execute();"; - $script['save'][] = "\t\t\t\t\t\t\$found = \$db->getNumRows();"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t"; - $script['save'][] = "\t\t\t\t\tif(\$found && \$canEdit)"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t// update item"; - $script['save'][] = "\t\t\t\t\t\t\$id \t\t= \$row[\$id_key];"; - $script['save'][] = "\t\t\t\t\t\t\$version\t= \$db->loadResult();"; - $script['save'][] = "\t\t\t\t\t\t// reset all buckets"; - $script['save'][] = "\t\t\t\t\t\t\$query \t\t= \$db->getQuery(true);"; - $script['save'][] = "\t\t\t\t\t\t\$fields \t= array();"; - $script['save'][] = "\t\t\t\t\t\t// Fields to update."; - $script['save'][] = "\t\t\t\t\t\tforeach(\$row as \$key => \$cell)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t// ignore column"; - $script['save'][] = "\t\t\t\t\t\t\tif ('IGNORE' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update modified"; - $script['save'][] = "\t\t\t\t\t\t\tif ('modified_by' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update modified"; - $script['save'][] = "\t\t\t\t\t\t\tif ('modified' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update version"; - $script['save'][] = "\t\t\t\t\t\t\tif ('version' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = (int) \$version + 1;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// verify publish authority"; - $script['save'][] = "\t\t\t\t\t\t\tif ('published' == \$target[\$key] && !\$canState)"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// set to update array"; - $script['save'][] = "\t\t\t\t\t\t\tif(in_array(\$key, \$data['target_headers']) && is_numeric(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . ' = ' . \$cell;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_string(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . ' = ' . \$db->quote(\$cell);"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_null(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t// if import data is null then set empty"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$fields[] = \$db->quoteName(\$target[\$key]) . \" = ''\";"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t// load the defaults"; - $script['save'][] = "\t\t\t\t\t\t\$fields[]\t= \$db->quoteName('modified_by') . ' = ' . \$db->quote(\$user->id);"; - $script['save'][] = "\t\t\t\t\t\t\$fields[]\t= \$db->quoteName('modified') . ' = ' . \$db->quote(\$todayDate);"; - $script['save'][] = "\t\t\t\t\t\t// Conditions for which records should be updated."; - $script['save'][] = "\t\t\t\t\t\t\$conditions = array("; - $script['save'][] = "\t\t\t\t\t\t\t\$db->quoteName('id') . ' = ' . \$id"; - $script['save'][] = "\t\t\t\t\t\t);"; - $script['save'][] = "\t\t\t\t\t\t"; - $script['save'][] = "\t\t\t\t\t\t\$query->update(\$db->quoteName('#__###-#-#-component###_'.\$table))->set(\$fields)->where(\$conditions);"; - $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; - $script['save'][] = "\t\t\t\t\t\t\$db->execute();"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\telseif (\$canCreate)"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t// insert item"; - $script['save'][] = "\t\t\t\t\t\t\$query = \$db->getQuery(true);"; - $script['save'][] = "\t\t\t\t\t\t// reset all buckets"; - $script['save'][] = "\t\t\t\t\t\t\$columns \t= array();"; - $script['save'][] = "\t\t\t\t\t\t\$values \t= array();"; - $script['save'][] = "\t\t\t\t\t\t\$version\t= false;"; - $script['save'][] = "\t\t\t\t\t\t// Insert columns. Insert values."; - $script['save'][] = "\t\t\t\t\t\tforeach(\$row as \$key => \$cell)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t// ignore column"; - $script['save'][] = "\t\t\t\t\t\t\tif ('IGNORE' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// remove id"; - $script['save'][] = "\t\t\t\t\t\t\tif ('id' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update created"; - $script['save'][] = "\t\t\t\t\t\t\tif ('created_by' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update created"; - $script['save'][] = "\t\t\t\t\t\t\tif ('created' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\tcontinue;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// Make sure the alias is incremented"; - $script['save'][] = "\t\t\t\t\t\t\tif ('alias' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = \$this->getAlias(\$cell,\$table);"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// update version"; - $script['save'][] = "\t\t\t\t\t\t\tif ('version' == \$target[\$key])"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$cell = 1;"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$version = true;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\t// set to insert array"; - $script['save'][] = "\t\t\t\t\t\t\tif(in_array(\$key, \$data['target_headers']) && is_numeric(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \$cell;"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_string(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \$db->quote(\$cell);"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t\telseif(in_array(\$key, \$data['target_headers']) && is_null(\$cell))"; - $script['save'][] = "\t\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\t// if import data is null then set empty"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$columns[] \t= \$target[\$key];"; - $script['save'][] = "\t\t\t\t\t\t\t\t\$values[] \t= \"''\";"; - $script['save'][] = "\t\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t// load the defaults"; - $script['save'][] = "\t\t\t\t\t\t\$columns[] \t= 'created_by';"; - $script['save'][] = "\t\t\t\t\t\t\$values[] \t= \$db->quote(\$user->id);"; - $script['save'][] = "\t\t\t\t\t\t\$columns[] \t= 'created';"; - $script['save'][] = "\t\t\t\t\t\t\$values[] \t= \$db->quote(\$todayDate);"; - $script['save'][] = "\t\t\t\t\t\tif (!\$version)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\$columns[] \t= 'version';"; - $script['save'][] = "\t\t\t\t\t\t\t\$values[] \t= 1;"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t\t// Prepare the insert query."; - $script['save'][] = "\t\t\t\t\t\t\$query"; - $script['save'][] = "\t\t\t\t\t\t\t->insert(\$db->quoteName('#__###-#-#-component###_'.\$table))"; - $script['save'][] = "\t\t\t\t\t\t\t->columns(\$db->quoteName(\$columns))"; - $script['save'][] = "\t\t\t\t\t\t\t->values(implode(',', \$values));"; - $script['save'][] = "\t\t\t\t\t\t// Set the query using our newly populated query object and execute it."; - $script['save'][] = "\t\t\t\t\t\t\$db->setQuery(\$query);"; - $script['save'][] = "\t\t\t\t\t\t\$done = \$db->execute();"; - $script['save'][] = "\t\t\t\t\t\tif (\$done)"; - $script['save'][] = "\t\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\t\t\$aId = \$db->insertid();"; - $script['save'][] = "\t\t\t\t\t\t\t// make sure the access of asset is set"; - $script['save'][] = "\t\t\t\t\t\t\t###-#-#-Component###Helper::setAsset(\$aId,\$table);"; - $script['save'][] = "\t\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t\telse"; - $script['save'][] = "\t\t\t\t\t{"; - $script['save'][] = "\t\t\t\t\t\treturn false;"; - $script['save'][] = "\t\t\t\t\t}"; - $script['save'][] = "\t\t\t\t}"; - $script['save'][] = "\t\t\t\treturn true;"; - $script['save'][] = "\t\t\t}"; - $script['save'][] = "\t\t}"; - $script['save'][] = "\t\treturn false;"; - $script['save'][] = "\t}"; - } - elseif ('view' === $type) - { - $script['view'] = array(); - $script['view'][] = ""; - $script['view'][] = ""; - $script['view'][] = "\n
"; - $script['view'][] = "
\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">"; - $script['view'][] = ""; - $script['view'][] = "\n\tsidebar)) : ?>"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t\tsidebar; ?>"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t"; - $script['view'][] = ""; - $script['view'][] = "\n\thasPackage && ###-#-#-Component###Helper::checkArray(\$this->headerList) && ###-#-#-Component###Helper::checkArray(\$this->headers)) : ?>"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\theaderList as \$name => \$title): ?>"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t\" onclick=\"Joomla.continueImport()\" />"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t"; - $script['view'][] = "\t\t 'upload')); ?>"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton()\" />    (.csv .xls .ods)"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\tstate->get('import.directory'); ?>\" />"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton3()\" />    (.csv .xls .ods)"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = ""; - $script['view'][] = "\n\t\t"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t\t\t"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\t"; - $script['view'][] = "\t\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t\t\t\" onclick=\"Joomla.submitbutton4()\" />    (.csv .xls .ods)"; - $script['view'][] = "\t\t\t\t
"; - $script['view'][] = "\t\t\t
"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t\t"; - $script['view'][] = "\t"; - $script['view'][] = "\t"; - $script['view'][] = "\t"; - $script['view'][] = ""; - $script['view'][] = "
"; - } - elseif ('import' === $type) - { - $script['import'] = array(); - $script['import'][] = "\t/**"; - $script['import'][] = "\t * Import an spreadsheet from either folder, url or upload."; - $script['import'][] = "\t *"; - $script['import'][] = "\t * @return boolean result of import"; - $script['import'][] = "\t *"; - $script['import'][] = "\t */"; - $script['import'][] = "\tpublic function import()"; - $script['import'][] = "\t{"; - $script['import'][] = "\t\t\$this->setState('action', 'import');"; - $script['import'][] = "\t\t\$app \t\t= JFactory::getApplication();"; - $script['import'][] = "\t\t\$session \t= JFactory::getSession();"; - $script['import'][] = "\t\t\$package \t= null;"; - $script['import'][] = "\t\t\$continue\t= false;"; - $script['import'][] = "\t\t// get import type"; - $script['import'][] = "\t\t\$this->getType = \$app->input->getString('gettype', NULL);"; - $script['import'][] = "\t\t// get import type"; - $script['import'][] = "\t\t\$this->dataType\t= \$session->get('dataType_VDM_IMPORTINTO', NULL);"; - $script['import'][] = "\n\t\tif (\$package === null)"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\tswitch (\$this->getType)"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t\tcase 'folder':"; - $script['import'][] = "\t\t\t\t\t// Remember the 'Import from Directory' path."; - $script['import'][] = "\t\t\t\t\t\$app->getUserStateFromRequest(\$this->_context . '.import_directory', 'import_directory');"; - $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromFolder();"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tcase 'upload':"; - $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromUpload();"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tcase 'url':"; - $script['import'][] = "\t\t\t\t\t\$package = \$this->_getPackageFromUrl();"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tcase 'continue':"; - $script['import'][] = "\t\t\t\t\t\$continue \t= true;"; - $script['import'][] = "\t\t\t\t\t\$package\t= \$session->get('package', null);"; - $script['import'][] = "\t\t\t\t\t\$package\t= json_decode(\$package, true);"; - $script['import'][] = "\t\t\t\t\t// clear session"; - $script['import'][] = "\t\t\t\t\t\$session->clear('package');"; - $script['import'][] = "\t\t\t\t\t\$session->clear('dataType');"; - $script['import'][] = "\t\t\t\t\t\$session->clear('hasPackage');"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\n\t\t\t\tdefault:"; - $script['import'][] = "\t\t\t\t\t\$app->setUserState('com_###-#-#-component###.message', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_NO_IMPORT_TYPE_FOUND'));"; - $script['import'][] = "\n\t\t\t\t\treturn false;"; - $script['import'][] = "\t\t\t\t\tbreak;"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\t// Was the package valid?"; - $script['import'][] = "\t\tif (!\$package || !\$package['type'])"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\tif (in_array(\$this->getType, array('upload', 'url')))"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t\t\$this->remove(\$package['packagename']);"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\n\t\t\t\$app->setUserState('com_###-#-#-component###.message', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UNABLE_TO_FIND_IMPORT_PACKAGE'));"; - $script['import'][] = "\t\t\treturn false;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\t"; - $script['import'][] = "\t\t// first link data to table headers"; - $script['import'][] = "\t\tif(!\$continue){"; - $script['import'][] = "\t\t\t\$package\t= json_encode(\$package);"; - $script['import'][] = "\t\t\t\$session->set('package', \$package);"; - $script['import'][] = "\t\t\t\$session->set('dataType', \$this->dataType);"; - $script['import'][] = "\t\t\t\$session->set('hasPackage', true);"; - $script['import'][] = "\t\t\treturn true;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\t// set the data"; - $script['import'][] = "\t\t\$headerList = json_decode(\$session->get(\$this->dataType.'_VDM_IMPORTHEADERS', false), true);"; - $script['import'][] = "\t\tif (!\$this->setData(\$package,\$this->dataType,\$headerList))"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\t// There was an error importing the package"; - $script['import'][] = "\t\t\t\$msg = JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_ERROR');"; - $script['import'][] = "\t\t\t\$back = \$session->get('backto_VDM_IMPORT', NULL);"; - $script['import'][] = "\t\t\tif (\$back)"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t\t\$app->setUserState('com_###-#-#-component###.redirect_url', 'index.php?option=com_###-#-#-component###&view='.\$back);"; - $script['import'][] = "\t\t\t\t\$session->clear('backto_VDM_IMPORT');"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\t\t\t\$result = false;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\t\telse"; - $script['import'][] = "\t\t{"; - $script['import'][] = "\t\t\t// Package imported sucessfully"; - $script['import'][] = "\t\t\t\$msg = JTe-#-#-xt::sprintf('COM_###-#-#-COMPONENT###_IMPORT_SUCCESS', \$package['packagename']);"; - $script['import'][] = "\t\t\t\$back = \$session->get('backto_VDM_IMPORT', NULL);"; - $script['import'][] = "\t\t\tif (\$back)"; - $script['import'][] = "\t\t\t{"; - $script['import'][] = "\t\t\t \$app->setUserState('com_###-#-#-component###.redirect_url', 'index.php?option=com_###-#-#-component###&view='.\$back);"; - $script['import'][] = "\t\t\t \$session->clear('backto_VDM_IMPORT');"; - $script['import'][] = "\t\t\t}"; - $script['import'][] = "\t\t\t\$result = true;"; - $script['import'][] = "\t\t}"; - $script['import'][] = "\n\t\t// Set some model state values"; - $script['import'][] = "\t\t\$app->enqueueMessage(\$msg);"; - $script['import'][] = "\n\t\t// remove file after import"; - $script['import'][] = "\t\t\$this->remove(\$package['packagename']);"; - $script['import'][] = "\t\t\$session->clear(\$this->getType.'_VDM_IMPORTHEADERS');"; - $script['import'][] = "\t\treturn \$result;"; - $script['import'][] = "\t}"; - } - elseif ('ext' === $type) - { - $script['ext'][] = "\t/**"; - $script['ext'][] = "\t * Check the extension"; - $script['ext'][] = "\t *"; - $script['ext'][] = "\t * @param string \$file Name of the uploaded file"; - $script['ext'][] = "\t *"; - $script['ext'][] = "\t * @return boolean True on success"; - $script['ext'][] = "\t *"; - $script['ext'][] = "\t */"; - $script['ext'][] = "\tprotected function checkExtension(\$file)"; - $script['ext'][] = "\t{"; - $script['ext'][] = "\t\t// check the extention"; - $script['ext'][] = "\t\tswitch(strtolower(pathinfo(\$file, PATHINFO_EXTENSION)))"; - $script['ext'][] = "\t\t{"; - $script['ext'][] = "\t\t\tcase 'xls':"; - $script['ext'][] = "\t\t\tcase 'ods':"; - $script['ext'][] = "\t\t\tcase 'csv':"; - $script['ext'][] = "\t\t\treturn true;"; - $script['ext'][] = "\t\t\tbreak;"; - $script['ext'][] = "\t\t}"; - $script['ext'][] = "\t\treturn false;"; - $script['ext'][] = "\t}"; - } - // return the needed script - if (isset($script[$type])) - { - return str_replace('-#-#-', '', implode("\n",$script[$type])); - } - return false; - } - + /** * set the session defaults if not set **/