";
echofooter();
exit;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Do Mass Delete
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
elseif($action == "do_mass_delete"){
if(!$selected_news){ msg("error", "Error", "You have not specified any articles to be deleted", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
if($source == ""){ $news_file = "data/news.txt"; $comm_file = "data/comments.txt";}
else{ $news_file = "./data/archives/$source.news.arch"; $comm_file = "./data/archives/$source.comments.arch"; }
$deleted_articles = 0;
// Delete News
$old_db = file("$news_file");
$new_db = fopen("$news_file", w);
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(@!in_array($old_db_arr[0], $selected_news)){
fwrite($new_db,"$old_db_line");
}
else
{
$have_perm = 0;
if(($member_db[1] == 1) or ($member_db[1] == 2)){$have_perm = 1;}
elseif($member_db[1] == 3 and $old_db_arr[1] == $member_db[2]) {$have_perm = 1;}
if(!$have_perm){ fwrite($new_db,"$old_db_line"); }
else{$deleted_articles ++;
// XFields Call
$xfieldsaction = "delete";
$xfieldsid = $old_db_arr[0];
include("xfields.mdu");
// End XFields Call
}
}
}
fclose($new_db);
// Delete Comments
$old_db = file("$comm_file");
$new_db = fopen("$comm_file", w);
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(@!in_array($old_db_arr[0], $selected_news)){
fwrite($new_db,"$old_db_line");
}
else
{
$have_perm = 0;
if(($member_db[1] == 1) or ($member_db[1] == 2)){$have_perm = 1;}
elseif($member_db[1] == 3 and $old_db_arr[1] == $member_db[2]) {$have_perm = 1;}
if(!$have_perm){ fwrite($new_db,"$old_db_line"); }
else{ /* Do Nothing => Delete :) */ }
}
}
fclose($new_db);
if(count($selected_news) == $deleted_articles){ msg("info", "Deleted News", "All articles that you selected ($deleted_articles) were deleted", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
else{ msg("error", "Deleted News (some errors occured !!!)", "$deleted_articles of ".count($selected_news)." articles that you selected were deleted", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mass Move to Cat
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
elseif($action == "mass_move_to_cat"){
if(!$selected_news){ msg("error", "Error", "You have not specified any articles", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
$cat_lines = file("./data/category.db.php");
echoheader("options", "Move Articles to Category");
echo "";
echofooter();
exit;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DO Mass Move to One Category
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
elseif($action == "do_mass_move_to_cat"){
if(!$selected_news){ msg("error", "Error", "You have not specified any articles", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
if($source == ""){ $news_file = "./data/news.txt";}
else{ $news_file = "./data/archives/$source.news.arch"; }
$moved_articles = 0;
$old_db = file("$news_file");
$new_db = fopen("$news_file", w);
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(@!in_array($old_db_arr[0], $selected_news)){
fwrite($new_db,"$old_db_line");
}
else
{
$have_perm = 0;
if(($member_db[1] == 1) or ($member_db[1] == 2)){$have_perm = 1;}
elseif($member_db[1] == 3 and $old_db_arr[1] == $member_db[2]) {$have_perm = 1;}
if(!$have_perm){ fwrite($new_db,"$old_db_line"); }
else{
fwrite($new_db,"$old_db_arr[0]|$old_db_arr[1]|$old_db_arr[2]|$old_db_arr[3]|$old_db_arr[4]|$old_db_arr[5]|$move_to_category|$old_db_arr[7]||\n");
$moved_articles ++;
}
}
}
fclose($new_db);
if(count($selected_news) == $moved_articles){ msg("info", "News Moved", "All articles that you selected ($moved_articles) were moved to the specified category", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
else{ msg("error", "News Moved (with errors)", "$moved_articles of ".count($selected_news)." articles that you selected were moved to the specified category", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mass Archive
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
elseif($action == "mass_archive"){
if(!$selected_news){ msg("error", "Error", "You have not specified any articles", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
if($source != ""){ msg("error", "Error", "These news are already in the archive", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
echoheader("options", "Send News To Archive");
echo "";
echofooter();
exit;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DO Mass Send To Archive
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
elseif($action == "do_mass_archive"){
if($member_db[1] != 1){ msg("error", "Access Denied", "You can not perfor this action if you are not admin"); }
if(!$selected_news){ msg("error", "Error", "You have not specified any articles", "$PHP_SELF?mod=editnews&action=list&source=$source"); }
if(!is_writable("./data/archives/")){ msg("error", "Error", "The ./data/archives/ directory is not writable, CHMOD it to 777"); }
$news_file = "./data/news.txt";
$comm_file = "./data/comments.txt";
$prepeared_for_archive = array();
$prepeared_comments_for_archive = array();
$archived_news = 0;
// Prepear the news for Archiving
$old_db = file("$news_file");
$new_db = fopen("$news_file", w);
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(@!in_array($old_db_arr[0], $selected_news)){
fwrite($new_db,"$old_db_line");
}
else
{
$have_perm = 0;
if(($member_db[1] == 1) or ($member_db[1] == 2)){$have_perm = 1;}
elseif($member_db[1] == 3 and $old_db_arr[1] == $member_db[2]) {$have_perm = 1;}
if(!$have_perm){ fwrite($new_db,"$old_db_line"); }
else{
$prepeared_news_for_archive[] = $old_db_line;
$archived_news++;
}
}
}
fclose($new_db);
if($archived_news == 0){ msg("error", "Error", "No news were found for archiving."); }
// Prepear the comments for Archiving
$old_db = file("$comm_file");
$new_db = fopen("$comm_file", w);
foreach($old_db as $old_db_line){
$old_db_arr = explode("|", $old_db_line);
if(@!in_array($old_db_arr[0], $selected_news)){
fwrite($new_db,"$old_db_line");
}
else
{
$have_perm = 0;
if(($member_db[1] == 1) or ($member_db[1] == 2)){$have_perm = 1;}
elseif($member_db[1] == 3 and $old_db_arr[1] == $member_db[2]) {$have_perm = 1;}
if(!$have_perm){ fwrite($new_db,"$old_db_line"); }
else{
$prepeared_comments_for_archive[] = $old_db_line;
}
}
}
fclose($new_db);
// Start Archiving
$arch_name = time()+($config_date_adjust*60);
$arch_news = fopen("./data/archives/$arch_name.news.arch", w);
foreach($prepeared_news_for_archive as $item){
fwrite($arch_news, "$item");
}
fclose($arch_news);
$arch_comm = fopen("./data/archives/$arch_name.comments.arch", w);
foreach($prepeared_comments_for_archive as $item){
fwrite($arch_comm, "$item");
}
fclose($arch_comm);
msg("info", "News Archived", "All articles that you selected ($archived_news) are now archived under ./data/archives/$arch_name.news.arch", "$PHP_SELF?mod=editnews&action=list&source=$source");
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If No Action Is Choosed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
else{
msg("info", "Choose Action", "Please choose action from the drop-down menu", "$PHP_SELF?mod=editnews&action=list&source=$source");
}
?>
Historical archive. This is a preserved copy of 36 Degrees Design (2005–2008), the early web-design weblog of Stuart Frisby. It is maintained independently as a piece of web history and is not operated by, affiliated with, or endorsed by Stuart Frisby. If you are the original owner and would like this domain returned, get in touch — it’s yours, no fuss.