Advertisement
Guest User

Untitled

a guest
Sep 21st, 2010
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.06 KB | None | 0 0
  1. <?php
  2. if(!defined('IN_ADMIN') || !defined('IN_BLOG'))
  3. {
  4.     header('Location: admin.php');
  5.     exit;
  6. }
  7.  
  8. switch($mode)
  9. {
  10.     default:
  11.     case 'list':
  12.                
  13.         $result = mysql_query('SELECT * FROM `miniblog`') or die(mysql_error());
  14.        
  15.         while($row = mysql_fetch_assoc($result))
  16.         {
  17.             $published = ($row['published'] == 1) ? 'Published' : 'Unpublished';
  18.            
  19.             $preview_link = ($row['published'] == 1) ? "<a href=\"../{$config['miniblog-filename']}?post={$row['post_id']}\"><img src=\"images/view.png\" alt=\"View post\" /></a>&nbsp;&nbsp;&nbsp;" : '';
  20.             $post_list .= "<tr>
  21.                                 <td><a href=\"admin.php?mode=edit&id={$row['post_id']}\">{$row['post_title']}</a></td>
  22.                                 <td>" . date($config['date-format'], $row['date']) . "</td>
  23.                                 <td>{$published}</td>
  24.                                 <td>
  25.                                 {$preview_link}
  26.                                 <a href=\"admin.php?mode=delete&id={$row['post_id']}\" onclick=\"return confirm_dialog('admin.php?mode=delete&id={$row['post_id']}', 'This will remove the post, are you sure you want to continue?')\"><img src=\"images/delete.png\" alt=\"Remove\" /></a>
  27.                                 </td>
  28.                             </tr>";
  29.         }
  30.        
  31.            
  32.         include('list.php');
  33.     break;
  34.    
  35.  
  36.  
  37.     case 'edit':
  38.        
  39.         $id = mysql_real_escape_string($_GET['id']);
  40.        
  41.         $post_sql = "SELECT * FROM `miniblog` WHERE `post_id` = '{$id}'";
  42.         $result = mysql_query($post_sql);
  43.         $post = mysql_fetch_assoc($result);
  44.  
  45.         if(mysql_num_rows($result) == 1)
  46.         {
  47.            
  48.             if(isset($_POST['miniblog_PostBack']))
  49.             {
  50.                
  51.                 $data = $_POST['data'];
  52.                
  53.                 if($_POST['data']['post_title'] != $post['post_title'])
  54.                 {
  55.                     $data['post_slug'] = mb_slug($_POST['data']['post_title']);
  56.                 }
  57.                
  58.                 $sql = '';
  59.                 $i = 1;
  60.                 foreach($data as $field => $value)
  61.                 {
  62.                     if($value == '')
  63.                     {
  64.                         $failed = true;
  65.                         break;
  66.                     }
  67.                    
  68.                     $sql .= "`" . mysql_real_escape_string($field) . "` = '" . mysql_real_escape_string($value) . "'";
  69.                     $sql .= ($i == sizeof($data)) ? '' : ', ';
  70.                                        
  71.                     $i++;
  72.                 }
  73.                
  74.                 if($failed)
  75.                 {          
  76.                     $response_text = 'Error: You must fill out all fields';
  77.                 }
  78.                 else
  79.                 {  
  80.                     $sql = mysql_query("UPDATE `miniblog` SET {$sql} WHERE `post_id` = '{$id}'") or die(mysql_error());
  81.                     $result = mysql_query($post_sql);
  82.                     $post = mysql_fetch_assoc($result);
  83.                    
  84.                     $response_text = 'Post updated';
  85.                 }
  86.             }
  87.        
  88.                        
  89.             include('edit.php');
  90.         }
  91.     break;
  92.    
  93.    
  94.    
  95.    
  96.    
  97.    
  98.    
  99.    
  100.    
  101.    
  102.     case 'options':
  103.    
  104.         if(isset($_POST['miniblog_PostBack']))
  105.         {
  106.            
  107.                 $data = $_POST['data'];
  108.  
  109.                 foreach($data as $name => $value)
  110.                 {
  111.                    
  112.                     if($value == '')
  113.                     {
  114.                         $failed = true;
  115.                         break;
  116.                     }
  117.                    
  118.                     $name = mysql_real_escape_string($name);
  119.                     $value = mysql_real_escape_string($value);
  120.                    
  121.                     $sql = mysql_query("UPDATE `miniblog_config` SET `config_value` = '{$value}' WHERE `config_name` = '{$name}'") or die(mysql_error());
  122.                
  123.                 }
  124.                
  125.                 if($failed)
  126.                 {
  127.                     $response_text = 'Error: You must fill out all fields';
  128.                 }
  129.                 else
  130.                 {
  131.                     $response_text = 'Options updated';
  132.                 }          
  133.                
  134.            
  135.         }
  136.        
  137.         $sql = mysql_query("SELECT * FROM `miniblog_config` WHERE `config_name` <> 'password'");
  138.        
  139.         while($row = mysql_fetch_array($sql))
  140.         {
  141.             $option_list .= "<p>
  142.                                 <label for=\"{$row['config_name']}\">" . str_replace('-', ' ', trim(ucfirst($row['config_name']))) . "</label><br />
  143.                                 <input type=\"text\" name=\"data[{$row['config_name']}]\" value=\"" . stripslashes($row['config_value']) . "\" id=\"{$row['config_name']}\" /><br /><span class=\"form-text\">{$row['config_explain']}</span>
  144.                             </p>";
  145.         }
  146.    
  147.         include('options.php');
  148.        
  149.     break;
  150.    
  151.    
  152.    
  153.    
  154.    
  155.    
  156.    
  157.     case 'add':
  158.        
  159.         if(isset($_POST['miniblog_PostBack']))
  160.         {
  161.                 $data = $_POST['data'];
  162.                
  163.                 $data['post_slug'] = mb_slug($_POST['data']['post_title']);
  164.                 $data['date']      = time();
  165.                
  166.                 $sql ='';
  167.                 $i = 1;
  168.                 foreach($data as $field => $value)
  169.                 {
  170.                     if($value == '')
  171.                     {
  172.                         $failed = true;
  173.                         break;
  174.                     }
  175.                     $fields .= "`" . mysql_real_escape_string($field) . "`";
  176.                     $values .= "'" . mysql_real_escape_string($value) . "'";
  177.                    
  178.                     $values .= ($i == sizeof($data)) ? '' : ', ';
  179.                     $fields .= ($i == sizeof($data)) ? '' : ', ';
  180.                    
  181.                     $i++;
  182.                 }
  183.                
  184.                 $post = $_POST['data'];
  185.                
  186.                 if($failed)
  187.                 {
  188.                     $response_text = 'Error: You must fill out all fields';
  189.                 }
  190.                 else
  191.                 {
  192.                     $result = mysql_query("INSERT INTO `miniblog` ({$fields}) VALUES({$values})");
  193.                     $response_text = ($result) ? 'Post added' : 'Post could not be added';
  194.                 }
  195.            
  196.         }
  197.        
  198.         include('edit.php');
  199.        
  200.     break;
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.     case 'delete':
  214.        
  215.         $id = mysql_real_escape_string($_GET['id']);
  216.        
  217.         $post_sql = "SELECT * FROM `miniblog` WHERE `post_id` = '{$id}'";
  218.         $result = mysql_query($post_sql);
  219.        
  220.         if(mysql_num_rows($result) == 1)
  221.         {
  222.             $result = mysql_query("DELETE FROM `miniblog` WHERE `post_id` = '{$id}'");
  223.             if($result)
  224.             {
  225.                 header("Location: admin.php?mode=list");
  226.             }
  227.             else
  228.             {
  229.                 die(mysql_error());
  230.             }
  231.         }
  232.         else
  233.         {
  234.             header("Location: admin.php?mode=list");
  235.         }
  236.     break;
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.     case 'login':
  247.    
  248.         if(isset($_POST['SimplePoll_Login']))
  249.         {
  250.             if(md5($_POST['password']) == PASSWORD)
  251.             {
  252.                 session_start();
  253.                 $_SESSION['miniblog_Admin'] = true;
  254.                 $_SESSION['miniblog_AdminPass'] = PASSWORD;
  255.                 define('miniblog_ID', md5(time()));
  256.                
  257.                 header('Location: admin.php?mode=list');
  258.             }
  259.             else
  260.             {
  261.                 $error_text = 'Incorrect password';
  262.             }
  263.         }
  264.        
  265.         include('login.php');
  266.    
  267.    
  268.     break;
  269.    
  270.    
  271.    
  272.    
  273.    
  274.    
  275.    
  276.    
  277.    
  278.    
  279.    
  280.    
  281.     case 'password':
  282.        
  283.         if(isset($_POST['miniblog_PostBack']))
  284.         {
  285.        
  286.             if($_POST['current_password'] != '' && $_POST['new_password'] != '' && $_POST['confirm_password'] != '')
  287.             {
  288.                 $current_password = md5($_POST['current_password']);
  289.                 $new_password     = md5($_POST['new_password']);
  290.                 $confirm_password = md5($_POST['confirm_password']);
  291.                
  292.                 $real_current_pass = mysql_result(mysql_query("SELECT `config_value` FROM `miniblog_config` WHERE `config_name` = 'password'"), 0);
  293.                
  294.                 if($current_password == $real_current_pass)
  295.                 {
  296.                    
  297.                     if($new_password == $confirm_password)
  298.                     {
  299.                         $result = mysql_query("UPDATE `miniblog_config` SET `config_value` = '{$new_password}' WHERE `config_name` = 'password'");
  300.                         if($result)
  301.                         {
  302.                             $response_text = 'Password updated';
  303.                         }
  304.                         else
  305.                         {
  306.                             $response_text = 'Could not update password';
  307.                         }
  308.                     }
  309.                     else
  310.                     {
  311.                         $response_text = 'Both passwords must match';
  312.                     }
  313.    
  314.                 }
  315.                 else
  316.                 {
  317.                     $response_text = 'Current password incorrect';
  318.                 }          
  319.             }
  320.             else
  321.             {
  322.                 $response_text = 'You must fill out all fields';
  323.             }
  324.         }
  325.        
  326.        
  327.        
  328.         include('password.php');
  329.        
  330.     break;
  331.  
  332.    
  333.    
  334.    
  335.    
  336.    
  337.    
  338.    
  339.    
  340.    
  341.    
  342.     case 'logout':
  343.         $_SESSION['miniblog_Admin'] = false;
  344.         unset($_SESSION['miniblog_Admin']);
  345.         unset($_SESSION['miniblog_AdminPass']);
  346.         session_destroy();
  347.         header('Location: admin.php?mode=login');
  348.     break;
  349.        
  350. }
  351. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement