diff --git a/remove-key.php b/remove-key.php new file mode 100644 index 0000000..bf64a32 --- /dev/null +++ b/remove-key.php @@ -0,0 +1,93 @@ +query('SELECT * FROM admins'); +while ($line = $DatabaseQuery->fetchArray()) { + if ($Key == $line['key']) { + if ($line['primaryadmin'] == 1) { + $AdminIsPrimary = 1; + } + + $AuthorizedRemoval = 1; + break; + } +} + +$DatabaseQuery = $Database->query('SELECT * FROM keys'); +while ($line = $DatabaseQuery->fetchArray()) { + if ($line['id'] == $id && $line['id'] != "" && $id != "") { // passed ID is a key that exists + if ($AuthorizedRemoval == 1) { + $Database->exec("DELETE FROM keys WHERE id='$id'"); + $Removed = 1; + } else { + print "You aren't authorized to perform this action."; + die(); + } + + break; + } +} + +$DatabaseQuery = $Database->query('SELECT * FROM tkeys'); +while ($line = $DatabaseQuery->fetchArray()) { + if ($line['id'] == $id && $line['id'] != "" && $id != "" && $Removed != 1) { // passed ID is a key that exists + if ($AuthorizedRemoval == 1) { + $Database->exec("DELETE FROM tkeys WHERE id='$id'"); + $Removed = 1; + } else { + print "You aren't authorized to perform this action."; + die(); + } + + break; + } +} + +$DatabaseQuery = $Database->query('SELECT * FROM admins'); +while ($line = $DatabaseQuery->fetchArray()) { + if ($line['id'] == $id && $line['id'] != "" && $id != "" && $Removed != 1 && $line['primaryadmin'] != 1) { // passed ID is a key that exists + if ($AuthorizedRemoval == 1 && $AdminIsPrimary == 1) { // in order to delete an admin key you must be a primary admin + $Database->exec("DELETE FROM admins WHERE id='$id'"); + $Removed = 1; + } else { + print "You aren't authorized to perform this action."; + die(); + } + + break; + } +} + +if ($AuthorizedRemoval != 1) { + print "You aren't authorized to perform this action."; + die(); +} + +?> diff --git a/remove.php b/remove.php index ffaad26..babe43e 100644 --- a/remove.php +++ b/remove.php @@ -1,82 +1,87 @@ query('SELECT * FROM uploads'); +$FileToRemove = ""; +$AuthorizedRemoval = 0; +$fileUploadedByPrimary = 0; - while ($line = $DatabaseQuery->fetchArray()) { - if ($line['id'] == $fileID) { // passed ID is a file that exists +$Database = createTables($sqlDB); +$DatabaseQuery = $Database->query('SELECT * FROM uploads'); - // check if our key is authorized to remove the file - if (($enableKeys || $enableKeys == "true") && ($enableKeyUploadRemoval || $enableKeyUploadRemoval == "true")) { - $keyDatabaseQuery = $Database->query('SELECT * FROM keys'); +while ($line = $DatabaseQuery->fetchArray()) { + if ($line['id'] == $fileID) { // passed ID is a file that exists - while ($kline = $keyDatabaseQuery->fetchArray()) { - if ($line['keyid'] == $kline['id']) { + // check if our key is authorized to remove the file + if (($enableKeys || $enableKeys == "true") && ($enableKeyUploadRemoval || $enableKeyUploadRemoval == "true")) { + $keyDatabaseQuery = $Database->query('SELECT * FROM keys'); + + while ($kline = $keyDatabaseQuery->fetchArray()) { + if ($line['keyid'] == $kline['id']) { + $AuthorizedRemoval = 1; + break; + } + + } + } + + // check if the key is an admin key, automatically making it authorized to remove the file provided it wasn't uploaded by a primary admin + if ($AuthorizedRemoval != 1 && ($enableUploadRemoval || $enableUploadRemoval == "true")) { + $keyDatabaseQuery = $Database->query('SELECT * FROM admins'); + + // check if the file was uploaded by a primary admin + while ($kline = $keyDatabaseQuery->fetchArray()) { + if ($kline['key'] == $line['keyid']) { + $fileUploadedByPrimary = $kline['primaryadmin']; + } + } + + while ($kline = $keyDatabaseQuery->fetchArray()) { + if ($kline['key'] == $Key && $Key != "" && $kline['key'] != "") { // key = passed key + if (($fileUploadedByPrimary == 1 && $kline['primaryadmin'] == 1) || ($fileUploadedByPrimary == 0)) { // primary key passed and primary file OR non primary file $AuthorizedRemoval = 1; break; } - } } - - // check if the key is an admin key, automatically making it authorized to remove the file provided it wasn't uploaded by a primary admin - if ($AuthorizedRemoval != 1 && ($enableUploadRemoval || $enableUploadRemoval == "true")) { - $keyDatabaseQuery = $Database->query('SELECT * FROM admins'); - - // check if the file was uploaded by a primary admin - while ($kline = $keyDatabaseQuery->fetchArray()) { - if ($kline['key'] == $line['keyid']) { - $fileUploadedByPrimary = $kline['primaryadmin']; - } - } - - while ($kline = $keyDatabaseQuery->fetchArray()) { - if ($kline['key'] == $Key && $Key != "" && $kline['key'] != "") { // key = passed key - if (($fileUploadedByPrimary == 1 && $kline['primaryadmin'] == 1) || ($fileUploadedByPrimary == 0)) { // primary key passed and primary file OR non primary file - $AuthorizedRemoval = 1; - break; - } - } - } - } - - $FileToRemove = $line['file']; - - break; } - } - // fuck off pleb - if ($AuthorizedRemoval != 1) { - print "You aren't authorized to perform this action."; - die(); - } + $FileToRemove = $line['file']; - $Database->exec("DELETE FROM uploads WHERE id='$fileID'"); - unlink(ltrim($FileToRemove, '/')); + break; + } +} + +// fuck off pleb +if ($AuthorizedRemoval != 1) { + print "You aren't authorized to perform this action."; + die(); +} + +$Database->exec("DELETE FROM uploads WHERE id='$fileID'"); +unlink(ltrim($FileToRemove, '/')); ?>