/legacy/includes/pages/admin/cache.php
PHP | 305 lines | 192 code | 77 blank | 36 comment | 21 complexity | ca519cc8f24ed7557690577b04a11889 MD5 | raw file
Possible License(s): AGPL-3.0
- <?php
-
- /*
- +--------------------------------------------------------------------------
- | NovaBoard
- | ========================================
- | By The NovaBoard team
- | Released under the Artistic License 2.0
- | http://www.novaboard.net
- | ========================================
|+--------------------------------------------------------------------------
- | cache.php - cache & purge options
-
- */
-
- if (!defined('NOVA_RUN')){
- echo "<h1>ACCESS DENIED</h1>You cannot access this file directly.";
- exit();
- }
-
- template_hook("pages/admin/cache.template.php", "start");
-
- if ($can_change_forum_settings == 0)
- {
- nova_redirect("index.php?page=error&error=11","error/11");
- exit;
- }
-
- if ($_GET['func']=='posts')
- {
- // Do post counts
-
- // Now get member id...
-
- $query212 = "select ID from {$db_prefix}members ORDER BY ID desc" ;
- $result212 = mysql_query($query212) or die("cache.php - Error in query: $query212") ;
- while ($results212 = mysql_fetch_array($result212))
- {
- $member_id = strip_slashes($results212['ID']);
-
- $counted_posts="0";
-
- // First get the forum...
-
- $query211 = "select ID from {$db_prefix}categories WHERE POST_COUNT='1' ORDER BY ID desc" ;
- $result211 = mysql_query($query211) or die("cache.php - Error in query: $query211") ;
- while ($results211 = mysql_fetch_array($result211))
- {
- $id = strip_slashes($results211['ID']);
-
- // Now count how many posts that member made,
- // and enter it into database
-
- $query213 = "select ID from {$db_prefix}posts WHERE MEMBER='$member_id' AND FORUM_ID='$id'" ;
- $result213 = mysql_query($query213) or die("cache.php - Error in query: $query213") ;
- $posts = mysql_num_rows($result213);
-
- $counted_posts = $counted_posts + $posts;
- }
-
- mysql_query("UPDATE {$db_prefix}members SET user_posts='$counted_posts' WHERE id = '$member_id'");
- }
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "2");
- template_hook("pages/admin/cache.template.php", "3");
- }
-
- elseif ($_GET['func']=='verify')
- {
- // Remove unverified members
- mysql_query('DELETE FROM ' . $db_prefix . 'members WHERE verified != 1');
-
- // perform auto-cache
- include "scripts/php/auto_cache.php";
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "4");
- template_hook("pages/admin/cache.template.php", "3");
- }
-
- elseif ($_GET['func']=='online')
- {
- // Reset most online
-
- mysql_query("UPDATE {$db_prefix}settings SET most_online='0', most_online_date = '0'");
-
- # Remove settings cache
- $Cache->delete('settings');
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "5");
- template_hook("pages/admin/cache.template.php", "3");
- }
-
- elseif ($_GET['func']=='forums')
- {
- $token_id = $_POST['token_id'];
- $token_id = escape_string($token_id);
-
- $token_name = "token_cache_forums_$token_id";
-
- if (isset($_POST[$token_name]) && isset($_SESSION[$token_name]) && $_SESSION[$token_name] == $_POST[$token_name] && isset($_POST['forums']))
- {
- // Purge it bitch!
-
- // First, prepare the query...
-
- $forum = implode(",",$_POST['forums']);
- $forum = escape_string($forum);
-
- $locked = escape_string($_POST['locked']);
-
- $date = escape_string($_POST['date']);
-
- // convert days to seconds...
- $date=($date*24*60*60);
- $current_time=time();
- $date=($current_time - $date);
-
- if ($locked=='1')
- {
- // first, find any topics that had a REPLY that is older than
- // what was specified..
-
- $query212 = "select TOPIC_ID from {$db_prefix}posts WHERE FORUM_ID IN($forum) AND locked='1' AND LAST_POST_TIME > '$date'" ;
- $result212 = mysql_query($query212) or die("cache.php - Error in query: $query212") ;
- while ($results212 = mysql_fetch_array($result212))
- {
- $topic_id = strip_slashes($results212['TOPIC_ID']);
-
- // Now remove any posts that match that topic_id...
-
- $query215 = "select ID from {$db_prefix}posts WHERE TOPIC_ID='$topic_id'" ;
- $result215 = mysql_query($query215) or die("delete.php - Error in query: $query215") ;
- while ($results215 = mysql_fetch_array($result215))
- {
- $remove_id = strip_slashes($results215['ID']);
-
- // first, delete attachments associated with these posts...
-
- $query2121 = "select FILENAME from {$db_prefix}attachments WHERE POSTID='$remove_id'" ;
- $result2121 = mysql_query($query2121) or die("delete.php - Error in query: $query2121") ;
- while ($results2121 = mysql_fetch_array($result2121))
- {
- $filename = strip_slashes($results2121['FILENAME']);
-
- foreach (glob("uploads/attachments/$filename") as $filename_original)
- {
- unlink($filename_original);
- }
-
- foreach (glob("uploads/attachments/t_$filename") as $filename_thumb)
- {
- unlink($filename_thumb);
- }
-
- mysql_query("DELETE FROM {$db_prefix}attachments WHERE postid ='$remove_id'");
- }
- }
-
- // now remove the posts
-
- mysql_query("DELETE FROM {$db_prefix}posts WHERE topic_id = '$topic_id'");
-
- }
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "7");
- template_hook("pages/admin/cache.template.php", "3");
-
- }
- else
- {
- // first, find any topics that had a REPLY that is older than
- // what was specified..
-
- $query212 = "select TOPIC_ID from {$db_prefix}posts WHERE FORUM_ID IN($forum) AND LAST_POST_TIME > '$date'" ;
- $result212 = mysql_query($query212) or die("cache.php - Error in query: $query212") ;
- while ($results212 = mysql_fetch_array($result212))
- {
- $topic_id = strip_slashes($results212['TOPIC_ID']);
-
- // Now remove any posts that match that topic_id...
-
- $query215 = "select ID from {$db_prefix}posts WHERE TOPIC_ID='$topic_id'" ;
- $result215 = mysql_query($query215) or die("delete.php - Error in query: $query215") ;
- while ($results215 = mysql_fetch_array($result215))
- {
- $remove_id = strip_slashes($results215['ID']);
-
- // first, delete attachments associated with these posts...
-
- $query2121 = "select FILENAME from {$db_prefix}attachments WHERE POSTID='$remove_id'" ;
- $result2121 = mysql_query($query2121) or die("delete.php - Error in query: $query2121") ;
- while ($results2121 = mysql_fetch_array($result2121))
- {
- $filename = strip_slashes($results2121['FILENAME']);
-
- foreach (glob("uploads/attachments/$filename") as $filename_original)
- {
- unlink($filename_original);
- }
-
- foreach (glob("uploads/attachments/t_$filename") as $filename_thumb)
- {
- unlink($filename_thumb);
- }
-
- mysql_query("DELETE FROM {$db_prefix}attachments WHERE postid ='$remove_id'");
- }
- }
-
- mysql_query("DELETE FROM {$db_prefix}posts WHERE topic_id = '$topic_id'");
- }
- }
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "7");
- template_hook("pages/admin/cache.template.php", "3");
-
- // perform auto-cache
- include "scripts/php/auto_cache.php";
-
- }
- else
- {
- nova_redirect("index.php?page=error&error=28","error/28");
- }
- }
-
- elseif ($_GET['func']=='readall')
- {
- // put read all date into members profiles
-
- $read_all=time();
-
- mysql_query("UPDATE {$db_prefix}members SET read_all_posts='$read_all'");
-
- // Now empty the read_all table
-
- mysql_query("DELETE FROM {$db_prefix}posts_read");
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "8");
- template_hook("pages/admin/cache.template.php", "3");
- }
-
-
- elseif ($_GET['func']=='messages')
- {
- // Remove deleted private messages
- mysql_query('DELETE FROM ' . $db_prefix . 'messages WHERE hidden = 1 AND hidden_from = 1 AND title != ""');
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "9");
- template_hook("pages/admin/cache.template.php", "3");
- }
-
- else
- {
- $token_id = md5(microtime());
- $token = md5(uniqid(rand(),true));
-
- $token_name = "token_cache_forums_$token_id";
-
- $_SESSION[$token_name] = $token;
-
- template_hook("pages/admin/cache.template.php", "1");
- template_hook("pages/admin/cache.template.php", "10");
-
- $query211 = "select ID, NAME from {$db_prefix}categories WHERE PARENT='0' ORDER BY FORUM_ORDER asc, ID asc" ;
- $result211 = mysql_query($query211) or die("topic.php - Error in query: $query211") ;
- while ($results211 = mysql_fetch_array($result211))
- {
- $parent_id = strip_slashes($results211['ID']);
- $parent_name = strip_slashes($results211['NAME']);
-
- template_hook("pages/admin/cache.template.php", "11");
-
- $query2 = "select ID, NAME from {$db_prefix}categories WHERE PARENT='$parent_id' ORDER BY FORUM_ORDER asc, ID asc" ;
- $result2 = mysql_query($query2) or die("topic.php - Error in query: $query2") ;
- while ($results2 = mysql_fetch_array($result2))
- {
- $forum_id = strip_slashes($results2['ID']);
- $forum_name = strip_slashes($results2['NAME']);
-
- template_hook("pages/admin/cache.template.php", "12");
-
- $query_sub = "select ID, NAME from {$db_prefix}categories WHERE PARENT='$forum_id' ORDER BY FORUM_ORDER asc, ID desc" ;
- $result_sub = mysql_query($query_sub) or die("move.php - Error in query: $query_sub") ;
- while ($results_sub = mysql_fetch_array($result_sub))
- {
- $forum_sub_id = strip_slashes($results_sub['ID']);
- $forum_sub_name = strip_slashes($results_sub['NAME']);
-
- template_hook("pages/admin/cache.template.php", "13");
- }
- }
- }
-
- template_hook("pages/admin/cache.template.php", "14");
- }
-
- template_hook("pages/admin/cache.template.php", "end");
- ?>