diff --git a/classes/rules.class.php b/classes/rules.class.php
index 874fd967..b5c3b03f 100644
--- a/classes/rules.class.php
+++ b/classes/rules.class.php
@@ -8,17 +8,17 @@ class Rules {
public static function display_site_tag_rules($OnUpload = false) {
?>
-
Tags should be comma-separated, and you should use a period (".") to separate words inside a tag — e.g. "hip.hop".
+
Tags should be comma-separated, and you should use a period (".") to separate words inside a tag — e.g. "hip.hop".
There is a list of official tags =($OnUpload ? 'to the left of the text box' : 'on the torrent upload page')?>. Please use these tags instead of "unofficial" tags (e.g. use the official "drum.and.bass" tag, instead of an unofficial "dnb" tag). Please note that the "2000s" tag refers to music produced between 2000 and 2009.
Avoid abbreviations if at all possible. So instead of tagging an album as "alt", tag it as "alternative". Make sure that you use correct spelling.
-
Avoid using multiple synonymous tags. Using both "prog.rock" and "progressive.rock" is redundant and annoying—just use the official "progressive.rock" tag.
+
Avoid using multiple synonymous tags. Using both "prog.rock" and "progressive.rock" is redundant and annoying — just use the official "progressive.rock" tag.
Do not add "useless" tags, such as "seen.live", "awesome", "rap" (is encompassed by "hip.hop"), etc. If an album is live, you can tag it as "live".
-
Only tag information on the album itself—not the individual release. Tags such as "v0", "eac", "vinyl", "from.oink", etc. are strictly forbidden. Remember that these tags will be used for other versions of the same album.
+
Only tag information on the album itself — not the individual release. Tags such as "v0", "eac", "vinyl", "from.oink", etc. are strictly forbidden. Remember that these tags will be used for other versions of the same album.
You should be able to build up a list of tags using only the official tags =($OnUpload ? 'to the left of the text box' : 'on the torrent upload page')?>. If you are in any doubt about whether or not a tag is acceptable, do not add it.
@@ -40,9 +40,9 @@ public static function display_irc_chat_rules() {
No arguing. You can't win an argument over the Internet, so you are just wasting your time trying.
No prejudice, especially related to race, religion, politics, ethnic background, etc. It is highly suggested to avoid this entirely.
Flooding is irritating and will warrant you a kick. This includes, but is not limited to, automatic "now playing" scripts, pasting large amounts of text, and multiple consecutive lines with no relevance to the conversation at hand.
-
Impersonation of other members—particularly staff members—will not go unpunished. If you are uncertain of a user's identity, check their vhost.
+
Impersonation of other members — particularly staff members — will not go unpunished. If you are uncertain of a user's identity, check their vhost.
Spamming is strictly forbidden. This includes, but is not limited to, personal sites, online auctions, and torrent uploads.
-
Obsessive annoyance—both to other users and staff—will not be tolerated.
+
Obsessive annoyance — both to other users and staff — will not be tolerated.
Do not PM, DCC, or Query anyone you don't know or have never talked to without asking first; this applies specifically to staff.
No language other than English is permitted in the official IRC channels. If we cannot understand it, we cannot moderate it.
The offering, selling, trading, and giving away of invites to this or any other site on our IRC network is strictly forbidden.
if (($Blog = $Cache->get_value('blog')) === false) {
- $DB->query("SELECT
- b.ID,
- um.Username,
- b.Title,
- b.Body,
- b.Time,
- b.ThreadID
- FROM blog AS b LEFT JOIN users_main AS um ON b.UserID=um.ID
+ $DB->query("
+ SELECT
+ b.ID,
+ um.Username,
+ b.Title,
+ b.Body,
+ b.Time,
+ b.ThreadID
+ FROM blog AS b
+ LEFT JOIN users_main AS um ON b.UserID=um.ID
ORDER BY Time DESC
LIMIT 20");
$Blog = $DB->to_array();
- $Cache->cache_value('blog',$Blog,1209600);
+ $Cache->cache_value('blog', $Blog, 1209600);
}
?>
@@ -198,11 +208,16 @@
//End Torrent Stats
if (($RequestStats = $Cache->get_value('stats_requests')) === false) {
- $DB->query("SELECT COUNT(ID) FROM requests");
+ $DB->query("
+ SELECT COUNT(ID)
+ FROM requests");
list($RequestCount) = $DB->next_record();
- $DB->query("SELECT COUNT(ID) FROM requests WHERE FillerID > 0");
+ $DB->query("
+ SELECT COUNT(ID)
+ FROM requests
+ WHERE FillerID > 0");
list($FilledCount) = $DB->next_record();
- $Cache->cache_value('stats_requests',array($RequestCount,$FilledCount),11280);
+ $Cache->cache_value('stats_requests', array($RequestCount, $FilledCount), 11280);
} else {
list($RequestCount,$FilledCount) = $RequestStats;
}
@@ -261,20 +276,20 @@
ORDER BY Featured DESC
LIMIT 1");
list($TopicID) = $DB->next_record();
- $Cache->cache_value('polls_featured',$TopicID,0);
+ $Cache->cache_value('polls_featured', $TopicID, 0);
}
if ($TopicID) {
if (($Poll = $Cache->get_value('polls_'.$TopicID)) === false) {
$DB->query("
SELECT Question, Answers, Featured, Closed
FROM forums_polls
- WHERE TopicID='$TopicID'");
+ WHERE TopicID = '$TopicID'");
list($Question, $Answers, $Featured, $Closed) = $DB->next_record(MYSQLI_NUM, array(1));
$Answers = unserialize($Answers);
$DB->query("
SELECT Vote, COUNT(UserID)
FROM forums_polls_votes
- WHERE TopicID='$TopicID'
+ WHERE TopicID = '$TopicID'
AND Vote != '0'
GROUP BY Vote");
$VoteArray = $DB->to_array(false, MYSQLI_NUM);
@@ -290,9 +305,9 @@
$Votes[$i] = 0;
}
}
- $Cache->cache_value('polls_'.$TopicID, array($Question,$Answers,$Votes,$Featured,$Closed), 0);
+ $Cache->cache_value('polls_'.$TopicID, array($Question, $Answers, $Votes, $Featured, $Closed), 0);
} else {
- list($Question,$Answers,$Votes,$Featured,$Closed) = $Poll;
+ list($Question, $Answers, $Votes, $Featured, $Closed) = $Poll;
}
if (!empty($Votes)) {
@@ -328,7 +343,7 @@
$Ratio = 0;
$Percent = 0;
}
-?>
You've stumbled upon a door where your mind is the key. There are none who will lend you guidance; these trials are yours to conquer alone. Entering here will take more than mere logic and strategy, but the criteria are just as hidden as what they reveal. Find yourself, and you will find the very thing hidden behind this page. Beyond here is something like a utopia—beyond here is What.CD.
+
You've stumbled upon a door where your mind is the key. There are none who will lend you guidance; these trials are yours to conquer alone. Entering here will take more than mere logic and strategy, but the criteria are just as hidden as what they reveal. Find yourself, and you will find the very thing hidden behind this page. Beyond here is something like a utopia — beyond here is What.CD.
This is a mirage.
View::show_footer(); ?>
diff --git a/sections/reportsv2/array.php b/sections/reportsv2/array.php
index 6859a704..7b5e4a1f 100644
--- a/sections/reportsv2/array.php
+++ b/sections/reportsv2/array.php
@@ -717,7 +717,7 @@
'upload' => '0',
'warn' => '1',
'delete' => '1',
- 'pm' => '[rule]4.1.4[/rule]. Release descriptions for applications must contain good information about the application. You should either have a small description of the program (either taken from its web site or from an NFO file) or a link to the information -- but ideally both. Torrents missing this information will be deleted when reported.
+ 'pm' => '[rule]4.1.4[/rule]. Release descriptions for applications must contain good information about the application. You should either have a small description of the program (either taken from its web site or from an NFO file) or a link to the information — but ideally both. Torrents missing this information will be deleted when reported.
Your torrent was reported because it lacked adequate release information.'
)
),
diff --git a/sections/requests/new_edit.php b/sections/requests/new_edit.php
index 661756f5..dafb680d 100644
--- a/sections/requests/new_edit.php
+++ b/sections/requests/new_edit.php
@@ -262,7 +262,7 @@
- Tags should be comma-separated, and you should use a period (".") to separate words inside a tag — e.g. "hip.hop".
+ Tags should be comma-separated, and you should use a period (".") to separate words inside a tag — e.g. "hip.hop".
There is a list of official tags to the left of the text box. Please use these tags instead of "unofficial" tags (e.g. use the official "drum.and.bass" tag, instead of an unofficial "dnb" tag.).
diff --git a/sections/requests/requests.php b/sections/requests/requests.php
index 771a93a0..0b347b6c 100644
--- a/sections/requests/requests.php
+++ b/sections/requests/requests.php
@@ -654,9 +654,9 @@
diff --git a/sections/requests/takefill.php b/sections/requests/takefill.php
index 40937fe3..96a99766 100644
--- a/sections/requests/takefill.php
+++ b/sections/requests/takefill.php
@@ -174,7 +174,7 @@
$UserIDs = $DB->to_array();
foreach ($UserIDs as $User) {
list($VoterID) = $User;
- Misc::send_pm($VoterID, 0, "The request \"$FullName\" has been filled", 'One of your requests — [url=https://'.SSL_SITE_URL.'/requests.php?action=view&id='.$RequestID.']'.$FullName.'[/url] — has been filled. You can view it here: [url]https://'.SSL_SITE_URL.'/torrents.php?torrentid='.$TorrentID.'[/url]');
+ Misc::send_pm($VoterID, 0, "The request \"$FullName\" has been filled", 'One of your requests — [url=https://'.SSL_SITE_URL.'/requests.php?action=view&id='.$RequestID.']'.$FullName.'[/url] — has been filled. You can view it here: [url]https://'.SSL_SITE_URL.'/torrents.php?torrentid='.$TorrentID.'[/url]');
}
$RequestVotes = Requests::get_votes_array($RequestID);
diff --git a/sections/rules/ratio.php b/sections/rules/ratio.php
index e3a28872..a7600ccb 100644
--- a/sections/rules/ratio.php
+++ b/sections/rules/ratio.php
@@ -25,7 +25,7 @@
Your required ratio represents the minimum ratio you must maintain to avoid ratio watch. You can view your required ratio in the site header after the word 'required,' or in the 'stats' section of your user profile.
Your required ratio is unique; each person's required ratio is calculated for their account specifically.
-
Your required ratio is calculated using (1) the total amount of data you've downloaded and (2) the total number of torrents you're seeding. The seeding total is not limited to snatched torrents (completed downloads)—the total includes, but is not limited to, your uploaded torrents.
+
Your required ratio is calculated using (1) the total amount of data you've downloaded and (2) the total number of torrents you're seeding. The seeding total is not limited to snatched torrents (completed downloads) — the total includes, but is not limited to, your uploaded torrents.
The required ratio system lowers your required ratio when you seed a greater number of torrents. The more torrents you seed, the lower your required ratio will be. The lower your required ratio is, the less likely it is that you'll enter ratio watch.
diff --git a/sections/rules/requests.php b/sections/rules/requests.php
index 6fddb6b2..e3a5fdba 100644
--- a/sections/rules/requests.php
+++ b/sections/rules/requests.php
@@ -21,7 +21,7 @@
All users must have an equal chance to fill a request. Trading upload credit is not allowed. Abusing the request system to exchange favors for other users is not tolerated. That includes making specific requests for certain users (whether explicitly named or not). Making requests for releases, and then unfilling so that one particular user can fill the request is not allowed. If reported, both the requester and user filling the request will receive a warning and lose the request bounty.
- No manipulation of the requester for bounty. The bounty is a reward for helping other users—it should not be a ransom. Any user who refuses to fill a request unless the bounty is increased will face harsh punishment.
+ No manipulation of the requester for bounty. The bounty is a reward for helping other users — it should not be a ransom. Any user who refuses to fill a request unless the bounty is increased will face harsh punishment.
↑_2.3.15.Multiple-disc torrents cannot have tracks with the same numbers in one directory. You may place all the tracks for disc one in one directory and all the tracks for disc two in another directory. If you prefer to use one directory for all the audio files, you must use successive numbering. For example, disc one has 15 tracks and disc two has 20 tracks. You may either number tracks in disc one as #01-#15 and those of disc two as #16-#35 in the same directory, or you may add a disc number before the track numbers such that the numbers are #1 06 for Disc One Track 06, and #2 03 for Disc 2 Track 03, and so forth.
↑_2.3.16.1.Certain meta tags (e.g., ID3, Vorbis) are required on all music uploads. Make sure to use the proper format tags for your files (e.g., no ID3 tags for FLAC—see 2.2.10.8). ID3v2 tags for files are highly recommended over ID3v1.
+
↑_2.3.16.1.Certain meta tags (e.g., ID3, Vorbis) are required on all music uploads. Make sure to use the proper format tags for your files (e.g., no ID3 tags for FLAC — see 2.2.10.8). ID3v2 tags for files are highly recommended over ID3v1.
↑_2.3.16.2.ID3 tags are recommended for AC3 torrents, but are not mandatory because the format does not natively support file metadata tagging (for AC3, the file names become the vehicle for correctly labeling media files). Because of this lack of support, the Album and Artist information must be included in the torrent folder for AC3 and DTS files. In addition, the Track Number and Track Title information must be included in the file names for AC3 and DTS files; for various artists compilations, the Track Artist must be included in the file names as well. ensuring that they also satisfy 2.3.14.
↑_2.3.16.3.Torrents uploaded with both good ID3v1 tags and blank ID3v2 tags (a dual set of tags) are trumpable by torrents with either just good ID3v1 tags or good ID3v2 tags (a single set of tags). See this wiki for more information on ID3 tags.
↑_2.3.16.4.If you upload an album missing one or more of the required tags, then another user may add the tags, re-upload, and report your torrent for deletion. The required tags are:
@@ -594,7 +594,7 @@
↑_4.1.2.All applications must come with a crack, keygen, or other method of ensuring that downloaders can install them easily. App torrents with keygens, cracks, or patches that do not work or torrents missing clear installation instructions will be deleted if reported. No exceptions.
↑_4.1.3.App releases must not be freely available tools. Application releases cannot be freely downloaded anywhere from any official source. Nor may you upload open source applications where the source code is available for free. Closed or shareware installers like Crossover Office are allowed. Note: If all official sources stop hosting and remove a freely available application and its source code from their site(s) due to varying reasons (e.g., legal concerns, dead development, etc.), the application ceases to be freely available. You may then upload it in that case.
-
↑_4.1.4.Release descriptions for applications must contain good information about the application. You should either have a small description of the program (either taken from its web site or from an NFO file) or a link to the information -- but ideally both. Torrents missing this information will be deleted when reported.
+
↑_4.1.4.Release descriptions for applications must contain good information about the application. You should either have a small description of the program (either taken from its web site or from an NFO file) or a link to the information — but ideally both. Torrents missing this information will be deleted when reported.
↑_4.1.5.The torrent title must have a descriptive name. The torrent title should at least include the application name and release version. Optionally, you may include additional labels for operating system and method of circumvention (e.g., crack, patch, keygen, or serial). For example, "AcrylicApps Wallet v3.0.1.493 MacOSX Cracked."
↑_4.1.6.Use relevant tags for your torrent. Add all applicable default Gazelle tags to help downloaders find your torrent. The default tags are apps.mac for Mac applications, apps.windows for Windows applications, and apps.sound for audio applications. You may add additional tags if the default ones do not apply (such as apps.linux).
↑_4.1.7.Games of any kind are prohibited (see 1.2.5).
diff --git a/sections/tools/index.php b/sections/tools/index.php
index b3b86e43..67b94148 100644
--- a/sections/tools/index.php
+++ b/sections/tools/index.php
@@ -193,7 +193,9 @@
case 'label_aliases':
include('managers/label_aliases.php');
break;
-
+ case 'change_log':
+ include('managers/change_log.php');
+ break;
case 'permissions':
if (!check_perms('admin_manage_permissions')) {
error(403);
diff --git a/sections/tools/managers/change_log.php b/sections/tools/managers/change_log.php
new file mode 100644
index 00000000..9f30ef86
--- /dev/null
+++ b/sections/tools/managers/change_log.php
@@ -0,0 +1,93 @@
+
+$PerPage = POSTS_PER_PAGE;
+list($Page, $Limit) = Format::page_limit($PerPage);
+
+$CanEdit = check_perms('users_mod');
+
+if ($CanEdit && isset($_POST['perform'])) {
+ authorize();
+ if ($_POST['perform'] == 'add' && !empty($_POST['message'])) {
+ $Message = db_string($_POST['message']);
+ $Author = db_string($_POST['author']);
+ $DB->query("
+ INSERT INTO changelog (Message, Author, Time)
+ VALUES ('$Message', '$Author', NOW())");
+ }
+ if ($_POST['perform'] == 'remove' && !empty($_POST['change_id'])) {
+ $ID = (int) $_POST['change_id'];
+ $DB->query("
+ DELETE FROM changelog
+ WHERE ID = '$ID'");
+ }
+}
+
+$DB->query("
+ SELECT
+ SQL_CALC_FOUND_ROWS
+ ID,
+ Message,
+ Author,
+ Date(Time) as Time
+ FROM changelog
+ ORDER BY ID DESC
+ LIMIT $Limit");
+$ChangeLog = $DB->to_array();
+$DB->query('SELECT FOUND_ROWS()');
+list($NumResults) = $DB->next_record();
+
+View::show_header('Gazelle Change Log');
+?>
+