559 lines
20 KiB
PHP
559 lines
20 KiB
PHP
<?php
|
|
class RawFilesController extends AppController {
|
|
|
|
var $name = 'RawFiles';
|
|
var $helpers = array('Paginator', 'Time', 'Session');
|
|
var $components = array('Session');
|
|
|
|
function admin_index() {
|
|
$this->RawFile->recursive = 1;
|
|
// var_dump($this->RawFile->find('count'));
|
|
// $db =& ConnectionManager::getDataSource($this->RawFile->useDbConfig);
|
|
// var_dump($db->calculate($this->RawFile, 'count'));
|
|
$conditions['RawFile.dir'] = array("diff","translated");
|
|
$this->set('rawFiles', $this->paginate($conditions));
|
|
// $this->log(Router::parse($this->referer()));
|
|
// var_dump($this->paginate());
|
|
}
|
|
|
|
function admin_listdir($extension = null) {
|
|
$this->RawFile->recursive = 0;
|
|
$this->set('rawFiles', $this->paginate(array("RawFile.extension" => $extension)));
|
|
$this->rendeR("admin_index");
|
|
// var_dump($this->paginate());
|
|
}
|
|
|
|
function admin_view($dir = null, $filename = null) {
|
|
if (!$filename) {
|
|
$this->Session->setFlash(__('Invalid raw file', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
}
|
|
if (!$this->RawFile->open($dir, $filename))
|
|
{
|
|
$this->Session->setFlash(__('Can\'t open file', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
// $id = $dir . DS . $filename;
|
|
// $this->set('rawFile', $this->RawFile->read(null, $id));
|
|
$this->set('rawFile', $rawFile = $this->RawFile->find('first', array(
|
|
"conditions" => array(
|
|
"RawFile.dir" => $dir,
|
|
"RawFile.filename" => $filename,
|
|
),
|
|
)));
|
|
|
|
$this->set('fileContent', $this->RawFile->_currentFile->read());
|
|
}
|
|
|
|
/* function import($dir = null, $filename = null) {
|
|
$this->admin_import($dir, $filename);
|
|
}*/
|
|
|
|
function admin_import($dir = null, $filename = null) {
|
|
// $this->view = "index";
|
|
// App::import("Vendor","UxtParser", array("file" => 'UxtParser.php'));
|
|
if (!$filename) {
|
|
$this->Session->setFlash(__('Invalid file', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
if (!$this->RawFile->open($dir, $filename))
|
|
{
|
|
$this->Session->setFlash(__('Can\'t open file', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
$importedTranslationFileModel = $this->RawFile->ImportedTranslationFile;
|
|
$translationFileModel = $importedTranslationFileModel->TranslationFile;
|
|
$languageModel = $translationFileModel->Language;
|
|
// $identifierModel = $languageModel->Identifier;
|
|
$identifierModel = $translationFileModel->Identifier;
|
|
$identifierColumnModel = $identifierModel->IdentifierColumn;
|
|
$translationModel = $identifierModel->Translation;
|
|
$fileIdentifierModel = $importedTranslationFileModel->FileIdentifier;
|
|
|
|
// $filename="diff/pl_diff_4DEC868A.uxt";
|
|
$importedTranslationFile = $importedTranslationFileModel->find('first', array('conditions' => array('ImportedTranslationFile.filename' => $dir . DS . $filename), "recursive" => -1));
|
|
/* var_dump($translationFile);
|
|
return 0;*/
|
|
if ($importedTranslationFile)
|
|
{
|
|
$this->Session->setFlash(__('Translation file already imported', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
// var_dump($file);
|
|
// $parser = new UxtParser();
|
|
// $arr = explode("_", basename($filename, ".uxt"));
|
|
// var_dump($arr);
|
|
|
|
// $language_id = 1;
|
|
$languageCode = $this->RawFile->getLanguageCode($filename);
|
|
if (!$languageCode)
|
|
{
|
|
$this->Session->setFlash(__('Can\'t identify language', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
$language = $languageModel->find('first', array('conditions' => array('code' => $languageCode), "recursive" => -1));
|
|
$language_id = $language['Language']['id'];
|
|
if (!$language_id)
|
|
{
|
|
$this->Session->setFlash(__('Can\'t find language in database', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
// var_dump($language_id);
|
|
}
|
|
|
|
$filename_template = preg_replace('/_diff/', '', $filename);
|
|
$filename_template = preg_replace('/_[A-F0-9]{8}/', '', $filename_template);
|
|
|
|
// for global identifiers
|
|
/* if (preg_match('|^.*_' . $language['Language']['code'] . '.*$|', $filename_template, $matches))
|
|
$filename_template = preg_replace('/_' . $language['Language']['code'] . '/', '_LC', $filename_template);
|
|
else if (preg_match('|^.*' . $language['Language']['code'] . '.*$|', $filename_template, $matches))
|
|
$filename_template = preg_replace('/' . $language['Language']['code'] . '/', 'LC', $filename_template);
|
|
else
|
|
{
|
|
$this->Session->setFlash(__('Can\'t create master translation filename template from current filename', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}*/
|
|
|
|
$translationFile = $translationFileModel->find('first', array('conditions' => array('filename_template' => $filename_template), "recursive" => -1));
|
|
if (!$translationFile)
|
|
{
|
|
$tf_data['filename_template'] = $filename_template;
|
|
$tf_data['language_id'] = $language_id;
|
|
}
|
|
else
|
|
$tf_data['id'] = $translationFile['TranslationFile']['id'];
|
|
|
|
$res = $translationFileModel->saveAll(array('TranslationFile' => $tf_data));
|
|
$translation_file_id = $translationFileModel->id;
|
|
|
|
$parsedFile = $this->RawFile->parseFile();
|
|
/* var_dump($parsedFile);
|
|
$this->render('index');
|
|
return 0;*/
|
|
// $this->log($parsedFile);
|
|
if (!$parsedFile)
|
|
{
|
|
$this->Session->setFlash(__('Error importing file', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
// $this->log($parsedFile);
|
|
// return 0;
|
|
|
|
ini_set('max_execution_time',0);
|
|
|
|
$processedEntities = 0;
|
|
|
|
$importedTranslationFileModel->create();
|
|
$data['ImportedTranslationFile']['language_id'] = $language_id;
|
|
$data['ImportedTranslationFile']['translation_file_id'] = $translation_file_id;
|
|
$data['ImportedTranslationFile']['filename'] = $dir . DS . $filename;
|
|
$data['ImportedTranslationFile']['file_last_modified_date'] = $this->RawFile->_currentFileLastChange;
|
|
|
|
// $data['TranslationFile'] = $tf_data;
|
|
$importedTranslationFileModel->saveAll($data);
|
|
$importedTranslationFile_id = $importedTranslationFileModel->id;
|
|
|
|
//$this->ImportedTranslationFile->save($data);
|
|
foreach ($parsedFile as $ent)
|
|
{
|
|
if (!isset($ent['type']))
|
|
var_dump($ent);
|
|
|
|
if ($ent['type'] == 'sheet_description')
|
|
{
|
|
$_columns = $ent['columns'];
|
|
$_sheet_id_column = $ent['sheet_id_column'];
|
|
}
|
|
|
|
if ($ent['type'] != "string" && $ent['type'] != "phrase" && $ent['type'] != 'sheet')
|
|
continue;
|
|
|
|
$newIdentifier = false;
|
|
$i_data = array();
|
|
$i_data['language_id'] = $language_id;
|
|
$i_data['translation_file_id'] = $translation_file_id;
|
|
if (isset($ent['index']))
|
|
$i_data['translation_index'] = $ent['index'];
|
|
if (isset($ent['arguments']))
|
|
$i_data['arguments'] = $ent['arguments'];
|
|
|
|
if (isset($ent['diff']) && isset($ent['string']))
|
|
{
|
|
$i_data['reference_string'] = $ent['string'];
|
|
}
|
|
|
|
unset($identifierModel->id);
|
|
$identifier = $identifierModel->find('first',array('conditions' => array('Identifier.identifier' => $ent['identifier'], 'Identifier.translation_file_id' => $translation_file_id), 'contain' => 'IdentifierColumn'));
|
|
//App::import('Vendor', 'DebugKit.FireCake');
|
|
// FireCake::log($ent['identifier'], "Identifier");
|
|
// FireCake::dump("identifier",$identifier);
|
|
/* $this->log($ent['identifier']);
|
|
$this->log($identifier);*/
|
|
if ($identifier)
|
|
{
|
|
// var_dump($identifier);
|
|
$i_data['id']=$identifier['Identifier']['id'];
|
|
// $this->log("found");
|
|
}
|
|
else
|
|
{
|
|
$identifierModel->create();
|
|
$i_data['identifier'] = $ent['identifier'];
|
|
if (isset($ent['diff']))
|
|
$i_data['translated'] = false;
|
|
$newIdentifier = true;
|
|
// $this->log("not found");
|
|
// $this->log("id: # " . $identifierModel->id . " #");
|
|
// $this->log($i_data);
|
|
|
|
}
|
|
// var_dump($i_data);
|
|
$res = $identifierModel->saveAll($tarr = array('Identifier' => $i_data));
|
|
$identifier_id = $identifierModel->id;
|
|
/* $this->log('identifier saveAll res');
|
|
$this->log($res);
|
|
$this->log(var_export($res,true));
|
|
$this->log($identifierModel->validationErrors);
|
|
$this->log($identifierModel);
|
|
$this->log('#identifier id');
|
|
$this->log($identifier_id);
|
|
$this->log("tarr");
|
|
$this->log($tarr);*/
|
|
|
|
if (isset($ent['columns']) && is_array($ent['columns']))
|
|
{
|
|
/* $this->log($_columns);
|
|
$this->log($ent['columns']);*/
|
|
$ic_data = array();
|
|
foreach ($ent['columns'] as $column_no => $value)
|
|
{
|
|
unset($identifierColumnModel->id);
|
|
$ic_arr = array();
|
|
$ic_arr['identifier_id'] = $identifier_id;
|
|
$column_name = $_columns[$column_no];
|
|
/* $this->log($identifier);
|
|
$this->log($column_name);*/
|
|
if (!$newIdentifier)
|
|
{
|
|
foreach ($identifier['IdentifierColumn'] as $identifierColumn_no => $identifierColumn)
|
|
{
|
|
if ($identifierColumn['column_name'] == $column_name)
|
|
{
|
|
$ic_arr['id'] = $identifierColumn['id'];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
$ic_arr['column_name'] = $column_name;
|
|
if (isset($ent['diff']))
|
|
$ic_arr['reference_string'] = $value;
|
|
$ic_data[] = $ic_arr;
|
|
// $this->log($ic_arr);
|
|
$res = $identifierColumnModel->save($ic_arr);
|
|
// $this->log($res);
|
|
$identifierColumn_id = $identifierColumnModel->id;
|
|
/* $this->log($identifierColumnModel->validationErrors);
|
|
$this->log(var_export($res,true));*/
|
|
|
|
if (!isset($ent['diff'])) // it is translated file and we add translation
|
|
{
|
|
unset($translationModel->id);
|
|
if ($newIdentifier) // ovbiously there's no translation for identifier we just created
|
|
$translation = array();
|
|
else
|
|
$translation = $translationModel->find('first',array('conditions' => array('Translation.identifier_column_id' => $identifierColumn_id, 'Translation.translation_text' => $value), "recursive" => -1));
|
|
|
|
if (!$translation)
|
|
{
|
|
$t_data['identifier_column_id'] = $identifierColumn_id;
|
|
$t_data['translation_text'] = $value;
|
|
// TODO: change user_id for authorized user
|
|
$t_data['user_id'] = 1;
|
|
}
|
|
else
|
|
$t_data['id'] = $translation['Translation']['id'];
|
|
// var_dump($i_data);
|
|
$translationModel->save(array('Translation' => $t_data));
|
|
}
|
|
|
|
}
|
|
/* $res = $identifierColumnModel->saveAll($tarr = array('IdentifierColumn' => $ic_data));
|
|
$this->log($tarr);
|
|
$this->log(var_export($res,true));
|
|
$this->log($identifierColumnModel->validationErrors);*/
|
|
}
|
|
else
|
|
{
|
|
if (!isset($ent['diff'])) // it is translated file and we add translation
|
|
{
|
|
unset($translationModel->id);
|
|
if ($newIdentifier) // ovbiously there's no translation for identifier we just created
|
|
$translation = array();
|
|
else
|
|
$translation = $translationModel->find('first',array('conditions' => array('Translation.identifier_id' => $identifier_id, 'Translation.translation_text' => $ent["string"]), "recursive" => -1));
|
|
if (!$translation)
|
|
{
|
|
$t_data['identifier_id'] = $identifier_id;
|
|
if (isset($ent['string'])) // sheets doesn't have string (they have columns)
|
|
$t_data['translation_text'] = $ent['string'];
|
|
// TODO: change user_id for authorized user
|
|
$t_data['user_id'] = 1;
|
|
}
|
|
else
|
|
$t_data['id'] = $translation['Translation']['id'];
|
|
// var_dump($i_data);
|
|
$translationModel->save(array('Translation' => $t_data));
|
|
}
|
|
}
|
|
|
|
unset($fileIdentifierModel->id);
|
|
$fi_data = array();
|
|
$fi_data['imported_translation_file_id'] = $importedTranslationFile_id;
|
|
// TOTHINK - set FileIdentifier['id'] if we import already imported file (not supporting importing imported file)
|
|
// $identifier = $this->ImportedTranslationFile->FileIdentifier->find('first',array('conditions' => array('FileIdentifier.identifier' => $ent['identifier'], 'FileIdentifier.translation_file_id' => $)));
|
|
// $data['FileIdentifier']['translation_file_id'] = $this->ImportedTranslationFile->id;
|
|
if (isset($ent['arguments']))
|
|
$fi_data['arguments'] = $ent['arguments'];
|
|
|
|
if (isset($_sheet_id_column))
|
|
$fi_data['arguments'] = $_sheet_id_column;
|
|
|
|
if (isset($ent['diff'])) // it is diff file
|
|
{
|
|
if (isset($ent['command']))
|
|
$fi_data['command'] = $ent['command'];
|
|
else
|
|
$fi_data['command'] = "DIFF " . mb_strtoupper($ent['diff']);
|
|
|
|
if (isset($ent['string']))
|
|
$fi_data['reference_string'] = $ent['string'];
|
|
|
|
if (isset($ent['index']))
|
|
$fi_data['translation_index'] = $ent['index'];
|
|
// $data['FileIdentifier']['identifier_id'] = ;
|
|
$fi_data['identifier_id'] = $identifier_id;
|
|
|
|
$res = $fileIdentifierModel->saveAll($tarr = array('FileIdentifier' => $fi_data));
|
|
// $this->log($res);
|
|
/* $this->log("#fi_data");
|
|
$this->log($fi_data);*/
|
|
$fileIdentifier_id = $fileIdentifierModel->id;
|
|
}
|
|
|
|
// $this->ImportedTranslationFile->FileIdentifier->create();
|
|
// $this->ImportedTranslationFile->FileIdentifier->save($data);
|
|
// $data['FileIdentifier'][] = $fi_data;
|
|
// $l_data['Language']['id'] = $language_id;
|
|
// $l_data['Identifier'][] = $i_data;
|
|
// $data['Identifier'][] = $i_data;
|
|
|
|
$processedEntities++;
|
|
|
|
}
|
|
/* $this->render('admin_index');
|
|
return 0;*/
|
|
// var_dump($data);
|
|
// $this->ImportedTranslationFile->Language->saveAll($l_data);
|
|
if ($processedEntities == 0)
|
|
{
|
|
$importedTranslationFileModel->delete($importedTranslationFile_id);
|
|
$this->Session->setFlash(__('File was not imported because it seems empty', true));
|
|
// $this->redirect(array('action' => 'index'));
|
|
$this->redirect($this->referer());
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
$this->Session->setFlash(__('Translation file imported into database successfully. Processed entities: ' . $processedEntities, true));
|
|
$this->redirect(array('controller' => 'imported_translation_files', 'action' => 'view', $importedTranslationFileModel->id));
|
|
// $this->render('admin_index');
|
|
return 0;
|
|
}
|
|
// $this->ImportedTranslationFile->recursive = 0;
|
|
// $this->set('importedTranslationFiles', $this->paginate());
|
|
// $this->render('index');
|
|
}
|
|
|
|
function admin_export($dir = null, $filename = null, $importedTranslationFileId = null) {
|
|
if (!$filename) {
|
|
$this->Session->setFlash(__('Invalid file', true));
|
|
$this->redirect($this->referer());
|
|
// $this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
if (!$this->RawFile->open($dir, $filename, $writable = true))
|
|
{
|
|
$this->Session->setFlash(__('Can\'t open file for writing', true));
|
|
$this->redirect($this->referer());
|
|
// $this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
|
|
$importedTranslationFileModel = $this->RawFile->ImportedTranslationFile;
|
|
|
|
$importedTranslationFileModel->contain(array(
|
|
'TranslationFile',
|
|
'FileIdentifier' => array('Identifier' => array(
|
|
'Translation',
|
|
'IdentifierColumn' => 'Translation',
|
|
)),
|
|
));
|
|
|
|
$importedTranslationFile = $importedTranslationFileModel->find('first', array(
|
|
'conditions' => array(
|
|
'ImportedTranslationFile.filename' => $dir . DS . $filename
|
|
),
|
|
// 'recursive' => 3
|
|
// 'order' => 'FileIdentifier.translation_index',
|
|
)
|
|
);
|
|
/* var_dump($translationFile);
|
|
return 0;*/
|
|
if (!$importedTranslationFile)
|
|
{
|
|
$this->Session->setFlash(__('No imported translation file found for chosen file', true));
|
|
$this->redirect($this->referer());
|
|
// $this->redirect(array('controller' => 'imported_translation_files', 'action' => 'index'));
|
|
return 0;
|
|
}
|
|
|
|
$translationFileModel = $importedTranslationFileModel->TranslationFile;
|
|
$identifierModel = $translationFileModel->Identifier;
|
|
|
|
// TODO: check if all identifiers have "best" translation
|
|
$identifier_ids = $identifierModel->withoutBestTranslation(array('ImportedTranslationFile.id' => $importedTranslationFile['ImportedTranslationFile']['id']));
|
|
if ($identifier_ids === false)
|
|
{
|
|
$this->Session->setFlash(__('Error: no conditions specified', true));
|
|
$this->redirect($this->referer());
|
|
return 0;
|
|
}
|
|
else if (count($identifier_ids) > 0)
|
|
{
|
|
$this->Session->setFlash(__('Best translation is not set for some of the identifiers in this file. Set best translation before export.', true));
|
|
$this->redirect(array('controller' => 'identifiers', 'action' => 'withoutBestTranslation', 'imported_translation_file_id' => $importedTranslationFile['ImportedTranslationFile']['id']));
|
|
return 0;
|
|
}
|
|
|
|
$translationFile_id = $importedTranslationFile['ImportedTranslationFile']['translation_file_id'];
|
|
|
|
$i=0;
|
|
$sortResult = Set::sort($importedTranslationFile['FileIdentifier'], '{n}.translation_index', 'asc');
|
|
if (!$sortResult)
|
|
{
|
|
$this->Session->setFlash(__('Sorting error', true));
|
|
$this->redirect($this->referer());
|
|
return 0;
|
|
}
|
|
|
|
foreach ($sortResult as $fileIdentifier)
|
|
{
|
|
if ($fileIdentifier['Identifier']['IdentifierColumn'] && !isset($entities[0]))
|
|
{
|
|
foreach ($fileIdentifier['Identifier']['IdentifierColumn'] as $column_no => $identifierColumn)
|
|
$_columns[$column_no] = $identifierColumn['column_name'];
|
|
$ent['columns'] = $_columns;
|
|
$ent['type'] = 'sheet_description';
|
|
$ent['sheet_id_column'] = $fileIdentifier['arguments'];
|
|
$ent['diff'] = ((isset($fileIdentifier['command']) && !empty($fileIdentifier['command'])) ? true : null);
|
|
$entities[] = $ent;
|
|
$ent = array();
|
|
}
|
|
$ent = array(
|
|
'diff' => ((isset($fileIdentifier['command']) && !empty($fileIdentifier['command'])) ? $fileIdentifier['command'] : null),
|
|
'command' => ((isset($fileIdentifier['command']) && !empty($fileIdentifier['command'])) ? $fileIdentifier['command'] : null),
|
|
'index' => ((isset($fileIdentifier['translation_index']) && !empty($fileIdentifier['translation_index'])) ? $fileIdentifier['translation_index'] : null),
|
|
'internal_index' => $i++,
|
|
'type' => ((count($fileIdentifier['Identifier']['IdentifierColumn']) > 0) ? 'sheet' : 'string'),
|
|
// 'type' => ((isset($fileIdentifier['command']) && !empty($fileIdentifier['command'])) ? $fileIdentifier['command'] : null),
|
|
'identifier' => $fileIdentifier['Identifier']['identifier'],
|
|
'arguments' => ((isset($fileIdentifier['arguments']) && !empty($fileIdentifier['arguments'])) ? $fileIdentifier['arguments'] : null),
|
|
// 'string' => '',
|
|
);
|
|
// $this->log($fileIdentifier['Identifier']['Translation']);
|
|
// if (Set::numeric(array_keys($fileIdentifier['Identifier']['Translation'])))
|
|
if (isset($fileIdentifier['Identifier']['Translation'][0]))
|
|
{
|
|
// $this->log('numeric');
|
|
$ent['string'] = $fileIdentifier['Identifier']['Translation'][0]['translation_text'];
|
|
}
|
|
else if (isset($fileIdentifier['Identifier']['Translation']['translation_text']))
|
|
$ent['string'] = $fileIdentifier['Identifier']['Translation']['translation_text'];
|
|
|
|
if (isset($fileIdentifier['Identifier']['BestTranslation']['translation_text']))
|
|
$ent['string'] = $fileIdentifier['Identifier']['BestTranslation']['translation_text'];
|
|
|
|
if (($export_reference_if_empty_translation = true) && !isset($ent['string']))
|
|
$ent['string'] = $fileIdentifier['Identifier']['reference_string'];
|
|
else if (!isset($ent['string']))
|
|
$ent['string'] = '';
|
|
|
|
foreach ($fileIdentifier['Identifier']['IdentifierColumn'] as $column_no => $identifierColumn)
|
|
{
|
|
/* if (isset($identifierColumn['Translation']['translation_text']))
|
|
$ent['columns'][$column_no] = $identifierColumn['Translation']['translation_text'];*/
|
|
|
|
if (isset($identifierColumn['Translation'][0]))
|
|
$ent['columns'][$column_no] = $identifierColumn['Translation'][0]['translation_text'];
|
|
else if (isset($identifierColumn['Translation']['translation_text']))
|
|
$ent['columns'][$column_no] = $identifierColumn['Translation']['translation_text'];
|
|
|
|
if (isset($identifierColumn['BestTranslation']['translation_text']))
|
|
$ent['columns'][$column_no] = $identifierColumn['BestTranslation']['translation_text'];
|
|
|
|
if ($export_reference_if_empty_translation && !isset($ent['columns'][$column_no]))
|
|
$ent['columns'][$column_no] = $identifierColumn['reference_string'];
|
|
else if (!isset($ent['columns'][$column_no]))
|
|
$ent['columns'][$column_no] = '';
|
|
}
|
|
if ($fileIdentifier['command'])
|
|
$ent['command'] = $ent['diff'] = $fileIdentifier['command'];
|
|
|
|
$entities[] = $ent;
|
|
}
|
|
/* $sources = ConnectionManager::sourceList();
|
|
$sqlLogs = array();
|
|
foreach ($sources as $source)
|
|
{
|
|
$db =& ConnectionManager::getDataSource($source);
|
|
if (!$db->isInterfaceSupported('getLog'))
|
|
continue;
|
|
$sqlLogs[$source] = $db->getLog();
|
|
}
|
|
$this->log($sqlLogs);*/
|
|
|
|
// $this->log($importedTranslationFile);
|
|
/* $this->log($sortResult);
|
|
$this->log($entities);*/
|
|
|
|
ini_set('max_execution_time',0);
|
|
|
|
$result = $this->RawFile->buildFile($entities);
|
|
// $this->log($result);
|
|
// $this->render('admin_index');
|
|
// $this->redirect(array('controller' => 'imported_translation_files', 'action' => 'index'));
|
|
// return 0;
|
|
|
|
/* var_dump($parsedFile);
|
|
$this->render('index');
|
|
return 0;*/
|
|
// $this->log($parsedFile);
|
|
if (!$result)
|
|
{
|
|
$this->Session->setFlash(__('Error exporting file', true));
|
|
$this->redirect(array('action' => 'index'));
|
|
return 0;
|
|
}
|
|
}
|
|
}
|