mirror of
https://github.com/WhatCD/Gazelle.git
synced 2024-12-13 19:06:27 +00:00
Empty commit
This commit is contained in:
parent
24d951c055
commit
0ccae72a56
66
classes/class_forums.php
Normal file
66
classes/class_forums.php
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<?
|
||||||
|
class Forums {
|
||||||
|
/**
|
||||||
|
* @param string $Body
|
||||||
|
* @param int $PostID
|
||||||
|
* @param string $Page
|
||||||
|
* @param int $PageID
|
||||||
|
*/
|
||||||
|
public static function quote_notify($Body, $PostID, $Page, $PageID) {
|
||||||
|
/*
|
||||||
|
* Explanation of the parameters PageID and Page:
|
||||||
|
* Page contains where this quote comes from and can be forums, artist,
|
||||||
|
* collages, requests or torrents. The PageID contains the additional
|
||||||
|
* value that is necessary for the users_notify_quoted table.
|
||||||
|
* The PageIDs for the different Page are:
|
||||||
|
* forums: TopicID
|
||||||
|
* artist: ArtistID
|
||||||
|
* collages: CollageID
|
||||||
|
* requests: RequestID
|
||||||
|
* torrents: GroupID
|
||||||
|
*/
|
||||||
|
global $LoggedUser, $Cache, $DB;
|
||||||
|
|
||||||
|
$Matches = array();
|
||||||
|
preg_match_all('/\[quote(?:=(.*)(?:\|.*)?)?]|\[\/quote]/iU', $Body, $Matches, PREG_SET_ORDER);
|
||||||
|
|
||||||
|
if (count($Matches)) {
|
||||||
|
$Usernames = array();
|
||||||
|
$Level = 0;
|
||||||
|
foreach ($Matches as $M) {
|
||||||
|
if ($M[0] != '[/quote]') {
|
||||||
|
if ($Level == 0 && isset($M[1]) && strlen($M[1]) > 0 && preg_match('/^[a-z0-9_?]{1,20}$/iD', $M[1])) {
|
||||||
|
$Usernames[] = preg_replace('/(^[.,]*)|([.,]*$)/', '', $M[1]); // wut?
|
||||||
|
}
|
||||||
|
++$Level;
|
||||||
|
} else {
|
||||||
|
--$Level;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//remove any dupes in the array (the fast way)
|
||||||
|
$Usernames = array_flip(array_flip($Usernames));
|
||||||
|
|
||||||
|
$DB->query("SELECT m.ID, p.PushService
|
||||||
|
FROM users_main AS m
|
||||||
|
LEFT JOIN users_info AS i ON i.UserID = m.ID
|
||||||
|
LEFT JOIN users_push_notifications AS p ON p.UserID = m.ID
|
||||||
|
WHERE m.Username IN ('" . implode("', '", $Usernames) . "')
|
||||||
|
AND i.NotifyOnQuote = '1' AND i.UserID != $LoggedUser[ID]");
|
||||||
|
|
||||||
|
$Results = $DB->to_array();
|
||||||
|
foreach ($Results as $Result) {
|
||||||
|
$UserID = db_string($Result['ID']);
|
||||||
|
$PushService = $Result['PushService'];
|
||||||
|
$QuoterID = db_string($LoggedUser['ID']);
|
||||||
|
$Page = db_string($Page);
|
||||||
|
$PageID = db_string($PageID);
|
||||||
|
$PostID = db_string($PostID);
|
||||||
|
|
||||||
|
$DB->query("INSERT IGNORE INTO users_notify_quoted (UserID, QuoterID, Page, PageID, PostID, Date)
|
||||||
|
VALUES ('$UserID', '$QuoterID', '$Page', '$PageID', '$PostID', '" . sqltime() . "')");
|
||||||
|
$Cache->delete_value('notify_quoted_' . $UserID);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -99,6 +99,9 @@
|
|||||||
case 'Format':
|
case 'Format':
|
||||||
$FileName = 'class_format';
|
$FileName = 'class_format';
|
||||||
break;
|
break;
|
||||||
|
case 'Forums':
|
||||||
|
$FileName = 'class_forums';
|
||||||
|
break;
|
||||||
case 'ImageTools':
|
case 'ImageTools':
|
||||||
$FileName = 'class_image_tools';
|
$FileName = 'class_image_tools';
|
||||||
break;
|
break;
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$DB->query("SELECT
|
$DB->query("SELECT
|
||||||
f.FriendID, u.Username
|
f.FriendID, u.Username
|
||||||
FROM friends AS f
|
FROM friends AS f
|
||||||
RIGHT JOIN users_enable_recommendations AS r
|
RIGHT JOIN users_enable_recommendations AS r
|
||||||
ON r.ID = f.FriendID AND r.Enable = 1
|
ON r.ID = f.FriendID
|
||||||
RIGHT JOIN users_main AS u
|
AND r.Enable = 1
|
||||||
ON u.ID = f.FriendID
|
RIGHT JOIN users_main AS u
|
||||||
WHERE f.UserID = '$LoggedUser[ID]'
|
ON u.ID = f.FriendID
|
||||||
ORDER BY u.Username ASC");
|
WHERE f.UserID = '$LoggedUser[ID]'
|
||||||
|
ORDER BY u.Username ASC");
|
||||||
echo json_encode($DB->to_array(false, MYSQLI_ASSOC));
|
echo json_encode($DB->to_array(false, MYSQLI_ASSOC));
|
||||||
die();
|
die();
|
||||||
|
@ -38,7 +38,8 @@
|
|||||||
t.Seeders,
|
t.Seeders,
|
||||||
t.Leechers,
|
t.Leechers,
|
||||||
((t.Size * t.Snatched) + (t.Size * 0.5 * t.Leechers)) AS Data,
|
((t.Size * t.Snatched) + (t.Size * 0.5 * t.Leechers)) AS Data,
|
||||||
g.ReleaseType
|
g.ReleaseType,
|
||||||
|
t.Size
|
||||||
FROM torrents AS t
|
FROM torrents AS t
|
||||||
LEFT JOIN torrents_group AS g ON g.ID = t.GroupID ";
|
LEFT JOIN torrents_group AS g ON g.ID = t.GroupID ";
|
||||||
|
|
||||||
@ -185,7 +186,7 @@ function generate_torrent_json($Caption, $Tag, $Details, $Limit) {
|
|||||||
foreach ($Details as $Detail) {
|
foreach ($Details as $Detail) {
|
||||||
list($TorrentID,$GroupID,$GroupName,$GroupCategoryID,$WikiImage,$TorrentTags,
|
list($TorrentID,$GroupID,$GroupName,$GroupCategoryID,$WikiImage,$TorrentTags,
|
||||||
$Format,$Encoding,$Media,$Scene,$HasLog,$HasCue,$LogScore,$Year,$GroupYear,
|
$Format,$Encoding,$Media,$Scene,$HasLog,$HasCue,$LogScore,$Year,$GroupYear,
|
||||||
$RemasterTitle,$Snatched,$Seeders,$Leechers,$Data,$ReleaseType) = $Detail;
|
$RemasterTitle,$Snatched,$Seeders,$Leechers,$Data,$ReleaseType,$Size) = $Detail;
|
||||||
|
|
||||||
$Artist = Artists::display_artists(Artists::get_artist($GroupID), false, true);
|
$Artist = Artists::display_artists(Artists::get_artist($GroupID), false, true);
|
||||||
$TruncArtist = substr($Artist, 0, strlen($Artist)-3);
|
$TruncArtist = substr($Artist, 0, strlen($Artist)-3);
|
||||||
@ -220,7 +221,8 @@ function generate_torrent_json($Caption, $Tag, $Details, $Limit) {
|
|||||||
'snatched' => (int) $Snatched,
|
'snatched' => (int) $Snatched,
|
||||||
'seeders' => (int) $Seeders,
|
'seeders' => (int) $Seeders,
|
||||||
'leechers' => (int) $Leechers,
|
'leechers' => (int) $Leechers,
|
||||||
'data' => (int) $Data
|
'data' => (int) $Data,
|
||||||
|
'size' => (int) $Size,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
<?php
|
|
||||||
$Matches = array();
|
|
||||||
preg_match_all('/\[quote(.*?)]|\[\/quote]/', $Body, $Matches);
|
|
||||||
|
|
||||||
if (array_key_exists(0, $Matches)) {
|
|
||||||
$Usernames = array();
|
|
||||||
$Level = 0;
|
|
||||||
foreach ($Matches[0] as $M) {
|
|
||||||
if ($M != '[/quote]') {
|
|
||||||
if ($Level == 0) {
|
|
||||||
add_username($M);
|
|
||||||
}
|
|
||||||
$Level++;
|
|
||||||
} else {
|
|
||||||
$Level--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//remove any dupes in the array
|
|
||||||
$Usernames = array_unique($Usernames);
|
|
||||||
|
|
||||||
$DB->query("SELECT m.ID, p.PushService
|
|
||||||
FROM users_main AS m
|
|
||||||
LEFT JOIN users_info AS i ON i.UserID = m.ID
|
|
||||||
LEFT JOIN users_push_notifications AS p ON p.UserID = m.ID
|
|
||||||
WHERE m.Username IN " . "('" . implode("', '", $Usernames)
|
|
||||||
. "')
|
|
||||||
AND i.NotifyOnQuote = '1' AND i.UserID != $LoggedUser[ID]");
|
|
||||||
|
|
||||||
$Results = $DB->to_array();
|
|
||||||
foreach($Results as $Result) {
|
|
||||||
$UserID = $Result['ID'];
|
|
||||||
$PushService = $Result['PushService'];
|
|
||||||
$QuoterID = db_string($LoggedUser['ID']);
|
|
||||||
$UserID = db_string($UserID);
|
|
||||||
$ForumID = db_string($ForumID);
|
|
||||||
$TopicID = db_string($TopicID);
|
|
||||||
$PostID = db_string($PostID);
|
|
||||||
|
|
||||||
$DB->query("INSERT IGNORE INTO users_notify_quoted (UserID, QuoterID, Page, PageID, PostID, Date)
|
|
||||||
VALUES ('$UserID', '$QuoterID', 'forums', '$TopicID', '$PostID', '" . sqltime() . "')");
|
|
||||||
$Cache->delete_value('notify_quoted_' . $UserID);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Validate the username and add it into the $Usernames array
|
|
||||||
*/
|
|
||||||
function add_username($Str)
|
|
||||||
{
|
|
||||||
global $Usernames;
|
|
||||||
$Matches = array();
|
|
||||||
if (preg_match('/\[quote=(.*)]/', $Str, $Matches)) {
|
|
||||||
$Username = $Matches[1];
|
|
||||||
$Username = trim($Username);
|
|
||||||
if (strlen($Username) > 0 && !preg_match('/[^a-zA-Z0-9|]/i', $Username)) {
|
|
||||||
$Exploded = explode('|', $Username);
|
|
||||||
$Username = $Exploded[0];
|
|
||||||
$Username = preg_replace('/(^[.,]*)|([.,]*$)/', '', $Username);
|
|
||||||
$Usernames[] = $Username;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -232,6 +232,6 @@
|
|||||||
$Cache->delete_value('subscriptions_user_new_'.$Subscriber);
|
$Cache->delete_value('subscriptions_user_new_'.$Subscriber);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
include('quote_notify.php');
|
Forums::quote_notify($Body, $PostID, 'forums', $TopicID);
|
||||||
header('Location: forums.php?action=viewthread&threadid='.$TopicID.'&page='.ceil($ThreadInfo['Posts']/$PerPage));
|
header('Location: forums.php?action=viewthread&threadid='.$TopicID.'&page='.ceil($ThreadInfo['Posts']/$PerPage));
|
||||||
die();
|
die();
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Tools necessary for economic management
|
Tools necessary for economic management
|
||||||
1. Current overall stats (!economy)
|
1. Current overall stats (!economy)
|
||||||
2. Statistical traffic trends in a graph
|
2. Statistical traffic trends in a graph
|
||||||
a. All time / 1 year (whichever is smaller)
|
a. All time / 1 year (whichever is smaller)
|
||||||
b. 1 month
|
b. 1 month
|
||||||
c. 1 week
|
c. 1 week
|
||||||
d. 1 day
|
d. 1 day
|
||||||
|
@ -67,14 +67,14 @@
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<form action="" method="post" acclass="thin box pad">
|
<form action="" method="post" acclass="thin box pad">
|
||||||
<input type="hidden" name="action" value="registration_log"/>
|
<input type="hidden" name="action" value="registration_log" />
|
||||||
Joined After: <input type="date" name="after_date"/>
|
Joined after: <input type="date" name="after_date" />
|
||||||
Joined Before: <input type="date" name="before_date"/>
|
Joined before: <input type="date" name="before_date" />
|
||||||
<input type="submit"/>
|
<input type="submit" />
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?
|
<?
|
||||||
if($DB->record_count()) {
|
if ($DB->record_count()) {
|
||||||
?>
|
?>
|
||||||
<div class="linkbox">
|
<div class="linkbox">
|
||||||
<?
|
<?
|
||||||
@ -94,23 +94,23 @@
|
|||||||
<td>Registered</td>
|
<td>Registered</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?
|
<?
|
||||||
while(list($UserID, $IP, $IPCC, $Email, $Username, $PermissionID, $Uploaded, $Downloaded, $Enabled, $Donor, $Warned, $Joined, $Uses, $InviterID, $InviterIP, $InviterIPCC, $InviterEmail, $InviterUsername, $InviterPermissionID, $InviterUploaded, $InviterDownloaded, $InviterEnabled, $InviterDonor, $InviterWarned, $InviterJoined, $InviterUses)=$DB->next_record()) {
|
while (list($UserID, $IP, $IPCC, $Email, $Username, $PermissionID, $Uploaded, $Downloaded, $Enabled, $Donor, $Warned, $Joined, $Uses, $InviterID, $InviterIP, $InviterIPCC, $InviterEmail, $InviterUsername, $InviterPermissionID, $InviterUploaded, $InviterDownloaded, $InviterEnabled, $InviterDonor, $InviterWarned, $InviterJoined, $InviterUses)=$DB->next_record()) {
|
||||||
$Row = ($IP == $InviterIP) ? 'a' : 'b';
|
$Row = ($IP == $InviterIP) ? 'a' : 'b';
|
||||||
?>
|
?>
|
||||||
<tr class="row<?=$Row?>">
|
<tr class="row<?=$Row?>">
|
||||||
<td><?=Users::format_username($UserID, true, true, true, true)?><br /><?=Users::format_username($InviterID, true, true, true, true)?></td>
|
<td><?=Users::format_username($UserID, true, true, true, true)?><br /><?=Users::format_username($InviterID, true, true, true, true)?></td>
|
||||||
<td><?=Format::get_ratio_html($Uploaded,$Downloaded)?><br /><?=Format::get_ratio_html($InviterUploaded,$InviterDownloaded)?></td>
|
<td><?=Format::get_ratio_html($Uploaded,$Downloaded)?><br /><?=Format::get_ratio_html($InviterUploaded,$InviterDownloaded)?></td>
|
||||||
<td>
|
<td>
|
||||||
<span style="float:left;"><?=display_str($Email)?></span>
|
<span style="float: left;"><?=display_str($Email)?></span>
|
||||||
<span style="float:right;"><a href="userhistory.php?action=email&userid=<?=$UserID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&email_history=on&email=<?=display_str($Email)?>" title="Search" class="brackets">S</a></span><br />
|
<span style="float: right;"><a href="userhistory.php?action=email&userid=<?=$UserID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&email_history=on&email=<?=display_str($Email)?>" title="Search" class="brackets">S</a></span><br />
|
||||||
<span style="float:left;"><?=display_str($InviterEmail)?></span>
|
<span style="float: left;"><?=display_str($InviterEmail)?></span>
|
||||||
<span style="float:right;"><a href="userhistory.php?action=email&userid=<?=$InviterID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&email_history=on&email=<?=display_str($InviterEmail)?>" title="Search" class="brackets">S</a></span><br />
|
<span style="float: right;"><a href="userhistory.php?action=email&userid=<?=$InviterID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&email_history=on&email=<?=display_str($InviterEmail)?>" title="Search" class="brackets">S</a></span><br />
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span style="float:left;"><?=display_str($IP)?></span>
|
<span style="float: left;"><?=display_str($IP)?></span>
|
||||||
<span style="float:right;"><?=display_str($Uses)?> <a href="userhistory.php?action=ips&userid=<?=$UserID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&ip_history=on&ip=<?=display_str($IP)?>" title="Search" class="brackets">S</a></span><br />
|
<span style="float: right;"><?=display_str($Uses)?> <a href="userhistory.php?action=ips&userid=<?=$UserID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&ip_history=on&ip=<?=display_str($IP)?>" title="Search" class="brackets">S</a></span><br />
|
||||||
<span style="float:left;"><?=display_str($InviterIP)?></span>
|
<span style="float: left;"><?=display_str($InviterIP)?></span>
|
||||||
<span style="float:right;"><?=display_str($InviterUses)?> <a href="userhistory.php?action=ips&userid=<?=$InviterID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&ip_history=on&ip=<?=display_str($InviterIP)?>" title="Search" class="brackets">S</a></span><br />
|
<span style="float: right;"><?=display_str($InviterUses)?> <a href="userhistory.php?action=ips&userid=<?=$InviterID?>" title="History" class="brackets">H</a> <a href="/user.php?action=search&ip_history=on&ip=<?=display_str($InviterIP)?>" title="Search" class="brackets">S</a></span><br />
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?=$IPCC?> <br />
|
<?=$IPCC?> <br />
|
||||||
|
@ -156,7 +156,8 @@
|
|||||||
t.Seeders,
|
t.Seeders,
|
||||||
t.Leechers,
|
t.Leechers,
|
||||||
((t.Size * t.Snatched) + (t.Size * 0.5 * t.Leechers)) AS Data,
|
((t.Size * t.Snatched) + (t.Size * 0.5 * t.Leechers)) AS Data,
|
||||||
g.ReleaseType
|
g.ReleaseType,
|
||||||
|
t.Size
|
||||||
FROM torrents AS t
|
FROM torrents AS t
|
||||||
LEFT JOIN torrents_group AS g ON g.ID = t.GroupID ";
|
LEFT JOIN torrents_group AS g ON g.ID = t.GroupID ";
|
||||||
|
|
||||||
@ -376,6 +377,7 @@ function generate_torrent_table($Caption, $Tag, $Details, $Limit) {
|
|||||||
<td class="center" style="width:15px;"></td>
|
<td class="center" style="width:15px;"></td>
|
||||||
<td class="cats_col"></td>
|
<td class="cats_col"></td>
|
||||||
<td><strong>Name</strong></td>
|
<td><strong>Name</strong></td>
|
||||||
|
<td style="text-align:right"><strong>Size</strong></td>
|
||||||
<td style="text-align:right"><strong>Data</strong></td>
|
<td style="text-align:right"><strong>Data</strong></td>
|
||||||
<td style="text-align:right"><img src="static/styles/<?=$LoggedUser['StyleName']?>/images/snatched.png" alt="Snatches" title="Snatches" /></td>
|
<td style="text-align:right"><img src="static/styles/<?=$LoggedUser['StyleName']?>/images/snatched.png" alt="Snatches" title="Snatches" /></td>
|
||||||
<td style="text-align:right"><img src="static/styles/<?=$LoggedUser['StyleName']?>/images/seeders.png" alt="Seeders" title="Seeders" /></td>
|
<td style="text-align:right"><img src="static/styles/<?=$LoggedUser['StyleName']?>/images/seeders.png" alt="Seeders" title="Seeders" /></td>
|
||||||
@ -416,7 +418,7 @@ function generate_torrent_table($Caption, $Tag, $Details, $Limit) {
|
|||||||
foreach ($Details as $Detail) {
|
foreach ($Details as $Detail) {
|
||||||
list($TorrentID,$GroupID,$GroupName,$GroupCategoryID,$WikiImage,$TagsList,
|
list($TorrentID,$GroupID,$GroupName,$GroupCategoryID,$WikiImage,$TagsList,
|
||||||
$Format,$Encoding,$Media,$Scene,$HasLog,$HasCue,$LogScore,$Year,$GroupYear,
|
$Format,$Encoding,$Media,$Scene,$HasLog,$HasCue,$LogScore,$Year,$GroupYear,
|
||||||
$RemasterTitle,$Snatched,$Seeders,$Leechers,$Data,$ReleaseType) = $Detail;
|
$RemasterTitle,$Snatched,$Seeders,$Leechers,$Data,$ReleaseType,$Size) = $Detail;
|
||||||
|
|
||||||
$IsBookmarked = has_bookmarked('torrent', $GroupID);
|
$IsBookmarked = has_bookmarked('torrent', $GroupID);
|
||||||
$IsSnatched = Torrents::has_snatched($TorrentID);
|
$IsSnatched = Torrents::has_snatched($TorrentID);
|
||||||
@ -490,6 +492,7 @@ function generate_torrent_table($Caption, $Tag, $Details, $Limit) {
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td style="text-align:right" class="nobr"><?=Format::get_size($Size)?></td>
|
||||||
<td style="text-align:right" class="nobr"><?=Format::get_size($Data)?></td>
|
<td style="text-align:right" class="nobr"><?=Format::get_size($Data)?></td>
|
||||||
<td style="text-align:right"><?=number_format((double) $Snatched)?></td>
|
<td style="text-align:right"><?=number_format((double) $Snatched)?></td>
|
||||||
<td style="text-align:right"><?=number_format((double) $Seeders)?></td>
|
<td style="text-align:right"><?=number_format((double) $Seeders)?></td>
|
||||||
|
@ -433,7 +433,7 @@ tr.torrent .bookmark>a:after {
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fix long filename tables overflowing (Chrome only).
|
* Fix long filename tables overflowing (Chrome only).
|
||||||
* Fix report information tables overflowing long reports (all browsers).
|
* Fix report information tables overflowing long reports (all browsers).
|
||||||
* Fix long release descriptions overflowing containers (all browsers).
|
* Fix long release descriptions overflowing containers (all browsers).
|
||||||
|
Loading…
Reference in New Issue
Block a user