Advertisement
Guest User

Untitled

a guest
Jul 18th, 2017
508
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 26.08 KB | None | 0 0
  1. <?php
  2.  
  3. if (isset($_SESSION['userid'])) {
  4.     include_once './model/LogManager.php';
  5.     include_once './model/LogAction.php';
  6.  
  7.     $LogManager = new LogManager();
  8.     $LogAction = new LogAction();
  9.  
  10.     $UserToEdit = $UserManager->getuser($_SESSION['userid']);
  11.     if ($UserToEdit->getGroup() == 1) {
  12.         switch ($_GET['acpp']) {
  13.             case '':
  14.                 header("Location: index.php?page=acp&acpp=1");
  15.                 break;
  16.  
  17.             //If admin page 1 is selected
  18.             case 1:
  19.                 $acpnav1 = 'class="profilecur"';
  20.                 $numberOfUsersNoBanned = $UserManager->getNumberOfUsers();
  21.                 $numberOfUsers = sizeof($UserManager->getAllUsers());
  22.                 $numberOfBlogPosts = sizeof($BlogManager->getAllBlogposts());
  23.                 include_once './model/QDBManager.php';
  24.                 $QDBManager = new QDBManager();
  25.                 $numberOfQuotes = sizeof($QDBManager->getAcceptedQuotes());
  26.                 $numberOfPendingQuotes = sizeof($QDBManager->getPendingQuotes());
  27.                 include 'view/admincp/acpindex.php';
  28.                 break;
  29.  
  30.             //If admin page 2 is selected
  31.             case 2:
  32.                 $allACPUsers = $UserManager->getAllUsers(TRUE);
  33.                 $acpnav2 = 'class="profilecur"';
  34.                 switch ($_REQUEST['acpform']) {
  35.  
  36.                     //If there is no post value coming form a form
  37.                     case'':
  38.                         include 'view/admincp/users/usersindex.php';
  39.                         break;
  40.  
  41.                     //If we're coming from form1
  42.                     case 1:
  43.                         $acpnav2 = 'class="profilecur"';
  44.                         switch ($_REQUEST['submit']) {
  45.                             //If we want to add a new user
  46.                             case 'New':
  47.                                 //If we are saving form data
  48.                                 if ($_REQUEST['save'] == 'Save') {
  49.                                     if ($_POST['username'] == '') {
  50.                                         $message = '<p class="red">Error - You Must Type A Username</p>';
  51.                                         include 'view/admincp/users/newuser.php';
  52.                                     }
  53.                                     elseif ($_POST['password'] == '') {
  54.                                         $message = '<p class="red">Error - You Must Set A Password</p>';
  55.                                         include 'view/admincp/users/newuser.php';
  56.                                     }
  57.                                     elseif ($_POST['email'] == '') {
  58.                                         $message = '<p class="red">Error - You Must Set An Email Address</p>';
  59.                                         include 'view/admincp/users/newuser.php';
  60.                                     }
  61.                                     else {
  62.                                         $message = '<p class="green">User created successfully!</p>';
  63.                                         $NewUser = new User();
  64.                                         $NewUser->setUsername($_POST['username']);
  65.                                         $NewUser->setGroup($_POST['group']);
  66.                                         $NewUser->setPassword(hash('sha512', $_POST['password']));
  67.                                         $NewUser->setEmail($_POST['email']);
  68.                                         $NewUser->setLastlogin(date("Y-m-d"));
  69.                                         $UserManager->newUser($NewUser);
  70.  
  71.                                         $LogAction->setActionTaken('Added User ' . $NewUser->getUsername());
  72.                                         $LogAction->setActionTaker($_SESSION['userid']);
  73.                                         $LogManager->newLogEntry($LogAction);
  74.  
  75.                                         include 'view/admincp/users/usersindex.php';
  76.                                     }
  77.                                 }
  78.                                 //If we are just viewing the add screen
  79.                                 else {
  80.                                     $randomTempPass = substr(md5(rand()), 0, 5);
  81.                                     include 'view/admincp/users/newuser.php';
  82.                                 }
  83.                                 break;
  84.  
  85.                             //If we want to edit an existing user
  86.                             case 'Edit':
  87.  
  88.                                 //If we are posting the form back to save the users details
  89.                                 if ($_REQUEST['save'] == 'Save') {
  90.                                     //Grab a new user object and populate it with that users info
  91.                                     $UserToEdit = $UserManager->getUser($_POST['userid']);
  92.                                     //---------+---------+---------+---------+---------+---------+
  93.                                     //Modify the user object with the form data
  94.                                     $UserToEdit->setUsername($_POST['username']);
  95.                                     $UserToEdit->setPassword(hash('sha512', $_POST['password']));
  96.                                     $UserToEdit->setBanned($_POST['banned']);
  97.                                     $UserToEdit->setWebsite($_POST['website']);
  98.                                     $UserToEdit->setLocation($_POST['location']);
  99.                                     $UserToEdit->setEmail($_POST['email']);
  100.                                     $UserToEdit->setAvatar($_POST['avatarurl']);
  101.                                     $UserToEdit->setBiography($_POST['biography']);
  102.                                     $UserToEdit->setForumSignature($_POST['forumsignature']);
  103.                                     $UserToEdit->setGroup($_POST['group']);
  104.                                     //--------+---------+---------+---------+---------+---------+
  105.                                     if ($UserToEdit->getPassword() == hash('sha512', NULL)) {
  106.                                         $UserWithNoPassword = $UserManager->getUser($_POST['userid']);
  107.                                         $UserToEdit->setPassword($UserWithNoPassword->getPassword());
  108.                                     }
  109.  
  110.                                     //Save the user object to database
  111.                                     if ($_POST['userid'] == 5) {
  112.                                         $message = '<p class="red">You do not have permission to edit this user</p>';
  113.                                         include './view/admincp/users/usersindex.php';
  114.                                     }
  115.                                     else {
  116.                                         $UserManager->setUser($UserToEdit);
  117.  
  118.                                         //Create a new user object to overwrite the existing one with the new data straight from the database
  119.                                         $UserToEdit = $UserManager->getUser($_POST['userid']);
  120.                                         $Group = $GroupManager->getGroup($UserToEdit->getGroup());
  121.                                         $LogAction->setActionTaker($_SESSION['userid']);
  122.                                         $LogAction->setActionTaken('Edited User ' . $UserToEdit->getUsername() . '<br />The Following Changes Were Made:<br />' . ' Username: ' . $UserToEdit->getUsername() . '<br /> Biography: ' . $UserToEdit->getBiography() . '<br /> Email: ' . $UserToEdit->getEmail() . '<br /> Website URL: ' . $UserToEdit->getWebsite() . '<br /> Avatar URL: ' . $UserToEdit->getAvatar() . '<br /> Forum Signature: ' . $UserToEdit->getForumSignature() . '<br /> Location: ' . $UserToEdit->getLocation() . '<br /> Group:' . $Group->getGroupName());
  123.                                         $LogManager->newLogEntry($LogAction);
  124.                                         $message = '<p class="green">' . $UserToEdit->getUsername() . '\'s profile was updated successfully</p>';
  125.                                     }
  126.                                     include './view/admincp/users/edituser.php';
  127.                                 }
  128.  
  129.                                 //If we are just displaying the users details to edit them
  130.                                 else {
  131.                                     if (!isset($_REQUEST['userid'])) {
  132.                                         $message = '<p class="red">Error - you must select a user to edit, please try again.</p>';
  133.                                         include './view/admincp/users/usersindex.php';
  134.                                     }
  135.                                     else {
  136.                                         $UserToEdit = $UserManager->getUser($_REQUEST['userid']);
  137.                                         $Group = $GroupManager->getGroup($UserToEdit->getGroup());
  138.                                         if ($UserToEdit->getBanned() == 1) {
  139.                                             $message = '<p class="red">This user is banned</p>';
  140.                                         }
  141.                                         include './view/admincp/users/edituser.php';
  142.                                     }
  143.                                 }
  144.                                 break;
  145.  
  146.                             //If we want to just delete a user
  147.                             case 'Delete':
  148.                                 $UserToDelete = $UserManager->getUser($_POST['userid']);
  149.                                 //If we say that /yes/ we really do want to delete a user
  150.                                 if ($_POST['delete'] == 'Yes') {
  151.                                     if ($_POST['userid'] == 5) {
  152.                                         $message = '<p class="red">You do not have permission to delete The System Administrator</p>';
  153.                                         include './view/admincp/users/usersindex.php';
  154.                                     }
  155.                                     else {
  156.                                         //Delete the user
  157.                                         $UserManager->deleteUser($_POST['userid']);
  158.                                         $LogAction->setActionTaken('Deleted User ' . $UserToDelete->getUsername());
  159.                                         $LogAction->setActionTaker($_SESSION['userid']);
  160.                                         $LogManager->newLogEntry($LogAction);
  161.                                         //Display a nice confrimation message
  162.                                         $message = '<p class="green">The user was successfully deleted.</p>';
  163.                                         //Include the userlist
  164.                                         $allACPUsers = $UserManager->getAllUsers();
  165.                                         include './view/admincp/users/usersindex.php';
  166.                                     }
  167.                                 }
  168.  
  169.                                 //If we change our mind about deleting the user
  170.                                 elseif ($_POST['delete'] == 'No') {
  171.                                     //Lets include the user list
  172.                                     include './view/admincp/users/usersindex.php';
  173.                                 }
  174.  
  175.                                 //If we're just showing the user delete page
  176.                                 else {
  177.                                     if (isset($_REQUEST['userid'])) {
  178.                                         include './view/admincp/users/deleteuser.php';
  179.                                     }
  180.                                     else {
  181.                                         $message = '<p class="red">You Must Select A User To Delete</p>';
  182.                                         include './view/admincp/users/usersindex.php';
  183.                                     }
  184.                                 }
  185.                                 break;
  186.                         }
  187.                         break;
  188.  
  189.                     default:
  190.                         include './view/error/404.php';
  191.                         break;
  192.                 }
  193.                 break;
  194.  
  195.             case 3:
  196.                 $acpnav3 = 'class="profilecur"';
  197.                 switch ($_REQUEST['submit']) {
  198.                     case'':
  199.                         $AllACPBlogPosts = $BlogManager->getAllBlogPostsForACP();
  200.                         $User = $UserManager->getUser($_SESSION['userid']);
  201.                         include './view/admincp/blog/blogindex.php';
  202.                         break;
  203.  
  204.                     case'New':
  205.                         include 'model/BlogPost.php';
  206.                         if (isset($_REQUEST['save'])) {
  207.                             $BlogPost = new BlogPost();
  208.                             $BlogPost->setBlogPostTitle($_POST['posttitle']);
  209.                             $BlogPost->setBlogpost($_POST['blogpost']);
  210.                             $BlogPost->setPostDate(date("Y-m-d H:i:s"));
  211.                             $BlogPost->setUserID($_SESSION['userid']);
  212.                             $BlogManager->newBlogPost($BlogPost);
  213.                             $LogAction->setActionTaker($_SESSION['userid']);
  214.                             $LogAction->setActionTaken('Blog Post <a href="index.php?page=blog&post=' . mysql_insert_id() . '">#' . mysql_insert_id() . '</a> Added');
  215.                             $LogManager->newLogEntry($LogAction);
  216.                             $message = '<p class="green">Blog post added successfully</p>';
  217.                             $AllACPBlogPosts = $BlogManager->getAllBlogPostsForACP();
  218.                             include './view/admincp/blog/blogindex.php';
  219.                         }
  220.                         else {
  221.                             include './view/admincp/blog/newblogpost.php';
  222.                         }
  223.                         break;
  224.  
  225.                     case'Edit':
  226.                         if (isset($_REQUEST['postid'])) {
  227.                             $acpnav3 = 'class="profilecur"';
  228.                             if (isset($_REQUEST['save'])) {
  229.                                 $BlogPost = $BlogManager->getBlogPost($_POST['postid']);
  230.                                 $BlogPost->setBlogPostTitle($_POST['posttitle']);
  231.                                 $BlogPost->setBlogpost($_POST['blogpost']);
  232.                                 $BlogPost->setPostDate(date("Y-m-d H:i:s"));
  233.                                 $BlogPost->setUserID($_SESSION['userid']);
  234.                                 $BlogManager->setBlogPost($BlogPost);
  235.                                 $LogAction->setActionTaker($_SESSION['userid']);
  236.                                 $LogAction->setActionTaken('Blog Post <a href="index.php?page=blog&post=' . $BlogPost->getPostId() . '">#' . $BlogPost->getPostId() . '</a> Edited');
  237.                                 $LogManager->newLogEntry($LogAction);
  238.                                 $message = '<p class="green">Your Changes Were Saved</p>';
  239.                                 $AllACPBlogPosts = $BlogManager->getAllBlogPostsForACP();
  240.                                 include './view/admincp/blog/blogindex.php';
  241.                             }
  242.                             else {
  243.                                 $BlogPost = $BlogManager->getBlogPost($_POST['postid']);
  244.                                 $BlogPostAuthor = $UserManager->getUser($BlogPost->getUserID());
  245.                                 include './view/admincp/blog/editblogpost.php';
  246.                             }
  247.                         }
  248.                         else {
  249.                             $AllACPBlogPosts = $BlogManager->getAllBlogPostsForACP();
  250.                             $message = '<p class="red">You must select a blog post to edit.</p>';
  251.                             include './view/admincp/blog/blogindex.php';
  252.                         }
  253.                         break;
  254.  
  255.                     case'Delete':
  256.                         if (isset($_POST['postid'])) {
  257.                             switch ($_REQUEST['delete']) {
  258.                                 case '':
  259.                                     $BlogPostToDelete = $BlogManager->getblogPost($_POST['postid']);
  260.                                     include './view/admincp/blog/deleteblogpost.php';
  261.                                     break;
  262.  
  263.                                 case 'Yes':
  264.                                     $BlogManager->deleteBlogPost($_POST['postid']);
  265.                                     $LogAction->setActionTaker($_SESSION['userid']);
  266.                                     $LogAction->setActionTaken('Blog Post #' . mysql_insert_id() . 'Deleted');
  267.                                     $LogManager->newLogEntry($LogAction);
  268.                                     $message = '<p class="green">Post successfully deleted</p>';
  269.                                     $AllACPBlogPosts = $BlogManager->getAllBlogPostsForACP();
  270.                                     include './view/admincp/blog/blogindex.php';
  271.                                     break;
  272.  
  273.                                 case'No':
  274.                                     include'./view/admincp/blog/blogindex.php';
  275.                                     break;
  276.                             }
  277.                         }
  278.                         else {
  279.                             $AllACPBlogPosts = $BlogManager->getAllBlogPostsForACP();
  280.                             $message = '<p class="red">You must select a blog post to delete</p>';
  281.                             include './view/admincp/blog/blogindex.php';
  282.                         }
  283.                         break;
  284.                 }
  285.                 break;
  286.             //This section of the controller is for QDB Entries
  287.             case 4:
  288.                 $acpnav4 = 'class="profilecur"';
  289.                 switch ($_REQUEST['acpqdbform']) {
  290.                     //If we're just loading up the qqb acp index page
  291.                     case '':
  292.                         include_once 'model/QDBManager.php';
  293.                         $QDBManager = new QDBManager();
  294.                         $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  295.                         $pendingQuotes = $QDBManager->getPendingQuotes();
  296.                         include './view/admincp/qdb/qdbindex.php';
  297.                         break;
  298.                     //If we're coming from the "Pending Quotes" form
  299.                     case 1:
  300.                         switch ($_POST['quote']) {
  301.                             case 'Accept':
  302.                                 include_once './model/QDBManager.php';
  303.                                 $QDBManager = new QDBManager();
  304.                                 echo '<pre>' . print_r($_POST, true) . '</pre>';
  305.                                 $QDBManager->acceptQuote($_POST['qid']);
  306.  
  307.                                 $message = '<p class="green">Quote Accepted</p>';
  308.  
  309.                                 $LogAction->setActionTaker($_SESSION['userid']);
  310.                                 $LogAction->setActionTaken('Quote <a href="index.php?page=qdb&q=' . mysql_insert_id() . '">#' . mysql_insert_id() . '</a> Added');
  311.                                 $LogManager->newLogEntry($LogAction);
  312.                                 $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  313.                                 $pendingQuotes = $QDBManager->getPendingQuotes();
  314.                                 include './view/admincp/qdb/qdbindex.php';
  315.                                 break;
  316.  
  317.                             case'Reject':
  318.                                 include_once './model/QDBManager.php';
  319.                                 $QDBManager = new QDBManager();
  320.                                 $QDBManager->rejectQuote($_POST['qid']);
  321.                                 $LogAction->setActionTaker($_SESSION['userid']);
  322.                                 $LogAction->setActionTaken('Quote Rejected');
  323.                                 $LogManager->newLogEntry($LogAction);
  324.                                 $message = '<p class="green">Quote Rejected</p>';
  325.                                 $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  326.                                 $pendingQuotes = $QDBManager->getPendingQuotes();
  327.                                 include './view/admincp/qdb/qdbindex.php';
  328.                                 break;
  329.  
  330.                             default:
  331.                                 break;
  332.                         }
  333.                         break;
  334.                     //If we're coming from the "Accepted Quotes" form
  335.                     case 2:
  336.                         include_once './model/QDBManager.php';
  337.                         $QDBManager = new QDBManager();
  338.                         switch ($_REQUEST['quote']) {
  339.                             case'Edit':
  340.                                 if (isset($_REQUEST['save'])) {
  341.                                     $QuoteToEdit = $QDBManager->getQuote($_POST['qid']);
  342.                                     $QuoteOwner = $UserManager->getUser($QuoteToEdit->getUserid());
  343.                                     $QuoteToEdit = $QDBManager->getQuote($_REQUEST['qid']);
  344.                                     $QuoteToEdit->setQuote($_POST['quotebody']);
  345.                                     $LogAction->setActionTaker($_SESSION['userid']);
  346.                                     $QDBManager->setQuote($QuoteToEdit);
  347.                                     $LogAction->setActionTaker('Edited QDB Entry #' . $QuoteToEdit->getQid());
  348.                                     $LogManager->newLogEntry($LogAction);
  349.                                     $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  350.                                     $pendingQuotes = $QDBManager->getPendingQuotes();
  351.                                     $message = '<p class="green">Changes to the selected quote have been saved</p>';
  352.                                     include './view/admincp/qdb/qdbindex.php';
  353.                                 }
  354.                                 else {
  355.                                     if (isset($_POST['qid'])) {
  356.                                         $QuoteToEdit = $QDBManager->getQuote($_POST['qid']);
  357.                                         $QuoteOwner = $UserManager->getUser($QuoteToEdit->getUserid());
  358.                                         include './view/admincp/qdb/editquote.php';
  359.                                     }
  360.                                     else {
  361.                                         $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  362.                                         $pendingQuotes = $QDBManager->getPendingQuotes();
  363.                                         $message = '<p class="red">Error - you must select a quote to edit</p>';
  364.                                         include './view/admincp/qdb/qdbindex.php';
  365.                                     }
  366.                                 }
  367.                                 break;
  368.  
  369.                             //To Delete a quote
  370.                             case'Delete':
  371.                                 switch ($_REQUEST['Delete']) {
  372.                                     case '':
  373.                                         if (isset($_POST['qid'])) {
  374.                                             $QuoteToEdit = $QDBManager->getQuote($_POST['qid']);
  375.                                             $QuoteOwner = $UserManager->getUser($QuoteToEdit->getUserid());
  376.                                             include './view/admincp/qdb/deletequote.php';
  377.                                         }
  378.                                         else {
  379.                                             $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  380.                                             $pendingQuotes = $QDBManager->getPendingQuotes();
  381.                                             $message = '<p class="red">Error - you must select a quote to delete</p>';
  382.                                             include './view/admincp/qdb/qdbindex.php';
  383.                                         }
  384.                                         break;
  385.  
  386.                                     case 'Yes':
  387.                                         $QuoteToEdit = $QDBManager->getQuote($_POST['qid']);
  388.                                         $QuoteOwner = $UserManager->getUser($QuoteToEdit->getUserid());
  389.                                         $LogAction->setActionTaken('Quote #' . $QuoteToEdit->getQid() . ' deleted');
  390.                                         $LogAction->setActionTaker($_SESSION['userid']);
  391.                                         $LogManager->newLogEntry($LogAction);
  392.                                         $QDBManager->deleteQuote($QuoteToEdit->getQid());
  393.                                         $message = '<p class="green">Quote successfully deleted</p>';
  394.                                         $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  395.                                         include './view/admincp/qdb/qdbindex.php';
  396.                                         break;
  397.  
  398.                                     case'No':
  399.                                         $QuoteToEdit = $QDBManager->getQuote($_POST['qid']);
  400.                                         $QuoteOwner = $UserManager->getUser($QuoteToEdit->getUserid());
  401.                                         include_once 'model/QDBManager.php';
  402.                                         $QDBManager = new QDBManager();
  403.                                         $acceptedQuotes = $QDBManager->getAcceptedQuotes();
  404.                                         include'./view/admincp/qdb/qdbindex.php';
  405.                                         break;
  406.                                 }
  407.                                 break;
  408.                             default:
  409.                                 include './view/error/404.php';
  410.                                 break;
  411.                         }
  412.                         break;
  413.                 }
  414.                 break;
  415.             case 5:
  416.                 include_once './model/LogManager.php';
  417.                 $LogManager = new LogManager();
  418.                 $allLogEntries = $LogManager->getAllLogEntries();
  419.                 $acpnav5 = 'class = "profilecur"';
  420.                 include './view/admincp/log.php';
  421.                 break;
  422.  
  423.             default:
  424.                 include'view/error/404.php';
  425.                 break;
  426.         }
  427.     }
  428.     else {
  429.         include 'view/error/permissiondenied.php';
  430.     }
  431. }
  432. else {
  433.     include 'view/error/permissiondenied.php';
  434. }
  435. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement