Advertisement
lowheartrate

function adminModules() - CORRECT SYNTAX / WORKING!!

Nov 16th, 2016
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 15.92 KB | None | 0 0
  1. function adminModules() {
  2.  
  3.   //protect module from users not logged in
  4.   protect2();
  5.  
  6.   // variables for query below
  7.   // gets username of user logged in...
  8.   $username = $_SESSION['username'];
  9.  
  10.   // sets $author to username that is logged in
  11.   $author = $username;
  12.  
  13.   // gets current date
  14.   $current_date = date('F d, Y');
  15.  
  16.  
  17.   // setup query to get get users admin level
  18.   $getAdminLevel = dbConnect()->prepare("SELECT level FROM users WHERE username = :username");
  19.   // sets :username parameter to the $_SESSION username!
  20.   $getAdminLevel->bindParam(':username', $username);
  21.   // Execute the query
  22.   $getAdminLevel->execute();
  23.   // define admin level of user logged in (fetchs level column from user that is logged in & sets it as $adminLevel)
  24.   $adminLevel = $getAdminLevel->fetchColumn();
  25.  
  26.  
  27.   // if user is not an admin, exit!
  28.   if ($adminLevel == 0) {
  29.     exit();
  30.  
  31.   // closes if($adminLevel == 0) statement
  32.   // if user is not level 0 and is admin level, continue...
  33.   } else {
  34.  
  35.     // display module for admin to create post (level 1 module)
  36.     echo '
  37.  
  38.      <div class="container-fluid">
  39.  
  40.        <div class="row">
  41.  
  42.    <!-- stops echo that inserts div.container-fluid && div.row -->
  43.    ';
  44.  
  45.  
  46.           // if admin level == 1 : put in one lg-col-12 row
  47.           // if admin level == 2 : put in two lg-col-6 row
  48.           // if admin level == 3 : put in three lg-col-4 row
  49.  
  50.           // if user is level 1 admin : put in one lg-col-12 in row
  51.           if($adminLevel == 1) {
  52.  
  53.           echo '
  54.  
  55.          <div class="col-lg-12">
  56.  
  57.          <!-- closes echo tag that inserts div.col-lg-12 into div.row -->
  58.          ';
  59.  
  60.           // closes if($adminLevel == 1) statement
  61.           }
  62.  
  63.           // if user is level 2 admin : make col-lg-6
  64.           if($adminLevel == 2) {
  65.  
  66.           echo '
  67.  
  68.          <div class="col-lg-6">
  69.  
  70.          <!-- closes echo tag that inserts div.col-lg-6 into div.row -->
  71.          ';
  72.  
  73.           // closes if($adminLevel == 2) statement
  74.           }
  75.  
  76.           // if user is level 3 admin : make col-lg-4
  77.           if($adminLevel == 3) {
  78.  
  79.           echo '
  80.  
  81.          <div class="col-lg-4">
  82.  
  83.          <!-- closes echo tag that inserts div.col-lg-4 into div.row -->
  84.          ';
  85.  
  86.           // closes if($adminLevel == 3) statement
  87.           }
  88.  
  89.             ///////////////////////
  90.             // start lines here //
  91.             //                  //
  92.             //                  //
  93.             //                  //
  94.             // start lines here //
  95.             /////////////////////
  96.  
  97.             echo '
  98.  
  99.            <!-- heading here -->
  100.            <h3>Admin Level 1 panel</h3>
  101.            <p>Use this module to create new posts</p>
  102.  
  103.            <!-- button for minimizing function -->
  104.            <button class="btn btn-default hideshow">show/hide</button>
  105.  
  106.            <div class="content">
  107.  
  108.              <form method="post" enctype="multipart/form-data" class="admin_module">
  109.  
  110.                <input class="input2" type="text" name="title" placeholder="Headline" required /><br />
  111.  
  112.                <input class="input2" type="text" name="date" value="' .$current_date. '" readonly /><br />
  113.                <input class="input2" type="text" name="author" value="' .$author. '" readonly /><br />
  114.  
  115.                <div class="input2">
  116.  
  117.                  <p>Select image to upload:</p>
  118.                  <input style="padding:3px;" type="file" name="image" id="image" />
  119.  
  120.                <!-- closes div.input2 for upload image "input"-->
  121.                </div>
  122.  
  123.                <textarea class="ta-summary input2" type="text" name="summary" placeholder="Summary" required></textarea><br />
  124.  
  125.                <button class="btn btn-default input2" type="submit" name="submit">Submit Post</button>
  126.  
  127.              <!-- closes form -->
  128.              </form>
  129.  
  130.            <!-- closes echo that contains heading and form for level 1 module -->
  131.            ';
  132.  
  133.             // checks to make sure image is valid && checks form for error(s)
  134.             include 'includes/uploadPost.php';
  135.  
  136.             echo '
  137.  
  138.            <!-- closes div.content -->
  139.            </div>
  140.  
  141.          <!-- closes div.col-lg-? -->
  142.          </div>
  143.  
  144.            <!-- closes echo that contains closing tags for div.col-lg-? && div.content -->
  145.            ';
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.             /*
  156.             THAT IS ALL FOR ADMIN LEVEL 1 PANEL
  157.             */
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.           // if user is level 2 or greater...
  167.           if($adminLevel > 1) {
  168.  
  169.             // if user is level 2 : use col-lg-6
  170.             // if user is level 3 : use col-lg-4
  171.  
  172.             // if user is level 2
  173.             if($adminLevel == 2) {
  174.  
  175.               // use col-lg-6
  176.               echo '
  177.              <div class="col-lg-6">
  178.              ';
  179.  
  180.             // closing tag for if($adminLevel == 2) statement
  181.             }
  182.  
  183.             // if user is level 3
  184.             if($adminLevel == 3) {
  185.  
  186.               // use col-lg-4
  187.               echo '
  188.              <div class="col-lg-4">
  189.              ';
  190.  
  191.             // closing tag for if($adminLevel == 3) statement
  192.             }
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.             // start query to fetch all users that are not admins!
  209.             $fetchNonAdmins = dbConnect()->prepare("SELECT * FROM users WHERE level < 1");
  210.             // execute the query
  211.             $fetchNonAdmins->execute();
  212.             // select all columns from query
  213.             $nonAdmins = $fetchNonAdmins->fetchAll();
  214.  
  215.  
  216.             // echo users that aren't admins...
  217.             echo '
  218.  
  219.            <!-- heading here -->
  220.            <h3>Admin Level 2 Panel</h3>
  221.            <p>Use this module to adjust regular user levels</p>
  222.  
  223.  
  224.            <!-- button for minimize action in js.js -->
  225.            <button class="btn btn-default hideshow2">show/hide</button>
  226.  
  227.  
  228.            <div class="content2">
  229.  
  230.              <div class="admin_module">
  231.  
  232.                <table class="nonAdmins" border="1">
  233.  
  234.                  <tr>
  235.  
  236.  
  237.                    <!-- header on the table to show which column is which -->
  238.                    <td class="table_header">ID</td>
  239.                    <td class="table_header">Username</td>
  240.                    <td class="table_header">Level 1</td>
  241.                    <td class="table_header">Level 2</td>
  242.  
  243.  
  244.                  <!-- 1st closing tag for tr -->
  245.                  </tr>
  246.  
  247.            ';
  248.  
  249.                 // start to fetch users that are not admins
  250.                 foreach($nonAdmins as $row) {
  251.  
  252.  
  253.                   // display content of table below (each users id, username, etc...)
  254.                   echo '
  255.  
  256.                  <tr>
  257.  
  258.                    <!-- displays each users id from database -->
  259.                    <td class="table_content">' .$row['id']. '</td>
  260.  
  261.                    <!-- displays each users username from database -->
  262.                    <td class="table_content">' .$row['username']. '</td>
  263.  
  264.  
  265.                    <td class="table_content">
  266.  
  267.                      <!-- displays button where it will change X user to level 1 admin level -->
  268.                      <form method="post" class="table_content_form">
  269.  
  270.                        <button class="btn btn-default" type="submit" name="changeLevel">Change to level 1</button>
  271.                        <input type="hidden" name="user_id" value="' .$row['id']. '" />
  272.                        <input type="hidden" name="user_level" value="1" />
  273.  
  274.                      <!-- closing tag to form where it will displays button to update users level to "1" -->
  275.                      </form>
  276.  
  277.                    <!-- closing tag to td that inserts form where button is displayed to update users to level 1 -->
  278.                    </td>
  279.  
  280.  
  281.                    <td class="table_content">
  282.  
  283.                      <form method="post" class="table_content_form">
  284.  
  285.                        <button class="btn btn-default" type="submit" name="changeLevel">Change to level 2</button>
  286.                        <input type="hidden" name="user_id" value="' .$row['id']. '" />
  287.                        <input type="hidden" name="user_level" value="2" />
  288.  
  289.                      <!-- closing tag to form -->
  290.                      </form>
  291.  
  292.                    <!-- closing tag to td that contains button to change user level to 2 -->
  293.                    </td>
  294.  
  295.  
  296.                  </tr>
  297.  
  298.                  <!-- closing tag for echo that displays details of each user that is not an admin -->
  299.                  ';
  300.  
  301.  
  302.                 // closing tag for foreach($nonAdmins as $row) statement
  303.                 }
  304.  
  305.             echo '
  306.  
  307.                <!-- closing tag for table -->
  308.                </table>
  309.  
  310.            <!-- closing tag for echo that inserts closing tag for table -->
  311.            ';
  312.  
  313.  
  314.             // if user hits a change level 1/2 button
  315.             if(isset($_POST['changeLevel'])) {
  316.  
  317.  
  318.               // set variables for query below
  319.               $userid = $_POST['user_id'];
  320.               $newLevel = $_POST['user_level'];
  321.  
  322.               // update users new level in database
  323.               $updateLevel = dbConnect()->prepare("UPDATE users SET level = :level WHERE id = :id");
  324.               // bind some parameters
  325.               $updateLevel->bindParam(':level', $newLevel);
  326.               $updateLevel->bindParam(':id', $userid);
  327.               // execute query
  328.               $updateLevel->execute();
  329.  
  330.               // echo success messsage & redirect??
  331.               echo '<p class="success">user with ID#' .$userid. ' has been updated to level ' .$newLevel. '! <a href="index.php">refresh</a> to update table(s)...</p>';
  332.  
  333.  
  334.             // closing tag for if(isset($_POST['changeLevel'])) statement
  335.             }
  336.  
  337.  
  338.             echo '
  339.  
  340.              <!-- closing tag for div.admin_module -->
  341.              </div>
  342.  
  343.            <!-- closing tag for div.content2 -->
  344.            </div>
  345.  
  346.              <!-- closing tag for col-lg-> -->
  347.              </div>
  348.  
  349.            <!-- closing tag for echo to insert closing tag for col-lg-? -->
  350.            ';
  351.  
  352.           // closing tag for if($adminLevel > 1) statement
  353.           }
  354.  
  355.  
  356.  
  357.  
  358.  
  359.           /* DONE WITH ADMIN LEVEL 2 PANEL HERE */
  360.           /* DONE WITH ADMIN LEVEL 2 PANEL HERE */
  361.           /* DONE WITH ADMIN LEVEL 2 PANEL HERE */
  362.  
  363.  
  364.  
  365.  
  366.           // if users level is greater then 2
  367.           if($adminLevel > 2) {
  368.  
  369.             echo '
  370.  
  371.            <div class="col-lg-4">
  372.  
  373.  
  374.              <!-- heading here-->
  375.              <h3>Admin Level 3 Panel</h3>
  376.              <p>Use this module to demote admins that are at least level 2</p>
  377.  
  378.  
  379.              <!-- button to minimize module -->
  380.              <button class="btn btn-default hideshow3">show/hide</button>
  381.  
  382.  
  383.              <div class="content3">
  384.  
  385.                <div class="admin_module">
  386.  
  387.  
  388.                  <!-- content here -->
  389.  
  390.  
  391.            ';
  392.  
  393.  
  394.                   // setup query to get users that are level 2
  395.                   $getLevel2Admins = dbConnect()->prepare("SELECT * FROM users WHERE LEVEL = 2");
  396.                   $getLevel2Admins->execute();
  397.                   $levelTwoAdmins = $getLevel2Admins->fetchAll();
  398.  
  399.  
  400.                   // content below this line!!
  401.                   echo '
  402.  
  403.                  <!-- this shows the top "titles" for the table -->
  404.                  <table class="nonAdmins" border="1">
  405.  
  406.                    <tr>
  407.  
  408.                      <td class="table_header">ID</td>
  409.                      <td class="table_header">Username</td>
  410.                      <td class="table_header">Level 1</td>
  411.                      <td class="table_header">Level 0</td>
  412.  
  413.                    <!-- closes tr tag -->
  414.                    </tr>
  415.  
  416.                  <!-- closes echo tag -->
  417.                  ';
  418.  
  419.  
  420.                     // for each level 2 user as $row2 variable
  421.                     foreach($levelTwoAdmins as $row2) {
  422.  
  423.                       echo '
  424.  
  425.                        <tr>
  426.  
  427.                          <!-- display each users id next to their name from database -->
  428.                          <td class="table_content">' .$row2['id']. '</td>
  429.                          <!-- display each users username -->
  430.                          <td class="table_content">' .$row2['username']. '</td>
  431.  
  432.  
  433.                          <td class="table_content">
  434.  
  435.                            <form method="post" class="table_content_form">
  436.  
  437.  
  438.                              <!-- button that demotes selected users level down to 1 -->
  439.                              <button class="btn btn-default" type="submit" name="demoteLevel">Demote to level 1</button>
  440.  
  441.                              <input type="hidden" name="user_id2" value="' .$row2['id']. '" />
  442.                              <input type="hidden" name="user_level2" value="1" />
  443.  
  444.  
  445.                            <!-- closes form -->
  446.                            </form>
  447.  
  448.                          <!-- closing tag for td -->
  449.                          </td>
  450.  
  451.  
  452.                          <td class="table_content">
  453.  
  454.                            <form method="post" class="table_content_form">
  455.  
  456.  
  457.                              <!-- button that demotes selected user to level 0 -->
  458.                              <button class="btn btn-default" type="submit" name="demoteLevel">Demote to level 0</button>
  459.  
  460.                              <input type="hidden" name="user_id2" value=" '.$row2['id'].' " />
  461.                              <input type="hidden" name="user_level2" value="0" />
  462.  
  463.  
  464.                            <!-- closes form -->
  465.                            </form>
  466.  
  467.                          <!-- closing td tag -->
  468.                          </td>
  469.  
  470.  
  471.                        <!-- closes tr tag that contains details of each user that is level 2 -->
  472.                        </tr>
  473.  
  474.                      <!-- closes echo tag -->
  475.                      ';
  476.  
  477.                     // closes foreach($levelTwoAdmins as $row2) statement
  478.                     }
  479.  
  480.  
  481.                     // if user hits demote level button
  482.                     if(isset($_POST['demoteLevel'])) {
  483.  
  484.  
  485.                       // set variables
  486.                       $userid2 = $_POST['user_id2'];
  487.                       $newLevel2 = $_POST['user_level2'];
  488.  
  489.                       // setup query to update user in that row to level accordingly
  490.                       $demoteLevel = dbConnect()->prepare("UPDATE users SET level = :level2 WHERE id = :id2");
  491.                       // bind parameters
  492.                       $demoteLevel->bindParam(':id2', $userid2);
  493.                       $demoteLevel->bindParam(':level2', $newLevel2);
  494.                       // execute query
  495.                       $demoteLevel->execute();
  496.  
  497.                       // echo success message and redirect...
  498.                       echo '<p class="success">user with ID#' .$userid2. ' has been demoted to level ' .$newLevel2. '! <a href="index.php">Refresh</a> to update table...</p>';
  499.  
  500.  
  501.                     // closing tag for if(isset($_POST['demoteLevel'])) statement
  502.                     }
  503.  
  504.  
  505.  
  506.                   echo '
  507.                  <!-- closes table -->
  508.                  </table>
  509.  
  510.  
  511.                  <!-- closes echo tag that contains content!! -->
  512.                  ';
  513.  
  514.  
  515.             echo '
  516.  
  517.  
  518.                <!-- closes div.admin_module -->
  519.                </div>
  520.  
  521.              <!-- closes div.content3 -->
  522.              </div>
  523.  
  524.  
  525.            <!-- closes div.col-lg-4 -->
  526.            </div>
  527.  
  528.            <!-- closing tag for echo that displays admin level 3 panel -->
  529.            ';
  530.  
  531.           // closing bracket for if($adminLevel > 2) statement
  532.           }
  533.  
  534.  
  535.     echo '
  536.  
  537.        <!-- closes div.row -->
  538.        </div>
  539.  
  540.      <!-- closes div.container-fluid -->
  541.      </div>
  542.  
  543.    <!-- closes echo tag that closes div.row && div.container-fluid -->
  544.    ';
  545.  
  546.   // closes else tag directly below if($adminLevel == 0) statement
  547.   // that determines what to do if user IS ADMIN!
  548.   }
  549.  
  550.  
  551.   // closes adminModule function
  552. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement