From 42206f96ce2cdbcab60627e2d7ab7210af987738 Mon Sep 17 00:00:00 2001 From: Git Date: Fri, 30 Nov 2012 08:00:19 +0000 Subject: [PATCH] Empty commit --- sections/ajax/info.php | 89 ++++++++++++++++++++++++++---------------- 1 file changed, 56 insertions(+), 33 deletions(-) diff --git a/sections/ajax/info.php b/sections/ajax/info.php index 1d2dba1c..0f00af86 100644 --- a/sections/ajax/info.php +++ b/sections/ajax/info.php @@ -3,45 +3,45 @@ //calculate ratio //returns 0 for DNE and -1 for infiinity, because we dont want strings being returned for a numeric value in our java $Ratio = 0; -if($LoggedUser['BytesUploaded'] == 0 && $LoggedUser['BytesDownloaded'] == 0) { +if ($LoggedUser['BytesUploaded'] == 0 && $LoggedUser['BytesDownloaded'] == 0) { $Ratio = 0; -} elseif($LoggedUser['BytesDownloaded'] == 0) { +} elseif ($LoggedUser['BytesDownloaded'] == 0) { $Ratio = -1; } else { - $Ratio = number_format(max($LoggedUser['BytesUploaded']/$LoggedUser['BytesDownloaded']-0.005,0), 2); //Subtract .005 to floor to 2 decimals + $Ratio = number_format(max($LoggedUser['BytesUploaded'] / $LoggedUser['BytesDownloaded'] - 0.005, 0), 2); //Subtract .005 to floor to 2 decimals } $MyNews = $LoggedUser['LastReadNews']; $CurrentNews = $Cache->get_value('news_latest_id'); if ($CurrentNews === false) { - $DB->query("SELECT ID FROM news ORDER BY Time DESC LIMIT 1"); - if ($DB->record_count() == 1) { - list($CurrentNews) = $DB->next_record(); - } else { - $CurrentNews = -1; - } - $Cache->cache_value('news_latest_id', $CurrentNews, 0); + $DB->query("SELECT ID FROM news ORDER BY Time DESC LIMIT 1"); + if ($DB->record_count() == 1) { + list($CurrentNews) = $DB->next_record(); + } else { + $CurrentNews = -1; + } + $Cache->cache_value('news_latest_id', $CurrentNews, 0); } -$NewMessages = $Cache->get_value('inbox_new_'.$LoggedUser['ID']); +$NewMessages = $Cache->get_value('inbox_new_' . $LoggedUser['ID']); if ($NewMessages === false) { - $DB->query("SELECT COUNT(UnRead) FROM pm_conversations_users WHERE UserID='".$LoggedUser['ID']."' AND UnRead = '1' AND InInbox = '1'"); - list($NewMessages) = $DB->next_record(); - $Cache->cache_value('inbox_new_'.$LoggedUser['ID'], $NewMessages, 0); + $DB->query("SELECT COUNT(UnRead) FROM pm_conversations_users WHERE UserID='" . $LoggedUser['ID'] . "' AND UnRead = '1' AND InInbox = '1'"); + list($NewMessages) = $DB->next_record(); + $Cache->cache_value('inbox_new_' . $LoggedUser['ID'], $NewMessages, 0); } if (check_perms('site_torrents_notify')) { - $NewNotifications = $Cache->get_value('notifications_new_'.$LoggedUser['ID']); - if ($NewNotifications === false) { - $DB->query("SELECT COUNT(UserID) FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]' AND UnRead='1'"); - list($NewNotifications) = $DB->next_record(); - /* if($NewNotifications && !check_perms('site_torrents_notify')) { - $DB->query("DELETE FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]'"); - $DB->query("DELETE FROM users_notify_filters WHERE UserID='$LoggedUser[ID]'"); - } */ - $Cache->cache_value('notifications_new_'.$LoggedUser['ID'], $NewNotifications, 0); - } + $NewNotifications = $Cache->get_value('notifications_new_' . $LoggedUser['ID']); + if ($NewNotifications === false) { + $DB->query("SELECT COUNT(UserID) FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]' AND UnRead='1'"); + list($NewNotifications) = $DB->next_record(); + /* if($NewNotifications && !check_perms('site_torrents_notify')) { + $DB->query("DELETE FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]'"); + $DB->query("DELETE FROM users_notify_filters WHERE UserID='$LoggedUser[ID]'"); + } */ + $Cache->cache_value('notifications_new_' . $LoggedUser['ID'], $NewNotifications, 0); + } } // News @@ -70,25 +70,48 @@ $Cache->cache_value('blog_latest_id', $CurrentBlog, 0); } +// Subscriptions +$NewSubscriptions = $Cache->get_value('subscriptions_user_new_' . $LoggedUser['ID']); +if ($NewSubscriptions === FALSE) { + if ($LoggedUser['CustomForums']) { + unset($LoggedUser['CustomForums']['']); + $RestrictedForums = implode("','", array_keys($LoggedUser['CustomForums'], 0)); + $PermittedForums = implode("','", array_keys($LoggedUser['CustomForums'], 1)); + } + $DB->query("SELECT COUNT(s.TopicID) + FROM users_subscriptions AS s + JOIN forums_last_read_topics AS l ON s.UserID = l.UserID AND s.TopicID = l.TopicID + JOIN forums_topics AS t ON l.TopicID = t.ID + JOIN forums AS f ON t.ForumID = f.ID + WHERE (f.MinClassRead <= " . $LoggedUser['Class'] . " OR f.ID IN ('$PermittedForums')) + AND l.PostID < t.LastPostID + AND s.UserID = " . $LoggedUser['ID'] . + (!empty($RestrictedForums) ? " + AND f.ID NOT IN ('" . $RestrictedForums . "')" : "")); + list($NewSubscriptions) = $DB->next_record(); + $Cache->cache_value('subscriptions_user_new_' . $LoggedUser['ID'], $NewSubscriptions, 0); +} + print json_encode( array( 'status' => 'success', 'response' => array( 'username' => $LoggedUser['Username'], - 'id' => (int) $LoggedUser['ID'], - 'authkey'=> $LoggedUser['AuthKey'], - 'passkey'=> $LoggedUser['torrent_pass'], + 'id' => (int)$LoggedUser['ID'], + 'authkey' => $LoggedUser['AuthKey'], + 'passkey' => $LoggedUser['torrent_pass'], 'notifications' => array( - 'messages'=> (int) $NewMessages, + 'messages' => (int) $NewMessages, 'notifications' => (int) $NewNotifications, 'newAnnouncement' => $MyNews < $CurrentNews, - 'newBlog' => $MyBlog < $CurrentBlog + 'newBlog' => $MyBlog < $CurrentBlog, + 'newSubscriptions' => $NewSubscriptions == 1 ), 'userstats' => array( - 'uploaded' => (int) $LoggedUser['BytesUploaded'], - 'downloaded' => (int) $LoggedUser['BytesDownloaded'], - 'ratio' => (float) $Ratio, - 'requiredratio' => (float) $LoggedUser['RequiredRatio'], + 'uploaded' => (int)$LoggedUser['BytesUploaded'], + 'downloaded' => (int)$LoggedUser['BytesDownloaded'], + 'ratio' => (float)$Ratio, + 'requiredratio' => (float)$LoggedUser['RequiredRatio'], 'class' => $ClassLevels[$LoggedUser['Class']]['Name'] ) )