From 4433edd8055272f1fcbde00fd36275315105dd52 Mon Sep 17 00:00:00 2001 From: Git Date: Thu, 23 May 2013 08:01:12 +0000 Subject: [PATCH] Empty commit --- sections/reports/compose.php | 10 ++ sections/upload/upload_handle.php | 235 ++++++++++++++++++------------ sections/user/edit.php | 1 + sections/user/notify_edit.php | 45 +++++- sections/user/notify_handle.php | 45 +++--- sections/user/takeedit.php | 2 +- static/styles/proton/style.css | 9 +- 7 files changed, 227 insertions(+), 120 deletions(-) diff --git a/sections/reports/compose.php b/sections/reports/compose.php index a512a7ce..d5f28942 100644 --- a/sections/reports/compose.php +++ b/sections/reports/compose.php @@ -126,6 +126,16 @@ $Subject = "Collage Comment Report: ID #".display_str($ThingID); } break; + case 'rippy': + $DB->query('SELECT Message FROM rippies WHERE ID = ' . $ThingID); + if ($DB->record_count() < 1) { + $Error = "No rippy message with the reported ID found"; + } else { + list($Message) = $DB->next_record(); + $TypeLink = 'the rippy message "' . display_str($Message) . '"'; + $Subject = 'Rippy message report: '.display_str($Message); + } + break; default: error("Incorrect type"); break; diff --git a/sections/upload/upload_handle.php b/sections/upload/upload_handle.php index b6e44f90..df70e6c6 100644 --- a/sections/upload/upload_handle.php +++ b/sections/upload/upload_handle.php @@ -35,9 +35,9 @@ $TypeID = $_POST['type'] + 1; $Properties['CategoryName'] = $Type; $Properties['Title'] = $_POST['title']; -$Properties['Remastered'] = (isset($_POST['remaster'])) ? 1 : 0; +$Properties['Remastered'] = ((isset($_POST['remaster'])) ? 1 : 0); if ($Properties['Remastered'] || isset($_POST['unknown'])) { - $Properties['UnknownRelease'] = (isset($_POST['unknown'])) ? 1 : 0; + $Properties['UnknownRelease'] = ((isset($_POST['unknown'])) ? 1 : 0); $Properties['RemasterYear'] = $_POST['remaster_year']; $Properties['RemasterTitle'] = $_POST['remaster_title']; $Properties['RemasterRecordLabel'] = $_POST['remaster_record_label']; @@ -54,7 +54,7 @@ $Properties['RecordLabel'] = $_POST['record_label']; $Properties['CatalogueNumber'] = $_POST['catalogue_number']; $Properties['ReleaseType'] = $_POST['releasetype']; -$Properties['Scene'] = (isset($_POST['scene'])) ? 1 : 0; +$Properties['Scene'] = ((isset($_POST['scene'])) ? 1 : 0); $Properties['Format'] = $_POST['format']; $Properties['Media'] = $_POST['media']; $Properties['Bitrate'] = $_POST['bitrate']; @@ -86,30 +86,30 @@ //******************************************************************************// //--------------- Validate data in upload form ---------------------------------// -$Validate->SetFields('type','1','inarray','Please select a valid type.',array('inarray'=>array_keys($Categories))); +$Validate->SetFields('type','1','inarray','Please select a valid type.', array('inarray'=>array_keys($Categories))); switch ($Type) { case 'Music': if (!$_POST['groupid']) { $Validate->SetFields('title', - '1','string','Title must be between 1 and 200 characters.',array('maxlength'=>200, 'minlength'=>1)); + '1','string','Title must be between 1 and 200 characters.', array('maxlength'=>200, 'minlength'=>1)); $Validate->SetFields('year', - '1','number','The year of the original release must be entered.',array('length'=>40)); + '1','number','The year of the original release must be entered.', array('length'=>40)); $Validate->SetFields('releasetype', - '1','inarray','Please select a valid release type.',array('inarray'=>array_keys($ReleaseTypes))); + '1','inarray','Please select a valid release type.', array('inarray'=>array_keys($ReleaseTypes))); $Validate->SetFields('tags', - '1','string','You must enter at least one tag. Maximum length is 200 characters.',array('maxlength'=>200, 'minlength'=>2)); + '1','string','You must enter at least one tag. Maximum length is 200 characters.', array('maxlength'=>200, 'minlength'=>2)); $Validate->SetFields('record_label', - '0','string','Record label must be between 2 and 80 characters.',array('maxlength'=>80, 'minlength'=>2)); + '0','string','Record label must be between 2 and 80 characters.', array('maxlength'=>80, 'minlength'=>2)); $Validate->SetFields('catalogue_number', - '0','string','Catalogue Number must be between 2 and 80 characters.',array('maxlength'=>80, 'minlength'=>2)); + '0','string','Catalogue Number must be between 2 and 80 characters.', array('maxlength'=>80, 'minlength'=>2)); $Validate->SetFields('album_desc', - '1','string','The album description has a minimum length of 10 characters.',array('maxlength'=>1000000, 'minlength'=>10)); + '1','string','The album description has a minimum length of 10 characters.', array('maxlength'=>1000000, 'minlength'=>10)); if ($Properties['Media'] == 'CD' && !$Properties['Remastered']) { $Validate->SetFields('year', '1', 'number', 'You have selected a year for an album that predates the media you say it was created on.', array('minlength'=>1982)); @@ -129,19 +129,19 @@ } $Validate->SetFields('remaster_title', - '0','string','Remaster title must be between 2 and 80 characters.',array('maxlength'=>80, 'minlength'=>2)); + '0','string','Remaster title must be between 2 and 80 characters.', array('maxlength'=>80, 'minlength'=>2)); if ($Properties['RemasterTitle'] == 'Original Release') { $Validate->SetFields('remaster_title', '0', 'string', '"Orginal Release" is not a valid remaster title.'); } $Validate->SetFields('remaster_record_label', - '0','string','Remaster record label must be between 2 and 80 characters.',array('maxlength'=>80, 'minlength'=>2)); + '0','string','Remaster record label must be between 2 and 80 characters.', array('maxlength'=>80, 'minlength'=>2)); $Validate->SetFields('remaster_catalogue_number', - '0','string','Remaster catalogue number must be between 2 and 80 characters.',array('maxlength'=>80, 'minlength'=>2)); + '0','string','Remaster catalogue number must be between 2 and 80 characters.', array('maxlength'=>80, 'minlength'=>2)); $Validate->SetFields('format', - '1','inarray','Please select a valid format.',array('inarray'=>$Formats)); + '1','inarray','Please select a valid format.', array('inarray'=>$Formats)); // Handle 'other' bitrates if ($Properties['Encoding'] == 'Other') { @@ -153,7 +153,9 @@ $Validate->SetFields('other_bitrate', '1','string','You must enter the other bitrate (max length: 9 characters).', array('maxlength'=>9)); $enc = trim($_POST['other_bitrate']); - if (isset($_POST['vbr'])) { $enc.=' (VBR)'; } + if (isset($_POST['vbr'])) { + $enc.= ' (VBR)'; + } $Properties['Encoding'] = $enc; $Properties['Bitrate'] = $enc; @@ -163,13 +165,13 @@ } $Validate->SetFields('media', - '1','inarray','Please select a valid media.',array('inarray'=>$Media)); + '1','inarray','Please select a valid media.', array('inarray'=>$Media)); $Validate->SetFields('image', - '0','link','The image URL you entered was invalid.',array('maxlength'=>255, 'minlength'=>12)); + '0','link','The image URL you entered was invalid.', array('maxlength'=>255, 'minlength'=>12)); $Validate->SetFields('release_desc', - '0','string','The release description has a minimum length of 10 characters.',array('maxlength'=>1000000, 'minlength'=>10)); + '0','string','The release description has a minimum length of 10 characters.', array('maxlength'=>1000000, 'minlength'=>10)); $Validate->SetFields('groupid', '0', 'number', 'Group ID was not numeric'); @@ -178,19 +180,21 @@ case 'Audiobooks': case 'Comedy': $Validate->SetFields('title', - '1','string','Title must be between 2 and 200 characters.',array('maxlength'=>200, 'minlength'=>2)); + '1','string','Title must be between 2 and 200 characters.', array('maxlength'=>200, 'minlength'=>2)); $Validate->SetFields('year', '1','number','The year of the release must be entered.'); $Validate->SetFields('format', - '1','inarray','Please select a valid format.',array('inarray'=>$Formats)); + '1','inarray','Please select a valid format.', array('inarray'=>$Formats)); if ($Properties['Encoding'] == 'Other') { $Validate->SetFields('other_bitrate', '1','string','You must enter the other bitrate (max length: 9 characters).', array('maxlength'=>9)); $enc = trim($_POST['other_bitrate']); - if (isset($_POST['vbr'])) { $enc.=' (VBR)'; } + if (isset($_POST['vbr'])) { + $enc.= ' (VBR)'; + } $Properties['Encoding'] = $enc; $Properties['Bitrate'] = $enc; @@ -200,16 +204,16 @@ } $Validate->SetFields('album_desc', - '1','string','You must enter a proper audiobook description.',array('maxlength'=>1000000, 'minlength'=>10)); + '1','string','You must enter a proper audiobook description.', array('maxlength'=>1000000, 'minlength'=>10)); $Validate->SetFields('tags', - '1','string','You must enter at least one tag. Maximum length is 200 characters.',array('maxlength'=>200, 'minlength'=>2)); + '1','string','You must enter at least one tag. Maximum length is 200 characters.', array('maxlength'=>200, 'minlength'=>2)); $Validate->SetFields('release_desc', - '0','string','The release description has a minimum length of 10 characters.',array('maxlength'=>1000000, 'minlength'=>10)); + '0','string','The release description has a minimum length of 10 characters.', array('maxlength'=>1000000, 'minlength'=>10)); $Validate->SetFields('image', - '0','link','The image URL you entered was invalid.',array('maxlength'=>255, 'minlength'=>12)); + '0','link','The image URL you entered was invalid.', array('maxlength'=>255, 'minlength'=>12)); break; case 'Applications': @@ -217,30 +221,30 @@ case 'E-Books': case 'E-Learning Videos': $Validate->SetFields('title', - '1','string','Title must be between 2 and 200 characters.',array('maxlength'=>200, 'minlength'=>2)); + '1','string','Title must be between 2 and 200 characters.', array('maxlength'=>200, 'minlength'=>2)); $Validate->SetFields('tags', - '1','string','You must enter at least one tag. Maximum length is 200 characters.',array('maxlength'=>200, 'minlength'=>2)); + '1','string','You must enter at least one tag. Maximum length is 200 characters.', array('maxlength'=>200, 'minlength'=>2)); $Validate->SetFields('release_desc', - '0','string','The release description has a minimum length of 10 characters.',array('maxlength'=>1000000, 'minlength'=>10)); + '0','string','The release description has a minimum length of 10 characters.', array('maxlength'=>1000000, 'minlength'=>10)); $Validate->SetFields('image', - '0','link','The image URL you entered was invalid.',array('maxlength'=>255, 'minlength'=>12)); + '0','link','The image URL you entered was invalid.', array('maxlength'=>255, 'minlength'=>12)); break; } $Validate->SetFields('rules', '1','require','Your torrent must abide by the rules.'); -$Err=$Validate->ValidateForm($_POST); // Validate the form +$Err = $Validate->ValidateForm($_POST); // Validate the form $File = $_FILES['file_input']; // This is our torrent file $TorrentName = $File['tmp_name']; if (!is_uploaded_file($TorrentName) || !filesize($TorrentName)) { - $Err='No torrent file uploaded, or file is empty.'; + $Err = 'No torrent file uploaded, or file is empty.'; } elseif (substr(strtolower($File['name']), strlen($File['name']) - strlen('.torrent')) !== '.torrent') { $Err = "You seem to have put something other than a torrent file into the upload field. (".$File['name'].")."; } @@ -273,7 +277,7 @@ //Multiple artists! $LogName = ''; -if (empty($Properties['GroupID']) && empty($ArtistForm) && $Type == "Music") { +if (empty($Properties['GroupID']) && empty($ArtistForm) && $Type == 'Music') { $MainArtistCount = 0; $ArtistNames = array(); $ArtistForm = array( @@ -301,7 +305,12 @@ } $LogName .= Artists::display_artists($ArtistForm, false, true, false); } elseif ($Type == 'Music' && empty($ArtistForm)) { - $DB->query("SELECT ta.ArtistID,aa.Name,ta.Importance FROM torrents_artists AS ta JOIN artists_alias AS aa ON ta.AliasID = aa.AliasID WHERE ta.GroupID = ".$Properties['GroupID']." ORDER BY ta.Importance ASC, aa.Name ASC;"); + $DB->query(" + SELECT ta.ArtistID, aa.Name, ta.Importance + FROM torrents_artists AS ta + JOIN artists_alias AS aa ON ta.AliasID = aa.AliasID + WHERE ta.GroupID = ".$Properties['GroupID']." + ORDER BY ta.Importance ASC, aa.Name ASC;"); while (list($ArtistID,$ArtistName,$ArtistImportance) = $DB->next_record(MYSQLI_BOTH, false)) { $ArtistForm[$ArtistImportance][] = array('id' => $ArtistID, 'name' => display_str($ArtistName)); $ArtistsUnescaped[$ArtistImportance][] = array('name' => $ArtistName); @@ -311,7 +320,7 @@ if ($Err) { // Show the upload form, with the data the user entered - $UploadForm=$Type; + $UploadForm = $Type; include(SERVER_ROOT.'/sections/upload/upload.php'); die(); } @@ -347,21 +356,29 @@ $TorEnc = db_string($Tor->encode()); $InfoHash = pack('H*', $Tor->info_hash()); -$DB->query("SELECT ID FROM torrents WHERE info_hash='".db_string($InfoHash)."'"); +$DB->query(" + SELECT ID + FROM torrents + WHERE info_hash='".db_string($InfoHash)."'"); if ($DB->record_count() > 0) { list($ID) = $DB->next_record(); - $DB->query("SELECT TorrentID FROM torrents_files WHERE TorrentID = ".$ID); + $DB->query(" + SELECT TorrentID + FROM torrents_files + WHERE TorrentID = ".$ID); if ($DB->record_count() > 0) { $Err = 'The exact same torrent file already exists on the site!'; } else { // A lost torrent - $DB->query("INSERT INTO torrents_files (TorrentID, File) VALUES ($ID, '$TorEnc')"); + $DB->query(" + INSERT INTO torrents_files (TorrentID, File) + VALUES ($ID, '$TorEnc')"); $Err = 'Thank you for fixing this torrent'; } } if (isset($Tor->Dec['encrypted_files'])) { - $Err = "This torrent contains an encrypted file list which is not supported here"; + $Err = 'This torrent contains an encrypted file list which is not supported here'; } // File list and size @@ -371,7 +388,7 @@ $HasCue = 0; $TmpFileList = array(); $TooLongPaths = array(); -$DirName = isset($Tor->Dec['info']['files']) ? Format::make_utf8($Tor->get_name()) : ""; +$DirName = (isset($Tor->Dec['info']['files']) ? Format::make_utf8($Tor->get_name()) : ''); foreach ($FileList as $File) { list($Size, $Name) = $File; // add +log to encoding @@ -421,21 +438,21 @@ // Does it belong in a group? if ($Properties['GroupID']) { $DB->query(" - SELECT - tg.id, - tg.WikiImage, - tg.WikiBody, - tg.RevisionID, - tg.Name, - tg.Year, - tg.ReleaseType, - tg.TagList - FROM torrents_group AS tg - WHERE tg.id = ".$Properties['GroupID']); + SELECT + tg.id, + tg.WikiImage, + tg.WikiBody, + tg.RevisionID, + tg.Name, + tg.Year, + tg.ReleaseType, + tg.TagList + FROM torrents_group AS tg + WHERE tg.id = ".$Properties['GroupID']); if ($DB->record_count() > 0) { // Don't escape tg.Name. It's written directly to the log table list($GroupID, $WikiImage, $WikiBody, $RevisionID, $Properties['Title'], $Properties['Year'], $Properties['ReleaseType'], $Properties['TagList']) = $DB->next_record(MYSQLI_NUM, array(4)); - $Properties['TagList'] = str_replace(array(" ",".","_"), array(", ",".","."), $Properties['TagList']); + $Properties['TagList'] = str_replace(array(' ', '.', '_'), array(', ', '.', '.'), $Properties['TagList']); if (!$Properties['Image'] && $WikiImage) { $Properties['Image'] = $WikiImage; $T['Image'] = "'".db_string($WikiImage)."'"; @@ -483,7 +500,7 @@ break; } else { - // The album hasn't been uploaded. Try to get the artist ids + // The album hasn't been uploaded. Try to get the artist IDs $DB->query(" SELECT aa.ArtistID, @@ -526,12 +543,16 @@ $ArtistForm[$Importance][$Num] = $ArtistsAdded[strtolower($Artist['name'])]; } else { // Create artist - $DB->query("INSERT INTO artists_group (Name) VALUES ('".db_string($Artist['name'])."')"); + $DB->query(" + INSERT INTO artists_group (Name) + VALUES ('".db_string($Artist['name'])."')"); $ArtistID = $DB->inserted_id(); $Cache->increment('stats_artist_count'); - $DB->query("INSERT INTO artists_alias (ArtistID, Name) VALUES (".$ArtistID.", '".db_string($Artist['name'])."')"); + $DB->query(" + INSERT INTO artists_alias (ArtistID, Name) + VALUES ($ArtistID, '".db_string($Artist['name'])."')"); $AliasID = $DB->inserted_id(); $ArtistForm[$Importance][$Num] = array('id' => $ArtistID, 'aliasid' => $AliasID, 'name' => $Artist['name']); @@ -547,13 +568,16 @@ // Create torrent group $DB->query(" INSERT INTO torrents_group - (ArtistID, CategoryID, Name, Year, RecordLabel, CatalogueNumber, Time, WikiBody, WikiImage, SearchText, ReleaseType, VanityHouse) VALUES - (0, ".$TypeID.", ".$T['Title'].", $T[Year], $T[RecordLabel], $T[CatalogueNumber], '".sqltime()."', '".db_string($Body)."', $T[Image], '$SearchText', $T[ReleaseType], $T[VanityHouse])"); + (ArtistID, CategoryID, Name, Year, RecordLabel, CatalogueNumber, Time, WikiBody, WikiImage, SearchText, ReleaseType, VanityHouse) + VALUES + (0, $TypeID, ".$T['Title'].", $T[Year], $T[RecordLabel], $T[CatalogueNumber], '".sqltime()."', '".db_string($Body)."', $T[Image], '$SearchText', $T[ReleaseType], $T[VanityHouse])"); $GroupID = $DB->inserted_id(); if ($Type == 'Music') { foreach ($ArtistForm as $Importance => $Artists) { foreach ($Artists as $Num => $Artist) { - $DB->query("INSERT IGNORE INTO torrents_artists (GroupID, ArtistID, AliasID, UserID, Importance) VALUES (".$GroupID.", ".$Artist['id'].", ".$Artist['aliasid'].", ".$LoggedUser['ID'].", '".$Importance."')"); + $DB->query(" + INSERT IGNORE INTO torrents_artists (GroupID, ArtistID, AliasID, UserID, Importance) + VALUES ($GroupID, ".$Artist['id'].", ".$Artist['aliasid'].", ".$LoggedUser['ID'].", '$Importance')"); $Cache->increment('stats_album_count'); } } @@ -561,8 +585,9 @@ $Cache->increment('stats_group_count'); } else { - $DB->query("UPDATE torrents_group SET - Time='".sqltime()."' + $DB->query(" + UPDATE torrents_group + SET Time='".sqltime()."' WHERE ID=$GroupID"); $Cache->delete_value('torrent_group_'.$GroupID); $Cache->delete_value('torrents_details_'.$GroupID); @@ -577,13 +602,16 @@ if (!$NoRevision) { $DB->query(" INSERT INTO wiki_torrents - (PageID, Body, UserID, Summary, Time, Image) VALUES - ($GroupID, $T[GroupDescription], $LoggedUser[ID], 'Uploaded new torrent', '".sqltime()."', $T[Image]) - "); + (PageID, Body, UserID, Summary, Time, Image) + VALUES + ($GroupID, $T[GroupDescription], $LoggedUser[ID], 'Uploaded new torrent', '".sqltime()."', $T[Image])"); $RevisionID = $DB->inserted_id(); // Revision ID - $DB->query("UPDATE torrents_group SET RevisionID='$RevisionID' WHERE ID=$GroupID"); + $DB->query(" + UPDATE torrents_group + SET RevisionID='$RevisionID' + WHERE ID=$GroupID"); } // Tags @@ -593,16 +621,20 @@ $Tag = Misc::sanitize_tag($Tag); if (!empty($Tag)) { $Tag = Misc::get_alias_tag($Tag); - $DB->query("INSERT INTO tags - (Name, UserID) VALUES - ('".$Tag."', $LoggedUser[ID]) + $DB->query(" + INSERT INTO tags + (Name, UserID) + VALUES + ('$Tag', $LoggedUser[ID]) ON DUPLICATE KEY UPDATE Uses=Uses+1; "); $TagID = $DB->inserted_id(); - $DB->query("INSERT INTO torrents_tags - (TagID, GroupID, UserID, PositiveVotes) VALUES - ($TagID, $GroupID, $LoggedUser[ID], 10) + $DB->query(" + INSERT INTO torrents_tags + (TagID, GroupID, UserID, PositiveVotes) + VALUES + ($TagID, $GroupID, $LoggedUser[ID], 10) ON DUPLICATE KEY UPDATE PositiveVotes=PositiveVotes+1; "); } @@ -635,9 +667,11 @@ //******************************************************************************// //--------------- Write torrent file -------------------------------------------// -$DB->query("INSERT INTO torrents_files (TorrentID, File) VALUES ($TorrentID, '$TorEnc')"); -Misc::write_log("Torrent $TorrentID ($LogName) (".number_format($TotalSize/(1024*1024), 2)." MB) was uploaded by " . $LoggedUser['Username']); -Torrents::write_group_log($GroupID, $TorrentID, $LoggedUser['ID'], "uploaded (".number_format($TotalSize/(1024*1024), 2)." MB)", 0); +$DB->query(" + INSERT INTO torrents_files (TorrentID, File) + VALUES ($TorrentID, '$TorEnc')"); +Misc::write_log("Torrent $TorrentID ($LogName) (".number_format($TotalSize / (1024 * 1024), 2)." MB) was uploaded by " . $LoggedUser['Username']); +Torrents::write_group_log($GroupID, $TorrentID, $LoggedUser['ID'], 'uploaded ('.number_format($TotalSize / (1024 * 1024), 2).' MB)', 0); Torrents::update_hash($GroupID); $Debug->set_flag('upload: sphinx updated'); @@ -648,15 +682,15 @@ - - //******************************************************************************// //--------------- Add the log scores to the DB ---------------------------------// if (!empty($LogScores) && $HasLog) { - $LogQuery = 'INSERT INTO torrents_logs_new (TorrentID,Log,Details,NotEnglish,Score,Revision,Adjusted,AdjustedBy,AdjustmentReason) VALUES ('; + $LogQuery = ' + INSERT INTO torrents_logs_new (TorrentID, Log, Details, NotEnglish, Score, Revision, Adjusted, AdjustedBy, AdjustmentReason) + VALUES ('; foreach ($LogScores as $LogKey => $LogScore) { - $LogScores[$LogKey] = "$TorrentID,$LogScore,1,0,0,NULL"; + $LogScores[$LogKey] = "$TorrentID, $LogScore, 1, 0, 0, NULL"; } $LogQuery .= implode('),(', $LogScores).')'; $DB->query($LogQuery); @@ -680,7 +714,7 @@ if (count($RecentUploads) == 5) { array_pop($RecentUploads); } - array_unshift($RecentUploads, array('ID'=>$GroupID,'Name'=>trim($Properties['Title']),'Artist'=>Artists::display_artists($ArtistForm, false, true),'WikiImage'=>trim($Properties['Image']))); + array_unshift($RecentUploads, array('ID'=>$GroupID, 'Name'=>trim($Properties['Title']), 'Artist'=>Artists::display_artists($ArtistForm, false, true), 'WikiImage'=>trim($Properties['Image']))); $Cache->cache_value('recent_uploads_'.$UserID, $RecentUploads, 0); } while (0); } @@ -689,8 +723,9 @@ //******************************************************************************// //--------------- Contest ------------------------------------------------------// if ($Properties['LibraryImage'] != '') { - $DB->query("INSERT INTO reportsv2 (ReporterID, TorrentID, Type, UserComment, Status, ReportedTime, Track, Image, ExtraID, Link) - VALUES (0, ".$TorrentID.", 'library', '".db_string(($Properties['MultiDisc'] ? 'Multi-disc' : ''))."', 'New', '".sqltime()."', '', '".db_string($Properties['LibraryImage'])."', '', '')"); + $DB->query(" + INSERT INTO reportsv2 (ReporterID, TorrentID, Type, UserComment, Status, ReportedTime, Track, Image, ExtraID, Link) + VALUES (0, $TorrentID, 'library', '".db_string(($Properties['MultiDisc'] ? 'Multi-disc' : ''))."', 'New', '".sqltime()."', '', '".db_string($Properties['LibraryImage'])."', '', '')"); } //******************************************************************************// @@ -701,14 +736,14 @@ */ if ($PublicTorrent) { - View::show_header("Warning"); + View::show_header('Warning'); ?>

Warning

Your torrent has been uploaded; however, you must download your torrent from here because you didn't make your torrent using the "private" option.

0)) { @@ -758,8 +793,8 @@ $AnnounceSSL = $Announce . " - https://".SSL_SITE_URL."/torrents.php?id=$GroupID / https://".SSL_SITE_URL."/torrents.php?action=download&id=$TorrentID"; $Announce .= " - https://".SSL_SITE_URL."/torrents.php?id=$GroupID / https://".SSL_SITE_URL."/torrents.php?action=download&id=$TorrentID"; -$AnnounceSSL .= " - ".trim($Properties['TagList']); -$Announce .= " - ".trim($Properties['TagList']); +$AnnounceSSL .= ' - '.trim($Properties['TagList']); +$Announce .= ' - '.trim($Properties['TagList']); // ENT_QUOTES is needed to decode single quotes/apostrophes send_irc('PRIVMSG #'.NONSSL_SITE_URL.'-announce :'.html_entity_decode($Announce, ENT_QUOTES)); @@ -798,7 +833,8 @@ //Notifications -$SQL = "SELECT unf.ID, unf.UserID, torrent_pass +$SQL = " + SELECT unf.ID, unf.UserID, torrent_pass FROM users_notify_filters AS unf JOIN users_main AS um ON um.ID=unf.UserID WHERE um.Enabled='1'"; @@ -886,7 +922,8 @@ $SQL .= "AND ((NewGroupsOnly = '0' "; // Or this is the first torrent in the group to match the formatbitrate filter $SQL .= ") OR ( NewGroupsOnly = '1' "; - +// Investigate the following line... +$SQL .= ") OR ( NewGroupsOnly = '' "; // Test the filter doesn't match any previous formatbitrate in the group foreach ($UsedFormatBitrates as $UsedFormatBitrate) { $FormatReq = "(Formats LIKE '%|".db_string($UsedFormatBitrate['format'])."|%' OR Formats = '') "; @@ -909,6 +946,17 @@ } $SQL.=" AND UserID != '".$LoggedUser['ID']."' "; +$DB->query("SELECT Paranoia FROM users_main WHERE ID = $LoggedUser[ID]"); +list($Paranoia) = $DB->next_record(); +$Paranoia = unserialize($Paranoia); +if (!is_array($Paranoia)) { + $Paranoia = array(); +} +if(!in_array('notifications', $Paranoia)) { + $SQL.=" AND (Users LIKE '%|".$LoggedUser['ID']."|%' OR Users = '') "; +} + +$SQL.=" AND UserID != '".$LoggedUser['ID']."' "; $DB->query($SQL); $Debug->set_flag('upload: notification query finished'); @@ -916,7 +964,9 @@ $UserArray = $DB->to_array('UserID'); $FilterArray = $DB->to_array('ID'); - $InsertSQL = 'INSERT IGNORE INTO users_notify_torrents (UserID, GroupID, TorrentID, FilterID) VALUES '; + $InsertSQL = ' + INSERT IGNORE INTO users_notify_torrents (UserID, GroupID, TorrentID, FilterID) + VALUES '; $Rows = array(); foreach ($UserArray as $User) { list($FilterID, $UserID, $Passkey) = $User; @@ -935,10 +985,11 @@ } // RSS for bookmarks -$DB->query("SELECT u.ID, u.torrent_pass - FROM users_main AS u - JOIN bookmarks_torrents AS b ON b.UserID = u.ID - WHERE b.GroupID = $GroupID"); +$DB->query(" + SELECT u.ID, u.torrent_pass + FROM users_main AS u + JOIN bookmarks_torrents AS b ON b.UserID = u.ID + WHERE b.GroupID = $GroupID"); while (list($UserID, $Passkey) = $DB->next_record()) { $Feed->populate('torrents_bookmarks_t_'.$Passkey, $Item); } diff --git a/sections/user/edit.php b/sections/user/edit.php index d7dd81b1..d3673256 100644 --- a/sections/user/edit.php +++ b/sections/user/edit.php @@ -468,6 +468,7 @@ function checked($Checked) { list($ArtistsAdded) = $DB->next_record(); ?>
+
diff --git a/sections/user/notify_edit.php b/sections/user/notify_edit.php index e44ad13d..82f55178 100644 --- a/sections/user/notify_edit.php +++ b/sections/user/notify_edit.php @@ -13,7 +13,22 @@ query(" - SELECT ID, Label, Artists, ExcludeVA, NewGroupsOnly, Tags, NotTags, ReleaseTypes, Categories, Formats, Encodings, Media, FromYear, ToYear, RecordLabels + SELECT + ID, + Label, + Artists, + ExcludeVA, + NewGroupsOnly, + Tags, + NotTags, + ReleaseTypes, + Categories, + Formats, + Encodings, + Media, + FromYear, + ToYear, + Users FROM users_notify_filters WHERE UserID='$LoggedUser[ID]' UNION ALL @@ -23,7 +38,7 @@ $Notifications = $DB->to_array(); -foreach ($Notifications as $N) { //$N stands for Notifications +foreach ($Notifications as $N) { // $N stands for Notifications $N['Artists'] = implode(', ', explode('|', substr($N['Artists'], 1, -1))); $N['Tags'] = implode(', ', explode('|', substr($N['Tags'], 1, -1))); $N['NotTags'] = implode(', ', explode('|', substr($N['NotTags'], 1, -1))); @@ -31,9 +46,17 @@ $N['Categories'] = explode('|', substr($N['Categories'], 1, -1)); $N['Formats'] = explode('|', substr($N['Formats'], 1, -1)); $N['Encodings'] = explode('|', substr($N['Encodings'], 1, -1)); - $N['Media'] = explode('|', substr($N['Media'], 1, -1)); - $N['RecordLabels'] = implode(', ', explode('|', substr($N['RecordLabels'], 1, -1))); - if ($N['FromYear'] == 0) { + $N['Media'] = explode('|', substr($N['Media'], 1, -1)); + $N['Users'] = explode('|', substr($N['Users'], 1, -1)); + + $Usernames = ''; + foreach($N['Users'] as $UserID) { + $UserInfo = Users::user_info($UserID); + $Usernames .= $UserInfo['Username'] . ', '; + } + $Usernames = rtrim($Usernames, ', '); + + if ($N['FromYear'] == 0) { $N['FromYear'] = ''; } if ($N['ToYear'] == 0) { @@ -78,8 +101,16 @@

Comma-separated list — e.g. Pink Floyd, Led Zeppelin, Neil Young

/> + + + + One of these users + + +

Comma-separated list of usernames

- + + At least one of these tags @@ -155,7 +186,7 @@ - + diff --git a/sections/user/notify_handle.php b/sections/user/notify_handle.php index fc0fcc17..b94a4746 100644 --- a/sections/user/notify_handle.php +++ b/sections/user/notify_handle.php @@ -15,7 +15,7 @@ $MediaList = ''; $FromYear = 0; $ToYear = 0; -$RecordLabels = ''; +$Users = ''; $HasFilter = false; if ($_POST['formid'] && is_number($_POST['formid'])) { @@ -119,17 +119,25 @@ } } -if ($_POST['record_labels'.$FormID]) { - $RLs = explode(',', $_POST['record_labels'.$FormID]); - $ParsedRLs = array(); - foreach ($RLs as $RL) { - if (trim($RL) != '') { - $ParsedRLs[] = db_string(trim($RL)); - } + +if ($_POST['users'.$FormID]) { + $Usernames = explode(',', $_POST['users'.$FormID]); + $EscapedUsernames = array(); + foreach($Usernames as $Username) { + $EscapedUsernames[] = db_string(trim($Username));; } - if (count($ParsedRLs) > 0) { - $RecordLabels = '|'.implode('|', $ParsedRLs).'|'; - $HasFilter = true; + + $DB->query(" + SELECT m.ID, m.Paranoia + FROM users_main AS m + WHERE m.Username IN ('" . implode("', '", $EscapedUsernames) . "') + AND m.ID != $LoggedUser[ID]"); + while (list($UserID, $Paranoia) = $DB->next_record()) { + $Paranoia = unserialize($Paranoia); + if (!in_array('notifications', $Paranoia)) { + $Users .= '|' . $UserID . '|'; + $HasFilter = true; + } } } @@ -145,9 +153,10 @@ die(); } -$ArtistList = str_replace('||','|',$ArtistList); -$TagList = str_replace('||','|',$TagList); -$NotTagList = str_replace('||','|',$NotTagList); +$ArtistList = str_replace('||', '|', $ArtistList); +$TagList = str_replace('||', '|', $TagList); +$NotTagList = str_replace('||', '|', $NotTagList); +$Users = str_replace('||', '|', $Users); if ($_POST['id'.$FormID] && is_number($_POST['id'.$FormID])) { $DB->query(" @@ -155,7 +164,7 @@ SET Artists='$ArtistList', ExcludeVA='$ExcludeVA', - NewGroupsOnly='$NewGroupsOnly', + NewGroupsOnly='$NewGrsoupsOnly', Tags='$TagList', NotTags='$NotTagList', ReleaseTypes='$ReleaseTypeList', @@ -165,15 +174,15 @@ Media='$MediaList', FromYear='$FromYear', ToYear='$ToYear', - RecordLabels='$RecordLabels' + Users ='$Users' WHERE ID='".$_POST['id'.$FormID]."' AND UserID='$LoggedUser[ID]'"); } else { $DB->query(" INSERT INTO users_notify_filters - (UserID, Label, Artists, ExcludeVA, NewGroupsOnly, Tags, NotTags, ReleaseTypes, Categories, Formats, Encodings, Media, FromYear, ToYear, RecordLabels) + (UserID, Label, Artists, ExcludeVA, NewGroupsOnly, Tags, NotTags, ReleaseTypes, Categories, Formats, Encodings, Media, FromYear, ToYear, Users) VALUES - ('$LoggedUser[ID]','".db_string($_POST['label'.$FormID])."','$ArtistList','$ExcludeVA','$NewGroupsOnly','$TagList', '$NotTagList', '$ReleaseTypeList','$CategoryList','$FormatList','$EncodingList','$MediaList', '$FromYear', '$ToYear', '$RecordLabels')"); + ('$LoggedUser[ID]','".db_string($_POST['label'.$FormID])."','$ArtistList','$ExcludeVA','$NewGroupsOnly','$TagList', '$NotTagList', '$ReleaseTypeList','$CategoryList','$FormatList','$EncodingList','$MediaList', '$FromYear', '$ToYear', '$Users')"); } $Cache->delete_value('notify_filters_'.$LoggedUser['ID']); diff --git a/sections/user/takeedit.php b/sections/user/takeedit.php index 9e03f01b..69f0964a 100644 --- a/sections/user/takeedit.php +++ b/sections/user/takeedit.php @@ -85,7 +85,7 @@ } $Paranoia = array(); -$Checkboxes = array('downloaded', 'uploaded', 'ratio', 'lastseen', 'requiredratio', 'invitedcount', 'artistsadded'); +$Checkboxes = array('downloaded', 'uploaded', 'ratio', 'lastseen', 'requiredratio', 'invitedcount', 'artistsadded', 'notifications'); foreach ($Checkboxes as $C) { if (!isset($_POST['p_'.$C])) { $Paranoia[] = $C; diff --git a/static/styles/proton/style.css b/static/styles/proton/style.css index 9d7da612..4e97c653 100644 --- a/static/styles/proton/style.css +++ b/static/styles/proton/style.css @@ -523,7 +523,7 @@ ul#userinfo_username { } #content .header h2, -#content > .thin > h2:first-of-type, +#content > .thin > h2:first-child, #content > .thin > .header:first-of-type > h3:first-of-type { background-color: #f0f0f0; margin: 20px -20px -1px -20px !important; @@ -540,7 +540,7 @@ ul#userinfo_username { } #content .header:first-child h2, -#content > .thin > h2:first-of-type, +#content > .thin > h2:first-child, #content > .thin > .header:first-of-type > h3:first-of-type { margin-top: -20px !important; } @@ -759,6 +759,7 @@ table { -moz-box-shadow: -4px 1px 8px rgba(187, 215, 235, 0.8); box-shadow: -4px 1px 8px rgba(187, 215, 235, 0.8); background-color: #F5F5F5; + word-break: break-word; } .forum_post .body div { @@ -1627,6 +1628,10 @@ ul.collage_images { min-width: 60px; } +#requests .scale_image { + max-width: 440px; +} + #quickreplybuttons { margin-top: 5px; }