\ * | "
*
* TODO: Add "/" to the blacklist. Adding "/" to the blacklist causes problems with nested dirs, apparently.
*
* Only the following characters need to be escaped (see the link below):
* \ - ^ ]
*
* http://www.php.net/manual/en/regexp.reference.character-classes.php
*/
$AllBlockedChars = ' : ? < > \ * | " ';
if (preg_match('/[\\:?<>*|"]/', $Name, $Matches)) {
character_error($Matches[0], $AllBlockedChars);
}
}
function check_extensions($Type, $Name) {
global $MusicExtensions, $ComicsExtensions;
if ($Type == 'Music' || $Type == 'Audiobooks' || $Type == 'Comedy' || $Type == 'E-Books') {
if (!isset($MusicExtensions[get_file_extension($Name)])) {
invalid_error($Name);
}
} elseif ($Type == 'Comics') {
if (!isset($ComicsExtensions[get_file_extension($Name)])) {
invalid_error($Name);
}
}
}
function get_file_extension($FileName) {
return strtolower(substr(strrchr($FileName, '.'), 1));
}
function invalid_error($Name) {
global $Err;
$Err = 'The torrent contained one or more invalid files (' . display_str($Name) . ')';
}
function forbidden_error($Name) {
global $Err;
$Err = 'The torrent contained one or more forbidden files (' . display_str($Name) . ')';
}
function character_error($Character, $AllBlockedChars) {
global $Err;
$Err = "One or more of the files or folders in the torrent has a name that contains the forbidden character '$Character'. Please rename the files as necessary and recreate the torrent.
\nNote: The complete list of characters that are disallowed are shown below:
\n\t\t$AllBlockedChars";
}