decir/admincp/admin_base.php
author Dan
Tue, 13 Nov 2007 19:39:50 -0500
changeset 6 3f66ec435f08
child 7 37387f84fe25
permissions -rw-r--r--
Some basic admin implemented
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 = array();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    16
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    17
// Only load the actual admin modules if they're needed
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    18
function page_Special_DecirAdmin_preloader()
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    19
{
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    20
  global $db, $session, $paths, $template, $plugins; // Common objects
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    21
  global $decir_menu;
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    22
  require( DECIR_ROOT . '/admincp/admin_index.php' );
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    23
  require( DECIR_ROOT . '/admincp/admin_forums.php' );
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    24
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    25
  $decir_menu['Special|Administration'] = 'Main administration panel';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    26
}
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    27
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    28
$plugins->attachHook('base_classes_initted', '
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    29
    $paths->add_page(Array(
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    30
      \'name\'=>\'Decir Administration Panel\',
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    31
      \'urlname\'=>\'DecirAdmin\',
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    32
      \'namespace\'=>\'Special\',
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    33
      \'special\'=>0,\'visible\'=>0,\'comments_on\'=>0,\'protected\'=>1,\'delvotes\'=>0,\'delvote_ips\'=>\'\',
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    34
      ));
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    35
  ');
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    36
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    37
function page_Special_DecirAdmin()
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    38
{
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    39
  global $db, $session, $paths, $template, $plugins; // Common objects
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    40
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    41
  if ( $session->user_level < USER_LEVEL_ADMIN )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    42
    die_friendly('Access denied', '<p>This page is restricted access.</p>');
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    43
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    44
  if ( $session->auth_level < USER_LEVEL_ADMIN )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    45
    redirect(makeUrlNS('Special', 'Login/' . $paths->page, 'level=' . USER_LEVEL_ADMIN, true), '', '', 0);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    46
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    47
  $session->theme = 'admin';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    48
  $session->style = 'default';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    49
  $template = false;
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    50
  unset($GLOBALS['template']);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    51
  unset($template);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    52
  $GLOBALS['template'] = new template();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    53
  $template =& $GLOBALS['template'];
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    54
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    55
  $template->header();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    56
  ?>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    57
  Add or remove forums, control user permissions, and check forum statistics.
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    58
  <table border="0" cellspacing="0" cellpadding="0" width="100%" style="margin-top: 10px;">
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    59
    <tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    60
      <td style="padding-right: 20px; width: 200px;" valign="top">
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    61
        <h4 style="margin: 0 0 10px 0;">Decir configuration</h4>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    62
        <ul>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    63
          <?php
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    64
            global $decir_menu;
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    65
            foreach ( $decir_menu as $page_id => $link_text )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    66
            {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    67
              if ( strpos($page_id, '|') )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    68
              {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    69
                $namesp  = substr($page_id, 0, strpos($page_id, '|'));
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    70
                $page_id = substr($page_id, strpos($page_id, '|') + 1);                
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    71
              }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    72
              else
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    73
              {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    74
                $namesp = 'Admin';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    75
              }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    76
              $link_text = htmlspecialchars($link_text);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    77
              if ( $namesp == 'Admin' )
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    78
              {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    79
                $url = makeUrlNS('Special', 'DecirAdmin', 'module=' . $paths->nslist[$namesp] . $page_id, true);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    80
              }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    81
              else
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    82
              {
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    83
                $url = makeUrlNS($namesp, $page_id);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    84
              }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    85
              echo '<li><a href="' . $url . "\">$link_text</a></li>";
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    86
            }
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    87
          ?>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    88
        </ul>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    89
      </td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    90
      <td valign="top">
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    91
        <?php
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    92
          $module = ( isset($_GET['module']) ) ? $_GET['module'] : $paths->nslist['Admin'] . 'DecirIndex';
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    93
          list($page_id, $namespace) = RenderMan::strToPageID($module);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    94
          $page = new PageProcessor($page_id, $namespace);
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    95
          $page->send();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    96
        ?>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    97
      </td>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    98
    </tr>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
    99
  </table>
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
   100
  <?php
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
   101
  
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
   102
  $template->footer();
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
   103
}
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
   104
3f66ec435f08 Some basic admin implemented
Dan
parents:
diff changeset
   105
?>