| 
<?php/**
 * You may not change or alter any portion of this comment or credits
 * of supporting developers from this source code or any supporting source code
 * which is considered copyrighted (c) material of the original comment or credit authors.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * @copyright       XOOPS Project (https://xoops.org)
 * @license         GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
 * @package
 * @since           2.5.9
 * @author          Michael Beck (aka Mamba)
 */
 
 use XoopsModules\Publisher;
 use XoopsModules\Publisher\Common;
 use XoopsModules\Publisher\Utility;
 
 require_once dirname(dirname(dirname(__DIR__))) . '/include/cp_header.php';
 require dirname(__DIR__) . '/preloads/autoloader.php';
 
 $op = \Xmf\Request::getCmd('op', '');
 
 $moduleDirName = basename(dirname(__DIR__));
 $moduleDirNameUpper = mb_strtoupper($moduleDirName);
 
 $helper = Publisher\Helper::getInstance();
 // Load language files
 $helper->loadLanguage('common');
 
 switch ($op) {
 case 'load':
 if (\Xmf\Request::hasVar('ok', 'REQUEST') && 1 == $_REQUEST['ok']) {
 if (!$GLOBALS['xoopsSecurity']->check()) {
 redirect_header('../admin/index.php', 3, implode(',', $GLOBALS['xoopsSecurity']->getErrors()));
 }
 loadSampleData();
 } else {
 xoops_cp_header();
 xoops_confirm(['ok' => 1, 'op' => 'load'], 'index.php', sprintf(constant('CO_' . $moduleDirNameUpper . '_' . 'ADD_SAMPLEDATA_OK')), constant('CO_' . $moduleDirNameUpper . '_' . 'CONFIRM'), true);
 xoops_cp_footer();
 }
 break;
 case 'save':
 saveSampleData();
 break;
 }
 
 // XMF TableLoad for SAMPLE data
 
 function loadSampleData()
 {
 global $xoopsConfig;
 $moduleDirName = basename(dirname(__DIR__));
 $moduleDirNameUpper = mb_strtoupper($moduleDirName);
 
 $utility      = new Publisher\Utility();
 $configurator = new Common\Configurator();
 
 $tables = \Xmf\Module\Helper::getHelper($moduleDirName)->getModule()->getInfo('tables');
 
 $language = 'english/';
 if (is_dir(__DIR__ . '/' . $xoopsConfig['language'])) {
 $language = $xoopsConfig['language'] . '/';
 }
 
 foreach ($tables as $table) {
 $tabledata = \Xmf\Yaml::readWrapped($language . $table . '.yml');
 \Xmf\Database\TableLoad::truncateTable($table);
 \Xmf\Database\TableLoad::loadTableFromArray($table, $tabledata);
 }
 
 //  ---  COPY test folder files ---------------
 if (is_array($configurator->copyTestFolders) && count($configurator->copyTestFolders) > 0) {
 //        $file = __DIR__ . '/../testdata/images/';
 foreach (array_keys($configurator->copyTestFolders) as $i) {
 $src  = $configurator->copyTestFolders[$i][0];
 $dest = $configurator->copyTestFolders[$i][1];
 $utility::rcopy($src, $dest);
 }
 }
 redirect_header('../admin/index.php', 1, constant('CO_' . $moduleDirNameUpper . '_' . 'SAMPLEDATA_SUCCESS'));
 }
 
 function saveSampleData()
 {
 global $xoopsConfig;
 $moduleDirName      = basename(dirname(__DIR__));
 $moduleDirNameUpper = mb_strtoupper($moduleDirName);
 
 $tables = \Xmf\Module\Helper::getHelper($moduleDirName)->getModule()->getInfo('tables');
 
 $languageFolder = __DIR__ . '/' . $xoopsConfig['language'];
 if (!file_exists($languageFolder . '/')) {
 Utility::createFolder($languageFolder . '/');
 }
 $exportFolder = $languageFolder . '/Exports-' . date('Y-m-d-H-i-s') . '/';
 Utility::createFolder($exportFolder);
 
 foreach ($tables as $table) {
 \Xmf\Database\TableLoad::saveTableToYamlFile($table, $exportFolder . $table . '.yml');
 }
 
 redirect_header('../admin/index.php', 1, constant('CO_' . $moduleDirNameUpper . '_' . 'SAMPLEDATA_SUCCESS'));
 }
 
 function exportSchema()
 {
 $moduleDirName      = basename(dirname(__DIR__));
 $moduleDirNameUpper = mb_strtoupper($moduleDirName);
 
 try {
 // TODO set exportSchema
 //        $migrate = new Publisher\Migrate($moduleDirName);
 //        $migrate->saveCurrentSchema();
 //
 //        redirect_header('../admin/index.php', 1, constant('CO_' . $moduleDirNameUpper . '_' . 'EXPORT_SCHEMA_SUCCESS'));
 }
 catch (\Exception $e) {
 exit(constant('CO_' . $moduleDirNameUpper . '_' . 'EXPORT_SCHEMA_ERROR'));
 }
 
 }
 
 |