decir/admincp/admin_index.php
author Dan
Thu, 29 Nov 2007 21:48:02 -0500
changeset 11 5585ac341820
parent 7 37387f84fe25
permissions -rw-r--r--
SECURITY: fix stupid XSS vulnerability on initial post submit; add in support for the new search API
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     1
<?php
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     2
/*
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     3
 * Decir
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     4
 * Version 0.1
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     5
 * Copyright (C) 2007 Dan Fuhry
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     6
 * admin_base.php - lowlevel loader for the Decir admin panel
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     7
 *
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     8
 * This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
     9
 * as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    10
 *
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    11
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    12
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    13
 */
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    14
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    15
$decir_menu['DecirIndex'] = 'Administration home';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    16
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    17
function page_Admin_DecirIndex()
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    18
{
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    19
  global $db, $session, $paths, $template, $plugins; // Common objects
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    20
  if ( $session->auth_level < USER_LEVEL_ADMIN || $session->user_level < USER_LEVEL_ADMIN )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    21
  {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    22
    echo '<h3>Error: Not authenticated</h3><p>It looks like your administration session is invalid or you are not authorized to access this administration page. Please <a href="' . makeUrlNS('Special', 'Login/' . $paths->nslist['Special'] . 'Administration', 'level=' . USER_LEVEL_ADMIN, true) . '">re-authenticate</a> to continue.</p>';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    23
    return;
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    24
  }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    25
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    26
  //
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    27
  // Obtain forum statistics
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    28
  //
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    29
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    30
  // Number of users
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    31
  $q = $db->sql_query('SELECT COUNT(user_id)-1 AS num_users FROM ' . table_prefix . 'users;');
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    32
  if ( !$q )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    33
    $db->_die();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    34
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    35
  $row = $db->fetchrow();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    36
  $db->free_result();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    37
  $num_users = $row['num_users'];
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    38
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    39
  // Number of posts
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    40
  $q = $db->sql_query('SELECT COUNT(post_id) AS num_posts FROM ' . table_prefix . 'decir_posts;');
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    41
  if ( !$q )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    42
    $db->_die();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    43
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    44
  $row = $db->fetchrow();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    45
  $db->free_result();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    46
  $num_posts = $row['num_posts'];
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    47
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    48
  // Board start date
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    49
  $date = intval( getConfig('decir_install_date') );
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    50
  if ( !$date )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    51
  {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    52
    $date = time();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    53
    setConfig('decir_install_date', $date);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    54
  }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    55
  $start_date = date('F d, Y h:i a', $date);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    56
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    57
  // Average posts per day
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    58
  $board_age_days = round( ( time() / ( 60*60*24 ) ) - ( $date / ( 60*60*24 ) ) );
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    59
  if ( $board_age_days < 1 )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    60
  {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    61
    $avg_posts = $num_posts;
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    62
  }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    63
  else
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    64
  {
7
37387f84fe25 Add edit functionality to forum management and implemented a sick drag-and-drop reordering system for forums
Dan
parents: 6
diff changeset
    65
    $avg_posts = round($num_posts / $board_age_days, 3);
6
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    66
  }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    67
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    68
  echo '<h3>Administration home</h3>';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    69
  echo '<p>Thank you for choosing Decir as your forum solution. From this panel you can control every aspect of your forum\'s behavior and appearance. If you need support
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    70
           for Decir, you can visit the <a href="http://forum.enanocms.org/">Enano support forums</a>.</p>';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    71
  echo '<h3>Board statistics</h3>';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    72
  echo "<div class=\"tblholder\">
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    73
          <table border=\"0\" cellspacing=\"1\" cellpadding=\"4\">
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    74
            <tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    75
              <th colspan=\"4\">Board statistics</th>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    76
            </tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    77
            <tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    78
              <td style=\"width: 25%;\" class=\"row1\"><b>Number of users:</b></td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    79
              <td style=\"width: 25%;\" class=\"row2\">{$num_users}</td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    80
              
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    81
              <td style=\"width: 25%;\" class=\"row1\"><b>Number of posts:</b></td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    82
              <td style=\"width: 25%;\" class=\"row2\">{$num_posts}</td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    83
            </tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    84
            <tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    85
              <td style=\"width: 25%;\" class=\"row1\"><b>Board started:</b></td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    86
              <td style=\"width: 25%;\" class=\"row2\">{$start_date} ({$board_age_days} days ago)</td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    87
              
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    88
              <td style=\"width: 25%;\" class=\"row1\"><b>Average posts per day:</b></td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    89
              <td style=\"width: 25%;\" class=\"row2\">{$avg_posts}</td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    90
            </tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    91
          </table>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    92
        </div>";
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    93
}
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    94
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    95
?>