208 lines
6.7 KiB
PHP
208 lines
6.7 KiB
PHP
<?php
|
|
/**
|
|
* @package Campcaster
|
|
* @subpackage StorageServer
|
|
* @copyright 2010 Sourcefabric O.P.S.
|
|
* @license http://www.gnu.org/licenses/gpl.txt
|
|
*/
|
|
|
|
// Do not allow remote execution.
|
|
$arr = array_diff_assoc($_SERVER, $_ENV);
|
|
if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) {
|
|
header("HTTP/1.1 400");
|
|
header("Content-type: text/plain; charset=UTF-8");
|
|
echo "400 Not executable\r\n";
|
|
exit;
|
|
}
|
|
|
|
|
|
echo "***************************\n";
|
|
echo "* StorageServer Uninstall *\n";
|
|
echo "***************************\n";
|
|
|
|
require_once(dirname(__FILE__).'/../conf.php');
|
|
require_once(dirname(__FILE__).'/installInit.php');
|
|
require_once(dirname(__FILE__).'/../backend/cron/Cron.php');
|
|
campcaster_db_connect(false);
|
|
|
|
function camp_uninstall_delete_files($p_path)
|
|
{
|
|
if (!empty($p_path) && (strlen($p_path) > 4)) {
|
|
list($dirList,$fileList) = File_Find::maptree($p_path);
|
|
foreach ($fileList as $filepath) {
|
|
echo " * Removing $filepath...";
|
|
@unlink($filepath);
|
|
echo "done.\n";
|
|
}
|
|
foreach ($dirList as $dirpath) {
|
|
echo " * Removing $dirpath...";
|
|
@rmdir($dirpath);
|
|
echo "done.\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!PEAR::isError($CC_DBC)) {
|
|
if (camp_db_table_exists($CC_CONFIG['prefTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['prefTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['prefTable'];
|
|
camp_install_query($sql, false);
|
|
|
|
$CC_DBC->dropSequence($CC_CONFIG['prefTable']."_id");
|
|
echo "done.\n";
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['prefTable']."\n";
|
|
}
|
|
}
|
|
|
|
//------------------------------------------------------------------------
|
|
// Uninstall Cron job
|
|
//------------------------------------------------------------------------
|
|
$old_regex = '/transportCron\.php/';
|
|
echo " * Uninstall storageServer cron job...\n";
|
|
|
|
$cron = new Cron();
|
|
$access = $cron->openCrontab('write');
|
|
if ($access != 'write') {
|
|
do {
|
|
$r = $cron->forceWriteable();
|
|
} while ($r);
|
|
}
|
|
|
|
foreach ($cron->ct->getByType(CRON_CMD) as $id => $line) {
|
|
if (preg_match($old_regex, $line['command'])) {
|
|
echo " removing cron entry\n";
|
|
$cron->ct->delEntry($id);
|
|
}
|
|
}
|
|
|
|
$cron->closeCrontab();
|
|
echo "Done.\n";
|
|
|
|
camp_uninstall_delete_files($CC_CONFIG['storageDir']);
|
|
camp_uninstall_delete_files($CC_CONFIG['transDir']);
|
|
camp_uninstall_delete_files($CC_CONFIG['accessDir']);
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['transTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['transTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['transTable'];
|
|
camp_install_query($sql, false);
|
|
|
|
$CC_DBC->dropSequence($CC_CONFIG['transTable']."_id");
|
|
echo "done.\n";
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['transTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['filesTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['filesTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['filesTable']." CASCADE";
|
|
camp_install_query($sql);
|
|
$CC_DBC->dropSequence($CC_CONFIG['filesTable']."_id");
|
|
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['filesTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['playListTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['playListTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['playListTable']." CASCADE";
|
|
camp_install_query($sql);
|
|
$CC_DBC->dropSequence($CC_CONFIG['playListTable']."_id");
|
|
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['playListTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['playListContentsTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['playListContentsTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['playListContentsTable'];
|
|
camp_install_query($sql);
|
|
$CC_DBC->dropSequence($CC_CONFIG['playListContentsTable']."_id");
|
|
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['playListContentsTable']."\n";
|
|
}
|
|
|
|
//if (camp_db_sequence_exists($CC_CONFIG['filesSequence'])) {
|
|
// $sql = "DROP SEQUENCE ".$CC_CONFIG['filesSequence'];
|
|
// camp_install_query($sql);
|
|
//}
|
|
//
|
|
if (camp_db_table_exists($CC_CONFIG['accessTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['accessTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['accessTable'];
|
|
camp_install_query($sql);
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['accessTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['permTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['permTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['permTable'];
|
|
camp_install_query($sql, false);
|
|
|
|
$CC_DBC->dropSequence($CC_CONFIG['permTable']."_id");
|
|
echo "done.\n";
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['permTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['sessTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['sessTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['sessTable'];
|
|
camp_install_query($sql);
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['sessTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['subjTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['subjTable']."...";
|
|
$CC_DBC->dropSequence($CC_CONFIG['subjTable']."_id");
|
|
|
|
$sql = "DROP TABLE ".$CC_CONFIG['subjTable']." CASCADE";
|
|
camp_install_query($sql, false);
|
|
|
|
echo "done.\n";
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['subjTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['smembTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['smembTable']."...";
|
|
$sql = "DROP TABLE ".$CC_CONFIG['smembTable'];
|
|
camp_install_query($sql, false);
|
|
|
|
$CC_DBC->dropSequence($CC_CONFIG['smembTable']."_id");
|
|
echo "done.\n";
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['smembTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['scheduleTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['scheduleTable']."...";
|
|
camp_install_query("DROP TABLE ".$CC_CONFIG['scheduleTable']);
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['scheduleTable']."\n";
|
|
}
|
|
|
|
if (camp_db_table_exists($CC_CONFIG['backupTable'])) {
|
|
echo " * Removing database table ".$CC_CONFIG['backupTable']."...";
|
|
camp_install_query("DROP TABLE ".$CC_CONFIG['backupTable']);
|
|
} else {
|
|
echo " * Skipping: database table ".$CC_CONFIG['backupTable']."\n";
|
|
}
|
|
|
|
//if (camp_db_table_exists($CC_CONFIG['playlogTable'])) {
|
|
// echo " * Removing database table ".$CC_CONFIG['playlogTable']."...";
|
|
// $sql = "DROP TABLE ".$CC_CONFIG['playlogTable'];
|
|
// camp_install_query($sql);
|
|
//} else {
|
|
// echo " * Skipping: database table ".$CC_CONFIG['playlogTable']."\n";
|
|
//}
|
|
|
|
echo "************************************\n";
|
|
echo "* StorageServer Uninstall Complete *\n";
|
|
echo "************************************\n";
|
|
|
|
?>
|