function test_backupTables()
 {
     $GLOBALS['_MAX']['CONF']['pluginPaths']['repo'] = $GLOBALS['_MAX']['CONF']['pluginPaths']['repo'] . '|' . MAX_PATH . $this->testpathData . 'plugins_repo/';
     $zipFile = $this->testpathData . 'plugins_repo/' . 'testPluginPackage_v3.zip';
     $plugin = $this->testpathData . 'plugins_repo/' . 'testPluginPackage.zip';
     if (file_exists($zipFile) && !unlink($zipFile)) {
         $this->fail('error unlinking ' . $zipFile);
         return false;
     }
     if (!copy(MAX_PATH . $zipFile, MAX_PATH . $plugin)) {
         $this->fail('error copying ' . $zipFile);
         return false;
     }
     if (!file_exists(MAX_PATH . $plugin)) {
         $this->fail('file does not exist ' . $plugin);
         return false;
     }
     TestEnv::installPluginPackage('testPluginPackage', false);
     $prefix = $GLOBALS['_MAX']['CONF']['table']['prefix'];
     $oExport = new OX_PluginExport();
     $oExport->init('testPluginPackage');
     $aTables = OA_DB_Table::listOATablesCaseSensitive('testplugin_table');
     $this->assertEqual(count($aTables), 1);
     $this->assertEqual($aTables[0], $prefix . 'testplugin_table');
     $this->assertTrue($oExport->backupTables('testPluginPackage'));
     $aTables = OA_DB_Table::listOATablesCaseSensitive('testplugin_table');
     $this->assertEqual(count($aTables), 2);
     $this->assertEqual($aTables[0], $prefix . 'testplugin_table');
     $this->assertPattern('/' . $prefix . 'testplugin_table_' . date('Ymd') . '_[\\d]{6}/', $aTables[1]);
     TestEnv::uninstallPluginPackage('testPluginPackage', false);
     TestEnv::restoreConfig();
     TestEnv::restoreEnv();
 }
Пример #2
0
     if ($aPackageInfo['readme']) {
         $readme = file_get_contents($aPackageInfo['readme']);
     }
     $aPackageInfo['package'] = true;
     $oTpl->assign('aPackage', $aPackageInfo);
     $oTpl->assign('aPlugins', $aComponents);
     $oTpl->assign('readme', $readme);
     $oTpl->assign('backURL', MAX::constructURL(MAX_URL_ADMIN, "plugin-index.php?selection=packages"));
     $oTpl->assign('aMessages', $aMessages);
     $oTpl->assign('aErrors', $oExporter->aErrors);
 } else {
     if (array_key_exists('backup', $_POST)) {
         require_once LIB_PATH . '/Plugin/PluginExport.php';
         $oExporter = new OX_PluginExport();
         $oExporter->init($plugin);
         $aMessages = $oExporter->backupTables($plugin);
         $oTpl = new OA_Admin_Template('plugin-view.html');
         $aPackageInfo = $oPluginManager->getPackageInfo($plugin);
         $aComponents = $aPackageInfo['contents'];
         unset($aPackageInfo['contents']);
         if ($aPackageInfo['readme']) {
             $readme = file_get_contents($aPackageInfo['readme']);
         }
         $aPackageInfo['package'] = true;
         $oTpl->assign('aPackage', $aPackageInfo);
         $oTpl->assign('aPlugins', $aComponents);
         $oTpl->assign('readme', $readme);
         $oTpl->assign('backURL', MAX::constructURL(MAX_URL_ADMIN, "plugin-index.php?selection=packages"));
         $oTpl->assign('aMessages', $aMessages ? $aMessages : array());
         $oTpl->assign('aErrors', $oExporter->aErrors);
     } else {