|
|
|
@ -721,708 +721,6 @@ abstract class ComponentbuilderHelper
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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 type=\"text/javascript\">";
|
|
|
|
|
$script['view'][] = "<?php if (\$this->hasPackage && ###-#-#-Component###Helper::checkArray(\$this->headerList)) : ?>";
|
|
|
|
|
$script['view'][] = "\tJoomla.continueImport = function()";
|
|
|
|
|
$script['view'][] = "\t{";
|
|
|
|
|
$script['view'][] = "\t\tvar form = document.getElementById('adminForm');";
|
|
|
|
|
$script['view'][] = "\t\tvar error = false;";
|
|
|
|
|
$script['view'][] = "\t\tvar therequired = [<?php \$i = 0; foreach(\$this->headerList as \$name => \$title) { echo (\$i != 0)? ', \"vdm_'.\$name.'\"':'\"vdm_'.\$name.'\"'; \$i++; } ?>];";
|
|
|
|
|
$script['view'][] = "\t\tfor(i = 0; i < therequired.length; i++)";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\tif(jQuery('#'+therequired[i]).val() == \"\" )";
|
|
|
|
|
$script['view'][] = "\t\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\t\terror = true;";
|
|
|
|
|
$script['view'][] = "\t\t\t\tbreak;";
|
|
|
|
|
$script['view'][] = "\t\t\t}";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t\t// do field validation";
|
|
|
|
|
$script['view'][] = "\t\tif (error)";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\talert(\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_MSG_PLEASE_SELECT_ALL_COLUMNS', true); ?>\");";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t\telse";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\tjQuery('#loading').css('display', 'block');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t\tform.gettype.value = 'continue';";
|
|
|
|
|
$script['view'][] = "\t\t\tform.submit();";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t};";
|
|
|
|
|
$script['view'][] = "<?php else: ?>";
|
|
|
|
|
$script['view'][] = "\tJoomla.submitbutton = function()";
|
|
|
|
|
$script['view'][] = "\t{";
|
|
|
|
|
$script['view'][] = "\t\tvar form = document.getElementById('adminForm');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t// do field validation";
|
|
|
|
|
$script['view'][] = "\t\tif (form.import_package.value == \"\")";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\talert(\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_MSG_PLEASE_SELECT_A_FILE', true); ?>\");";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t\telse";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\tjQuery('#loading').css('display', 'block');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t\tform.gettype.value = 'upload';";
|
|
|
|
|
$script['view'][] = "\t\t\tform.submit();";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t};";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\tJoomla.submitbutton3 = function()";
|
|
|
|
|
$script['view'][] = "\t{";
|
|
|
|
|
$script['view'][] = "\t\tvar form = document.getElementById('adminForm');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t// do field validation";
|
|
|
|
|
$script['view'][] = "\t\tif (form.import_directory.value == \"\"){";
|
|
|
|
|
$script['view'][] = "\t\t\talert(\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_MSG_PLEASE_SELECT_A_DIRECTORY', true); ?>\");";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t\telse";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\tjQuery('#loading').css('display', 'block');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t\tform.gettype.value = 'folder';";
|
|
|
|
|
$script['view'][] = "\t\t\tform.submit();";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t};";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\tJoomla.submitbutton4 = function()";
|
|
|
|
|
$script['view'][] = "\t{";
|
|
|
|
|
$script['view'][] = "\t\tvar form = document.getElementById('adminForm');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t// do field validation";
|
|
|
|
|
$script['view'][] = "\t\tif (form.import_url.value == \"\" || form.import_url.value == \"http://\")";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\talert(\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_MSG_ENTER_A_URL', true); ?>\");";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t\telse";
|
|
|
|
|
$script['view'][] = "\t\t{";
|
|
|
|
|
$script['view'][] = "\t\t\tjQuery('#loading').css('display', 'block');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t\tform.gettype.value = 'url';";
|
|
|
|
|
$script['view'][] = "\t\t\tform.submit();";
|
|
|
|
|
$script['view'][] = "\t\t}";
|
|
|
|
|
$script['view'][] = "\t};";
|
|
|
|
|
$script['view'][] = "<?php endif; ?>";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n// Add spindle-wheel for importations:";
|
|
|
|
|
$script['view'][] = "jQuery(document).ready(function(\$) {";
|
|
|
|
|
$script['view'][] = "\tvar outerDiv = \$('body');";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\$('<div id=\"loading\"></div>')";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"background\", \"rgba(255, 255, 255, .8) url('components/com_###-#-#-component###/assets/images/import.gif') 50% 15% no-repeat\")";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"top\", outerDiv.position().top - \$(window).scrollTop())";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"left\", outerDiv.position().left - \$(window).scrollLeft())";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"width\", outerDiv.width())";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"height\", outerDiv.height())";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"position\", \"fixed\")";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"opacity\", \"0.80\")";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"-ms-filter\", \"progid:DXImageTransform.Microsoft.Alpha(Opacity = 80)\")";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"filter\", \"alpha(opacity = 80)\")";
|
|
|
|
|
$script['view'][] = "\t\t.css(\"display\", \"none\")";
|
|
|
|
|
$script['view'][] = "\t\t.appendTo(outerDiv);";
|
|
|
|
|
$script['view'][] = "});";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n</script>";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n<div id=\"installer-import\" class=\"clearfix\">";
|
|
|
|
|
$script['view'][] = "<form enctype=\"multipart/form-data\" action=\"<?php echo JRoute::_('index.php?option=com_###-#-#-component###&view=import_###-#-#-views###');?>\" method=\"post\" name=\"adminForm\" id=\"adminForm\" class=\"form-horizontal form-validate\">";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t<?php if (!empty( \$this->sidebar)) : ?>";
|
|
|
|
|
$script['view'][] = "\t\t<div id=\"j-sidebar-container\" class=\"span2\">";
|
|
|
|
|
$script['view'][] = "\t\t\t<?php echo \$this->sidebar; ?>";
|
|
|
|
|
$script['view'][] = "\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t<div id=\"j-main-container\" class=\"span10\">";
|
|
|
|
|
$script['view'][] = "\t<?php else : ?>";
|
|
|
|
|
$script['view'][] = "\t\t<div id=\"j-main-container\">";
|
|
|
|
|
$script['view'][] = "\t<?php endif;?>";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t<?php if (\$this->hasPackage && ###-#-#-Component###Helper::checkArray(\$this->headerList) && ###-#-#-Component###Helper::checkArray(\$this->headers)) : ?>";
|
|
|
|
|
$script['view'][] = "\t\t<fieldset class=\"uploadform\">";
|
|
|
|
|
$script['view'][] = "\t\t\t<legend><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_LINK_FILE_TO_TABLE_COLUMNS'); ?></legend>";
|
|
|
|
|
$script['view'][] = "\t\t\t<div class=\"control-group\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<label class=\"control-label\" ><h4><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_TABLE_COLUMNS'); ?></h4></label>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"controls\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<label class=\"control-label\" ><h4><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FILE_COLUMNS'); ?></h4></label>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t<?php foreach(\$this->headerList as \$name => \$title): ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"control-group\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<label for=\"<?php echo \$name; ?>\" class=\"control-label\" ><?php echo \$title; ?></label>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<div class=\"controls\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t<select name=\"<?php echo \$name; ?>\" id=\"vdm_<?php echo \$name; ?>\" required class=\"required input_box\" >";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t\t<option value=\"\"><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_PLEASE_SELECT_COLUMN'); ?></option>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t\t<option value=\"IGNORE\"><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_IGNORE_COLUMN'); ?></option>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t\t<?php foreach(\$this->headers as \$value => \$option): ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t\t\t<?php \$selected = (strtolower(\$option) == strtolower (\$title) || strtolower(\$option) == strtolower(\$name))? 'selected=\"selected\"':''; ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t\t\t<option value=\"<?php echo ###-#-#-Component###Helper::htmlEscape(\$value); ?>\" class=\"required\" <?php echo \$selected ?>><?php echo ###-#-#-Component###Helper::htmlEscape(\$option); ?></option>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t\t<?php endforeach; ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t</select>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t<?php endforeach; ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t<div class=\"form-actions\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<input class=\"btn btn-primary\" type=\"button\" value=\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_CONTINUE'); ?>\" onclick=\"Joomla.continueImport()\" />";
|
|
|
|
|
$script['view'][] = "\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t</fieldset>";
|
|
|
|
|
$script['view'][] = "\t\t<input type=\"hidden\" name=\"gettype\" value=\"continue\" />";
|
|
|
|
|
$script['view'][] = "\t<?php else: ?>";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.startTabSet', 'myTab', array('active' => 'upload')); ?>";
|
|
|
|
|
$script['view'][] = "\t\t";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.addTab', 'myTab', 'upload', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FROM_UPLOAD', true)); ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t<fieldset class=\"uploadform\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<legend><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UPDATE_DATA'); ?></legend>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"control-group\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<label for=\"import_package\" class=\"control-label\"><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_SELECT_FILE'); ?></label>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<div class=\"controls\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t<input class=\"input_box\" id=\"import_package\" name=\"import_package\" type=\"file\" size=\"57\" />";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"form-actions\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<input class=\"btn btn-primary\" type=\"button\" value=\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UPLOAD_BOTTON'); ?>\" onclick=\"Joomla.submitbutton()\" /> <small><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FORMATS_ACCEPTED'); ?> (.csv .xls .ods)</small>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t</fieldset>";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.endTab'); ?>";
|
|
|
|
|
$script['view'][] = "\t\t";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.addTab', 'myTab', 'directory', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FROM_DIRECTORY', true)); ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t<fieldset class=\"uploadform\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<legend><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UPDATE_DATA'); ?></legend>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"control-group\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<label for=\"import_directory\" class=\"control-label\"><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_SELECT_FILE_DIRECTORY'); ?></label>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<div class=\"controls\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t<input type=\"text\" id=\"import_directory\" name=\"import_directory\" class=\"span5 input_box\" size=\"70\" value=\"<?php echo \$this->state->get('import.directory'); ?>\" />";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"form-actions\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<input type=\"button\" class=\"btn btn-primary\" value=\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_GET_BOTTON'); ?>\" onclick=\"Joomla.submitbutton3()\" /> <small><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FORMATS_ACCEPTED'); ?> (.csv .xls .ods)</small>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</fieldset>";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.endTab'); ?>";
|
|
|
|
|
$script['view'][] = "";
|
|
|
|
|
$script['view'][] = "\n\t\t<?php echo JHtml::_('bootstrap.addTab', 'myTab', 'url', JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FROM_URL', true)); ?>";
|
|
|
|
|
$script['view'][] = "\t\t\t<fieldset class=\"uploadform\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<legend><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_UPDATE_DATA'); ?></legend>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"control-group\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<label for=\"import_url\" class=\"control-label\"><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_SELECT_FILE_URL'); ?></label>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<div class=\"controls\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t\t<input type=\"text\" id=\"import_url\" name=\"import_url\" class=\"span5 input_box\" size=\"70\" value=\"http://\" />";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t<div class=\"form-actions\">";
|
|
|
|
|
$script['view'][] = "\t\t\t\t\t<input type=\"button\" class=\"btn btn-primary\" value=\"<?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_GET_BOTTON'); ?>\" onclick=\"Joomla.submitbutton4()\" /> <small><?php echo JTe-#-#-xt::_('COM_###-#-#-COMPONENT###_IMPORT_FORMATS_ACCEPTED'); ?> (.csv .xls .ods)</small>";
|
|
|
|
|
$script['view'][] = "\t\t\t\t</div>";
|
|
|
|
|
$script['view'][] = "\t\t\t</fieldset>";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.endTab'); ?>";
|
|
|
|
|
$script['view'][] = "\t\t<?php echo JHtml::_('bootstrap.endTabSet'); ?>";
|
|
|
|
|
$script['view'][] = "\t\t<input type=\"hidden\" name=\"gettype\" value=\"upload\" />";
|
|
|
|
|
$script['view'][] = "\t<?php endif; ?>";
|
|
|
|
|
$script['view'][] = "\t<input type=\"hidden\" name=\"task\" value=\"import_###-#-#-views###.import\" />";
|
|
|
|
|
$script['view'][] = "\t<?php echo JHtml::_('form.token'); ?>";
|
|
|
|
|
$script['view'][] = "</form>";
|
|
|
|
|
$script['view'][] = "</div>";
|
|
|
|
|
}
|
|
|
|
|
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
|
|
|
|
|
**/
|
|
|
|
|