From 0a6f90f4513657fe5240949be24e1ec68a026b54 Mon Sep 17 00:00:00 2001 From: Git Date: Sat, 4 Feb 2012 08:00:25 +0000 Subject: [PATCH] Empty commit --- classes/class_text.php | 4 +-- classes/class_torrent_form.php | 9 ++++-- classes/script_start.php | 4 +-- ocelot-0.3.1.tar.bz2 | Bin 13823 -> 0 bytes ocelot-0.3.2.tar.bz2 | Bin 0 -> 13815 bytes sections/ajax/index.php | 4 +-- sections/ajax/info.php | 44 ++++++++---------------------- sections/requests/request.php | 4 +-- sections/requests/requests.php | 2 +- sections/staffpm/assign.php | 8 +++++- sections/torrents/index.php | 7 +++-- sections/upload/upload.php | 7 +++-- sections/user/linkedfunctions.php | 1 + sections/user/manage_linked.php | 1 + sections/user/user.php | 7 +++++ 15 files changed, 51 insertions(+), 51 deletions(-) delete mode 100644 ocelot-0.3.1.tar.bz2 create mode 100644 ocelot-0.3.2.tar.bz2 create mode 100644 sections/user/linkedfunctions.php create mode 100644 sections/user/manage_linked.php diff --git a/classes/class_text.php b/classes/class_text.php index 58629e4b..78c85111 100644 --- a/classes/class_text.php +++ b/classes/class_text.php @@ -454,7 +454,7 @@ function to_html($Array) { $Str.=''.$Block['Val'].''; break; case 'torrent': - $Pattern = '/('.NONSSL_SITE_URL.'\/torrents\.php?.*id=)?(\d+)($|&|#)/i'; + $Pattern = '/('.NONSSL_SITE_URL.'\/torrents\.php.*[\?&]id=)?(\d+)($|&|\#).*/i'; $Matches = array(); if (preg_match($Pattern, $Block['Val'], $Matches)) { if (isset($Matches[2])) { @@ -467,7 +467,7 @@ function to_html($Array) { } } } else { - $Str .= '[torrent]'.$Block['Val'].'[/torrent]'; + $Str .= '[torrent]'.str_replace('[inlineurl]','',$Block['Val']).'[/torrent]'; } break; case 'wiki': diff --git a/classes/class_torrent_form.php b/classes/class_torrent_form.php index ee58098f..960f9354 100644 --- a/classes/class_torrent_form.php +++ b/classes/class_torrent_form.php @@ -65,12 +65,15 @@ function head() { -Torrent && $this->Torrent['GroupID']) { ?> +Torrent && $this->Torrent['GroupID']) { ?> -Torrent && $this->Torrent['RequestID']) { ?> +Torrent && $this->Torrent['RequestID']) { ?> - + NewTorrent) { ?> diff --git a/classes/script_start.php b/classes/script_start.php index c821dc6c..48cd6bf7 100644 --- a/classes/script_start.php +++ b/classes/script_start.php @@ -1898,13 +1898,13 @@ function update_sphinx_requests($RequestID) { $DB->query("REPLACE INTO sphinx_requests_delta ( ID, UserID, TimeAdded, LastVote, CategoryID, Title, - Year, ReleaseType, RecordLabel, CatalogueNumber, BitrateList, + Year, ReleaseType, CatalogueNumber, BitrateList, FormatList, MediaList, LogCue, FillerID, TorrentID, TimeFilled, Visible, Votes, Bounty) SELECT ID, r.UserID, UNIX_TIMESTAMP(TimeAdded) AS TimeAdded, UNIX_TIMESTAMP(LastVote) AS LastVote, CategoryID, - Title, Year, ReleaseType, RecordLabel, CatalogueNumber, BitrateList, + Title, Year, ReleaseType, CatalogueNumber, BitrateList, FormatList, MediaList, LogCue, FillerID, TorrentID, UNIX_TIMESTAMP(TimeFilled) AS TimeFilled, Visible, COUNT(rv.UserID) AS Votes, SUM(rv.Bounty) >> 10 AS Bounty diff --git a/ocelot-0.3.1.tar.bz2 b/ocelot-0.3.1.tar.bz2 deleted file mode 100644 index 2c3df81220549d031ddc093d6475f6bc84f27296..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13823 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 B;_(0g diff --git a/ocelot-0.3.2.tar.bz2 b/ocelot-0.3.2.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..40578a07473b02fde1a3db7c9410f6334ca1cbb9 GIT binary patch literal 13815 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 literal 0 HcmV?d00001 diff --git a/sections/ajax/index.php b/sections/ajax/index.php index a112c1cc..532f499b 100644 --- a/sections/ajax/index.php +++ b/sections/ajax/index.php @@ -49,6 +49,7 @@ break; case 'browse': require(SERVER_ROOT.'/sections/ajax/browse.php'); + break; case 'usersearch': require(SERVER_ROOT.'/sections/ajax/usersearch.php'); break; @@ -57,8 +58,7 @@ break; case 'requests': require(SERVER_ROOT.'/sections/ajax/requests.php'); - case 'bookmarks': - require(SERVER_ROOT.'/sections/ajax/bookmarks/index.php'); + break; case 'artist': require(SERVER_ROOT.'/sections/ajax/artist.php'); break; diff --git a/sections/ajax/info.php b/sections/ajax/info.php index 9acbc183..ab14c73d 100644 --- a/sections/ajax/info.php +++ b/sections/ajax/info.php @@ -3,51 +3,31 @@ //authorize(true); -global $DB, $Cache; -$HeavyInfo = $Cache->get_value('user_info_heavy_'.$UserID); - -$DB->query("SELECT - m.Username, - m.torrent_pass, - i.AuthKey, - Uploaded AS BytesUploaded, - Downloaded AS BytesDownloaded, - RequiredRatio, - p.Level AS Class - FROM users_main AS m - INNER JOIN users_info AS i ON i.UserID=m.ID - LEFT JOIN permissions AS p ON p.ID=m.PermissionID - WHERE m.ID='$UserID'"); - -list($Username,$torrent_pass,$AuthKey,$Uploaded,$Downloaded,$RequiredRatio,$Class) = $DB->next_record(MYSQLI_NUM, array(9,11)); - //calculate ratio --Gwindow //returns 0 for DNE and -1 for infiinity, because we dont want strings being returned for a numeric value in our java -if($Uploaded == 0 && $Downloaded == 0) { +if($LoggedUser['BytesUploaded'] == 0 && $LoggedUser['BytesDownloaded'] == 0) { $Ratio = '0'; -} elseif($Downloaded == 0) { +} elseif($LoggedUser['BytesDownloaded'] == 0) { $Ratio = '-1'; } else { - $Ratio = number_format(max($Uploaded/$Downloaded-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 } - - print json_encode( array( 'status' => 'success', 'response' => array( - 'username' => $Username, - 'id' => $UserID, - 'authkey'=>$AuthKey, - 'passkey'=>$torrent_pass, + 'username' => $LoggedUser['Username'], + 'id' => $LoggedUser['ID'], + 'authkey'=> $LoggedUser['AuthKey'], + 'passkey'=> $LoggedUser['torrent_pass'], 'userstats' => array( - 'uploaded' => (int) $Uploaded, - 'downloaded' => (int) $Downloaded, - 'ratio' => (float) $Ratio, - 'requiredratio' => (float) $RequiredRatio, + 'uploaded' => (int) $LoggedUser['BytesUploaded'], + 'downloaded' => (int) $LoggedUser['BytesDownloaded'], + 'ratio' => (float) $LoggedUser['Ratio'], + 'requiredratio' => (float) $LoggedUser['RequiredRatio'], //'class' => $Class - 'class' => $ClassLevels[$Class]['Name'] + 'class' => $ClassLevels[$LoggedUser['Class']]['Name'] ), ) ) diff --git a/sections/requests/request.php b/sections/requests/request.php index 4fcadb54..96f835ab 100644 --- a/sections/requests/request.php +++ b/sections/requests/request.php @@ -23,7 +23,7 @@ } list($RequestID, $RequestorID, $RequestorName, $TimeAdded, $LastVote, $CategoryID, $Title, $Year, $Image, $Description, $CatalogueNumber, $RecordLabel, $ReleaseType, - $BitrateList, $FormatList, $MediaList, $LogCue, $FillerID, $FillerName, $TorrentID, $TimeFilled) = $Request; + $BitrateList, $FormatList, $MediaList, $LogCue, $FillerID, $FillerName, $TorrentID, $TimeFilled, $GroupID) = $Request; //Convenience variables $IsFilled = !empty($TorrentID); @@ -97,7 +97,7 @@ [Bookmark] [Report Request] - [Upload Request] + ">[Upload Request] [Request Update] diff --git a/sections/requests/requests.php b/sections/requests/requests.php index b6a66aa5..09d77b42 100644 --- a/sections/requests/requests.php +++ b/sections/requests/requests.php @@ -481,7 +481,7 @@ // $Tags, $TimeAdded, $TimeFilled, $Title, $TorrentID, $RequestorID, $RequestorName, $Year, $RequestID, $Categoryid, $FillerID, $LastVote, // $ReleaseType, $TagIDs, $TimeAdded, $TimeFilled, $TorrentID, $RequestorID, $Voters) = array_values($Request); - list($RequestID, $RequestorID, $RequestorName, $TimeAdded, $LastVote, $CategoryID, $Title, $Year, $Image, $Description, $CatalogueNumber, + list($RequestID, $RequestorID, $RequestorName, $TimeAdded, $LastVote, $CategoryID, $Title, $Year, $Image, $Description, $CatalogueNumber, $RecordLabel, $ReleaseType, $BitrateList, $FormatList, $MediaList, $LogCue, $FillerID, $FillerName, $TorrentID, $TimeFilled) = $Request; $RequestVotes = get_votes_array($RequestID); diff --git a/sections/staffpm/assign.php b/sections/staffpm/assign.php index 60353a7a..c3322e42 100644 --- a/sections/staffpm/assign.php +++ b/sections/staffpm/assign.php @@ -48,8 +48,14 @@ // Assign to class $DB->query("UPDATE staff_pm_conversations SET Status='Unanswered', Level=$NewLevel, AssignedToUser=NULL WHERE ID=$ConvID"); } else { + $UserInfo = user_info($NewLevel); + $Level = $Classes[$UserInfo['PermissionID']]['Level']; + if (!$Level) { + error("Assign to user not found."); + } + // Assign to user - $DB->query("UPDATE staff_pm_conversations SET Status='Unanswered', AssignedToUser=$NewLevel WHERE ID=$ConvID"); + $DB->query("UPDATE staff_pm_conversations SET Status='Unanswered', AssignedToUser=$NewLevel, Level=$Level WHERE ID=$ConvID"); } echo '1'; diff --git a/sections/torrents/index.php b/sections/torrents/index.php index 2e305b05..6015c3eb 100644 --- a/sections/torrents/index.php +++ b/sections/torrents/index.php @@ -260,7 +260,7 @@ function js_pages($Action, $TorrentID, $NumResults, $CurrentPage) { WHERE tc.ID='".db_string($_POST['post'])."'"); list($OldBody, $AuthorID,$GroupID,$AddedTime)=$DB->next_record(); - $DB->query("SELECT ceil(COUNT(ID) / ".POSTS_PER_PAGE.") AS Page FROM torrents_comments WHERE GroupID = $GroupID AND ID <= $_POST[post]"); + $DB->query("SELECT ceil(COUNT(ID) / ".TORRENT_COMMENTS_PER_PAGE.") AS Page FROM torrents_comments WHERE GroupID = $GroupID AND ID <= $_POST[post]"); list($Page) = $DB->next_record(); if ($LoggedUser['ID']!=$AuthorID && !check_perms('site_moderate_forums')) { error(404); } @@ -321,14 +321,15 @@ function js_pages($Action, $TorrentID, $NumResults, $CurrentPage) { $DB->query("DELETE FROM torrents_comments WHERE ID='".db_string($_GET['postid'])."'"); //We need to clear all subsequential catalogues as they've all been bumped with the absence of this post - $ThisCatalogue = floor((POSTS_PER_PAGE*$Page-POSTS_PER_PAGE)/THREAD_CATALOGUE); - $LastCatalogue = floor((POSTS_PER_PAGE*$Pages-POSTS_PER_PAGE)/THREAD_CATALOGUE); + $ThisCatalogue = floor((TORRENT_COMMENTS_PER_PAGE*$Page-TORRENT_COMMENTS_PER_PAGE)/THREAD_CATALOGUE); + $LastCatalogue = floor((TORRENT_COMMENTS_PER_PAGE*$Pages-TORRENT_COMMENTS_PER_PAGE)/THREAD_CATALOGUE); for($i=$ThisCatalogue;$i<=$LastCatalogue;$i++) { $Cache->delete('torrent_comments_'.$GroupID.'_catalogue_'.$i); } // Delete thread info cache (eg. number of pages) $Cache->delete('torrent_comments_'.$GroupID); + break; case 'regen_filelist' : if(check_perms('users_mod') && !empty($_GET['torrentid']) && is_number($_GET['torrentid'])) { diff --git a/sections/upload/upload.php b/sections/upload/upload.php index 91618481..baac9ced 100644 --- a/sections/upload/upload.php +++ b/sections/upload/upload.php @@ -40,9 +40,10 @@ WHERE tt.GroupID='$_GET[groupid]'"); list($Properties['TagList']) = $DB->next_record(); -} - -if(empty($Properties) && !empty($_GET['requestid']) && is_number($_GET['requestid'])) { + if (!empty($_GET['requestid']) && is_number($_GET['requestid'])) { + $Properties['RequestID'] = $_GET['requestid']; + } +} elseif (empty($Properties) && !empty($_GET['requestid']) && is_number($_GET['requestid'])) { include(SERVER_ROOT.'/sections/requests/functions.php'); $DB->query("SELECT r.ID AS RequestID, diff --git a/sections/user/linkedfunctions.php b/sections/user/linkedfunctions.php new file mode 100644 index 00000000..78e84b86 --- /dev/null +++ b/sections/user/linkedfunctions.php @@ -0,0 +1 @@ +query("SELECT 1 FROM users_main WHERE ID IN ($UserID, $TargetID)"); if ($DB->record_count() != 2) { error(403); } $DB->query("SELECT GroupID FROM users_dupes WHERE UserID = $TargetID"); list($TargetGroupID) = $DB->next_record(); $DB->query("SELECT u.GroupID, d.Comments FROM users_dupes AS u JOIN dupe_groups AS d ON d.ID = u.GroupID WHERE UserID = $UserID"); list($UserGroupID, $Comments) = $DB->next_record(); if ($TargetGroupID) { if ($TargetGroupID == $UserGroupID) { return; } if ($UserGroupID) { $DB->query("UPDATE users_dupes SET GroupID = $TargetGroupID WHERE GroupID = $UserGroupID"); $DB->query("UPDATE dupe_groups SET Comments = CONCAT('".db_string($Comments)."\n\n',Comments) WHERE ID = $TargetGroupID"); $DB->query("DELETE FROM dupe_groups WHERE ID = $UserGroupID"); } else { $DB->query("INSERT INTO users_dupes (UserID, GroupID) VALUES ($UserID, $TargetGroupID)"); } } elseif ($UserGroupID) { $DB->query("INSERT INTO users_dupes (UserID, GroupID) VALUES ($TargetID, $UserGroupID)"); } else { $DB->query("INSERT INTO dupe_groups () VALUES ()"); $GroupID = $DB->inserted_id(); $DB->query("INSERT INTO users_dupes (UserID, GroupID) VALUES ($TargetID, $GroupID)"); $DB->query("INSERT INTO users_dupes (UserID, GroupID) VALUES ($UserID, $GroupID)"); } } function unlink_user($UserID) { global $DB; authorize(); if (!check_perms('users_mod')) { error(403); } if (!is_number($UserID)) { error(403); } $DB->query("DELETE FROM users_dupes WHERE UserID='$UserID'"); $DB->query("DELETE g.* FROM dupe_groups AS g LEFT JOIN users_dupes AS u ON u.GroupID = g.ID WHERE u.GroupID IS NULL"); } function delete_dupegroup($GroupID) { global $DB; authorize(); if (!check_perms('users_mod')) { error(403); } if (!is_number($GroupID)) { error(403); } $DB->query("DELETE FROM dupe_groups WHERE ID = '$GroupID'"); } function dupe_comments($GroupID, $Comments) { global $DB, $Text; authorize(); if (!check_perms('users_mod')) { error(403); } if (!is_number($GroupID)) { error(403); } $DB->query("UPDATE dupe_groups SET Comments = '".db_string($Comments)."' WHERE ID = '$GroupID'"); } function user_dupes_table($UserID) { global $DB, $LoggedUser; $Text = new TEXT; if (!check_perms('users_mod')) { error(403); } if (!is_number($UserID)) { error(403); } $DB->query("SELECT d.ID, d.Comments FROM dupe_groups AS d JOIN users_dupes AS u ON u.GroupID = d.ID WHERE u.UserID = $UserID"); if (list($GroupID, $Comments) = $DB->next_record()) { $DB->query("SELECT m.ID FROM users_main AS m JOIN users_dupes AS d ON m.ID = d.UserID WHERE d.GroupID = $GroupID ORDER BY m.ID = $UserID DESC"); $DupeCount = $DB->record_count(); $Dupes = $DB->to_array(); } else { $DupeCount = 0; $Dupes = array(); } ?>
Linked Account (View)
0) { ?>
"; } } for ($j = $i; $j < 5; $j++) { echo ''; } ?> \ No newline at end of file diff --git a/sections/user/manage_linked.php b/sections/user/manage_linked.php new file mode 100644 index 00000000..e1e26820 --- /dev/null +++ b/sections/user/manage_linked.php @@ -0,0 +1 @@ +query("SELECT ID FROM users_main WHERE Username LIKE '".db_string($Target)."'"); if (list($TargetID) = $DB->next_record()) { link_users($UserID, $TargetID); } else { error("User '$Target' not found."); } break; case 'comments': dupe_comments($_REQUEST['groupid'], $_REQUEST['dupecomments']); break; default: error(403); } echo '\o/'; header("Location: user.php?id=$UserID"); ?> \ No newline at end of file diff --git a/sections/user/user.php b/sections/user/user.php index 576b6e73..692fd089 100644 --- a/sections/user/user.php +++ b/sections/user/user.php @@ -715,6 +715,13 @@ function check_paranoia_here($Setting) { } + +// Linked accounts +if(check_perms('users_mod')) { + include(SERVER_ROOT.'/sections/user/linkedfunctions.php'); + user_dupes_table($UserID); +} + if ((check_perms('users_view_invites')) && $Invited > 0) { include(SERVER_ROOT.'/classes/class_invite_tree.php'); $Tree = new INVITE_TREE($UserID, array('visible'=>false));