From baec4f769c70c463cf338463cc295cb1f855390b Mon Sep 17 00:00:00 2001 From: pantsucat Date: Sat, 19 Sep 2015 23:18:13 +1000 Subject: Remove moe panel from core The moe panel is more of an extension of the core, but not necessary for Pomf's functionality. The code also suffers from bad practices and it's more of a prototype. The panel is also mostly unmaintained by its author. This code will be in a seperate Git repository called pomf-moe from now on. --- moe/includes/api.php | 40 ------- moe/includes/core.php | 312 -------------------------------------------------- 2 files changed, 352 deletions(-) delete mode 100644 moe/includes/api.php delete mode 100644 moe/includes/core.php (limited to 'moe/includes') diff --git a/moe/includes/api.php b/moe/includes/api.php deleted file mode 100644 index 634cd74..0000000 --- a/moe/includes/api.php +++ /dev/null @@ -1,40 +0,0 @@ - "SET NAMES 'UTF8'") -); - -function register($email, $pass, $code) { - global $db; - - $do = $db->prepare("SELECT code, used, level FROM invites WHERE email = (:email)"); - $do->bindParam(':email', $email); - $do->execute(); - $result = $do->fetch(); - - if (!$result['code'] == $code) { - header('Location: ../register/index.html#fail2'); - } elseif ($result['used'] == '1') { - header('Location: ../register/index.html#fail3'); - } else { - $do = $db->prepare("INSERT INTO accounts (email, pass, level) VALUES (:email, :pass, :level)"); - $do->bindParam(':email', $email); - $do->bindParam(':level', $result['level']); - $hash = password_hash($pass, PASSWORD_DEFAULT); - $do->bindParam(':pass', $hash); - $do->execute(); - - $do = $db->prepare("UPDATE invites SET used = (:used) WHERE email = (:email)"); - $do->bindValue(':used', '1'); - $do->bindParam(':email', $email); - $do->execute(); - - $_SESSION['id'] = $result['id']; - $_SESSION['email'] = $result['email']; - - header('Location: api.php?do=cp'); - } -} - -function generate($email, $level) { - global $db; - - if ($_SESSION['level'] === '1') { - $do = $db->prepare("INSERT INTO invites (email, code, level) VALUES (:email, :code, :level)"); - $do->bindParam(':email', $email); - $code = generateRandomString(); - $do->bindParam(':code', $code); - $do->bindParam(':level', $level); - $do->execute(); - - require_once('Mail.php'); - $from = "Invites "; - $to = $email; - $subject = "Pomf.se Account Invite"; - $body = "This is a automated message from Pomf.se \n Your invite code is: ".$code."\n Your invite email is: ".$email." \n Access level: ".$level." \n Register at http://cayootie.pomf.se/user/register"; - - $host = "xxx"; - $username = "xxx"; - $password = "xxx"; - - $headers = array( - 'From' => $from, - 'To' => $to, - 'Subject' => $subject - ); - - $smtp = Mail::factory( - 'smtp', - array( - 'host' => $host, - 'auth' => true, - 'username' => $username, - 'password' => $password - ) - ); - - $mail = $smtp->send($to, $headers, $body); - - if (PEAR::isError($mail)) { - echo("

" . $mail->getMessage() . "

"); - } else { - echo("

Message successfully sent!

"); - } - } else { - echo 'What are you doing here? Go away!'; - } -} - -function generateRandomString($length = 36) { - $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - $randomString = ''; - for ($i = 0; $i < $length; $i++) { - $randomString .= $characters[rand(0, strlen($characters) - 1)]; - } - - return $randomString; -} - -function login($email, $pass) { - global $db; - - $do = $db->prepare("SELECT pass, id, email, level FROM accounts WHERE email = (:email)"); - $do->bindParam(':email', $email); - $do->execute(); - $result = $do->fetch(PDO::FETCH_ASSOC); - - if (password_verify($pass, $result['pass'])) { - $_SESSION['id'] = $result['id']; - $_SESSION['email'] = $result['email']; - $_SESSION['level'] = $result['level']; - header('Location: api.php?do=cp'); - } else { - header('Location: ../login/index.html#fail'); - } -} - -function search($word) { - if (empty($word)) { - return; - } - - global $db; - - $str = "%".$word."%"; - $id = $_SESSION['id']; - - if ($_SESSION['level'] === '1') { - $do = $db->prepare("SELECT originalname, filename FROM files WHERE originalname LIKE (:1) OR filename LIKE (:2)"); - $do->bindParam(':1', $str); - $do->bindParam(':2', $str); - $do->execute(); - - while ($row = $do->fetch(PDO::FETCH_ASSOC)) { - print strip_tags($row['originalname']).' - '.''.$row['filename'].' '.' Delete
'; - } - } else { - // Yes I love not being efficient, deal with it. - $do = $db->prepare("SELECT originalname, filename FROM files WHERE originalname LIKE (:1) AND user = (:3) OR filename LIKE (:2) AND user = (:3)"); - $do->bindParam(':1', $str); - $do->bindParam(':2', $str); - $do->bindParam(':3', $id); - $do->execute(); - - while ($row = $do->fetch(PDO::FETCH_ASSOC)) { - print strip_tags($row['originalname']).' - '.''.$row['filename'].' '.' Delete
'; - } - } -} - -function cfdelete($file) { - $butts = array( - 'a' => 'zone_file_purge', - 'tkn' => 'xxxx', - 'email' => 'xxx', - 'z' => 'pomf.se', - 'url' => urlencode('http://a.pomf.se/'.$file), - ); - - foreach ($butts as $dick=>$cum) { - $butts_string .= $dick.'='.$cum.'&'; - } - rtrim($butts_string, '&'); - - $hue = curl_init(); - curl_setopt($hue,CURLOPT_URL, 'https://www.cloudflare.com/api_json.html'); - curl_setopt($hue,CURLOPT_POST, count($butts)); - curl_setopt($hue,CURLOPT_POSTFIELDS, $butts_string); - curl_setopt($hue,CURLOPT_RETURNTRANSFER, true); - curl_exec($hue); - curl_close($hue); -} - -function delete($filename, $deleteid, $mod) { - if (empty($filename)) { - echo "You did something wrong, baka."; - } else { - global $db; - - $do = $db->prepare("SELECT filename, delid, id, user FROM files WHERE filename = (:filename)"); - $do->bindParam(':filename', $filename); - $do->execute(); - $result = $do->fetch(PDO::FETCH_ASSOC); - - if ($_SESSION['level'] === '1' || $result['user'] === $_SESSION['id']) { - $do = $db->prepare("DELETE FROM files WHERE id = (:id)"); - $do->bindParam(':id', $result['id']); - $do->execute(); - - unlink('/home/neku/pomf/files/'.$filename); - cfdelete($filename); - - echo "
File deleted and hopefully deleted from Cloudflares cache in a moment..
"; - } else { - echo 'Shame on you'; - } - } -} - -function mod($action, $date, $count, $why, $file, $keyword, $fileid, $hash, $oginalname) { - if ($_SESSION['level'] > '0') { - global $db; - - switch ($action) { - case "fetch": - if ($_SESSION['level'] > '0') { - $do = $db->prepare("SELECT * FROM files WHERE originalname LIKE (:keyword) AND date LIKE (:date) OR filename LIKE (:keyword) AND date LIKE (:date) ORDER BY id DESC LIMIT 0,:amount"); - } else { - $do = $db->prepare("SELECT * FROM files WHERE originalname LIKE (:keyword) AND date LIKE (:date) AND user = (:userid) OR filename LIKE (:keyword) AND date LIKE (:date) AND user = (:userid) ORDER BY id$ - $do->bindValue(':userid', $_SESSION['id']); - } - $do->bindValue(':date', "%".$date."%"); - $do->bindValue(':amount', (int) $count, PDO::PARAM_INT); - $do->bindValue(':keyword', "%".$keyword."%"); - $do->execute(); - - echo 'Mod - -

Keep in mind that this is a alpha version of the mod panel, click here to logout or here to go to the panel for your personal account.

-
- - - Date: - Amount: - Keyword: - -

- - '; - - $i = 0; - while ($row = $do->fetch(PDO::FETCH_ASSOC)) { - $i++; - echo ' - - - - '; - } - echo '
IDOrginal NameFilenameSize (bytes)Action
'.$row['id'].''.strip_tags($row['originalname']).''.$row['filename'].' ('.$row['originalname'].')'.$row['size'].'Remove
'; - echo $i.' Files in total at being shown.'; - break; - case "report": - $do = $db->prepare("INSERT INTO reports (hash, date, file, fileid, reporter) VALUES (:hash, :date, :file, :fileid, :reporter)"); - $do->bindValue(':file', strip_tags($file)); - $do->bindValue(':date', date('Y-m-d')); - $do->bindValue(':reporter', $_SESSION['email']); - $do->bindValue(':fileid', $fileid); - $do->bindValue(':hash', $hash); - $do->execute(); - - echo 'Thank you, report has been sent. The file will be reviewed and probably deleted.'; - break; - case "reports": - if ($_SESSION['id'] === '1') { - $do = $db->prepare("SELECT * FROM reports WHERE status = '0'"); - $do->execute(); - $i = 0; - echo 'Mod - -

Status 0 = not removed

-

Status 1 = removed (not shown)

- - '; - while ($row = $do->fetch(PDO::FETCH_ASSOC)) { - $i++; - echo ' - - - - - '; - } - echo '
IDFileFile IDReporterStatusAction
'.$row['id'].''.strip_tags($row['file']).''.$row['fileid'].''.$row['reporter'].''.$row['status'].'Remove file
'; - echo $i.' Reports in total at being shown.'; - } else { - echo 'You are not allowed to be here, yet.'; - } - break; - case "remove": - if ($_SESSION['id'] < '0') { - delete($file, $fileid); - } - if ($_SESSION['id'] > '0') { - $do = $db->prepare("DELETE FROM files WHERE id = (:id)"); - $do->bindParam(':id', $fileid); - $do->execute(); - - unlink('/home/neku/pomf/files/'.$file); - cfdelete($file); - - $do = $db->prepare("UPDATE reports SET status = (:status) WHERE fileid = (:fileid)"); - $do->bindValue(':status', '1'); - $do->bindValue(':fileid', $fileid); - $do->execute(); - - echo 'Deleted'; - break; - } - } - } -} -?> -- cgit v1.2.3