plugins/admin/PageGroups.php
author Dan
Thu, 27 Dec 2007 22:09:33 -0500
changeset 335 67bd3121a12e
parent 334 c72b545f1304
child 345 4ccdfeee9a11
permissions -rw-r--r--
Replaced TinyMCE 2.x with 3.0 beta 3. Supports everything but IE. Also rewrote the editor interface completely from the ground up.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
     1
<?php
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
     2
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
     3
/*
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
     4
 * Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between
317
f8356d9c3481 Rebrand as 1.0.3 (Dyrad)
Dan
parents: 195
diff changeset
     5
 * Version 1.0.3 (Dyrad)
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
     6
 * Copyright (C) 2006-2007 Dan Fuhry
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
     7
 *
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
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
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
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.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    10
 *
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
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
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    12
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    13
 */
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    14
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    15
function page_Admin_PageGroups()
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    16
{
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    17
  global $db, $session, $paths, $template, $plugins; // Common objects
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    18
  if ( $session->auth_level < USER_LEVEL_ADMIN || $session->user_level < USER_LEVEL_ADMIN )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    19
  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    20
    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>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    21
    return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    22
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    23
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    24
  if ( isset($_POST['action']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    25
  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    26
    if ( isset($_POST['action']['create']) || isset($_POST['action']['create_stage2']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    27
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    28
      switch ( isset($_POST['action']['create_stage2']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    29
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    30
        case true:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    31
          if ( empty($_POST['pg_name']) || empty($_POST['group_type']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    32
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    33
            echo '<div class="error-box">Please enter a name for the page group.</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    34
            return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    35
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    36
          if ( $_POST['group_type'] == PAGE_GRP_TAGGED && empty($_POST['member_tag']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    37
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    38
            echo '<div class="error-box">Please enter a page tag.</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    39
            return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    40
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    41
          if ( $_POST['group_type'] == PAGE_GRP_CATLINK && empty($_POST['member_cat']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    42
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    43
            echo '<div class="error-box">Please create a category page before linking a page group to a category.</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    44
            return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    45
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    46
          if ( $_POST['group_type'] == PAGE_GRP_NORMAL && empty($_POST['member_page_0']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    47
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    48
            echo '<div class="error-box">Please specify at least one page to place in this group.</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    49
            return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    50
          }
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
    51
          if ( $_POST['group_type'] == PAGE_GRP_REGEX && empty($_POST['regex']) )
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
    52
          {
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
    53
            echo '<div class="error-box">Please specify a regular expression to match page IDs against.</div>';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
    54
            return;
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
    55
          }
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
    56
          if ( $_POST['group_type'] != PAGE_GRP_TAGGED && $_POST['group_type'] != PAGE_GRP_CATLINK && $_POST['group_type'] != PAGE_GRP_NORMAL && $_POST['group_type'] != PAGE_GRP_REGEX )
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    57
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    58
            echo '<div class="error-box">Umm, you sent an invalid group type. I\'d put a real error message here but this will only be shown if you try to hack the system.</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    59
            return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    60
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    61
          // All checks passed, create the group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    62
          switch($_POST['group_type'])
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    63
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    64
            case PAGE_GRP_TAGGED:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    65
              $name = $db->escape($_POST['pg_name']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    66
              $tag  = $db->escape($_POST['member_tag']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    67
              $sql = 'INSERT INTO '.table_prefix.'page_groups(pg_type,pg_name,pg_target) VALUES(' . PAGE_GRP_TAGGED . ', \'' . $name . '\', \'' . $tag . '\');';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    68
              $q = $db->sql_query($sql);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    69
              if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    70
                $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    71
              break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    72
            case PAGE_GRP_CATLINK:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    73
              $name = $db->escape($_POST['pg_name']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    74
              $cat  = $db->escape($_POST['member_cat']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    75
              $sql = 'INSERT INTO '.table_prefix.'page_groups(pg_type,pg_name,pg_target) VALUES(' . PAGE_GRP_CATLINK . ', \'' . $name . '\', \'' . $cat . '\');';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    76
              $q = $db->sql_query($sql);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    77
              if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    78
                $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    79
              break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    80
            case PAGE_GRP_NORMAL:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    81
              $name = $db->escape($_POST['pg_name']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    82
              $sql = 'INSERT INTO '.table_prefix.'page_groups(pg_type,pg_name) VALUES(' . PAGE_GRP_NORMAL . ', \'' . $name . '\');';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    83
              $q = $db->sql_query($sql);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    84
              if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    85
                $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    86
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    87
              $ins_id = $db->insert_id();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    88
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    89
              // Page list
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    90
              $keys = array_keys($_POST);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    91
              $arr_pages = array();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    92
              foreach ( $keys as $val )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    93
              {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    94
                if ( preg_match('/^member_page_([0-9]+?)$/', $val) && !empty($_POST[$val]) && isPage($_POST[$val]) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    95
                {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    96
                  $arr_pages[] = $_POST[$val];
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    97
                }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    98
              }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
    99
              $arr_sql = array();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   100
              foreach ( $arr_pages as $page )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   101
              {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   102
                list($id, $ns) = RenderMan::strToPageID($page);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   103
                $id = sanitize_page_id($id);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   104
                $arr_sql[] = '(' . $ins_id . ',\'' . $db->escape($id) . '\', \'' . $ns . '\')';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   105
              }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   106
              $sql = 'INSERT INTO '.table_prefix.'page_group_members(pg_id,page_id,namespace) VALUES' . implode(',', $arr_sql) . ';';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   107
              $q = $db->sql_query($sql);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   108
              if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   109
                $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   110
              break;
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   111
            case PAGE_GRP_REGEX:
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   112
              $name  = $db->escape($_POST['pg_name']);
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   113
              $regex = $db->escape($_POST['regex']);
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   114
              $sql = 'INSERT INTO '.table_prefix.'page_groups(pg_type,pg_name,pg_target) VALUES(' . PAGE_GRP_REGEX . ', \'' . $name . '\', \'' . $regex . '\');';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   115
              $q = $db->sql_query($sql);
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   116
              if ( !$q )
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   117
                $db->_die();
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   118
              break;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   119
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   120
          echo '<div class="info-box">The page group "' . htmlspecialchars($_POST['pg_name']) . '" has been created.</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   121
          break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   122
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   123
      // A little Javascript magic
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   124
      ?>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   125
      <script language="javascript" type="text/javascript">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   126
        function pg_create_typeset(selector)
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   127
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   128
          var pg_normal  = <?php echo PAGE_GRP_NORMAL; ?>;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   129
          var pg_tagged  = <?php echo PAGE_GRP_TAGGED; ?>;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   130
          var pg_catlink = <?php echo PAGE_GRP_CATLINK; ?>;
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   131
          var pg_regex   = <?php echo PAGE_GRP_REGEX; ?>;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   132
          var selection = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   133
          // Get selection
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   134
          for ( var i = 0; i < selector.childNodes.length; i++ )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   135
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   136
            var child = selector.childNodes[i];
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   137
            if ( !child || child.tagName != 'OPTION' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   138
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   139
              continue;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   140
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   141
            if ( child.selected )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   142
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   143
              selection = child.value;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   144
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   145
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   146
          if ( !selection )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   147
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   148
            alert('Cannot get field value');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   149
            return true;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   150
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   151
          selection = parseInt(selection);
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   152
          if ( selection != pg_normal && selection != pg_tagged && selection != pg_catlink && selection != pg_regex )
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   153
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   154
            alert('Invalid field value');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   155
            return true;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   156
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   157
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   158
          // We have the selection and it's validated; show the appropriate field group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   159
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   160
          if ( selection == pg_normal )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   161
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   162
            document.getElementById('pg_create_title_catlink').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   163
            document.getElementById('pg_create_catlink_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   164
            document.getElementById('pg_create_catlink_2').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   165
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   166
            document.getElementById('pg_create_title_tagged').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   167
            document.getElementById('pg_create_tagged_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   168
            document.getElementById('pg_create_tagged_2').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   169
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   170
            document.getElementById('pg_create_title_normal').style.display = 'inline';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   171
            document.getElementById('pg_create_normal_1').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   172
            document.getElementById('pg_create_normal_2').style.display = 'block';
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   173
            
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   174
            document.getElementById('pg_create_title_regex').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   175
            document.getElementById('pg_create_regex_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   176
            document.getElementById('pg_create_regex_2').style.display = 'none';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   177
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   178
          else if ( selection == pg_catlink )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   179
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   180
            document.getElementById('pg_create_title_catlink').style.display = 'inline';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   181
            document.getElementById('pg_create_catlink_1').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   182
            document.getElementById('pg_create_catlink_2').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   183
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   184
            document.getElementById('pg_create_title_tagged').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   185
            document.getElementById('pg_create_tagged_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   186
            document.getElementById('pg_create_tagged_2').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   187
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   188
            document.getElementById('pg_create_title_normal').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   189
            document.getElementById('pg_create_normal_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   190
            document.getElementById('pg_create_normal_2').style.display = 'none';
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   191
            
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   192
            document.getElementById('pg_create_title_regex').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   193
            document.getElementById('pg_create_regex_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   194
            document.getElementById('pg_create_regex_2').style.display = 'none';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   195
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   196
          else if ( selection == pg_tagged )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   197
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   198
            document.getElementById('pg_create_title_catlink').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   199
            document.getElementById('pg_create_catlink_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   200
            document.getElementById('pg_create_catlink_2').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   201
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   202
            document.getElementById('pg_create_title_tagged').style.display = 'inline';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   203
            document.getElementById('pg_create_tagged_1').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   204
            document.getElementById('pg_create_tagged_2').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   205
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   206
            document.getElementById('pg_create_title_normal').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   207
            document.getElementById('pg_create_normal_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   208
            document.getElementById('pg_create_normal_2').style.display = 'none';
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   209
            
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   210
            document.getElementById('pg_create_title_regex').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   211
            document.getElementById('pg_create_regex_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   212
            document.getElementById('pg_create_regex_2').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   213
          }
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   214
          else if ( selection == pg_regex )
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   215
          {
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   216
            document.getElementById('pg_create_title_catlink').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   217
            document.getElementById('pg_create_catlink_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   218
            document.getElementById('pg_create_catlink_2').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   219
            
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   220
            document.getElementById('pg_create_title_tagged').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   221
            document.getElementById('pg_create_tagged_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   222
            document.getElementById('pg_create_tagged_2').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   223
            
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   224
            document.getElementById('pg_create_title_normal').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   225
            document.getElementById('pg_create_normal_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   226
            document.getElementById('pg_create_normal_2').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   227
            
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   228
            document.getElementById('pg_create_title_regex').style.display = 'inline';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   229
            document.getElementById('pg_create_regex_1').style.display = 'block';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   230
            document.getElementById('pg_create_regex_2').style.display = 'block';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   231
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   232
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   233
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   234
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   235
        // Set to pg_normal on page load
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   236
        var pg_createform_init = function()
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   237
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   238
          document.getElementById('pg_create_title_catlink').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   239
          document.getElementById('pg_create_catlink_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   240
          document.getElementById('pg_create_catlink_2').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   241
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   242
          document.getElementById('pg_create_title_tagged').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   243
          document.getElementById('pg_create_tagged_1').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   244
          document.getElementById('pg_create_tagged_2').style.display = 'none';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   245
          
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   246
          document.getElementById('pg_create_title_regex').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   247
          document.getElementById('pg_create_regex_1').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   248
          document.getElementById('pg_create_regex_2').style.display = 'none';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   249
          
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   250
          document.getElementById('pg_create_title_normal').style.display = 'inline';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   251
          document.getElementById('pg_create_normal_1').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   252
          document.getElementById('pg_create_normal_2').style.display = 'block';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   253
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   254
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   255
        addOnloadHook(pg_createform_init);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   256
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   257
        function pg_create_more_fields()
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   258
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   259
          var targettd = document.getElementById('pg_create_normal_2');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   260
          var id = 0;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   261
          for ( var i = 0; i < targettd.childNodes.length; i++ )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   262
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   263
            var child = targettd.childNodes[i];
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   264
            if ( child.tagName == 'INPUT' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   265
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   266
              if ( child.type == 'button' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   267
              {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   268
                var newInp = document.createElement('input');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   269
                // <input type="text" name="member_page_1" id="pg_create_member_1" onkeyup="return ajaxPageNameComplete(this);" size="30" /><br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   270
                newInp.type    = 'text';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   271
                newInp.name    = 'member_page_' + id;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   272
                newInp.id      = 'pg_create_member_' + id;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   273
                newInp.onkeyup = function(e) { return ajaxPageNameComplete(this); };
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   274
                newInp.size    = '30';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   275
                newInp.style.marginTop = '3px';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   276
                targettd.insertBefore(newInp, child);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   277
                targettd.insertBefore(document.createElement('br'), child);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   278
                break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   279
              }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   280
              else // if ( child.type == 'text' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   281
              {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   282
                id++;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   283
              }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   284
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   285
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   286
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   287
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   288
      </script>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   289
      <?php
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   290
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   291
      // Build category list
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   292
      $q = $db->sql_query('SELECT name,urlname FROM '.table_prefix.'pages WHERE namespace=\'Category\';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   293
      if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   294
        $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   295
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   296
      if ( $db->numrows() < 1 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   297
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   298
        $catlist = 'There aren\'t any categories on this site.';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   299
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   300
      else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   301
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   302
        $catlist = '<select name="member_cat">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   303
        while ( $row = $db->fetchrow() )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   304
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   305
          $catlist .= '<option value="' . htmlspecialchars($row['urlname']) . '">' . htmlspecialchars($row['name']) . '</option>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   306
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   307
        $catlist .= '</select>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   308
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   309
      
117
7cfdbb2fd17a Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents: 81
diff changeset
   310
      echo '<script type="text/javascript">
7cfdbb2fd17a Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents: 81
diff changeset
   311
              var __pg_edit_submitAuthorized = true;
7cfdbb2fd17a Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents: 81
diff changeset
   312
            </script>';
7cfdbb2fd17a Bugfix in Special:AllPages; fixed tinyMCE under Opera (finally!)
Dan
parents: 81
diff changeset
   313
      
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   314
      echo '<form action="'.makeUrl($paths->nslist['Special'].'Administration', 'module='.$paths->cpage['module']).'" method="post" onsubmit="if(!submitAuthorized || !__pg_edit_submitAuthorized) return false;" enctype="multipart/form-data">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   315
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   316
      echo '<div class="tblholder">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   317
            <table border="0" cellspacing="1" cellpadding="4">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   318
              <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   319
              <th colspan="2">Create page group</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   320
              </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   321
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   322
      // Name
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   323
      echo '<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   324
              <td class="row2">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   325
              Group name:<br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   326
              <small>This should be short, descriptive, and human-readable.</small>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   327
              </td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   328
              <td class="row1">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   329
              <input type="text" name="pg_name" size="30" />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   330
              </td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   331
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   332
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   333
      // Group type
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   334
      echo '<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   335
              <td class="row2">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   336
              Group type:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   337
              </td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   338
              <td class="row1">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   339
              <select name="group_type" onchange="pg_create_typeset(this);">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   340
                <option value="' . PAGE_GRP_NORMAL  . '" selected="selected">Static group of pages</option>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   341
                <option value="' . PAGE_GRP_TAGGED  . '">Group of pages with one tag</option>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   342
                <option value="' . PAGE_GRP_CATLINK . '">Link to category</option>
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   343
                <option value="' . PAGE_GRP_REGEX   . '">Perl-compatible regular expression (advanced)</option>
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   344
              </select>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   345
              </td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   346
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   347
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   348
      // Titles
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   349
      echo '<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   350
              <th colspan="2">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   351
                <span id="pg_create_title_normal">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   352
                  Static group of pages
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   353
                </span>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   354
                <span id="pg_create_title_tagged">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   355
                  Group of commonly tagged pages
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   356
                </span>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   357
                <span id="pg_create_title_catlink">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   358
                  Mirror a category
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   359
                </span>
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   360
                <span id="pg_create_title_regex">
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   361
                  Filter through a regular expression
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   362
                </span>
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   363
              </th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   364
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   365
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   366
      echo '<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   367
              <td class="row2">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   368
                <div id="pg_create_normal_1">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   369
                  Member pages:<br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   370
                  <small>Click the "plus" button to add more fields.</small>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   371
                </div>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   372
                <div id="pg_create_catlink_1">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   373
                  Include pages in this category:<br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   374
                  <small>Pages in subcategories are <u>not</u> included, however subcategory pages themselves are.</small>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   375
                </div>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   376
                <div id="pg_create_tagged_1">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   377
                  Include pages with this tag:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   378
                </div>
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   379
                <div id="pg_create_regex_1">
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   380
                  Regular expression:<br />
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   381
                  <small>Be sure to include the starting and ending delimiters and any flags you might need.<br />
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   382
                         These pages might help: <a href="http://us.php.net/manual/en/reference.pcre.pattern.modifiers.php">Pattern modifiers</a> &bull;
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   383
                         <a href="http://us.php.net/manual/en/reference.pcre.pattern.syntax.php">Pattern syntax</a><br />
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   384
                         Examples: <tt>/^(Special|Admin):/i</tt> &bull; <tt>/^Image:([0-9]+)$/</tt><br />
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   385
                         Developers, remember that this will be matched against the full page identifier string. This means that <tt>/^About_Enano$/</tt>
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   386
                         will NOT match the page Special:About_Enano.</small>
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   387
              </td>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   388
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   389
      echo '  <td class="row1">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   390
                <div id="pg_create_normal_2" />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   391
                  <input type="text" style="margin-top: 3px;" name="member_page_0" id="pg_create_member_0" onkeyup="return ajaxPageNameComplete(this);" size="30" /><br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   392
                  <input type="text" style="margin-top: 3px;" name="member_page_1" id="pg_create_member_1" onkeyup="return ajaxPageNameComplete(this);" size="30" /><br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   393
                  <input type="text" style="margin-top: 3px;" name="member_page_2" id="pg_create_member_2" onkeyup="return ajaxPageNameComplete(this);" size="30" /><br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   394
                  <input type="text" style="margin-top: 3px;" name="member_page_3" id="pg_create_member_3" onkeyup="return ajaxPageNameComplete(this);" size="30" /><br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   395
                  <input type="text" style="margin-top: 3px;" name="member_page_4" id="pg_create_member_4" onkeyup="return ajaxPageNameComplete(this);" size="30" /><br />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   396
                  <input type="button" onclick="pg_create_more_fields(); return false;" style="margin-top: 5px;" value="&nbsp;&nbsp;+&nbsp;&nbsp;" />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   397
                </div>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   398
                <div id="pg_create_tagged_2">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   399
                  <input type="text" name="member_tag" size="30" />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   400
                </div>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   401
                <div id="pg_create_catlink_2">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   402
                  ' . $catlist . '
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   403
                </div>
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   404
                <div id="pg_create_regex_2">
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   405
                  <input type="text" name="regex" size="60" /> 
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
   406
                </div>
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   407
              </td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   408
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   409
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   410
      // Submit button
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   411
      echo '<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   412
              <th class="subhead" colspan="2"><input type="submit" name="action[create_stage2]" value="Create page group" style="font-weight: bold;" /> <input type="submit" name="action[noop]" value="Cancel" style="font-weight: normal;" /></th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   413
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   414
            
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   415
      echo '</table>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   416
            </div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   417
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   418
      echo '</form>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   419
      return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   420
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   421
    else if ( isset($_POST['action']['del']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   422
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   423
      // Confirmation to delete a group (this is really only a stub)
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   424
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   425
      $delete_id = array_keys($_POST['action']['del']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   426
      $delete_id = intval($delete_id[0]);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   427
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   428
      if ( !empty($delete_id) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   429
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   430
        echo '<form action="'.makeUrl($paths->nslist['Special'].'Administration', 'module='.$paths->cpage['module']).'" method="post" onsubmit="if(!submitAuthorized) return false;" enctype="multipart/form-data">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   431
        echo '<input type="hidden" name="delete_id" value="' . $delete_id . '" />';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   432
        echo '<div class="tblholder">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   433
        echo '  <table border="0" cellspacing="1" cellpadding="4">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   434
        echo '    <tr><th>Confirm deletion</th></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   435
        echo '    <tr><td class="row2" style="text-align: center; padding: 20px 0;">Are you sure you want to delete this page group?</td></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   436
        echo '    <tr><td class="row1" style="text-align: center;">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   437
        echo '        <input type="submit" name="action[del_confirm]" value="Yes, delete group" style="font-weight: bold;" />';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   438
        echo '        <input type="submit" name="action[noop]" value="Cancel" style="font-weight: normal;" />';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   439
        echo '        </td></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   440
        echo '  </table>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   441
        echo '</form>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   442
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   443
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   444
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   445
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   446
    else if ( isset($_POST['action']['del_confirm']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   447
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   448
      $delete_id = intval($_POST['delete_id']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   449
      if ( empty($delete_id) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   450
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   451
        echo 'Hack attempt';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   452
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   453
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   454
      // Obtain group name
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   455
      $q = $db->sql_query('SELECT pg_name FROM '.table_prefix.'page_groups WHERE pg_id=' . $delete_id . ';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   456
      if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   457
        $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   458
      if ( $db->numrows() < 1 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   459
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   460
        echo 'Page group dun exist.';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   461
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   462
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   463
      $row = $db->fetchrow();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   464
      $db->free_result();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   465
      $pg_name = $row['pg_name'];
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   466
      unset($row);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   467
      // Delete the group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   468
      $q = $db->sql_query('DELETE FROM '.table_prefix.'page_groups WHERE pg_id=' . $delete_id . ';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   469
      if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   470
        $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   471
      $q = $db->sql_query('DELETE FROM '.table_prefix.'page_group_members WHERE pg_id=' . $delete_id . ';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   472
      if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   473
        $db->_die();
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   474
      echo "<div class='info-box'>The group ".'"'.htmlspecialchars("$pg_name").'"'." has been deleted.</div>";
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   475
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   476
    else if ( isset($_POST['action']['edit']) && !isset($_POST['action']['noop']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   477
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   478
      if ( isset($_POST['action']['edit_save']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   479
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   480
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   481
     
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   482
      if ( isset($_POST['action']['edit']['add_page']) && isset($_GET['src']) && $_GET['src'] == 'ajax' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   483
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   484
        $return = array('successful' => false);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   485
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   486
        //
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   487
        // Add the specified page to the group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   488
        //
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   489
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   490
        // Get ID of the group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   491
        $edit_id = intval($_POST['pg_id']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   492
        if ( !$edit_id )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   493
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   494
          $return = array('mode' => 'error', 'text' => 'Hack attempt');
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   495
          echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   496
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   497
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   498
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   499
        // Run some validation - check that page exists and that it's not already in the group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   500
        $page = $_POST['new_page'];
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   501
        if ( empty($page) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   502
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   503
          $return = array('mode' => 'error', 'text' => 'Please enter a page title.');
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   504
          echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   505
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   506
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   507
        
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   508
        /*
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   509
        // We're gonna allow adding nonexistent pages for now
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   510
        if ( !isPage($page) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   511
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   512
          $return = array('mode' => 'error', 'text' => 'The page you are trying to add (' . htmlspecialchars($page) . ') does not exist.');
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   513
          echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   514
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   515
        }
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   516
        */
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   517
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   518
        list($page_id, $namespace) = RenderMan::strToPageID($page);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   519
        $page_id = sanitize_page_id($page_id);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   520
        
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   521
        if ( !isset($paths->namespace[$namespace]) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   522
        {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   523
          $return = array('mode' => 'error', 'text' => 'Invalid namespace return from RenderMan::strToPageID()');
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   524
          echo enano_json_encode($return);
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   525
          return;
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   526
        }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   527
        
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   528
        $q = $db->sql_query('SELECT "x" FROM '.table_prefix.'page_group_members WHERE pg_id=' . $edit_id . ' AND page_id=\'' . $db->escape($page_id) . '\' AND namespace=\'' . $namespace . '\';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   529
        if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   530
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   531
          $return = array('mode' => 'error', 'text' => $db->get_error());
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   532
          echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   533
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   534
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   535
        if ( $db->numrows() > 0 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   536
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   537
          $return = array('mode' => 'error', 'text' => 'The page you are trying to add is already in this group.');
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   538
          echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   539
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   540
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   541
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   542
        $q = $db->sql_query('INSERT INTO '.table_prefix.'page_group_members(pg_id, page_id, namespace) VALUES(' . $edit_id . ', \'' . $db->escape($page_id) . '\', \'' . $namespace . '\');');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   543
        if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   544
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   545
          $return = array('mode' => 'error', 'text' => $db->get_error());
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   546
          echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   547
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   548
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   549
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   550
        $title = "($namespace) " . get_page_title($paths->nslist[$namespace] . $page_id);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   551
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   552
        $return = array('mode' => 'info', 'text' => 'The page has been added to the specified group.', 'successful' => true, 'title' => $title, 'member_id' => $db->insert_id());
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   553
        
334
c72b545f1304 More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents: 326
diff changeset
   554
        echo enano_json_encode($return);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   555
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   556
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   557
      
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   558
      if ( isset($_POST['action']['edit_save']) && isset($_POST['pg_name']) )
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   559
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   560
        $edit_id = $_POST['action']['edit'];
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   561
        $edit_id = intval($edit_id);
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   562
        if ( !empty($edit_id) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   563
        {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   564
          // Update group name
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   565
          $new_name = $_POST['pg_name'];
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   566
          if ( empty($new_name) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   567
          {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   568
            echo '<div class="error-box">Please enter a valid name for this group.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   569
          }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   570
          else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   571
          {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   572
            $q = $db->sql_query('SELECT pg_name FROM '.table_prefix.'page_groups WHERE pg_id=' . $edit_id . ';');
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   573
            if ( !$q )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   574
              $db->_die();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   575
            $row = $db->fetchrow();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   576
            $db->free_result();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   577
            if ( $new_name != $row['pg_name'] )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   578
            {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   579
              $new_name = $db->escape(trim($new_name));
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   580
              $q = $db->sql_query('UPDATE '.table_prefix.'page_groups SET pg_name=\'' . $new_name . '\' WHERE pg_id=' . $edit_id . ';');
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   581
              if ( !$q )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   582
                $db->_die();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   583
              else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   584
                echo '<div class="info-box">The group name was updated successfully.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   585
            }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   586
            if ( $_POST['pg_type'] == PAGE_GRP_TAGGED )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   587
            {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   588
              $target = $_POST['pg_target'];
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   589
              $target = sanitize_tag($target);
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   590
              if ( empty($target) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   591
              {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   592
                echo '<div class="error-box">Please enter a valid tag.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   593
              }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   594
              else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   595
              {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   596
                $target = $db->escape($target);
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   597
                $q = $db->sql_query('UPDATE '.table_prefix.'page_groups SET pg_target=\'' . $target . '\' WHERE pg_id=' . $edit_id . ';');
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   598
                if ( !$q )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   599
                  $db->_die();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   600
                else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   601
                  echo '<div class="info-box">The affecting tag was updated.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   602
              }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   603
            }
183
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   604
            else if ( $_POST['pg_type'] == PAGE_GRP_REGEX )
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   605
            {
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   606
              $target = $_POST['pg_target'];
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   607
              if ( empty($target) )
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   608
              {
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   609
                echo '<div class="error-box">Please enter an expression to match against..</div>';
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   610
              }
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   611
              else
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   612
              {
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   613
                $target = $db->escape($target);
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   614
                $q = $db->sql_query('UPDATE '.table_prefix.'page_groups SET pg_target=\'' . $target . '\' WHERE pg_id=' . $edit_id . ';');
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   615
                if ( !$q )
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   616
                  $db->_die();
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   617
                else
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   618
                  echo '<div class="info-box">The expression to match against was updated.</div>';
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   619
              }
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   620
            }
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   621
            else if ( $_POST['pg_type'] == PAGE_GRP_CATLINK )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   622
            {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   623
              $target = $_POST['pg_target'];
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   624
              if ( empty($target) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   625
              {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   626
                echo '<div class="error-box">No category ID specified on POST URI.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   627
              }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   628
              else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   629
              {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   630
                $target = $db->escape($target);
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   631
                $q = $db->sql_query('UPDATE '.table_prefix.'page_groups SET pg_target=\'' . $target . '\' WHERE pg_id=' . $edit_id . ';');
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   632
                if ( !$q )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   633
                  $db->_die();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   634
                else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   635
                  echo '<div class="info-box">The affecting category was updated.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   636
              }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   637
            }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   638
          }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   639
        }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   640
      }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   641
      else if ( isset($_POST['action']['edit_save']) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   642
      {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   643
        $edit_id = $_POST['action']['edit'];
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   644
        $edit_id = intval($edit_id);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   645
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   646
      else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   647
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   648
        $edit_id = array_keys($_POST['action']['edit']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   649
        $edit_id = intval($edit_id[0]);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   650
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   651
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   652
      if ( empty($edit_id) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   653
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   654
        echo 'Hack attempt';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   655
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   656
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   657
      
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   658
      if ( isset($_POST['action']['edit_save']['do_rm']) && !isset($_POST['pg_name']) )
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   659
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   660
        $vals = array_keys($_POST['action']['edit_save']['rm']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   661
        $good = array();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   662
        foreach ( $vals as $id )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   663
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   664
          if ( strval(intval($id)) == $id )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   665
            $good[] = $id;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   666
        }
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   667
        $subquery = ( count($good) > 0 ) ? 'pg_member_id=' . implode(' OR pg_member_id=', $good) : "'foo'='bar'";
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   668
        if ( $subquery == "'foo'='bar'" )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   669
        {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   670
          echo '<div class="warning-box">No pages were selected for deletion, and thus none were deleted.</div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   671
        }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   672
        else
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   673
        {
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   674
          $sql = 'DELETE FROM '.table_prefix."page_group_members WHERE ( $subquery ) AND pg_id=$edit_id;";
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   675
          if ( !$db->sql_query($sql) )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   676
          {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   677
            $db->_die();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   678
          }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   679
          echo '<div class="info-box">The requested page group members have been deleted.</div>';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   680
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   681
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   682
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   683
      // Fetch information about page group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   684
      $q = $db->sql_query('SELECT pg_name, pg_type, pg_target FROM '.table_prefix.'page_groups WHERE pg_id=' . $edit_id . ';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   685
      if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   686
        $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   687
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   688
      if ( $db->numrows() < 1 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   689
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   690
        echo 'Bad request - can\'t load page group from database.';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   691
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   692
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   693
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   694
      $row = $db->fetchrow();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   695
      $db->free_result();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   696
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   697
      echo '<form name="pg_edit_frm" action="'.makeUrl($paths->nslist['Special'].'Administration', 'module='.$paths->cpage['module']).'" method="post" onsubmit="if(!submitAuthorized) return false;" enctype="multipart/form-data">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   698
      echo '<input type="hidden" name="action[edit]" value="' . $edit_id . '" />';
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   699
      echo '<input type="hidden" name="pg_type" value="' . $row['pg_type'] . '" />';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   700
      echo '<div class="tblholder">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   701
              <table border="0" cellspacing="1" cellpadding="4">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   702
                <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   703
                  <th colspan="3">Editing page group: ' . htmlspecialchars($row['pg_name']) . '</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   704
                </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   705
      // Group name
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   706
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   707
      echo '    <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   708
                  <td class="row2">Group name:</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   709
                  <td class="row1" colspan="2"><input type="text" name="pg_name" value="' . htmlspecialchars($row['pg_name']) . '" size="30" /></td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   710
                </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   711
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   712
      $ajax_page_add = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   713
                
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   714
      // This is where the going gets tricky.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   715
      // For static groups, we need to have each page listed out with a removal button, and a form to add new pages.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   716
      // For category links, we need a select box with each category in it, and
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   717
      // For tag sets, just a text box to enter a new tag.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   718
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   719
      // You can guess which one I dreaded.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   720
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   721
      switch ( $row['pg_type'] )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   722
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   723
        case PAGE_GRP_NORMAL:
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   724
          
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   725
          // You have guessed correct.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   726
          // *Sits in chair for 10 minutes listening to the radio in an effort to put off writing the code you see below*
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   727
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   728
          echo '<tr><th colspan="3" class="subhead"><input type="submit" name="action[edit_save]" value="Save group name" /></th></tr>';
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   729
          echo '</table></div>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   730
          echo '</form>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   731
          echo '<form name="pg_static_rm_frm" action="'.makeUrl($paths->nslist['Special'].'Administration', 'module='.$paths->cpage['module']).'" method="post" enctype="multipart/form-data">';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   732
          echo '<input type="hidden" name="action[edit]" value="' . $edit_id . '" />';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   733
          echo '<div class="tblholder">
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   734
                  <table border="0" cellspacing="1" cellpadding="4">
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   735
                    <tr>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   736
                      <th colspan="3">Remove pages from this group</th>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   737
                    </tr>';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   738
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   739
          $q = $db->sql_query('SELECT m.pg_member_id,m.page_id,m.namespace FROM '.table_prefix.'page_group_members AS m
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   740
                                 LEFT JOIN '.table_prefix.'pages AS p
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   741
                                   ON ( p.urlname = m.page_id AND p.namespace = m.namespace )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   742
                                 WHERE m.pg_id=' . $edit_id . ';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   743
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   744
          if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   745
            $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   746
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   747
          $delim = ceil( $db->numrows() / 2 );
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   748
          if ( $delim < 5 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   749
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   750
            $delim = 0xFFFFFFFE;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   751
            // stupid hack
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   752
            $colspan = '2" id="pg_edit_tackon2me';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   753
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   754
          else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   755
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   756
            $colspan = "1";
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   757
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   758
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   759
          echo '<tr><td class="row2" rowspan="2"><b>Remove</b> pages:</td><td class="row1" colspan="' . $colspan . '">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   760
          $i = 0;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   761
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   762
          while ( $row = $db->fetchrow() )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   763
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   764
            $i++;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   765
            if ( $i == $delim )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   766
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   767
              echo '</td><td class="row1" id="pg_edit_tackon2me">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   768
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   769
            $page_name = '(' . $row['namespace'] . ') ' . get_page_title($paths->nslist[$row['namespace']] . $row['page_id']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   770
            echo '<label><input type="checkbox" name="action[edit_save][rm][' . $row['pg_member_id'] . ']" /> ' . htmlspecialchars($page_name) . '</label><br />';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   771
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   772
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   773
          echo '</td></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   774
          echo '<tr><th colspan="2" class="subhead" style="width: 70%;"><input type="submit" name="action[edit_save][do_rm]" value="Remove selected" /></th></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   775
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   776
          // More javascript magic!
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   777
          ?>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   778
          <script type="text/javascript">
80
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   779
            var __pg_edit_submitAuthorized = true;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   780
            var __ol_pg_edit_setup = function()
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   781
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   782
              var input = document.getElementById('inptext_pg_add_member');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   783
              input.onkeyup = function(e) { ajaxPageNameComplete(this); };
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   784
              input.onkeypress = function(e) { if ( e.keyCode == 13 ) { setTimeout('__pg_edit_ajaxadd(document.getElementById(\'' + this.id + '\'));', 500); } };
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   785
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   786
            addOnloadHook(__ol_pg_edit_setup);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   787
            var __pg_edit_objcache = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   788
            function __pg_edit_ajaxadd(obj)
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   789
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   790
              if ( __pg_edit_objcache )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   791
                return false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   792
              __pg_edit_objcache = obj;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   793
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   794
              if ( obj.nextSibling )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   795
              {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   796
                if ( obj.nextSibling.tagName == 'DIV' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   797
                {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   798
                  obj.parentNode.removeChild(obj.nextSibling);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   799
                }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   800
              }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   801
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   802
              // set width on parent, to prevent wrapping of ajax loading image
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   803
              var w = $(obj).Width();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   804
              w = w + 24;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   805
              obj.parentNode.style.width = w + 'px';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   806
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   807
              // append the ajaxy loading image
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   808
              var img = document.createElement('img');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   809
              img.src = scriptPath + '/images/loading.gif';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   810
              img.style.marginLeft = '4px';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   811
              insertAfter(obj.parentNode, img, obj);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   812
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   813
              var url = makeUrlNS('Admin', 'PageGroups', 'src=ajax');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   814
              var page_add = escape(obj.value);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   815
              var pg_id = document.forms.pg_edit_frm['action[edit]'].value;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   816
              ajaxPost(url, 'action[edit][add_page]=&pg_id=' + pg_id + '&new_page=' + page_add, function()
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   817
                {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   818
                  if ( ajax.readyState == 4 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   819
                  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   820
                    var obj = __pg_edit_objcache;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   821
                    __pg_edit_objcache = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   822
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   823
                    // kill the loading graphic
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   824
                    obj.parentNode.removeChild(obj.nextSibling);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   825
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   826
                    var resptext = String(ajax.responseText + '');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   827
                    if ( resptext.substr(0, 1) != '{' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   828
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   829
                      // This ain't JSON baby.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   830
                      alert('Invalid JSON response:\n' + resptext);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   831
                      return false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   832
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   833
                    var json = parseJSON(resptext);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   834
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   835
                    var div = document.createElement('div');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   836
                    if ( json.mode == 'info' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   837
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   838
                      div.className = 'info-box-mini';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   839
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   840
                    else if ( json.mode == 'error' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   841
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   842
                      div.className = 'error-box-mini';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   843
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   844
                    div.appendChild(document.createTextNode(json.text));
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   845
                    insertAfter(obj.parentNode, div, obj);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   846
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   847
                    if ( json.successful )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   848
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   849
                      var td = document.getElementById('pg_edit_tackon2me');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   850
                      var lbl = document.createElement('label');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   851
                      var check = document.createElement('input');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   852
                      check.type = 'checkbox';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   853
                      check.name = 'action[edit_save][rm][' + json.member_id + ']';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   854
                      lbl.appendChild(check);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   855
                      lbl.appendChild(document.createTextNode(' ' + json.title));
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   856
                      td.appendChild(lbl);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   857
                      td.appendChild(document.createElement('br'));
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   858
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   859
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   860
                  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   861
                });
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   862
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   863
          </script>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   864
          <?php
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   865
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   866
          $ajax_page_add = true;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   867
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   868
          break;
80
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   869
        case PAGE_GRP_TAGGED:
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   870
          echo '<tr>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   871
                  <td class="row2">
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   872
                    Include pages with this tag:
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   873
                  </td>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   874
                  <td class="row1">
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   875
                    <input type="text" name="pg_target" value="' . htmlspecialchars($row['pg_target']) . '" size="30" />
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   876
                  </td>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   877
                </tr>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   878
          break;
183
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   879
        case PAGE_GRP_REGEX:
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   880
          echo '<tr>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   881
                  <td class="row2">
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   882
                    Regular expression to use:<br />
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   883
                    <small>Be sure to include the starting and ending delimiters and any flags you might need.<br />
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   884
                           These pages might help: <a href="http://us.php.net/manual/en/reference.pcre.pattern.modifiers.php">Pattern modifiers</a> &bull;
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   885
                           <a href="http://us.php.net/manual/en/reference.pcre.pattern.syntax.php">Pattern syntax</a><br />
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   886
                           Examples: <tt>/^(Special|Admin):/i</tt> &bull; <tt>/^Image:([0-9]+)$/</tt><br />
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   887
                           Developers, remember that this will be matched against the full page identifier string. This means that <tt>/^About_Enano$/</tt>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   888
                           will NOT match the page Special:About_Enano.</small>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   889
                  </td>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   890
                  <td class="row1">
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   891
                    <input type="text" name="pg_target" value="' . htmlspecialchars($row['pg_target']) . '" size="30" />
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   892
                  </td>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   893
                </tr>';
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   894
          break;
81
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   895
        case PAGE_GRP_CATLINK:
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   896
          
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   897
          // Build category list
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   898
          $q = $db->sql_query('SELECT name,urlname FROM '.table_prefix.'pages WHERE namespace=\'Category\';');
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   899
          if ( !$q )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   900
            $db->_die();
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   901
          
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   902
          if ( $db->numrows() < 1 )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   903
          {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   904
            $catlist = 'There aren\'t any categories on this site.';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   905
          }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   906
          else
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   907
          {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   908
            $catlist = '<select name="pg_target">';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   909
            while ( $catrow = $db->fetchrow() )
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   910
            {
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   911
              $selected = ( $catrow['urlname'] == $row['pg_target'] ) ? ' selected="selected"' : '';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   912
              $catlist .= '<option value="' . htmlspecialchars($catrow['urlname']) . '"' . $selected . '>' . htmlspecialchars($catrow['name']) . '</option>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   913
            }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   914
            $catlist .= '</select>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   915
          }
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   916
          
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   917
          echo '<tr>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   918
                  <td class="row2">
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   919
                    Include pages that are in this category:<br />
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   920
                    <small><b>Reminder:</b> Enano does not automatically place any access controls on the category. If you
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   921
                           don\'t want users to be able to freely add and remove pages from the category (assuming Wiki Mode is enabled
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   922
                           for the category) then you need to enable protection on the category using the button on the more options menu.
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   923
                           </small>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   924
                  </td>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   925
                  <td class="row1">
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   926
                    ' . $catlist . '
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   927
                  </td>
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   928
                </tr>';
d7fc25acd3f3 Replaced the menu in the admin theme with something much more visually pleasureable; minor fix in Special:UploadFile; finished patching a couple of XSS problems from Banshee; finished Admin:PageGroups; removed unneeded code in flyin.js; finished tag system (except tag cloud); 1.0.1 release candidate
Dan
parents: 80
diff changeset
   929
          
80
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   930
          break;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   931
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   932
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   933
      if ( $ajax_page_add )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   934
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   935
        echo '<tr><th colspan="3"><input type="submit" name="action[noop]" value="Cancel all changes" /></th></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   936
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   937
      else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   938
      {
80
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   939
        echo '<tr><th colspan="3" class="subhead">
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   940
                <input type="submit" name="action[edit_save]" value="Save and update" />
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   941
                <input type="submit" name="action[noop]" value="Cancel all changes" />
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   942
              </th></tr>';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   943
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   944
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   945
      echo '  </table>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   946
            </div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   947
      echo '</form>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   948
      
80
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   949
      if ( $ajax_page_add )
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   950
      {
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   951
        // This needs to be outside of the form.
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   952
        echo '<div class="tblholder"><table border="0" cellspacing="1" cellpadding="4"><tr>';
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   953
        echo '<th colspan="2">On-the-fly tools</th></tr>';
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   954
        echo '<tr>';
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   955
        // Add pages AJAX form
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   956
        echo '<td class="row2">Add page:<br /><small>You can add multiple pages by entering part of a page title, and it will be auto-completed. Press Enter to quickly add the page. This only works if you a really up-to-date browser.</small></td>';
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   957
        echo '<td class="row1"><input type="text" size="30" name="pg_add_member" id="inptext_pg_add_member" /></td>';
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   958
        echo '</tr></table></div>';
cb7dde69c301 Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents: 75
diff changeset
   959
      }
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   960
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   961
      return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   962
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   963
    else if ( isset($_POST['action']['noop']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   964
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   965
      // Do nothing - skip to main form (noop is usually invoked by a cancel button in a form above)
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   966
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   967
    else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   968
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   969
      echo '<div class="error-box">Invalid format of $_POST[action].</div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   970
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   971
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   972
  // No action defined - show default menu
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   973
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   974
  echo '<h2>Manage page groups</h2>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   975
  echo '<p>Enano\'s page grouping system allows you to build sets of pages that can be controlled by a single ACL rule. This makes managing features such as a members-only section of your site a lot easier. If you don\'t use the ACL system, you probably don\'t need to use page groups.</p>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   976
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   977
  $q = $db->sql_query('SELECT pg_id, pg_type, pg_name, pg_target FROM '.table_prefix.'page_groups;');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   978
  if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   979
    $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   980
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   981
  echo '<form action="'.makeUrl($paths->nslist['Special'].'Administration', 'module='.$paths->cpage['module']).'" method="post" onsubmit="if(!submitAuthorized) return false;" enctype="multipart/form-data">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   982
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   983
  echo '<div class="tblholder">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   984
          <table border="0" cellspacing="1" cellpadding="4">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   985
            <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   986
              <th>Group name</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   987
              <th>Type</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   988
              <th>Target</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   989
              <th colspan="2">Actions</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   990
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   991
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   992
  if ( $row = $db->fetchrow() )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   993
  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   994
    do
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   995
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   996
      $name = htmlspecialchars($row['pg_name']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   997
      $type = 'Invalid';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   998
      switch ( $row['pg_type'] )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   999
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1000
        case PAGE_GRP_CATLINK:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1001
          $type = 'Link to category';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1002
          break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1003
        case PAGE_GRP_TAGGED:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1004
          $type = 'Set of tagged pages';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1005
          break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1006
        case PAGE_GRP_NORMAL:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1007
          $type = 'Static set of pages';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1008
          break;
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1009
        case PAGE_GRP_REGEX:
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1010
          $type = 'Regular expression match';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1011
          break;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1012
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1013
      $target = '';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1014
      if ( $row['pg_type'] == PAGE_GRP_TAGGED )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1015
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1016
        $target = 'Tag: ' . htmlspecialchars($row['pg_target']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1017
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1018
      else if ( $row['pg_type'] == PAGE_GRP_CATLINK )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1019
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1020
        $target = 'Category: ' . htmlspecialchars(get_page_title($paths->nslist['Category'] . sanitize_page_id($row['pg_target'])));
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1021
      }
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1022
      else if ( $row['pg_type'] == PAGE_GRP_REGEX )
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1023
      {
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1024
        $target = 'Expression: <tt>' . htmlspecialchars($row['pg_target']) . '</tt>';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1025
      }
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1026
      $btn_edit = '<input type="submit" name="action[edit][' . $row['pg_id'] . ']" value="Edit" />';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1027
      $btn_del = '<input type="submit" name="action[del][' . $row['pg_id'] . ']" value="Delete" />';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1028
      // stupid jEdit bug/hack
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1029
      $quot = '"';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1030
      echo "<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1031
              <td class={$quot}row1{$quot}>$name</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1032
              <td class={$quot}row2{$quot}>$type</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1033
              <td class={$quot}row1{$quot}>$target</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1034
              <td class={$quot}row3{$quot} style={$quot}text-align: center;{$quot}>$btn_edit</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1035
              <td class={$quot}row3{$quot} style={$quot}text-align: center;{$quot}>$btn_del</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1036
            </tr>";
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1037
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1038
    while ( $row = $db->fetchrow() );
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1039
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1040
  else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1041
  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1042
    echo '  <tr><td class="row3" colspan="5" style="text-align: center;">No page groups defined.</td></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1043
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1044
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1045
  echo '    <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1046
              <th class="subhead" colspan="5">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1047
                <input type="submit" name="action[create]" value="Create new group" />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1048
              </th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1049
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1050
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1051
  echo '  </table>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1052
        </div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1053
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1054
  echo '</form>';          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1055
    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1056
}
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1057
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1058
?>