function manage() { global $cms; global $parametersMod; $answer = ''; if (isset($_GET['action'])) { switch ($_GET['action']) { case 'import': $standardForm = new \Library\Php\Form\Standard($this->importFields); $errors = $standardForm->getErrors(); if (sizeof($errors) > 0) { $answer = $standardForm->generateErrorAnswer($errors); } else { $fileUpload = new \Library\Php\File\UploadFile(); $fileUpload->allowOnly(array("php", "conf", "txt")); $file = $fileUpload->upload('config', TMP_FILE_DIR); if ($file == UPLOAD_ERR_OK) { $_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file'] = BASE_DIR . TMP_FILE_DIR . $fileUpload->fileName; $answer .= HtmlOutput::header(); $answer .= ' <script type="text/javascript"> //<![CDATA[ parent.document.location = \'' . $cms->generateUrl($cms->curModId, 'action=import_uploaded') . '\'; //]] </script>'; $answer .= HtmlOutput::footer(); } else { $errors['config'] = 'impossible to upload'; $answer .= HtmlOutput::header(); $answer .= $standardForm->generateErrorAnswer($errors); $answer .= HtmlOutput::footer(); } } break; case 'import_uploaded': $info = pathinfo($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file']); if ($info['extension'] == 'conf') { $answer .= HtmlOutput::header(); $config = unserialize(file_get_contents($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file'])); $answer .= '<h1>' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_title_preview')) . '</h1>'; $answer .= '<br /><a href="' . $cms->generateUrl($cms->curModId, 'action=import_confirmed') . '" class="button">' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_button_preview')) . '</a><br /><br /><br />'; $answer .= $config->previewParameters(); $answer .= '<br /><a href="' . $cms->generateUrl($cms->curModId, 'action=import_confirmed') . '" class="button">' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_button_preview')) . '</a><br /><br />'; $answer .= HtmlOutput::footer(); } else { $answer .= HtmlOutput::header(); $answer .= '<h1>' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_title_preview')) . '</h1>'; $answer .= '<br /><a href="' . $cms->generateUrl($cms->curModId, 'action=import_confirmed') . '" class="button">' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_button_preview')) . '</a><br /><br /><br />'; $answer .= \Modules\developer\localization\Manager::previewParameters($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file']); $answer .= '<br /><a href="' . $cms->generateUrl($cms->curModId, 'action=import_confirmed') . '" class="button">' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_button_preview')) . '</a><br /><br />'; $answer .= HtmlOutput::footer(); $answer .= HtmlOutput::header(); } break; case 'import_confirmed': if (isset($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file'])) { $info = pathinfo($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file']); if ($info['extension'] == 'conf') { $config = unserialize(file_get_contents($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file'])); $answer .= HtmlOutput::header(); //$config_import = new mod_developer_config_exp_imp_parameters(); //$config_import->save_parameters(); $config->saveParameters(); $answer .= ' <div class="content"> <h1>' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'parameters_imported')) . '</h1> <a href="' . $cms->generateUrl($cms->curModId) . '" class="button">' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'continue')) . '</a> <div class="clear"><!-- --></div> </div> '; $answer .= HtmlOutput::footer(); } else { $answer .= HtmlOutput::header(); //$config_import = new mod_developer_config_exp_imp_parameters(); //$config_import->save_parameters(); \Modules\developer\localization\Manager::saveParameters($_SESSION['backend_modules']['developer']['config_exp_imp']['uploaded_file']); $answer .= ' <div class="content"> <h1>' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'parameters_imported')) . '</h1> <a href="' . $cms->generateUrl($cms->curModId) . '" class="button">' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'continue')) . '</a> <div class="clear"> <!-- --></div> </div> '; $answer .= HtmlOutput::footer(); } } break; case 'export': $standardForm = new \Library\Php\Form\Standard($this->exportFields); $errors = $standardForm->getErrors(); if (sizeof($errors) > 0) { $answer .= HtmlOutput::header(); $answer .= $standardForm->generateErrorAnswer($errors); $answer .= HtmlOutput::footer(); } else { $file = $this->writeParametersToFile(); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"" . $file . "\""); $answer = file_get_contents(TMP_FILE_DIR . $file); } break; } } else { $answer .= HtmlOutput::header(); $answer .= '<div class="content">'; $answer .= '<h1>' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'import_title')) . '</h1>'; $answer .= $this->importForm(); $answer .= '</div><div class="content">'; $answer .= '<h1>' . htmlspecialchars($parametersMod->getValue('developer', 'config_exp_imp', 'admin_translations', 'export_title')) . '</h1>'; $answer .= $this->exportForm(); $answer .= '</div>'; $answer .= HtmlOutput::footer(); } return $answer; }